UNPKG

@kre-form/ionic

Version:

1,135 lines (1,117 loc) 146 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('moment'), require('@angular/common'), require('@angular/forms'), require('@kre-form/core'), require('lodash'), require('@angular/core'), require('@ionic/angular')) : typeof define === 'function' && define.amd ? define('@kre-form/ionic', ['exports', 'moment', '@angular/common', '@angular/forms', '@kre-form/core', 'lodash', '@angular/core', '@ionic/angular'], factory) : (factory((global['kre-form'] = global['kre-form'] || {}, global['kre-form'].ionic = {}),global.moment_,global.ng.common,global.ng.forms,global.core,global._,global.ng.core,global.angular)); }(this, (function (exports,moment_,common,forms,core,_,core$1,angular) { 'use strict'; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ /* global Reflect, Promise */ var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; function __extends(d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } var __assign = function () { __assign = Object.assign || function __assign(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; function __awaiter(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } function __generator(thisArg, body) { var _$$1 = { label: 0, sent: function () { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_$$1) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _$$1.label++; return { value: op[1], done: false }; case 5: _$$1.label++; y = op[1]; op = [0]; continue; case 7: op = _$$1.ops.pop(); _$$1.trys.pop(); continue; default: if (!(t = _$$1.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _$$1 = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _$$1.label = op[1]; break; } if (op[0] === 6 && _$$1.label < t[1]) { _$$1.label = t[1]; t = op; break; } if (t && _$$1.label < t[2]) { _$$1.label = t[2]; _$$1.ops.push(op); break; } if (t[2]) _$$1.ops.pop(); _$$1.trys.pop(); continue; } op = body.call(thisArg, _$$1); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } } function __read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; } function __spread() { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; } /** * @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: core$1.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; }(core.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: core$1.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; }(core.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: core$1.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; }(core.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: core$1.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; }(core.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: core$1.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: angular.ModalController } ]; }; KreFormFieldIonSelectComponent.propDecorators = { selectType: [{ type: core$1.Input }], options: [{ type: core$1.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: core$1.Injectable } ]; /** @nocollapse */ KreFormIonDialogService.ctorParameters = function () { return [ { type: angular.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: core$1.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; }(core.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: core$1.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; }(core.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: core$1.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; }(core.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: core$1.Component, args: [{ selector: "kreform-field-ion-image", template: "\n <ion-thumbnail>\n <img [src]=\"formControl.value\" [ionKreFormAttributes]=\"field\" />\n </ion-thumbnail>\n " }] } ]; return KreFormFieldIonImage; }(core.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: core$1.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; }(core.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: core$1.Injectable } ]; /** @nocollapse */ KreFormIonToastService.ctorParameters = function () { return [ { type: angular.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: core$1.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: angular.ModalController }, { type: KreFormIonToastService } ]; }; KreFormFieldIonTextI18Component.propDecorators = { editor: [{ type: core$1.Input }], required: [{ type: core$1.Input }], languageList: [{ type: core$1.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: core$1.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; }(core.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 && (( /