@arsedizioni/ars-utils 18.2.167 → 18.2.168
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/esm2022/clipper.ui/ui/search-dialog/search-dialog.component.mjs +1 -1
- package/esm2022/ui.application/ui/components/button-selector/button-selector.component.mjs +8 -34
- package/esm2022/ui.application/ui/components/chips-selector/chips-selector.component.mjs +36 -24
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +1 -1
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs +39 -53
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs.map +1 -1
- package/package.json +1 -1
- package/ui.application/ui/components/button-selector/button-selector.component.d.ts +3 -4
- package/ui.application/ui/components/chips-selector/chips-selector.component.d.ts +12 -4
|
@@ -1973,33 +1973,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
|
|
|
1973
1973
|
|
|
1974
1974
|
class ButtonSelectorComponent {
|
|
1975
1975
|
set value(value) {
|
|
1976
|
-
|
|
1977
|
-
let v2 = 0;
|
|
1978
|
-
if (this._value?.length > 0) {
|
|
1979
|
-
this._value.forEach((n) => v1 += n.value);
|
|
1980
|
-
}
|
|
1981
|
-
if (value && !Array.isArray(value)) {
|
|
1982
|
-
v2 = value.value;
|
|
1983
|
-
this._value = [value];
|
|
1984
|
-
}
|
|
1985
|
-
else {
|
|
1986
|
-
if (value?.length > 0) {
|
|
1987
|
-
value.forEach((n) => v2 += n.value);
|
|
1988
|
-
}
|
|
1989
|
-
this._value = value;
|
|
1990
|
-
}
|
|
1976
|
+
this._value = value;
|
|
1991
1977
|
this.propagateChange(this._value);
|
|
1992
1978
|
this.stateChanges.next();
|
|
1993
|
-
|
|
1994
|
-
this.current = this._value[0];
|
|
1995
|
-
if (v2 !== v1) {
|
|
1996
|
-
this.changed.emit(this._value[0]);
|
|
1997
|
-
}
|
|
1998
|
-
}
|
|
1999
|
-
else {
|
|
2000
|
-
this.current = null;
|
|
2001
|
-
this.changed.emit(null);
|
|
2002
|
-
}
|
|
1979
|
+
this.current = this._value;
|
|
2003
1980
|
}
|
|
2004
1981
|
get value() {
|
|
2005
1982
|
return this._value;
|
|
@@ -2019,16 +1996,15 @@ class ButtonSelectorComponent {
|
|
|
2019
1996
|
}
|
|
2020
1997
|
constructor(ngControl) {
|
|
2021
1998
|
this.ngControl = ngControl;
|
|
2022
|
-
this.changed = new EventEmitter();
|
|
2023
1999
|
this.selected = new EventEmitter();
|
|
2024
2000
|
this.changeDetector = inject(ChangeDetectorRef);
|
|
2025
2001
|
this.stateChanges = new Subject();
|
|
2026
2002
|
this.focused = false;
|
|
2027
|
-
this._value =
|
|
2003
|
+
this._value = null;
|
|
2028
2004
|
this._disabled = false;
|
|
2029
2005
|
this.propagateChange = (_) => { };
|
|
2030
2006
|
this.propagateTouched = () => { };
|
|
2031
|
-
this.id = `
|
|
2007
|
+
this.id = `button-selector--${SystemUtils.generateUUID()}`;
|
|
2032
2008
|
this.describedBy = '';
|
|
2033
2009
|
this.renderer = inject(Renderer2);
|
|
2034
2010
|
this.current = null;
|
|
@@ -2090,7 +2066,7 @@ class ButtonSelectorComponent {
|
|
|
2090
2066
|
* @param item : the item to select
|
|
2091
2067
|
*/
|
|
2092
2068
|
select(item) {
|
|
2093
|
-
this.writeValue(
|
|
2069
|
+
this.writeValue(item);
|
|
2094
2070
|
this.selected.emit(item);
|
|
2095
2071
|
this.changeDetector.markForCheck();
|
|
2096
2072
|
}
|
|
@@ -2101,7 +2077,7 @@ class ButtonSelectorComponent {
|
|
|
2101
2077
|
this.writeValue(null);
|
|
2102
2078
|
}
|
|
2103
2079
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ButtonSelectorComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2104
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: ButtonSelectorComponent, isStandalone: true, selector: "button-selector", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, border: { classPropertyName: "border", publicName: "border", isSignal: true, isRequired: false, transformFunction: null }, borderRadius: { classPropertyName: "borderRadius", publicName: "borderRadius", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelSelected: { classPropertyName: "labelSelected", publicName: "labelSelected", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, autoSelect: { classPropertyName: "autoSelect", publicName: "autoSelect", isSignal: true, isRequired: false, transformFunction: null } }, outputs: {
|
|
2080
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: ButtonSelectorComponent, isStandalone: true, selector: "button-selector", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, border: { classPropertyName: "border", publicName: "border", isSignal: true, isRequired: false, transformFunction: null }, borderRadius: { classPropertyName: "borderRadius", publicName: "borderRadius", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelSelected: { classPropertyName: "labelSelected", publicName: "labelSelected", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, autoSelect: { classPropertyName: "autoSelect", publicName: "autoSelect", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selected" }, host: { properties: { "id": "this.id", "attr.aria-describedBy": "this.describedBy" } }, ngImport: i0, template: "<button mat-stroked-button class=\"menu-selector-button\" [ngStyle]=\"{\r\n 'border': border() >= 0 ? border() : 'auto',\r\n 'border-radius': borderRadius(),\r\n 'height': border() <= 0 ? '40px' : 'auto',\r\n 'min-width': width() > 0 ? width()+'px' : (width() === -1 ? '100%' : 'auto')\r\n}\" [attr.aria-label]=\"label()\" [matMenuTriggerFor]=\"optionsMenu\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"100\" fxFlexAlign=\"center\">\r\n @if(current) {\r\n <div class=\"truncated\" style=\"text-align: left;\"\r\n [ngStyle]=\"{'min-width': width() > 0 ? width()+'px' : (width() === -1 ? '100%' : 'auto')}\">\r\n <div class=\"x-small \">{{labelSelected() ?? label()}}</div>\r\n <div class=\"small\" style=\"margin-top:2px\">{{current.shortName ?? current.name}}</div>\r\n </div>\r\n } @else {\r\n <div class=\"truncated\" style=\"text-align: left;\"\r\n [ngStyle]=\"{'min-width': width() > 0 ? width()+'px' : (width() === -1 ? '100%' : 'auto')}\">\r\n {{label()}}</div>\r\n }\r\n </div>\r\n <div fxLayoutAlign=\"end\" fxFlexAlign=\"center\">\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </div>\r\n </div>\r\n</button>\r\n<mat-menu #optionsMenu=\"matMenu\" xPosition=\"before\">\r\n @for (o of options(); track o.value) {\r\n <button mat-menu-item (click)=\"select(o)\" [disabled]=\"o.disabled\">\r\n {{o.name}}\r\n @if(o.bag) {\r\n ({{o.bag}})\r\n }\r\n </button>\r\n }\r\n</mat-menu>", styles: [".menu-selector-button{padding:0 10px 0 20px!important;border-radius:9999px!important}.menu-selector-button .in-search-bar{height:56px!important;padding:0 20px!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important}::ng-deep .menu-selector-button>.mdc-button__label{width:100%!important}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FlexLayoutModule }, { kind: "directive", type: i1$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i1$1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i1$1.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { kind: "directive", type: i1$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i2.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2105
2081
|
}
|
|
2106
2082
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ButtonSelectorComponent, decorators: [{
|
|
2107
2083
|
type: Component,
|
|
@@ -2111,9 +2087,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
|
|
|
2111
2087
|
type: Optional
|
|
2112
2088
|
}, {
|
|
2113
2089
|
type: Self
|
|
2114
|
-
}] }], propDecorators: {
|
|
2115
|
-
type: Output
|
|
2116
|
-
}], selected: [{
|
|
2090
|
+
}] }], propDecorators: { selected: [{
|
|
2117
2091
|
type: Output
|
|
2118
2092
|
}], disabled: [{
|
|
2119
2093
|
type: Input
|
|
@@ -2126,25 +2100,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
|
|
|
2126
2100
|
|
|
2127
2101
|
class ChipsSelectorComponent {
|
|
2128
2102
|
set value(value) {
|
|
2129
|
-
|
|
2130
|
-
let v2 = 0;
|
|
2131
|
-
if (this._value?.length > 0) {
|
|
2132
|
-
this._value.forEach((n) => v1 += n.value);
|
|
2133
|
-
}
|
|
2134
|
-
if (value && !Array.isArray(value)) {
|
|
2135
|
-
v2 = value.value;
|
|
2136
|
-
this._value = [value];
|
|
2137
|
-
}
|
|
2138
|
-
else {
|
|
2139
|
-
if (value?.length > 0) {
|
|
2140
|
-
value.forEach((n) => v2 += n.value);
|
|
2141
|
-
}
|
|
2142
|
-
this._value = value;
|
|
2143
|
-
}
|
|
2103
|
+
this._value = value;
|
|
2144
2104
|
this.propagateChange(this._value);
|
|
2145
2105
|
this.stateChanges.next();
|
|
2146
|
-
|
|
2147
|
-
|
|
2106
|
+
this.changed.emit(this._value);
|
|
2107
|
+
this.selectedItem = null;
|
|
2108
|
+
this.selectedItems = [];
|
|
2109
|
+
if (this._value) {
|
|
2110
|
+
(this.options() ?? []).forEach(n => {
|
|
2111
|
+
if (this._value?.findIndex((x) => x.value === n.value) !== -1) {
|
|
2112
|
+
this.selectedItems.push(n);
|
|
2113
|
+
}
|
|
2114
|
+
});
|
|
2115
|
+
this.selectedItem = this.selectedItems.length > 0 ? this.selectedItems[0] : null;
|
|
2148
2116
|
}
|
|
2149
2117
|
}
|
|
2150
2118
|
get value() {
|
|
@@ -2197,9 +2165,9 @@ class ChipsSelectorComponent {
|
|
|
2197
2165
|
this.changeDetector = inject(ChangeDetectorRef);
|
|
2198
2166
|
this.options = input();
|
|
2199
2167
|
this.collapsedWidth = input(-1);
|
|
2168
|
+
this.collapsedDisplayMode = input('dropdown');
|
|
2200
2169
|
this.collapseAt = input(-1);
|
|
2201
2170
|
this.collapseAtContainer = input(false);
|
|
2202
|
-
this.collapseDisplayMode = input('dropdown');
|
|
2203
2171
|
this.label = input();
|
|
2204
2172
|
this.multiple = input(false);
|
|
2205
2173
|
this.mode = input('dinamyc');
|
|
@@ -2217,6 +2185,8 @@ class ChipsSelectorComponent {
|
|
|
2217
2185
|
this.id = `chips-selector--${SystemUtils.generateUUID()}`;
|
|
2218
2186
|
this.describedBy = '';
|
|
2219
2187
|
this.renderer = inject(Renderer2);
|
|
2188
|
+
this.selectedItems = [];
|
|
2189
|
+
this.selectedItem = null;
|
|
2220
2190
|
if (this.ngControl != null) {
|
|
2221
2191
|
this.ngControl.valueAccessor = this;
|
|
2222
2192
|
}
|
|
@@ -2259,6 +2229,19 @@ class ChipsSelectorComponent {
|
|
|
2259
2229
|
}, 100);
|
|
2260
2230
|
}
|
|
2261
2231
|
}
|
|
2232
|
+
/**
|
|
2233
|
+
* Update current value with a little delay
|
|
2234
|
+
*/
|
|
2235
|
+
updateValue() {
|
|
2236
|
+
setTimeout(() => {
|
|
2237
|
+
if (this.collapsed() && this.collapsedDisplayMode() === "button") {
|
|
2238
|
+
this.writeValue([this.selectedItem]);
|
|
2239
|
+
}
|
|
2240
|
+
else {
|
|
2241
|
+
this.writeValue(this.selectedItems);
|
|
2242
|
+
}
|
|
2243
|
+
}, 250);
|
|
2244
|
+
}
|
|
2262
2245
|
writeValue(value) {
|
|
2263
2246
|
if (this.value !== value) {
|
|
2264
2247
|
this.value = value;
|
|
@@ -2310,20 +2293,23 @@ class ChipsSelectorComponent {
|
|
|
2310
2293
|
}
|
|
2311
2294
|
}
|
|
2312
2295
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ChipsSelectorComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2313
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: ChipsSelectorComponent, isStandalone: true, selector: "chips-selector", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, collapsedWidth: { classPropertyName: "collapsedWidth", publicName: "collapsedWidth", isSignal: true, isRequired: false, transformFunction: null },
|
|
2296
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: ChipsSelectorComponent, isStandalone: true, selector: "chips-selector", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, collapsedWidth: { classPropertyName: "collapsedWidth", publicName: "collapsedWidth", isSignal: true, isRequired: false, transformFunction: null }, collapsedDisplayMode: { classPropertyName: "collapsedDisplayMode", publicName: "collapsedDisplayMode", isSignal: true, isRequired: false, transformFunction: null }, collapseAt: { classPropertyName: "collapseAt", publicName: "collapseAt", isSignal: true, isRequired: false, transformFunction: null }, collapseAtContainer: { classPropertyName: "collapseAtContainer", publicName: "collapseAtContainer", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { changed: "changed" }, host: { properties: { "id": "this.id", "class.floating": "this.shouldLabelFloat", "attr.aria-describedBy": "this.describedBy" } }, viewQueries: [{ propertyName: "__select", first: true, predicate: ["__select"], descendants: true }], ngImport: i0, template: "<div [id]=\"containerId\" class=\"chips-container\">\r\n @if(containerWidth() > 0) {\r\n @if(collapsed()) {\r\n @if(collapsedDisplayMode() === 'dropdown') {\r\n <mat-form-field [ngStyle]=\"{'min-width': collapsedWidth() > 0 ? collapsedWidth()+'.px' : '100%'}\"\r\n subscriptSizing=\"dynamic\">\r\n @if(label()) {\r\n <mat-label>{{label()}}</mat-label>\r\n }\r\n <mat-select [(ngModel)]=\"selectedItems\" [multiple]=\"multiple()\" (selectionChange)=\"updateValue()\">\r\n <mat-select-trigger>\r\n @if (value && (value.length || 0) > 0) {\r\n {{value[0].shortName ?? value[0].name}}\r\n }\r\n @if (value && (value.length || 0) > 1) {\r\n <span class=\"collapsed-additional-selection\">\r\n (+{{(value.length || 0) - 1}} {{value.length === 2 ? 'altro' : 'altri'}})\r\n </span>\r\n }\r\n </mat-select-trigger>\r\n @for (o of options(); track o.value) {\r\n <mat-option [value]=\"o\" [disabled]=\"o.disabled\">\r\n {{o.name}}\r\n @if(o.bag) {\r\n ({{o.bag}});\r\n }\r\n </mat-option>\r\n }\r\n </mat-select>\r\n @if (value && (value.length || 0) > 0) {\r\n <button matSuffix tabindex=\"-1\" mat-icon-button aria-label=\"Pulisci\" (click)=\"clear($event)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n </mat-form-field>\r\n } @else {\r\n <button-selector [label]=\"label()\" [options]=\"options()\" [width]=\"collapsedWidth()\" [(ngModel)]=\"selectedItem\"\r\n name=\"value\" (selected)=\"updateValue()\"></button-selector>\r\n\r\n }\r\n } @else {\r\n <mat-chip-listbox [multiple]=\"multiple()\" [(ngModel)]=\"selectedItems\" (change)=\"updateValue()\">\r\n @for (o of options(); track o.value) {\r\n <mat-chip-option [matBadge]=\"o.bag\" [value]=\"o\" [disabled]=\"o.disabled\">{{o.shortName ??\r\n o.name}}</mat-chip-option>\r\n }\r\n </mat-chip-listbox>\r\n }\r\n }\r\n</div>", styles: [".chips-container{width:100%}.collapsed-additional-selection{opacity:.75;font-size:.75em}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FlexLayoutModule }, { kind: "directive", type: i2.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { 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: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i4$1.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i9$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i6$1.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i6$1.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i9$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: ButtonSelectorComponent, selector: "button-selector", inputs: ["disabled", "width", "border", "borderRadius", "label", "labelSelected", "options", "autoSelect"], outputs: ["selected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2314
2297
|
}
|
|
2315
2298
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ChipsSelectorComponent, decorators: [{
|
|
2316
2299
|
type: Component,
|
|
2317
2300
|
args: [{ selector: 'chips-selector', standalone: true, imports: [NgStyle, NgClass, FlexLayoutModule, FormsModule, MatFormFieldModule, MatSelectModule,
|
|
2318
2301
|
MatChipsModule, MatIconModule, MatButtonModule, MatBadgeModule,
|
|
2319
2302
|
ButtonSelectorComponent
|
|
2320
|
-
],
|
|
2303
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [id]=\"containerId\" class=\"chips-container\">\r\n @if(containerWidth() > 0) {\r\n @if(collapsed()) {\r\n @if(collapsedDisplayMode() === 'dropdown') {\r\n <mat-form-field [ngStyle]=\"{'min-width': collapsedWidth() > 0 ? collapsedWidth()+'.px' : '100%'}\"\r\n subscriptSizing=\"dynamic\">\r\n @if(label()) {\r\n <mat-label>{{label()}}</mat-label>\r\n }\r\n <mat-select [(ngModel)]=\"selectedItems\" [multiple]=\"multiple()\" (selectionChange)=\"updateValue()\">\r\n <mat-select-trigger>\r\n @if (value && (value.length || 0) > 0) {\r\n {{value[0].shortName ?? value[0].name}}\r\n }\r\n @if (value && (value.length || 0) > 1) {\r\n <span class=\"collapsed-additional-selection\">\r\n (+{{(value.length || 0) - 1}} {{value.length === 2 ? 'altro' : 'altri'}})\r\n </span>\r\n }\r\n </mat-select-trigger>\r\n @for (o of options(); track o.value) {\r\n <mat-option [value]=\"o\" [disabled]=\"o.disabled\">\r\n {{o.name}}\r\n @if(o.bag) {\r\n ({{o.bag}});\r\n }\r\n </mat-option>\r\n }\r\n </mat-select>\r\n @if (value && (value.length || 0) > 0) {\r\n <button matSuffix tabindex=\"-1\" mat-icon-button aria-label=\"Pulisci\" (click)=\"clear($event)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n </mat-form-field>\r\n } @else {\r\n <button-selector [label]=\"label()\" [options]=\"options()\" [width]=\"collapsedWidth()\" [(ngModel)]=\"selectedItem\"\r\n name=\"value\" (selected)=\"updateValue()\"></button-selector>\r\n\r\n }\r\n } @else {\r\n <mat-chip-listbox [multiple]=\"multiple()\" [(ngModel)]=\"selectedItems\" (change)=\"updateValue()\">\r\n @for (o of options(); track o.value) {\r\n <mat-chip-option [matBadge]=\"o.bag\" [value]=\"o\" [disabled]=\"o.disabled\">{{o.shortName ??\r\n o.name}}</mat-chip-option>\r\n }\r\n </mat-chip-listbox>\r\n }\r\n }\r\n</div>", styles: [".chips-container{width:100%}.collapsed-additional-selection{opacity:.75;font-size:.75em}\n"] }]
|
|
2321
2304
|
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
2322
2305
|
type: Optional
|
|
2323
2306
|
}, {
|
|
2324
2307
|
type: Self
|
|
2325
2308
|
}] }], propDecorators: { changed: [{
|
|
2326
2309
|
type: Output
|
|
2310
|
+
}], __select: [{
|
|
2311
|
+
type: ViewChild,
|
|
2312
|
+
args: ['__select']
|
|
2327
2313
|
}], required: [{
|
|
2328
2314
|
type: Input
|
|
2329
2315
|
}], disabled: [{
|