@seniorsistemas/angular-components 17.6.1 → 17.6.3
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 +57 -4
- 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 +2 -1
- package/esm2015/components/select-button/select-button.component.js +47 -5
- package/esm5/components/select-button/select-button.component.js +59 -6
- package/fesm2015/seniorsistemas-angular-components.js +46 -4
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +57 -4
- 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;
|
|
@@ -15,4 +15,5 @@ export declare class SelectButtonComponent implements ControlValueAccessor {
|
|
|
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
|
}
|
|
@@ -15,10 +15,20 @@ let SelectButtonComponent = SelectButtonComponent_1 = class SelectButtonComponen
|
|
|
15
15
|
return;
|
|
16
16
|
this.activeItems.clear();
|
|
17
17
|
if (Array.isArray(value)) {
|
|
18
|
-
value.forEach((item) =>
|
|
18
|
+
value.forEach((item) => {
|
|
19
|
+
this.items.forEach((iItem) => {
|
|
20
|
+
if (this._compareItems(item, iItem)) {
|
|
21
|
+
this.activeItems.add(iItem);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
});
|
|
19
25
|
}
|
|
20
26
|
else {
|
|
21
|
-
this.
|
|
27
|
+
this.items.forEach((iItem) => {
|
|
28
|
+
if (this._compareItems(value, iItem)) {
|
|
29
|
+
this.activeItems.add(iItem);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
22
32
|
}
|
|
23
33
|
}
|
|
24
34
|
registerOnChange(onChange) {
|
|
@@ -43,6 +53,36 @@ let SelectButtonComponent = SelectButtonComponent_1 = class SelectButtonComponen
|
|
|
43
53
|
(_a = this.onChange) === null || _a === void 0 ? void 0 : _a.call(this, [...this.activeItems]);
|
|
44
54
|
(_b = this.onTouched) === null || _b === void 0 ? void 0 : _b.call(this, [...this.activeItems]);
|
|
45
55
|
}
|
|
56
|
+
_compareItems(item1, item2) {
|
|
57
|
+
const _compare = (a, b) => {
|
|
58
|
+
if (a === b) {
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
if (a === undefined || b === undefined || typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
if (Array.isArray(a) !== Array.isArray(b)) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
let keysA = Object.keys(a);
|
|
68
|
+
let keysB = Object.keys(b);
|
|
69
|
+
if (keysA.length !== keysB.length) {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
for (let key of keysA) {
|
|
73
|
+
if (!keysB.includes(key) || !_compare(a[key], b[key])) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
for (let key in a) {
|
|
78
|
+
if (a.hasOwnProperty(key) !== b.hasOwnProperty(key)) {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return true;
|
|
83
|
+
};
|
|
84
|
+
return _compare(item1, item2);
|
|
85
|
+
}
|
|
46
86
|
};
|
|
47
87
|
__decorate([
|
|
48
88
|
Input()
|
|
@@ -60,13 +100,15 @@ SelectButtonComponent = SelectButtonComponent_1 = __decorate([
|
|
|
60
100
|
Component({
|
|
61
101
|
selector: "s-select-button",
|
|
62
102
|
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>",
|
|
63
|
-
providers: [
|
|
103
|
+
providers: [
|
|
104
|
+
{
|
|
64
105
|
provide: NG_VALUE_ACCESSOR,
|
|
65
106
|
useExisting: forwardRef(() => SelectButtonComponent_1),
|
|
66
107
|
multi: true,
|
|
67
|
-
}
|
|
108
|
+
},
|
|
109
|
+
],
|
|
68
110
|
styles: [".select-button{overflow:hidden}"]
|
|
69
111
|
})
|
|
70
112
|
], SelectButtonComponent);
|
|
71
113
|
export { SelectButtonComponent };
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zZWxlY3QtYnV0dG9uL3NlbGVjdC1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBZ0J6RSxJQUFhLHFCQUFxQiw2QkFBbEMsTUFBYSxxQkFBcUI7SUFBbEM7UUFLVyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFHdEQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUVuRCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUM7SUEyRnJELENBQUM7SUF2RlUsVUFBVSxDQUFDLEtBQTZDO1FBQzNELElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUVuQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXpCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBc0IsRUFBRSxFQUFFO2dCQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQXVCLEVBQUUsRUFBRTtvQkFDM0MsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRTt3QkFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7cUJB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QyxFQUFFO2dCQUNmLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNqRCxPQUFPLEtBQUssQ0FBQztpQkFDaEI7YUFDSjtZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQztRQUVGLE9BQU8sUUFBUSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0osQ0FBQTtBQXZHRztJQURDLEtBQUssRUFBRTtvREFDeUI7QUFHakM7SUFEQyxLQUFLLEVBQUU7dURBQ2dCO0FBR3hCO0lBREMsTUFBTSxFQUFFOzJEQUNvRDtBQUc3RDtJQURDLE1BQU0sRUFBRTswREFDaUQ7QUFYakQscUJBQXFCO0lBWmpDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsMmNBQTZDO1FBRTdDLFNBQVMsRUFBRTtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXFCLENBQUM7Z0JBQ3BELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSjs7S0FDSixDQUFDO0dBQ1cscUJBQXFCLENBeUdqQztTQXpHWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgZm9yd2FyZFJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgU2VsZWN0QnV0dG9uSXRlbSB9IGZyb20gXCIuL21vZGVsc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzLXNlbGVjdC1idXR0b25cIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3NlbGVjdC1idXR0b24uY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vc2VsZWN0LWJ1dHRvbi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RCdXR0b25Db21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0QnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGl0ZW1zOiBTZWxlY3RCdXR0b25JdGVtW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGl0ZW1TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0QnV0dG9uSXRlbVtdPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGl0ZW1DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RCdXR0b25JdGVtPigpO1xuXG4gICAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG4gICAgcHVibGljIGFjdGl2ZUl0ZW1zID0gbmV3IFNldDxTZWxlY3RCdXR0b25JdGVtPigpO1xuICAgIHB1YmxpYyBvbkNoYW5nZTogKHZhbHVlOiBTZWxlY3RCdXR0b25JdGVtW10pID0+IHZvaWQ7XG4gICAgcHVibGljIG9uVG91Y2hlZDogKHZhbHVlOiBTZWxlY3RCdXR0b25JdGVtW10pID0+IHZvaWQ7XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZT86IFNlbGVjdEJ1dHRvbkl0ZW0gfCBTZWxlY3RCdXR0b25JdGVtW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuY2xlYXIoKTtcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHZhbHVlLmZvckVhY2goKGl0ZW06IFNlbGVjdEJ1dHRvbkl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goKGlJdGVtOiBTZWxlY3RCdXR0b25JdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jb21wYXJlSXRlbXMoaXRlbSwgaUl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1zLmFkZChpSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpSXRlbTogU2VsZWN0QnV0dG9uSXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jb21wYXJlSXRlbXModmFsdWUsIGlJdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1zLmFkZChpSXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogKHZhbHVlOiBTZWxlY3RCdXR0b25JdGVtW10pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICh2YWx1ZTogU2VsZWN0QnV0dG9uSXRlbVtdKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25JdGVtU2VsZWN0KGl0ZW06IFNlbGVjdEJ1dHRvbkl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgaXRlbS5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuaXRlbUNsaWNrZWQuZW1pdChpdGVtKTtcblxuICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuY2xlYXIoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1zLmFkZChpdGVtKTtcbiAgICAgICAgdGhpcy5pdGVtU2VsZWN0ZWQuZW1pdChbLi4udGhpcy5hY3RpdmVJdGVtc10pO1xuXG4gICAgICAgIHRoaXMub25DaGFuZ2U/LihbLi4udGhpcy5hY3RpdmVJdGVtc10pO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZD8uKFsuLi50aGlzLmFjdGl2ZUl0ZW1zXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29tcGFyZUl0ZW1zKGl0ZW0xOiBTZWxlY3RCdXR0b25JdGVtLCBpdGVtMjogU2VsZWN0QnV0dG9uSXRlbSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBfY29tcGFyZSA9IChhOiBhbnksIGI6IGFueSk6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgaWYgKGEgPT09IGIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGEgPT09IHVuZGVmaW5lZCB8fCBiID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIGEgIT09IFwib2JqZWN0XCIgfHwgYSA9PT0gbnVsbCB8fCB0eXBlb2YgYiAhPT0gXCJvYmplY3RcIiB8fCBiID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhKSAhPT0gQXJyYXkuaXNBcnJheShiKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IGtleXNBID0gT2JqZWN0LmtleXMoYSk7XG4gICAgICAgICAgICBsZXQga2V5c0IgPSBPYmplY3Qua2V5cyhiKTtcblxuICAgICAgICAgICAgaWYgKGtleXNBLmxlbmd0aCAhPT0ga2V5c0IubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGxldCBrZXkgb2Yga2V5c0EpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWtleXNCLmluY2x1ZGVzKGtleSkgfHwgIV9jb21wYXJlKGFba2V5XSwgYltrZXldKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gYSkge1xuICAgICAgICAgICAgICAgIGlmIChhLmhhc093blByb3BlcnR5KGtleSkgIT09IGIuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gX2NvbXBhcmUoaXRlbTEsIGl0ZW0yKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -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 () {
|
|
@@ -16,10 +16,20 @@ var SelectButtonComponent = /** @class */ (function () {
|
|
|
16
16
|
return;
|
|
17
17
|
this.activeItems.clear();
|
|
18
18
|
if (Array.isArray(value)) {
|
|
19
|
-
value.forEach(function (item) {
|
|
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
|
+
});
|
|
20
26
|
}
|
|
21
27
|
else {
|
|
22
|
-
this.
|
|
28
|
+
this.items.forEach(function (iItem) {
|
|
29
|
+
if (_this._compareItems(value, iItem)) {
|
|
30
|
+
_this.activeItems.add(iItem);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
23
33
|
}
|
|
24
34
|
};
|
|
25
35
|
SelectButtonComponent.prototype.registerOnChange = function (onChange) {
|
|
@@ -44,6 +54,47 @@ var SelectButtonComponent = /** @class */ (function () {
|
|
|
44
54
|
(_a = this.onChange) === null || _a === void 0 ? void 0 : _a.call(this, __spread(this.activeItems));
|
|
45
55
|
(_b = this.onTouched) === null || _b === void 0 ? void 0 : _b.call(this, __spread(this.activeItems));
|
|
46
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 (a === undefined || b === undefined || typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
if (Array.isArray(a) !== Array.isArray(b)) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
var keysA = Object.keys(a);
|
|
70
|
+
var keysB = Object.keys(b);
|
|
71
|
+
if (keysA.length !== keysB.length) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
for (var keysA_1 = __values(keysA), keysA_1_1 = keysA_1.next(); !keysA_1_1.done; keysA_1_1 = keysA_1.next()) {
|
|
76
|
+
var key = keysA_1_1.value;
|
|
77
|
+
if (!keysB.includes(key) || !_compare(a[key], b[key])) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
83
|
+
finally {
|
|
84
|
+
try {
|
|
85
|
+
if (keysA_1_1 && !keysA_1_1.done && (_a = keysA_1.return)) _a.call(keysA_1);
|
|
86
|
+
}
|
|
87
|
+
finally { if (e_1) throw e_1.error; }
|
|
88
|
+
}
|
|
89
|
+
for (var key in a) {
|
|
90
|
+
if (a.hasOwnProperty(key) !== b.hasOwnProperty(key)) {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return true;
|
|
95
|
+
};
|
|
96
|
+
return _compare(item1, item2);
|
|
97
|
+
};
|
|
47
98
|
var SelectButtonComponent_1;
|
|
48
99
|
__decorate([
|
|
49
100
|
Input()
|
|
@@ -61,15 +112,17 @@ var SelectButtonComponent = /** @class */ (function () {
|
|
|
61
112
|
Component({
|
|
62
113
|
selector: "s-select-button",
|
|
63
114
|
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>",
|
|
64
|
-
providers: [
|
|
115
|
+
providers: [
|
|
116
|
+
{
|
|
65
117
|
provide: NG_VALUE_ACCESSOR,
|
|
66
118
|
useExisting: forwardRef(function () { return SelectButtonComponent_1; }),
|
|
67
119
|
multi: true,
|
|
68
|
-
}
|
|
120
|
+
},
|
|
121
|
+
],
|
|
69
122
|
styles: [".select-button{overflow:hidden}"]
|
|
70
123
|
})
|
|
71
124
|
], SelectButtonComponent);
|
|
72
125
|
return SelectButtonComponent;
|
|
73
126
|
}());
|
|
74
127
|
export { SelectButtonComponent };
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zZWxlY3QtYnV0dG9uL3NlbGVjdC1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFnQnpFO0lBQUE7UUFLVyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFHdEQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUVuRCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUM7SUEyRnJELENBQUM7OEJBekdZLHFCQUFxQjtJQWtCdkIsMENBQVUsR0FBakIsVUFBa0IsS0FBNkM7UUFBL0QsaUJBb0JDO1FBbkJHLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUVuQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXpCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0QixLQUFLLENBQUMsT0FBTyxDQUFDLFVBQUMsSUFBc0I7Z0JBQ2pDLEtBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQUMsS0FBdUI7b0JBQ3ZDLElBQUksS0FBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUU7d0JBQ2pDLEtBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUMvQjtnQkFDTCxDQUFDLENB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LENBQUMsRUFBRTtnQkFDZixJQUFJLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDakQsT0FBTyxLQUFLLENBQUM7aUJBQ2hCO2FBQ0o7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7SUF0R0Q7UUFEQyxLQUFLLEVBQUU7d0RBQ3lCO0lBR2pDO1FBREMsS0FBSyxFQUFFOzJEQUNnQjtJQUd4QjtRQURDLE1BQU0sRUFBRTsrREFDb0Q7SUFHN0Q7UUFEQyxNQUFNLEVBQUU7OERBQ2lEO0lBWGpELHFCQUFxQjtRQVpqQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLDJjQUE2QztZQUU3QyxTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEsdUJBQXFCLEVBQXJCLENBQXFCLENBQUM7b0JBQ3BELEtBQUssRUFBRSxJQUFJO2lCQUNkO2FBQ0o7O1NBQ0osQ0FBQztPQUNXLHFCQUFxQixDQXlHakM7SUFBRCw0QkFBQztDQUFBLEFBekdELElBeUdDO1NBekdZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBmb3J3YXJkUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBTZWxlY3RCdXR0b25JdGVtIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInMtc2VsZWN0LWJ1dHRvblwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vc2VsZWN0LWJ1dHRvbi5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9zZWxlY3QtYnV0dG9uLmNvbXBvbmVudC5zY3NzXCJdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdEJ1dHRvbkNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXRlbXM6IFNlbGVjdEJ1dHRvbkl0ZW1bXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG11bHRpcGxlID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RCdXR0b25JdGVtW10+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXRlbUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdEJ1dHRvbkl0ZW0+KCk7XG5cbiAgICBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBwdWJsaWMgYWN0aXZlSXRlbXMgPSBuZXcgU2V0PFNlbGVjdEJ1dHRvbkl0ZW0+KCk7XG4gICAgcHVibGljIG9uQ2hhbmdlOiAodmFsdWU6IFNlbGVjdEJ1dHRvbkl0ZW1bXSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgb25Ub3VjaGVkOiAodmFsdWU6IFNlbGVjdEJ1dHRvbkl0ZW1bXSkgPT4gdm9pZDtcblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlPzogU2VsZWN0QnV0dG9uSXRlbSB8IFNlbGVjdEJ1dHRvbkl0ZW1bXSk6IHZvaWQge1xuICAgICAgICBpZiAoIXZhbHVlKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtcy5jbGVhcigpO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgoaXRlbTogU2VsZWN0QnV0dG9uSXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaUl0ZW06IFNlbGVjdEJ1dHRvbkl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbXBhcmVJdGVtcyhpdGVtLCBpSXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuYWRkKGlJdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goKGlJdGVtOiBTZWxlY3RCdXR0b25JdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbXBhcmVJdGVtcyh2YWx1ZSwgaUl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuYWRkKGlJdGVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAodmFsdWU6IFNlbGVjdEJ1dHRvbkl0ZW1bXSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gb25DaGFuZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogKHZhbHVlOiBTZWxlY3RCdXR0b25JdGVtW10pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkl0ZW1TZWxlY3QoaXRlbTogU2VsZWN0QnV0dG9uSXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCBpdGVtLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5pdGVtQ2xpY2tlZC5lbWl0KGl0ZW0pO1xuXG4gICAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVJdGVtcy5jbGVhcigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuYWRkKGl0ZW0pO1xuICAgICAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KFsuLi50aGlzLmFjdGl2ZUl0ZW1zXSk7XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZT8uKFsuLi50aGlzLmFjdGl2ZUl0ZW1zXSk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkPy4oWy4uLnRoaXMuYWN0aXZlSXRlbXNdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jb21wYXJlSXRlbXMoaXRlbTE6IFNlbGVjdEJ1dHRvbkl0ZW0sIGl0ZW0yOiBTZWxlY3RCdXR0b25JdGVtKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IF9jb21wYXJlID0gKGE6IGFueSwgYjogYW55KTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICBpZiAoYSA9PT0gYikge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoYSA9PT0gdW5kZWZpbmVkIHx8IGIgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgYSAhPT0gXCJvYmplY3RcIiB8fCBhID09PSBudWxsIHx8IHR5cGVvZiBiICE9PSBcIm9iamVjdFwiIHx8IGIgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGEpICE9PSBBcnJheS5pc0FycmF5KGIpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQga2V5c0EgPSBPYmplY3Qua2V5cyhhKTtcbiAgICAgICAgICAgIGxldCBrZXlzQiA9IE9iamVjdC5rZXlzKGIpO1xuXG4gICAgICAgICAgICBpZiAoa2V5c0EubGVuZ3RoICE9PSBrZXlzQi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAobGV0IGtleSBvZiBrZXlzQSkge1xuICAgICAgICAgICAgICAgIGlmICgha2V5c0IuaW5jbHVkZXMoa2V5KSB8fCAhX2NvbXBhcmUoYVtrZXldLCBiW2tleV0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBhKSB7XG4gICAgICAgICAgICAgICAgaWYgKGEuaGFzT3duUHJvcGVydHkoa2V5KSAhPT0gYi5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBfY29tcGFyZShpdGVtMSwgaXRlbTIpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -14263,10 +14263,20 @@ let SelectButtonComponent = SelectButtonComponent_1 = class SelectButtonComponen
|
|
|
14263
14263
|
return;
|
|
14264
14264
|
this.activeItems.clear();
|
|
14265
14265
|
if (Array.isArray(value)) {
|
|
14266
|
-
value.forEach((item) =>
|
|
14266
|
+
value.forEach((item) => {
|
|
14267
|
+
this.items.forEach((iItem) => {
|
|
14268
|
+
if (this._compareItems(item, iItem)) {
|
|
14269
|
+
this.activeItems.add(iItem);
|
|
14270
|
+
}
|
|
14271
|
+
});
|
|
14272
|
+
});
|
|
14267
14273
|
}
|
|
14268
14274
|
else {
|
|
14269
|
-
this.
|
|
14275
|
+
this.items.forEach((iItem) => {
|
|
14276
|
+
if (this._compareItems(value, iItem)) {
|
|
14277
|
+
this.activeItems.add(iItem);
|
|
14278
|
+
}
|
|
14279
|
+
});
|
|
14270
14280
|
}
|
|
14271
14281
|
}
|
|
14272
14282
|
registerOnChange(onChange) {
|
|
@@ -14291,6 +14301,36 @@ let SelectButtonComponent = SelectButtonComponent_1 = class SelectButtonComponen
|
|
|
14291
14301
|
(_a = this.onChange) === null || _a === void 0 ? void 0 : _a.call(this, [...this.activeItems]);
|
|
14292
14302
|
(_b = this.onTouched) === null || _b === void 0 ? void 0 : _b.call(this, [...this.activeItems]);
|
|
14293
14303
|
}
|
|
14304
|
+
_compareItems(item1, item2) {
|
|
14305
|
+
const _compare = (a, b) => {
|
|
14306
|
+
if (a === b) {
|
|
14307
|
+
return true;
|
|
14308
|
+
}
|
|
14309
|
+
if (a === undefined || b === undefined || typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
|
|
14310
|
+
return false;
|
|
14311
|
+
}
|
|
14312
|
+
if (Array.isArray(a) !== Array.isArray(b)) {
|
|
14313
|
+
return false;
|
|
14314
|
+
}
|
|
14315
|
+
let keysA = Object.keys(a);
|
|
14316
|
+
let keysB = Object.keys(b);
|
|
14317
|
+
if (keysA.length !== keysB.length) {
|
|
14318
|
+
return false;
|
|
14319
|
+
}
|
|
14320
|
+
for (let key of keysA) {
|
|
14321
|
+
if (!keysB.includes(key) || !_compare(a[key], b[key])) {
|
|
14322
|
+
return false;
|
|
14323
|
+
}
|
|
14324
|
+
}
|
|
14325
|
+
for (let key in a) {
|
|
14326
|
+
if (a.hasOwnProperty(key) !== b.hasOwnProperty(key)) {
|
|
14327
|
+
return false;
|
|
14328
|
+
}
|
|
14329
|
+
}
|
|
14330
|
+
return true;
|
|
14331
|
+
};
|
|
14332
|
+
return _compare(item1, item2);
|
|
14333
|
+
}
|
|
14294
14334
|
};
|
|
14295
14335
|
__decorate([
|
|
14296
14336
|
Input()
|
|
@@ -14308,11 +14348,13 @@ SelectButtonComponent = SelectButtonComponent_1 = __decorate([
|
|
|
14308
14348
|
Component({
|
|
14309
14349
|
selector: "s-select-button",
|
|
14310
14350
|
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>",
|
|
14311
|
-
providers: [
|
|
14351
|
+
providers: [
|
|
14352
|
+
{
|
|
14312
14353
|
provide: NG_VALUE_ACCESSOR,
|
|
14313
14354
|
useExisting: forwardRef(() => SelectButtonComponent_1),
|
|
14314
14355
|
multi: true,
|
|
14315
|
-
}
|
|
14356
|
+
},
|
|
14357
|
+
],
|
|
14316
14358
|
styles: [".select-button{overflow:hidden}"]
|
|
14317
14359
|
})
|
|
14318
14360
|
], SelectButtonComponent);
|