@kre-form/ionic
Version:
1,290 lines (1,265 loc) • 125 kB
JavaScript
import * as moment_ from 'moment';
import { CommonModule } from '@angular/common';
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
import { __extends, __awaiter, __generator, __spread, __assign } from 'tslib';
import { FieldType, FieldWrapper, FormGlobalService, FieldArrayType, KreFormAttributes, KreFormModule } from '@kre-form/core';
import { cloneDeep, isNumber, round, isEmpty } from 'lodash';
import { Component, Input, Injectable, Directive, ContentChild, Renderer2, ElementRef, NgModule } from '@angular/core';
import { ModalController, ToastController, PopoverController, Platform, IonText, IonicModule } from '@ionic/angular';
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormFieldIonText = /** @class */ (function (_super) {
__extends(KreFormFieldIonText, _super);
function KreFormFieldIonText() {
return _super.call(this) || this;
}
/**
* @return {?}
*/
KreFormFieldIonText.prototype.ngOnInit = /**
* @return {?}
*/
function () {
//Called after the constructor, initializing input properties, and the first call to ngOnChanges.
//Add 'implements OnInit' to the class.
// console.log('this.text:', this.text);
};
KreFormFieldIonText.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-text",
template: "\n <ng-container *ngIf=\"!!editor; else other\">\n <ion-input\n [maxlength]=\"to.maxLength || 200\"\n [minlength]=\"to.minLength || 0\"\n [formControl]=\"formControl\"\n [ionKreFormAttributes]=\"field\"\n ></ion-input>\n </ng-container>\n <ng-template #other>\n <div class=\"fieldtext\">{{ text }}</div>\n </ng-template>\n "
}] }
];
/** @nocollapse */
KreFormFieldIonText.ctorParameters = function () { return []; };
return KreFormFieldIonText;
}(FieldType));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormFieldIonTextArea = /** @class */ (function (_super) {
__extends(KreFormFieldIonTextArea, _super);
function KreFormFieldIonTextArea() {
return _super !== null && _super.apply(this, arguments) || this;
}
KreFormFieldIonTextArea.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-textarea",
template: "\n <ng-container *ngIf=\"!!editor; else other\">\n <ion-textarea\n [formControl]=\"formControl\"\n [ionKreFormAttributes]=\"field\"\n [rows]=\"to.rows ? to.rows : 4\"\n [maxlength]=\"to.maxLength || 500\"\n [minlength]=\"to.minLength || 0\"\n >\n </ion-textarea>\n </ng-container>\n <ng-template #other>\n <div class=\"fieldtext\">{{ text }}</div>\n </ng-template>\n "
}] }
];
return KreFormFieldIonTextArea;
}(FieldType));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormFieldIonNumber = /** @class */ (function (_super) {
__extends(KreFormFieldIonNumber, _super);
function KreFormFieldIonNumber() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(KreFormFieldIonNumber.prototype, "value", {
get: /**
* @return {?}
*/
function () {
if (this.model &&
this.model[this.key] !== undefined &&
this.model[this.key] !== null &&
this.model[this.key] !== "") {
return this.model[this.key];
}
return null;
},
set: /**
* @param {?} value
* @return {?}
*/
function (value) {
this._value = value;
},
enumerable: true,
configurable: true
});
/**
* @param {?} value
* @return {?}
*/
KreFormFieldIonNumber.prototype.changeValue = /**
* @param {?} value
* @return {?}
*/
function (value) {
this.model[this.key] = value;
};
/**
* @param {?} e
* @return {?}
*/
KreFormFieldIonNumber.prototype.inputBlur = /**
* @param {?} e
* @return {?}
*/
function (e) {
if (e.target && e.target.value && this.model) {
/** @type {?} */
var value = e.target.value;
this.model[this.key] = value;
this.formControl.patchValue(value);
this.formControl.markAsTouched();
}
else {
if (e.target.value == null || e.target.value == "") {
if (this.model[this.key] != undefined && this.model[this.key] != null) {
this.model[this.key] = null;
}
}
this.formControl.patchValue(null);
this.formControl.markAsTouched();
}
};
Object.defineProperty(KreFormFieldIonNumber.prototype, "number", {
get: /**
* @return {?}
*/
function () {
/** @type {?} */
var result = this.text;
if (this.to != undefined &&
this.to != null &&
this.to["precision"] != undefined &&
this.to["precision"] != null) {
if (!!result || result === 0) {
result = round(result, this.to["precision"]);
if (!isEmpty(this.model) &&
((/** @type {?} */ (this.model))).hasOwnProperty(this.key)) {
this.model[this.key] = result;
}
}
}
return result;
},
enumerable: true,
configurable: true
});
KreFormFieldIonNumber.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-number",
template: "\n <ng-container *ngIf=\"!!editor; else other\">\n <ion-input\n type=\"input\"\n ionKreFormFloat\n [decimalNumber]=\"to.precision\"\n [ionKreFormAttributes]=\"field\"\n [max]=\"to.max || 999999\"\n [min]=\"to.min || -999999\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"changeValue($event)\"\n (ionBlur)=\"inputBlur($event)\"\n ></ion-input>\n </ng-container>\n <ng-template #other>\n <div class=\"fieldtext\">{{ number }}</div>\n </ng-template>\n "
}] }
];
return KreFormFieldIonNumber;
}(FieldType));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormFieldIonRadio = /** @class */ (function (_super) {
__extends(KreFormFieldIonRadio, _super);
function KreFormFieldIonRadio() {
return _super !== null && _super.apply(this, arguments) || this;
}
KreFormFieldIonRadio.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-radio",
template: "\n <ng-container>\n <ion-radio-group\n [formControl]=\"formControl\"\n [ionKreFormAttributes]=\"field\"\n >\n <ion-item>\n <ion-label [position]=\"to.labelPosition\" class=\"\">\n <span *ngIf=\"to.required\" class=\"required-icon\">*</span\n >{{ to.label }} </ion-label\n ><ion-radio\n slot=\"end\"\n [disabled]=\"!editor\"\n [value]=\"to.value\"\n mode=\"md\"\n ></ion-radio\n ></ion-item>\n </ion-radio-group>\n </ng-container>\n "
}] }
];
return KreFormFieldIonRadio;
}(FieldType));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormFieldIonSelectComponent = /** @class */ (function () {
function KreFormFieldIonSelectComponent(modalController) {
this.modalController = modalController;
this.isAllChecked = false;
// 缓存-当前选中
this.selectedNum = 0;
// 可选项
this.selectType = "multiple"; //single
}
Object.defineProperty(KreFormFieldIonSelectComponent.prototype, "options", {
get:
//single
/**
* @return {?}
*/
function () {
return this._options;
},
set: /**
* @param {?} value
* @return {?}
*/
function (value) {
this._options = cloneDeep(value);
this._options_old = value;
},
enumerable: true,
configurable: true
});
//全选
//全选
/**
* @param {?} e
* @return {?}
*/
KreFormFieldIonSelectComponent.prototype.checkAll =
//全选
/**
* @param {?} e
* @return {?}
*/
function (e) {
if (this.isAllChecked == true) {
this.options.forEach((/**
* @param {?} e
* @return {?}
*/
function (e) {
e.checked = true;
}));
}
else {
// 全选后取消某一项不清空选中效果判断
if (this.selectedNum === this.options.length) {
this.options.forEach((/**
* @param {?} e
* @return {?}
*/
function (e) {
e.checked = false;
}));
}
}
this.setSelectNum();
};
//筛选选中
//筛选选中
/**
* @return {?}
*/
KreFormFieldIonSelectComponent.prototype.setSelectNum =
//筛选选中
/**
* @return {?}
*/
function () {
this.selectedNum = this.options.filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.checked; })).length;
this.isAllChecked =
this.options.length > 0 && this.selectedNum === this.options.length;
};
/**
* @param {?} value
* @return {?}
*/
KreFormFieldIonSelectComponent.prototype.singleCheck = /**
* @param {?} value
* @return {?}
*/
function (value) {
this.options.map((/**
* @param {?} element
* @return {?}
*/
function (element) {
element.checked = element.value === value;
return element;
}));
};
// 0 取消 / 1 确定
// 0 取消 / 1 确定
/**
* @param {?} type
* @return {?}
*/
KreFormFieldIonSelectComponent.prototype.dismissModel =
// 0 取消 / 1 确定
/**
* @param {?} type
* @return {?}
*/
function (type) {
/** @type {?} */
var selectOptions = [];
if (type) {
selectOptions = this.options
.filter((/**
* @param {?} item
* @return {?}
*/
function (item) {
return item.checked;
}))
.map((/**
* @param {?} item
* @return {?}
*/
function (item) {
return { label: item.label, value: item.value };
}));
this.modalController.dismiss(selectOptions);
}
else {
this.modalController.dismiss();
}
};
/**
* @return {?}
*/
KreFormFieldIonSelectComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () { };
/**
* @return {?}
*/
KreFormFieldIonSelectComponent.prototype.ngAfterViewInit = /**
* @return {?}
*/
function () { };
KreFormFieldIonSelectComponent.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-select",
template: "\n <div class=\"multi\">\n <div class=\"multi_head\">\n <ng-container *ngIf=\"selectType == 'multiple'; else other\">\n <ion-item>\n <ion-checkbox\n [(ngModel)]=\"isAllChecked\"\n (ionChange)=\"checkAll($event)\"\n ></ion-checkbox>\n <ion-label>\n \u5168\u9009\n <span>\uFF08{{ selectedNum }}/{{ options.length }}\uFF09</span></ion-label\n >\n </ion-item>\n <div>\n <ion-button size=\"small\" fill=\"clear\" (click)=\"dismissModel(false)\"\n >\u53D6\u6D88</ion-button\n >\n <ion-button size=\"small\" fill=\"clear\" (click)=\"dismissModel(true)\"\n >\u786E\u5B9A</ion-button\n >\n </div>\n </ng-container>\n <ng-template #other>\n <ion-button size=\"small\" fill=\"clear\" (click)=\"dismissModel(false)\"\n >\u53D6\u6D88</ion-button\n >\n <ion-button size=\"small\" fill=\"clear\" (click)=\"dismissModel(true)\"\n >\u786E\u5B9A</ion-button\n >\n </ng-template>\n </div>\n <div class=\"multi_scroll\">\n <ion-item\n class=\"multi_scroll_item hairlines-bottom\"\n *ngFor=\"let row of options\"\n (click)=\"selectType == 'single' ? singleCheck(row.value) : ''\"\n >\n <ion-checkbox\n [(ngModel)]=\"row.checked\"\n (ionChange)=\"selectType == 'multiple' ? setSelectNum() : ''\"\n ></ion-checkbox>\n <ion-label>{{ row.label }}</ion-label>\n </ion-item>\n </div>\n </div>\n "
}] }
];
/** @nocollapse */
KreFormFieldIonSelectComponent.ctorParameters = function () { return [
{ type: ModalController }
]; };
KreFormFieldIonSelectComponent.propDecorators = {
selectType: [{ type: Input }],
options: [{ type: Input }]
};
return KreFormFieldIonSelectComponent;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormIonDialogService = /** @class */ (function () {
function KreFormIonDialogService(modalController) {
this.modalController = modalController;
}
/**
* @param {?} modalOptions
* @param {?} params
* @param {?} callback
* @return {?}
*/
KreFormIonDialogService.prototype.CreateModelDialog = /**
* @param {?} modalOptions
* @param {?} params
* @param {?} callback
* @return {?}
*/
function (modalOptions, params, callback) {
return __awaiter(this, void 0, void 0, function () {
var modal, data;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.modalController.create({
component: modalOptions.content,
cssClass: modalOptions.class,
componentProps: __assign({}, params),
mode: "ios",
})];
case 1:
modal = _a.sent();
return [4 /*yield*/, modal.present()];
case 2:
_a.sent();
return [4 /*yield*/, modal.onDidDismiss()];
case 3:
data = (_a.sent()).data;
callback(data, modal);
return [2 /*return*/];
}
});
});
};
KreFormIonDialogService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
KreFormIonDialogService.ctorParameters = function () { return [
{ type: ModalController }
]; };
return KreFormIonDialogService;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormFieldIonRadioGroup = /** @class */ (function (_super) {
__extends(KreFormFieldIonRadioGroup, _super);
function KreFormFieldIonRadioGroup(dialogService) {
var _this = _super.call(this) || this;
_this.dialogService = dialogService;
return _this;
}
/**
* @return {?}
*/
KreFormFieldIonRadioGroup.prototype.openPicker = /**
* @return {?}
*/
function () {
var _this = this;
/** @type {?} */
var options = [];
this.to.options.forEach((/**
* @param {?} item
* @return {?}
*/
function (item) {
options.push({
value: item.value,
label: item.label,
checked: _this.isOptionChecked(item.value),
});
}));
/** @type {?} */
var params = {
options: options,
selectType: "single",
};
this.dialogService.CreateModelDialog({
content: KreFormFieldIonSelectComponent,
class: "part-page",
}, params, (/**
* @param {?} instance
* @return {?}
*/
function (instance) {
if (instance) {
_this.formControl.patchValue(instance);
_this.formControl.markAsTouched();
}
}));
};
KreFormFieldIonRadioGroup.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-radiogroup",
template: "\n <ng-container *ngIf=\"!!editor; else other\">\n <ion-item detail=\"true\" (click)=\"openPicker()\">\n <div>{{ textLookUp }}</div>\n </ion-item>\n </ng-container>\n <ng-template #other>\n <div class=\"fieldtext\">{{ textLookUp }}</div>\n </ng-template>\n "
}] }
];
/** @nocollapse */
KreFormFieldIonRadioGroup.ctorParameters = function () { return [
{ type: KreFormIonDialogService }
]; };
return KreFormFieldIonRadioGroup;
}(FieldType));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormFieldIonCheckbox = /** @class */ (function (_super) {
__extends(KreFormFieldIonCheckbox, _super);
function KreFormFieldIonCheckbox() {
return _super !== null && _super.apply(this, arguments) || this;
}
KreFormFieldIonCheckbox.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-checkbox",
template: "\n <ion-item>\n <ion-label [position]=\"to.labelPosition\">\n <span *ngIf=\"to.required\" class=\"required-icon\">*</span>{{ to.label }}\n </ion-label>\n <ion-checkbox\n slot=\"end\"\n mode=\"ios\"\n [formControl]=\"formControl\"\n [ionKreFormAttributes]=\"field\"\n [disabled]=\"!editor\"\n ></ion-checkbox>\n </ion-item>\n "
}] }
];
return KreFormFieldIonCheckbox;
}(FieldType));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormFieldIonCheckboxGroup = /** @class */ (function (_super) {
__extends(KreFormFieldIonCheckboxGroup, _super);
function KreFormFieldIonCheckboxGroup(dialogService) {
var _this = _super.call(this) || this;
_this.dialogService = dialogService;
return _this;
}
/**
* @return {?}
*/
KreFormFieldIonCheckboxGroup.prototype.openPicker = /**
* @return {?}
*/
function () {
var _this = this;
/** @type {?} */
var options = [];
this.to.options.forEach((/**
* @param {?} item
* @return {?}
*/
function (item) {
options.push({
value: item.value,
label: item.label,
checked: _this.isOptionChecked(item.value),
});
}));
/** @type {?} */
var params = {
options: options,
selectType: "multiple",
};
this.dialogService.CreateModelDialog({
content: KreFormFieldIonSelectComponent,
class: "part-page",
}, params, (/**
* @param {?} instance
* @return {?}
*/
function (instance) {
if (instance) {
_this.formControl.patchValue(instance);
_this.formControl.markAsTouched();
}
}));
};
KreFormFieldIonCheckboxGroup.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-checkboxgroup",
template: "\n <ng-container *ngIf=\"!!editor; else other\">\n <ion-item detail=\"true\" (click)=\"openPicker()\">\n <div>{{ textLookUp }}</div>\n </ion-item>\n </ng-container>\n <ng-template #other>\n <div class=\"fieldtext\">{{ textLookUp }}</div>\n </ng-template>\n "
}] }
];
/** @nocollapse */
KreFormFieldIonCheckboxGroup.ctorParameters = function () { return [
{ type: KreFormIonDialogService }
]; };
return KreFormFieldIonCheckboxGroup;
}(FieldType));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormFieldIonImage = /** @class */ (function (_super) {
__extends(KreFormFieldIonImage, _super);
function KreFormFieldIonImage() {
return _super !== null && _super.apply(this, arguments) || this;
}
KreFormFieldIonImage.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-image",
template: "\n <ion-thumbnail>\n <img [src]=\"formControl.value\" [ionKreFormAttributes]=\"field\" />\n </ion-thumbnail>\n "
}] }
];
return KreFormFieldIonImage;
}(FieldType));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
var moment = moment_;
var KreFormFieldIonDatetime = /** @class */ (function (_super) {
__extends(KreFormFieldIonDatetime, _super);
function KreFormFieldIonDatetime() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(KreFormFieldIonDatetime.prototype, "maxDate", {
get: /**
* @return {?}
*/
function () {
/** @type {?} */
var time = this.to.maxDate
? moment(this.to.maxDate).format("YYYY-MM-DDTHH:mm")
: "2050-12-31T23:59";
time = time.split("T")[1] ? time : time + "T23:59";
return time;
// return this.to.maxDate;
},
enumerable: true,
configurable: true
});
Object.defineProperty(KreFormFieldIonDatetime.prototype, "minDate", {
get: /**
* @return {?}
*/
function () {
/** @type {?} */
var time = this.to.minDate
? moment(this.to.minDate).format("YYYY-MM-DDTHH:mm")
: moment()
.subtract(100, "years")
.startOf("year")
.format("YYYY-MM-DDTHH:mm");
time = time.split("T")[1] ? time : time + "T00:00";
return time;
// return this.to.minDate;
},
enumerable: true,
configurable: true
});
Object.defineProperty(KreFormFieldIonDatetime.prototype, "format", {
get: /**
* @return {?}
*/
function () {
/** @type {?} */
var result = "YYYY/MM/DD HH:mm";
if (this.to.type !== undefined && this.to.type !== null) {
switch (this.to.type.toLowerCase()) {
case "datetime":
break;
case "date":
result = "YYYY/MM/DD";
break;
case "year":
result = "YYYY";
break;
case "month":
result = "YYYY/MM";
break;
case "time":
result = "HH:mm";
break;
default:
break;
}
}
return result;
},
enumerable: true,
configurable: true
});
Object.defineProperty(KreFormFieldIonDatetime.prototype, "getText", {
get: /**
* @return {?}
*/
function () {
/** @type {?} */
var result = "";
if (this.to.type === undefined ||
this.to.type === null ||
this.to.type === "") {
this.to.type = "datetime";
}
if (this.model != undefined &&
this.model != null &&
this.field != undefined &&
this.field != null &&
this.field.key != undefined &&
this.field.key != null &&
this.model[this.field.key] != undefined &&
this.model[this.field.key] != null &&
this.model[this.field.key] != "") {
if (moment(this.model[this.field.key]).isValid()) {
switch (this.to.type) {
case "datetime":
result = moment(this.model[this.field.key]).format("YYYY/MM/DD HH:mm");
break;
case "date":
result = moment(this.model[this.field.key]).format("YYYY/MM/DD");
break;
case "year":
result = moment(this.model[this.field.key]).format("YYYY");
break;
case "month":
result = moment(this.model[this.field.key]).format("YYYY/MM");
break;
case "time":
result = moment(this.model[this.field.key]).format("HH:mm");
break;
}
}
}
return result;
},
enumerable: true,
configurable: true
});
KreFormFieldIonDatetime.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-datetime",
template: "\n <ng-container *ngIf=\"!!editor; else other\">\n <ion-item detail=\"true\">\n <ion-datetime\n [displayFormat]=\"format\"\n [pickerFormat]=\"format\"\n [formControl]=\"formControl\"\n [ionKreFormAttributes]=\"field\"\n doneText=\"\u786E\u8BA4\"\n cancelText=\"\u53D6\u6D88\"\n mode=\"ios\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n ></ion-datetime>\n </ion-item>\n </ng-container>\n <ng-template #other>\n <div class=\"fieldtext\">{{ getText }}</div>\n </ng-template>\n "
}] }
];
return KreFormFieldIonDatetime;
}(FieldType));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormIonToastService = /** @class */ (function () {
function KreFormIonToastService(toastCtrl) {
this.toastCtrl = toastCtrl;
}
/**
* 弹出信息
*
* @param: {string} message 信息提示
* @param: {string} [position] 位置
* @param: {number} [duration] 持续事件
*/
/**
* 弹出信息
*
* \@param: {string} message 信息提示 / {string} [position] 位置 / {number} [duration] 持续事件
* @param {?} msg
* @param {?=} position
* @param {?=} duration
* @return {?}
*/
KreFormIonToastService.prototype.presentToast = /**
* 弹出信息
*
* \@param: {string} message 信息提示 / {string} [position] 位置 / {number} [duration] 持续事件
* @param {?} msg
* @param {?=} position
* @param {?=} duration
* @return {?}
*/
function (msg, position, duration) {
return __awaiter(this, void 0, void 0, function () {
var toast;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
position = position || "bottom";
duration = duration || 1500;
return [4 /*yield*/, this.toastCtrl.create({
color: "dark",
message: msg,
position: position,
duration: duration,
animated: true,
})];
case 1:
toast = _a.sent();
toast.present();
return [2 /*return*/];
}
});
});
};
KreFormIonToastService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
KreFormIonToastService.ctorParameters = function () { return [
{ type: ToastController }
]; };
return KreFormIonToastService;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormFieldIonTextI18Component = /** @class */ (function () {
function KreFormFieldIonTextI18Component(modalController, toastService) {
this.modalController = modalController;
this.toastService = toastService;
this.editor = true;
this.required = false;
}
Object.defineProperty(KreFormFieldIonTextI18Component.prototype, "languageList", {
get: /**
* @return {?}
*/
function () {
return this._languageList;
},
set: /**
* @param {?} value
* @return {?}
*/
function (value) {
this._languageList = cloneDeep(value);
this._languageList_old = value;
},
enumerable: true,
configurable: true
});
// 0 取消 / 1 确定
// 0 取消 / 1 确定
/**
* @param {?} type
* @return {?}
*/
KreFormFieldIonTextI18Component.prototype.dismissModel =
// 0 取消 / 1 确定
/**
* @param {?} type
* @return {?}
*/
function (type) {
/** @type {?} */
var result;
if (type) {
result = this.languageList;
if (this.required == true) {
/** @type {?} */
var languageEmpty = result.filter((/**
* @param {?} item
* @return {?}
*/
function (item) {
if (item.value == null || item.value == "") {
return item;
}
}));
if (languageEmpty != null && languageEmpty.length > 0) {
this.toastService.presentToast("多语言字段不能为空!");
return;
}
}
this.modalController.dismiss(result);
}
else {
this.modalController.dismiss();
}
};
/**
* @return {?}
*/
KreFormFieldIonTextI18Component.prototype.ngOnInit = /**
* @return {?}
*/
function () { };
/**
* @return {?}
*/
KreFormFieldIonTextI18Component.prototype.ngAfterViewInit = /**
* @return {?}
*/
function () { };
KreFormFieldIonTextI18Component.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-i18",
template: "\n <ion-header class=\"contactHeader\">\n <ion-toolbar>\n <ion-title> \u591A\u8BED\u8A00\u8BBE\u7F6E</ion-title>\n </ion-toolbar>\n </ion-header>\n <ion-content>\n <ng-container *ngIf=\"editor == true; else other\">\n <div *ngFor=\"let item of languageList\">\n <ion-label>\n <span *ngIf=\"required == true\" class=\"required-icon\">*</span>\n {{ item.label }}</ion-label\n >\n <ion-item>\n <ion-input [(ngModel)]=\"item.value\"></ion-input>\n </ion-item>\n </div>\n </ng-container>\n <ng-template #other>\n <div class=\"fieldtext\">\n <div *ngFor=\"let item of languageList\">\n <ion-label>{{ item.label }}</ion-label>\n <ion-item>\n {{ item.value }}\n </ion-item>\n </div>\n </div>\n </ng-template>\n <div class=\"selection-buttons\">\n <div class=\"buttons-between\">\n <ion-button size=\"small\" (click)=\"dismissModel(false)\"\n >\u53D6\u6D88</ion-button\n >\n <ion-button\n [disabled]=\"!editor\"\n size=\"small\"\n (click)=\"dismissModel(true)\"\n >\u786E\u5B9A</ion-button\n >\n </div>\n </div>\n </ion-content>\n "
}] }
];
/** @nocollapse */
KreFormFieldIonTextI18Component.ctorParameters = function () { return [
{ type: ModalController },
{ type: KreFormIonToastService }
]; };
KreFormFieldIonTextI18Component.propDecorators = {
editor: [{ type: Input }],
required: [{ type: Input }],
languageList: [{ type: Input }]
};
return KreFormFieldIonTextI18Component;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormFieldIonTextI18n = /** @class */ (function (_super) {
__extends(KreFormFieldIonTextI18n, _super);
function KreFormFieldIonTextI18n(dialogService) {
var _this = _super.call(this) || this;
_this.dialogService = dialogService;
_this.languageList = [
{ language: "chinese", label: "中", value: "" },
{ language: "english", label: "英", value: "" },
];
return _this;
}
Object.defineProperty(KreFormFieldIonTextI18n.prototype, "textlanguage", {
get: /**
* @return {?}
*/
function () {
/** @type {?} */
var result = "";
if (this.model &&
this.model[this.key] &&
Array.isArray(this.model[this.key])) {
this.model[this.key].forEach((/**
* @param {?} element
* @return {?}
*/
function (element) {
if (element.language == "chinese") {
result = element.value;
}
}));
}
return result;
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
KreFormFieldIonTextI18n.prototype.openPicker = /**
* @return {?}
*/
function () {
var _this = this;
/** @type {?} */
var languages = [];
this.languageList.forEach((/**
* @param {?} item
* @return {?}
*/
function (item) {
languages.push({
language: item.language,
label: item.label,
value: _this.getLanguageValue(item.language),
});
}));
/** @type {?} */
var params = {
languageList: languages,
required: this.to.required != undefined ? this.to.required : false,
editor: this.editor,
};
this.dialogService.CreateModelDialog({
content: KreFormFieldIonTextI18Component,
class: "full-page",
}, params, (/**
* @param {?} instance
* @param {?} modal
* @return {?}
*/
function (instance, modal) {
if (instance) {
_this.formControl.patchValue(instance);
_this.formControl.markAsTouched();
}
}));
};
KreFormFieldIonTextI18n.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-texti18n",
template: "\n <ng-container>\n <ion-item detail=\"true\" (click)=\"openPicker()\">\n <div>{{ textlanguage }}</div>\n </ion-item>\n </ng-container>\n "
}] }
];
/** @nocollapse */
KreFormFieldIonTextI18n.ctorParameters = function () { return [
{ type: KreFormIonDialogService }
]; };
return KreFormFieldIonTextI18n;
}(FieldType));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormFieldIonSelect = /** @class */ (function (_super) {
__extends(KreFormFieldIonSelect, _super);
function KreFormFieldIonSelect(dialogService) {
var _this = _super.call(this) || this;
_this.dialogService = dialogService;
return _this;
}
Object.defineProperty(KreFormFieldIonSelect.prototype, "newTextLookUp", {
get: /**
* @return {?}
*/
function () {
var _this = this;
/** @type {?} */
var result = [];
if (this.model &&
this.model != null &&
this.model.hasOwnProperty(this.key)) {
if (this.model[this.key] !== undefined &&
this.model[this.key] != null &&
this.model[this.key].length > 0) {
if (this.to.options && ((/** @type {?} */ (this.to.options))).length > 0) {
this.model[this.key].forEach((/**
* @param {?} ele
* @return {?}
*/
function (ele) {
if (((/** @type {?} */ (_this.to.options))).some((/**
* @param {?} el
* @return {?}
*/
function (el) { return el.value === ele.value; }))) {
result.push(ele.label);
}
}));
}
// result = this.model[this.key].map((item: any) => {
// return item.label;
// });
}
}
return result.join("、");
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
KreFormFieldIonSelect.prototype.openPicker = /**
* @return {?}
*/
function () {
var _this = this;
/** @type {?} */
var options = [];
/** @type {?} */
var selectType = "single";
if (this.to.selectType && this.to.selectType == "multiple") {
selectType = "multiple";
}
this.to.options.forEach((/**
* @param {?} item
* @return {?}
*/
function (item) {
options.push({
value: item.value,
label: item.label,
checked: _this.isOptionChecked(item.value),
});
}));
/** @type {?} */
var params = {
options: options,
selectType: selectType,
};
this.dialogService.CreateModelDialog({
content: KreFormFieldIonSelectComponent,
class: "part-page",
}, params, (/**
* @param {?} instance
* @param {?} modal
* @return {?}
*/
function (instance, modal) {
if (instance) {
_this.formControl.patchValue(instance);
_this.formControl.markAsTouched();
}
}));
};
KreFormFieldIonSelect.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-select",
template: "\n <ng-container *ngIf=\"!!editor; else other\">\n <ion-item detail=\"true\" (click)=\"openPicker()\">\n <div>{{ newTextLookUp }}</div>\n </ion-item>\n </ng-container>\n <ng-template #other>\n <div class=\"fieldtext\">{{ textLookUp }}</div>\n </ng-template>\n "
}] }
];
/** @nocollapse */
KreFormFieldIonSelect.ctorParameters = function () { return [
{ type: KreFormIonDialogService }
]; };
return KreFormFieldIonSelect;
}(FieldType));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormFieldIonLine = /** @class */ (function (_super) {
__extends(KreFormFieldIonLine, _super);
function KreFormFieldIonLine() {
return _super !== null && _super.apply(this, arguments) || this;
}
KreFormFieldIonLine.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-line",
template: " <div><hr /></div>"
}] }
];
return KreFormFieldIonLine;
}(FieldType));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
// <ion-icon name="eye-off-outline"></ion-icon>
var KreFormFieldIonPassword = /** @class */ (function (_super) {
__extends(KreFormFieldIonPassword, _super);
function KreFormFieldIonPassword() {
var _this = _super.call(this) || this;
_this.showPwd = false;
return _this;
}
KreFormFieldIonPassword.decorators = [
{ type: Component, args: [{
selector: 'kreform-field-ion-password',
template: "\n <ng-container *ngIf=\"!!editor; else other\">\n <ion-input\n [type]=\"showPwd ? 'text' : 'password'\"\n [formControl]=\"formControl\"\n [ionKreFormAttributes]=\"field\"\n >\n </ion-input>\n <ion-icon\n [name]=\"showPwd ? 'eye-outline' : 'eye-off-outline'\"\n (click)=\"showPwd = !showPwd\"\n ></ion-icon>\n </ng-container>\n <ng-template #other>\n <div class=\"fieldtext\">{{ text }}</div>\n </ng-template>\n "
}] }
];
/** @nocollapse */
KreFormFieldIonPassword.ctorParameters = function () { return []; };
return KreFormFieldIonPassword;
}(FieldType));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormFieldIonHtml = /** @class */ (function (_super) {
__extends(KreFormFieldIonHtml, _super);
function KreFormFieldIonHtml() {
return _super !== null && _super.apply(this, arguments) || this;
}
KreFormFieldIonHtml.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-html",
template: " <div [ngStyle]=\"{\n color: fontProperty.color,\n 'font-size': fontProperty.fontSize + 'px',\n 'font-style': fontProperty.fontStyle ? 'italic' : 'normal',\n 'font-weight': fontProperty.fontWeight ? 'bold' : 'normal'\n }\" [innerHtml]=\"to.description | safeHtml\"></div>"
}] }
];
return KreFormFieldIonHtml;
}(FieldType));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormFieldIonTable = /** @class */ (function (_super) {
__extends(KreFormFieldIonTable, _super);
function KreFormFieldIonTable() {
return _super !== null && _super.apply(this, arguments) || this;
}
KreFormFieldIonTable.decorators = [
{ type: Component, args: [{
selector: 'kreform-field-ion-table',
template: "\n <ng-container>\n <ion-item>table \u6682\u4E0D\u652F\u6301</ion-item>\n <!-- \u4E0D\u592A\u786E\u5B9A\u5C55\u793A\u54EA\u4E9B\u5B57\u6BB5\n <div *ngFor=\"let item of to.options\">\n <ion-label>{{ item.label }}</ion-label>\n <ion-item>\n <div>{{ item.value }}</div></ion-item\n >\n </div> -->\n </ng-container>\n "
}] }
];
return KreFormFieldIonTable;
}(FieldType));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormFieldIonEditor = /** @class */ (function (_super) {
__extends(KreFormFieldIonEditor, _super);
function KreFormFieldIonEditor() {
return _super !== null && _super.apply(this, arguments) || this;
}
KreFormFieldIonEditor.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-editor",
template: "\n <ng-container>\n <ion-item>Editor \u6682\u4E0D\u652F\u6301</ion-item>\n </ng-container>\n "
}] }
];
return KreFormFieldIonEditor;
}(FieldType));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormFieldIonSwitch = /** @class */ (function (_super) {
__extends(KreFormFieldIonSwitch, _super);
function KreFormFieldIonSwitch() {
return _super.call(this) || this;
}
/**
* @return {?}
*/
KreFormFieldIonSwitch.prototype.switchValue = /**
* @return {?}
*/
function () {
if (!!this.model[this.field.key]) {
return "是";
}
else {
return "否";
}
};
KreFormFieldIonSwitch.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-switch",
template: "\n <ng-container *ngIf=\"!!editor; else other\">\n <ion-toggle\n [formControl]=\"formControl\"\n [ionKreFormAttributes]=\"field\"\n ></ion-toggle>\n </ng-container>\n <ng-template #other>\n <div class=\"fieldtext\">{{text }}</div>\n </ng-template>\n "
}] }
];
/** @nocollapse */
KreFormFieldIonSwitch.ctorParameters = function () { return []; };
return KreFormFieldIonSwitch;
}(FieldType));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormFieldIonTagsComponent = /** @class */ (function () {
function KreFormFieldIonTagsComponent(modalController) {
this.modalController = modalController;
}
/**
* @return {?}
*/
KreFormFieldIonTagsComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () { };
/**
* @return {?}
*/
KreFormFieldIonTagsComponent.prototype.ngAfterViewInit = /**
* @return {?}
*/
function () { };
KreFormFieldIonTagsComponent.decorators = [
{ type: Component, args: [{
selector: "kreform-field-ion-tags",
template: "\n <div [innerHtml]=\"content | safeHtml\"></div>\n "
}] }
];
/** @nocollapse */
KreFormFieldIonTagsComponent.ctorParameters = function () { return [
{ type: ModalController }
]; };
KreFormFieldIonTagsComponent.propDecorators = {
content: [{ type: Input }]
};
return KreFormFieldIonTagsComponent;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var KreFormWrapperFormField = /** @class */ (function (_super) {
__extends(KreFormWrapperFormField, _super);
function KreFormWrapperFormField(popoverController, globalService) {
var _this = _super.call(this) || this;
_this.popoverController = popoverController;
_this.globalService = globalService;
return _this;
}
/**
* @param {?} tags
* @return {?}
*/
KreFormWrapperFormField.prototype.onBadge = /**
* @param {?} tags
* @return {?}
*/
function (tags) {
return __awaiter(this, void 0, void 0, function () {
var result, popover;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
result = "";
switch (tags.mark) {
case "add":
result = "新增";
break;
case "modify":
result = "修改";
break;
case "remove":
result = "删除";
break;
default:
break;
}
return [4 /*yield*/, this.popoverController.create({
component: KreFormFieldIonTagsComponent,