ngx-nebular-formly
Version:
Ngx Formly integration for Nebular UI
72 lines • 5.66 kB
JavaScript
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { FieldType } from '@ngx-formly/core';
export class RadioTypeComponent extends FieldType {
constructor() {
super(...arguments);
this.defaultOptions = {
templateOptions: {
disabled: false,
options: [],
status: 'info',
},
};
}
}
RadioTypeComponent.decorators = [
{ type: Component, args: [{
changeDetection: ChangeDetectionStrategy.OnPush,
selector: 'nbf-nebular-formly-radio',
template: `
<ng-container *ngIf="to.disabled; else elseTemplate">
<nb-radio-group
[formControl]="formControl"
[name]="to.name"
[formlyAttributes]="field"
[required]="to.required"
[disabled]="to.disabled"
[status]="to.status"
[ngClass]="{
'row': to.arrange === 'row'
}"
>
<nb-radio
*ngFor="
let option of to.options | formlySelectOptions: field | async;
let i = index
"
[id]="id + '_' + i"
[value]="option.value"
>
{{ option.label }}
</nb-radio>
</nb-radio-group>
</ng-container>
<ng-template #elseTemplate>
<nb-radio-group
[formControl]="formControl"
[name]="to.name"
[formlyAttributes]="field"
[required]="to.required"
[status]="to.status"
[ngClass]="{
'row': to.arrange === 'row'
}"
>
<nb-radio
*ngFor="
let option of to.options | formlySelectOptions: field | async;
let i = index
"
[id]="id + '_' + i"
[value]="option.value"
[disabled]="option.disabled"
>
{{ option.label }}
</nb-radio>
</nb-radio-group>
</ng-template>
`,
styles: ['.row { display: flex; flex-flow: row wrap; }']
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8udHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25lYnVsYXItZm9ybWx5L3NyYy9saWIvcmFkaW8vcmFkaW8udHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQXlEN0MsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQVM7SUF2RGpEOztRQXdEUyxtQkFBYyxHQUFHO1lBQ3RCLGVBQWUsRUFBRTtnQkFDZixRQUFRLEVBQUUsS0FBSztnQkFDZixPQUFPLEVBQUUsRUFBRTtnQkFDWCxNQUFNLEVBQUUsTUFBTTthQUNmO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQS9EQSxTQUFTLFNBQUM7Z0JBQ1QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlEVDt5QkFDUSw4Q0FBOEM7YUFDeEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc2VsZWN0b3I6ICduYmYtbmVidWxhci1mb3JtbHktcmFkaW8nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG8uZGlzYWJsZWQ7IGVsc2UgZWxzZVRlbXBsYXRlXCI+XHJcbiAgICAgIDxuYi1yYWRpby1ncm91cFxyXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbiAgICAgICAgW25hbWVdPVwidG8ubmFtZVwiXHJcbiAgICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxyXG4gICAgICAgIFtyZXF1aXJlZF09XCJ0by5yZXF1aXJlZFwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cInRvLmRpc2FibGVkXCJcclxuICAgICAgICBbc3RhdHVzXT1cInRvLnN0YXR1c1wiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgJ3Jvdyc6IHRvLmFycmFuZ2UgPT09ICdyb3cnXHJcbiAgICAgICAgfVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmItcmFkaW9cclxuICAgICAgICAgICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgICBsZXQgb3B0aW9uIG9mIHRvLm9wdGlvbnMgfCBmb3JtbHlTZWxlY3RPcHRpb25zOiBmaWVsZCB8IGFzeW5jO1xyXG4gICAgICAgICAgICBsZXQgaSA9IGluZGV4XHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgICAgW2lkXT1cImlkICsgJ18nICsgaVwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBvcHRpb24ubGFiZWwgfX1cclxuICAgICAgICA8L25iLXJhZGlvPlxyXG4gICAgICA8L25iLXJhZGlvLWdyb3VwPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctdGVtcGxhdGUgI2Vsc2VUZW1wbGF0ZT5cclxuICAgICAgPG5iLXJhZGlvLWdyb3VwXHJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgICBbbmFtZV09XCJ0by5uYW1lXCJcclxuICAgICAgICBbZm9ybWx5QXR0cmlidXRlc109XCJmaWVsZFwiXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cInRvLnJlcXVpcmVkXCJcclxuICAgICAgICBbc3RhdHVzXT1cInRvLnN0YXR1c1wiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgJ3Jvdyc6IHRvLmFycmFuZ2UgPT09ICdyb3cnXHJcbiAgICAgICAgfVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmItcmFkaW9cclxuICAgICAgICAgICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgICBsZXQgb3B0aW9uIG9mIHRvLm9wdGlvbnMgfCBmb3JtbHlTZWxlY3RPcHRpb25zOiBmaWVsZCB8IGFzeW5jO1xyXG4gICAgICAgICAgICBsZXQgaSA9IGluZGV4XHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgICAgW2lkXT1cImlkICsgJ18nICsgaVwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJvcHRpb24uZGlzYWJsZWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7IG9wdGlvbi5sYWJlbCB9fVxyXG4gICAgICAgIDwvbmItcmFkaW8+XHJcbiAgICAgIDwvbmItcmFkaW8tZ3JvdXA+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbJy5yb3cgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9J10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYWRpb1R5cGVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGUge1xyXG4gIHB1YmxpYyBkZWZhdWx0T3B0aW9ucyA9IHtcclxuICAgIHRlbXBsYXRlT3B0aW9uczoge1xyXG4gICAgICBkaXNhYmxlZDogZmFsc2UsXHJcbiAgICAgIG9wdGlvbnM6IFtdLFxyXG4gICAgICBzdGF0dXM6ICdpbmZvJyxcclxuICAgIH0sXHJcbiAgfTtcclxufVxyXG4iXX0=