@agorapulse/ui-components 16.2.22 → 16.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agorapulse-ui-components-16.3.0.tgz +0 -0
- package/autocomplete/autocomplete.component.d.ts +3 -3
- package/esm2022/autocomplete/autocomplete.component.mjs +21 -8
- package/esm2022/datepicker/datepicker.component.mjs +3 -3
- package/esm2022/form-field/agorapulse-ui-components-form-field.mjs +5 -0
- package/esm2022/form-field/form-field.component.mjs +11 -0
- package/esm2022/form-field/public_api.mjs +2 -0
- package/esm2022/form-message/agorapulse-ui-components-form-message.mjs +5 -0
- package/esm2022/form-message/form-message.component.mjs +34 -0
- package/esm2022/form-message/public_api.mjs +2 -0
- package/esm2022/index.mjs +4 -4
- package/esm2022/input/input.directive.mjs +19 -0
- package/esm2022/input/public_api.mjs +2 -2
- package/esm2022/input-group/agorapulse-ui-components-input-group.mjs +5 -0
- package/esm2022/input-group/input-group.component.mjs +14 -0
- package/esm2022/input-group/public_api.mjs +2 -0
- package/esm2022/labels/label.component.mjs +3 -3
- package/esm2022/legacy/input/agorapulse-ui-components-legacy-input.mjs +5 -0
- package/esm2022/{input → legacy/input}/input.component.mjs +4 -1
- package/esm2022/legacy/input/public_api.mjs +2 -0
- package/esm2022/legacy/select/agorapulse-ui-components-legacy-select.mjs +5 -0
- package/esm2022/legacy/select/public_api.mjs +2 -0
- package/esm2022/{select → legacy/select}/select.component.mjs +5 -2
- package/esm2022/legacy/textarea/agorapulse-ui-components-legacy-textarea.mjs +5 -0
- package/esm2022/legacy/textarea/public_api.mjs +2 -0
- package/esm2022/{textarea → legacy/textarea}/textarea.component.mjs +4 -1
- package/esm2022/select/ap-select.module.mjs +72 -0
- package/esm2022/select/dropdown-group-item/dropdown-group-item.component.mjs +52 -0
- package/esm2022/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.mjs +61 -0
- package/esm2022/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.mjs +65 -0
- package/esm2022/select/dropdown-item-single-one-line/dropdown-item-single-one-line.component.mjs +39 -0
- package/esm2022/select/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.mjs +43 -0
- package/esm2022/select/dropdown-search-form/dropdown-search-form.component.mjs +77 -0
- package/esm2022/select/public_api.mjs +13 -2
- package/esm2022/select/select-base.directive.mjs +69 -0
- package/esm2022/select/select-label-multiple/select-label-multiple.component.mjs +111 -0
- package/esm2022/select/select-label-single/select-label-single.component.mjs +27 -0
- package/esm2022/select/select-multiple.directive.mjs +34 -0
- package/esm2022/select/select-single.directive.mjs +34 -0
- package/esm2022/textarea/public_api.mjs +2 -2
- package/esm2022/textarea/textarea.directive.mjs +40 -0
- package/fesm2022/agorapulse-ui-components-autocomplete.mjs +20 -7
- package/fesm2022/agorapulse-ui-components-autocomplete.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-datepicker.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-datepicker.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-form-field.mjs +18 -0
- package/fesm2022/agorapulse-ui-components-form-field.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-form-message.mjs +41 -0
- package/fesm2022/agorapulse-ui-components-form-message.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-input-group.mjs +21 -0
- package/fesm2022/agorapulse-ui-components-input-group.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-input.mjs +16 -184
- package/fesm2022/agorapulse-ui-components-input.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-labels.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-labels.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-legacy-input.mjs +197 -0
- package/fesm2022/agorapulse-ui-components-legacy-input.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-legacy-select.mjs +460 -0
- package/fesm2022/agorapulse-ui-components-legacy-select.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-legacy-textarea.mjs +162 -0
- package/fesm2022/agorapulse-ui-components-legacy-textarea.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-select.mjs +562 -395
- package/fesm2022/agorapulse-ui-components-select.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-textarea.mjs +29 -141
- package/fesm2022/agorapulse-ui-components-textarea.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components.mjs +3 -3
- package/fesm2022/agorapulse-ui-components.mjs.map +1 -1
- package/form-field/form-field.component.d.ts +5 -0
- package/form-field/index.d.ts +5 -0
- package/form-field/public_api.d.ts +1 -0
- package/form-message/form-message.component.d.ts +12 -0
- package/form-message/index.d.ts +5 -0
- package/form-message/public_api.d.ts +1 -0
- package/index.d.ts +3 -3
- package/input/input.directive.d.ts +7 -0
- package/input/public_api.d.ts +1 -1
- package/input-group/index.d.ts +5 -0
- package/input-group/input-group.component.d.ts +6 -0
- package/input-group/public_api.d.ts +1 -0
- package/legacy/input/index.d.ts +5 -0
- package/{input → legacy/input}/input.component.d.ts +3 -0
- package/legacy/input/public_api.d.ts +1 -0
- package/legacy/select/index.d.ts +5 -0
- package/legacy/select/public_api.d.ts +1 -0
- package/{select → legacy/select}/select.component.d.ts +4 -1
- package/legacy/textarea/index.d.ts +5 -0
- package/legacy/textarea/public_api.d.ts +1 -0
- package/{textarea → legacy/textarea}/textarea.component.d.ts +3 -0
- package/package.json +37 -1
- package/select/ap-select.module.d.ts +16 -0
- package/select/dropdown-group-item/dropdown-group-item.component.d.ts +16 -0
- package/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.d.ts +20 -0
- package/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.d.ts +21 -0
- package/select/dropdown-item-single-one-line/dropdown-item-single-one-line.component.d.ts +12 -0
- package/select/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.d.ts +13 -0
- package/select/dropdown-search-form/dropdown-search-form.component.d.ts +22 -0
- package/select/public_api.d.ts +12 -1
- package/select/select-base.directive.d.ts +18 -0
- package/select/select-label-multiple/select-label-multiple.component.d.ts +29 -0
- package/select/select-label-single/select-label-single.component.d.ts +8 -0
- package/select/select-multiple.directive.d.ts +10 -0
- package/select/select-single.directive.d.ts +10 -0
- package/snackbars-thread/component/snackbars-thread.component.d.ts +1 -1
- package/textarea/public_api.d.ts +1 -1
- package/textarea/textarea.directive.d.ts +11 -0
- package/agorapulse-ui-components-16.2.22.tgz +0 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { LoaderComponent } from '@agorapulse/ui-animations';
|
|
2
|
+
import { InputDirective } from '@agorapulse/ui-components/input';
|
|
3
|
+
import { InputGroupComponent } from '@agorapulse/ui-components/input-group';
|
|
4
|
+
import { SymbolComponent } from '@agorapulse/ui-symbol';
|
|
5
|
+
import { NgIf } from '@angular/common';
|
|
6
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, TemplateRef, ViewChild, ViewEncapsulation, signal, } from '@angular/core';
|
|
7
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
8
|
+
import { FormsModule } from '@angular/forms';
|
|
9
|
+
import { BehaviorSubject, filter } from 'rxjs';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@angular/forms";
|
|
12
|
+
export class DropdownSearchFormComponent {
|
|
13
|
+
searchPlaceholder = '';
|
|
14
|
+
createNewEnabled = false;
|
|
15
|
+
createText = 'Create';
|
|
16
|
+
select;
|
|
17
|
+
inputSearch;
|
|
18
|
+
notFoundTpl;
|
|
19
|
+
loadingTpl;
|
|
20
|
+
createNewTpl;
|
|
21
|
+
createNew = new EventEmitter();
|
|
22
|
+
searchTermSignal = signal('');
|
|
23
|
+
searchTerm$ = new BehaviorSubject('');
|
|
24
|
+
constructor() {
|
|
25
|
+
this.searchTerm$
|
|
26
|
+
.pipe(filter(() => !!this.select), takeUntilDestroyed())
|
|
27
|
+
.subscribe(term => {
|
|
28
|
+
this.searchTermSignal.set(term);
|
|
29
|
+
this.select.filter(term);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
ngAfterViewInit() {
|
|
33
|
+
setTimeout(() => {
|
|
34
|
+
this.inputSearch.nativeElement.focus();
|
|
35
|
+
}, 100);
|
|
36
|
+
this.select.notFoundTemplate = this.notFoundTpl;
|
|
37
|
+
this.select.loadingTextTemplate = this.loadingTpl;
|
|
38
|
+
if (this.createNewEnabled) {
|
|
39
|
+
this.select.footerTemplate = this.createNewTpl;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
onCreateNew() {
|
|
43
|
+
this.createNew.emit(this.searchTermSignal());
|
|
44
|
+
}
|
|
45
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: DropdownSearchFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: DropdownSearchFormComponent, isStandalone: true, selector: "ap-dropdown-search-form", inputs: { searchPlaceholder: "searchPlaceholder", createNewEnabled: "createNewEnabled", createText: "createText", select: "select" }, outputs: { createNew: "createNew" }, viewQueries: [{ propertyName: "inputSearch", first: true, predicate: ["inputSearch"], descendants: true }, { propertyName: "notFoundTpl", first: true, predicate: ["notFoundTpl"], descendants: true, read: TemplateRef }, { propertyName: "loadingTpl", first: true, predicate: ["loadingTpl"], descendants: true, read: TemplateRef }, { propertyName: "createNewTpl", first: true, predicate: ["createNewTpl"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<ap-input-group class=\"dropdown-search-input\">\n <ap-symbol symbolId=\"search-alternate\" />\n <input\n #inputSearch\n apInput\n [placeholder]=\"searchPlaceholder\"\n [ngModel]=\"searchTermSignal()\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n</ap-input-group>\n\n<ng-template #notFoundTpl>\n <div class=\"option not-found\">\n <span>{{ select.notFoundText ? select.notFoundText : 'Not found text' }}</span>\n </div>\n</ng-template>\n\n<ng-template #loadingTpl>\n <div class=\"loading-state\">\n <ap-loader diameter=\"30\" />\n <span>\n {{ select.loadingText ? select.loadingText : 'Loading Items'}}\n </span>\n </div>\n</ng-template>\n\n<ng-template #createNewTpl let-searchTerm=\"searchTerm\">\n <button\n class=\"create-new\"\n type=\"button\"\n (click)=\"onCreateNew()\">\n <ap-symbol\n symbolId=\"add-2022\"\n size=\"micro\" />\n <span>\n {{ createText }}\n </span>\n <ng-container *ngIf=\"searchTerm\">\"{{ searchTerm }}\"</ng-container>\n </button>\n</ng-template>", styles: ["ap-dropdown-search-form .dropdown-search-input .ap-input-group{width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputGroupComponent, selector: "ap-input-group", inputs: ["symbolPosition"] }, { kind: "directive", type: InputDirective, selector: "[apInput]" }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LoaderComponent, selector: "ap-loader", inputs: ["color", "diameter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: DropdownSearchFormComponent, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{ selector: 'ap-dropdown-search-form', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [NgIf, InputGroupComponent, InputDirective, SymbolComponent, FormsModule, LoaderComponent], template: "<ap-input-group class=\"dropdown-search-input\">\n <ap-symbol symbolId=\"search-alternate\" />\n <input\n #inputSearch\n apInput\n [placeholder]=\"searchPlaceholder\"\n [ngModel]=\"searchTermSignal()\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n</ap-input-group>\n\n<ng-template #notFoundTpl>\n <div class=\"option not-found\">\n <span>{{ select.notFoundText ? select.notFoundText : 'Not found text' }}</span>\n </div>\n</ng-template>\n\n<ng-template #loadingTpl>\n <div class=\"loading-state\">\n <ap-loader diameter=\"30\" />\n <span>\n {{ select.loadingText ? select.loadingText : 'Loading Items'}}\n </span>\n </div>\n</ng-template>\n\n<ng-template #createNewTpl let-searchTerm=\"searchTerm\">\n <button\n class=\"create-new\"\n type=\"button\"\n (click)=\"onCreateNew()\">\n <ap-symbol\n symbolId=\"add-2022\"\n size=\"micro\" />\n <span>\n {{ createText }}\n </span>\n <ng-container *ngIf=\"searchTerm\">\"{{ searchTerm }}\"</ng-container>\n </button>\n</ng-template>", styles: ["ap-dropdown-search-form .dropdown-search-input .ap-input-group{width:100%}\n"] }]
|
|
51
|
+
}], ctorParameters: function () { return []; }, propDecorators: { searchPlaceholder: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], createNewEnabled: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}], createText: [{
|
|
56
|
+
type: Input
|
|
57
|
+
}], select: [{
|
|
58
|
+
type: Input,
|
|
59
|
+
args: [{
|
|
60
|
+
required: true,
|
|
61
|
+
}]
|
|
62
|
+
}], inputSearch: [{
|
|
63
|
+
type: ViewChild,
|
|
64
|
+
args: ['inputSearch']
|
|
65
|
+
}], notFoundTpl: [{
|
|
66
|
+
type: ViewChild,
|
|
67
|
+
args: ['notFoundTpl', { read: TemplateRef }]
|
|
68
|
+
}], loadingTpl: [{
|
|
69
|
+
type: ViewChild,
|
|
70
|
+
args: ['loadingTpl', { read: TemplateRef }]
|
|
71
|
+
}], createNewTpl: [{
|
|
72
|
+
type: ViewChild,
|
|
73
|
+
args: ['createNewTpl', { read: TemplateRef }]
|
|
74
|
+
}], createNew: [{
|
|
75
|
+
type: Output
|
|
76
|
+
}] } });
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VhcmNoLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NlbGVjdC9zcmMvZHJvcGRvd24tc2VhcmNoLWZvcm0vZHJvcGRvd24tc2VhcmNoLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NlbGVjdC9zcmMvZHJvcGRvd24tc2VhcmNoLWZvcm0vZHJvcGRvd24tc2VhcmNoLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQVcvQyxNQUFNLE9BQU8sMkJBQTJCO0lBQzNCLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUN2QixnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDekIsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUkvQixNQUFNLENBQXFCO0lBQ0QsV0FBVyxDQUFnQztJQUNwQixXQUFXLENBQW9CO0lBQ2hDLFVBQVUsQ0FBb0I7SUFDNUIsWUFBWSxDQUFvQjtJQUV4RSxTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVqRCxnQkFBZ0IsR0FBRyxNQUFNLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDdEMsV0FBVyxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRTlDO1FBQ0ksSUFBSSxDQUFDLFdBQVc7YUFDWCxJQUFJLENBQ0QsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQzNCLGtCQUFrQixFQUFFLENBQ3ZCO2FBQ0EsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxlQUFlO1FBQ1gsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUNsRDtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO3dHQTNDUSwyQkFBMkI7NEZBQTNCLDJCQUEyQixrYkFTRixXQUFXLG1HQUNaLFdBQVcsdUdBQ1QsV0FBVyw2QkMzQ2xELDJvQ0FzQ2Msc0lEUkEsSUFBSSw2RkFBRSxtQkFBbUIsdUZBQUUsY0FBYyxzREFBRSxlQUFlLDRGQUFFLFdBQVcsK21CQUFFLGVBQWU7OzRGQUV6RiwyQkFBMkI7a0JBVHZDLFNBQVM7K0JBQ0kseUJBQXlCLGNBR3ZCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxXQUM1QixDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUM7MEVBRzFGLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFJTixNQUFNO3NCQUhMLEtBQUs7dUJBQUM7d0JBQ0gsUUFBUSxFQUFFLElBQUk7cUJBQ2pCO2dCQUV5QixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ3lCLFdBQVc7c0JBQTNELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDQyxVQUFVO3NCQUF6RCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQ0ksWUFBWTtzQkFBN0QsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUV0QyxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBJbnB1dERpcmVjdGl2ZSB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvaW5wdXQnO1xuaW1wb3J0IHsgSW5wdXRHcm91cENvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvaW5wdXQtZ3JvdXAnO1xuaW1wb3J0IHsgU3ltYm9sQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktc3ltYm9sJztcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcC1kcm9wZG93bi1zZWFyY2gtZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLXNlYXJjaC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1zZWFyY2gtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgSW5wdXRHcm91cENvbXBvbmVudCwgSW5wdXREaXJlY3RpdmUsIFN5bWJvbENvbXBvbmVudCwgRm9ybXNNb2R1bGUsIExvYWRlckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duU2VhcmNoRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpIHNlYXJjaFBsYWNlaG9sZGVyID0gJyc7XG4gICAgQElucHV0KCkgY3JlYXRlTmV3RW5hYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGNyZWF0ZVRleHQgPSAnQ3JlYXRlJztcbiAgICBASW5wdXQoe1xuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB9KVxuICAgIHNlbGVjdCE6IE5nU2VsZWN0Q29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ2lucHV0U2VhcmNoJykgaW5wdXRTZWFyY2ghOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ25vdEZvdW5kVHBsJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBub3RGb3VuZFRwbCE6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQFZpZXdDaGlsZCgnbG9hZGluZ1RwbCcsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgbG9hZGluZ1RwbCE6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQFZpZXdDaGlsZCgnY3JlYXRlTmV3VHBsJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBjcmVhdGVOZXdUcGwhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQE91dHB1dCgpIGNyZWF0ZU5ldyA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgc2VhcmNoVGVybVNpZ25hbCA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgICBzZWFyY2hUZXJtJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICEhdGhpcy5zZWxlY3QpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRlcm0gPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoVGVybVNpZ25hbC5zZXQodGVybSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QuZmlsdGVyKHRlcm0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRTZWFyY2gubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9LCAxMDApO1xuICAgICAgICB0aGlzLnNlbGVjdC5ub3RGb3VuZFRlbXBsYXRlID0gdGhpcy5ub3RGb3VuZFRwbDtcbiAgICAgICAgdGhpcy5zZWxlY3QubG9hZGluZ1RleHRUZW1wbGF0ZSA9IHRoaXMubG9hZGluZ1RwbDtcbiAgICAgICAgaWYgKHRoaXMuY3JlYXRlTmV3RW5hYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3QuZm9vdGVyVGVtcGxhdGUgPSB0aGlzLmNyZWF0ZU5ld1RwbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ3JlYXRlTmV3KCkge1xuICAgICAgICB0aGlzLmNyZWF0ZU5ldy5lbWl0KHRoaXMuc2VhcmNoVGVybVNpZ25hbCgpKTtcbiAgICB9XG59XG4iLCI8YXAtaW5wdXQtZ3JvdXAgY2xhc3M9XCJkcm9wZG93bi1zZWFyY2gtaW5wdXRcIj5cbiAgICA8YXAtc3ltYm9sIHN5bWJvbElkPVwic2VhcmNoLWFsdGVybmF0ZVwiIC8+XG4gICAgPGlucHV0XG4gICAgICAgICNpbnB1dFNlYXJjaFxuICAgICAgICBhcElucHV0XG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlclwiXG4gICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaFRlcm1TaWduYWwoKVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlYXJjaFRlcm0kLm5leHQoJGV2ZW50KVwiIC8+XG48L2FwLWlucHV0LWdyb3VwPlxuXG48bmctdGVtcGxhdGUgI25vdEZvdW5kVHBsPlxuICAgIDxkaXYgY2xhc3M9XCJvcHRpb24gbm90LWZvdW5kXCI+XG4gICAgICAgIDxzcGFuPnt7IHNlbGVjdC5ub3RGb3VuZFRleHQgPyBzZWxlY3Qubm90Rm91bmRUZXh0IDogJ05vdCBmb3VuZCB0ZXh0JyB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZ1RwbD5cbiAgICA8ZGl2IGNsYXNzPVwibG9hZGluZy1zdGF0ZVwiPlxuICAgICAgICA8YXAtbG9hZGVyIGRpYW1ldGVyPVwiMzBcIiAvPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgIHt7IHNlbGVjdC5sb2FkaW5nVGV4dCA/IHNlbGVjdC5sb2FkaW5nVGV4dCA6ICdMb2FkaW5nIEl0ZW1zJ319XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY3JlYXRlTmV3VHBsIGxldC1zZWFyY2hUZXJtPVwic2VhcmNoVGVybVwiPlxuICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJjcmVhdGUtbmV3XCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJvbkNyZWF0ZU5ldygpXCI+XG4gICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgIHN5bWJvbElkPVwiYWRkLTIwMjJcIlxuICAgICAgICAgICAgc2l6ZT1cIm1pY3JvXCIgLz5cbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICB7eyBjcmVhdGVUZXh0IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlYXJjaFRlcm1cIj5cInt7IHNlYXJjaFRlcm0gfX1cIjwvbmctY29udGFpbmVyPlxuICAgIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -1,2 +1,13 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
1
|
+
export { ApSelectModule } from './ap-select.module';
|
|
2
|
+
export { DropdownGroupItemComponent } from './dropdown-group-item/dropdown-group-item.component';
|
|
3
|
+
export { DropdownItemMultipleOneLineComponent } from './dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component';
|
|
4
|
+
export { DropdownItemMultipleTwoLinesComponent } from './dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component';
|
|
5
|
+
export { DropdownItemSingleOneLineComponent } from './dropdown-item-single-one-line/dropdown-item-single-one-line.component';
|
|
6
|
+
export { DropdownItemSingleTwoLinesComponent } from './dropdown-item-single-two-lines/dropdown-item-single-two-lines.component';
|
|
7
|
+
export { DropdownSearchFormComponent } from './dropdown-search-form/dropdown-search-form.component';
|
|
8
|
+
export { SelectBaseDirective } from './select-base.directive';
|
|
9
|
+
export { SelectLabelMultipleComponent } from './select-label-multiple/select-label-multiple.component';
|
|
10
|
+
export { SelectLabelSingleComponent } from './select-label-single/select-label-single.component';
|
|
11
|
+
export { SelectMultipleDirective } from './select-multiple.directive';
|
|
12
|
+
export { SelectSingleDirective } from './select-single.directive';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zZWxlY3Qvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBQ25JLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQzdILE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQXBTZWxlY3RNb2R1bGUgfSBmcm9tICcuL2FwLXNlbGVjdC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJvcGRvd25Hcm91cEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLWdyb3VwLWl0ZW0vZHJvcGRvd24tZ3JvdXAtaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0IHsgRHJvcGRvd25JdGVtTXVsdGlwbGVPbmVMaW5lQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1pdGVtLW11bHRpcGxlLW9uZS1saW5lL2Ryb3Bkb3duLWl0ZW0tbXVsdGlwbGUtb25lLWxpbmUuY29tcG9uZW50JztcbmV4cG9ydCB7IERyb3Bkb3duSXRlbU11bHRpcGxlVHdvTGluZXNDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLWl0ZW0tbXVsdGlwbGUtdHdvLWxpbmVzL2Ryb3Bkb3duLWl0ZW0tbXVsdGlwbGUtdHdvLWxpbmVzLmNvbXBvbmVudCc7XG5leHBvcnQgeyBEcm9wZG93bkl0ZW1TaW5nbGVPbmVMaW5lQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1pdGVtLXNpbmdsZS1vbmUtbGluZS9kcm9wZG93bi1pdGVtLXNpbmdsZS1vbmUtbGluZS5jb21wb25lbnQnO1xuZXhwb3J0IHsgRHJvcGRvd25JdGVtU2luZ2xlVHdvTGluZXNDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLWl0ZW0tc2luZ2xlLXR3by1saW5lcy9kcm9wZG93bi1pdGVtLXNpbmdsZS10d28tbGluZXMuY29tcG9uZW50JztcbmV4cG9ydCB7IERyb3Bkb3duU2VhcmNoRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tc2VhcmNoLWZvcm0vZHJvcGRvd24tc2VhcmNoLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCB7IFNlbGVjdEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1iYXNlLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTZWxlY3RMYWJlbE11bHRpcGxlQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtbGFiZWwtbXVsdGlwbGUvc2VsZWN0LWxhYmVsLW11bHRpcGxlLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTZWxlY3RMYWJlbFNpbmdsZUNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LWxhYmVsLXNpbmdsZS9zZWxlY3QtbGFiZWwtc2luZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTZWxlY3RNdWx0aXBsZURpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0LW11bHRpcGxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTZWxlY3RTaW5nbGVEaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1zaW5nbGUuZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { SymbolComponent, SymbolRegistry, apAdd2022, apCheck2 } from '@agorapulse/ui-symbol';
|
|
2
|
+
import { Directive, ElementRef, Input, Renderer2, ViewContainerRef, inject } from '@angular/core';
|
|
3
|
+
import { NgSelectComponent } from '@ng-select/ng-select';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class SelectBaseDirective {
|
|
6
|
+
inlineLabel;
|
|
7
|
+
symbolId;
|
|
8
|
+
selectComponent = inject(NgSelectComponent);
|
|
9
|
+
el = inject(ElementRef);
|
|
10
|
+
renderer = inject(Renderer2);
|
|
11
|
+
viewContainerRef = inject(ViewContainerRef);
|
|
12
|
+
symbolRegistry = inject(SymbolRegistry);
|
|
13
|
+
constructor() {
|
|
14
|
+
this.selectComponent.appendTo = 'body';
|
|
15
|
+
this.selectComponent.searchable = false;
|
|
16
|
+
this.selectComponent.clearable = false;
|
|
17
|
+
this.selectComponent.markFirst = false;
|
|
18
|
+
this.selectComponent.selectableGroupAsModel = false;
|
|
19
|
+
this.selectComponent.tabIndex = 0;
|
|
20
|
+
this.symbolRegistry.registerSymbols([apCheck2, apAdd2022]);
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
if (this.symbolId) {
|
|
24
|
+
this.addInlineSymbol(this.symbolId);
|
|
25
|
+
}
|
|
26
|
+
if (this.inlineLabel) {
|
|
27
|
+
this.addInlineLabel(this.inlineLabel);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
ngAfterViewInit() {
|
|
31
|
+
if (!this.selectComponent.optionTemplate) {
|
|
32
|
+
throw new Error('optionTemplate is required for apSelect');
|
|
33
|
+
}
|
|
34
|
+
if (this.selectComponent.groupBy && !this.selectComponent.optgroupTemplate) {
|
|
35
|
+
throw new Error('optgroupTemplate is required for apSelect');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
addInlineSymbol(symbolId) {
|
|
39
|
+
const componentRef = this.viewContainerRef.createComponent(SymbolComponent);
|
|
40
|
+
componentRef.instance.symbolId = symbolId;
|
|
41
|
+
componentRef.location.nativeElement.classList.add('inline-symbol');
|
|
42
|
+
// add class to component
|
|
43
|
+
this.renderer.insertBefore(this.el.nativeElement.getElementsByClassName('ng-select-container').item(0), componentRef.location.nativeElement, this.el.nativeElement.getElementsByClassName('ng-value-container').item(0));
|
|
44
|
+
}
|
|
45
|
+
addInlineLabel(label) {
|
|
46
|
+
const labelElement = this.renderer.createElement('label');
|
|
47
|
+
this.renderer.setProperty(labelElement, 'textContent', label);
|
|
48
|
+
this.renderer.addClass(labelElement, 'inline-label'); // Add appropriate CSS class
|
|
49
|
+
this.renderer.insertBefore(this.el.nativeElement.getElementsByClassName('ng-select-container').item(0), labelElement, this.el.nativeElement.getElementsByClassName('ng-value-container').item(0));
|
|
50
|
+
}
|
|
51
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
52
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.10", type: SelectBaseDirective, isStandalone: true, selector: "ng-select[apSelect]", inputs: { inlineLabel: "inlineLabel", symbolId: "symbolId" }, host: { classAttribute: "ap-select" }, ngImport: i0 });
|
|
53
|
+
}
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectBaseDirective, decorators: [{
|
|
55
|
+
type: Directive,
|
|
56
|
+
args: [{
|
|
57
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
58
|
+
selector: 'ng-select[apSelect]',
|
|
59
|
+
standalone: true,
|
|
60
|
+
host: {
|
|
61
|
+
class: 'ap-select',
|
|
62
|
+
},
|
|
63
|
+
}]
|
|
64
|
+
}], ctorParameters: function () { return []; }, propDecorators: { inlineLabel: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], symbolId: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}] } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJhc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NlbGVjdC9zcmMvc2VsZWN0LWJhc2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RixPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBVXpELE1BQU0sT0FBTyxtQkFBbUI7SUFDbkIsV0FBVyxDQUFVO0lBQ3JCLFFBQVEsQ0FBVTtJQUVWLGVBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyRCxFQUFFLEdBQTRCLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqRCxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdCLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFaEQ7UUFDSSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFDcEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN2QztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN6QztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxFQUFFO1lBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztTQUM5RDtRQUNELElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixFQUFFO1lBQ3hFLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztTQUNoRTtJQUNMLENBQUM7SUFFTyxlQUFlLENBQUMsUUFBZ0I7UUFDcEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM1RSxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDMUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuRSx5QkFBeUI7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQ3RCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUMzRSxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFDbkMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQzdFLENBQUM7SUFDTixDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQWE7UUFDaEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyw0QkFBNEI7UUFDbEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQ3RCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUMzRSxZQUFZLEVBQ1osSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQzdFLENBQUM7SUFDTixDQUFDO3dHQTNEUSxtQkFBbUI7NEZBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFSL0IsU0FBUzttQkFBQztvQkFDUCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLFdBQVc7cUJBQ3JCO2lCQUNKOzBFQUVZLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN5bWJvbENvbXBvbmVudCwgU3ltYm9sUmVnaXN0cnksIGFwQWRkMjAyMiwgYXBDaGVjazIgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wnO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIsIFZpZXdDb250YWluZXJSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdTZWxlY3RDb21wb25lbnQgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICduZy1zZWxlY3RbYXBTZWxlY3RdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdhcC1zZWxlY3QnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpIGlubGluZUxhYmVsPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHN5bWJvbElkPzogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWxlY3RDb21wb25lbnQgPSBpbmplY3QoTmdTZWxlY3RDb21wb25lbnQpO1xuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gICAgcHJpdmF0ZSBzeW1ib2xSZWdpc3RyeSA9IGluamVjdChTeW1ib2xSZWdpc3RyeSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RDb21wb25lbnQuYXBwZW5kVG8gPSAnYm9keSc7XG4gICAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50LnNlYXJjaGFibGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RDb21wb25lbnQuY2xlYXJhYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50Lm1hcmtGaXJzdCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdENvbXBvbmVudC5zZWxlY3RhYmxlR3JvdXBBc01vZGVsID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50LnRhYkluZGV4ID0gMDtcbiAgICAgICAgdGhpcy5zeW1ib2xSZWdpc3RyeS5yZWdpc3RlclN5bWJvbHMoW2FwQ2hlY2syLCBhcEFkZDIwMjJdKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc3ltYm9sSWQpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkSW5saW5lU3ltYm9sKHRoaXMuc3ltYm9sSWQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlubGluZUxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLmFkZElubGluZUxhYmVsKHRoaXMuaW5saW5lTGFiZWwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0Q29tcG9uZW50Lm9wdGlvblRlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ29wdGlvblRlbXBsYXRlIGlzIHJlcXVpcmVkIGZvciBhcFNlbGVjdCcpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdENvbXBvbmVudC5ncm91cEJ5ICYmICF0aGlzLnNlbGVjdENvbXBvbmVudC5vcHRncm91cFRlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ29wdGdyb3VwVGVtcGxhdGUgaXMgcmVxdWlyZWQgZm9yIGFwU2VsZWN0Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZElubGluZVN5bWJvbChzeW1ib2xJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoU3ltYm9sQ29tcG9uZW50KTtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnN5bWJvbElkID0gc3ltYm9sSWQ7XG4gICAgICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2lubGluZS1zeW1ib2wnKTtcbiAgICAgICAgLy8gYWRkIGNsYXNzIHRvIGNvbXBvbmVudFxuICAgICAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCduZy1zZWxlY3QtY29udGFpbmVyJykuaXRlbSgwKSxcbiAgICAgICAgICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ25nLXZhbHVlLWNvbnRhaW5lcicpLml0ZW0oMClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZElubGluZUxhYmVsKGxhYmVsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGFiZWxFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdsYWJlbCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KGxhYmVsRWxlbWVudCwgJ3RleHRDb250ZW50JywgbGFiZWwpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGxhYmVsRWxlbWVudCwgJ2lubGluZS1sYWJlbCcpOyAvLyBBZGQgYXBwcm9wcmlhdGUgQ1NTIGNsYXNzXG4gICAgICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKFxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ25nLXNlbGVjdC1jb250YWluZXInKS5pdGVtKDApLFxuICAgICAgICAgICAgbGFiZWxFbGVtZW50LFxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ25nLXZhbHVlLWNvbnRhaW5lcicpLml0ZW0oMClcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { AvatarComponent } from '@agorapulse/ui-components/avatar';
|
|
2
|
+
import { LabelComponent } from '@agorapulse/ui-components/labels';
|
|
3
|
+
import { TagComponent } from '@agorapulse/ui-components/tag';
|
|
4
|
+
import { NgFor, NgIf } from '@angular/common';
|
|
5
|
+
import { ChangeDetectionStrategy, Component, ElementRef, EnvironmentInjector, EventEmitter, Input, Output, ViewEncapsulation, computed, effect, inject, runInInjectionContext, signal, } from '@angular/core';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class SelectLabelMultipleComponent {
|
|
8
|
+
set _displayType(displayType) {
|
|
9
|
+
this.displayTypeSignal.set(displayType);
|
|
10
|
+
}
|
|
11
|
+
set _selectedItems(selectedItems) {
|
|
12
|
+
if (selectedItems.length !== this.selectedItemsSignal().length ||
|
|
13
|
+
selectedItems.some(item => this.selectedItemsSignal().indexOf(item) === -1)) {
|
|
14
|
+
this.selectedItemsSignal.set(selectedItems);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
set _bindLabel(bindLabel) {
|
|
18
|
+
this.bindLabelSignal.set(bindLabel);
|
|
19
|
+
}
|
|
20
|
+
set _bindValue(bindValue) {
|
|
21
|
+
this.bindValueSignal.set(bindValue);
|
|
22
|
+
}
|
|
23
|
+
set _bindAvatarUrl(bindAvatarUrl) {
|
|
24
|
+
this.bindAvatarUrlSignal.set(bindAvatarUrl);
|
|
25
|
+
}
|
|
26
|
+
removeItem = new EventEmitter();
|
|
27
|
+
elementRef = inject(ElementRef);
|
|
28
|
+
injector = inject(EnvironmentInjector);
|
|
29
|
+
displayTypeSignal = signal('label');
|
|
30
|
+
selectedItemsSignal = signal([]);
|
|
31
|
+
bindLabelSignal = signal('');
|
|
32
|
+
bindValueSignal = signal('');
|
|
33
|
+
bindAvatarUrlSignal = signal('');
|
|
34
|
+
selectedLabels = computed(() => {
|
|
35
|
+
return this.selectedItemsSignal().map(item => {
|
|
36
|
+
return {
|
|
37
|
+
label: this.bindLabelSignal() ? item[this.bindLabelSignal()] : item,
|
|
38
|
+
avatarUrl: this.bindAvatarUrlSignal() ? item[this.bindAvatarUrlSignal()] : '',
|
|
39
|
+
value: item,
|
|
40
|
+
};
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
valueContainerWidth = signal(0);
|
|
44
|
+
hiddenCountSignal = signal(0);
|
|
45
|
+
trackByItem = (_, item) => (this.bindValueSignal() ? item.value[this.bindValueSignal()] : item.value);
|
|
46
|
+
ngAfterViewInit() {
|
|
47
|
+
const parentWidth = this.elementRef.nativeElement.parentElement?.offsetWidth;
|
|
48
|
+
this.valueContainerWidth.set(parentWidth ?? 0);
|
|
49
|
+
runInInjectionContext(this.injector, () => {
|
|
50
|
+
effect(() => {
|
|
51
|
+
const selectedValues = this.selectedItemsSignal();
|
|
52
|
+
const selectValueContainerWidthSignal = this.valueContainerWidth() - 30;
|
|
53
|
+
const timeout = setTimeout(() => {
|
|
54
|
+
this.calculateResponsiveLabels(selectValueContainerWidthSignal, selectedValues);
|
|
55
|
+
}, 100);
|
|
56
|
+
return () => {
|
|
57
|
+
clearTimeout(timeout);
|
|
58
|
+
};
|
|
59
|
+
}, {
|
|
60
|
+
allowSignalWrites: true,
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
calculateResponsiveLabels(containerWidth, selectedValues) {
|
|
65
|
+
if (containerWidth === 0 || !selectedValues.length) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
let totalWidth = 0;
|
|
69
|
+
let hiddenCount = 0;
|
|
70
|
+
const itemGap = 4;
|
|
71
|
+
const items = this.elementRef.nativeElement.getElementsByClassName('item');
|
|
72
|
+
for (let index = 0; index < items.length; index++) {
|
|
73
|
+
const item = items[index];
|
|
74
|
+
const itemWidth = item.clientWidth + itemGap;
|
|
75
|
+
if (totalWidth + itemWidth < containerWidth && !hiddenCount) {
|
|
76
|
+
totalWidth += itemWidth;
|
|
77
|
+
item.style.visibility = 'visible';
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
item.style.visibility = 'hidden';
|
|
81
|
+
hiddenCount++;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
this.elementRef.nativeElement.getElementsByClassName('multiple-item')[0].style.maxWidth = `${totalWidth}px`;
|
|
85
|
+
this.hiddenCountSignal.set(hiddenCount);
|
|
86
|
+
}
|
|
87
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectLabelMultipleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
88
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: SelectLabelMultipleComponent, isStandalone: true, selector: "ap-select-label-multiple", inputs: { _displayType: ["displayType", "_displayType"], _selectedItems: ["selectedItems", "_selectedItems"], _bindLabel: ["bindLabel", "_bindLabel"], _bindValue: ["bindValue", "_bindValue"], _bindAvatarUrl: ["bindAvatarUrl", "_bindAvatarUrl"] }, outputs: { removeItem: "removeItem" }, ngImport: i0, template: "<div class=\"multiple-item\">\n <ng-container *ngFor=\"let item of selectedLabels(); trackBy: trackByItem\">\n <ap-label\n *ngIf=\"displayTypeSignal() === 'label'\"\n class=\"item\"\n color=\"blue\"\n removable=\"true\"\n [content]=\"item.label\"\n (remove)=\"removeItem.emit(item.value)\" />\n <ap-tag\n *ngIf=\"displayTypeSignal() === 'tag'\"\n class=\"item text-item\"\n clearable=\"true\"\n color=\"grey\"\n (clear)=\"removeItem.emit(item.value)\">\n <ap-avatar\n *ngIf=\"item.avatarUrl\"\n [size]=\"16\"\n [profilePicture]=\"item.avatarUrl\"\n [username]=\"item.label\"\n [showInitials]=\"true\" />\n {{ item.label }}\n </ap-tag>\n </ng-container>\n</div>\n<div\n *ngIf=\"hiddenCountSignal() > 0\"\n class=\"remaining\">\n <ap-tag\n *ngIf=\"displayTypeSignal() === 'tag'\"\n class=\"text-item\"\n color=\"grey\"\n clearable=\"false\">\n +{{ hiddenCountSignal() }}\n </ap-tag>\n <ap-label\n *ngIf=\"displayTypeSignal() === 'label'\"\n color=\"blue\"\n removable=\"false\"\n [content]=\"'+' + hiddenCountSignal()\" />\n</div>\n", styles: ["ap-select-label-multiple{display:flex}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LabelComponent, selector: "ap-label", inputs: ["content", "selectorWidth", "removable"], outputs: ["remove"] }, { kind: "component", type: TagComponent, selector: "ap-tag", inputs: ["clearable", "color"], outputs: ["clear"] }, { kind: "component", type: AvatarComponent, selector: "ap-avatar", inputs: ["alternativeText", "anonymous", "username", "network", "online", "profilePicture", "showInitials", "alt", "rounded", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
89
|
+
}
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectLabelMultipleComponent, decorators: [{
|
|
91
|
+
type: Component,
|
|
92
|
+
args: [{ selector: 'ap-select-label-multiple', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgFor, NgIf, LabelComponent, TagComponent, AvatarComponent], template: "<div class=\"multiple-item\">\n <ng-container *ngFor=\"let item of selectedLabels(); trackBy: trackByItem\">\n <ap-label\n *ngIf=\"displayTypeSignal() === 'label'\"\n class=\"item\"\n color=\"blue\"\n removable=\"true\"\n [content]=\"item.label\"\n (remove)=\"removeItem.emit(item.value)\" />\n <ap-tag\n *ngIf=\"displayTypeSignal() === 'tag'\"\n class=\"item text-item\"\n clearable=\"true\"\n color=\"grey\"\n (clear)=\"removeItem.emit(item.value)\">\n <ap-avatar\n *ngIf=\"item.avatarUrl\"\n [size]=\"16\"\n [profilePicture]=\"item.avatarUrl\"\n [username]=\"item.label\"\n [showInitials]=\"true\" />\n {{ item.label }}\n </ap-tag>\n </ng-container>\n</div>\n<div\n *ngIf=\"hiddenCountSignal() > 0\"\n class=\"remaining\">\n <ap-tag\n *ngIf=\"displayTypeSignal() === 'tag'\"\n class=\"text-item\"\n color=\"grey\"\n clearable=\"false\">\n +{{ hiddenCountSignal() }}\n </ap-tag>\n <ap-label\n *ngIf=\"displayTypeSignal() === 'label'\"\n color=\"blue\"\n removable=\"false\"\n [content]=\"'+' + hiddenCountSignal()\" />\n</div>\n", styles: ["ap-select-label-multiple{display:flex}\n"] }]
|
|
93
|
+
}], propDecorators: { _displayType: [{
|
|
94
|
+
type: Input,
|
|
95
|
+
args: [{ alias: 'displayType' }]
|
|
96
|
+
}], _selectedItems: [{
|
|
97
|
+
type: Input,
|
|
98
|
+
args: [{ required: true, alias: 'selectedItems' }]
|
|
99
|
+
}], _bindLabel: [{
|
|
100
|
+
type: Input,
|
|
101
|
+
args: [{ alias: 'bindLabel' }]
|
|
102
|
+
}], _bindValue: [{
|
|
103
|
+
type: Input,
|
|
104
|
+
args: [{ alias: 'bindValue' }]
|
|
105
|
+
}], _bindAvatarUrl: [{
|
|
106
|
+
type: Input,
|
|
107
|
+
args: [{ alias: 'bindAvatarUrl' }]
|
|
108
|
+
}], removeItem: [{
|
|
109
|
+
type: Output
|
|
110
|
+
}] } });
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWxhYmVsLW11bHRpcGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zZWxlY3Qvc3JjL3NlbGVjdC1sYWJlbC1tdWx0aXBsZS9zZWxlY3QtbGFiZWwtbXVsdGlwbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NlbGVjdC9zcmMvc2VsZWN0LWxhYmVsLW11bHRpcGxlL3NlbGVjdC1sYWJlbC1tdWx0aXBsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLHFCQUFxQixFQUNyQixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7O0FBV3ZCLE1BQU0sT0FBTyw0QkFBNEI7SUFDckMsSUFBcUMsWUFBWSxDQUFDLFdBQTRCO1FBQzFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQXVELGNBQWMsQ0FBQyxhQUFvQjtRQUN0RixJQUNJLGFBQWEsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsTUFBTTtZQUMxRCxhQUFhLENBQUMsSUFBSSxD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QUM7YUFDakI7U0FDSjtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsR0FBRyxVQUFVLElBQUksQ0FBQztRQUM1RyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7d0dBM0ZRLDRCQUE0Qjs0RkFBNUIsNEJBQTRCLGtYQzlCekMsMjBDQXlDQSxrR0RiYyxLQUFLLG1IQUFFLElBQUksNkZBQUUsY0FBYyw2SEFBRSxZQUFZLHVHQUFFLGVBQWU7OzRGQUUzRCw0QkFBNEI7a0JBVHhDLFNBQVM7K0JBQ0ksMEJBQTBCLGNBR3hCLElBQUksaUJBQ0QsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxlQUFlLENBQUM7OEJBR2hDLFlBQVk7c0JBQWhELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFO2dCQUd3QixjQUFjO3NCQUFwRSxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFO2dCQVFkLFVBQVU7c0JBQTVDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO2dCQUdNLFVBQVU7c0JBQTVDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO2dCQUdVLGNBQWM7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFO2dCQUd2QixVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy9hdmF0YXInO1xuaW1wb3J0IHsgTGFiZWxDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2xhYmVscyc7XG5pbXBvcnQgeyBUYWdDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL3RhZyc7XG5pbXBvcnQgeyBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGNvbXB1dGVkLFxuICAgIGVmZmVjdCxcbiAgICBpbmplY3QsXG4gICAgcnVuSW5JbmplY3Rpb25Db250ZXh0LFxuICAgIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXAtc2VsZWN0LWxhYmVsLW11bHRpcGxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWxhYmVsLW11bHRpcGxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtbGFiZWwtbXVsdGlwbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW05nRm9yLCBOZ0lmLCBMYWJlbENvbXBvbmVudCwgVGFnQ29tcG9uZW50LCBBdmF0YXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RMYWJlbE11bHRpcGxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KHsgYWxpYXM6ICdkaXNwbGF5VHlwZScgfSkgc2V0IF9kaXNwbGF5VHlwZShkaXNwbGF5VHlwZTogJ3RhZycgfCAnbGFiZWwnKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheVR5cGVTaWduYWwuc2V0KGRpc3BsYXlUeXBlKTtcbiAgICB9XG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUsIGFsaWFzOiAnc2VsZWN0ZWRJdGVtcycgfSkgc2V0IF9zZWxlY3RlZEl0ZW1zKHNlbGVjdGVkSXRlbXM6IGFueVtdKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbXMubGVuZ3RoICE9PSB0aGlzLnNlbGVjdGVkSXRlbXNTaWduYWwoKS5sZW5ndGggfHxcbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbXMuc29tZShpdGVtID0+IHRoaXMuc2VsZWN0ZWRJdGVtc1NpZ25hbCgpLmluZGV4T2YoaXRlbSkgPT09IC0xKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1NpZ25hbC5zZXQoc2VsZWN0ZWRJdGVtcyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQElucHV0KHsgYWxpYXM6ICdiaW5kTGFiZWwnIH0pIHNldCBfYmluZExhYmVsKGJpbmRMYWJlbDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuYmluZExhYmVsU2lnbmFsLnNldChiaW5kTGFiZWwpO1xuICAgIH1cbiAgICBASW5wdXQoeyBhbGlhczogJ2JpbmRWYWx1ZScgfSkgc2V0IF9iaW5kVmFsdWUoYmluZFZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5iaW5kVmFsdWVTaWduYWwuc2V0KGJpbmRWYWx1ZSk7XG4gICAgfVxuICAgIEBJbnB1dCh7IGFsaWFzOiAnYmluZEF2YXRhclVybCcgfSkgc2V0IF9iaW5kQXZhdGFyVXJsKGJpbmRBdmF0YXJVcmw6IHN0cmluZykge1xuICAgICAgICB0aGlzLmJpbmRBdmF0YXJVcmxTaWduYWwuc2V0KGJpbmRBdmF0YXJVcmwpO1xuICAgIH1cbiAgICBAT3V0cHV0KCkgcmVtb3ZlSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoRW52aXJvbm1lbnRJbmplY3Rvcik7XG5cbiAgICBkaXNwbGF5VHlwZVNpZ25hbCA9IHNpZ25hbDwndGFnJyB8ICdsYWJlbCc+KCdsYWJlbCcpO1xuICAgIHNlbGVjdGVkSXRlbXNTaWduYWwgPSBzaWduYWw8YW55W10+KFtdKTtcbiAgICBiaW5kTGFiZWxTaWduYWwgPSBzaWduYWwoJycpO1xuICAgIGJpbmRWYWx1ZVNpZ25hbCA9IHNpZ25hbCgnJyk7XG4gICAgYmluZEF2YXRhclVybFNpZ25hbCA9IHNpZ25hbCgnJyk7XG5cbiAgICBzZWxlY3RlZExhYmVscyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtc1NpZ25hbCgpLm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuYmluZExhYmVsU2lnbmFsKCkgPyBpdGVtW3RoaXMuYmluZExhYmVsU2lnbmFsKCldIDogaXRlbSxcbiAgICAgICAgICAgICAgICBhdmF0YXJVcmw6IHRoaXMuYmluZEF2YXRhclVybFNpZ25hbCgpID8gaXRlbVt0aGlzLmJpbmRBdmF0YXJVcmxTaWduYWwoKV0gOiAnJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdmFsdWVDb250YWluZXJXaWR0aCA9IHNpZ25hbCgwKTtcbiAgICBoaWRkZW5Db3VudFNpZ25hbCA9IHNpZ25hbCgwKTtcblxuICAgIHRyYWNrQnlJdGVtID0gKF86IG51bWJlciwgaXRlbTogYW55KSA9PiAodGhpcy5iaW5kVmFsdWVTaWduYWwoKSA/IGl0ZW0udmFsdWVbdGhpcy5iaW5kVmFsdWVTaWduYWwoKV0gOiBpdGVtLnZhbHVlKTtcblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGFyZW50V2lkdGggPSAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnBhcmVudEVsZW1lbnQ/Lm9mZnNldFdpZHRoO1xuICAgICAgICB0aGlzLnZhbHVlQ29udGFpbmVyV2lkdGguc2V0KHBhcmVudFdpZHRoID8/IDApO1xuXG4gICAgICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICBlZmZlY3QoXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZFZhbHVlcyA9IHRoaXMuc2VsZWN0ZWRJdGVtc1NpZ25hbCgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RWYWx1ZUNvbnRhaW5lcldpZHRoU2lnbmFsID0gdGhpcy52YWx1ZUNvbnRhaW5lcldpZHRoKCkgLSAzMDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVSZXNwb25zaXZlTGFiZWxzKHNlbGVjdFZhbHVlQ29udGFpbmVyV2lkdGhTaWduYWwsIHNlbGVjdGVkVmFsdWVzKTtcbiAgICAgICAgICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlUmVzcG9uc2l2ZUxhYmVscyhjb250YWluZXJXaWR0aDogbnVtYmVyLCBzZWxlY3RlZFZhbHVlczogYW55W10pIHtcbiAgICAgICAgaWYgKGNvbnRhaW5lcldpZHRoID09PSAwIHx8ICFzZWxlY3RlZFZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdG90YWxXaWR0aCA9IDA7XG4gICAgICAgIGxldCBoaWRkZW5Db3VudCA9IDA7XG4gICAgICAgIGNvbnN0IGl0ZW1HYXAgPSA0O1xuICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2l0ZW0nKTtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGl0ZW1zLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgY29uc3QgaXRlbTogSFRNTEVsZW1lbnQgPSBpdGVtc1tpbmRleF07XG4gICAgICAgICAgICBjb25zdCBpdGVtV2lkdGggPSBpdGVtLmNsaWVudFdpZHRoICsgaXRlbUdhcDtcbiAgICAgICAgICAgIGlmICh0b3RhbFdpZHRoICsgaXRlbVdpZHRoIDwgY29udGFpbmVyV2lkdGggJiYgIWhpZGRlbkNvdW50KSB7XG4gICAgICAgICAgICAgICAgdG90YWxXaWR0aCArPSBpdGVtV2lkdGg7XG4gICAgICAgICAgICAgICAgKGl0ZW0gYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIChpdGVtIGFzIEhUTUxFbGVtZW50KS5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICAgICAgICAgICAgaGlkZGVuQ291bnQrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdtdWx0aXBsZS1pdGVtJylbMF0uc3R5bGUubWF4V2lkdGggPSBgJHt0b3RhbFdpZHRofXB4YDtcbiAgICAgICAgdGhpcy5oaWRkZW5Db3VudFNpZ25hbC5zZXQoaGlkZGVuQ291bnQpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtdWx0aXBsZS1pdGVtXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzZWxlY3RlZExhYmVscygpOyB0cmFja0J5OiB0cmFja0J5SXRlbVwiPlxuICAgICAgICA8YXAtbGFiZWxcbiAgICAgICAgICAgICpuZ0lmPVwiZGlzcGxheVR5cGVTaWduYWwoKSA9PT0gJ2xhYmVsJ1wiXG4gICAgICAgICAgICBjbGFzcz1cIml0ZW1cIlxuICAgICAgICAgICAgY29sb3I9XCJibHVlXCJcbiAgICAgICAgICAgIHJlbW92YWJsZT1cInRydWVcIlxuICAgICAgICAgICAgW2NvbnRlbnRdPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgICAocmVtb3ZlKT1cInJlbW92ZUl0ZW0uZW1pdChpdGVtLnZhbHVlKVwiIC8+XG4gICAgICAgIDxhcC10YWdcbiAgICAgICAgICAgICpuZ0lmPVwiZGlzcGxheVR5cGVTaWduYWwoKSA9PT0gJ3RhZydcIlxuICAgICAgICAgICAgY2xhc3M9XCJpdGVtIHRleHQtaXRlbVwiXG4gICAgICAgICAgICBjbGVhcmFibGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIGNvbG9yPVwiZ3JleVwiXG4gICAgICAgICAgICAoY2xlYXIpPVwicmVtb3ZlSXRlbS5lbWl0KGl0ZW0udmFsdWUpXCI+XG4gICAgICAgICAgICA8YXAtYXZhdGFyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmF2YXRhclVybFwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiMTZcIlxuICAgICAgICAgICAgICAgIFtwcm9maWxlUGljdHVyZV09XCJpdGVtLmF2YXRhclVybFwiXG4gICAgICAgICAgICAgICAgW3VzZXJuYW1lXT1cIml0ZW0ubGFiZWxcIlxuICAgICAgICAgICAgICAgIFtzaG93SW5pdGlhbHNdPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgIDwvYXAtdGFnPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48ZGl2XG4gICAgKm5nSWY9XCJoaWRkZW5Db3VudFNpZ25hbCgpID4gMFwiXG4gICAgY2xhc3M9XCJyZW1haW5pbmdcIj5cbiAgICA8YXAtdGFnXG4gICAgICAgICpuZ0lmPVwiZGlzcGxheVR5cGVTaWduYWwoKSA9PT0gJ3RhZydcIlxuICAgICAgICBjbGFzcz1cInRleHQtaXRlbVwiXG4gICAgICAgIGNvbG9yPVwiZ3JleVwiXG4gICAgICAgIGNsZWFyYWJsZT1cImZhbHNlXCI+XG4gICAgICAgICt7eyBoaWRkZW5Db3VudFNpZ25hbCgpIH19XG4gICAgPC9hcC10YWc+XG4gICAgPGFwLWxhYmVsXG4gICAgICAgICpuZ0lmPVwiZGlzcGxheVR5cGVTaWduYWwoKSA9PT0gJ2xhYmVsJ1wiXG4gICAgICAgIGNvbG9yPVwiYmx1ZVwiXG4gICAgICAgIHJlbW92YWJsZT1cImZhbHNlXCJcbiAgICAgICAgW2NvbnRlbnRdPVwiJysnICsgaGlkZGVuQ291bnRTaWduYWwoKVwiIC8+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AvatarComponent } from '@agorapulse/ui-components/avatar';
|
|
2
|
+
import { LabelComponent } from '@agorapulse/ui-components/labels';
|
|
3
|
+
import { TagComponent } from '@agorapulse/ui-components/tag';
|
|
4
|
+
import { NgSwitch, NgSwitchCase } from '@angular/common';
|
|
5
|
+
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class SelectLabelSingleComponent {
|
|
8
|
+
displayType = 'text';
|
|
9
|
+
label;
|
|
10
|
+
avatarUrl;
|
|
11
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectLabelSingleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: SelectLabelSingleComponent, isStandalone: true, selector: "ap-select-label-single", inputs: { displayType: "displayType", label: "label", avatarUrl: "avatarUrl" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"displayType\">\n <ng-container *ngSwitchCase=\"'text'\">\n <span\n class=\"text-item\"\n [title]=\"label\">\n {{ label }}\n </span>\n </ng-container>\n <ng-container *ngSwitchCase=\"'label'\">\n <ap-label\n color=\"blue\"\n [removable]=\"false\"\n [content]=\"label\" />\n </ng-container>\n <ng-container *ngSwitchCase=\"'tag'\">\n <ap-tag\n class=\"text-item\"\n color=\"grey\">\n <ap-avatar\n *ngIf=\"avatarUrl\"\n [size]=\"16\"\n [username]=\"label\"\n [showInitials]=\"true\"\n [profilePicture]=\"avatarUrl\" />\n {{ label }}\n </ap-tag>\n </ng-container>\n <ng-container *ngSwitchCase=\"'withAvatar'\">\n <ap-avatar\n [size]=\"24\"\n [username]=\"label\"\n [showInitials]=\"true\"\n [profilePicture]=\"avatarUrl\" />\n <span class=\"text-item\">\n {{ label }}\n </span>\n </ng-container>\n</ng-container>\n", styles: ["ap-select-label-single{display:flex;gap:var(--ref-spacing-xxs);width:100%;align-items:center}\n"], dependencies: [{ kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: LabelComponent, selector: "ap-label", inputs: ["content", "selectorWidth", "removable"], outputs: ["remove"] }, { kind: "component", type: TagComponent, selector: "ap-tag", inputs: ["clearable", "color"], outputs: ["clear"] }, { kind: "component", type: AvatarComponent, selector: "ap-avatar", inputs: ["alternativeText", "anonymous", "username", "network", "online", "profilePicture", "showInitials", "alt", "rounded", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectLabelSingleComponent, decorators: [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{ selector: 'ap-select-label-single', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgSwitch, NgSwitchCase, LabelComponent, TagComponent, AvatarComponent], template: "<ng-container [ngSwitch]=\"displayType\">\n <ng-container *ngSwitchCase=\"'text'\">\n <span\n class=\"text-item\"\n [title]=\"label\">\n {{ label }}\n </span>\n </ng-container>\n <ng-container *ngSwitchCase=\"'label'\">\n <ap-label\n color=\"blue\"\n [removable]=\"false\"\n [content]=\"label\" />\n </ng-container>\n <ng-container *ngSwitchCase=\"'tag'\">\n <ap-tag\n class=\"text-item\"\n color=\"grey\">\n <ap-avatar\n *ngIf=\"avatarUrl\"\n [size]=\"16\"\n [username]=\"label\"\n [showInitials]=\"true\"\n [profilePicture]=\"avatarUrl\" />\n {{ label }}\n </ap-tag>\n </ng-container>\n <ng-container *ngSwitchCase=\"'withAvatar'\">\n <ap-avatar\n [size]=\"24\"\n [username]=\"label\"\n [showInitials]=\"true\"\n [profilePicture]=\"avatarUrl\" />\n <span class=\"text-item\">\n {{ label }}\n </span>\n </ng-container>\n</ng-container>\n", styles: ["ap-select-label-single{display:flex;gap:var(--ref-spacing-xxs);width:100%;align-items:center}\n"] }]
|
|
17
|
+
}], propDecorators: { displayType: [{
|
|
18
|
+
type: Input
|
|
19
|
+
}], label: [{
|
|
20
|
+
type: Input,
|
|
21
|
+
args: [{
|
|
22
|
+
required: true,
|
|
23
|
+
}]
|
|
24
|
+
}], avatarUrl: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}] } });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWxhYmVsLXNpbmdsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc2VsZWN0L3NyYy9zZWxlY3QtbGFiZWwtc2luZ2xlL3NlbGVjdC1sYWJlbC1zaW5nbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NlbGVjdC9zcmMvc2VsZWN0LWxhYmVsLXNpbmdsZS9zZWxlY3QtbGFiZWwtc2luZ2xlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVzdGLE1BQU0sT0FBTywwQkFBMEI7SUFDMUIsV0FBVyxHQUE0QyxNQUFNLENBQUM7SUFJdkUsS0FBSyxDQUFVO0lBQ04sU0FBUyxDQUFVO3dHQU5uQiwwQkFBMEI7NEZBQTFCLDBCQUEwQixrS0NmdkMsd29DQXNDQSx5SkR6QmMsUUFBUSw2RUFBRSxZQUFZLHFGQUFFLGNBQWMsNkhBQUUsWUFBWSx1R0FBRSxlQUFlOzs0RkFFdEUsMEJBQTBCO2tCQVR0QyxTQUFTOytCQUNJLHdCQUF3QixjQUd0QixJQUFJLGlCQUNELGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsZUFBZSxDQUFDOzhCQUd2RSxXQUFXO3NCQUFuQixLQUFLO2dCQUlOLEtBQUs7c0JBSEosS0FBSzt1QkFBQzt3QkFDSCxRQUFRLEVBQUUsSUFBSTtxQkFDakI7Z0JBRVEsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvYXZhdGFyJztcbmltcG9ydCB7IExhYmVsQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy9sYWJlbHMnO1xuaW1wb3J0IHsgVGFnQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy90YWcnO1xuaW1wb3J0IHsgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcC1zZWxlY3QtbGFiZWwtc2luZ2xlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWxhYmVsLXNpbmdsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWxhYmVsLXNpbmdsZS5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSwgTGFiZWxDb21wb25lbnQsIFRhZ0NvbXBvbmVudCwgQXZhdGFyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0TGFiZWxTaW5nbGVDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGRpc3BsYXlUeXBlOiAndGV4dCcgfCAnd2l0aEF2YXRhcicgfCAndGFnJyB8ICdsYWJlbCcgPSAndGV4dCc7XG4gICAgQElucHV0KHtcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgfSlcbiAgICBsYWJlbCE6IHN0cmluZztcbiAgICBASW5wdXQoKSBhdmF0YXJVcmw/OiBzdHJpbmc7XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJkaXNwbGF5VHlwZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0ZXh0J1wiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWl0ZW1cIlxuICAgICAgICAgICAgW3RpdGxlXT1cImxhYmVsXCI+XG4gICAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2xhYmVsJ1wiPlxuICAgICAgICA8YXAtbGFiZWxcbiAgICAgICAgICAgIGNvbG9yPVwiYmx1ZVwiXG4gICAgICAgICAgICBbcmVtb3ZhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtjb250ZW50XT1cImxhYmVsXCIgLz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGFnJ1wiPlxuICAgICAgICA8YXAtdGFnXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtaXRlbVwiXG4gICAgICAgICAgICBjb2xvcj1cImdyZXlcIj5cbiAgICAgICAgICAgIDxhcC1hdmF0YXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImF2YXRhclVybFwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiMTZcIlxuICAgICAgICAgICAgICAgIFt1c2VybmFtZV09XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgW3Nob3dJbml0aWFsc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbcHJvZmlsZVBpY3R1cmVdPVwiYXZhdGFyVXJsXCIgLz5cbiAgICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgIDwvYXAtdGFnPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid3aXRoQXZhdGFyJ1wiPlxuICAgICAgICA8YXAtYXZhdGFyXG4gICAgICAgICAgICBbc2l6ZV09XCIyNFwiXG4gICAgICAgICAgICBbdXNlcm5hbWVdPVwibGFiZWxcIlxuICAgICAgICAgICAgW3Nob3dJbml0aWFsc109XCJ0cnVlXCJcbiAgICAgICAgICAgIFtwcm9maWxlUGljdHVyZV09XCJhdmF0YXJVcmxcIiAvPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtaXRlbVwiPlxuICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Directive, inject } from '@angular/core';
|
|
2
|
+
import { NgSelectComponent } from '@ng-select/ng-select';
|
|
3
|
+
import { SelectBaseDirective } from './select-base.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./select-base.directive";
|
|
6
|
+
export class SelectMultipleDirective {
|
|
7
|
+
selectComponent = inject(NgSelectComponent);
|
|
8
|
+
constructor() {
|
|
9
|
+
this.selectComponent.multiple = true;
|
|
10
|
+
this.selectComponent.closeOnSelect = false;
|
|
11
|
+
}
|
|
12
|
+
ngAfterViewInit() {
|
|
13
|
+
if (!this.selectComponent.multiLabelTemplate) {
|
|
14
|
+
throw new Error('multiLabelTemplate is required for apSelectMultiple');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectMultipleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
18
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.10", type: SelectMultipleDirective, isStandalone: true, selector: "ng-select[apSelectMultiple]", hostDirectives: [{ directive: i1.SelectBaseDirective, inputs: ["inlineLabel", "inlineLabel", "symbolId", "symbolId"] }], ngImport: i0 });
|
|
19
|
+
}
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectMultipleDirective, decorators: [{
|
|
21
|
+
type: Directive,
|
|
22
|
+
args: [{
|
|
23
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
24
|
+
selector: 'ng-select[apSelectMultiple]',
|
|
25
|
+
standalone: true,
|
|
26
|
+
hostDirectives: [
|
|
27
|
+
{
|
|
28
|
+
directive: SelectBaseDirective,
|
|
29
|
+
inputs: ['inlineLabel', 'symbolId'],
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
}]
|
|
33
|
+
}], ctorParameters: function () { return []; } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW11bHRpcGxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zZWxlY3Qvc3JjL3NlbGVjdC1tdWx0aXBsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFhOUQsTUFBTSxPQUFPLHVCQUF1QjtJQUNmLGVBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUU3RDtRQUNJLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsRUFBRTtZQUMxQyxNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7U0FDMUU7SUFDTCxDQUFDO3dHQVpRLHVCQUF1Qjs0RkFBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQVhuQyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGNBQWMsRUFBRTt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsbUJBQW1COzRCQUM5QixNQUFNLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDO3lCQUN0QztxQkFDSjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IFNlbGVjdEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1iYXNlLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICduZy1zZWxlY3RbYXBTZWxlY3RNdWx0aXBsZV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBTZWxlY3RCYXNlRGlyZWN0aXZlLFxuICAgICAgICAgICAgaW5wdXRzOiBbJ2lubGluZUxhYmVsJywgJ3N5bWJvbElkJ10sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0TXVsdGlwbGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlbGVjdENvbXBvbmVudCA9IGluamVjdChOZ1NlbGVjdENvbXBvbmVudCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RDb21wb25lbnQubXVsdGlwbGUgPSB0cnVlO1xuICAgICAgICB0aGlzLnNlbGVjdENvbXBvbmVudC5jbG9zZU9uU2VsZWN0ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0Q29tcG9uZW50Lm11bHRpTGFiZWxUZW1wbGF0ZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdtdWx0aUxhYmVsVGVtcGxhdGUgaXMgcmVxdWlyZWQgZm9yIGFwU2VsZWN0TXVsdGlwbGUnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Directive, inject } from '@angular/core';
|
|
2
|
+
import { NgSelectComponent } from '@ng-select/ng-select';
|
|
3
|
+
import { SelectBaseDirective } from './select-base.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./select-base.directive";
|
|
6
|
+
export class SelectSingleDirective {
|
|
7
|
+
selectComponent = inject(NgSelectComponent);
|
|
8
|
+
constructor() {
|
|
9
|
+
this.selectComponent.multiple = false;
|
|
10
|
+
this.selectComponent.closeOnSelect = true;
|
|
11
|
+
}
|
|
12
|
+
ngAfterViewInit() {
|
|
13
|
+
if (!this.selectComponent.labelTemplate) {
|
|
14
|
+
throw new Error('labelTemplate is required for apSelectSingle');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectSingleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
18
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.10", type: SelectSingleDirective, isStandalone: true, selector: "ng-select[apSelectSingle]", hostDirectives: [{ directive: i1.SelectBaseDirective, inputs: ["inlineLabel", "inlineLabel", "symbolId", "symbolId"] }], ngImport: i0 });
|
|
19
|
+
}
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectSingleDirective, decorators: [{
|
|
21
|
+
type: Directive,
|
|
22
|
+
args: [{
|
|
23
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
24
|
+
selector: 'ng-select[apSelectSingle]',
|
|
25
|
+
standalone: true,
|
|
26
|
+
hostDirectives: [
|
|
27
|
+
{
|
|
28
|
+
directive: SelectBaseDirective,
|
|
29
|
+
inputs: ['inlineLabel', 'symbolId'],
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
}]
|
|
33
|
+
}], ctorParameters: function () { return []; } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNpbmdsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc2VsZWN0L3NyYy9zZWxlY3Qtc2luZ2xlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQWE5RCxNQUFNLE9BQU8scUJBQXFCO0lBQ2IsZUFBZSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTdEO1FBQ0ksSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM5QyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRTtZQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7U0FDbkU7SUFDTCxDQUFDO3dHQVpRLHFCQUFxQjs0RkFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQVhqQyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGNBQWMsRUFBRTt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsbUJBQW1COzRCQUM5QixNQUFNLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDO3lCQUN0QztxQkFDSjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IFNlbGVjdEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1iYXNlLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICduZy1zZWxlY3RbYXBTZWxlY3RTaW5nbGVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogU2VsZWN0QmFzZURpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogWydpbmxpbmVMYWJlbCcsICdzeW1ib2xJZCddLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdFNpbmdsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VsZWN0Q29tcG9uZW50ID0gaW5qZWN0KE5nU2VsZWN0Q29tcG9uZW50KTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnNlbGVjdENvbXBvbmVudC5tdWx0aXBsZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdENvbXBvbmVudC5jbG9zZU9uU2VsZWN0ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RDb21wb25lbnQubGFiZWxUZW1wbGF0ZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdsYWJlbFRlbXBsYXRlIGlzIHJlcXVpcmVkIGZvciBhcFNlbGVjdFNpbmdsZScpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export { TextareaDirective } from './textarea.directive';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy90ZXh0YXJlYS9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFRleHRhcmVhRGlyZWN0aXZlIH0gZnJvbSAnLi90ZXh0YXJlYS5kaXJlY3RpdmUnO1xuIl19
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Directive, ElementRef, HostBinding, Input, Renderer2, booleanAttribute, inject } from '@angular/core';
|
|
2
|
+
import { InputDirective } from '@agorapulse/ui-components/input';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@agorapulse/ui-components/input";
|
|
5
|
+
export class TextareaDirective {
|
|
6
|
+
resizable = false;
|
|
7
|
+
elementRef = inject(ElementRef);
|
|
8
|
+
renderer = inject(Renderer2);
|
|
9
|
+
constructor() {
|
|
10
|
+
const textarea = this.elementRef.nativeElement;
|
|
11
|
+
if (!textarea.rows || textarea.rows < 3) {
|
|
12
|
+
textarea.rows = 3;
|
|
13
|
+
}
|
|
14
|
+
if (!textarea.style.width) {
|
|
15
|
+
this.renderer.setStyle(textarea, 'width', '256px');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TextareaDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
19
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "16.2.10", type: TextareaDirective, isStandalone: true, selector: "[apTextarea]", inputs: { resizable: ["resizable", "resizable", booleanAttribute] }, host: { properties: { "class.resizable": "this.resizable" }, classAttribute: "ap-textarea" }, hostDirectives: [{ directive: i1.InputDirective }], ngImport: i0 });
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TextareaDirective, decorators: [{
|
|
22
|
+
type: Directive,
|
|
23
|
+
args: [{
|
|
24
|
+
selector: '[apTextarea]',
|
|
25
|
+
standalone: true,
|
|
26
|
+
hostDirectives: [InputDirective],
|
|
27
|
+
host: {
|
|
28
|
+
class: 'ap-textarea',
|
|
29
|
+
},
|
|
30
|
+
}]
|
|
31
|
+
}], ctorParameters: function () { return []; }, propDecorators: { resizable: [{
|
|
32
|
+
type: HostBinding,
|
|
33
|
+
args: ['class.resizable']
|
|
34
|
+
}, {
|
|
35
|
+
type: Input,
|
|
36
|
+
args: [{
|
|
37
|
+
transform: booleanAttribute,
|
|
38
|
+
}]
|
|
39
|
+
}] } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3RleHRhcmVhL3NyYy90ZXh0YXJlYS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBVWpFLE1BQU0sT0FBTyxpQkFBaUI7SUFLMUIsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUVuQixVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFckM7UUFDSSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQW9DLENBQUM7UUFDdEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDckMsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7U0FDckI7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQTtTQUNyRDtJQUNMLENBQUM7d0dBbEJRLGlCQUFpQjs0RkFBakIsaUJBQWlCLGdHQUdYLGdCQUFnQjs7NEZBSHRCLGlCQUFpQjtrQkFSN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGNBQWMsRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDaEMsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxhQUFhO3FCQUN2QjtpQkFDSjswRUFNRyxTQUFTO3NCQUpSLFdBQVc7dUJBQUMsaUJBQWlCOztzQkFDN0IsS0FBSzt1QkFBQzt3QkFDSCxTQUFTLEVBQUUsZ0JBQWdCO3FCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBSZW5kZXJlcjIsIGJvb2xlYW5BdHRyaWJ1dGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXREaXJlY3RpdmUgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2lucHV0JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYXBUZXh0YXJlYV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtJbnB1dERpcmVjdGl2ZV0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2FwLXRleHRhcmVhJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0YXJlYURpcmVjdGl2ZSB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yZXNpemFibGUnKVxuICAgIEBJbnB1dCh7XG4gICAgICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICB9KVxuICAgIHJlc2l6YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zdCB0ZXh0YXJlYSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxUZXh0QXJlYUVsZW1lbnQ7XG4gICAgICAgIGlmICghdGV4dGFyZWEucm93cyB8fCB0ZXh0YXJlYS5yb3dzIDwgMykge1xuICAgICAgICAgICAgdGV4dGFyZWEucm93cyA9IDM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0ZXh0YXJlYS5zdHlsZS53aWR0aCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0ZXh0YXJlYSwgJ3dpZHRoJywgJzI1NnB4JylcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|