UNPKG

ngx-nebular-formly

Version:

Ngx Formly integration for Nebular UI

122 lines (121 loc) 9.54 kB
import { ChangeDetectionStrategy, Component } from '@angular/core'; import { FieldType } from '@ngx-formly/core'; export class SelectTypeComponent extends FieldType { constructor() { super(...arguments); this.defaultOptions = { templateOptions: { options: [], multiple: false, isGroup: false, status: 'basic', size: 'medium', filled: 'false', shape: 'rectangle', }, }; } onSelectedChange(value) { if (this.to.selectedChange) { this.to.selectedChange(this.field, value); } } } SelectTypeComponent.decorators = [ { type: Component, args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'nbf-nebular-formly-select', template: ` <nb-select *ngIf="to.groupProp; else noGroup" [formControl]="formControl" [multiple]="to.multiple" [id]="id" [formlyAttributes]="field" [placeholder]="to.placeholder" [required]="to.required" (selectedChange)="onSelectedChange($event)" [disabled]="to.disabled" [status]="to.status" [size]="to.size" [filled]="to.filled" [shape]="to.shape" > <nb-option-group *ngFor="let option of to.options | formlySelectOptions: field | async" [title]="option.label" > <nb-option *ngFor="let opt of option.group" [value]="opt.value" [disabled]="opt.disabled" > {{ opt.label }} </nb-option> </nb-option-group> </nb-select> <ng-template #noGroup> <nb-select [formControl]="formControl" [multiple]="to.multiple" [id]="id" [formlyAttributes]="field" [placeholder]="to.placeholder" [required]="to.required" (selectedChange)="onSelectedChange($event)" [disabled]="to.disabled" [status]="to.status" [size]="to.size" [filled]="to.filled" [shape]="to.shape" > <nb-option *ngFor="let opt of to.options | formlySelectOptions: field | async" [value]="opt.value" [disabled]="opt.disabled" > {{ opt.label }} </nb-option> </nb-select> </ng-template> ` },] } ]; // [ // { // "label": "Male", // "group": [ // { // "label": "Iron Man", // "value": "iron_man", // "disabled": false // }, // { // "label": "Captain America", // "value": "captain_america", // "disabled": false // }, // { // "label": "Hulk", // "value": "hulk", // "disabled": false // } // ] // }, // { // "label": "Female", // "group": [ // { // "label": "Black Widow", // "value": "black_widow", // "disabled": false // }, // { // "label": "Captain Marvel", // "value": "captain_marvel", // "disabled": false // } // ] // } // ] //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZWJ1bGFyLWZvcm1seS9zcmMvbGliL3NlbGVjdC9zZWxlY3QudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQTZEN0MsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQVM7SUEzRGxEOztRQTREUyxtQkFBYyxHQUFHO1lBQ3RCLGVBQWUsRUFBRTtnQkFDZixPQUFPLEVBQUUsRUFBRTtnQkFDWCxRQUFRLEVBQUUsS0FBSztnQkFDZixPQUFPLEVBQUUsS0FBSztnQkFDZCxNQUFNLEVBQUUsT0FBTztnQkFDZixJQUFJLEVBQUUsUUFBUTtnQkFDZCxNQUFNLEVBQUUsT0FBTztnQkFDZixLQUFLLEVBQUUsV0FBVzthQUNuQjtTQUNGLENBQUM7SUFPSixDQUFDO0lBTFEsZ0JBQWdCLENBQUMsS0FBYTtRQUNuQyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFO1lBQzFCLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDM0M7SUFDSCxDQUFDOzs7WUE1RUYsU0FBUyxTQUFDO2dCQUNULGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNEVDthQUNGOztBQXFCRCxJQUFJO0FBQ0osTUFBTTtBQUNOLHVCQUF1QjtBQUN2QixpQkFBaUI7QUFDakIsVUFBVTtBQUNWLCtCQUErQjtBQUMvQiwrQkFBK0I7QUFDL0IsNEJBQTRCO0FBQzVCLFdBQVc7QUFDWCxVQUFVO0FBQ1Ysc0NBQXNDO0FBQ3RDLHNDQUFzQztBQUN0Qyw0QkFBNEI7QUFDNUIsV0FBVztBQUNYLFVBQVU7QUFDViwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDRCQUE0QjtBQUM1QixVQUFVO0FBQ1YsUUFBUTtBQUNSLE9BQU87QUFDUCxNQUFNO0FBQ04seUJBQXlCO0FBQ3pCLGlCQUFpQjtBQUNqQixVQUFVO0FBQ1Ysa0NBQWtDO0FBQ2xDLGtDQUFrQztBQUNsQyw0QkFBNEI7QUFDNUIsV0FBVztBQUNYLFVBQVU7QUFDVixxQ0FBcUM7QUFDckMscUNBQXFDO0FBQ3JDLDRCQUE0QjtBQUM1QixVQUFVO0FBQ1YsUUFBUTtBQUNSLE1BQU07QUFDTixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc2VsZWN0b3I6ICduYmYtbmVidWxhci1mb3JtbHktc2VsZWN0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG5iLXNlbGVjdFxyXG4gICAgICAqbmdJZj1cInRvLmdyb3VwUHJvcDsgZWxzZSBub0dyb3VwXCJcclxuICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgW211bHRpcGxlXT1cInRvLm11bHRpcGxlXCJcclxuICAgICAgW2lkXT1cImlkXCJcclxuICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwidG8ucGxhY2Vob2xkZXJcIlxyXG4gICAgICBbcmVxdWlyZWRdPVwidG8ucmVxdWlyZWRcIlxyXG4gICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwib25TZWxlY3RlZENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgW2Rpc2FibGVkXT1cInRvLmRpc2FibGVkXCJcclxuICAgICAgW3N0YXR1c109XCJ0by5zdGF0dXNcIlxyXG4gICAgICBbc2l6ZV09XCJ0by5zaXplXCJcclxuICAgICAgW2ZpbGxlZF09XCJ0by5maWxsZWRcIlxyXG4gICAgICBbc2hhcGVdPVwidG8uc2hhcGVcIlxyXG4gICAgPlxyXG4gICAgICA8bmItb3B0aW9uLWdyb3VwXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiB0by5vcHRpb25zIHwgZm9ybWx5U2VsZWN0T3B0aW9uczogZmllbGQgfCBhc3luY1wiXHJcbiAgICAgICAgW3RpdGxlXT1cIm9wdGlvbi5sYWJlbFwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmItb3B0aW9uXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0IG9mIG9wdGlvbi5ncm91cFwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwib3B0LnZhbHVlXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJvcHQuZGlzYWJsZWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7IG9wdC5sYWJlbCB9fVxyXG4gICAgICAgIDwvbmItb3B0aW9uPlxyXG4gICAgICA8L25iLW9wdGlvbi1ncm91cD5cclxuICAgIDwvbmItc2VsZWN0PlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjbm9Hcm91cD5cclxuICAgICAgPG5iLXNlbGVjdFxyXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbiAgICAgICAgW211bHRpcGxlXT1cInRvLm11bHRpcGxlXCJcclxuICAgICAgICBbaWRdPVwiaWRcIlxyXG4gICAgICAgIFtmb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwidG8ucGxhY2Vob2xkZXJcIlxyXG4gICAgICAgIFtyZXF1aXJlZF09XCJ0by5yZXF1aXJlZFwiXHJcbiAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cIm9uU2VsZWN0ZWRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cInRvLmRpc2FibGVkXCJcclxuICAgICAgICBbc3RhdHVzXT1cInRvLnN0YXR1c1wiXHJcbiAgICAgICAgW3NpemVdPVwidG8uc2l6ZVwiXHJcbiAgICAgICAgW2ZpbGxlZF09XCJ0by5maWxsZWRcIlxyXG4gICAgICAgIFtzaGFwZV09XCJ0by5zaGFwZVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmItb3B0aW9uXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0IG9mIHRvLm9wdGlvbnMgfCBmb3JtbHlTZWxlY3RPcHRpb25zOiBmaWVsZCB8IGFzeW5jXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJvcHQudmFsdWVcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIm9wdC5kaXNhYmxlZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgb3B0LmxhYmVsIH19XHJcbiAgICAgICAgPC9uYi1vcHRpb24+XHJcbiAgICAgIDwvbmItc2VsZWN0PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0VHlwZUNvbXBvbmVudCBleHRlbmRzIEZpZWxkVHlwZSB7XHJcbiAgcHVibGljIGRlZmF1bHRPcHRpb25zID0ge1xyXG4gICAgdGVtcGxhdGVPcHRpb25zOiB7XHJcbiAgICAgIG9wdGlvbnM6IFtdLFxyXG4gICAgICBtdWx0aXBsZTogZmFsc2UsXHJcbiAgICAgIGlzR3JvdXA6IGZhbHNlLFxyXG4gICAgICBzdGF0dXM6ICdiYXNpYycsXHJcbiAgICAgIHNpemU6ICdtZWRpdW0nLFxyXG4gICAgICBmaWxsZWQ6ICdmYWxzZScsXHJcbiAgICAgIHNoYXBlOiAncmVjdGFuZ2xlJyxcclxuICAgIH0sXHJcbiAgfTtcclxuXHJcbiAgcHVibGljIG9uU2VsZWN0ZWRDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudG8uc2VsZWN0ZWRDaGFuZ2UpIHtcclxuICAgICAgdGhpcy50by5zZWxlY3RlZENoYW5nZSh0aGlzLmZpZWxkLCB2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBbXHJcbi8vICAge1xyXG4vLyAgICAgXCJsYWJlbFwiOiBcIk1hbGVcIixcclxuLy8gICAgIFwiZ3JvdXBcIjogW1xyXG4vLyAgICAgICB7XHJcbi8vICAgICAgICAgXCJsYWJlbFwiOiBcIklyb24gTWFuXCIsXHJcbi8vICAgICAgICAgXCJ2YWx1ZVwiOiBcImlyb25fbWFuXCIsXHJcbi8vICAgICAgICAgXCJkaXNhYmxlZFwiOiBmYWxzZVxyXG4vLyAgICAgICB9LFxyXG4vLyAgICAgICB7XHJcbi8vICAgICAgICAgXCJsYWJlbFwiOiBcIkNhcHRhaW4gQW1lcmljYVwiLFxyXG4vLyAgICAgICAgIFwidmFsdWVcIjogXCJjYXB0YWluX2FtZXJpY2FcIixcclxuLy8gICAgICAgICBcImRpc2FibGVkXCI6IGZhbHNlXHJcbi8vICAgICAgIH0sXHJcbi8vICAgICAgIHtcclxuLy8gICAgICAgICBcImxhYmVsXCI6IFwiSHVsa1wiLFxyXG4vLyAgICAgICAgIFwidmFsdWVcIjogXCJodWxrXCIsXHJcbi8vICAgICAgICAgXCJkaXNhYmxlZFwiOiBmYWxzZVxyXG4vLyAgICAgICB9XHJcbi8vICAgICBdXHJcbi8vICAgfSxcclxuLy8gICB7XHJcbi8vICAgICBcImxhYmVsXCI6IFwiRmVtYWxlXCIsXHJcbi8vICAgICBcImdyb3VwXCI6IFtcclxuLy8gICAgICAge1xyXG4vLyAgICAgICAgIFwibGFiZWxcIjogXCJCbGFjayBXaWRvd1wiLFxyXG4vLyAgICAgICAgIFwidmFsdWVcIjogXCJibGFja193aWRvd1wiLFxyXG4vLyAgICAgICAgIFwiZGlzYWJsZWRcIjogZmFsc2VcclxuLy8gICAgICAgfSxcclxuLy8gICAgICAge1xyXG4vLyAgICAgICAgIFwibGFiZWxcIjogXCJDYXB0YWluIE1hcnZlbFwiLFxyXG4vLyAgICAgICAgIFwidmFsdWVcIjogXCJjYXB0YWluX21hcnZlbFwiLFxyXG4vLyAgICAgICAgIFwiZGlzYWJsZWRcIjogZmFsc2VcclxuLy8gICAgICAgfVxyXG4vLyAgICAgXVxyXG4vLyAgIH1cclxuLy8gXVxyXG4iXX0=