UNPKG

@kre-form/ionic

Version:

1 lines 71.3 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("moment"),require("@angular/common"),require("@angular/forms"),require("@kre-form/core"),require("lodash"),require("@angular/core"),require("@ionic/angular")):"function"==typeof define&&define.amd?define("@kre-form/ionic",["exports","moment","@angular/common","@angular/forms","@kre-form/core","lodash","@angular/core","@ionic/angular"],t):t((e["kre-form"]=e["kre-form"]||{},e["kre-form"].ionic={}),e.moment_,e.ng.common,e.ng.forms,e.core,e._,e.ng.core,e.angular)}(this,function(e,t,n,o,i,l,r,a){"use strict";var s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function c(e,t){function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var d=function(){return(d=Object.assign||function d(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function p(e,t,a,s){return new(a=a||Promise)(function(n,o){function i(e){try{l(s.next(e))}catch(t){o(t)}}function r(e){try{l(s["throw"](e))}catch(t){o(t)}}function l(e){var t;e.done?n(e.value):((t=e.value)instanceof a?t:new a(function(e){e(t)})).then(i,r)}l((s=s.apply(e,t||[])).next())})}function u(n,o){var i,r,l,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},e={next:t(0),"throw":t(1),"return":t(2)};return"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return s([t,e])}}function s(e){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,r&&(l=2&e[0]?r["return"]:e[0]?r["throw"]||((l=r["return"])&&l.call(r),0):r.next)&&!(l=l.call(r,e[1])).done)return l;switch(r=0,(e=l?[2&e[0],l.value]:e)[0]){case 0:case 1:l=e;break;case 4:return a.label++,{value:e[1],done:!1};case 5:a.label++,r=e[1],e=[0];continue;case 7:e=a.ops.pop(),a.trys.pop();continue;default:if(!(l=0<(l=a.trys).length&&l[l.length-1])&&(6===e[0]||2===e[0])){a=0;continue}if(3===e[0]&&(!l||e[1]>l[0]&&e[1]<l[3])){a.label=e[1];break}if(6===e[0]&&a.label<l[1]){a.label=l[1],l=e;break}if(l&&a.label<l[2]){a.label=l[2],a.ops.push(e);break}l[2]&&a.ops.pop(),a.trys.pop();continue}e=o.call(n,a)}catch(t){e=[6,t],r=0}finally{i=l=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}}function f(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,i,r=n.call(e),l=[];try{for(;(void 0===t||0<t--)&&!(o=r.next()).done;)l.push(o.value)}catch(a){i={error:a}}finally{try{o&&!o.done&&(n=r["return"])&&n.call(r)}finally{if(i)throw i.error}}return l}function m(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(f(arguments[t]));return e}var A,g=(c(h,A=i.FieldType),h.prototype.ngOnInit=function(){},h.decorators=[{type:r.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 '}]}],h.ctorParameters=function(){return[]},h);function h(){return A.call(this)||this}var y,v=(c(I,y=i.FieldType),I.decorators=[{type:r.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 '}]}],I);function I(){return null!==y&&y.apply(this,arguments)||this}var b,C=(c(k,b=i.FieldType),Object.defineProperty(k.prototype,"value",{get:function(){return this.model&&this.model[this.key]!==undefined&&null!==this.model[this.key]&&""!==this.model[this.key]?this.model[this.key]:null},set:function(e){this._value=e},enumerable:!0,configurable:!0}),k.prototype.changeValue=function(e){this.model[this.key]=e},k.prototype.inputBlur=function(e){var t;e.target&&e.target.value&&this.model?(t=e.target.value,this.model[this.key]=t,this.formControl.patchValue(t)):(null!=e.target.value&&""!=e.target.value||this.model[this.key]!=undefined&&null!=this.model[this.key]&&(this.model[this.key]=null),this.formControl.patchValue(null)),this.formControl.markAsTouched()},Object.defineProperty(k.prototype,"number",{get:function(){var e=this.text;return this.to!=undefined&&null!=this.to&&this.to.precision!=undefined&&null!=this.to.precision&&(!e&&0!==e||(e=l.round(e,this.to.precision),!l.isEmpty(this.model)&&this.model.hasOwnProperty(this.key)&&(this.model[this.key]=e))),e},enumerable:!0,configurable:!0}),k.decorators=[{type:r.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 '}]}],k);function k(){return null!==b&&b.apply(this,arguments)||this}var E,B=(c(q,E=i.FieldType),q.decorators=[{type:r.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 '}]}],q);function q(){return null!==E&&E.apply(this,arguments)||this}var F=(Object.defineProperty(Q.prototype,"options",{get:function(){return this._options},set:function(e){this._options=l.cloneDeep(e),this._options_old=e},enumerable:!0,configurable:!0}),Q.prototype.checkAll=function(e){1==this.isAllChecked?this.options.forEach(function(e){e.checked=!0}):this.selectedNum===this.options.length&&this.options.forEach(function(e){e.checked=!1}),this.setSelectNum()},Q.prototype.setSelectNum=function(){this.selectedNum=this.options.filter(function(e){return e.checked}).length,this.isAllChecked=0<this.options.length&&this.selectedNum===this.options.length},Q.prototype.singleCheck=function(t){this.options.map(function(e){return e.checked=e.value===t,e})},Q.prototype.dismissModel=function(e){var t;e?(t=this.options.filter(function(e){return e.checked}).map(function(e){return{label:e.label,value:e.value}}),this.modalController.dismiss(t)):this.modalController.dismiss()},Q.prototype.ngOnInit=function(){},Q.prototype.ngAfterViewInit=function(){},Q.decorators=[{type:r.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 全选\n <span>({{ selectedNum }}/{{ options.length }})</span></ion-label\n >\n </ion-item>\n <div>\n <ion-button size="small" fill="clear" (click)="dismissModel(false)"\n >取消</ion-button\n >\n <ion-button size="small" fill="clear" (click)="dismissModel(true)"\n >确定</ion-button\n >\n </div>\n </ng-container>\n <ng-template #other>\n <ion-button size="small" fill="clear" (click)="dismissModel(false)"\n >取消</ion-button\n >\n <ion-button size="small" fill="clear" (click)="dismissModel(true)"\n >确定</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 '}]}],Q.ctorParameters=function(){return[{type:a.ModalController}]},Q.propDecorators={selectType:[{type:r.Input}],options:[{type:r.Input}]},Q);function Q(e){this.modalController=e,this.isAllChecked=!1,this.selectedNum=0,this.selectType="multiple"}var P=(O.prototype.CreateModelDialog=function(o,i,r){return p(this,void 0,void 0,function(){var t,n;return u(this,function(e){switch(e.label){case 0:return[4,this.modalController.create({component:o.content,cssClass:o["class"],componentProps:d({},i),mode:"ios"})];case 1:return[4,(t=e.sent()).present()];case 2:return e.sent(),[4,t.onDidDismiss()];case 3:return n=e.sent().data,r(n,t),[2]}})})},O.decorators=[{type:r.Injectable}],O.ctorParameters=function(){return[{type:a.ModalController}]},O);function O(e){this.modalController=e}var M,x=(c(T,M=i.FieldType),T.prototype.openPicker=function(){var t=this,n=[];this.to.options.forEach(function(e){n.push({value:e.value,label:e.label,checked:t.isOptionChecked(e.value)})}),this.dialogService.CreateModelDialog({content:F,"class":"part-page"},{options:n,selectType:"single"},function(e){e&&(t.formControl.patchValue(e),t.formControl.markAsTouched())})},T.decorators=[{type:r.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 '}]}],T.ctorParameters=function(){return[{type:P}]},T);function T(e){var t=M.call(this)||this;return t.dialogService=e,t}var w,D=(c(N,w=i.FieldType),N.decorators=[{type:r.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 '}]}],N);function N(){return null!==w&&w.apply(this,arguments)||this}var X,G=(c(L,X=i.FieldType),L.prototype.openPicker=function(){var t=this,n=[];this.to.options.forEach(function(e){n.push({value:e.value,label:e.label,checked:t.isOptionChecked(e.value)})}),this.dialogService.CreateModelDialog({content:F,"class":"part-page"},{options:n,selectType:"multiple"},function(e){e&&(t.formControl.patchValue(e),t.formControl.markAsTouched())})},L.decorators=[{type:r.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 '}]}],L.ctorParameters=function(){return[{type:P}]},L);function L(e){var t=X.call(this)||this;return t.dialogService=e,t}var j,Y=(c(R,j=i.FieldType),R.decorators=[{type:r.Component,args:[{selector:"kreform-field-ion-image",template:'\n <ion-thumbnail>\n <img [src]="formControl.value" [ionKreFormAttributes]="field" />\n </ion-thumbnail>\n '}]}],R);function R(){return null!==j&&j.apply(this,arguments)||this}var J,H=t,V=(c(S,J=i.FieldType),Object.defineProperty(S.prototype,"maxDate",{get:function(){var e=this.to.maxDate?H(this.to.maxDate).format("YYYY-MM-DDTHH:mm"):"2050-12-31T23:59";return e=e.split("T")[1]?e:e+"T23:59"},enumerable:!0,configurable:!0}),Object.defineProperty(S.prototype,"minDate",{get:function(){var e=(this.to.minDate?H(this.to.minDate):H().subtract(100,"years").startOf("year")).format("YYYY-MM-DDTHH:mm");return e=e.split("T")[1]?e:e+"T00:00"},enumerable:!0,configurable:!0}),Object.defineProperty(S.prototype,"format",{get:function(){var e="YYYY/MM/DD HH:mm";if(this.to.type!==undefined&&null!==this.to.type)switch(this.to.type.toLowerCase()){case"datetime":break;case"date":e="YYYY/MM/DD";break;case"year":e="YYYY";break;case"month":e="YYYY/MM";break;case"time":e="HH:mm"}return e},enumerable:!0,configurable:!0}),Object.defineProperty(S.prototype,"getText",{get:function(){var e="";if(this.to.type!==undefined&&null!==this.to.type&&""!==this.to.type||(this.to.type="datetime"),this.model!=undefined&&null!=this.model&&this.field!=undefined&&null!=this.field&&this.field.key!=undefined&&null!=this.field.key&&this.model[this.field.key]!=undefined&&null!=this.model[this.field.key]&&""!=this.model[this.field.key]&&H(this.model[this.field.key]).isValid())switch(this.to.type){case"datetime":e=H(this.model[this.field.key]).format("YYYY/MM/DD HH:mm");break;case"date":e=H(this.model[this.field.key]).format("YYYY/MM/DD");break;case"year":e=H(this.model[this.field.key]).format("YYYY");break;case"month":e=H(this.model[this.field.key]).format("YYYY/MM");break;case"time":e=H(this.model[this.field.key]).format("HH:mm")}return e},enumerable:!0,configurable:!0}),S.decorators=[{type:r.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="确认"\n cancelText="取消"\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 '}]}],S);function S(){return null!==J&&J.apply(this,arguments)||this}var W=(K.prototype.presentToast=function(t,n,o){return p(this,void 0,void 0,function(){return u(this,function(e){switch(e.label){case 0:return n=n||"bottom",o=o||1500,[4,this.toastCtrl.create({color:"dark",message:t,position:n,duration:o,animated:!0})];case 1:return e.sent().present(),[2]}})})},K.decorators=[{type:r.Injectable}],K.ctorParameters=function(){return[{type:a.ToastController}]},K);function K(e){this.toastCtrl=e}var U=(Object.defineProperty(Z.prototype,"languageList",{get:function(){return this._languageList},set:function(e){this._languageList=l.cloneDeep(e),this._languageList_old=e},enumerable:!0,configurable:!0}),Z.prototype.dismissModel=function(e){var t;if(e){if(t=this.languageList,1==this.required){e=t.filter(function(e){if(null==e.value||""==e.value)return e});if(null!=e&&0<e.length)return void this.toastService.presentToast("多语言字段不能为空!")}this.modalController.dismiss(t)}else this.modalController.dismiss()},Z.prototype.ngOnInit=function(){},Z.prototype.ngAfterViewInit=function(){},Z.decorators=[{type:r.Component,args:[{selector:"kreform-field-ion-i18",template:'\n <ion-header class="contactHeader">\n <ion-toolbar>\n <ion-title> 多语言设置</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 >取消</ion-button\n >\n <ion-button\n [disabled]="!editor"\n size="small"\n (click)="dismissModel(true)"\n >确定</ion-button\n >\n </div>\n </div>\n </ion-content>\n '}]}],Z.ctorParameters=function(){return[{type:a.ModalController},{type:W}]},Z.propDecorators={editor:[{type:r.Input}],required:[{type:r.Input}],languageList:[{type:r.Input}]},Z);function Z(e,t){this.modalController=e,this.toastService=t,this.editor=!0,this.required=!1}var z,_=(c($,z=i.FieldType),Object.defineProperty($.prototype,"textlanguage",{get:function(){var t="";return this.model&&this.model[this.key]&&Array.isArray(this.model[this.key])&&this.model[this.key].forEach(function(e){"chinese"==e.language&&(t=e.value)}),t},enumerable:!0,configurable:!0}),$.prototype.openPicker=function(){var n=this,t=[];this.languageList.forEach(function(e){t.push({language:e.language,label:e.label,value:n.getLanguageValue(e.language)})});var e={languageList:t,required:this.to.required!=undefined&&this.to.required,editor:this.editor};this.dialogService.CreateModelDialog({content:U,"class":"full-page"},e,function(e,t){e&&(n.formControl.patchValue(e),n.formControl.markAsTouched())})},$.decorators=[{type:r.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 '}]}],$.ctorParameters=function(){return[{type:P}]},$);function $(e){var t=z.call(this)||this;return t.dialogService=e,t.languageList=[{language:"chinese",label:"中",value:""},{language:"english",label:"英",value:""}],t}var ee,te=(c(ne,ee=i.FieldType),Object.defineProperty(ne.prototype,"newTextLookUp",{get:function(){var e=this,n=[];return this.model&&null!=this.model&&this.model.hasOwnProperty(this.key)&&this.model[this.key]!==undefined&&null!=this.model[this.key]&&0<this.model[this.key].length&&this.to.options&&0<this.to.options.length&&this.model[this.key].forEach(function(t){e.to.options.some(function(e){return e.value===t.value})&&n.push(t.label)}),n.join("、")},enumerable:!0,configurable:!0}),ne.prototype.openPicker=function(){var n=this,t=[],e="single";this.to.selectType&&"multiple"==this.to.selectType&&(e="multiple"),this.to.options.forEach(function(e){t.push({value:e.value,label:e.label,checked:n.isOptionChecked(e.value)})}),this.dialogService.CreateModelDialog({content:F,"class":"part-page"},{options:t,selectType:e},function(e,t){e&&(n.formControl.patchValue(e),n.formControl.markAsTouched())})},ne.decorators=[{type:r.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 '}]}],ne.ctorParameters=function(){return[{type:P}]},ne);function ne(e){var t=ee.call(this)||this;return t.dialogService=e,t}var oe,ie=(c(re,oe=i.FieldType),re.decorators=[{type:r.Component,args:[{selector:"kreform-field-ion-line",template:" <div><hr /></div>"}]}],re);function re(){return null!==oe&&oe.apply(this,arguments)||this}var le,ae=(c(se,le=i.FieldType),se.decorators=[{type:r.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 '}]}],se.ctorParameters=function(){return[]},se);function se(){var e=le.call(this)||this;return e.showPwd=!1,e}var ce,de=(c(pe,ce=i.FieldType),pe.decorators=[{type:r.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>"}]}],pe);function pe(){return null!==ce&&ce.apply(this,arguments)||this}var ue,fe=(c(me,ue=i.FieldType),me.decorators=[{type:r.Component,args:[{selector:"kreform-field-ion-table",template:'\n <ng-container>\n <ion-item>table 暂不支持</ion-item>\n \x3c!-- 不太确定展示哪些字段\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> --\x3e\n </ng-container>\n '}]}],me);function me(){return null!==ue&&ue.apply(this,arguments)||this}var Ae,ge=(c(he,Ae=i.FieldType),he.decorators=[{type:r.Component,args:[{selector:"kreform-field-ion-editor",template:"\n <ng-container>\n <ion-item>Editor 暂不支持</ion-item>\n </ng-container>\n "}]}],he);function he(){return null!==Ae&&Ae.apply(this,arguments)||this}var ye,ve=(c(Ie,ye=i.FieldType),Ie.prototype.switchValue=function(){return this.model[this.field.key]?"是":"否"},Ie.decorators=[{type:r.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 '}]}],Ie.ctorParameters=function(){return[]},Ie);function Ie(){return ye.call(this)||this}var be=(Ce.prototype.ngOnInit=function(){},Ce.prototype.ngAfterViewInit=function(){},Ce.decorators=[{type:r.Component,args:[{selector:"kreform-field-ion-tags",template:'\n <div [innerHtml]="content | safeHtml"></div>\n '}]}],Ce.ctorParameters=function(){return[{type:a.ModalController}]},Ce.propDecorators={content:[{type:r.Input}]},Ce);function Ce(e){this.modalController=e}var ke,Ee=(c(Be,ke=i.FieldWrapper),Be.prototype.onBadge=function(n){return p(this,void 0,void 0,function(){var t;return u(this,function(e){switch(e.label){case 0:switch(t="",n.mark){case"add":t="新增";break;case"modify":t="修改";break;case"remove":t="删除"}return[4,this.popoverController.create({component:be,cssClass:"field-popover",componentProps:{content:this.tags.content||"数据已被"+t},translucent:!0,mode:"ios"})];case 1:return[4,e.sent().present()];case 2:return e.sent(),[2]}})})},Be.prototype.buttonClick=function(){this.globalService.notifyDataChanged("FieldWrapperClick",{rdm:Math.random(),config:this.field})},Be.decorators=[{type:r.Component,args:[{selector:"kreform-wrapper-ion-form-field",template:'\n <ng-container *ngIf="field.type != \'html\'">\n <div class="item-box">\n <ng-container\n *ngIf="\n field.type != \'line\' &&\n field.type != \'htmlcontent\' &&\n field.type != \'image\' &&\n field.type != \'label\' &&\n field.type != \'upload\' &&\n field.type != \'radio\' &&\n field.type != \'checkbox\'\n "\n >\n <ion-label\n [position]="to.labelPosition"\n [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 }"\n >\n <span *ngIf="to.required" class="required-icon">*</span\n >{{ to.label }}\n </ion-label>\n </ng-container>\n <div class="field-content-box">\n <ng-template #fieldComponent></ng-template>\n <div\n class="field-unit"\n *ngIf="to.unit && to.unit != null && to.unit != \'\'"\n >\n <span [innerHtml]="to.unit | safeHtml"></span>\n </div>\n <div\n class="field-button"\n *ngIf="to.button && to.button != null && to.button?.show == true"\n >\n <span\n [innerHtml]="to.button.label | safeHtml"\n (click)="buttonClick()"\n ></span>\n </div>\n </div>\n </div>\n\n <div class="item-error" *ngIf="showError">\n <kreform-validation-message [field]="field">\n </kreform-validation-message>\n </div>\n <ng-container *ngIf="tags.mark">\n <ion-badge class="field-tags" (click)="onBadge(tags)">\n {{ tags.mark | tags }}\n </ion-badge>\n </ng-container>\n </ng-container>\n '}]}],Be.ctorParameters=function(){return[{type:a.PopoverController},{type:i.FormGlobalService}]},Be);function Be(e,t){var n=ke.call(this)||this;return n.popoverController=e,n.globalService=t,n}var qe,Fe=(c(Qe,qe=i.FieldType),Qe.decorators=[{type:r.Component,args:[{selector:"group",template:'\n <div [class]="\'fieldGroup \' + field.className">\n <kreform-field\n *ngFor="let f of field.fieldGroup"\n [field]="f"\n ></kreform-field>\n <ng-content></ng-content>\n </div>\n ',host:{"[class]":'field.className || ""'}}]}],Qe);function Qe(){return null!==qe&&qe.apply(this,arguments)||this}var Pe,Oe=(c(Me,Pe=i.FieldArrayType),Me.prototype.ngOnInit=function(){var i=this;this.formControl&&this.formControl.valueChanges.subscribe(function(e){e.length!==i.length&&(i.length=e.length,i.to.enableInterface&&i.globalService.notifyDataChanged("repeatLengthChange",{rdm:Math.random(),config:i.field}))}),this.length=this.field.fieldGroup.length,this.field.repeatRole&&Object.keys(this.field.repeatRole).forEach(function(n){var o=Number(n.substr(n.lastIndexOf("$")+1));i.field.fieldGroup&&i.field.fieldGroup.forEach(function(e,t){o===t&&e.fieldGroup.forEach(function(e){i.field.repeatRole[n][e.key]&&(e.templateOptions!==undefined&&null!==e.templateOptions||(e.templateOptions={}),e.editProperty!==undefined&&null!==e.editProperty||(e.editProperty={}),e.templateOptions=Object.assign(e.templateOptions,i.field.repeatRole[n][e.key].templateOptions),!1!==i.field.repeatRole[n][e.key].editor&&!0!==i.field.repeatRole[n][e.key].editor||(e.editor=i.field.repeatRole[n][e.key].editor),!1!==i.field.repeatRole[n][e.key].show&&!0!==i.field.repeatRole[n][e.key].show||(e.show=i.field.repeatRole[n][e.key].show),e.editProperty=Object.assign(e.editProperty,i.field.repeatRole[n][e.key].editProperty))})})}),this.field.fieldGroup&&this.field.fieldGroup.forEach(function(e,t){e.fieldGroup.forEach(function(e){e.templateOptions.index=t})})},Me.prototype.isRemoved=function(e){var t=!0;return!1===this.editor&&(t=!1),t=e.fieldGroup.filter(function(e){return"line"!==e.type&&"htmlcontent"!==e.type}).every(function(e){return!!e.editProperty&&!!e.editProperty["delete"]})?!1:t},Me.prototype.addIndex=function(){var n=this;this.field.fieldGroup.forEach(function(e,t){e.fieldGroup.forEach(function(e){e.templateOptions.index=t,n.field&&n.field.templateOptions&&(n.field.templateOptions.index||0===n.field.templateOptions.index)&&(e.templateOptions.pIndex=n.field.templateOptions.index)})})},Me.prototype.removed=function(e,t){this.remove(e),this.operationProperty&&this.operationProperty.deleteEvent&&this.globalService.notifyDataChanged("FieldWrapperClick",{rdm:Math.random(),config:this.field,type:"repeat"}),this.globalService.notifyDataChanged("repeatDelete",{rdm:Math.random(),index:e,config:this.field}),this.addIndex()},Me.decorators=[{type:r.Component,args:[{selector:"kreform-repeat",template:'\n <ng-container\n *ngIf="\n field.fieldGroup !== undefined &&\n field.fieldGroup !== null &&\n field.fieldGroup.length > 0;\n else cardEmpty\n "\n >\n <div *ngFor="let field of field.fieldGroup; let i = index" class="row">\n <kreform-field class="col" [field]="field"></kreform-field>\n <div\n class="repeatDel"\n (click)="removed(i, isRemoved(field))"\n *ngIf="isRemoved(field)"\n >\n <span class="del">删除</span>\n </div>\n </div>\n </ng-container>\n <ng-template #cardEmpty>\n <div class="repeat-card-empty">\n <div class="ant-empty-image">\n <img\n alt="empty"\n class="ng-star-inserted"\n src="data:image/png;base64,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"\n />\n </div>\n <p class="ant-empty-description">暂无数据</p>\n </div>\n </ng-template>\n\n <div class="repeatAdd" (click)="add(); addIndex()" *ngIf="isAdd">\n <span>新增</span>\n </div>\n ',host:{"[class]":'field.className || ""',cdkDrag:""}}]}],Me.ctorParameters=function(){return[{type:i.FormGlobalService}]},Me);function Me(e){var t=Pe.call(this)||this;return t.globalService=e,t.length=0,t}var xe,Te=(c(we,xe=i.FieldArrayType),we.prototype.ngOnInit=function(){var i=this;this.field.repeatRole&&Object.keys(this.field.repeatRole).forEach(function(n){var o=Number(n.substr(n.lastIndexOf("$")+1));i.field.fieldGroup&&i.field.fieldGroup.forEach(function(e,t){o===t&&e.fieldGroup.forEach(function(e){i.field.repeatRole[n][e.key]&&(e.templateOptions!==undefined&&null!==e.templateOptions||(e.templateOptions={}),e.editProperty!==undefined&&null!==e.editProperty||(e.editProperty={}),e.templateOptions=Object.assign(e.templateOptions,i.field.repeatRole[n][e.key].templateOptions),!1!==i.field.repeatRole[n][e.key].editor&&!0!==i.field.repeatRole[n][e.key].editor||(e.editor=i.field.repeatRole[n][e.key].editor),e.editProperty=Object.assign(e.editProperty,i.field.repeatRole[n][e.key].editProperty))})})}),this.field.fieldGroup&&this.field.fieldGroup.forEach(function(e,t){e.fieldGroup.forEach(function(e){e.templateOptions.index=t})})},we.prototype.isRemoved=function(e){var t=!0;return!1===this.editor&&(t=!1),t=e.fieldGroup.filter(function(e){return"line"!==e.type&&"htmlcontent"!==e.type}).every(function(e){return!!e.editProperty&&!!e.editProperty["delete"]})?!1:t},we.prototype.addIndex=function(){this.field.fieldGroup.forEach(function(e,t){e.fieldGroup.forEach(function(e){e.templateOptions.index=t})})},we.prototype.removed=function(e,t){this.remove(e),this.operationProperty&&this.operationProperty.deleteEvent&&this.globalService.notifyDataChanged("FieldWrapperClick",{rdm:Math.random(),config:this.field,type:"repeat"})},we.decorators=[{type:r.Component,args:[{selector:"kreform-overtime",template:'\n <ng-container\n *ngIf="\n field.fieldGroup !== undefined &&\n field.fieldGroup !== null &&\n field.fieldGroup.length > 0;\n else cardEmpty\n "\n >\n <div *ngFor="let field of field.fieldGroup; let i = index" class="row">\n <kreform-field class="col" [field]="field"></kreform-field>\n <div\n class="repeatDel"\n (click)="removed(i, isRemoved(field))"\n *ngIf="isRemoved(field)"\n >\n <span class="del">删除</span>\n </div>\n </div>\n </ng-container>\n <ng-template #cardEmpty>\n <div class="repeat-card-empty">\n <div class="ant-empty-image">\n <img\n alt="empty"\n class="ng-star-inserted"\n src="data:image/png;base64,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