@mintplayer/ng-bootstrap 21.12.9 → 21.12.11
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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { signal, model, viewChild, computed, ChangeDetectionStrategy, Component, inject, TemplateRef, Directive, input, effect } from '@angular/core';
|
|
3
3
|
import { NgTemplateOutlet } from '@angular/common';
|
|
4
4
|
import * as i1 from '@angular/forms';
|
|
5
5
|
import { FormsModule } from '@angular/forms';
|
|
@@ -11,14 +11,19 @@ import { Color } from '@mintplayer/ng-bootstrap';
|
|
|
11
11
|
|
|
12
12
|
class BsMultiselectComponent {
|
|
13
13
|
constructor() {
|
|
14
|
+
this.headerTemplate = signal(undefined, ...(ngDevMode ? [{ debugName: "headerTemplate" }] : []));
|
|
15
|
+
this.footerTemplate = signal(undefined, ...(ngDevMode ? [{ debugName: "footerTemplate" }] : []));
|
|
16
|
+
this.buttonTemplate = signal(undefined, ...(ngDevMode ? [{ debugName: "buttonTemplate" }] : []));
|
|
17
|
+
this.itemTemplate = signal(undefined, ...(ngDevMode ? [{ debugName: "itemTemplate" }] : []));
|
|
14
18
|
this.colors = Color;
|
|
15
|
-
this.items =
|
|
19
|
+
this.items = model([], ...(ngDevMode ? [{ debugName: "items" }] : []));
|
|
16
20
|
this.selectedItems = model([], ...(ngDevMode ? [{ debugName: "selectedItems" }] : []));
|
|
17
21
|
this.defaultButtonTemplate = viewChild.required('defaultButtonTemplate');
|
|
22
|
+
this.defaultItemTemplate = viewChild.required('defaultItemTemplate');
|
|
23
|
+
this.resolvedButtonTemplate = computed(() => this.buttonTemplate() ?? this.defaultButtonTemplate(), ...(ngDevMode ? [{ debugName: "resolvedButtonTemplate" }] : []));
|
|
24
|
+
this.resolvedItemTemplate = computed(() => this.itemTemplate() ?? this.defaultItemTemplate(), ...(ngDevMode ? [{ debugName: "resolvedItemTemplate" }] : []));
|
|
18
25
|
}
|
|
19
|
-
// itemChange(item: any, ev: Event) {
|
|
20
26
|
itemChange(item, value) {
|
|
21
|
-
// const value = (<any>ev.target).checked;
|
|
22
27
|
if (value) {
|
|
23
28
|
this.selectedItems.update(v => [...v, item]);
|
|
24
29
|
}
|
|
@@ -27,18 +32,18 @@ class BsMultiselectComponent {
|
|
|
27
32
|
}
|
|
28
33
|
}
|
|
29
34
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsMultiselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: BsMultiselectComponent, isStandalone: true, selector: "bs-multiselect", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, selectedItems: { classPropertyName: "selectedItems", publicName: "selectedItems", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedItems: "selectedItemsChange" }, viewQueries: [{ propertyName: "defaultButtonTemplate", first: true, predicate: ["defaultButtonTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button bsDropdownToggle [color]=\"colors.primary\">\n <ng-container *ngTemplateOutlet=\"
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: BsMultiselectComponent, isStandalone: true, selector: "bs-multiselect", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, selectedItems: { classPropertyName: "selectedItems", publicName: "selectedItems", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { items: "itemsChange", selectedItems: "selectedItemsChange" }, viewQueries: [{ propertyName: "defaultButtonTemplate", first: true, predicate: ["defaultButtonTemplate"], descendants: true, isSignal: true }, { propertyName: "defaultItemTemplate", first: true, predicate: ["defaultItemTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button type=\"button\" bsDropdownToggle [color]=\"colors.primary\">\n <ng-container *ngTemplateOutlet=\"resolvedButtonTemplate(); context: { $implicit: selectedItems().length }\"></ng-container>\n </button>\n <div *bsDropdownMenu class=\"bg-white mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n @if (headerTemplate()) {\n <hr class=\"my-2\">\n }\n @for (item of items(); track item) {\n <bs-toggle-button [ngModel]=\"selectedItems().indexOf(item) > -1\" (ngModelChange)=\"itemChange(item, $event)\" class=\"d-block\"><ng-container *ngTemplateOutlet=\"resolvedItemTemplate(); context: { $implicit: item }\"></ng-container></bs-toggle-button>\n }\n @if (footerTemplate()) {\n <hr class=\"my-2\">\n }\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n </div>\n</div>\n<ng-template #defaultButtonTemplate let-count>\n {{ count }} selected\n</ng-template>\n<ng-template #defaultItemTemplate let-item>{{ item }}</ng-template>\n", styles: [".mw-250px{min-width:250px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { 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: BsHasOverlayComponent, selector: "bs-has-overlay" }, { kind: "directive", type: BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "sameDropdownWidth", "isOpen"], outputs: ["isOpenChange"] }, { kind: "directive", type: BsDropdownToggleDirective, selector: "[bsDropdownToggle]" }, { kind: "directive", type: BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { kind: "component", type: BsToggleButtonComponent, selector: "bs-toggle-button", inputs: ["type", "isToggled", "name", "value", "group"], outputs: ["isToggledChange"] }, { kind: "directive", type: BsButtonTypeDirective, selector: "button[color],input[type=\"button\"][color],input[type=\"submit\"][color],a[color]", inputs: ["color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
36
|
}
|
|
32
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsMultiselectComponent, decorators: [{
|
|
33
38
|
type: Component,
|
|
34
|
-
args: [{ selector: 'bs-multiselect', imports: [NgTemplateOutlet, FormsModule, BsHasOverlayComponent, BsDropdownDirective, BsDropdownToggleDirective, BsDropdownMenuDirective, BsToggleButtonComponent, BsButtonTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button bsDropdownToggle [color]=\"colors.primary\">\n <ng-container *ngTemplateOutlet=\"
|
|
35
|
-
}], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], selectedItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedItems", required: false }] }, { type: i0.Output, args: ["selectedItemsChange"] }], defaultButtonTemplate: [{ type: i0.ViewChild, args: ['defaultButtonTemplate', { isSignal: true }] }] } });
|
|
39
|
+
args: [{ selector: 'bs-multiselect', imports: [NgTemplateOutlet, FormsModule, BsHasOverlayComponent, BsDropdownDirective, BsDropdownToggleDirective, BsDropdownMenuDirective, BsToggleButtonComponent, BsButtonTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button type=\"button\" bsDropdownToggle [color]=\"colors.primary\">\n <ng-container *ngTemplateOutlet=\"resolvedButtonTemplate(); context: { $implicit: selectedItems().length }\"></ng-container>\n </button>\n <div *bsDropdownMenu class=\"bg-white mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n @if (headerTemplate()) {\n <hr class=\"my-2\">\n }\n @for (item of items(); track item) {\n <bs-toggle-button [ngModel]=\"selectedItems().indexOf(item) > -1\" (ngModelChange)=\"itemChange(item, $event)\" class=\"d-block\"><ng-container *ngTemplateOutlet=\"resolvedItemTemplate(); context: { $implicit: item }\"></ng-container></bs-toggle-button>\n }\n @if (footerTemplate()) {\n <hr class=\"my-2\">\n }\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n </div>\n</div>\n<ng-template #defaultButtonTemplate let-count>\n {{ count }} selected\n</ng-template>\n<ng-template #defaultItemTemplate let-item>{{ item }}</ng-template>\n", styles: [".mw-250px{min-width:250px}\n"] }]
|
|
40
|
+
}], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }, { type: i0.Output, args: ["itemsChange"] }], selectedItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedItems", required: false }] }, { type: i0.Output, args: ["selectedItemsChange"] }], defaultButtonTemplate: [{ type: i0.ViewChild, args: ['defaultButtonTemplate', { isSignal: true }] }], defaultItemTemplate: [{ type: i0.ViewChild, args: ['defaultItemTemplate', { isSignal: true }] }] } });
|
|
36
41
|
|
|
37
42
|
class BsHeaderTemplateDirective {
|
|
38
43
|
constructor() {
|
|
39
44
|
const template = inject(TemplateRef);
|
|
40
45
|
const multiselect = inject(BsMultiselectComponent);
|
|
41
|
-
multiselect.headerTemplate
|
|
46
|
+
multiselect.headerTemplate.set(template);
|
|
42
47
|
}
|
|
43
48
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsHeaderTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
44
49
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.6", type: BsHeaderTemplateDirective, isStandalone: true, selector: "[bsHeaderTemplate]", ngImport: i0 }); }
|
|
@@ -54,7 +59,7 @@ class BsFooterTemplateDirective {
|
|
|
54
59
|
constructor() {
|
|
55
60
|
const template = inject(TemplateRef);
|
|
56
61
|
const multiselect = inject(BsMultiselectComponent);
|
|
57
|
-
multiselect.footerTemplate
|
|
62
|
+
multiselect.footerTemplate.set(template);
|
|
58
63
|
}
|
|
59
64
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsFooterTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
60
65
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.6", type: BsFooterTemplateDirective, isStandalone: true, selector: "[bsFooterTemplate]", ngImport: i0 }); }
|
|
@@ -70,7 +75,7 @@ class BsButtonTemplateDirective {
|
|
|
70
75
|
constructor() {
|
|
71
76
|
const template = inject(TemplateRef);
|
|
72
77
|
const multiselect = inject(BsMultiselectComponent);
|
|
73
|
-
multiselect.buttonTemplate
|
|
78
|
+
multiselect.buttonTemplate.set(template);
|
|
74
79
|
}
|
|
75
80
|
static ngTemplateContextGuard(dir, ctx) {
|
|
76
81
|
return true;
|
|
@@ -90,9 +95,41 @@ class BsRButtonTemplateContext {
|
|
|
90
95
|
}
|
|
91
96
|
}
|
|
92
97
|
|
|
98
|
+
class BsItemTemplateDirective {
|
|
99
|
+
constructor() {
|
|
100
|
+
this.multiselect = inject(BsMultiselectComponent);
|
|
101
|
+
/** Pass the items array — forwards to BsMultiselectComponent.items */
|
|
102
|
+
this.bsItemTemplateOf = input(undefined, ...(ngDevMode ? [{ debugName: "bsItemTemplateOf" }] : []));
|
|
103
|
+
const template = inject(TemplateRef);
|
|
104
|
+
this.multiselect.itemTemplate.set(template);
|
|
105
|
+
effect(() => {
|
|
106
|
+
const value = this.bsItemTemplateOf();
|
|
107
|
+
if (value) {
|
|
108
|
+
this.multiselect.items.set(value);
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
static ngTemplateContextGuard(dir, ctx) {
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsItemTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
116
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.6", type: BsItemTemplateDirective, isStandalone: true, selector: "[bsItemTemplate]", inputs: { bsItemTemplateOf: { classPropertyName: "bsItemTemplateOf", publicName: "bsItemTemplateOf", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
117
|
+
}
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsItemTemplateDirective, decorators: [{
|
|
119
|
+
type: Directive,
|
|
120
|
+
args: [{
|
|
121
|
+
selector: '[bsItemTemplate]',
|
|
122
|
+
}]
|
|
123
|
+
}], ctorParameters: () => [], propDecorators: { bsItemTemplateOf: [{ type: i0.Input, args: [{ isSignal: true, alias: "bsItemTemplateOf", required: false }] }] } });
|
|
124
|
+
class BsItemTemplateContext {
|
|
125
|
+
constructor() {
|
|
126
|
+
this.$implicit = null;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
93
130
|
/**
|
|
94
131
|
* Generated bundle index. Do not edit.
|
|
95
132
|
*/
|
|
96
133
|
|
|
97
|
-
export { BsButtonTemplateDirective, BsFooterTemplateDirective, BsHeaderTemplateDirective, BsMultiselectComponent, BsRButtonTemplateContext };
|
|
134
|
+
export { BsButtonTemplateDirective, BsFooterTemplateDirective, BsHeaderTemplateDirective, BsItemTemplateContext, BsItemTemplateDirective, BsMultiselectComponent, BsRButtonTemplateContext };
|
|
98
135
|
//# sourceMappingURL=mintplayer-ng-bootstrap-multiselect.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-multiselect.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/multiselect/src/component/multiselect.component.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/component/multiselect.component.html","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/header-template/header-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/footer-template/footer-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/button-template/button-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/mintplayer-ng-bootstrap-multiselect.ts"],"sourcesContent":["import { Component, input, model, TemplateRef, TrackByFunction, viewChild, ChangeDetectionStrategy} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsDropdownDirective, BsDropdownToggleDirective, BsDropdownMenuDirective } from '@mintplayer/ng-bootstrap/dropdown';\nimport { BsToggleButtonComponent } from '@mintplayer/ng-bootstrap/toggle-button';\nimport { BsButtonTypeDirective } from '@mintplayer/ng-bootstrap/button-type';\nimport { Color } from '@mintplayer/ng-bootstrap';\n\n@Component({\n selector: 'bs-multiselect',\n templateUrl: './multiselect.component.html',\n styleUrls: ['./multiselect.component.scss'],\n imports: [NgTemplateOutlet, FormsModule, BsHasOverlayComponent, BsDropdownDirective, BsDropdownToggleDirective, BsDropdownMenuDirective, BsToggleButtonComponent, BsButtonTypeDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsMultiselectComponent<T> {\n\n headerTemplate?: TemplateRef<any>;\n footerTemplate?: TemplateRef<any>;\n buttonTemplate?: TemplateRef<any>;\n colors = Color;\n\n\n readonly items = input<T[]>([]);\n readonly selectedItems = model<T[]>([]);\n readonly defaultButtonTemplate = viewChild.required<TemplateRef<any>>('defaultButtonTemplate');\n\n // itemChange(item: any, ev: Event) {\n itemChange(item: T, value: boolean | null) {\n // const value = (<any>ev.target).checked;\n if (value) {\n this.selectedItems.update(v => [...v, item]);\n } else {\n this.selectedItems.update(v => v.filter(i => i !== item));\n }\n }\n\n}\n","<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button bsDropdownToggle [color]=\"colors.primary\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate ?? defaultButtonTemplate; context: { $implicit: selectedItems().length }\"></ng-container>\n </button>\n <div *bsDropdownMenu class=\"bg-white mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n @if (headerTemplate) {\n <hr class=\"my-2\">\n }\n @for (item of items(); track item) {\n <bs-toggle-button [ngModel]=\"selectedItems().indexOf(item) > -1\" (ngModelChange)=\"itemChange(item, $event)\" class=\"d-block\">{{ item }}</bs-toggle-button>\n }\n @if (footerTemplate) {\n <hr class=\"my-2\">\n }\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n</div>\n<ng-template #defaultButtonTemplate let-count>\n {{ count }} selected\n</ng-template>","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsHeaderTemplate]',\n})\nexport class BsHeaderTemplateDirective<T> {\n\n constructor() {\n const template = inject(TemplateRef);\n const multiselect = inject<BsMultiselectComponent<T>>(BsMultiselectComponent);\n multiselect.headerTemplate = template;\n }\n\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsFooterTemplate]',\n})\nexport class BsFooterTemplateDirective<T> {\n\n constructor() {\n const template = inject(TemplateRef);\n const multiselect = inject<BsMultiselectComponent<T>>(BsMultiselectComponent);\n multiselect.footerTemplate = template;\n }\n\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsButtonTemplate]',\n})\nexport class BsButtonTemplateDirective<T> {\n\n constructor() {\n const template = inject(TemplateRef);\n const multiselect = inject<BsMultiselectComponent<T>>(BsMultiselectComponent);\n multiselect.buttonTemplate = template;\n }\n \n public static ngTemplateContextGuard<TData>(\n dir: BsButtonTemplateDirective<TData>,\n ctx: any\n ): ctx is BsRButtonTemplateContext {\n return true;\n }\n\n}\n\nexport class BsRButtonTemplateContext {\n public $implicit: number = null!;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;MAgBa,sBAAsB,CAAA;AAPnC,IAAA,WAAA,GAAA;QAYE,IAAA,CAAA,MAAM,GAAG,KAAK;AAGL,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAM,EAAE,iDAAC;AACtB,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAM,EAAE,yDAAC;AAC9B,QAAA,IAAA,CAAA,qBAAqB,GAAG,SAAS,CAAC,QAAQ,CAAmB,uBAAuB,CAAC;AAY/F,IAAA;;IATC,UAAU,CAAC,IAAO,EAAE,KAAqB,EAAA;;QAEvC,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9C;aAAO;YACL,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAC3D;IACF;8GApBW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,iiBChBnC,8hCAqBc,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDRF,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,mBAAmB,gLAAE,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,uBAAuB,oJAAE,qBAAqB,EAAA,QAAA,EAAA,oFAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAG5K,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;+BACE,gBAAgB,EAAA,OAAA,EAGjB,CAAC,gBAAgB,EAAE,WAAW,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,qBAAqB,CAAC,EAAA,eAAA,EACvK,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8hCAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA;2UAYuB,uBAAuB,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEpBlF,yBAAyB,CAAA;AAEpC,IAAA,WAAA,GAAA;AACE,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;AACpC,QAAA,MAAM,WAAW,GAAG,MAAM,CAA4B,sBAAsB,CAAC;AAC7E,QAAA,WAAW,CAAC,cAAc,GAAG,QAAQ;IACvC;8GANW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC/B,iBAAA;;;MCCY,yBAAyB,CAAA;AAEpC,IAAA,WAAA,GAAA;AACE,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;AACpC,QAAA,MAAM,WAAW,GAAG,MAAM,CAA4B,sBAAsB,CAAC;AAC7E,QAAA,WAAW,CAAC,cAAc,GAAG,QAAQ;IACvC;8GANW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC/B,iBAAA;;;MCCY,yBAAyB,CAAA;AAEpC,IAAA,WAAA,GAAA;AACE,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;AACpC,QAAA,MAAM,WAAW,GAAG,MAAM,CAA4B,sBAAsB,CAAC;AAC7E,QAAA,WAAW,CAAC,cAAc,GAAG,QAAQ;IACvC;AAEO,IAAA,OAAO,sBAAsB,CAClC,GAAqC,EACrC,GAAQ,EAAA;AAER,QAAA,OAAO,IAAI;IACb;8GAbW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC/B,iBAAA;;MAkBY,wBAAwB,CAAA;AAArC,IAAA,WAAA,GAAA;QACS,IAAA,CAAA,SAAS,GAAW,IAAK;IAClC;AAAC;;ACzBD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-multiselect.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/multiselect/src/component/multiselect.component.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/component/multiselect.component.html","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/header-template/header-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/footer-template/footer-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/button-template/button-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/item-template/item-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/mintplayer-ng-bootstrap-multiselect.ts"],"sourcesContent":["import { Component, computed, model, signal, TemplateRef, viewChild, ChangeDetectionStrategy } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsDropdownDirective, BsDropdownToggleDirective, BsDropdownMenuDirective } from '@mintplayer/ng-bootstrap/dropdown';\nimport { BsToggleButtonComponent } from '@mintplayer/ng-bootstrap/toggle-button';\nimport { BsButtonTypeDirective } from '@mintplayer/ng-bootstrap/button-type';\nimport { Color } from '@mintplayer/ng-bootstrap';\n\n@Component({\n selector: 'bs-multiselect',\n templateUrl: './multiselect.component.html',\n styleUrls: ['./multiselect.component.scss'],\n imports: [NgTemplateOutlet, FormsModule, BsHasOverlayComponent, BsDropdownDirective, BsDropdownToggleDirective, BsDropdownMenuDirective, BsToggleButtonComponent, BsButtonTypeDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsMultiselectComponent<T> {\n\n readonly headerTemplate = signal<TemplateRef<any> | undefined>(undefined);\n readonly footerTemplate = signal<TemplateRef<any> | undefined>(undefined);\n readonly buttonTemplate = signal<TemplateRef<any> | undefined>(undefined);\n readonly itemTemplate = signal<TemplateRef<any> | undefined>(undefined);\n readonly colors = Color;\n\n readonly items = model<T[]>([]);\n readonly selectedItems = model<T[]>([]);\n readonly defaultButtonTemplate = viewChild.required<TemplateRef<any>>('defaultButtonTemplate');\n readonly defaultItemTemplate = viewChild.required<TemplateRef<any>>('defaultItemTemplate');\n\n readonly resolvedButtonTemplate = computed(() => this.buttonTemplate() ?? this.defaultButtonTemplate());\n readonly resolvedItemTemplate = computed(() => this.itemTemplate() ?? this.defaultItemTemplate());\n\n itemChange(item: T, value: boolean | null) {\n if (value) {\n this.selectedItems.update(v => [...v, item]);\n } else {\n this.selectedItems.update(v => v.filter(i => i !== item));\n }\n }\n\n}\n","<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button type=\"button\" bsDropdownToggle [color]=\"colors.primary\">\n <ng-container *ngTemplateOutlet=\"resolvedButtonTemplate(); context: { $implicit: selectedItems().length }\"></ng-container>\n </button>\n <div *bsDropdownMenu class=\"bg-white mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n @if (headerTemplate()) {\n <hr class=\"my-2\">\n }\n @for (item of items(); track item) {\n <bs-toggle-button [ngModel]=\"selectedItems().indexOf(item) > -1\" (ngModelChange)=\"itemChange(item, $event)\" class=\"d-block\"><ng-container *ngTemplateOutlet=\"resolvedItemTemplate(); context: { $implicit: item }\"></ng-container></bs-toggle-button>\n }\n @if (footerTemplate()) {\n <hr class=\"my-2\">\n }\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n </div>\n</div>\n<ng-template #defaultButtonTemplate let-count>\n {{ count }} selected\n</ng-template>\n<ng-template #defaultItemTemplate let-item>{{ item }}</ng-template>\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsHeaderTemplate]',\n})\nexport class BsHeaderTemplateDirective<T> {\n\n constructor() {\n const template = inject(TemplateRef);\n const multiselect = inject<BsMultiselectComponent<T>>(BsMultiselectComponent);\n multiselect.headerTemplate.set(template);\n }\n\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsFooterTemplate]',\n})\nexport class BsFooterTemplateDirective<T> {\n\n constructor() {\n const template = inject(TemplateRef);\n const multiselect = inject<BsMultiselectComponent<T>>(BsMultiselectComponent);\n multiselect.footerTemplate.set(template);\n }\n\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsButtonTemplate]',\n})\nexport class BsButtonTemplateDirective<T> {\n\n constructor() {\n const template = inject(TemplateRef);\n const multiselect = inject<BsMultiselectComponent<T>>(BsMultiselectComponent);\n multiselect.buttonTemplate.set(template);\n }\n\n public static ngTemplateContextGuard<TData>(\n dir: BsButtonTemplateDirective<TData>,\n ctx: any\n ): ctx is BsRButtonTemplateContext {\n return true;\n }\n\n}\n\nexport class BsRButtonTemplateContext {\n public $implicit: number = null!;\n}\n","import { Directive, effect, inject, input, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsItemTemplate]',\n})\nexport class BsItemTemplateDirective<T> {\n private multiselect = inject<BsMultiselectComponent<T>>(BsMultiselectComponent);\n\n constructor() {\n const template = inject(TemplateRef);\n this.multiselect.itemTemplate.set(template);\n\n effect(() => {\n const value = this.bsItemTemplateOf();\n if (value) {\n this.multiselect.items.set(value);\n }\n });\n }\n\n public static ngTemplateContextGuard<TData>(\n dir: BsItemTemplateDirective<TData>,\n ctx: any\n ): ctx is BsItemTemplateContext<Exclude<TData, false | 0 | '' | null | undefined>> {\n return true;\n }\n\n /** Pass the items array — forwards to BsMultiselectComponent.items */\n readonly bsItemTemplateOf = input<T[] | undefined>(undefined);\n}\n\nexport class BsItemTemplateContext<T> {\n public $implicit: T = null!;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,40 +1,57 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { TemplateRef } from '@angular/core';
|
|
3
3
|
import { Color } from '@mintplayer/ng-bootstrap';
|
|
4
4
|
|
|
5
5
|
declare class BsMultiselectComponent<T> {
|
|
6
|
-
headerTemplate
|
|
7
|
-
footerTemplate
|
|
8
|
-
buttonTemplate
|
|
9
|
-
|
|
10
|
-
readonly
|
|
11
|
-
readonly
|
|
12
|
-
readonly
|
|
6
|
+
readonly headerTemplate: _angular_core.WritableSignal<TemplateRef<any> | undefined>;
|
|
7
|
+
readonly footerTemplate: _angular_core.WritableSignal<TemplateRef<any> | undefined>;
|
|
8
|
+
readonly buttonTemplate: _angular_core.WritableSignal<TemplateRef<any> | undefined>;
|
|
9
|
+
readonly itemTemplate: _angular_core.WritableSignal<TemplateRef<any> | undefined>;
|
|
10
|
+
readonly colors: typeof Color;
|
|
11
|
+
readonly items: _angular_core.ModelSignal<T[]>;
|
|
12
|
+
readonly selectedItems: _angular_core.ModelSignal<T[]>;
|
|
13
|
+
readonly defaultButtonTemplate: _angular_core.Signal<TemplateRef<any>>;
|
|
14
|
+
readonly defaultItemTemplate: _angular_core.Signal<TemplateRef<any>>;
|
|
15
|
+
readonly resolvedButtonTemplate: _angular_core.Signal<TemplateRef<any>>;
|
|
16
|
+
readonly resolvedItemTemplate: _angular_core.Signal<TemplateRef<any>>;
|
|
13
17
|
itemChange(item: T, value: boolean | null): void;
|
|
14
|
-
static ɵfac:
|
|
15
|
-
static ɵcmp:
|
|
18
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsMultiselectComponent<any>, never>;
|
|
19
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsMultiselectComponent<any>, "bs-multiselect", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "selectedItems": { "alias": "selectedItems"; "required": false; "isSignal": true; }; }, { "items": "itemsChange"; "selectedItems": "selectedItemsChange"; }, never, never, true, never>;
|
|
16
20
|
}
|
|
17
21
|
|
|
18
22
|
declare class BsHeaderTemplateDirective<T> {
|
|
19
23
|
constructor();
|
|
20
|
-
static ɵfac:
|
|
21
|
-
static ɵdir:
|
|
24
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsHeaderTemplateDirective<any>, never>;
|
|
25
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BsHeaderTemplateDirective<any>, "[bsHeaderTemplate]", never, {}, {}, never, never, true, never>;
|
|
22
26
|
}
|
|
23
27
|
|
|
24
28
|
declare class BsFooterTemplateDirective<T> {
|
|
25
29
|
constructor();
|
|
26
|
-
static ɵfac:
|
|
27
|
-
static ɵdir:
|
|
30
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsFooterTemplateDirective<any>, never>;
|
|
31
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BsFooterTemplateDirective<any>, "[bsFooterTemplate]", never, {}, {}, never, never, true, never>;
|
|
28
32
|
}
|
|
29
33
|
|
|
30
34
|
declare class BsButtonTemplateDirective<T> {
|
|
31
35
|
constructor();
|
|
32
36
|
static ngTemplateContextGuard<TData>(dir: BsButtonTemplateDirective<TData>, ctx: any): ctx is BsRButtonTemplateContext;
|
|
33
|
-
static ɵfac:
|
|
34
|
-
static ɵdir:
|
|
37
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsButtonTemplateDirective<any>, never>;
|
|
38
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BsButtonTemplateDirective<any>, "[bsButtonTemplate]", never, {}, {}, never, never, true, never>;
|
|
35
39
|
}
|
|
36
40
|
declare class BsRButtonTemplateContext {
|
|
37
41
|
$implicit: number;
|
|
38
42
|
}
|
|
39
43
|
|
|
40
|
-
|
|
44
|
+
declare class BsItemTemplateDirective<T> {
|
|
45
|
+
private multiselect;
|
|
46
|
+
constructor();
|
|
47
|
+
static ngTemplateContextGuard<TData>(dir: BsItemTemplateDirective<TData>, ctx: any): ctx is BsItemTemplateContext<Exclude<TData, false | 0 | '' | null | undefined>>;
|
|
48
|
+
/** Pass the items array — forwards to BsMultiselectComponent.items */
|
|
49
|
+
readonly bsItemTemplateOf: _angular_core.InputSignal<T[] | undefined>;
|
|
50
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsItemTemplateDirective<any>, never>;
|
|
51
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BsItemTemplateDirective<any>, "[bsItemTemplate]", never, { "bsItemTemplateOf": { "alias": "bsItemTemplateOf"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
52
|
+
}
|
|
53
|
+
declare class BsItemTemplateContext<T> {
|
|
54
|
+
$implicit: T;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export { BsButtonTemplateDirective, BsFooterTemplateDirective, BsHeaderTemplateDirective, BsItemTemplateContext, BsItemTemplateDirective, BsMultiselectComponent, BsRButtonTemplateContext };
|