ngx-nebular-formly
Version:
Ngx Formly integration for Nebular UI
16 lines (14 loc) • 18.2 kB
JavaScript
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("@ngx-formly/core"),require("@nebular/theme"),require("@ngx-formly/core/select"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("ngx-nebular-formly",["exports","@angular/core","@angular/common","@angular/forms","@ngx-formly/core","@nebular/theme","@ngx-formly/core/select","rxjs","rxjs/operators"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self)["ngx-nebular-formly"]={},e.ng.core,e.ng.common,e.ng.forms,e["@ngx-formly/core"],e["@nebular/theme"],e["@ngx-formly/core/select"],e.rxjs,e.rxjs.operators)}(this,(function(e,n,t,o,r,l,a,i,p){"use strict";
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */var s=function(e,n){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])})(e,n)};function u(e,n){function t(){this.constructor=e}s(e,n),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}Object.create;function d(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var o,r,l=t.call(e),a=[];try{for(;(void 0===n||n-- >0)&&!(o=l.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(t=l.return)&&t.call(l)}finally{if(r)throw r.error}}return a}function c(){for(var e=[],n=0;n<arguments.length;n++)e=e.concat(d(arguments[n]));return e}Object.create;var m=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return u(n,e),n}(r.FieldWrapper);m.decorators=[{type:n.Component,args:[{selector:"nbf-nebular-formly-wrapper-form-field",template:'\n <div class="form-group">\n <label *ngIf="to.label && to.hideLabel !== true" [attr.for]="id">\n {{ to.label }}\n <span\n *ngIf="to.required && to.hideRequiredMarker !== true"\n [style.color]="\'red\'"\n >*</span\n >\n </label>\n <ng-template #fieldComponent></ng-template>\n <div *ngIf="showError" class="invalid-feedback" [style.display]="\'block\'">\n <formly-validation-message [field]="field"></formly-validation-message>\n </div>\n <small *ngIf="to.description" class="form-text text-muted">{{\n to.description\n }}</small>\n </div>\n ',changeDetection:n.ChangeDetectionStrategy.OnPush,styles:["\n .form-group {\n display: flex;\n flex-flow: column wrap;\n margin-bottom: 20px;\n }\n .required {\n color: red;\n }\n\n .invalid-feedback {\n color: red;\n font-size: 0.7rem;\n }\n "]}]}];var f=function(){};f.decorators=[{type:n.NgModule,args:[{declarations:[m],imports:[t.CommonModule,o.ReactiveFormsModule,r.FormlyModule.forChild({wrappers:[{name:"form-field",component:m}]})]}]}];var g=function(e){function n(){var n=e.apply(this,c(arguments))||this;return n.defaultOptions={templateOptions:{disabled:!1,indeterminate:!0}},n}return u(n,e),Object.defineProperty(n.prototype,"checkboxMessage",{get:function(){return this.to.checkboxMessage},enumerable:!1,configurable:!0}),n}(r.FieldType);g.decorators=[{type:n.Component,args:[{selector:"nbf-checkbox",template:'\n <nb-checkbox\n [formControl]="formControl"\n [disabled]="to.disabled"\n [indeterminate]="to.indeterminate && formControl.value == null"\n [status]="to.status || \'info\'"\n >\n {{ checkboxMessage }}\n <span\n class="required"\n *ngIf="to.required && to.hideRequiredMarker !== true"\n >*</span\n >\n </nb-checkbox>\n ',changeDetection:n.ChangeDetectionStrategy.OnPush}]}];var b,y=function(){};y.decorators=[{type:n.NgModule,args:[{declarations:[g],imports:[t.CommonModule,o.ReactiveFormsModule,l.NbCheckboxModule,f,r.FormlyModule.forChild({types:[{name:"checkbox",component:g,wrappers:["form-field"]},{name:"boolean",extends:"checkbox"}]})]}]}],(b=e.DatePickers||(e.DatePickers={}))[b.RANGE_PICKER=0]="RANGE_PICKER",b[b.DATE_PICKER=1]="DATE_PICKER",b[b.DATE_TIME_PICKER=2]="DATE_TIME_PICKER";var h=function(n){function t(){var t=n.apply(this,c(arguments))||this;return t.DatePickers=e.DatePickers,t}return u(t,n),t.prototype.onDateChange=function(e){if(this.to.dateChange)return this.to.dateChange(this.field,e)},t}(r.FieldType);h.decorators=[{type:n.Component,args:[{changeDetection:n.ChangeDetectionStrategy.OnPush,template:'\n <ng-container [ngSwitch]="to.pickerType">\n <ng-container *ngSwitchCase="DatePickers.DATE_PICKER">\n <input\n nbInput\n [nbDatepicker]="datepicker"\n [id]="id"\n [formControl]="formControl"\n [placeholder]="to.placeholder"\n [required]="to.required"\n [formlyAttributes]="field"\n />\n <nb-datepicker\n #datepicker\n [format]="to.format"\n [max]="to.max"\n [min]="to.min"\n (dateChange)="onDateChange($event)"\n ></nb-datepicker>\n </ng-container>\n <ng-container *ngSwitchCase="DatePickers.DATE_TIME_PICKER">\n <input\n nbInput\n [id]="id"\n [formControl]="formControl"\n [placeholder]="to.placeholder"\n [required]="to.required"\n [formlyAttributes]="field"\n [nbDatepicker]="dateTimePicker"\n />\n <nb-date-timepicker\n withSeconds\n [format]="to.format"\n #dateTimePicker\n [max]="to.max"\n [min]="to.min"\n [singleColumn]="to.singleColumn || true"\n [step]="to.step || 5"\n ></nb-date-timepicker>\n </ng-container>\n <ng-container *ngSwitchCase="DatePickers.RANGE_PICKER">\n <input\n nbInput\n [nbDatepicker]="datepicker"\n [id]="id"\n [formControl]="formControl"\n [placeholder]="to.placeholder"\n [required]="to.required"\n [formlyAttributes]="field"\n />\n <nb-rangepicker\n [format]="to.format"\n [max]="to.max"\n [min]="to.min"\n #datepicker\n (dateChange)="onDateChange($event)"\n ></nb-rangepicker>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <input\n nbInput\n [nbDatepicker]="datepicker"\n [id]="id"\n [formControl]="formControl"\n [placeholder]="to.placeholder"\n [required]="to.required"\n [formlyAttributes]="field"\n />\n <nb-datepicker\n #datepicker\n [format]="to.format"\n [max]="to.max"\n [min]="to.min"\n (dateChange)="onDateChange($event)"\n ></nb-datepicker>\n </ng-container>\n </ng-container>\n ',selector:"nbf-nebular-formly-date-picker"}]}];var C=function(){};C.decorators=[{type:n.NgModule,args:[{declarations:[h],imports:[t.CommonModule,l.NbDatepickerModule.forRoot(),l.NbTimepickerModule.forRoot(),l.NbInputModule,o.ReactiveFormsModule,f,r.FormlyModule.forChild({types:[{name:"datepicker",component:h,wrappers:["form-field"]}]})]}]}];var v=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return u(n,e),Object.defineProperty(n.prototype,"type",{get:function(){return this.to.type||"text"},enumerable:!1,configurable:!0}),n.prototype.ngOnInit=function(){console.log(this.to)},n}(r.FieldType);v.decorators=[{type:n.Component,args:[{selector:"nbf-nebular-formly-input",template:'\n <input\n nbInput\n *ngIf="type !== \'number\'; else numbTemplate"\n [type]="type"\n [formControl]="formControl"\n [fullWidth]="to.fullWidth || false"\n [formlyAttributes]="field"\n type="text"\n [status]="showError ? \'danger\' : \'info\'"\n [placeholder]="to.placeholder"\n />\n <ng-template #numbTemplate>\n <input\n nbInput\n type="text"\n [formControl]="formControl"\n [formlyAttributes]="field"\n [fullWidth]="to.fullWidth || false"\n type="text"\n [status]="showError ? \'danger\' : \'info\'"\n [placeholder]="to.placeholder"\n />\n </ng-template>\n ',changeDetection:n.ChangeDetectionStrategy.OnPush}]}];var M=function(){};M.decorators=[{type:n.NgModule,args:[{declarations:[v],exports:[v],imports:[t.CommonModule,l.NbInputModule,o.ReactiveFormsModule,f,r.FormlyModule.forChild({types:[{component:v,name:"input",wrappers:["form-field"]},{extends:"input",name:"string"},{defaultOptions:{templateOptions:{type:"number"}},extends:"input",name:"number"},{defaultOptions:{templateOptions:{type:"number"}},name:"integer",extends:"input"}]})]}]}];var x=function(e){function n(){var n=e.apply(this,c(arguments))||this;return n.defaultOptions={templateOptions:{disabled:!1,options:[],status:"info"}},n}return u(n,e),n}(r.FieldType);x.decorators=[{type:n.Component,args:[{changeDetection:n.ChangeDetectionStrategy.OnPush,selector:"nbf-nebular-formly-radio",template:'\n <ng-container *ngIf="to.disabled; else elseTemplate">\n <nb-radio-group\n [formControl]="formControl"\n [name]="to.name"\n [formlyAttributes]="field"\n [required]="to.required"\n [disabled]="to.disabled"\n [status]="to.status"\n [ngClass]="{\n \'row\': to.arrange === \'row\'\n }"\n >\n <nb-radio\n *ngFor="\n let option of to.options | formlySelectOptions: field | async;\n let i = index\n "\n [id]="id + \'_\' + i"\n [value]="option.value"\n >\n {{ option.label }}\n </nb-radio>\n </nb-radio-group>\n </ng-container>\n <ng-template #elseTemplate>\n <nb-radio-group\n [formControl]="formControl"\n [name]="to.name"\n [formlyAttributes]="field"\n [required]="to.required"\n [status]="to.status"\n [ngClass]="{\n \'row\': to.arrange === \'row\'\n }"\n >\n <nb-radio\n *ngFor="\n let option of to.options | formlySelectOptions: field | async;\n let i = index\n "\n [id]="id + \'_\' + i"\n [value]="option.value"\n [disabled]="option.disabled"\n >\n {{ option.label }}\n </nb-radio>\n </nb-radio-group>\n </ng-template>\n ',styles:[".row { display: flex; flex-flow: row wrap; }"]}]}];var k=function(){};k.decorators=[{type:n.NgModule,args:[{declarations:[x],imports:[o.ReactiveFormsModule,f,t.CommonModule,a.FormlySelectModule,l.NbRadioModule,r.FormlyModule.forChild({types:[{name:"radio",component:x,wrappers:["form-field"]}]})]}]}];var P=function(){function e(){}return e.prototype.transform=function(e,n){var t=this;return e instanceof i.Observable||(e=i.of(e)),e.pipe(p.map((function(e){return t.transformOptions(e,n)})))},e.prototype.transformOptions=function(e,n){var t=this,o=this.transformSelectProps(n),r=[],l={};return console.log(e),e.forEach((function(e){var n=t.transformOption(e,o);if(n.group){var a=l[n.label];void 0===a?l[n.label]=r.push(n)-1:n.group.forEach((function(e){return r[a].group.push(e)}))}else r.push(n)})),n&&n.templateOptions&&(n.templateOptions._flatOptions=!Object.keys(l).length),r},e.prototype.transformOption=function(e,n){var t=this,o=n.groupProp(e);return Array.isArray(o)?{label:n.labelProp(e),group:o.map((function(e){return t.transformOption(e,n)}))}:(e={label:n.labelProp(e),value:n.valueProp(e),disabled:!!n.disabledProp(e)},o?{label:o,group:[e]}:e)},e.prototype.transformSelectProps=function(e){var n=e&&e.templateOptions?e.templateOptions:{},t=function(e){return"function"==typeof e?e:function(n){return n[e]}};return{groupProp:t(n.groupProp||"group"),labelProp:t(n.labelProp||"label"),valueProp:t(n.valueProp||"value"),disabledProp:t(n.disabledProp||"disabled")}},e}();P.decorators=[{type:n.Pipe,args:[{name:"formlySelectOptions"}]}];var O=function(){};O.decorators=[{type:n.NgModule,args:[{declarations:[P],exports:[P]}]}];var F=function(e){function n(){var n=e.apply(this,c(arguments))||this;return n.defaultOptions={templateOptions:{options:[],multiple:!1,isGroup:!1,status:"basic",size:"medium",filled:"false",shape:"rectangle"}},n}return u(n,e),n.prototype.onSelectedChange=function(e){this.to.selectedChange&&this.to.selectedChange(this.field,e)},n}(r.FieldType);F.decorators=[{type:n.Component,args:[{changeDetection:n.ChangeDetectionStrategy.OnPush,selector:"nbf-nebular-formly-select",template:'\n <nb-select\n *ngIf="to.groupProp; else noGroup"\n [formControl]="formControl"\n [multiple]="to.multiple"\n [id]="id"\n [formlyAttributes]="field"\n [placeholder]="to.placeholder"\n [required]="to.required"\n (selectedChange)="onSelectedChange($event)"\n [disabled]="to.disabled"\n [status]="to.status"\n [size]="to.size"\n [filled]="to.filled"\n [shape]="to.shape"\n >\n <nb-option-group\n *ngFor="let option of to.options | formlySelectOptions: field | async"\n [title]="option.label"\n >\n <nb-option\n *ngFor="let opt of option.group"\n [value]="opt.value"\n [disabled]="opt.disabled"\n >\n {{ opt.label }}\n </nb-option>\n </nb-option-group>\n </nb-select>\n\n <ng-template #noGroup>\n <nb-select\n [formControl]="formControl"\n [multiple]="to.multiple"\n [id]="id"\n [formlyAttributes]="field"\n [placeholder]="to.placeholder"\n [required]="to.required"\n (selectedChange)="onSelectedChange($event)"\n [disabled]="to.disabled"\n [status]="to.status"\n [size]="to.size"\n [filled]="to.filled"\n [shape]="to.shape"\n >\n <nb-option\n *ngFor="let opt of to.options | formlySelectOptions: field | async"\n [value]="opt.value"\n [disabled]="opt.disabled"\n >\n {{ opt.label }}\n </nb-option>\n </nb-select>\n </ng-template>\n '}]}];var D=function(){};D.decorators=[{type:n.NgModule,args:[{declarations:[F],imports:[t.CommonModule,l.NbSelectModule,f,o.ReactiveFormsModule,O,r.FormlyModule.forChild({types:[{name:"select",component:F,wrappers:["form-field"]}]})]}]}];var T=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return u(n,e),n}(r.FieldType);T.decorators=[{type:n.Component,args:[{changeDetection:n.ChangeDetectionStrategy.OnPush,selector:"nbf-time-picker",template:'\n <input\n nbInput\n [nbTimepicker]="timepicker"\n [formControl]="formControl"\n [required]="to.required"\n [disabled]="to.disabled"\n [placeholder]="to.placeholder"\n [formlyAttributes]="field"\n />\n <nb-timepicker\n #timepicker\n [twelveHoursFormat]="to.twelveHoursFormat"\n [singleColumn]="to.singleColumn"\n [step]="to.step"\n withSeconds\n ></nb-timepicker>\n '}]}];var w=function(){};w.decorators=[{type:n.NgModule,args:[{declarations:[T],imports:[t.CommonModule,o.ReactiveFormsModule,l.NbTimepickerModule.forRoot(),f,l.NbInputModule,r.FormlyModule.forChild({types:[{name:"timepicker",component:T,wrappers:["form-field"]}]})]}]}];var I=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return u(n,e),n}(r.FieldType);I.decorators=[{type:n.Component,args:[{selector:"nbf-nebular-formly-toggle",changeDetection:n.ChangeDetectionStrategy.OnPush,template:'\n <nb-toggle\n [formControl]="formControl"\n [required]="to.required"\n [disabled]="to.disabled"\n [status]="to.status || \'info\'"\n [labelPosition]="to.labelPosition"\n >{{ to.label }}</nb-toggle\n >\n '}]}];var q=function(){};q.decorators=[{type:n.NgModule,args:[{declarations:[I],imports:[t.CommonModule,l.NbToggleModule,o.ReactiveFormsModule,r.FormlyModule.forChild({types:[{name:"toggle",component:I}]})]}]}];var S=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return u(n,e),n}(r.FieldType);S.decorators=[{type:n.Component,args:[{selector:"nbf-nebular-formly-textarea",template:'\n <textarea\n nbInput\n [formControl]="formControl"\n [formlyAttributes]="field"\n [fullWidth]="to.fullWidth || false"\n [status]="showError ? \'danger\' : \'info\'"\n [placeholder]="to.placeholder"\n ></textarea>\n ',changeDetection:n.ChangeDetectionStrategy.OnPush}]}];var N=function(){};N.decorators=[{type:n.NgModule,args:[{declarations:[S],imports:[t.CommonModule,f,o.ReactiveFormsModule,l.NbInputModule,r.FormlyModule.forChild({types:[{name:"textarea",component:S,wrappers:["form-field"]}]})]}]}];var R=function(){};R.decorators=[{type:n.NgModule,args:[{declarations:[],imports:[M,y,f,k,D,O,C,w,q,N]}]}],e.DatePickerModule=C,e.DatePickerTypeComponent=h,e.NebularFormlyCheckboxModule=y,e.NebularFormlyFormFieldModule=f,e.NebularFormlyFormFieldWrapper=m,e.NebularFormlyInputComponent=v,e.NebularFormlyInputModule=M,e.NebularFormlyModule=R,e.RadioModule=k,e.RadioTypeComponent=x,e.SelectModule=D,e.SelectTypeComponent=F,e.TextAreaTypeComponent=S,e.TextareaModule=N,e.TimePickerTypeComponent=T,e.TimepickerModule=w,e.ToggleModule=q,e.ToggleTypeComponent=I,e.ɵa=g,e.ɵb=O,e.ɵc=P,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=ngx-nebular-formly.umd.min.js.map