@abp/ng.theme.shared 4.4.0 → 4.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,5 +13,5 @@
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
15
  ***************************************************************************** */
16
- var b=function(t,e){return(b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)};function y(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}b(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}Object.create;function v(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,o,a=n.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i}function C(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(v(arguments[e]));return t}Object.create;var x=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e.prototype.fromModel=function(t){if(!t)return null;var e=new Date(t);return isNaN(e)?null:{day:e.getDate(),month:e.getMonth()+1,year:e.getFullYear()}},e.prototype.toModel=function(t){if(!t)return"";var e=new Date(t.year,t.month-1,t.day);return n.formatDate(e,"yyyy-MM-dd","en")},e}(r.NgbDateAdapter);x.decorators=[{type:e.Injectable}];var T=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e.prototype.fromModel=function(t){if(!t)return null;var e=function(t){return/^((2[123])|[01][0-9])(\:[0-5][0-9]){1,2}$/.test(String(t))}(t)?new(Date.bind.apply(Date,C([void 0,0,0,1],t.split(":").map(Number)))):new Date(t);return isNaN(e)?null:{hour:e.getHours(),minute:e.getMinutes(),second:e.getSeconds()}},e.prototype.toModel=function(t){if(!t)return"";var e=new Date(0,0,1,t.hour,t.minute,t.second);return n.formatDate(e,"HH:mm","en")},e}(r.NgbTimeAdapter);function k(t){return t}T.decorators=[{type:e.Injectable}];var D=k,I=function(){function t(t){this.cdRef=t,this.meridian=!1}return t.prototype.setDate=function(t){this.date.writeValue(t)},t.prototype.setTime=function(t){this.time.writeValue(t)},t}();I.decorators=[{type:e.Component,args:[{exportAs:"abpDateTimePicker",selector:"abp-date-time-picker",template:'\n <input\n [id]="prop.id"\n [formControlName]="prop.name"\n (ngModelChange)="setTime($event)"\n (click)="datepicker.open()"\n (keyup.space)="datepicker.open()"\n ngbDatepicker\n #datepicker="ngbDatepicker"\n type="text"\n class="form-control"\n />\n <ngb-timepicker\n #timepicker\n [formControlName]="prop.name"\n (ngModelChange)="setDate($event)"\n [meridian]="meridian"\n ></ngb-timepicker>\n ',changeDetection:e.ChangeDetectionStrategy.OnPush,viewProviders:[{provide:o.ControlContainer,useFactory:D,deps:[[new e.Optional,new e.SkipSelf,o.ControlContainer]]},{provide:r.NgbDateAdapter,useClass:h},{provide:r.NgbTimeAdapter,useClass:h}]}]}],I.ctorParameters=function(){return[{type:e.ChangeDetectorRef}]},I.propDecorators={prop:[{type:e.Input}],meridian:[{type:e.Input}],date:[{type:e.ViewChild,args:[r.NgbInputDatepicker]}],time:[{type:e.ViewChild,args:[r.NgbTimepicker]}]};var w="extraProperties",P="_Text",O=/_Text$/;function j(t,e){return function(n,r){var o=function(t){return t.replace(O,"")}(r.name);return t(n||e[o].displayName,{name:o,resource:r.resource})}}function N(t){return t+P}var E=k,S=function(){function t(t,e,n,r){var o=this;this.cdRef=t,this.track=e,this.configState=n,this.asterisk="",this.options$=i.of([]),this.validators=[],this.search=function(t){return t?t.pipe(c.debounceTime(300),c.distinctUntilChanged(),c.switchMap((function(t){return o.prop.options(o.data,t)}))):i.of([])},this.typeaheadFormatter=function(t){return t.key},this.form=r.form}return t.prototype.setTypeaheadValue=function(t){this.typeaheadModel=t||{key:null,value:null};var e=this.typeaheadModel,n=e.key,r=e.value,o=v(this.getTypeaheadControls(),2),a=o[0],i=o[1];i.value&&!r&&i.markAsDirty(),a.setValue(n),i.setValue(r)},Object.defineProperty(t.prototype,"meridian",{get:function(){return(this.configState.getDeep("localization.currentCulture.dateTimeFormat.shortTimePattern")||"").includes("tt")},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isInvalid",{get:function(){var t=this.form.get(this.prop.name);return t.touched&&t.invalid},enumerable:!1,configurable:!0}),t.prototype.getTypeaheadControls=function(){var t=this.prop.name,e="extraProperties."+t;return[this.form.get(N(e))||this.form.get(N(t)),this.form.get(e)||this.form.get(t)]},t.prototype.setAsterisk=function(){this.asterisk=this.validators.some(F)?"*":""},t.prototype.ngAfterViewInit=function(){this.first&&this.fieldRef&&this.fieldRef.nativeElement.focus()},t.prototype.getComponent=function(t){switch(t.type){case"boolean":return"checkbox";case"date":return"date";case"dateTime":return"dateTime";case"hidden":return"hidden";case"multiselect":return"multiselect";case"text":return"textarea";case"time":return"time";case"typeahead":return"typeahead";default:return t.options?"select":"input"}},t.prototype.getType=function(t){switch(t.type){case"date":case"string":return"text";case"boolean":return"checkbox";case"number":return"number";case"email":return"email";case"password":return"password";default:return"hidden"}},t.prototype.ngOnChanges=function(t){var e=t.prop,n=g.default((function(){return e.currentValue}))||{},r=n.options,o=n.readonly,a=n.disabled,i=n.validators;r&&(this.options$=r(this.data)),o&&(this.readonly=o(this.data)),a&&(this.disabled=a(this.data)),i&&(this.validators=i(this.data),this.setAsterisk());var c=v(this.getTypeaheadControls(),2),s=c[0],p=c[1];s&&p&&(this.typeaheadModel={key:s.value,value:p.value})},t}();function F(t){return t===o.Validators.required||t===a.AbpValidators.required}S.decorators=[{type:e.Component,args:[{selector:"abp-extensible-form-prop",template:'<div class="form-group" *abpPermission="prop.permission" [ngSwitch]="getComponent(prop)">\n <ng-template ngSwitchCase="input">\n <ng-template [ngTemplateOutlet]="label"></ng-template>\n <input\n #field\n [id]="prop.id"\n [formControlName]="prop.name"\n [autocomplete]="prop.autocomplete"\n [type]="getType(prop)"\n [abpDisabled]="disabled"\n [readonly]="readonly"\n class="form-control"\n />\n </ng-template>\n\n <ng-template ngSwitchCase="hidden">\n <input [formControlName]="prop.name" type="hidden" />\n </ng-template>\n\n <ng-template ngSwitchCase="checkbox">\n <div class="custom-checkbox custom-control" validationTarget>\n <input\n #field\n [id]="prop.id"\n [formControlName]="prop.name"\n [abpDisabled]="disabled"\n type="checkbox"\n class="custom-control-input"\n />\n <ng-template\n [ngTemplateOutlet]="label"\n [ngTemplateOutletContext]="{ $implicit: \'custom-control-label\' }"\n ></ng-template>\n </div>\n </ng-template>\n\n <ng-template ngSwitchCase="select">\n <ng-template [ngTemplateOutlet]="label"></ng-template>\n <select\n #field\n [id]="prop.id"\n [formControlName]="prop.name"\n [abpDisabled]="disabled"\n class="custom-select form-control"\n >\n <option\n *ngFor="let option of options$ | async; trackBy: track.by(\'value\')"\n [ngValue]="option.value"\n >\n {{ option.key }}\n </option>\n </select>\n </ng-template>\n\n <ng-template ngSwitchCase="multiselect">\n <ng-template [ngTemplateOutlet]="label"></ng-template>\n <select\n #field\n [id]="prop.id"\n [formControlName]="prop.name"\n [abpDisabled]="disabled"\n multiple="multiple"\n class="custom-select form-control"\n >\n <option\n *ngFor="let option of options$ | async; trackBy: track.by(\'value\')"\n [ngValue]="option.value"\n >\n {{ option.key }}\n </option>\n </select>\n </ng-template>\n\n <ng-template ngSwitchCase="typeahead">\n <ng-template [ngTemplateOutlet]="label"></ng-template>\n <div #typeahead class="position-relative" validationStyle validationTarget>\n <input\n #field\n [id]="prop.id"\n [autocomplete]="prop.autocomplete"\n [abpDisabled]="disabled"\n [ngbTypeahead]="search"\n [editable]="false"\n [inputFormatter]="typeaheadFormatter"\n [resultFormatter]="typeaheadFormatter"\n [ngModelOptions]="{ standalone: true }"\n [(ngModel)]="typeaheadModel"\n (selectItem)="setTypeaheadValue($event.item)"\n (blur)="setTypeaheadValue(typeaheadModel)"\n [class.is-invalid]="typeahead.classList.contains(\'is-invalid\')"\n class="form-control"\n />\n <input [formControlName]="prop.name" type="hidden" />\n </div>\n </ng-template>\n\n <ng-template ngSwitchCase="date">\n <ng-template [ngTemplateOutlet]="label"></ng-template>\n <input\n [id]="prop.id"\n [formControlName]="prop.name"\n (click)="datepicker.open()"\n (keyup.space)="datepicker.open()"\n ngbDatepicker\n #datepicker="ngbDatepicker"\n type="text"\n class="form-control"\n />\n </ng-template>\n\n <ng-template ngSwitchCase="time">\n <ng-template [ngTemplateOutlet]="label"></ng-template>\n <ngb-timepicker [formControlName]="prop.name"></ngb-timepicker>\n </ng-template>\n\n <ng-template ngSwitchCase="dateTime">\n <ng-template [ngTemplateOutlet]="label"></ng-template>\n <abp-date-time-picker [prop]="prop" [meridian]="meridian"></abp-date-time-picker>\n </ng-template>\n\n <ng-template ngSwitchCase="textarea">\n <ng-template [ngTemplateOutlet]="label"></ng-template>\n <textarea\n #field\n [id]="prop.id"\n [formControlName]="prop.name"\n [abpDisabled]="disabled"\n [readonly]="readonly"\n class="form-control"\n ></textarea>\n </ng-template>\n</div>\n\n<ng-template #label let-classes>\n <label [htmlFor]="prop.id" [ngClass]="classes"\n >{{ prop.displayName | abpLocalization }} {{ asterisk }}</label\n >\n</ng-template>\n',changeDetection:e.ChangeDetectionStrategy.OnPush,viewProviders:[{provide:o.ControlContainer,useFactory:E,deps:[[new e.Optional,new e.SkipSelf,o.ControlContainer]]},{provide:r.NgbDateAdapter,useClass:x},{provide:r.NgbTimeAdapter,useClass:T}]}]}],S.ctorParameters=function(){return[{type:e.ChangeDetectorRef},{type:a.TrackByService},{type:a.ConfigStateService},{type:o.FormGroupDirective}]},S.propDecorators={data:[{type:e.Input}],prop:[{type:e.Input}],first:[{type:e.Input}],fieldRef:[{type:e.ViewChild,args:["field"]}]};var A=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e}(p.LinkedList),L=function(){function t(){}return Object.defineProperty(t.prototype,"data",{get:function(){return{getInjected:this.getInjected,index:this.index,record:this.record}},enumerable:!1,configurable:!0}),t}(),_=function(t,e,n){void 0===e&&(e=function(t){return!0}),void 0===n&&(n=function(t){}),this.permission=t,this.visible=e,this.action=n},M=function(){function t(){this.contributorCallbacks={}}return t.prototype.get=function(t){return this.contributorCallbacks[t]=this.contributorCallbacks[t]||[],new this._ctor(this.contributorCallbacks[t])},t}(),V=function(){function t(t){this.callbackList=t}return Object.defineProperty(t.prototype,"actions",{get:function(){var t=new this._ctor;return this.callbackList.forEach((function(e){return e(t)})),t},enumerable:!1,configurable:!0}),t.prototype.addContributor=function(t){this.callbackList.push(t)},t.prototype.clearContributors=function(){for(;this.callbackList.length;)this.callbackList.pop()},t}(),R=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e}(A),B=function(t){function e(){var e=t.apply(this,C(arguments))||this;return e._ctor=R,e}return y(e,t),e}(V),z=function(t){function e(){var e=t.apply(this,C(arguments))||this;return e._ctor=B,e}return y(e,t),e}(M),W=function(t){function e(e){var n=t.call(this,e.permission,e.visible,e.action)||this;return n.text=e.text,n.icon=e.icon||"",n}return y(e,t),e.create=function(t){return new e(t)},e.createMany=function(t){return t.map(e.create)},e}(_),$=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e}(p.LinkedList),q=function(){function t(){}return Object.defineProperty(t.prototype,"data",{get:function(){return{getInjected:this.getInjected,index:this.index,record:this.record}},enumerable:!1,configurable:!0}),t}(),X=function(t,e,n,r,o,a){void 0===o&&(o=function(t){return!0}),void 0===a&&(a=!1),this.type=t,this.name=e,this.displayName=n,this.permission=r,this.visible=o,this.isExtra=a,this.displayName=this.displayName||this.name},G=function(){function t(){this.contributorCallbacks={}}return t.prototype.get=function(t){return this.contributorCallbacks[t]=this.contributorCallbacks[t]||[],new this._ctor(this.contributorCallbacks[t])},t}(),H=function(){function t(t){this.callbackList=t}return Object.defineProperty(t.prototype,"props",{get:function(){var t=new this._ctor;return this.callbackList.forEach((function(e){return e(t)})),t},enumerable:!1,configurable:!0}),t.prototype.addContributor=function(t){this.callbackList.push(t)},t.prototype.clearContributors=function(){for(;this.callbackList.length;)this.callbackList.pop()},t}(),U=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e}($),Y=function(t){function e(){var e=t.apply(this,C(arguments))||this;return e._ctor=U,e}return y(e,t),e}(H),K=function(t){function e(){var e=t.apply(this,C(arguments))||this;return e._ctor=Y,e}return y(e,t),e}(G),J=function(t){function e(e){var n=t.call(this,e.type,e.name,e.displayName,e.permission,e.visible,e.isExtra)||this;return n.columnWidth=e.columnWidth,n.sortable=e.sortable||!1,n.valueResolver=e.valueResolver||function(t){return i.of(t.record[n.name])},n.action=e.action,n}return y(e,t),e.create=function(t){return new e(t)},e.createMany=function(t){return t.map(e.create)},e}(X),Q=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e}($),Z=function(t){function e(){var e=t.apply(this,C(arguments))||this;return e._ctor=Q,e}return y(e,t),e}(H),tt=function(t){function e(){var e=t.apply(this,C(arguments))||this;return e._ctor=Z,e}return y(e,t),e}(G),et=function(t){function e(){var e=t.apply(this,C(arguments))||this;return e._ctor=Z,e}return y(e,t),e}(G),nt=function(t){function e(e){var n=t.call(this,e.type,e.name,e.displayName,e.permission,e.visible,e.isExtra)||this;n.asyncValidators=e.asyncValidators||function(t){return[]},n.validators=e.validators||function(t){return[]},n.disabled=e.disabled||function(t){return!1},n.readonly=e.readonly||function(t){return!1},n.autocomplete=e.autocomplete||"off",n.options=e.options,n.id=e.id||e.name;var r=e.defaultValue;return n.defaultValue=function(t){return[0,"",!1].indexOf(t)>-1}(r)?r:r||null,n}return y(e,t),e.create=function(t){return new e(t)},e.createMany=function(t){return t.map(e.create)},e}(X),rt=function(t){function e(e,n){var r=t.call(this)||this;return r.record=n,r.getInjected=e.get.bind(e),r}return y(e,t),e}(q);var ot=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e}(A),at=function(t){function e(){var e=t.apply(this,C(arguments))||this;return e._ctor=ot,e}return y(e,t),e}(V),it=function(t){function e(){var e=t.apply(this,C(arguments))||this;return e._ctor=at,e}return y(e,t),e}(M),ct=function(t){function e(e){var n=t.call(this,e.permission,e.visible,e.action)||this;return n.text=e.text,n.icon=e.icon||"",n}return y(e,t),e.create=function(t){return new e(t)},e.createMany=function(t){return t.map(e.create)},e}(_),st=function(t){function e(e){var n=t.call(this,e.permission,e.visible,e.action)||this;return n.component=e.component,n}return y(e,t),e.create=function(t){return new e(t)},e.createMany=function(t){return t.map(e.create)},e}(_),pt=function(){this.entityActions=new z,this.toolbarActions=new it,this.entityProps=new K,this.createFormProps=new tt,this.editFormProps=new et};pt.ɵprov=m.ɵɵdefineInjectable({factory:function(){return new pt},token:pt,providedIn:"root"}),pt.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}];var lt=new e.InjectionToken("EXTENSIONS_IDENTIFIER"),ut=new e.InjectionToken("EXTENSIONS_ACTION_TYPE"),dt=new e.InjectionToken("EXTENSIONS_ACTION_DATA"),ft=new e.InjectionToken("EXTENSIONS_ACTION_DATA"),mt=k,gt=function(){function t(t,e,n,r,o){this.cdRef=t,this.track=e,this.container=n,this.extensions=r,this.identifier=o,this.extraPropertiesKey=w}return Object.defineProperty(t.prototype,"selectedRecord",{set:function(t){var e=t&&"{}"!==JSON.stringify(t)?"edit":"create";this.propList=this.extensions[e+"FormProps"].get(this.identifier).props,this.record=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"form",{get:function(){return this.container?this.container.control:{controls:{}}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"extraProperties",{get:function(){return this.form.controls.extraProperties||{controls:{}}},enumerable:!1,configurable:!0}),t}();gt.decorators=[{type:e.Component,args:[{exportAs:"abpExtensibleForm",selector:"abp-extensible-form",template:'<ng-container *ngIf="form">\n <ng-container *abpPropData="let data; fromList: propList; withRecord: record">\n <ng-container *ngFor="let prop of propList; let first = first; trackBy: track.by(\'name\')">\n <ng-container *ngIf="prop.visible(data)">\n <ng-container\n [formGroupName]="extraPropertiesKey"\n *ngIf="extraProperties.controls[prop.name]; else tempDefault"\n >\n <abp-extensible-form-prop [prop]="prop" [data]="data"></abp-extensible-form-prop>\n </ng-container>\n\n <ng-template #tempDefault>\n <abp-extensible-form-prop\n *ngIf="form.get(prop.name)"\n [prop]="prop"\n [data]="data"\n [first]="first"\n ></abp-extensible-form-prop>\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n',changeDetection:e.ChangeDetectionStrategy.OnPush,viewProviders:[{provide:o.ControlContainer,useFactory:mt,deps:[[new e.Optional,new e.SkipSelf,o.ControlContainer]]}]}]}],gt.ctorParameters=function(){return[{type:e.ChangeDetectorRef},{type:a.TrackByService},{type:o.ControlContainer},{type:pt},{type:String,decorators:[{type:e.Inject,args:[lt]}]}]},gt.propDecorators={formProps:[{type:e.ViewChildren,args:[S]}],selectedRecord:[{type:e.Input}]};var ht=function(){function t(t,e,n){this.locale=t,this.config=e,this.trackByFn=function(t,e){return e.name},this.getInjected=n.get.bind(n);var r=n.get(pt),o=n.get(lt);this.propList=r.entityProps.get(o).props,this.actionList=r.entityActions.get(o).actions,this.setColumnWidths(150)}return Object.defineProperty(t.prototype,"actionsText",{get:function(){var t;return null!==(t=this._actionsText)&&void 0!==t?t:this.actionList.length>1?"AbpUi::Actions":""},set:function(t){this._actionsText=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"actionsColumnWidth",{set:function(t){this.setColumnWidths(t?Number(t):void 0)},enumerable:!1,configurable:!0}),t.prototype.setColumnWidths=function(t){var e=[t];this.propList.forEach((function(t){var n=t.value;e.push(n.columnWidth)})),this.columnWidths=e},t.prototype.getDate=function(t,e){return t?n.formatDate(t,e,this.locale):""},t.prototype.getIcon=function(t){return t?'<div class="text-center text-success"><i class="fa fa-check"></i></div>':'<div class="text-center text-danger"><i class="fa fa-times"></i></div>'},t.prototype.getContent=function(t,e){var n=this;return t.valueResolver(e).pipe(c.map((function(e){switch(t.type){case"boolean":return n.getIcon(e);case"date":return n.getDate(e,a.getShortDateFormat(n.config));case"time":return n.getDate(e,a.getShortTimeFormat(n.config));case"dateTime":return n.getDate(e,a.getShortDateShortTimeFormat(n.config));default:return e}})))},t.prototype.ngOnChanges=function(t){var e=this,n=t.data;(null==n?void 0:n.currentValue)&&(this.data=n.currentValue.map((function(t,n){return e.propList.forEach((function(r){var o={getInjected:e.getInjected,record:t,index:n};t["_"+r.value.name]={visible:r.value.visible(o),value:e.getContent(r.value,o)}})),t})))},t}();ht.decorators=[{type:e.Component,args:[{exportAs:"abpExtensibleTable",selector:"abp-extensible-table",template:'<ngx-datatable default [rows]="data" [count]="recordsTotal" [list]="list">\n <ngx-datatable-column\n *ngIf="actionsTemplate || actionList.length"\n [name]="actionsText | abpLocalization"\n [maxWidth]="columnWidths[0]"\n [width]="columnWidths[0]"\n [sortable]="false"\n >\n <ng-template let-row="row" let-i="rowIndex" ngx-datatable-cell-template>\n <ng-container\n *ngTemplateOutlet="actionsTemplate || gridActions; context: { $implicit: row, index: i }"\n ></ng-container>\n <ng-template #gridActions>\n <abp-grid-actions [index]="i" [record]="row" text="AbpUi::Actions"></abp-grid-actions>\n </ng-template>\n </ng-template>\n </ngx-datatable-column>\n\n <ng-container *ngFor="let prop of propList; let i = index; trackBy: trackByFn">\n <ngx-datatable-column\n [width]="columnWidths[i + 1] || 200"\n [name]="prop.displayName | abpLocalization"\n [prop]="prop.name"\n [sortable]="prop.sortable"\n >\n <ng-template let-row="row" let-i="index" ngx-datatable-cell-template>\n <ng-container *abpPermission="prop.permission">\n <div\n *ngIf="row[\'_\' + prop.name].visible"\n [innerHTML]="row[\'_\' + prop.name].value | async"\n (click)="\n prop.action && prop.action({ getInjected: getInjected, record: row, index: i })\n "\n [class.pointer]="prop.action"\n ></div>\n </ng-container>\n </ng-template>\n </ngx-datatable-column>\n </ng-container>\n</ngx-datatable>\n',changeDetection:e.ChangeDetectionStrategy.OnPush}]}],ht.ctorParameters=function(){return[{type:String,decorators:[{type:e.Inject,args:[e.LOCALE_ID]}]},{type:a.ConfigStateService},{type:e.Injector}]},ht.propDecorators={actionsText:[{type:e.Input}],data:[{type:e.Input}],list:[{type:e.Input}],recordsTotal:[{type:e.Input}],actionsColumnWidth:[{type:e.Input}],actionsTemplate:[{type:e.Input}]};var bt=function(t){function e(e){var n=t.call(this)||this;n.getInjected=e.get.bind(e);var r=e.get(pt),o=e.get(lt),a=e.get(ut);return n.actionList=r[a].get(o).actions,n}return y(e,t),e}(L);bt.decorators=[{type:e.Directive}],bt.ctorParameters=function(){return[{type:e.Injector}]},bt.propDecorators={record:[{type:e.Input}]};var yt=function(t){function e(e){var n=t.call(this,e)||this;return n.icon="fa fa-cog",n.text="",n.trackByFn=function(t,e){return e.text},n}return y(e,t),e}(bt);yt.decorators=[{type:e.Component,args:[{exportAs:"abpGridActions",selector:"abp-grid-actions",template:'<div *ngIf="actionList.length > 1" ngbDropdown container="body" class="d-inline-block">\n <button\n class="btn btn-primary btn-sm dropdown-toggle"\n data-toggle="dropdown"\n aria-haspopup="true"\n ngbDropdownToggle\n >\n <i [ngClass]="icon" [class.mr-1]="icon"></i>{{ text | abpLocalization }}\n </button>\n <div ngbDropdownMenu>\n <ng-container\n *ngFor="let action of actionList; trackBy: trackByFn"\n [ngTemplateOutlet]="btnItem"\n [ngTemplateOutletContext]="{ $implicit: action }"\n >\n </ng-container>\n </div>\n</div>\n\n<ng-container\n *ngIf="actionList.length === 1"\n [ngTemplateOutlet]="btnItem"\n [ngTemplateOutletContext]="{ $implicit: actionList.get(0).value }"\n></ng-container>\n\n<ng-template #btnItem let-action>\n <ng-container *ngIf="action.visible(data)">\n <button\n ngbDropdownItem\n *abpPermission="action.permission"\n (click)="action.action(data)"\n type="button"\n class="{{ actionList.length === 1 ? \'btn btn-primary\' : \'\' }}"\n [class.text-center]="actionList.length === 1"\n >\n <i [ngClass]="action.icon" [class.mr-1]="action.icon"></i>\n <span *ngIf="action.icon; else ellipsis">{{ action.text | abpLocalization }}</span>\n <ng-template #ellipsis>\n <div abpEllipsis>{{ action.text | abpLocalization }}</div>\n </ng-template>\n </button>\n </ng-container>\n</ng-template>\n',providers:[{provide:ut,useValue:"entityActions"}],changeDetection:e.ChangeDetectionStrategy.OnPush}]}],yt.ctorParameters=function(){return[{type:e.Injector}]},yt.propDecorators={icon:[{type:e.Input}],index:[{type:e.Input}],text:[{type:e.Input}]};var vt=function(t){function e(e){var n=t.call(this,e)||this;return n.injector=e,n.trackByFn=function(t,e){return e.action||e.component},n}return y(e,t),e.prototype.createInjector=function(t){var e=this;return{get:function(n,r,o){return n===dt?e.data:n===ft?function(n){return void 0===n&&(n=e.data),t.action(n)}:e.getInjected.call(e.injector,n,r,o)}}},e}(bt);vt.decorators=[{type:e.Component,args:[{exportAs:"abpPageToolbar",selector:"abp-page-toolbar",template:'<div class="row justify-content-end mx-n1" id="AbpContentToolbar">\n <div class="col-auto px-1 pt-0 pt-md-2" *ngFor="let action of actionList; trackBy: trackByFn">\n <ng-container *ngIf="action.visible(data)">\n <ng-container *abpPermission="action.permission">\n <ng-container *ngIf="action.component as component; else button">\n <ng-container\n *ngComponentOutlet="component; injector: createInjector(action)"\n ></ng-container>\n </ng-container>\n\n <ng-template #button>\n <button (click)="action.action(data)" type="button" class="btn btn-primary btn-sm">\n <i [ngClass]="action.icon" [class.mr-1]="action.icon"></i>\n {{ action.text | abpLocalization }}\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n </div>\n</div>\n',providers:[{provide:ut,useValue:"toolbarActions"}],changeDetection:e.ChangeDetectionStrategy.OnPush}]}],vt.ctorParameters=function(){return[{type:e.Injector}]};var Ct=function(){function t(t){this.ngControl=t}return t.prototype.ngOnChanges=function(t){var e=t.abpDisabled;this.ngControl.control&&e&&this.ngControl.control[e.currentValue?"disable":"enable"]()},t}();Ct.decorators=[{type:e.Directive,args:[{selector:"[abpDisabled]"}]}],Ct.ctorParameters=function(){return[{type:o.NgControl,decorators:[{type:e.Host}]}]},Ct.propDecorators={abpDisabled:[{type:e.Input}]};var xt=function(t){function e(e,n,r){var o=t.call(this)||this;return o.tempRef=e,o.vcRef=n,o.getInjected=r.get.bind(r),o}return y(e,t),e.prototype.ngOnChanges=function(){this.vcRef.clear(),this.vcRef.createEmbeddedView(this.tempRef,{$implicit:this.data,index:0})},e.prototype.ngOnDestroy=function(){this.vcRef.clear()},e}(q);xt.decorators=[{type:e.Directive,args:[{exportAs:"abpPropData",selector:"[abpPropData]"}]}],xt.ctorParameters=function(){return[{type:e.TemplateRef},{type:e.ViewContainerRef},{type:e.Injector}]},xt.propDecorators={propList:[{type:e.Input,args:["abpPropDataFromList"]}],record:[{type:e.Input,args:["abpPropDataWithRecord"]}],index:[{type:e.Input,args:["abpPropDataAtIndex"]}]};var Tt=Object.freeze({__proto__:null}),kt=function(){};kt.decorators=[{type:e.NgModule,args:[{exports:[I,vt,yt,gt,ht,xt,Ct],declarations:[I,vt,yt,S,gt,ht,xt,Ct],imports:[a.CoreModule,l.ThemeSharedModule,u.NgxValidateCoreModule,r.NgbDatepickerModule,r.NgbDropdownModule,r.NgbTimepickerModule,r.NgbTypeaheadModule]}]}];var Dt=function(){};function It(t){return function(e){return i.of(e.record.extraProperties[t])}}function wt(t,e){return i.merge(i.of(null),t.languageChange$).pipe(c.map((function(){return e})))}function Pt(t,e,n){var r=n.localizationResource,o=function(t){return t.split(".").pop()}(e);return function(e){return t.localizeWithFallbackSync([r],["Enum:"+o+"."+e,o+"."+e,e],e)}}function Ot(t){return t.getOne$("objectExtensions")}Dt.decorators=[{type:e.NgModule,args:[{exports:[kt],imports:[kt]}]}],t.ActionList=A,t.BaseUiExtensionsModule=kt,t.CreateFormPropsFactory=tt,t.DateAdapter=x,t.DateTimeAdapter=h,t.DateTimePickerComponent=I,t.DisabledDirective=Ct,t.EXTENSIONS_ACTION_CALLBACK=ft,t.EXTENSIONS_ACTION_DATA=dt,t.EXTENSIONS_ACTION_TYPE=ut,t.EXTENSIONS_IDENTIFIER=lt,t.EXTRA_PROPERTIES_KEY=w,t.EditFormPropsFactory=et,t.EntityAction=W,t.EntityActionList=R,t.EntityActions=B,t.EntityActionsFactory=z,t.EntityProp=J,t.EntityPropList=U,t.EntityProps=Y,t.EntityPropsFactory=K,t.ExtensibleFormComponent=gt,t.ExtensibleFormPropComponent=S,t.ExtensibleTableComponent=ht,t.ExtensionsService=pt,t.FormProp=nt,t.FormPropData=rt,t.FormPropList=Q,t.FormProps=Z,t.GridActionsComponent=yt,t.ObjectExtensions=Tt,t.PageToolbarComponent=vt,t.PropDataDirective=xt,t.PropList=$,t.TimeAdapter=T,t.ToolbarAction=ct,t.ToolbarActionList=ot,t.ToolbarActions=at,t.ToolbarActionsFactory=it,t.ToolbarComponent=st,t.UiExtensionsModule=Dt,t.createExtraPropertyValueResolver=It,t.generateFormFromProps=function(t){var e=t.getInjected(pt),n=t.getInjected(lt),r=new o.FormGroup({}),a=new o.FormGroup({});r.addControl(w,a);var i=t.record||{},c=e[("{}"===JSON.stringify(i)?"create":"edit")+"FormProps"].get(n).props,s=i.extraProperties||{};return c.forEach((function(e){var n=e.value,c=n.name,p=n.isExtra||c in s,l=p?s[c]:c in i?i[c]:void 0;if(void 0===l&&(l=n.defaultValue),l){var u=void 0;switch(n.type){case"date":l=(u=new x).toModel(u.fromModel(l));break;case"time":l=(u=new T).toModel(u.fromModel(l));break;case"dateTime":l=(u=new h).toModel(u.fromModel(l))}}var d=new o.FormControl(l,{asyncValidators:n.asyncValidators(t),validators:n.validators(t)});(p?a:r).addControl(c,d)})),r},t.getObjectExtensionEntitiesFromStore=function(t,e){return Ot(t).pipe(c.map((function(t){return t?(t.modules[e]||{}).entities:null})),c.map((function(t){return void 0===t?{}:t})),c.filter(Boolean),c.take(1))},t.mapEntitiesToContributors=function(t,e){return i.pipe(c.switchMap((function(n){return i.zip(function(t){return t.getOne$("localization")}(t),function(t){return Ot(t).pipe(c.map((function(t){return Object.keys(t.enums).reduce((function(e,n){var r,o,a=t.enums[n],i=a.fields,c=a.localizationResource;return e[n]={fields:i,localizationResource:c,transformed:(r=i,o={},r.forEach((function(t){var e=t.name,n=t.value;o[o[e]=n]=e})),o)},e}),{})})))}(t)).pipe(c.map((function(t){var r=v(t,2),o=r[0],s=r[1],p=function(t){var e=a.createLocalizationPipeKeyGenerator(t);return function(t,n){return t&&t.name?e([t.resource],[t.name],t.name):e([n.resource],["DisplayName:"+n.name],void 0)||e([n.resource],[n.name],n.name)}}(o);return Object.keys(n).reduce((function(t,r){t.prop[r]=[],t.createForm[r]=[],t.editForm[r]=[];var o=n[r];if(!o)return t;var l=o.properties;return l?function(t,e,n){return function(r,o,s){var p=!0,l=j(t,r);return Object.keys(r).forEach((function(u){var d=r[u],f=u,m=d.ui.lookup||{},g=function(t,e){return Boolean(t.url)?"typeahead":e.endsWith(P)?"hidden":void 0}(m,u)||function(t){return t.typeSimple.replace(/\?$/,"")}(d),h=(function(t){return O.test(t)}(u)?l:t)(d.displayName,{name:u,resource:e});if(d.ui.onTable.isVisible){var b=Boolean(d.ui.onTable.isSortable),y="boolean"===g?150:250,v="enum"===g?function(t,e,n){return function(r){var o=r.record.extraProperties[n],i=e.transformed[o],c=r.getInjected(a.LocalizationService);return wt(c,Pt(c,t,e)(i))}}(d.type,n[d.type],f):It(f),C=new J({type:g,name:f,displayName:h,sortable:b,columnWidth:y,valueResolver:v,isExtra:p}),x=function(t){return t.addTail(C)};o.prop[s].push(x)}var T,k,D=d.ui.onCreateForm.isVisible,I=d.ui.onEditForm.isVisible;if(D||I){var w=d.defaultValue,j=function(){return function(t){var e=[];return t.attributes.forEach((function(t){t.typeSimple in a.AbpValidators&&e.push(a.AbpValidators[t.typeSimple](t.config))})),e}(d)},N=void 0;"enum"===g?(T=f,k=n[d.type],N=function(t){var e=t.getInjected(a.LocalizationService),n=Pt(e,T,k);return wt(e,k.fields.map((function(t){var e=t.name,r=t.value;return{key:n(e),value:r}})))}):"typeahead"===g&&(N=function(t){return function(e,n){var r;return n?e.getInjected(a.RestService).request({method:"GET",url:t.url,params:(r={},r[t.filterParamName]=n,r)},{apiName:"Default"}).pipe(c.map((function(e){return e[t.resultListPropertyName].map((function(e){return{key:e[t.displayPropertyName],value:e[t.valuePropertyName]}}))}))):i.of([])}}(m));var E=new nt({type:g,name:f,displayName:h,options:N,defaultValue:w,validators:j,isExtra:p}),S=function(t){return t.addTail(E)};D&&o.createForm[s].push(S),I&&o.editForm[s].push(S)}})),o}}(p,e,s)(l,t,r):t}),{prop:{},createForm:{},editForm:{}})})))})),c.take(1))},t.mergeWithDefaultActions=function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];Object.keys(e).forEach((function(r){var o=t.get(r);o.clearContributors(),o.addContributor((function(t){return t.addManyTail(e[r])})),n.forEach((function(t){return(t[r]||[]).forEach((function(t){return o.addContributor(t)}))}))}))},t.mergeWithDefaultProps=function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];Object.keys(e).forEach((function(r){var o=t.get(r);o.clearContributors(),o.addContributor((function(t){return t.addManyTail(e[r])})),n.forEach((function(t){return(t[r]||[]).forEach((function(t){return o.addContributor(t)}))}))}))},t.ɵa=L,t.ɵb=_,t.ɵc=M,t.ɵd=V,t.ɵe=q,t.ɵf=X,t.ɵg=G,t.ɵh=H,t.ɵi=k,t.ɵj=bt,Object.defineProperty(t,"__esModule",{value:!0})}));
16
+ var b=function(t,e){return(b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)};function y(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}b(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}Object.create;function v(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,o,a=n.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i}function C(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(v(arguments[e]));return t}Object.create;var x=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e.prototype.fromModel=function(t){return t?(e="string"==typeof t?this.dateOf(t):new Date(t),isNaN(e)?null:{day:e.getDate(),month:e.getMonth()+1,year:e.getFullYear()}):null;var e},e.prototype.toModel=function(t){if(!t)return"";var e=new Date(t.year,t.month-1,t.day);return n.formatDate(e,"yyyy-MM-dd","en")},e.prototype.dateOf=function(t){var e=new Date(Date.parse(t));return new Date(e.getTime()+Math.abs(6e4*e.getTimezoneOffset()))},e}(r.NgbDateAdapter);x.decorators=[{type:e.Injectable}];var T=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e.prototype.fromModel=function(t){if(!t)return null;var e=function(t){return/^((2[123])|[01][0-9])(\:[0-5][0-9]){1,2}$/.test(String(t))}(t)?new(Date.bind.apply(Date,C([void 0,0,0,1],t.split(":").map(Number)))):new Date(t);return isNaN(e)?null:{hour:e.getHours(),minute:e.getMinutes(),second:e.getSeconds()}},e.prototype.toModel=function(t){if(!t)return"";var e=new Date(0,0,1,t.hour,t.minute,t.second);return n.formatDate(e,"HH:mm","en")},e}(r.NgbTimeAdapter);function k(t){return t}T.decorators=[{type:e.Injectable}];var D=k,I=function(){function t(t){this.cdRef=t,this.meridian=!1}return t.prototype.setDate=function(t){this.date.writeValue(t)},t.prototype.setTime=function(t){this.time.writeValue(t)},t}();I.decorators=[{type:e.Component,args:[{exportAs:"abpDateTimePicker",selector:"abp-date-time-picker",template:'\n <input\n [id]="prop.id"\n [formControlName]="prop.name"\n (ngModelChange)="setTime($event)"\n (click)="datepicker.open()"\n (keyup.space)="datepicker.open()"\n ngbDatepicker\n #datepicker="ngbDatepicker"\n type="text"\n class="form-control"\n />\n <ngb-timepicker\n #timepicker\n [formControlName]="prop.name"\n (ngModelChange)="setDate($event)"\n [meridian]="meridian"\n ></ngb-timepicker>\n ',changeDetection:e.ChangeDetectionStrategy.OnPush,viewProviders:[{provide:o.ControlContainer,useFactory:D,deps:[[new e.Optional,new e.SkipSelf,o.ControlContainer]]},{provide:r.NgbDateAdapter,useClass:h},{provide:r.NgbTimeAdapter,useClass:h}]}]}],I.ctorParameters=function(){return[{type:e.ChangeDetectorRef}]},I.propDecorators={prop:[{type:e.Input}],meridian:[{type:e.Input}],date:[{type:e.ViewChild,args:[r.NgbInputDatepicker]}],time:[{type:e.ViewChild,args:[r.NgbTimepicker]}]};var w="extraProperties",P="_Text",O=/_Text$/;function j(t,e){return function(n,r){var o=function(t){return t.replace(O,"")}(r.name);return t(n||e[o].displayName,{name:o,resource:r.resource})}}function N(t){return t+P}var E=k,S=function(){function t(t,e,n,r){var o=this;this.cdRef=t,this.track=e,this.configState=n,this.asterisk="",this.options$=i.of([]),this.validators=[],this.search=function(t){return t?t.pipe(c.debounceTime(300),c.distinctUntilChanged(),c.switchMap((function(t){return o.prop.options(o.data,t)}))):i.of([])},this.typeaheadFormatter=function(t){return t.key},this.form=r.form}return t.prototype.setTypeaheadValue=function(t){this.typeaheadModel=t||{key:null,value:null};var e=this.typeaheadModel,n=e.key,r=e.value,o=v(this.getTypeaheadControls(),2),a=o[0],i=o[1];i.value&&!r&&i.markAsDirty(),a.setValue(n),i.setValue(r)},Object.defineProperty(t.prototype,"meridian",{get:function(){return(this.configState.getDeep("localization.currentCulture.dateTimeFormat.shortTimePattern")||"").includes("tt")},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isInvalid",{get:function(){var t=this.form.get(this.prop.name);return t.touched&&t.invalid},enumerable:!1,configurable:!0}),t.prototype.getTypeaheadControls=function(){var t=this.prop.name,e="extraProperties."+t;return[this.form.get(N(e))||this.form.get(N(t)),this.form.get(e)||this.form.get(t)]},t.prototype.setAsterisk=function(){this.asterisk=this.validators.some(A)?"*":""},t.prototype.ngAfterViewInit=function(){this.first&&this.fieldRef&&this.fieldRef.nativeElement.focus()},t.prototype.getComponent=function(t){switch(t.type){case"boolean":return"checkbox";case"date":return"date";case"dateTime":return"dateTime";case"hidden":return"hidden";case"multiselect":return"multiselect";case"text":return"textarea";case"time":return"time";case"typeahead":return"typeahead";default:return t.options?"select":"input"}},t.prototype.getType=function(t){switch(t.type){case"date":case"string":return"text";case"boolean":return"checkbox";case"number":return"number";case"email":return"email";case"password":return"password";default:return"hidden"}},t.prototype.ngOnChanges=function(t){var e=t.prop,n=g.default((function(){return e.currentValue}))||{},r=n.options,o=n.readonly,a=n.disabled,i=n.validators;r&&(this.options$=r(this.data)),o&&(this.readonly=o(this.data)),a&&(this.disabled=a(this.data)),i&&(this.validators=i(this.data),this.setAsterisk());var c=v(this.getTypeaheadControls(),2),s=c[0],p=c[1];s&&p&&(this.typeaheadModel={key:s.value,value:p.value})},t}();function A(t){return t===o.Validators.required||t===a.AbpValidators.required}S.decorators=[{type:e.Component,args:[{selector:"abp-extensible-form-prop",template:'<div class="form-group" *abpPermission="prop.permission" [ngSwitch]="getComponent(prop)">\n <ng-template ngSwitchCase="input">\n <ng-template [ngTemplateOutlet]="label"></ng-template>\n <input\n #field\n [id]="prop.id"\n [formControlName]="prop.name"\n [autocomplete]="prop.autocomplete"\n [type]="getType(prop)"\n [abpDisabled]="disabled"\n [readonly]="readonly"\n class="form-control"\n />\n </ng-template>\n\n <ng-template ngSwitchCase="hidden">\n <input [formControlName]="prop.name" type="hidden" />\n </ng-template>\n\n <ng-template ngSwitchCase="checkbox">\n <div class="custom-checkbox custom-control" validationTarget>\n <input\n #field\n [id]="prop.id"\n [formControlName]="prop.name"\n [abpDisabled]="disabled"\n type="checkbox"\n class="custom-control-input"\n />\n <ng-template\n [ngTemplateOutlet]="label"\n [ngTemplateOutletContext]="{ $implicit: \'custom-control-label\' }"\n ></ng-template>\n </div>\n </ng-template>\n\n <ng-template ngSwitchCase="select">\n <ng-template [ngTemplateOutlet]="label"></ng-template>\n <select\n #field\n [id]="prop.id"\n [formControlName]="prop.name"\n [abpDisabled]="disabled"\n class="custom-select form-control"\n >\n <option\n *ngFor="let option of options$ | async; trackBy: track.by(\'value\')"\n [ngValue]="option.value"\n >\n {{ option.key }}\n </option>\n </select>\n </ng-template>\n\n <ng-template ngSwitchCase="multiselect">\n <ng-template [ngTemplateOutlet]="label"></ng-template>\n <select\n #field\n [id]="prop.id"\n [formControlName]="prop.name"\n [abpDisabled]="disabled"\n multiple="multiple"\n class="custom-select form-control"\n >\n <option\n *ngFor="let option of options$ | async; trackBy: track.by(\'value\')"\n [ngValue]="option.value"\n >\n {{ option.key }}\n </option>\n </select>\n </ng-template>\n\n <ng-template ngSwitchCase="typeahead">\n <ng-template [ngTemplateOutlet]="label"></ng-template>\n <div #typeahead class="position-relative" validationStyle validationTarget>\n <input\n #field\n [id]="prop.id"\n [autocomplete]="prop.autocomplete"\n [abpDisabled]="disabled"\n [ngbTypeahead]="search"\n [editable]="false"\n [inputFormatter]="typeaheadFormatter"\n [resultFormatter]="typeaheadFormatter"\n [ngModelOptions]="{ standalone: true }"\n [(ngModel)]="typeaheadModel"\n (selectItem)="setTypeaheadValue($event.item)"\n (blur)="setTypeaheadValue(typeaheadModel)"\n [class.is-invalid]="typeahead.classList.contains(\'is-invalid\')"\n class="form-control"\n />\n <input [formControlName]="prop.name" type="hidden" />\n </div>\n </ng-template>\n\n <ng-template ngSwitchCase="date">\n <ng-template [ngTemplateOutlet]="label"></ng-template>\n <input\n [id]="prop.id"\n [formControlName]="prop.name"\n (click)="datepicker.open()"\n (keyup.space)="datepicker.open()"\n ngbDatepicker\n #datepicker="ngbDatepicker"\n type="text"\n class="form-control"\n />\n </ng-template>\n\n <ng-template ngSwitchCase="time">\n <ng-template [ngTemplateOutlet]="label"></ng-template>\n <ngb-timepicker [formControlName]="prop.name"></ngb-timepicker>\n </ng-template>\n\n <ng-template ngSwitchCase="dateTime">\n <ng-template [ngTemplateOutlet]="label"></ng-template>\n <abp-date-time-picker [prop]="prop" [meridian]="meridian"></abp-date-time-picker>\n </ng-template>\n\n <ng-template ngSwitchCase="textarea">\n <ng-template [ngTemplateOutlet]="label"></ng-template>\n <textarea\n #field\n [id]="prop.id"\n [formControlName]="prop.name"\n [abpDisabled]="disabled"\n [readonly]="readonly"\n class="form-control"\n ></textarea>\n </ng-template>\n</div>\n\n<ng-template #label let-classes>\n <label [htmlFor]="prop.id" [ngClass]="classes"\n >{{ prop.displayName | abpLocalization }} {{ asterisk }}</label\n >\n</ng-template>\n',changeDetection:e.ChangeDetectionStrategy.OnPush,viewProviders:[{provide:o.ControlContainer,useFactory:E,deps:[[new e.Optional,new e.SkipSelf,o.ControlContainer]]},{provide:r.NgbDateAdapter,useClass:x},{provide:r.NgbTimeAdapter,useClass:T}]}]}],S.ctorParameters=function(){return[{type:e.ChangeDetectorRef},{type:a.TrackByService},{type:a.ConfigStateService},{type:o.FormGroupDirective}]},S.propDecorators={data:[{type:e.Input}],prop:[{type:e.Input}],first:[{type:e.Input}],fieldRef:[{type:e.ViewChild,args:["field"]}]};var F=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e}(p.LinkedList),L=function(){function t(){}return Object.defineProperty(t.prototype,"data",{get:function(){return{getInjected:this.getInjected,index:this.index,record:this.record}},enumerable:!1,configurable:!0}),t}(),_=function(t,e,n){void 0===e&&(e=function(t){return!0}),void 0===n&&(n=function(t){}),this.permission=t,this.visible=e,this.action=n},M=function(){function t(){this.contributorCallbacks={}}return t.prototype.get=function(t){return this.contributorCallbacks[t]=this.contributorCallbacks[t]||[],new this._ctor(this.contributorCallbacks[t])},t}(),V=function(){function t(t){this.callbackList=t}return Object.defineProperty(t.prototype,"actions",{get:function(){var t=new this._ctor;return this.callbackList.forEach((function(e){return e(t)})),t},enumerable:!1,configurable:!0}),t.prototype.addContributor=function(t){this.callbackList.push(t)},t.prototype.clearContributors=function(){for(;this.callbackList.length;)this.callbackList.pop()},t}(),R=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e}(F),B=function(t){function e(){var e=t.apply(this,C(arguments))||this;return e._ctor=R,e}return y(e,t),e}(V),z=function(t){function e(){var e=t.apply(this,C(arguments))||this;return e._ctor=B,e}return y(e,t),e}(M),W=function(t){function e(e){var n=t.call(this,e.permission,e.visible,e.action)||this;return n.text=e.text,n.icon=e.icon||"",n}return y(e,t),e.create=function(t){return new e(t)},e.createMany=function(t){return t.map(e.create)},e}(_),q=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e}(p.LinkedList),$=function(){function t(){}return Object.defineProperty(t.prototype,"data",{get:function(){return{getInjected:this.getInjected,index:this.index,record:this.record}},enumerable:!1,configurable:!0}),t}(),X=function(t,e,n,r,o,a){void 0===o&&(o=function(t){return!0}),void 0===a&&(a=!1),this.type=t,this.name=e,this.displayName=n,this.permission=r,this.visible=o,this.isExtra=a,this.displayName=this.displayName||this.name},G=function(){function t(){this.contributorCallbacks={}}return t.prototype.get=function(t){return this.contributorCallbacks[t]=this.contributorCallbacks[t]||[],new this._ctor(this.contributorCallbacks[t])},t}(),H=function(){function t(t){this.callbackList=t}return Object.defineProperty(t.prototype,"props",{get:function(){var t=new this._ctor;return this.callbackList.forEach((function(e){return e(t)})),t},enumerable:!1,configurable:!0}),t.prototype.addContributor=function(t){this.callbackList.push(t)},t.prototype.clearContributors=function(){for(;this.callbackList.length;)this.callbackList.pop()},t}(),U=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e}(q),Y=function(t){function e(){var e=t.apply(this,C(arguments))||this;return e._ctor=U,e}return y(e,t),e}(H),K=function(t){function e(){var e=t.apply(this,C(arguments))||this;return e._ctor=Y,e}return y(e,t),e}(G),J=function(t){function e(e){var n=t.call(this,e.type,e.name,e.displayName,e.permission,e.visible,e.isExtra)||this;return n.columnWidth=e.columnWidth,n.sortable=e.sortable||!1,n.valueResolver=e.valueResolver||function(t){return i.of(t.record[n.name])},n.action=e.action,n}return y(e,t),e.create=function(t){return new e(t)},e.createMany=function(t){return t.map(e.create)},e}(X),Q=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e}(q),Z=function(t){function e(){var e=t.apply(this,C(arguments))||this;return e._ctor=Q,e}return y(e,t),e}(H),tt=function(t){function e(){var e=t.apply(this,C(arguments))||this;return e._ctor=Z,e}return y(e,t),e}(G),et=function(t){function e(){var e=t.apply(this,C(arguments))||this;return e._ctor=Z,e}return y(e,t),e}(G),nt=function(t){function e(e){var n=t.call(this,e.type,e.name,e.displayName,e.permission,e.visible,e.isExtra)||this;n.asyncValidators=e.asyncValidators||function(t){return[]},n.validators=e.validators||function(t){return[]},n.disabled=e.disabled||function(t){return!1},n.readonly=e.readonly||function(t){return!1},n.autocomplete=e.autocomplete||"off",n.options=e.options,n.id=e.id||e.name;var r=e.defaultValue;return n.defaultValue=function(t){return[0,"",!1].indexOf(t)>-1}(r)?r:r||null,n}return y(e,t),e.create=function(t){return new e(t)},e.createMany=function(t){return t.map(e.create)},e}(X),rt=function(t){function e(e,n){var r=t.call(this)||this;return r.record=n,r.getInjected=e.get.bind(e),r}return y(e,t),e}($);var ot=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e}(F),at=function(t){function e(){var e=t.apply(this,C(arguments))||this;return e._ctor=ot,e}return y(e,t),e}(V),it=function(t){function e(){var e=t.apply(this,C(arguments))||this;return e._ctor=at,e}return y(e,t),e}(M),ct=function(t){function e(e){var n=t.call(this,e.permission,e.visible,e.action)||this;return n.text=e.text,n.icon=e.icon||"",n}return y(e,t),e.create=function(t){return new e(t)},e.createMany=function(t){return t.map(e.create)},e}(_),st=function(t){function e(e){var n=t.call(this,e.permission,e.visible,e.action)||this;return n.component=e.component,n}return y(e,t),e.create=function(t){return new e(t)},e.createMany=function(t){return t.map(e.create)},e}(_),pt=function(){this.entityActions=new z,this.toolbarActions=new it,this.entityProps=new K,this.createFormProps=new tt,this.editFormProps=new et};pt.ɵprov=m.ɵɵdefineInjectable({factory:function(){return new pt},token:pt,providedIn:"root"}),pt.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}];var lt=new e.InjectionToken("EXTENSIONS_IDENTIFIER"),ut=new e.InjectionToken("EXTENSIONS_ACTION_TYPE"),dt=new e.InjectionToken("EXTENSIONS_ACTION_DATA"),ft=new e.InjectionToken("EXTENSIONS_ACTION_DATA"),mt=k,gt=function(){function t(t,e,n,r,o){this.cdRef=t,this.track=e,this.container=n,this.extensions=r,this.identifier=o,this.extraPropertiesKey=w}return Object.defineProperty(t.prototype,"selectedRecord",{set:function(t){var e=t&&"{}"!==JSON.stringify(t)?"edit":"create";this.propList=this.extensions[e+"FormProps"].get(this.identifier).props,this.record=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"form",{get:function(){return this.container?this.container.control:{controls:{}}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"extraProperties",{get:function(){return this.form.controls.extraProperties||{controls:{}}},enumerable:!1,configurable:!0}),t}();gt.decorators=[{type:e.Component,args:[{exportAs:"abpExtensibleForm",selector:"abp-extensible-form",template:'<ng-container *ngIf="form">\n <ng-container *abpPropData="let data; fromList: propList; withRecord: record">\n <ng-container *ngFor="let prop of propList; let first = first; trackBy: track.by(\'name\')">\n <ng-container *ngIf="prop.visible(data)">\n <ng-container\n [formGroupName]="extraPropertiesKey"\n *ngIf="extraProperties.controls[prop.name]; else tempDefault"\n >\n <abp-extensible-form-prop [prop]="prop" [data]="data"></abp-extensible-form-prop>\n </ng-container>\n\n <ng-template #tempDefault>\n <abp-extensible-form-prop\n *ngIf="form.get(prop.name)"\n [prop]="prop"\n [data]="data"\n [first]="first"\n ></abp-extensible-form-prop>\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n',changeDetection:e.ChangeDetectionStrategy.OnPush,viewProviders:[{provide:o.ControlContainer,useFactory:mt,deps:[[new e.Optional,new e.SkipSelf,o.ControlContainer]]}]}]}],gt.ctorParameters=function(){return[{type:e.ChangeDetectorRef},{type:a.TrackByService},{type:o.ControlContainer},{type:pt},{type:String,decorators:[{type:e.Inject,args:[lt]}]}]},gt.propDecorators={formProps:[{type:e.ViewChildren,args:[S]}],selectedRecord:[{type:e.Input}]};var ht=function(){function t(t,e,n){this.locale=t,this.config=e,this.trackByFn=function(t,e){return e.name},this.getInjected=n.get.bind(n);var r=n.get(pt),o=n.get(lt);this.propList=r.entityProps.get(o).props,this.actionList=r.entityActions.get(o).actions;var i=n.get(a.PermissionService);this.hasAtLeastOnePermittedAction=i.filterItemsByPolicy(this.actionList.toArray().map((function(t){return{requiredPolicy:t.permission}}))).length>0,this.setColumnWidths(150)}return Object.defineProperty(t.prototype,"actionsText",{get:function(){var t;return null!==(t=this._actionsText)&&void 0!==t?t:this.actionList.length>1?"AbpUi::Actions":""},set:function(t){this._actionsText=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"actionsColumnWidth",{set:function(t){this.setColumnWidths(t?Number(t):void 0)},enumerable:!1,configurable:!0}),t.prototype.setColumnWidths=function(t){var e=[t];this.propList.forEach((function(t){var n=t.value;e.push(n.columnWidth)})),this.columnWidths=e},t.prototype.getDate=function(t,e){return t?n.formatDate(t,e,this.locale):""},t.prototype.getIcon=function(t){return t?'<div class="text-center text-success"><i class="fa fa-check"></i></div>':'<div class="text-center text-danger"><i class="fa fa-times"></i></div>'},t.prototype.getContent=function(t,e){var n=this;return t.valueResolver(e).pipe(c.map((function(e){switch(t.type){case"boolean":return n.getIcon(e);case"date":return n.getDate(e,a.getShortDateFormat(n.config));case"time":return n.getDate(e,a.getShortTimeFormat(n.config));case"dateTime":return n.getDate(e,a.getShortDateShortTimeFormat(n.config));default:return e}})))},t.prototype.ngOnChanges=function(t){var e=this,n=t.data;(null==n?void 0:n.currentValue)&&(this.data=n.currentValue.map((function(t,n){return e.propList.forEach((function(r){var o={getInjected:e.getInjected,record:t,index:n};t["_"+r.value.name]={visible:r.value.visible(o),value:e.getContent(r.value,o)}})),t})))},t}();ht.decorators=[{type:e.Component,args:[{exportAs:"abpExtensibleTable",selector:"abp-extensible-table",template:'<ngx-datatable default [rows]="data" [count]="recordsTotal" [list]="list">\n <ngx-datatable-column\n *ngIf="actionsTemplate || (actionList.length && hasAtLeastOnePermittedAction)"\n [name]="actionsText | abpLocalization"\n [maxWidth]="columnWidths[0]"\n [width]="columnWidths[0]"\n [sortable]="false"\n >\n <ng-template let-row="row" let-i="rowIndex" ngx-datatable-cell-template>\n <ng-container\n *ngTemplateOutlet="actionsTemplate || gridActions; context: { $implicit: row, index: i }"\n ></ng-container>\n <ng-template #gridActions>\n <abp-grid-actions [index]="i" [record]="row" text="AbpUi::Actions"></abp-grid-actions>\n </ng-template>\n </ng-template>\n </ngx-datatable-column>\n\n <ng-container *ngFor="let prop of propList; let i = index; trackBy: trackByFn">\n <ngx-datatable-column\n [width]="columnWidths[i + 1] || 200"\n [name]="prop.displayName | abpLocalization"\n [prop]="prop.name"\n [sortable]="prop.sortable"\n >\n <ng-template let-row="row" let-i="index" ngx-datatable-cell-template>\n <ng-container *abpPermission="prop.permission">\n <div\n *ngIf="row[\'_\' + prop.name]?.visible"\n [innerHTML]="row[\'_\' + prop.name]?.value | async"\n (click)="\n prop.action && prop.action({ getInjected: getInjected, record: row, index: i })\n "\n [class.pointer]="prop.action"\n ></div>\n </ng-container>\n </ng-template>\n </ngx-datatable-column>\n </ng-container>\n</ngx-datatable>\n',changeDetection:e.ChangeDetectionStrategy.OnPush}]}],ht.ctorParameters=function(){return[{type:String,decorators:[{type:e.Inject,args:[e.LOCALE_ID]}]},{type:a.ConfigStateService},{type:e.Injector}]},ht.propDecorators={actionsText:[{type:e.Input}],data:[{type:e.Input}],list:[{type:e.Input}],recordsTotal:[{type:e.Input}],actionsColumnWidth:[{type:e.Input}],actionsTemplate:[{type:e.Input}]};var bt=function(t){function e(e){var n=t.call(this)||this;n.getInjected=e.get.bind(e);var r=e.get(pt),o=e.get(lt),a=e.get(ut);return n.actionList=r[a].get(o).actions,n}return y(e,t),e}(L);bt.decorators=[{type:e.Directive}],bt.ctorParameters=function(){return[{type:e.Injector}]},bt.propDecorators={record:[{type:e.Input}]};var yt=function(t){function e(e){var n=t.call(this,e)||this;return n.icon="fa fa-cog",n.text="",n.trackByFn=function(t,e){return e.text},n}return y(e,t),e}(bt);yt.decorators=[{type:e.Component,args:[{exportAs:"abpGridActions",selector:"abp-grid-actions",template:'<div *ngIf="actionList.length > 1" ngbDropdown container="body" class="d-inline-block">\n <button\n class="btn btn-primary btn-sm dropdown-toggle"\n data-toggle="dropdown"\n aria-haspopup="true"\n ngbDropdownToggle\n >\n <i [ngClass]="icon" [class.mr-1]="icon"></i>{{ text | abpLocalization }}\n </button>\n <div ngbDropdownMenu>\n <ng-container\n *ngFor="let action of actionList; trackBy: trackByFn"\n [ngTemplateOutlet]="btnItem"\n [ngTemplateOutletContext]="{ $implicit: action }"\n >\n </ng-container>\n </div>\n</div>\n\n<ng-container\n *ngIf="actionList.length === 1"\n [ngTemplateOutlet]="btnItem"\n [ngTemplateOutletContext]="{ $implicit: actionList.get(0).value }"\n></ng-container>\n\n<ng-template #btnItem let-action>\n <ng-container *ngIf="action.visible(data)">\n <button\n ngbDropdownItem\n *abpPermission="action.permission"\n (click)="action.action(data)"\n type="button"\n class="{{ actionList.length === 1 ? \'btn btn-primary\' : \'\' }}"\n [class.text-center]="actionList.length === 1"\n >\n <i [ngClass]="action.icon" [class.mr-1]="action.icon"></i>\n <span *ngIf="action.icon; else ellipsis">{{ action.text | abpLocalization }}</span>\n <ng-template #ellipsis>\n <div abpEllipsis>{{ action.text | abpLocalization }}</div>\n </ng-template>\n </button>\n </ng-container>\n</ng-template>\n',providers:[{provide:ut,useValue:"entityActions"}],changeDetection:e.ChangeDetectionStrategy.OnPush}]}],yt.ctorParameters=function(){return[{type:e.Injector}]},yt.propDecorators={icon:[{type:e.Input}],index:[{type:e.Input}],text:[{type:e.Input}]};var vt=function(t){function e(e){var n=t.call(this,e)||this;return n.injector=e,n.trackByFn=function(t,e){return e.action||e.component},n}return y(e,t),e.prototype.createInjector=function(t){var e=this;return{get:function(n,r,o){return n===dt?e.data:n===ft?function(n){return void 0===n&&(n=e.data),t.action(n)}:e.getInjected.call(e.injector,n,r,o)}}},e}(bt);vt.decorators=[{type:e.Component,args:[{exportAs:"abpPageToolbar",selector:"abp-page-toolbar",template:'<div class="row justify-content-end mx-n1" id="AbpContentToolbar">\n <div class="col-auto px-1 pt-0 pt-md-2" *ngFor="let action of actionList; trackBy: trackByFn">\n <ng-container *ngIf="action.visible(data)">\n <ng-container *abpPermission="action.permission">\n <ng-container *ngIf="action.component as component; else button">\n <ng-container\n *ngComponentOutlet="component; injector: createInjector(action)"\n ></ng-container>\n </ng-container>\n\n <ng-template #button>\n <button (click)="action.action(data)" type="button" class="btn btn-primary btn-sm">\n <i [ngClass]="action.icon" [class.mr-1]="action.icon"></i>\n {{ action.text | abpLocalization }}\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n </div>\n</div>\n',providers:[{provide:ut,useValue:"toolbarActions"}],changeDetection:e.ChangeDetectionStrategy.OnPush}]}],vt.ctorParameters=function(){return[{type:e.Injector}]};var Ct=function(){function t(t){this.ngControl=t}return t.prototype.ngOnChanges=function(t){var e=t.abpDisabled;this.ngControl.control&&e&&this.ngControl.control[e.currentValue?"disable":"enable"]()},t}();Ct.decorators=[{type:e.Directive,args:[{selector:"[abpDisabled]"}]}],Ct.ctorParameters=function(){return[{type:o.NgControl,decorators:[{type:e.Host}]}]},Ct.propDecorators={abpDisabled:[{type:e.Input}]};var xt=function(t){function e(e,n,r){var o=t.call(this)||this;return o.tempRef=e,o.vcRef=n,o.getInjected=r.get.bind(r),o}return y(e,t),e.prototype.ngOnChanges=function(){this.vcRef.clear(),this.vcRef.createEmbeddedView(this.tempRef,{$implicit:this.data,index:0})},e.prototype.ngOnDestroy=function(){this.vcRef.clear()},e}($);xt.decorators=[{type:e.Directive,args:[{exportAs:"abpPropData",selector:"[abpPropData]"}]}],xt.ctorParameters=function(){return[{type:e.TemplateRef},{type:e.ViewContainerRef},{type:e.Injector}]},xt.propDecorators={propList:[{type:e.Input,args:["abpPropDataFromList"]}],record:[{type:e.Input,args:["abpPropDataWithRecord"]}],index:[{type:e.Input,args:["abpPropDataAtIndex"]}]};var Tt=Object.freeze({__proto__:null}),kt=function(){};kt.decorators=[{type:e.NgModule,args:[{exports:[I,vt,yt,gt,ht,xt,Ct],declarations:[I,vt,yt,S,gt,ht,xt,Ct],imports:[a.CoreModule,l.ThemeSharedModule,u.NgxValidateCoreModule,r.NgbDatepickerModule,r.NgbDropdownModule,r.NgbTimepickerModule,r.NgbTypeaheadModule]}]}];var Dt=function(){};function It(t){return function(e){return i.of(e.record.extraProperties[t])}}function wt(t,e){return i.merge(i.of(null),t.languageChange$).pipe(c.map((function(){return e})))}function Pt(t,e,n){var r=n.localizationResource,o=function(t){return t.split(".").pop()}(e);return function(e){return t.localizeWithFallbackSync([r],["Enum:"+o+"."+e,o+"."+e,e],e)}}function Ot(t){return t.getOne$("objectExtensions")}Dt.decorators=[{type:e.NgModule,args:[{exports:[kt],imports:[kt]}]}],t.ActionList=F,t.BaseUiExtensionsModule=kt,t.CreateFormPropsFactory=tt,t.DateAdapter=x,t.DateTimeAdapter=h,t.DateTimePickerComponent=I,t.DisabledDirective=Ct,t.EXTENSIONS_ACTION_CALLBACK=ft,t.EXTENSIONS_ACTION_DATA=dt,t.EXTENSIONS_ACTION_TYPE=ut,t.EXTENSIONS_IDENTIFIER=lt,t.EXTRA_PROPERTIES_KEY=w,t.EditFormPropsFactory=et,t.EntityAction=W,t.EntityActionList=R,t.EntityActions=B,t.EntityActionsFactory=z,t.EntityProp=J,t.EntityPropList=U,t.EntityProps=Y,t.EntityPropsFactory=K,t.ExtensibleFormComponent=gt,t.ExtensibleFormPropComponent=S,t.ExtensibleTableComponent=ht,t.ExtensionsService=pt,t.FormProp=nt,t.FormPropData=rt,t.FormPropList=Q,t.FormProps=Z,t.GridActionsComponent=yt,t.ObjectExtensions=Tt,t.PageToolbarComponent=vt,t.PropDataDirective=xt,t.PropList=q,t.TimeAdapter=T,t.ToolbarAction=ct,t.ToolbarActionList=ot,t.ToolbarActions=at,t.ToolbarActionsFactory=it,t.ToolbarComponent=st,t.UiExtensionsModule=Dt,t.createExtraPropertyValueResolver=It,t.generateFormFromProps=function(t){var e=t.getInjected(pt),n=t.getInjected(lt),r=new o.FormGroup({}),a=new o.FormGroup({});r.addControl(w,a);var i=t.record||{},c=e[("{}"===JSON.stringify(i)?"create":"edit")+"FormProps"].get(n).props,s=i.extraProperties||{};return c.forEach((function(e){var n=e.value,c=n.name,p=n.isExtra||c in s,l=p?s[c]:c in i?i[c]:void 0;if(void 0===l&&(l=n.defaultValue),l){var u=void 0;switch(n.type){case"date":l=(u=new x).toModel(u.fromModel(l));break;case"time":l=(u=new T).toModel(u.fromModel(l));break;case"dateTime":l=(u=new h).toModel(u.fromModel(l))}}var d=new o.FormControl(l,{asyncValidators:n.asyncValidators(t),validators:n.validators(t)});(p?a:r).addControl(c,d)})),r},t.getObjectExtensionEntitiesFromStore=function(t,e){return Ot(t).pipe(c.map((function(t){return t?(t.modules[e]||{}).entities:null})),c.map((function(t){return void 0===t?{}:t})),c.filter(Boolean),c.take(1))},t.mapEntitiesToContributors=function(t,e){return i.pipe(c.switchMap((function(n){return i.zip(function(t){return t.getOne$("localization")}(t),function(t){return Ot(t).pipe(c.map((function(t){return Object.keys(t.enums).reduce((function(e,n){var r,o,a=t.enums[n],i=a.fields,c=a.localizationResource;return e[n]={fields:i,localizationResource:c,transformed:(r=i,o={},r.forEach((function(t){var e=t.name,n=t.value;o[o[e]=n]=e})),o)},e}),{})})))}(t)).pipe(c.map((function(t){var r=v(t,2),o=r[0],s=r[1],p=function(t){var e=a.createLocalizationPipeKeyGenerator(t);return function(t,n){return t&&t.name?e([t.resource],[t.name],t.name):e([n.resource],["DisplayName:"+n.name],void 0)||e([n.resource],[n.name],n.name)}}(o);return Object.keys(n).reduce((function(t,r){t.prop[r]=[],t.createForm[r]=[],t.editForm[r]=[];var o=n[r];if(!o)return t;var l=o.properties;return l?function(t,e,n){return function(r,o,s){var p=!0,l=j(t,r);return Object.keys(r).forEach((function(u){var d=r[u],f=u,m=d.ui.lookup||{},g=function(t,e){return Boolean(t.url)?"typeahead":e.endsWith(P)?"hidden":void 0}(m,u)||function(t){return t.typeSimple.replace(/\?$/,"")}(d),h=(function(t){return O.test(t)}(u)?l:t)(d.displayName,{name:u,resource:e});if(d.ui.onTable.isVisible){var b=Boolean(d.ui.onTable.isSortable),y="boolean"===g?150:250,v="enum"===g?function(t,e,n){return function(r){var o=r.record.extraProperties[n],i=e.transformed[o],c=r.getInjected(a.LocalizationService);return wt(c,Pt(c,t,e)(i))}}(d.type,n[d.type],f):It(f),C=new J({type:g,name:f,displayName:h,sortable:b,columnWidth:y,valueResolver:v,isExtra:p}),x=function(t){return t.addTail(C)};o.prop[s].push(x)}var T,k,D=d.ui.onCreateForm.isVisible,I=d.ui.onEditForm.isVisible;if(D||I){var w=d.defaultValue,j=function(){return function(t){var e=[];return t.attributes.forEach((function(t){t.typeSimple in a.AbpValidators&&e.push(a.AbpValidators[t.typeSimple](t.config))})),e}(d)},N=void 0;"enum"===g?(T=f,k=n[d.type],N=function(t){var e=t.getInjected(a.LocalizationService),n=Pt(e,T,k);return wt(e,k.fields.map((function(t){var e=t.name,r=t.value;return{key:n(e),value:r}})))}):"typeahead"===g&&(N=function(t){return function(e,n){var r;return n?e.getInjected(a.RestService).request({method:"GET",url:t.url,params:(r={},r[t.filterParamName]=n,r)},{apiName:"Default"}).pipe(c.map((function(e){return e[t.resultListPropertyName].map((function(e){return{key:e[t.displayPropertyName],value:e[t.valuePropertyName]}}))}))):i.of([])}}(m));var E=new nt({type:g,name:f,displayName:h,options:N,defaultValue:w,validators:j,isExtra:p}),S=function(t){return t.addTail(E)};D&&o.createForm[s].push(S),I&&o.editForm[s].push(S)}})),o}}(p,e,s)(l,t,r):t}),{prop:{},createForm:{},editForm:{}})})))})),c.take(1))},t.mergeWithDefaultActions=function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];Object.keys(e).forEach((function(r){var o=t.get(r);o.clearContributors(),o.addContributor((function(t){return t.addManyTail(e[r])})),n.forEach((function(t){return(t[r]||[]).forEach((function(t){return o.addContributor(t)}))}))}))},t.mergeWithDefaultProps=function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];Object.keys(e).forEach((function(r){var o=t.get(r);o.clearContributors(),o.addContributor((function(t){return t.addManyTail(e[r])})),n.forEach((function(t){return(t[r]||[]).forEach((function(t){return o.addContributor(t)}))}))}))},t.ɵa=L,t.ɵb=_,t.ɵc=M,t.ɵd=V,t.ɵe=$,t.ɵf=X,t.ɵg=G,t.ɵh=H,t.ɵi=k,t.ɵj=bt,Object.defineProperty(t,"__esModule",{value:!0})}));
17
17
  //# sourceMappingURL=abp-ng.theme.shared-extensions.umd.min.js.map