UNPKG

@c-standard/angular-devui-extension

Version:

an extensional components lib for devui

141 lines 15 kB
import { Component, EventEmitter, forwardRef, Input, Output, } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import * as i0 from "@angular/core"; import * as i1 from "ng-devui"; import * as i2 from "@angular/forms"; const SELECT_BOX_CONTROL_VALUE_ACCESSOR = { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SelectBoxComponent), multi: true, }; export class SelectBoxComponent { constructor(er) { this.er = er; this._dataSource = []; this.valueExpr = 'value'; this.displayExpr = 'text'; this.placeholder = ''; this.multiple = false; this.allowClear = false; this.allowSearch = false; this.disabled = false; this.validateRules = []; this.selectedOptionChange = new EventEmitter(); this.expandChange = new EventEmitter(); this.initialized = new EventEmitter(); this.onTouchedCallback = () => { }; this.onChangeCallback = (_v) => { }; } get dataSource() { return this._dataSource; } set dataSource(value) { this._dataSource = value; if (this.dataSource.length > 0) { this.writeDisplayText(); } } registerOnChange(fn) { this.onChangeCallback = fn; } registerOnTouched(fn) { this.onTouchedCallback = fn; } setDisabledState(isDisabled) { this.disabled = isDisabled; } writeValue(value) { this.value = value; this.writeDisplayText(); } onModeChange(value) { let val = value; if (this.valueExpr != undefined) { val = value[this.valueExpr]; } this.onChangeCallback(val); this.selectedOptionChange.emit(value); } onExpandChange(e) { this.expandChange.emit(e); } ngOnInit() { this.initialized.emit({ element: this.er, component: this, }); } writeDisplayText() { if (this.valueExpr == undefined) { this.originalValue = this.value; } else { this.originalValue = this._dataSource.find((t) => t[this.valueExpr] == this.value); } } } SelectBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SelectBoxComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); SelectBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SelectBoxComponent, selector: "d-select-box", inputs: { dataSource: "dataSource", valueExpr: "valueExpr", displayExpr: "displayExpr", placeholder: "placeholder", multiple: "multiple", allowClear: "allowClear", allowSearch: "allowSearch", disabled: "disabled", validateRules: "validateRules" }, outputs: { selectedOptionChange: "selectedOptionChange", expandChange: "expandChange", initialized: "initialized" }, providers: [SELECT_BOX_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: ` <d-select [options]="dataSource" [filterKey]="displayExpr" [isSearch]="allowSearch" [appendToBody]="true" [multiple]="multiple" [allowClear]="allowClear" [disabled]="disabled" [placeholder]="placeholder" [ngModel]="originalValue" [dValidateRules]="validateRules" (ngModelChange)="onModeChange($event)" (toggleChange)="onExpandChange($event)" ></d-select> `, isInline: true, components: [{ type: i1.SelectComponent, selector: "d-select", inputs: ["options", "isSearch", "toggleOnFocus", "scrollHight", "highlightItemClass", "filterKey", "multiple", "isSelectAll", "readonly", "size", "appendToBody", "appendToBodyDirections", "width", "templateItemSize", "disabled", "placeholder", "searchPlaceholder", "searchFn", "valueParser", "formatter", "direction", "overview", "allowClear", "color", "enableLazyLoad", "virtualScroll", "inputItemTemplate", "extraConfig", "optionDisabledKey", "optionImmutableKey", "noResultItemTemplate", "keepMultipleOrder", "customViewTemplate", "customViewDirection", "autoFocus", "notAutoScroll", "loadingTemplateRef", "showAnimation"], outputs: ["valueChange", "toggleChange", "loadMore"], exportAs: ["select"] }], directives: [{ type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.DFormControlRuleDirective, selector: "[dValidateRules][formControlName],[dValidateRules][ngModel],[dValidateRules][formControl]", inputs: ["dValidateRules", "dValidatePopConfig"], outputs: ["dRulesStatusChange"], exportAs: ["dValidateRules"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SelectBoxComponent, decorators: [{ type: Component, args: [{ selector: 'd-select-box', template: ` <d-select [options]="dataSource" [filterKey]="displayExpr" [isSearch]="allowSearch" [appendToBody]="true" [multiple]="multiple" [allowClear]="allowClear" [disabled]="disabled" [placeholder]="placeholder" [ngModel]="originalValue" [dValidateRules]="validateRules" (ngModelChange)="onModeChange($event)" (toggleChange)="onExpandChange($event)" ></d-select> `, providers: [SELECT_BOX_CONTROL_VALUE_ACCESSOR], }] }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { dataSource: [{ type: Input }], valueExpr: [{ type: Input }], displayExpr: [{ type: Input }], placeholder: [{ type: Input }], multiple: [{ type: Input }], allowClear: [{ type: Input }], allowSearch: [{ type: Input }], disabled: [{ type: Input }], validateRules: [{ type: Input }], selectedOptionChange: [{ type: Output }], expandChange: [{ type: Output }], initialized: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QtYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sR0FBRyxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFHekUsTUFBTSxpQ0FBaUMsR0FBUTtJQUMzQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7SUFDakQsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBc0JGLE1BQU0sT0FBTyxrQkFBa0I7SUE4QjNCLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBN0IxQixnQkFBVyxHQUFVLEVBQUUsQ0FBQztRQWF2QixjQUFTLEdBQVcsT0FBTyxDQUFDO1FBQzVCLGdCQUFXLEdBQVcsTUFBTSxDQUFDO1FBQzdCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUVsQyx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQy9DLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMzQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFPeEMsc0JBQWlCLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQzdCLHFCQUFnQixHQUFH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bnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQsIE91dHB1dCwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEVmFsaWRhdGVSdWxlcyB9IGZyb20gJ25nLWRldnVpJztcclxuXHJcbmNvbnN0IFNFTEVDVF9CT1hfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RCb3hDb21wb25lbnQpLFxyXG4gICAgbXVsdGk6IHRydWUsXHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnZC1zZWxlY3QtYm94JyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGQtc2VsZWN0XHJcbiAgICAgICAgICAgIFtvcHRpb25zXT1cImRhdGFTb3VyY2VcIlxyXG4gICAgICAgICAgICBbZmlsdGVyS2V5XT1cImRpc3BsYXlFeHByXCJcclxuICAgICAgICAgICAgW2lzU2VhcmNoXT1cImFsbG93U2VhcmNoXCJcclxuICAgICAgICAgICAgW2FwcGVuZFRvQm9keV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcclxuICAgICAgICAgICAgW2FsbG93Q2xlYXJdPVwiYWxsb3dDbGVhclwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cIm9yaWdpbmFsVmFsdWVcIlxyXG4gICAgICAgICAgICBbZFZhbGlkYXRlUnVsZXNdPVwidmFsaWRhdGVSdWxlc1wiXHJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKHRvZ2dsZUNoYW5nZSk9XCJvbkV4cGFuZENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICA+PC9kLXNlbGVjdD5cclxuICAgIGAsXHJcbiAgICBwcm92aWRlcnM6IFtTRUxFQ1RfQk9YX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0Qm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgICBwcml2YXRlIF9kYXRhU291cmNlOiBhbnlbXSA9IFtdO1xyXG4gICAgZ2V0IGRhdGFTb3VyY2UoKTogYW55W10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhU291cmNlO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgZGF0YVNvdXJjZSh2YWx1ZTogYW55W10pIHtcclxuICAgICAgICB0aGlzLl9kYXRhU291cmNlID0gdmFsdWU7XHJcbiAgICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMud3JpdGVEaXNwbGF5VGV4dCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKSB2YWx1ZUV4cHI6IHN0cmluZyA9ICd2YWx1ZSc7XHJcbiAgICBASW5wdXQoKSBkaXNwbGF5RXhwcjogc3RyaW5nID0gJ3RleHQnO1xyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xyXG4gICAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGFsbG93Q2xlYXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGFsbG93U2VhcmNoOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgdmFsaWRhdGVSdWxlczogRFZhbGlkYXRlUnVsZXMgPSBbXTtcclxuXHJcbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWRPcHRpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBleHBhbmRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgICBAT3V0cHV0KCkgaW5pdGlhbGl6ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICB2YWx1ZTogYW55O1xyXG4gICAgb3JpZ2luYWxWYWx1ZTogYW55O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZXI6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gICAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjayA9ICgpID0+IHt9O1xyXG4gICAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrID0gKF92OiBhbnkpID0+IHt9O1xyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMud3JpdGVEaXNwbGF5VGV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTW9kZUNoYW5nZSh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgbGV0IHZhbDogYW55ID0gdmFsdWU7XHJcbiAgICAgICAgaWYgKHRoaXMudmFsdWVFeHByICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICB2YWwgPSB2YWx1ZVt0aGlzLnZhbHVlRXhwcl07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh2YWwpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25DaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25FeHBhbmRDaGFuZ2UoZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5leHBhbmRDaGFuZ2UuZW1pdChlKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemVkLmVtaXQoe1xyXG4gICAgICAgICAgICBlbGVtZW50OiB0aGlzLmVyLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVEaXNwbGF5VGV4dCgpIHtcclxuICAgICAgICBpZiAodGhpcy52YWx1ZUV4cHIgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxWYWx1ZSA9IHRoaXMudmFsdWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5vcmlnaW5hbFZhbHVlID0gdGhpcy5fZGF0YVNvdXJjZS5maW5kKCh0KSA9PiB0W3RoaXMudmFsdWVFeHByXSA9PSB0aGlzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19