UNPKG

@ng-dynamic-forms/core

Version:

A rapid form development library for Angular

39 lines 6.01 kB
import { __decorate } from "tslib"; import { DynamicOptionControlModel } from "../dynamic-option-control.model"; import { serializable } from "../../decorator/serializable.decorator"; import { isBoolean, isFunction } from "../../utils/core.utils"; export const DYNAMIC_FORM_CONTROL_TYPE_SELECT = "SELECT"; export class DynamicSelectModel extends DynamicOptionControlModel { constructor(config, layout) { super(config, layout); this.type = DYNAMIC_FORM_CONTROL_TYPE_SELECT; this.compareWithFn = isFunction(config.compareWithFn) ? config.compareWithFn : Object.is; this.filterable = isBoolean(config.filterable) ? config.filterable : false; this.multiple = isBoolean(config.multiple) ? config.multiple : false; this.placeholder = config.placeholder ?? ""; this.prefix = config.prefix ?? null; this.suffix = config.suffix ?? null; } select(...indices) { this.value = this.multiple ? indices.map(index => this.get(index).value) : this.get(indices[0]).value; } } __decorate([ serializable() ], DynamicSelectModel.prototype, "filterable", void 0); __decorate([ serializable() ], DynamicSelectModel.prototype, "multiple", void 0); __decorate([ serializable() ], DynamicSelectModel.prototype, "placeholder", void 0); __decorate([ serializable() ], DynamicSelectModel.prototype, "prefix", void 0); __decorate([ serializable() ], DynamicSelectModel.prototype, "suffix", void 0); __decorate([ serializable() ], DynamicSelectModel.prototype, "type", void 0); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1zZWxlY3QubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1keW5hbWljLWZvcm1zL2NvcmUvc3JjL2xpYi9tb2RlbC9zZWxlY3QvZHluYW1pYy1zZWxlY3QubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBbUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUU3RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxRQUFRLENBQUM7QUFXekQsTUFBTSxPQUFPLGtCQUFzQixTQUFRLHlCQUE0QjtJQVVuRSxZQUFZLE1BQW1DLEVBQUUsTUFBaUM7UUFDOUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUhELFNBQUksR0FBVyxnQ0FBZ0MsQ0FBQztRQUtyRSxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDekYsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDM0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDckUsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLE9BQWlCO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzFHLENBQUM7Q0FDSjtBQXRCbUI7SUFBZixZQUFZLEVBQUU7c0RBQXFCO0FBQ3BCO0lBQWYsWUFBWSxFQUFFO29EQUFtQjtBQUNsQjtJQUFmLFlBQVksRUFBRTt1REFBcUI7QUFDcEI7SUFBZixZQUFZLEVBQUU7a0RBQXVCO0FBQ3RCO0lBQWYsWUFBWSxFQUFFO2tEQUF1QjtBQUViO0lBQXhCLFlBQVksRUFBRTtnREFBMEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEeW5hbWljT3B0aW9uQ29udHJvbE1vZGVsLCBEeW5hbWljT3B0aW9uQ29udHJvbE1vZGVsQ29uZmlnIH0gZnJvbSBcIi4uL2R5bmFtaWMtb3B0aW9uLWNvbnRyb2wubW9kZWxcIjtcbmltcG9ydCB7IER5bmFtaWNGb3JtQ29udHJvbExheW91dCB9IGZyb20gXCIuLi9taXNjL2R5bmFtaWMtZm9ybS1jb250cm9sLWxheW91dC5tb2RlbFwiO1xuaW1wb3J0IHsgc2VyaWFsaXphYmxlIH0gZnJvbSBcIi4uLy4uL2RlY29yYXRvci9zZXJpYWxpemFibGUuZGVjb3JhdG9yXCI7XG5pbXBvcnQgeyBpc0Jvb2xlYW4sIGlzRnVuY3Rpb24gfSBmcm9tIFwiLi4vLi4vdXRpbHMvY29yZS51dGlsc1wiO1xuXG5leHBvcnQgY29uc3QgRFlOQU1JQ19GT1JNX0NPTlRST0xfVFlQRV9TRUxFQ1QgPSBcIlNFTEVDVFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNTZWxlY3RNb2RlbENvbmZpZzxUPiBleHRlbmRzIER5bmFtaWNPcHRpb25Db250cm9sTW9kZWxDb25maWc8VD4ge1xuICAgIGNvbXBhcmVXaXRoRm4/OiAobzE6IGFueSwgbzI6IGFueSkgPT4gYm9vbGVhbjtcbiAgICBmaWx0ZXJhYmxlPzogYm9vbGVhbjtcbiAgICBtdWx0aXBsZT86IGJvb2xlYW47XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICAgIHN1ZmZpeD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIER5bmFtaWNTZWxlY3RNb2RlbDxUPiBleHRlbmRzIER5bmFtaWNPcHRpb25Db250cm9sTW9kZWw8VD4ge1xuICAgIGNvbXBhcmVXaXRoRm46ICh2YWx1ZTE6IGFueSwgdmFsdWUyOiBhbnkpID0+IGJvb2xlYW47XG4gICAgQHNlcmlhbGl6YWJsZSgpIGZpbHRlcmFibGU6IGJvb2xlYW47XG4gICAgQHNlcmlhbGl6YWJsZSgpIG11bHRpcGxlOiBib29sZWFuO1xuICAgIEBzZXJpYWxpemFibGUoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICAgIEBzZXJpYWxpemFibGUoKSBwcmVmaXg6IHN0cmluZyB8IG51bGw7XG4gICAgQHNlcmlhbGl6YWJsZSgpIHN1ZmZpeDogc3RyaW5nIHwgbnVsbDtcblxuICAgIEBzZXJpYWxpemFibGUoKSByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBEWU5BTUlDX0ZPUk1fQ09OVFJPTF9UWVBFX1NFTEVDVDtcblxuICAgIGNvbnN0cnVjdG9yKGNvbmZpZzogRHluYW1pY1NlbGVjdE1vZGVsQ29uZmlnPFQ+LCBsYXlvdXQ/OiBEeW5hbWljRm9ybUNvbnRyb2xMYXlvdXQpIHtcbiAgICAgICAgc3VwZXIoY29uZmlnLCBsYXlvdXQpO1xuXG4gICAgICAgIHRoaXMuY29tcGFyZVdpdGhGbiA9IGlzRnVuY3Rpb24oY29uZmlnLmNvbXBhcmVXaXRoRm4pID8gY29uZmlnLmNvbXBhcmVXaXRoRm4gOiBPYmplY3QuaXM7XG4gICAgICAgIHRoaXMuZmlsdGVyYWJsZSA9IGlzQm9vbGVhbihjb25maWcuZmlsdGVyYWJsZSkgPyBjb25maWcuZmlsdGVyYWJsZSA6IGZhbHNlO1xuICAgICAgICB0aGlzLm11bHRpcGxlID0gaXNCb29sZWFuKGNvbmZpZy5tdWx0aXBsZSkgPyBjb25maWcubXVsdGlwbGUgOiBmYWxzZTtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IGNvbmZpZy5wbGFjZWhvbGRlciA/PyBcIlwiO1xuICAgICAgICB0aGlzLnByZWZpeCA9IGNvbmZpZy5wcmVmaXggPz8gbnVsbDtcbiAgICAgICAgdGhpcy5zdWZmaXggPSBjb25maWcuc3VmZml4ID8/IG51bGw7XG4gICAgfVxuXG4gICAgc2VsZWN0KC4uLmluZGljZXM6IG51bWJlcltdKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm11bHRpcGxlID8gaW5kaWNlcy5tYXAoaW5kZXggPT4gdGhpcy5nZXQoaW5kZXgpLnZhbHVlKSA6IHRoaXMuZ2V0KGluZGljZXNbMF0pLnZhbHVlO1xuICAgIH1cbn1cbiJdfQ==