@seniorsistemas/angular-components 17.6.0 → 17.6.2
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/bundles/seniorsistemas-angular-components.umd.js +54 -5
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/select-button/select-button.component.d.ts +3 -2
- package/esm2015/components/select-button/select-button.component.js +44 -6
- package/esm5/components/select-button/select-button.component.js +56 -7
- package/fesm2015/seniorsistemas-angular-components.js +43 -5
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +54 -5
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from "@angular/core";
|
|
2
|
-
import { SelectButtonItem } from "./models";
|
|
3
2
|
import { ControlValueAccessor } from "@angular/forms";
|
|
3
|
+
import { SelectButtonItem } from "./models";
|
|
4
4
|
export declare class SelectButtonComponent implements ControlValueAccessor {
|
|
5
5
|
items: SelectButtonItem[];
|
|
6
6
|
multiple: boolean;
|
|
@@ -10,9 +10,10 @@ export declare class SelectButtonComponent implements ControlValueAccessor {
|
|
|
10
10
|
activeItems: Set<SelectButtonItem>;
|
|
11
11
|
onChange: (value: SelectButtonItem[]) => void;
|
|
12
12
|
onTouched: (value: SelectButtonItem[]) => void;
|
|
13
|
-
writeValue(value?: SelectButtonItem[]): void;
|
|
13
|
+
writeValue(value?: SelectButtonItem | SelectButtonItem[]): void;
|
|
14
14
|
registerOnChange(onChange: (value: SelectButtonItem[]) => void): void;
|
|
15
15
|
registerOnTouched(onTouched: (value: SelectButtonItem[]) => void): void;
|
|
16
16
|
setDisabledState(disabled: boolean): void;
|
|
17
17
|
onItemSelect(item: SelectButtonItem): void;
|
|
18
|
+
private _compareItems;
|
|
18
19
|
}
|
|
@@ -13,9 +13,23 @@ let SelectButtonComponent = SelectButtonComponent_1 = class SelectButtonComponen
|
|
|
13
13
|
writeValue(value) {
|
|
14
14
|
if (!value)
|
|
15
15
|
return;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
this.activeItems.clear();
|
|
17
|
+
if (Array.isArray(value)) {
|
|
18
|
+
value.forEach((item) => {
|
|
19
|
+
this.items.forEach((iItem) => {
|
|
20
|
+
if (this._compareItems(item, iItem)) {
|
|
21
|
+
this.activeItems.add(iItem);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this.items.forEach((iItem) => {
|
|
28
|
+
if (this._compareItems(value, iItem)) {
|
|
29
|
+
this.activeItems.add(iItem);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
19
33
|
}
|
|
20
34
|
registerOnChange(onChange) {
|
|
21
35
|
this.onChange = onChange;
|
|
@@ -39,6 +53,28 @@ let SelectButtonComponent = SelectButtonComponent_1 = class SelectButtonComponen
|
|
|
39
53
|
(_a = this.onChange) === null || _a === void 0 ? void 0 : _a.call(this, [...this.activeItems]);
|
|
40
54
|
(_b = this.onTouched) === null || _b === void 0 ? void 0 : _b.call(this, [...this.activeItems]);
|
|
41
55
|
}
|
|
56
|
+
_compareItems(item1, item2) {
|
|
57
|
+
const _compare = (a, b) => {
|
|
58
|
+
if (a === b) {
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
if (typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
let keysA = Object.keys(a);
|
|
65
|
+
let keysB = Object.keys(b);
|
|
66
|
+
if (keysA.length !== keysB.length) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
for (let key of keysA) {
|
|
70
|
+
if (!keysB.includes(key) || !_compare(a[key], b[key])) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return true;
|
|
75
|
+
};
|
|
76
|
+
return _compare(item1, item2);
|
|
77
|
+
}
|
|
42
78
|
};
|
|
43
79
|
__decorate([
|
|
44
80
|
Input()
|
|
@@ -56,13 +92,15 @@ SelectButtonComponent = SelectButtonComponent_1 = __decorate([
|
|
|
56
92
|
Component({
|
|
57
93
|
selector: "s-select-button",
|
|
58
94
|
template: "<div\n class=\"select-button\"\n [ngClass]=\"{ 'select-button--disabled': disabled }\">\n <s-select-button-item\n *ngFor=\"let item of items; index as i\"\n [label]=\"item.label\"\n [active]=\"activeItems?.has(item)\"\n [disabled]=\"disabled || item.disabled\"\n [first]=\"i === 0\"\n [last]=\"i === items.length - 1\"\n (click)=\"onItemSelect(item)\">\n </s-select-button-item>\n</div>",
|
|
59
|
-
providers: [
|
|
95
|
+
providers: [
|
|
96
|
+
{
|
|
60
97
|
provide: NG_VALUE_ACCESSOR,
|
|
61
98
|
useExisting: forwardRef(() => SelectButtonComponent_1),
|
|
62
99
|
multi: true,
|
|
63
|
-
}
|
|
100
|
+
},
|
|
101
|
+
],
|
|
64
102
|
styles: [".select-button{overflow:hidden}"]
|
|
65
103
|
})
|
|
66
104
|
], SelectButtonComponent);
|
|
67
105
|
export { SelectButtonComponent };
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zZWxlY3QtYnV0dG9uL3NlbGVjdC1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBZ0J6RSxJQUFhLHFCQUFxQiw2QkFBbEMsTUFBYSxxQkFBcUI7SUFBbEM7UUFLVyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFHdEQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUVuRCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUM7SUFpRnJELENBQUM7SUE3RVUsVUFBVSxDQUFDLEtBQTZDO1FBQzNELElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUVuQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXpCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBc0IsRUFBRSxFQUFFO2dCQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQXVCLEVBQUUsRUFBRTtvQkFDM0MsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRTt3QkFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7cUJB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QUU7MkRBQ29EO0FBRzdEO0lBREMsTUFBTSxFQUFFOzBEQUNpRDtBQVhqRCxxQkFBcUI7SUFaakMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQiwyY0FBNkM7UUFFN0MsU0FBUyxFQUFFO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBcUIsQ0FBQztnQkFDcEQsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKOztLQUNKLENBQUM7R0FDVyxxQkFBcUIsQ0ErRmpDO1NBL0ZZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBmb3J3YXJkUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBTZWxlY3RCdXR0b25JdGVtIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInMtc2VsZWN0LWJ1dHRvblwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vc2VsZWN0LWJ1dHRvbi5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9zZWxlY3QtYnV0dG9uLmNvbXBvbmVudC5zY3NzXCJdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdEJ1dHRvbkNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXRlbXM6IFNlbGVjdEJ1dHRvbkl0ZW1bXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG11bHRpcGxlID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RCdXR0b25JdGVtW10+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXRlbUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdEJ1dHRvbkl0ZW0+KCk7XG5cbiAgICBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBwdWJsaWMgYWN0aXZlSXRlbXMgPSBuZXcgU2V0PFNlbGVjdEJ1dHRvbkl0ZW0+KCk7XG4gICAgcHVibGljIG9uQ2hhbmdlOiAodmFsdWU6IFNlbGVjdEJ1dHRvbkl0ZW1bXSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgb25Ub3VjaGVkOiAodmFsdWU6IFNlbGVjdEJ1dHRvbkl0ZW1bXSkgPT4gdm9pZDtcblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlPzogU2VsZWN0QnV0dG9uSXRlbSB8IFNlbGVjdEJ1dHRvbkl0ZW1bXSk6IHZvaWQge1xuICAgICAgICBpZiAoIXZhbHVlKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtcy5jbGVhcigpO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgoaXRlbTogU2VsZWN0QnV0dG9uSXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaUl0ZW06IFNlbGVjdEJ1dHRvbkl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbXBhcmVJdGVtcyhpdGVtLCBpSXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuYWRkKGlJdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goKGlJdGVtOiBTZWxlY3RCdXR0b25JdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbXBhcmVJdGVtcyh2YWx1ZSwgaUl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuYWRkKGlJdGVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAodmFsdWU6IFNlbGVjdEJ1dHRvbkl0ZW1bXSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gb25DaGFuZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogKHZhbHVlOiBTZWxlY3RCdXR0b25JdGVtW10pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkl0ZW1TZWxlY3QoaXRlbTogU2VsZWN0QnV0dG9uSXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCBpdGVtLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5pdGVtQ2xpY2tlZC5lbWl0KGl0ZW0pO1xuXG4gICAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVJdGVtcy5jbGVhcigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuYWRkKGl0ZW0pO1xuICAgICAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KFsuLi50aGlzLmFjdGl2ZUl0ZW1zXSk7XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZT8uKFsuLi50aGlzLmFjdGl2ZUl0ZW1zXSk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkPy4oWy4uLnRoaXMuYWN0aXZlSXRlbXNdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jb21wYXJlSXRlbXMoaXRlbTE6IFNlbGVjdEJ1dHRvbkl0ZW0sIGl0ZW0yOiBTZWxlY3RCdXR0b25JdGVtKSB7XG4gICAgICAgIGNvbnN0IF9jb21wYXJlID0gKGE6IGFueSwgYjogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoYSA9PT0gYikge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodHlwZW9mIGEgIT09IFwib2JqZWN0XCIgfHwgYSA9PT0gbnVsbCB8fCB0eXBlb2YgYiAhPT0gXCJvYmplY3RcIiB8fCBiID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQga2V5c0EgPSBPYmplY3Qua2V5cyhhKTtcbiAgICAgICAgICAgIGxldCBrZXlzQiA9IE9iamVjdC5rZXlzKGIpO1xuXG4gICAgICAgICAgICBpZiAoa2V5c0EubGVuZ3RoICE9PSBrZXlzQi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAobGV0IGtleSBvZiBrZXlzQSkge1xuICAgICAgICAgICAgICAgIGlmICgha2V5c0IuaW5jbHVkZXMoa2V5KSB8fCAhX2NvbXBhcmUoYVtrZXldLCBiW2tleV0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBfY29tcGFyZShpdGVtMSwgaXRlbTIpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __decorate, __read, __spread } from "tslib";
|
|
1
|
+
import { __decorate, __read, __spread, __values } from "tslib";
|
|
2
2
|
import { Component, EventEmitter, Input, Output, forwardRef } from "@angular/core";
|
|
3
3
|
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
4
4
|
var SelectButtonComponent = /** @class */ (function () {
|
|
@@ -14,9 +14,23 @@ var SelectButtonComponent = /** @class */ (function () {
|
|
|
14
14
|
var _this = this;
|
|
15
15
|
if (!value)
|
|
16
16
|
return;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
this.activeItems.clear();
|
|
18
|
+
if (Array.isArray(value)) {
|
|
19
|
+
value.forEach(function (item) {
|
|
20
|
+
_this.items.forEach(function (iItem) {
|
|
21
|
+
if (_this._compareItems(item, iItem)) {
|
|
22
|
+
_this.activeItems.add(iItem);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
this.items.forEach(function (iItem) {
|
|
29
|
+
if (_this._compareItems(value, iItem)) {
|
|
30
|
+
_this.activeItems.add(iItem);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
20
34
|
};
|
|
21
35
|
SelectButtonComponent.prototype.registerOnChange = function (onChange) {
|
|
22
36
|
this.onChange = onChange;
|
|
@@ -40,6 +54,39 @@ var SelectButtonComponent = /** @class */ (function () {
|
|
|
40
54
|
(_a = this.onChange) === null || _a === void 0 ? void 0 : _a.call(this, __spread(this.activeItems));
|
|
41
55
|
(_b = this.onTouched) === null || _b === void 0 ? void 0 : _b.call(this, __spread(this.activeItems));
|
|
42
56
|
};
|
|
57
|
+
SelectButtonComponent.prototype._compareItems = function (item1, item2) {
|
|
58
|
+
var _compare = function (a, b) {
|
|
59
|
+
var e_1, _a;
|
|
60
|
+
if (a === b) {
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
if (typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
var keysA = Object.keys(a);
|
|
67
|
+
var keysB = Object.keys(b);
|
|
68
|
+
if (keysA.length !== keysB.length) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
72
|
+
for (var keysA_1 = __values(keysA), keysA_1_1 = keysA_1.next(); !keysA_1_1.done; keysA_1_1 = keysA_1.next()) {
|
|
73
|
+
var key = keysA_1_1.value;
|
|
74
|
+
if (!keysB.includes(key) || !_compare(a[key], b[key])) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
80
|
+
finally {
|
|
81
|
+
try {
|
|
82
|
+
if (keysA_1_1 && !keysA_1_1.done && (_a = keysA_1.return)) _a.call(keysA_1);
|
|
83
|
+
}
|
|
84
|
+
finally { if (e_1) throw e_1.error; }
|
|
85
|
+
}
|
|
86
|
+
return true;
|
|
87
|
+
};
|
|
88
|
+
return _compare(item1, item2);
|
|
89
|
+
};
|
|
43
90
|
var SelectButtonComponent_1;
|
|
44
91
|
__decorate([
|
|
45
92
|
Input()
|
|
@@ -57,15 +104,17 @@ var SelectButtonComponent = /** @class */ (function () {
|
|
|
57
104
|
Component({
|
|
58
105
|
selector: "s-select-button",
|
|
59
106
|
template: "<div\n class=\"select-button\"\n [ngClass]=\"{ 'select-button--disabled': disabled }\">\n <s-select-button-item\n *ngFor=\"let item of items; index as i\"\n [label]=\"item.label\"\n [active]=\"activeItems?.has(item)\"\n [disabled]=\"disabled || item.disabled\"\n [first]=\"i === 0\"\n [last]=\"i === items.length - 1\"\n (click)=\"onItemSelect(item)\">\n </s-select-button-item>\n</div>",
|
|
60
|
-
providers: [
|
|
107
|
+
providers: [
|
|
108
|
+
{
|
|
61
109
|
provide: NG_VALUE_ACCESSOR,
|
|
62
110
|
useExisting: forwardRef(function () { return SelectButtonComponent_1; }),
|
|
63
111
|
multi: true,
|
|
64
|
-
}
|
|
112
|
+
},
|
|
113
|
+
],
|
|
65
114
|
styles: [".select-button{overflow:hidden}"]
|
|
66
115
|
})
|
|
67
116
|
], SelectButtonComponent);
|
|
68
117
|
return SelectButtonComponent;
|
|
69
118
|
}());
|
|
70
119
|
export { SelectButtonComponent };
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zZWxlY3QtYnV0dG9uL3NlbGVjdC1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFnQnpFO0lBQUE7UUFLVyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFHdEQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUVuRCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUM7SUFpRnJELENBQUM7OEJBL0ZZLHFCQUFxQjtJQWtCdkIsMENBQVUsR0FBakIsVUFBa0IsS0FBNkM7UUFBL0QsaUJBb0JDO1FBbkJHLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUVuQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXpCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0QixLQUFLLENBQUMsT0FBTyxDQUFDLFVBQUMsSUFBc0I7Z0JBQ2pDLEtBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQUMsS0FBdUI7b0JBQ3ZDLElBQUksS0FBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUU7d0JBQ2pDLEtBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUMvQjtnQkFDTCxDQUFDLENB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QUNvRDtJQUc3RDtRQURDLE1BQU0sRUFBRTs4REFDaUQ7SUFYakQscUJBQXFCO1FBWmpDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsMmNBQTZDO1lBRTdDLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSx1QkFBcUIsRUFBckIsQ0FBcUIsQ0FBQztvQkFDcEQsS0FBSyxFQUFFLElBQUk7aUJBQ2Q7YUFDSjs7U0FDSixDQUFDO09BQ1cscUJBQXFCLENBK0ZqQztJQUFELDRCQUFDO0NBQUEsQUEvRkQsSUErRkM7U0EvRlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIGZvcndhcmRSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IFNlbGVjdEJ1dHRvbkl0ZW0gfSBmcm9tIFwiLi9tb2RlbHNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy1zZWxlY3QtYnV0dG9uXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9zZWxlY3QtYnV0dG9uLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL3NlbGVjdC1idXR0b24uY29tcG9uZW50LnNjc3NcIl0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0QnV0dG9uQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpdGVtczogU2VsZWN0QnV0dG9uSXRlbVtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbXVsdGlwbGUgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpdGVtU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdEJ1dHRvbkl0ZW1bXT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpdGVtQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0QnV0dG9uSXRlbT4oKTtcblxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBhY3RpdmVJdGVtcyA9IG5ldyBTZXQ8U2VsZWN0QnV0dG9uSXRlbT4oKTtcbiAgICBwdWJsaWMgb25DaGFuZ2U6ICh2YWx1ZTogU2VsZWN0QnV0dG9uSXRlbVtdKSA9PiB2b2lkO1xuICAgIHB1YmxpYyBvblRvdWNoZWQ6ICh2YWx1ZTogU2VsZWN0QnV0dG9uSXRlbVtdKSA9PiB2b2lkO1xuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU/OiBTZWxlY3RCdXR0b25JdGVtIHwgU2VsZWN0QnV0dG9uSXRlbVtdKTogdm9pZCB7XG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybjtcblxuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1zLmNsZWFyKCk7XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZS5mb3JFYWNoKChpdGVtOiBTZWxlY3RCdXR0b25JdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpSXRlbTogU2VsZWN0QnV0dG9uSXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fY29tcGFyZUl0ZW1zKGl0ZW0sIGlJdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVJdGVtcy5hZGQoaUl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaUl0ZW06IFNlbGVjdEJ1dHRvbkl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fY29tcGFyZUl0ZW1zKHZhbHVlLCBpSXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVJdGVtcy5hZGQoaUl0ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6ICh2YWx1ZTogU2VsZWN0QnV0dG9uSXRlbVtdKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAodmFsdWU6IFNlbGVjdEJ1dHRvbkl0ZW1bXSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIG9uSXRlbVNlbGVjdChpdGVtOiBTZWxlY3RCdXR0b25JdGVtKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IGl0ZW0uZGlzYWJsZWQpIHJldHVybjtcblxuICAgICAgICB0aGlzLml0ZW1DbGlja2VkLmVtaXQoaXRlbSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1zLmNsZWFyKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtcy5hZGQoaXRlbSk7XG4gICAgICAgIHRoaXMuaXRlbVNlbGVjdGVkLmVtaXQoWy4uLnRoaXMuYWN0aXZlSXRlbXNdKTtcblxuICAgICAgICB0aGlzLm9uQ2hhbmdlPy4oWy4uLnRoaXMuYWN0aXZlSXRlbXNdKTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQ/LihbLi4udGhpcy5hY3RpdmVJdGVtc10pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NvbXBhcmVJdGVtcyhpdGVtMTogU2VsZWN0QnV0dG9uSXRlbSwgaXRlbTI6IFNlbGVjdEJ1dHRvbkl0ZW0pIHtcbiAgICAgICAgY29uc3QgX2NvbXBhcmUgPSAoYTogYW55LCBiOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChhID09PSBiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgYSAhPT0gXCJvYmplY3RcIiB8fCBhID09PSBudWxsIHx8IHR5cGVvZiBiICE9PSBcIm9iamVjdFwiIHx8IGIgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBrZXlzQSA9IE9iamVjdC5rZXlzKGEpO1xuICAgICAgICAgICAgbGV0IGtleXNCID0gT2JqZWN0LmtleXMoYik7XG5cbiAgICAgICAgICAgIGlmIChrZXlzQS5sZW5ndGggIT09IGtleXNCLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9yIChsZXQga2V5IG9mIGtleXNBKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFrZXlzQi5pbmNsdWRlcyhrZXkpIHx8ICFfY29tcGFyZShhW2tleV0sIGJba2V5XSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIF9jb21wYXJlKGl0ZW0xLCBpdGVtMik7XG4gICAgfVxufVxuIl19
|
|
@@ -14261,9 +14261,23 @@ let SelectButtonComponent = SelectButtonComponent_1 = class SelectButtonComponen
|
|
|
14261
14261
|
writeValue(value) {
|
|
14262
14262
|
if (!value)
|
|
14263
14263
|
return;
|
|
14264
|
-
|
|
14265
|
-
|
|
14266
|
-
|
|
14264
|
+
this.activeItems.clear();
|
|
14265
|
+
if (Array.isArray(value)) {
|
|
14266
|
+
value.forEach((item) => {
|
|
14267
|
+
this.items.forEach((iItem) => {
|
|
14268
|
+
if (this._compareItems(item, iItem)) {
|
|
14269
|
+
this.activeItems.add(iItem);
|
|
14270
|
+
}
|
|
14271
|
+
});
|
|
14272
|
+
});
|
|
14273
|
+
}
|
|
14274
|
+
else {
|
|
14275
|
+
this.items.forEach((iItem) => {
|
|
14276
|
+
if (this._compareItems(value, iItem)) {
|
|
14277
|
+
this.activeItems.add(iItem);
|
|
14278
|
+
}
|
|
14279
|
+
});
|
|
14280
|
+
}
|
|
14267
14281
|
}
|
|
14268
14282
|
registerOnChange(onChange) {
|
|
14269
14283
|
this.onChange = onChange;
|
|
@@ -14287,6 +14301,28 @@ let SelectButtonComponent = SelectButtonComponent_1 = class SelectButtonComponen
|
|
|
14287
14301
|
(_a = this.onChange) === null || _a === void 0 ? void 0 : _a.call(this, [...this.activeItems]);
|
|
14288
14302
|
(_b = this.onTouched) === null || _b === void 0 ? void 0 : _b.call(this, [...this.activeItems]);
|
|
14289
14303
|
}
|
|
14304
|
+
_compareItems(item1, item2) {
|
|
14305
|
+
const _compare = (a, b) => {
|
|
14306
|
+
if (a === b) {
|
|
14307
|
+
return true;
|
|
14308
|
+
}
|
|
14309
|
+
if (typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
|
|
14310
|
+
return false;
|
|
14311
|
+
}
|
|
14312
|
+
let keysA = Object.keys(a);
|
|
14313
|
+
let keysB = Object.keys(b);
|
|
14314
|
+
if (keysA.length !== keysB.length) {
|
|
14315
|
+
return false;
|
|
14316
|
+
}
|
|
14317
|
+
for (let key of keysA) {
|
|
14318
|
+
if (!keysB.includes(key) || !_compare(a[key], b[key])) {
|
|
14319
|
+
return false;
|
|
14320
|
+
}
|
|
14321
|
+
}
|
|
14322
|
+
return true;
|
|
14323
|
+
};
|
|
14324
|
+
return _compare(item1, item2);
|
|
14325
|
+
}
|
|
14290
14326
|
};
|
|
14291
14327
|
__decorate([
|
|
14292
14328
|
Input()
|
|
@@ -14304,11 +14340,13 @@ SelectButtonComponent = SelectButtonComponent_1 = __decorate([
|
|
|
14304
14340
|
Component({
|
|
14305
14341
|
selector: "s-select-button",
|
|
14306
14342
|
template: "<div\n class=\"select-button\"\n [ngClass]=\"{ 'select-button--disabled': disabled }\">\n <s-select-button-item\n *ngFor=\"let item of items; index as i\"\n [label]=\"item.label\"\n [active]=\"activeItems?.has(item)\"\n [disabled]=\"disabled || item.disabled\"\n [first]=\"i === 0\"\n [last]=\"i === items.length - 1\"\n (click)=\"onItemSelect(item)\">\n </s-select-button-item>\n</div>",
|
|
14307
|
-
providers: [
|
|
14343
|
+
providers: [
|
|
14344
|
+
{
|
|
14308
14345
|
provide: NG_VALUE_ACCESSOR,
|
|
14309
14346
|
useExisting: forwardRef(() => SelectButtonComponent_1),
|
|
14310
14347
|
multi: true,
|
|
14311
|
-
}
|
|
14348
|
+
},
|
|
14349
|
+
],
|
|
14312
14350
|
styles: [".select-button{overflow:hidden}"]
|
|
14313
14351
|
})
|
|
14314
14352
|
], SelectButtonComponent);
|