mis-crystal-design-system 18.0.8-test-5 → 18.0.9
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/button/button.directive.scss +69 -0
- package/drawer/drawer.scss +20 -0
- package/dropdown/dropdown.component.d.ts +10 -2
- package/esm2022/dropdown/dropdown.component.mjs +124 -76
- package/esm2022/phone-input/phone-input.component.mjs +2 -2
- package/esm2022/table/public_api.mjs +3 -4
- package/esm2022/table/table.component.mjs +76 -114
- package/esm2022/table/table.module.mjs +4 -25
- package/fesm2022/mis-crystal-design-system-dropdown.mjs +123 -75
- package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-phone-input.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-table.mjs +80 -274
- package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
- package/input/mis-input.component.scss +180 -0
- package/modal/modal.scss +9 -0
- package/package.json +7 -7
- package/styles/fonts/icomoon.eot +0 -0
- package/styles/fonts/icomoon.svg +315 -0
- package/styles/fonts/icomoon.ttf +0 -0
- package/styles/fonts/icomoon.woff +0 -0
- package/styles/mis-borders-backgrounds.scss +764 -0
- package/styles/mis-color-constants.scss +149 -0
- package/styles/mis-flex.scss +321 -0
- package/styles/mis-fonts.scss +124 -0
- package/styles/mis-icons.scss +1054 -0
- package/styles/mis-mixins.scss +46 -0
- package/styles/mis-old-icon-styles.scss +498 -0
- package/styles/mis-spacing-sizing.scss +2590 -0
- package/styles/mis-typography.scss +462 -0
- package/table/public_api.d.ts +2 -3
- package/table/table.component.d.ts +1 -10
- package/table/table.module.d.ts +4 -5
- package/esm2022/table/sort-icons.directive.mjs +0 -139
- package/table/sort-icons.directive.d.ts +0 -36
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { Directive, input, output, signal, } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class SortIconsDirective {
|
|
4
|
-
constructor(el, renderer) {
|
|
5
|
-
this.el = el;
|
|
6
|
-
this.renderer = renderer;
|
|
7
|
-
// Convert inputs to signals
|
|
8
|
-
this.column = input();
|
|
9
|
-
this.activeSort = input();
|
|
10
|
-
this.activeSorts = input();
|
|
11
|
-
this.multiColumnSort = input(false);
|
|
12
|
-
// Convert output to signal
|
|
13
|
-
this.sortChange = output();
|
|
14
|
-
this.multiSortChange = output();
|
|
15
|
-
// Internal state as signals
|
|
16
|
-
this.currentDirection = signal('');
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
// Create a container for the icons
|
|
20
|
-
const container = this.renderer.createElement('div');
|
|
21
|
-
this.renderer?.setStyle(container, 'display', 'inline-flex');
|
|
22
|
-
this.renderer?.setStyle(container, 'align-items', 'center');
|
|
23
|
-
const iconContainer = this.renderer.createElement('div');
|
|
24
|
-
this.renderer?.setStyle(iconContainer, 'display', 'inline-flex');
|
|
25
|
-
this.renderer?.setStyle(iconContainer, 'flex-direction', 'column');
|
|
26
|
-
this.renderer?.setStyle(iconContainer, 'align-items', 'center');
|
|
27
|
-
this.upIcon = this.renderer.createElement('img');
|
|
28
|
-
this.renderer?.setAttribute(this.upIcon, 'src', this.column()?.sortAscIcon);
|
|
29
|
-
this.renderer?.setStyle(this.upIcon, 'opacity', '0.5');
|
|
30
|
-
this.renderer?.setStyle(this.upIcon, 'transition', 'opacity 0.3s ease');
|
|
31
|
-
this.renderer?.setStyle(this.upIcon, 'width', '9px');
|
|
32
|
-
this.renderer?.setStyle(this.upIcon, 'cursor', 'pointer');
|
|
33
|
-
this.renderer?.listen(this.upIcon, 'click', () => this.setSortDirection('ASC'));
|
|
34
|
-
this.downIcon = this.renderer.createElement('img');
|
|
35
|
-
this.renderer?.setAttribute(this.downIcon, 'src', this.column()?.sortDescIcon);
|
|
36
|
-
this.renderer?.setStyle(this.downIcon, 'opacity', '0.5');
|
|
37
|
-
this.renderer?.setStyle(this.downIcon, 'transition', 'opacity 0.3s ease');
|
|
38
|
-
this.renderer?.setStyle(this.downIcon, 'width', '9px');
|
|
39
|
-
this.renderer?.setStyle(this.downIcon, 'cursor', 'pointer');
|
|
40
|
-
this.renderer?.listen(this.downIcon, 'click', () => this.setSortDirection('DESC'));
|
|
41
|
-
this.renderer?.appendChild(iconContainer, this.upIcon);
|
|
42
|
-
this.renderer?.appendChild(iconContainer, this.downIcon);
|
|
43
|
-
this.renderer?.appendChild(container, iconContainer);
|
|
44
|
-
if (this.multiColumnSort()) {
|
|
45
|
-
this.sortOrderElement = this.renderer.createElement('span');
|
|
46
|
-
this.renderer?.setStyle(this.sortOrderElement, 'font-size', '12px');
|
|
47
|
-
this.renderer?.setStyle(this.sortOrderElement, 'font-weight', 'bold');
|
|
48
|
-
this.renderer?.setStyle(this.sortOrderElement, 'color', '#000');
|
|
49
|
-
this.renderer?.appendChild(container, this.sortOrderElement);
|
|
50
|
-
}
|
|
51
|
-
this.renderer?.appendChild(this.el.nativeElement, container);
|
|
52
|
-
this.updateIconStyles();
|
|
53
|
-
}
|
|
54
|
-
ngOnChanges(changes) {
|
|
55
|
-
if (changes['activeSort'] || changes['activeSorts']) {
|
|
56
|
-
this.updateIconStyles();
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
setSortDirection(direction) {
|
|
60
|
-
if (this.multiColumnSort()) {
|
|
61
|
-
this.handleMultiColumnSort(direction);
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
this.handleSingleColumnSort(direction);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
handleSingleColumnSort(direction) {
|
|
68
|
-
if (this.currentDirection() === direction) {
|
|
69
|
-
this.currentDirection.set(''); // Reset sorting if the same direction is clicked
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
this.currentDirection.set(direction);
|
|
73
|
-
}
|
|
74
|
-
this.sortChange.emit({
|
|
75
|
-
column: this.column()?.data || '',
|
|
76
|
-
direction: this.currentDirection()
|
|
77
|
-
});
|
|
78
|
-
this.updateIconStyles();
|
|
79
|
-
}
|
|
80
|
-
handleMultiColumnSort(direction) {
|
|
81
|
-
const existingSortIndex = this.activeSorts().findIndex(sort => sort.column === this.column()?.data);
|
|
82
|
-
if (existingSortIndex !== -1) {
|
|
83
|
-
if (this.activeSorts()[existingSortIndex].direction !== direction) {
|
|
84
|
-
this.activeSorts()[existingSortIndex].direction = direction;
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
this.activeSorts().push({
|
|
92
|
-
column: this.column()?.data || '',
|
|
93
|
-
direction
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
this.multiSortChange.emit([...this.activeSorts()]);
|
|
97
|
-
this.updateIconStyles();
|
|
98
|
-
}
|
|
99
|
-
updateIconStyles() {
|
|
100
|
-
if (this.multiColumnSort()) {
|
|
101
|
-
this.updateMultiColumnIconStyles();
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
this.updateSingleColumnIconStyles();
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
updateSingleColumnIconStyles() {
|
|
108
|
-
const isActiveColumn = this.activeSort()?.column === this.column()?.data;
|
|
109
|
-
setTimeout(() => {
|
|
110
|
-
this.renderer?.setStyle(this.upIcon, 'opacity', isActiveColumn && this.currentDirection() === 'ASC' ? '1' : '0.5');
|
|
111
|
-
this.renderer?.setStyle(this.downIcon, 'opacity', isActiveColumn && this.currentDirection() === 'DESC' ? '1' : '0.5');
|
|
112
|
-
}, 0);
|
|
113
|
-
}
|
|
114
|
-
updateMultiColumnIconStyles() {
|
|
115
|
-
const columnSort = this.activeSorts().find(sort => sort.column === this.column()?.data);
|
|
116
|
-
setTimeout(() => {
|
|
117
|
-
this.renderer?.setStyle(this.upIcon, 'opacity', columnSort?.direction === 'ASC' ? '1' : '0.5');
|
|
118
|
-
this.renderer?.setStyle(this.downIcon, 'opacity', columnSort?.direction === 'DESC' ? '1' : '0.5');
|
|
119
|
-
if (this.sortOrderElement) {
|
|
120
|
-
const sortIndex = this.activeSorts().findIndex(sort => sort.column === this.column()?.data);
|
|
121
|
-
if (sortIndex !== -1) {
|
|
122
|
-
this.renderer?.setProperty(this.sortOrderElement, 'textContent', (sortIndex + 1).toString());
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
this.renderer?.setProperty(this.sortOrderElement, 'textContent', '');
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}, 0);
|
|
129
|
-
}
|
|
130
|
-
static { this.ɵfac = function SortIconsDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SortIconsDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
|
|
131
|
-
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: SortIconsDirective, selectors: [["", "appSortIcons", ""]], inputs: { column: [1, "column"], activeSort: [1, "activeSort"], activeSorts: [1, "activeSorts"], multiColumnSort: [1, "multiColumnSort"] }, outputs: { sortChange: "sortChange", multiSortChange: "multiSortChange" }, features: [i0.ɵɵNgOnChangesFeature] }); }
|
|
132
|
-
}
|
|
133
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SortIconsDirective, [{
|
|
134
|
-
type: Directive,
|
|
135
|
-
args: [{
|
|
136
|
-
selector: '[appSortIcons]',
|
|
137
|
-
}]
|
|
138
|
-
}], () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], null); })();
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1pY29ucy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90YWJsZS9zb3J0LWljb25zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQVNULEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOztBQWdCdkIsTUFBTSxPQUFPLGtCQUFrQjtJQW1CN0IsWUFBb0IsRUFBYyxFQUFVLFFBQW1CO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBbEIvRCw0QkFBNEI7UUFDNUIsV0FBTSxHQUFHLEtBQUssRUFBYyxDQUFDO1FBQzdCLGVBQVUsR0FBRyxLQUFLLEVBQWEsQ0FBQztRQUNoQyxnQkFBVyxHQUFHLEtBQUssRUFBZSxDQUFDO1FBQ25DLG9CQUFlLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRXhDLDJCQUEyQjtRQUMzQixlQUFVLEdBQUcsTUFBTSxFQUFhLENBQUM7UUFDakMsb0JBQWUsR0FBRyxNQUFNLEVBQWUsQ0FBQztRQUV4Qyw0QkFBNEI7UUFDNUIscUJBQWdCLEdBQUcsTUFBTSxDQUFzQixFQUFFLENBQUMsQ0FBQztJQU9lLENBQUM7SUFFbkUsUUFBUTtRQUVOLG1DQUFtQztRQUNuQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFNUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEs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IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRTdGF0ZSB7XG4gIGNvbHVtbjogc3RyaW5nO1xuICBkaXJlY3Rpb246ICdBU0MnIHwgJ0RFU0MnIHwgJyc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydENvbHVtbiB7XG4gIGRhdGE6IHN0cmluZztcbiAgc29ydEFzY0ljb24/OiBzdHJpbmc7XG4gIHNvcnREZXNjSWNvbj86IHN0cmluZztcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FwcFNvcnRJY29uc10nLFxufSlcbmV4cG9ydCBjbGFzcyBTb3J0SWNvbnNEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIC8vIENvbnZlcnQgaW5wdXRzIHRvIHNpZ25hbHNcbiAgY29sdW1uID0gaW5wdXQ8U29ydENvbHVtbj4oKTtcbiAgYWN0aXZlU29ydCA9IGlucHV0PFNvcnRTdGF0ZT4oKTtcbiAgYWN0aXZlU29ydHMgPSBpbnB1dDxTb3J0U3RhdGVbXT4oKTtcbiAgbXVsdGlDb2x1bW5Tb3J0ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBcbiAgLy8gQ29udmVydCBvdXRwdXQgdG8gc2lnbmFsXG4gIHNvcnRDaGFuZ2UgPSBvdXRwdXQ8U29ydFN0YXRlPigpO1xuICBtdWx0aVNvcnRDaGFuZ2UgPSBvdXRwdXQ8U29ydFN0YXRlW10+KCk7XG5cbiAgLy8gSW50ZXJuYWwgc3RhdGUgYXMgc2lnbmFsc1xuICBjdXJyZW50RGlyZWN0aW9uID0gc2lnbmFsPCdBU0MnIHwgJ0RFU0MnIHwgJyc+KCcnKTtcblxuICAvLyBBc3NldHNcbiAgcHJpdmF0ZSB1cEljb24hOiBIVE1MSW1hZ2VFbGVtZW50O1xuICBwcml2YXRlIGRvd25JY29uITogSFRNTEltYWdlRWxlbWVudDtcbiAgcHJpdmF0ZSBzb3J0T3JkZXJFbGVtZW50PzogSFRNTFNwYW5FbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBcbiAgICAvLyBDcmVhdGUgYSBjb250YWluZXIgZm9yIHRoZSBpY29uc1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUoY29udGFpbmVyLCAnZGlzcGxheScsICdpbmxpbmUtZmxleCcpO1xuICAgIHRoaXMucmVuZGVyZXI/LnNldFN0eWxlKGNvbnRhaW5lciwgJ2FsaWduLWl0ZW1zJywgJ2NlbnRlcicpO1xuXG4gICAgY29uc3QgaWNvbkNvbnRhaW5lciA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUoaWNvbkNvbnRhaW5lciwgJ2Rpc3BsYXknLCAnaW5saW5lLWZsZXgnKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZShpY29uQ29udGFpbmVyLCAnZmxleC1kaXJlY3Rpb24nLCAnY29sdW1uJyk7XG4gICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUoaWNvbkNvbnRhaW5lciwgJ2FsaWduLWl0ZW1zJywgJ2NlbnRlcicpO1xuXG4gICAgdGhpcy51cEljb24gPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2ltZycpO1xuICAgIHRoaXMucmVuZGVyZXI/LnNldEF0dHJpYnV0ZSh0aGlzLnVwSWNvbiwgJ3NyYycsIHRoaXMuY29sdW1uKCk/LnNvcnRBc2NJY29uKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZSh0aGlzLnVwSWNvbiwgJ29wYWNpdHknLCAnMC41Jyk7XG4gICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUodGhpcy51cEljb24sICd0cmFuc2l0aW9uJywgJ29wYWNpdHkgMC4zcyBlYXNlJyk7XG4gICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUodGhpcy51cEljb24sICd3aWR0aCcsICc5cHgnKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZSh0aGlzLnVwSWNvbiwgJ2N1cnNvcicsICdwb2ludGVyJyk7XG4gICAgdGhpcy5yZW5kZXJlcj8ubGlzdGVuKHRoaXMudXBJY29uLCAnY2xpY2snLCAoKSA9PiB0aGlzLnNldFNvcnREaXJlY3Rpb24oJ0FTQycpKTtcblxuICAgIHRoaXMuZG93bkljb24gPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2ltZycpO1xuICAgIHRoaXMucmVuZGVyZXI/LnNldEF0dHJpYnV0ZSh0aGlzLmRvd25JY29uLCAnc3JjJywgdGhpcy5jb2x1bW4oKT8uc29ydERlc2NJY29uKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZSh0aGlzLmRvd25JY29uLCAnb3BhY2l0eScsICcwLjUnKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZSh0aGlzLmRvd25JY29uLCAndHJhbnNpdGlvbicsICdvcGFjaXR5IDAuM3MgZWFzZScpO1xuICAgIHRoaXMucmVuZGVyZXI/LnNldFN0eWxlKHRoaXMuZG93bkljb24sICd3aWR0aCcsICc5cHgnKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZSh0aGlzLmRvd25JY29uLCAnY3Vyc29yJywgJ3BvaW50ZXInKTtcbiAgICB0aGlzLnJlbmRlcmVyPy5saXN0ZW4odGhpcy5kb3duSWNvbiwgJ2NsaWNrJywgKCkgPT4gdGhpcy5zZXRTb3J0RGlyZWN0aW9uKCdERVNDJykpO1xuXG4gICAgdGhpcy5yZW5kZXJlcj8uYXBwZW5kQ2hpbGQoaWNvbkNvbnRhaW5lciwgdGhpcy51cEljb24pO1xuICAgIHRoaXMucmVuZGVyZXI/LmFwcGVuZENoaWxkKGljb25Db250YWluZXIsIHRoaXMuZG93bkljb24pO1xuICAgIHRoaXMucmVuZGVyZXI/LmFwcGVuZENoaWxkKGNvbnRhaW5lciwgaWNvbkNvbnRhaW5lcik7XG5cbiAgICBpZiAodGhpcy5tdWx0aUNvbHVtblNvcnQoKSkge1xuICAgICAgdGhpcy5zb3J0T3JkZXJFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZSh0aGlzLnNvcnRPcmRlckVsZW1lbnQsICdmb250LXNpemUnLCAnMTJweCcpO1xuICAgICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUodGhpcy5zb3J0T3JkZXJFbGVtZW50LCAnZm9udC13ZWlnaHQnLCAnYm9sZCcpO1xuICAgICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUodGhpcy5zb3J0T3JkZXJFbGVtZW50LCAnY29sb3InLCAnIzAwMCcpO1xuICAgICAgdGhpcy5yZW5kZXJlcj8uYXBwZW5kQ2hpbGQoY29udGFpbmVyLCB0aGlzLnNvcnRPcmRlckVsZW1lbnQpO1xuICAgIH1cblxuICAgIHRoaXMucmVuZGVyZXI/LmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgY29udGFpbmVyKTtcbiAgICB0aGlzLnVwZGF0ZUljb25TdHlsZXMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snYWN0aXZlU29ydCddIHx8IGNoYW5nZXNbJ2FjdGl2ZVNvcnRzJ10pIHtcbiAgICAgIHRoaXMudXBkYXRlSWNvblN0eWxlcygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0U29ydERpcmVjdGlvbihkaXJlY3Rpb246ICdBU0MnIHwgJ0RFU0MnKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubXVsdGlDb2x1bW5Tb3J0KCkpIHtcbiAgICAgIHRoaXMuaGFuZGxlTXVsdGlDb2x1bW5Tb3J0KGRpcmVjdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGFuZGxlU2luZ2xlQ29sdW1uU29ydChkaXJlY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU2luZ2xlQ29sdW1uU29ydChkaXJlY3Rpb246ICdBU0MnIHwgJ0RFU0MnKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudERpcmVjdGlvbigpID09PSBkaXJlY3Rpb24pIHtcbiAgICAgIHRoaXMuY3VycmVudERpcmVjdGlvbi5zZXQoJycpOyAvLyBSZXNldCBzb3J0aW5nIGlmIHRoZSBzYW1lIGRpcmVjdGlvbiBpcyBjbGlja2VkXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3VycmVudERpcmVjdGlvbi5zZXQoZGlyZWN0aW9uKTtcbiAgICB9XG5cbiAgICB0aGlzLnNvcnRDaGFuZ2UuZW1pdCh7IFxuICAgICAgY29sdW1uOiB0aGlzLmNvbHVtbigpPy5kYXRhIHx8ICcnLCBcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5jdXJyZW50RGlyZWN0aW9uKClcbiAgICB9KTtcbiAgICB0aGlzLnVwZGF0ZUljb25TdHlsZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTXVsdGlDb2x1bW5Tb3J0KGRpcmVjdGlvbjogJ0FTQycgfCAnREVTQycpOiB2b2lkIHtcbiAgICBjb25zdCBleGlzdGluZ1NvcnRJbmRleCA9IHRoaXMuYWN0aXZlU29ydHMoKS5maW5kSW5kZXgoc29ydCA9PiBzb3J0LmNvbHVtbiA9PT0gdGhpcy5jb2x1bW4oKT8uZGF0YSk7XG4gICAgXG4gICAgaWYgKGV4aXN0aW5nU29ydEluZGV4ICE9PSAtMSkge1xuICAgICAgaWYgKHRoaXMuYWN0aXZlU29ydHMoKVtleGlzdGluZ1NvcnRJbmRleF0uZGlyZWN0aW9uICE9PSBkaXJlY3Rpb24pIHtcbiAgICAgICAgdGhpcy5hY3RpdmVTb3J0cygpW2V4aXN0aW5nU29ydEluZGV4XS5kaXJlY3Rpb24gPSBkaXJlY3Rpb247XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWN0aXZlU29ydHMoKS5wdXNoKHsgXG4gICAgICAgIGNvbHVtbjogdGhpcy5jb2x1bW4oKT8uZGF0YSB8fCAnJywgXG4gICAgICAgIGRpcmVjdGlvblxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMubXVsdGlTb3J0Q2hhbmdlLmVtaXQoWy4uLnRoaXMuYWN0aXZlU29ydHMoKV0pO1xuICAgIHRoaXMudXBkYXRlSWNvblN0eWxlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVJY29uU3R5bGVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm11bHRpQ29sdW1uU29ydCgpKSB7XG4gICAgICB0aGlzLnVwZGF0ZU11bHRpQ29sdW1uSWNvblN0eWxlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZVNpbmdsZUNvbHVtbkljb25TdHlsZXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVNpbmdsZUNvbHVtbkljb25TdHlsZXMoKTogdm9pZCB7XG4gICAgY29uc3QgaXNBY3RpdmVDb2x1bW4gPSB0aGlzLmFjdGl2ZVNvcnQoKT8uY29sdW1uID09PSB0aGlzLmNvbHVtbigpPy5kYXRhO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZShcbiAgICAgICAgdGhpcy51cEljb24sXG4gICAgICAgICdvcGFjaXR5JyxcbiAgICAgICAgaXNBY3RpdmVDb2x1bW4gJiYgdGhpcy5jdXJyZW50RGlyZWN0aW9uKCkgPT09ICdBU0MnID8gJzEnIDogJzAuNSdcbiAgICAgICk7XG4gICAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5kb3duSWNvbixcbiAgICAgICAgJ29wYWNpdHknLFxuICAgICAgICBpc0FjdGl2ZUNvbHVtbiAmJiB0aGlzLmN1cnJlbnREaXJlY3Rpb24oKSA9PT0gJ0RFU0MnID8gJzEnIDogJzAuNSdcbiAgICAgICk7XG4gICAgfSwgMCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU11bHRpQ29sdW1uSWNvblN0eWxlcygpOiB2b2lkIHtcbiAgICBjb25zdCBjb2x1bW5Tb3J0ID0gdGhpcy5hY3RpdmVTb3J0cygpLmZpbmQoc29ydCA9PiBzb3J0LmNvbHVtbiA9PT0gdGhpcy5jb2x1bW4oKT8uZGF0YSk7XG4gICAgXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlbmRlcmVyPy5zZXRTdHlsZShcbiAgICAgICAgdGhpcy51cEljb24sXG4gICAgICAgICdvcGFjaXR5JyxcbiAgICAgICAgY29sdW1uU29ydD8uZGlyZWN0aW9uID09PSAnQVNDJyA/ICcxJyA6ICcwLjUnXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlcj8uc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZG93bkljb24sXG4gICAgICAgICdvcGFjaXR5JyxcbiAgICAgICAgY29sdW1uU29ydD8uZGlyZWN0aW9uID09PSAnREVTQycgPyAnMScgOiAnMC41J1xuICAgICAgKTtcblxuICAgICAgaWYgKHRoaXMuc29ydE9yZGVyRWxlbWVudCkge1xuICAgICAgICBjb25zdCBzb3J0SW5kZXggPSB0aGlzLmFjdGl2ZVNvcnRzKCkuZmluZEluZGV4KHNvcnQgPT4gc29ydC5jb2x1bW4gPT09IHRoaXMuY29sdW1uKCk/LmRhdGEpO1xuICAgICAgICBpZiAoc29ydEluZGV4ICE9PSAtMSkge1xuICAgICAgICAgIHRoaXMucmVuZGVyZXI/LnNldFByb3BlcnR5KHRoaXMuc29ydE9yZGVyRWxlbWVudCwgJ3RleHRDb250ZW50JywgKHNvcnRJbmRleCArIDEpLnRvU3RyaW5nKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucmVuZGVyZXI/LnNldFByb3BlcnR5KHRoaXMuc29ydE9yZGVyRWxlbWVudCwgJ3RleHRDb250ZW50JywgJycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgMCk7XG4gIH1cbn0iXX0=
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { ElementRef, OnChanges, OnInit, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export interface SortState {
|
|
4
|
-
column: string;
|
|
5
|
-
direction: 'ASC' | 'DESC' | '';
|
|
6
|
-
}
|
|
7
|
-
export interface SortColumn {
|
|
8
|
-
data: string;
|
|
9
|
-
sortAscIcon?: string;
|
|
10
|
-
sortDescIcon?: string;
|
|
11
|
-
}
|
|
12
|
-
export declare class SortIconsDirective implements OnInit, OnChanges {
|
|
13
|
-
private el;
|
|
14
|
-
private renderer;
|
|
15
|
-
column: import("@angular/core").InputSignal<SortColumn>;
|
|
16
|
-
activeSort: import("@angular/core").InputSignal<SortState>;
|
|
17
|
-
activeSorts: import("@angular/core").InputSignal<SortState[]>;
|
|
18
|
-
multiColumnSort: import("@angular/core").InputSignal<boolean>;
|
|
19
|
-
sortChange: import("@angular/core").OutputEmitterRef<SortState>;
|
|
20
|
-
multiSortChange: import("@angular/core").OutputEmitterRef<SortState[]>;
|
|
21
|
-
currentDirection: import("@angular/core").WritableSignal<"" | "ASC" | "DESC">;
|
|
22
|
-
private upIcon;
|
|
23
|
-
private downIcon;
|
|
24
|
-
private sortOrderElement?;
|
|
25
|
-
constructor(el: ElementRef, renderer: Renderer2);
|
|
26
|
-
ngOnInit(): void;
|
|
27
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
28
|
-
private setSortDirection;
|
|
29
|
-
private handleSingleColumnSort;
|
|
30
|
-
private handleMultiColumnSort;
|
|
31
|
-
private updateIconStyles;
|
|
32
|
-
private updateSingleColumnIconStyles;
|
|
33
|
-
private updateMultiColumnIconStyles;
|
|
34
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SortIconsDirective, never>;
|
|
35
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SortIconsDirective, "[appSortIcons]", never, { "column": { "alias": "column"; "required": false; "isSignal": true; }; "activeSort": { "alias": "activeSort"; "required": false; "isSignal": true; }; "activeSorts": { "alias": "activeSorts"; "required": false; "isSignal": true; }; "multiColumnSort": { "alias": "multiColumnSort"; "required": false; "isSignal": true; }; }, { "sortChange": "sortChange"; "multiSortChange": "multiSortChange"; }, never, never, false, never>;
|
|
36
|
-
}
|