UNPKG

@kre-form/ionic

Version:

1,290 lines (1,265 loc) 125 kB
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,