UNPKG

@koalarx/ui

Version:

Koala UI is a Design System developed in Angular whose objective is to facilitate and make your development faster and simpler, making this framework your greatest ally.

38 lines 6.49 kB
import { DynamicFormTypeFieldEnum } from "../../enums/dynamic-form-type-field.enum"; import { BehaviorSubject } from "rxjs"; import { FieldBase } from "./field.base"; export class AutocompleteBuilder extends FieldBase { constructor(label, name, formConfig, fb, deviceService) { super(label, name, DynamicFormTypeFieldEnum.autocomplete, formConfig, fb, deviceService); } service(service) { this.service$ = service; return this; } defaultValueOnClean(value) { this.fieldConfig.autocompleteDefaultValueOnClear = value; return this; } loadOptions(type, onDemandFilter) { this.fieldConfig.autocompleteType = type; if (type === "all") { const options$ = new BehaviorSubject([]); this.service$.subscribe(options => options$.next(options)); this.fieldConfig.autocompleteOptions = options$; } else { this.fieldConfig.autocompleteFilter = onDemandFilter; } return this; } colorChipConfig(fn) { this.fieldConfig.autocompleteMultipleConfig = new BehaviorSubject(null); fn(this.fieldConfig.autocompleteMultipleConfig); return this; } addOption(active = true) { this.fieldConfig.autocompleteAddOption = active; return this; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2J1aWxkZXIvZmllbGRzL2F1dG9jb21wbGV0ZS5idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFJbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUd6QyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsU0FBUztJQUdoRCxZQUNFLEtBQWEsRUFDYixJQUFZLEVBQ1osVUFBMkMsRUFDM0MsRUFBc0IsRUFDdEIsYUFBb0M7UUFFcEMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsd0JBQXdCLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVNLE9BQU8sQ0FBQyxPQUErRDtRQUM1RSxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxLQUFVO1FBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsK0JBQStCLEdBQUcsS0FBSyxDQUFDO1FBQ3pELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFdBQVcsQ0FBQyxJQUF3QixFQUFFLGNBQTJGO1FBQ3RJLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBRXpDLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtZQUNsQixNQUFNLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBNkMsRUFBRSxDQUFDLENBQUM7WUFDckYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsR0FBRyxRQUFRLENBQUM7U0FDakQ7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEdBQUcsY0FBYyxDQUFDO1NBQ3REO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sZUFBZSxDQUFDLEVBQTJGO1FBQ2hILElBQUksQ0FBQyxXQUFXLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxlQUFlLENBQXNELElBQUksQ0FBQyxDQUFDO1FBQzdILEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDaEQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sU0FBUyxDQUFDLFNBQWtCLElBQUk7UUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsR0FBRyxNQUFNLENBQUM7UUFDaEQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLb2FsYUR5bmFtaWNGb3JtQ29uZmlnSW50ZXJmYWNlIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMva29hbGEuZHluYW1pYy1mb3JtLWNvbmZpZy5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bSB9IGZyb20gXCIuLi8uLi9lbnVtcy9keW5hbWljLWZvcm0tdHlwZS1maWVsZC5lbnVtXCI7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgS29hbGFEeW5hbWljQXV0b2NvbXBsZXRlT3B0aW9uc0ludGVyZmFjZSB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL2tvYWxhLmR5bmFtaWMtYXV0b2NvbXBsZXRlLW9wdGlvbnMuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEtvYWxhRHluYW1pY0Zvcm1BdXRvY29tcGxldGVNdWx0aXBsZUNvbmZpZ0ludGVyZmFjZSB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL2tvYWxhLmR5bmFtaWMtZm9ybS1hdXRvY29tcGxldGUtbXVsdGlwbGUtY29uZmlnLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRmllbGRCYXNlIH0gZnJvbSBcIi4vZmllbGQuYmFzZVwiO1xuaW1wb3J0IHsgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSBcIm5neC1kZXZpY2UtZGV0ZWN0b3JcIjtcblxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZUJ1aWxkZXIgZXh0ZW5kcyBGaWVsZEJhc2Uge1xuICBwcml2YXRlIHNlcnZpY2UkOiBPYnNlcnZhYmxlPEtvYWxhRHluYW1pY0F1dG9jb21wbGV0ZU9wdGlvbnNJbnRlcmZhY2VbXT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbGFiZWw6IHN0cmluZyxcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgZm9ybUNvbmZpZzogS29hbGFEeW5hbWljRm9ybUNvbmZpZ0ludGVyZmFjZSxcbiAgICBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIGRldmljZVNlcnZpY2U6IERldmljZURldGVjdG9yU2VydmljZVxuICApIHtcbiAgICBzdXBlcihsYWJlbCwgbmFtZSwgRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtLmF1dG9jb21wbGV0ZSwgZm9ybUNvbmZpZywgZmIsIGRldmljZVNlcnZpY2UpO1xuICB9XG5cbiAgcHVibGljIHNlcnZpY2Uoc2VydmljZTogT2JzZXJ2YWJsZTxLb2FsYUR5bmFtaWNBdXRvY29tcGxldGVPcHRpb25zSW50ZXJmYWNlW10+KSB7XG4gICAgdGhpcy5zZXJ2aWNlJCA9IHNlcnZpY2U7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZGVmYXVsdFZhbHVlT25DbGVhbih2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5maWVsZENvbmZpZy5hdXRvY29tcGxldGVEZWZhdWx0VmFsdWVPbkNsZWFyID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgbG9hZE9wdGlvbnModHlwZTogJ2FsbCcgfCAnb25EZW1hbmQnLCBvbkRlbWFuZEZpbHRlcj86IChmaWx0ZXI6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxLb2FsYUR5bmFtaWNBdXRvY29tcGxldGVPcHRpb25zSW50ZXJmYWNlW10+KSB7XG4gICAgdGhpcy5maWVsZENvbmZpZy5hdXRvY29tcGxldGVUeXBlID0gdHlwZTtcblxuICAgIGlmICh0eXBlID09PSBcImFsbFwiKSB7XG4gICAgICBjb25zdCBvcHRpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8S29hbGFEeW5hbWljQXV0b2NvbXBsZXRlT3B0aW9uc0ludGVyZmFjZVtdPihbXSk7XG4gICAgICB0aGlzLnNlcnZpY2UkLnN1YnNjcmliZShvcHRpb25zID0+IG9wdGlvbnMkLm5leHQob3B0aW9ucykpO1xuICAgICAgdGhpcy5maWVsZENvbmZpZy5hdXRvY29tcGxldGVPcHRpb25zID0gb3B0aW9ucyQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmllbGRDb25maWcuYXV0b2NvbXBsZXRlRmlsdGVyID0gb25EZW1hbmRGaWx0ZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgY29sb3JDaGlwQ29uZmlnKGZuOiAoc3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PEtvYWxhRHluYW1pY0Zvcm1BdXRvY29tcGxldGVNdWx0aXBsZUNvbmZpZ0ludGVyZmFjZT4pID0+IHZvaWQpIHtcbiAgICB0aGlzLmZpZWxkQ29uZmlnLmF1dG9jb21wbGV0ZU11bHRpcGxlQ29uZmlnID0gbmV3IEJlaGF2aW9yU3ViamVjdDxLb2FsYUR5bmFtaWNGb3JtQXV0b2NvbXBsZXRlTXVsdGlwbGVDb25maWdJbnRlcmZhY2U+KG51bGwpO1xuICAgIGZuKHRoaXMuZmllbGRDb25maWcuYXV0b2NvbXBsZXRlTXVsdGlwbGVDb25maWcpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFkZE9wdGlvbihhY3RpdmU6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgdGhpcy5maWVsZENvbmZpZy5hdXRvY29tcGxldGVBZGRPcHRpb24gPSBhY3RpdmU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cbiJdfQ==