@wlcm/angular 17.5.13 → 17.5.16
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/core/esm2022/index.mjs +7 -4
- package/core/esm2022/lib/components/default-loader/default-loader.component.mjs +12 -0
- package/core/esm2022/lib/components/{calendar-icon → icons/calendar-icon}/calendar-icon.component.mjs +1 -1
- package/core/esm2022/lib/components/{chevron-down-icon → icons/chevron-down-icon}/chevron-down-icon.component.mjs +1 -1
- package/core/esm2022/lib/components/{close-icon → icons/close-icon}/close-icon.component.mjs +1 -1
- package/core/esm2022/lib/components/{search-icon → icons/search-icon}/search-icon.component.mjs +1 -1
- package/core/esm2022/lib/components/loader/loader.component.mjs +32 -0
- package/core/esm2022/lib/constants/icon.contants.mjs +4 -4
- package/core/esm2022/lib/constants/loader.constants.mjs +7 -0
- package/core/esm2022/lib/directives/icon.directive.mjs +2 -2
- package/core/esm2022/lib/utils/paginated-data-emulator.utils.mjs +20 -0
- package/core/fesm2022/wlcm-angular-core.mjs +64 -3
- package/core/fesm2022/wlcm-angular-core.mjs.map +1 -1
- package/core/index.d.ts +6 -3
- package/core/lib/components/default-loader/default-loader.component.d.ts +5 -0
- package/core/lib/components/loader/loader.component.d.ts +11 -0
- package/core/lib/constants/loader.constants.d.ts +2 -0
- package/core/lib/utils/paginated-data-emulator.utils.d.ts +10 -0
- package/datepicker/esm2022/lib/components/calendar-header/calendar-header.component.mjs +7 -5
- package/datepicker/esm2022/lib/components/range/date-range-calendar-header/date-range-calendar-header.component.mjs +39 -5
- package/datepicker/esm2022/lib/components/range/date-range-picker/date-range-picker.component.mjs +14 -9
- package/datepicker/esm2022/lib/components/single/datepicker-input-container/datepicker-input-container.component.mjs +2 -2
- package/datepicker/esm2022/lib/components/single/datepicker-panel/datepicker-panel.component.mjs +15 -9
- package/datepicker/esm2022/lib/constants/datepicker.constants.mjs +3 -1
- package/datepicker/esm2022/lib/directives/datepicker-input.base.mjs +20 -4
- package/datepicker/esm2022/lib/directives/datepicker-trigger.base.mjs +23 -4
- package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input-end.directive.mjs +12 -8
- package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input-start.directive.mjs +12 -8
- package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input.base.mjs +7 -4
- package/datepicker/esm2022/lib/directives/ragne/left-calendar.directive.mjs +10 -5
- package/datepicker/esm2022/lib/directives/ragne/right-calendar.directive.mjs +10 -5
- package/datepicker/esm2022/lib/directives/single/datepicker-input.directive.mjs +2 -2
- package/datepicker/esm2022/lib/models/date-picker.models.mjs +3 -1
- package/datepicker/esm2022/lib/models/range/data-range-calendar.models.mjs +21 -3
- package/datepicker/fesm2022/wlcm-angular-datepicker.mjs +202 -94
- package/datepicker/fesm2022/wlcm-angular-datepicker.mjs.map +1 -1
- package/datepicker/lib/components/calendar-header/calendar-header.component.d.ts +3 -1
- package/datepicker/lib/components/range/date-range-calendar-header/date-range-calendar-header.component.d.ts +8 -2
- package/datepicker/lib/components/range/date-range-picker/date-range-picker.component.d.ts +5 -3
- package/datepicker/lib/components/single/datepicker-input-container/datepicker-input-container.component.d.ts +3 -3
- package/datepicker/lib/components/single/datepicker-panel/datepicker-panel.component.d.ts +10 -6
- package/datepicker/lib/constants/datepicker.constants.d.ts +3 -1
- package/datepicker/lib/directives/datepicker-input.base.d.ts +5 -1
- package/datepicker/lib/directives/datepicker-trigger.base.d.ts +7 -2
- package/datepicker/lib/directives/ragne/date-range-picker-input-end.directive.d.ts +4 -2
- package/datepicker/lib/directives/ragne/date-range-picker-input-start.directive.d.ts +4 -2
- package/datepicker/lib/directives/ragne/date-range-picker-input.base.d.ts +3 -1
- package/datepicker/lib/directives/ragne/left-calendar.directive.d.ts +3 -1
- package/datepicker/lib/directives/ragne/right-calendar.directive.d.ts +3 -1
- package/datepicker/lib/directives/single/datepicker-input.directive.d.ts +5 -5
- package/datepicker/lib/models/date-picker.models.d.ts +8 -1
- package/datepicker/lib/models/range/data-range-calendar.models.d.ts +6 -1
- package/forms/esm2022/lib/forms/components/form-field/form-field.component.mjs +9 -6
- package/forms/fesm2022/wlcm-angular-forms.mjs +8 -5
- package/forms/fesm2022/wlcm-angular-forms.mjs.map +1 -1
- package/forms/lib/forms/components/form-field/form-field.component.d.ts +2 -1
- package/package.json +1 -1
- package/search-field/esm2022/lib/components/search-field/search-field.component.mjs +3 -3
- package/search-field/fesm2022/wlcm-angular-search-field.mjs +2 -2
- package/search-field/fesm2022/wlcm-angular-search-field.mjs.map +1 -1
- package/styles/components/calendar/_calendar-header.scss +4 -0
- package/styles/components/loader/_loader.scss +168 -0
- package/styles/components/loader/index.scss +5 -0
- package/styles/core/_all-theme.scss +2 -0
- package/table/esm2022/lib/components/table/table.component.mjs +3 -1
- package/table/esm2022/lib/components/table-row/table-row.component.mjs +48 -20
- package/table/esm2022/lib/components/table-row-actions/table-row-actions.component.mjs +13 -46
- package/table/esm2022/lib/directives/scrollable-table-container.directive.mjs +38 -7
- package/table/fesm2022/wlcm-angular-table.mjs +86 -61
- package/table/fesm2022/wlcm-angular-table.mjs.map +1 -1
- package/table/lib/components/table-row/table-row.component.d.ts +9 -4
- package/table/lib/components/table-row-actions/table-row-actions.component.d.ts +3 -12
- package/table/lib/directives/scrollable-table-container.directive.d.ts +9 -1
- /package/core/lib/components/{calendar-icon → icons/calendar-icon}/calendar-icon.component.d.ts +0 -0
- /package/core/lib/components/{chevron-down-icon → icons/chevron-down-icon}/chevron-down-icon.component.d.ts +0 -0
- /package/core/lib/components/{close-icon → icons/close-icon}/close-icon.component.d.ts +0 -0
- /package/core/lib/components/{search-icon → icons/search-icon}/search-icon.component.d.ts +0 -0
@@ -0,0 +1,168 @@
|
|
1
|
+
@use 'sass:map';
|
2
|
+
@use '../../core/utils' as utils;
|
3
|
+
|
4
|
+
@mixin theme($theme-config) {
|
5
|
+
$theme: utils.using-theme($theme_config);
|
6
|
+
|
7
|
+
.wlcm-loader {
|
8
|
+
width: 100%;
|
9
|
+
display: block;
|
10
|
+
|
11
|
+
&.wlcm-loader-hidden {
|
12
|
+
width: 0;
|
13
|
+
height: 0;
|
14
|
+
overflow: hidden;
|
15
|
+
visibility: hidden;
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
.wlcm-loader-container {
|
20
|
+
width: 100%;
|
21
|
+
display: flex;
|
22
|
+
justify-content: center;
|
23
|
+
}
|
24
|
+
|
25
|
+
.wlcm-default-loader {
|
26
|
+
width: 28px;
|
27
|
+
height: 28px;
|
28
|
+
display: block;
|
29
|
+
position: relative;
|
30
|
+
|
31
|
+
.spinner {
|
32
|
+
font-size: 28px;
|
33
|
+
position: relative;
|
34
|
+
display: inline-block;
|
35
|
+
width: 1em;
|
36
|
+
height: 1em;
|
37
|
+
}
|
38
|
+
|
39
|
+
.spinner.center {
|
40
|
+
position: absolute;
|
41
|
+
left: 0;
|
42
|
+
right: 0;
|
43
|
+
top: 0;
|
44
|
+
bottom: 0;
|
45
|
+
margin: auto;
|
46
|
+
}
|
47
|
+
|
48
|
+
.spinner .spinner-blade {
|
49
|
+
position: absolute;
|
50
|
+
left: 0.4629em;
|
51
|
+
bottom: 0;
|
52
|
+
width: 0.074em;
|
53
|
+
height: 0.2777em;
|
54
|
+
border-radius: 0.0555em;
|
55
|
+
background-color: transparent;
|
56
|
+
-webkit-transform-origin: center -0.2222em;
|
57
|
+
-ms-transform-origin: center -0.2222em;
|
58
|
+
transform-origin: center -0.2222em;
|
59
|
+
animation: spinner-fade 1s infinite linear;
|
60
|
+
}
|
61
|
+
|
62
|
+
.spinner .spinner-blade:nth-child(1) {
|
63
|
+
-webkit-animation-delay: 0s;
|
64
|
+
animation-delay: 0s;
|
65
|
+
-webkit-transform: rotate(0deg);
|
66
|
+
-ms-transform: rotate(0deg);
|
67
|
+
transform: rotate(0deg);
|
68
|
+
}
|
69
|
+
|
70
|
+
.spinner .spinner-blade:nth-child(2) {
|
71
|
+
-webkit-animation-delay: 0.083s;
|
72
|
+
animation-delay: 0.083s;
|
73
|
+
-webkit-transform: rotate(30deg);
|
74
|
+
-ms-transform: rotate(30deg);
|
75
|
+
transform: rotate(30deg);
|
76
|
+
}
|
77
|
+
|
78
|
+
.spinner .spinner-blade:nth-child(3) {
|
79
|
+
-webkit-animation-delay: 0.166s;
|
80
|
+
animation-delay: 0.166s;
|
81
|
+
-webkit-transform: rotate(60deg);
|
82
|
+
-ms-transform: rotate(60deg);
|
83
|
+
transform: rotate(60deg);
|
84
|
+
}
|
85
|
+
|
86
|
+
.spinner .spinner-blade:nth-child(4) {
|
87
|
+
-webkit-animation-delay: 0.249s;
|
88
|
+
animation-delay: 0.249s;
|
89
|
+
-webkit-transform: rotate(90deg);
|
90
|
+
-ms-transform: rotate(90deg);
|
91
|
+
transform: rotate(90deg);
|
92
|
+
}
|
93
|
+
|
94
|
+
.spinner .spinner-blade:nth-child(5) {
|
95
|
+
-webkit-animation-delay: 0.332s;
|
96
|
+
animation-delay: 0.332s;
|
97
|
+
-webkit-transform: rotate(120deg);
|
98
|
+
-ms-transform: rotate(120deg);
|
99
|
+
transform: rotate(120deg);
|
100
|
+
}
|
101
|
+
|
102
|
+
.spinner .spinner-blade:nth-child(6) {
|
103
|
+
-webkit-animation-delay: 0.415s;
|
104
|
+
animation-delay: 0.415s;
|
105
|
+
-webkit-transform: rotate(150deg);
|
106
|
+
-ms-transform: rotate(150deg);
|
107
|
+
transform: rotate(150deg);
|
108
|
+
}
|
109
|
+
|
110
|
+
.spinner .spinner-blade:nth-child(7) {
|
111
|
+
-webkit-animation-delay: 0.498s;
|
112
|
+
animation-delay: 0.498s;
|
113
|
+
-webkit-transform: rotate(180deg);
|
114
|
+
-ms-transform: rotate(180deg);
|
115
|
+
transform: rotate(180deg);
|
116
|
+
}
|
117
|
+
|
118
|
+
.spinner .spinner-blade:nth-child(8) {
|
119
|
+
-webkit-animation-delay: 0.581s;
|
120
|
+
animation-delay: 0.581s;
|
121
|
+
-webkit-transform: rotate(210deg);
|
122
|
+
-ms-transform: rotate(210deg);
|
123
|
+
transform: rotate(210deg);
|
124
|
+
}
|
125
|
+
|
126
|
+
.spinner .spinner-blade:nth-child(9) {
|
127
|
+
-webkit-animation-delay: 0.664s;
|
128
|
+
animation-delay: 0.664s;
|
129
|
+
-webkit-transform: rotate(240deg);
|
130
|
+
-ms-transform: rotate(240deg);
|
131
|
+
transform: rotate(240deg);
|
132
|
+
}
|
133
|
+
|
134
|
+
.spinner .spinner-blade:nth-child(10) {
|
135
|
+
-webkit-animation-delay: 0.747s;
|
136
|
+
animation-delay: 0.747s;
|
137
|
+
-webkit-transform: rotate(270deg);
|
138
|
+
-ms-transform: rotate(270deg);
|
139
|
+
transform: rotate(270deg);
|
140
|
+
}
|
141
|
+
|
142
|
+
.spinner .spinner-blade:nth-child(11) {
|
143
|
+
-webkit-animation-delay: 0.83s;
|
144
|
+
animation-delay: 0.83s;
|
145
|
+
-webkit-transform: rotate(300deg);
|
146
|
+
-ms-transform: rotate(300deg);
|
147
|
+
transform: rotate(300deg);
|
148
|
+
}
|
149
|
+
|
150
|
+
.spinner .spinner-blade:nth-child(12) {
|
151
|
+
-webkit-animation-delay: 0.913s;
|
152
|
+
animation-delay: 0.913s;
|
153
|
+
-webkit-transform: rotate(330deg);
|
154
|
+
-ms-transform: rotate(330deg);
|
155
|
+
transform: rotate(330deg);
|
156
|
+
}
|
157
|
+
|
158
|
+
@keyframes spinner-fade {
|
159
|
+
0% {
|
160
|
+
background-color: map-get($theme, primary-color);
|
161
|
+
}
|
162
|
+
|
163
|
+
100% {
|
164
|
+
background-color: transparent;
|
165
|
+
}
|
166
|
+
}
|
167
|
+
}
|
168
|
+
}
|
@@ -10,6 +10,7 @@
|
|
10
10
|
@use '../components/datepicker/index' as datepicker;
|
11
11
|
@use '../components/calendar/index' as calendar;
|
12
12
|
@use '../components/stepper/index' as stepper;
|
13
|
+
@use '../components/loader/index' as loader;
|
13
14
|
@use '../components/table/index' as table;
|
14
15
|
|
15
16
|
@mixin all-component-themes($theme-config) {
|
@@ -23,5 +24,6 @@
|
|
23
24
|
@include phoneInput.theme($theme-config);
|
24
25
|
@include calendar.theme($theme-config);
|
25
26
|
@include stepper.theme($theme-config);
|
27
|
+
@include loader.theme($theme-config);
|
26
28
|
@include table.theme($theme-config);
|
27
29
|
}
|
@@ -6,6 +6,7 @@ import { WlcmTableRowComponent } from '../table-row/table-row.component';
|
|
6
6
|
import { WlcmTableRowSpacerComponent } from '../table-row-spacer/table-row-spacer.component';
|
7
7
|
import { RxLet } from '@rx-angular/template/let';
|
8
8
|
import { CommonModule } from '@angular/common';
|
9
|
+
import { WlcmLoaderComponent } from '@wlcm/angular/core';
|
9
10
|
import * as i0 from "@angular/core";
|
10
11
|
import * as i1 from "../../models/table-selection-model";
|
11
12
|
import * as i2 from "@angular/common";
|
@@ -30,7 +31,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
30
31
|
WlcmTableRowComponent,
|
31
32
|
WlcmTableRowInjectorPipe,
|
32
33
|
WlcmTableRowSpacerComponent,
|
34
|
+
WlcmLoaderComponent,
|
33
35
|
RxLet,
|
34
36
|
], providers: [{ provide: WlcmTableSelectionModel, useClass: DefaultWlcmTableSelectionModel }], template: "<ng-container\n *ngTemplateOutlet=\"headTemplate(); injector: injector\"\n></ng-container>\n\n<tbody>\n @for (row of rows(); track row; let index = $index; let first = $first; let\n last = $last) {\n <wlcm-table-row-spacer></wlcm-table-row-spacer>\n\n <ng-container\n *rxLet=\"\n {\n $implicit: row,\n selectId: selectId(),\n index: index,\n first: first,\n last: last,\n };\n let context\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate();\n context: context;\n injector: context | wlcmTableRowInjector\n \"\n >\n </ng-container>\n </ng-container>\n\n }\n</tbody>\n" }]
|
35
37
|
}], ctorParameters: () => [{ type: i1.WlcmTableSelectionModel }] });
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQTRCLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzdHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR3pFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFtQnpELE1BQU0sT0FBTyxrQkFBa0I7SUFXN0IsWUFBb0IsY0FBdUM7UUFBdkMsbUJBQWMsR0FBZCxjQUFjLENBQXlCO1FBVjNELFNBQUksR0FBcUIsS0FBSyxDQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRXhDLGlCQUFZLEdBQW1DLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVoRSxnQkFBVyxHQUFxRCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakYsYUFBUSxHQUF3QyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakUsYUFBUSxHQUFhLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUdwQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDOzhHQWJVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLHVuQkFKbEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsOEJBQThCLEVBQUUsQ0FBQywwQkN6QjdGLDZxQkFpQ0EseUREaEJJLFlBQVksaU1BR1osd0JBQXdCLDZEQUN4QiwyQkFBMkIsa0VBRTNCLEtBQUs7OzJGQU1JLGtCQUFrQjtrQkFqQjlCLFNBQVM7K0JBQ0UsWUFBWSxRQUNoQixFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsY0FDakIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLHdCQUF3Qjt3QkFDeEIsMkJBQTJCO3dCQUMzQixtQkFBbUI7d0JBQ25CLEtBQUs7cUJBQ04sYUFDVSxDQUFDLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFFBQVEsRUFBRSw4QkFBOEIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXRTaWduYWwsIFRlbXBsYXRlUmVmLCBlZmZlY3QsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlZmF1bHRXbGNtVGFibGVTZWxlY3Rpb25Nb2RlbCwgV2xjbVRhYmxlU2VsZWN0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGFibGUtc2VsZWN0aW9uLW1vZGVsJztcbmltcG9ydCB7IFdsY21UYWJsZVJvd0luamVjdG9yUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3RhYmxlLXJvdy1pbmplY3Rvci5waXBlJztcbmltcG9ydCB7IFdsY21UYWJsZUhlYWRDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS1oZWFkL3RhYmxlLWhlYWQuY29tcG9uZW50JztcbmltcG9ydCB7IFdsY21UYWJsZVJvd0NvbXBvbmVudCB9IGZyb20gJy4uL3RhYmxlLXJvdy90YWJsZS1yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IFdsY21UYWJsZVJvd0NvbnRleHQgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGFibGUtcm93Lm1vZGVscyc7XG5pbXBvcnQgeyBXbGNtVGFibGVTZWxlY3RJZEZuIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RhYmxlLm1vZGVscyc7XG5pbXBvcnQgeyBXbGNtVGFibGVSb3dTcGFjZXJDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS1yb3ctc3BhY2VyL3RhYmxlLXJvdy1zcGFjZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFJ4TGV0IH0gZnJvbSAnQHJ4LWFuZ3VsYXIvdGVtcGxhdGUvbGV0JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBXbGNtTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnQHdsY20vYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2xjbS10YWJsZScsXG4gIGhvc3Q6IHsgY2xhc3M6ICd3bGNtLXRhYmxlJyB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFdsY21UYWJsZUhlYWRDb21wb25lbnQsXG4gICAgV2xjbVRhYmxlUm93Q29tcG9uZW50LFxuICAgIFdsY21UYWJsZVJvd0luamVjdG9yUGlwZSxcbiAgICBXbGNtVGFibGVSb3dTcGFjZXJDb21wb25lbnQsXG4gICAgV2xjbUxvYWRlckNvbXBvbmVudCxcbiAgICBSeExldCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBXbGNtVGFibGVTZWxlY3Rpb25Nb2RlbCwgdXNlQ2xhc3M6IERlZmF1bHRXbGNtVGFibGVTZWxlY3Rpb25Nb2RlbCB9XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgV2xjbVRhYmxlQ29tcG9uZW50PFQgPSB1bmtub3duPiB7XG4gIHJvd3M6IElucHV0U2lnbmFsPFRbXT4gPSBpbnB1dDxUW10+KFtdKTtcblxuICBoZWFkVGVtcGxhdGU6IElucHV0U2lnbmFsPFRlbXBsYXRlUmVmPHZvaWQ+PiA9IGlucHV0LnJlcXVpcmVkKCk7XG5cbiAgcm93VGVtcGxhdGU6IElucHV0U2lnbmFsPFRlbXBsYXRlUmVmPFdsY21UYWJsZVJvd0NvbnRleHQ8VD4+PiA9IGlucHV0LnJlcXVpcmVkKCk7XG5cbiAgc2VsZWN0SWQ6IElucHV0U2lnbmFsPFdsY21UYWJsZVNlbGVjdElkRm48VD4+ID0gaW5wdXQucmVxdWlyZWQoKTtcblxuICBpbmplY3RvcjogSW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VsZWN0aW9uTW9kZWw6IFdsY21UYWJsZVNlbGVjdGlvbk1vZGVsKSB7XG4gICAgZWZmZWN0KCgpID0+IHRoaXMuc2VsZWN0aW9uTW9kZWwudXBkYXRlQ29sbGVjdGlvbih0aGlzLnJvd3MoKS5tYXAodGhpcy5zZWxlY3RJZCgpKSkpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyXG4gICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZFRlbXBsYXRlKCk7IGluamVjdG9yOiBpbmplY3RvclwiXG4+PC9uZy1jb250YWluZXI+XG5cbjx0Ym9keT5cbiAgQGZvciAocm93IG9mIHJvd3MoKTsgdHJhY2sgcm93OyBsZXQgaW5kZXggPSAkaW5kZXg7IGxldCBmaXJzdCA9ICRmaXJzdDsgbGV0XG4gIGxhc3QgPSAkbGFzdCkge1xuICA8d2xjbS10YWJsZS1yb3ctc3BhY2VyPjwvd2xjbS10YWJsZS1yb3ctc3BhY2VyPlxuXG4gIDxuZy1jb250YWluZXJcbiAgICAqcnhMZXQ9XCJcbiAgICAgIHtcbiAgICAgICAgJGltcGxpY2l0OiByb3csXG4gICAgICAgIHNlbGVjdElkOiBzZWxlY3RJZCgpLFxuICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgIGZpcnN0OiBmaXJzdCxcbiAgICAgICAgbGFzdDogbGFzdCxcbiAgICAgIH07XG4gICAgICBsZXQgY29udGV4dFxuICAgIFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICByb3dUZW1wbGF0ZSgpO1xuICAgICAgICBjb250ZXh0OiBjb250ZXh0O1xuICAgICAgICBpbmplY3RvcjogY29udGV4dCB8IHdsY21UYWJsZVJvd0luamVjdG9yXG4gICAgICBcIlxuICAgID5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgfVxuPC90Ym9keT5cbiJdfQ==
|
@@ -1,48 +1,76 @@
|
|
1
|
-
import {
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
2
|
+
import { Component, ElementRef, HostBinding, Inject, signal } from '@angular/core';
|
2
3
|
import { WlcmTableRowActionsComponent } from '../table-row-actions/table-row-actions.component';
|
3
4
|
import { WLCM_TABLE_ROW_CONTEXT } from '../../constants/table-row.constants';
|
5
|
+
import { WlcmTableSelectionModel } from '../../models/table-selection-model';
|
4
6
|
import { WLCM_TABLE_CONFIG } from '../../constants/table.constants';
|
7
|
+
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
5
8
|
import { CommonModule } from '@angular/common';
|
9
|
+
import { filter, map } from 'rxjs';
|
6
10
|
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "
|
8
|
-
|
9
|
-
|
10
|
-
return this._isSelected;
|
11
|
-
}
|
11
|
+
import * as i1 from "../../models/table-selection-model";
|
12
|
+
import * as i2 from "@angular/common";
|
13
|
+
let WlcmTableRowComponent = class WlcmTableRowComponent {
|
12
14
|
get first() {
|
13
15
|
return this.rowContext.first;
|
14
16
|
}
|
15
17
|
get last() {
|
16
18
|
return this.rowContext.last;
|
17
19
|
}
|
18
|
-
constructor(tableConfig, rowContext) {
|
20
|
+
constructor(elementRef, selectionModel, tableConfig, rowContext) {
|
21
|
+
this.elementRef = elementRef;
|
22
|
+
this.selectionModel = selectionModel;
|
19
23
|
this.tableConfig = tableConfig;
|
20
24
|
this.rowContext = rowContext;
|
21
|
-
this.
|
25
|
+
this.isSelected = signal(false);
|
26
|
+
this.rowId = this.rowContext.selectId(this.rowContext.$implicit);
|
27
|
+
this.handleSelectionChanges();
|
28
|
+
}
|
29
|
+
selectionChanged(isSelected) {
|
30
|
+
if (isSelected) {
|
31
|
+
return this.selectionModel.selectOne(this.rowId);
|
32
|
+
}
|
33
|
+
this.selectionModel.deselectOne(this.rowId);
|
34
|
+
this.isSelected.set(isSelected);
|
22
35
|
}
|
23
|
-
|
24
|
-
this.
|
36
|
+
handleSelectionChanges() {
|
37
|
+
this.selectionModel.selectionChanged
|
38
|
+
.pipe(untilDestroyed(this))
|
39
|
+
.pipe(map((collection) => collection.has(this.rowId)))
|
40
|
+
.pipe(filter((isSelected) => isSelected !== this.isSelected()))
|
41
|
+
.subscribe((isSelected) => {
|
42
|
+
this.isSelected.set(isSelected);
|
43
|
+
if (isSelected) {
|
44
|
+
this.elementRef.nativeElement.classList.add('wlcm-table-row-selected');
|
45
|
+
}
|
46
|
+
else {
|
47
|
+
this.elementRef.nativeElement.classList.remove('wlcm-table-row-selected');
|
48
|
+
}
|
49
|
+
});
|
25
50
|
}
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowComponent, deps: [{ token: WLCM_TABLE_CONFIG }, { token: WLCM_TABLE_ROW_CONTEXT }], target: i0.ɵɵFactoryTarget.Component }); }
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: WlcmTableRowComponent, isStandalone: true, selector: "wlcm-table-row", host: { properties: { "class.wlcm-table-row-
|
28
|
-
}
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowComponent, deps: [{ token: i0.ElementRef }, { token: i1.WlcmTableSelectionModel }, { token: WLCM_TABLE_CONFIG }, { token: WLCM_TABLE_ROW_CONTEXT }], target: i0.ɵɵFactoryTarget.Component }); }
|
52
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: WlcmTableRowComponent, isStandalone: true, selector: "wlcm-table-row", host: { properties: { "class.wlcm-table-row-first": "this.first", "class.wlcm-table-row-last": "this.last" }, classAttribute: "wlcm-table-row" }, ngImport: i0, template: "<wlcm-table-row-actions\n *ngIf=\"tableConfig.selectable\"\n [isSelected]=\"isSelected()\"\n (selectionChanged)=\"selectionChanged($event)\"\n></wlcm-table-row-actions>\n\n<ng-content select=\"wlcm-table-row-data\"></ng-content>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: WlcmTableRowActionsComponent, selector: "wlcm-table-row-actions", inputs: ["isSelected"], outputs: ["selectionChanged"] }] }); }
|
53
|
+
};
|
54
|
+
WlcmTableRowComponent = __decorate([
|
55
|
+
UntilDestroy(),
|
56
|
+
__metadata("design:paramtypes", [ElementRef,
|
57
|
+
WlcmTableSelectionModel, Object, Object])
|
58
|
+
], WlcmTableRowComponent);
|
59
|
+
export { WlcmTableRowComponent };
|
29
60
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowComponent, decorators: [{
|
30
61
|
type: Component,
|
31
|
-
args: [{ selector: 'wlcm-table-row', host: { class: 'wlcm-table-row' }, standalone: true, imports: [CommonModule, WlcmTableRowActionsComponent], template: "<wlcm-table-row-actions\n *ngIf=\"tableConfig.selectable\"\n (selectionChanged)=\"
|
32
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
62
|
+
args: [{ selector: 'wlcm-table-row', host: { class: 'wlcm-table-row' }, standalone: true, imports: [CommonModule, WlcmTableRowActionsComponent], template: "<wlcm-table-row-actions\n *ngIf=\"tableConfig.selectable\"\n [isSelected]=\"isSelected()\"\n (selectionChanged)=\"selectionChanged($event)\"\n></wlcm-table-row-actions>\n\n<ng-content select=\"wlcm-table-row-data\"></ng-content>\n" }]
|
63
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.WlcmTableSelectionModel }, { type: undefined, decorators: [{
|
33
64
|
type: Inject,
|
34
65
|
args: [WLCM_TABLE_CONFIG]
|
35
66
|
}] }, { type: undefined, decorators: [{
|
36
67
|
type: Inject,
|
37
68
|
args: [WLCM_TABLE_ROW_CONTEXT]
|
38
|
-
}] }], propDecorators: {
|
39
|
-
type: HostBinding,
|
40
|
-
args: ['class.wlcm-table-row-selected']
|
41
|
-
}], first: [{
|
69
|
+
}] }], propDecorators: { first: [{
|
42
70
|
type: HostBinding,
|
43
71
|
args: ['class.wlcm-table-row-first']
|
44
72
|
}], last: [{
|
45
73
|
type: HostBinding,
|
46
74
|
args: ['class.wlcm-table-row-last']
|
47
75
|
}] } });
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlLXJvdy90YWJsZS1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtcm93L3RhYmxlLXJvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBa0IsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBVzVCLElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXFCO0lBS2hDLElBQStDLEtBQUs7UUFDbEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBOEMsSUFBSTtRQUNoRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUNVLFVBQW1DLEVBQ25DLGNBQXVDLEVBQ1YsV0FBNEIsRUFDekIsVUFBa0M7UUFIbEUsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsbUJBQWMsR0FBZCxjQUFjLENBQXlCO1FBQ1YsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQ3pCLGVBQVUsR0FBVixVQUFVLENBQXdCO1FBZDVFLGVBQVUsR0FBNEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBZ0JsRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0I7YUFDakMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBdUIsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNsRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBbUIsRUFBRSxFQUFFLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2FBQ3ZFLFNBQVMsQ0FBQyxDQUFDLFVBQW1CLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUVoQyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztZQUN6RSxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1lBQzVFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBaERVLHFCQUFxQixtRkFnQnRCLGlCQUFpQixhQUNqQixzQkFBc0I7a0dBakJyQixxQkFBcUIsNE5DcEJsQywyT0FPQSx5RERTWSxZQUFZLG1JQUFFLDRCQUE0Qjs7QUFJekMscUJBQXFCO0lBVGpDLFlBQVksRUFBRTtxQ0F1QlMsVUFBVTtRQUNOLHVCQUF1QjtHQWZ0QyxxQkFBcUIsQ0FpRGpDOzsyRkFqRFkscUJBQXFCO2tCQVJqQyxTQUFTOytCQUNFLGdCQUFnQixRQUNwQixFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxjQUNyQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsNEJBQTRCLENBQUM7OzBCQW9CbEQsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixNQUFNOzJCQUFDLHNCQUFzQjt5Q0FaZSxLQUFLO3NCQUFuRCxXQUFXO3VCQUFDLDRCQUE0QjtnQkFJSyxJQUFJO3NCQUFqRCxXQUFXO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEluamVjdCwgV3JpdGFibGVTaWduYWwsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2xjbVRhYmxlUm93QWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4uL3RhYmxlLXJvdy1hY3Rpb25zL3RhYmxlLXJvdy1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXTENNX1RBQkxFX1JPV19DT05URVhUIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3RhYmxlLXJvdy5jb25zdGFudHMnO1xuaW1wb3J0IHsgV2xjbVRhYmxlU2VsZWN0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGFibGUtc2VsZWN0aW9uLW1vZGVsJztcbmltcG9ydCB7IFdMQ01fVEFCTEVfQ09ORklHIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3RhYmxlLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBXbGNtVGFibGVSb3dDb250ZXh0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RhYmxlLXJvdy5tb2RlbHMnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBXbGNtVGFibGVDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGFibGUubW9kZWxzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMnO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dsY20tdGFibGUtcm93JyxcbiAgaG9zdDogeyBjbGFzczogJ3dsY20tdGFibGUtcm93JyB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBXbGNtVGFibGVSb3dBY3Rpb25zQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLXJvdy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi90YWJsZS1yb3cuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBXbGNtVGFibGVSb3dDb21wb25lbnQ8VCA9IHVua25vd24+IHtcbiAgcm93SWQhOiBzdHJpbmc7XG5cbiAgaXNTZWxlY3RlZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Mud2xjbS10YWJsZS1yb3ctZmlyc3QnKSBnZXQgZmlyc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMucm93Q29udGV4dC5maXJzdDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Mud2xjbS10YWJsZS1yb3ctbGFzdCcpIGdldCBsYXN0KCkge1xuICAgIHJldHVybiB0aGlzLnJvd0NvbnRleHQubGFzdDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBzZWxlY3Rpb25Nb2RlbDogV2xjbVRhYmxlU2VsZWN0aW9uTW9kZWwsXG4gICAgQEluamVjdChXTENNX1RBQkxFX0NPTkZJRykgcHJvdGVjdGVkIHRhYmxlQ29uZmlnOiBXbGNtVGFibGVDb25maWcsXG4gICAgQEluamVjdChXTENNX1RBQkxFX1JPV19DT05URVhUKSBwcml2YXRlIHJvd0NvbnRleHQ6IFdsY21UYWJsZVJvd0NvbnRleHQ8VD5cbiAgKSB7XG4gICAgdGhpcy5yb3dJZCA9IHRoaXMucm93Q29udGV4dC5zZWxlY3RJZCh0aGlzLnJvd0NvbnRleHQuJGltcGxpY2l0KTtcblxuICAgIHRoaXMuaGFuZGxlU2VsZWN0aW9uQ2hhbmdlcygpO1xuICB9XG5cbiAgc2VsZWN0aW9uQ2hhbmdlZChpc1NlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdE9uZSh0aGlzLnJvd0lkKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLmRlc2VsZWN0T25lKHRoaXMucm93SWQpO1xuXG4gICAgdGhpcy5pc1NlbGVjdGVkLnNldChpc1NlbGVjdGVkKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbkNoYW5nZWRcbiAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnBpcGUobWFwKChjb2xsZWN0aW9uOiBTZXQ8c3RyaW5nPikgPT4gY29sbGVjdGlvbi5oYXModGhpcy5yb3dJZCkpKVxuICAgICAgLnBpcGUoZmlsdGVyKChpc1NlbGVjdGVkOiBib29sZWFuKSA9PiBpc1NlbGVjdGVkICE9PSB0aGlzLmlzU2VsZWN0ZWQoKSkpXG4gICAgICAuc3Vic2NyaWJlKChpc1NlbGVjdGVkOiBib29sZWFuKSA9PiB7XG4gICAgICAgIHRoaXMuaXNTZWxlY3RlZC5zZXQoaXNTZWxlY3RlZCk7XG5cbiAgICAgICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCd3bGNtLXRhYmxlLXJvdy1zZWxlY3RlZCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3dsY20tdGFibGUtcm93LXNlbGVjdGVkJyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iLCI8d2xjbS10YWJsZS1yb3ctYWN0aW9uc1xuICAqbmdJZj1cInRhYmxlQ29uZmlnLnNlbGVjdGFibGVcIlxuICBbaXNTZWxlY3RlZF09XCJpc1NlbGVjdGVkKClcIlxuICAoc2VsZWN0aW9uQ2hhbmdlZCk9XCJzZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIlxuPjwvd2xjbS10YWJsZS1yb3ctYWN0aW9ucz5cblxuPG5nLWNvbnRlbnQgc2VsZWN0PVwid2xjbS10YWJsZS1yb3ctZGF0YVwiPjwvbmctY29udGVudD5cbiJdfQ==
|
@@ -1,53 +1,20 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
import { WlcmTableSelectionModel } from '../../models/table-selection-model';
|
4
|
-
import { WLCM_TABLE_ROW_CONTEXT } from '../../constants/table-row.constants';
|
5
|
-
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
6
|
-
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
1
|
+
import { Component, input, output } from '@angular/core';
|
2
|
+
import { FormsModule } from '@angular/forms';
|
7
3
|
import { WlcmFormsModule } from '@wlcm/angular/forms';
|
8
4
|
import { CommonModule } from '@angular/common';
|
9
|
-
import { map } from 'rxjs';
|
10
5
|
import * as i0 from "@angular/core";
|
11
|
-
import * as i1 from "
|
12
|
-
import * as i2 from "@
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
this.selectionModel = selectionModel;
|
17
|
-
this.rowContext = rowContext;
|
18
|
-
this.control = new FormControl(false);
|
6
|
+
import * as i1 from "@wlcm/angular/forms";
|
7
|
+
import * as i2 from "@angular/forms";
|
8
|
+
export class WlcmTableRowActionsComponent {
|
9
|
+
constructor() {
|
10
|
+
this.isSelected = input.required();
|
19
11
|
this.selectionChanged = output();
|
20
|
-
this.rowId = this.rowContext.selectId(this.rowContext.$implicit);
|
21
|
-
this.handleSelectionChange();
|
22
12
|
}
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
}
|
27
|
-
this.selectionModel.deselectOne(this.rowId);
|
28
|
-
}
|
29
|
-
handleSelectionChange() {
|
30
|
-
this.selectionModel.selectionChanged
|
31
|
-
.pipe(untilDestroyed(this))
|
32
|
-
.pipe(map((collection) => collection.has(this.rowId)))
|
33
|
-
.subscribe((isSelected) => {
|
34
|
-
this.control.setValue(isSelected);
|
35
|
-
this.selectionChanged.emit(isSelected);
|
36
|
-
});
|
37
|
-
}
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowActionsComponent, deps: [{ token: i1.WlcmTableSelectionModel }, { token: WLCM_TABLE_ROW_CONTEXT }], target: i0.ɵɵFactoryTarget.Component }); }
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: WlcmTableRowActionsComponent, isStandalone: true, selector: "wlcm-table-row-actions", outputs: { selectionChanged: "selectionChanged" }, host: { classAttribute: "wlcm-table-row-actions" }, ngImport: i0, template: "<wlcm-checkbox\n [formControl]=\"control\"\n (changed)=\"toggle($event)\"\n></wlcm-checkbox>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: WlcmFormsModule }, { kind: "component", type: i2.WlcmCheckboxComponent, selector: "wlcm-checkbox", outputs: ["changed"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
40
|
-
};
|
41
|
-
WlcmTableRowActionsComponent = __decorate([
|
42
|
-
UntilDestroy(),
|
43
|
-
__metadata("design:paramtypes", [WlcmTableSelectionModel, Object])
|
44
|
-
], WlcmTableRowActionsComponent);
|
45
|
-
export { WlcmTableRowActionsComponent };
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.5", type: WlcmTableRowActionsComponent, isStandalone: true, selector: "wlcm-table-row-actions", inputs: { isSelected: { classPropertyName: "isSelected", publicName: "isSelected", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { selectionChanged: "selectionChanged" }, host: { classAttribute: "wlcm-table-row-actions" }, ngImport: i0, template: "<wlcm-checkbox\n [ngModel]=\"isSelected()\"\n (changed)=\"selectionChanged.emit($event)\"\n></wlcm-checkbox>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: WlcmFormsModule }, { kind: "component", type: i1.WlcmCheckboxComponent, selector: "wlcm-checkbox", outputs: ["changed"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
15
|
+
}
|
46
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowActionsComponent, decorators: [{
|
47
17
|
type: Component,
|
48
|
-
args: [{ selector: 'wlcm-table-row-actions', host: { class: 'wlcm-table-row-actions' }, standalone: true, imports: [CommonModule, WlcmFormsModule,
|
49
|
-
}]
|
50
|
-
|
51
|
-
args: [WLCM_TABLE_ROW_CONTEXT]
|
52
|
-
}] }] });
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcm93LWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtcm93LWFjdGlvbnMvdGFibGUtcm93LWFjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtcm93LWFjdGlvbnMvdGFibGUtcm93LWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFvQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQVdwQixJQUFNLDRCQUE0QixHQUFsQyxNQUFNLDRCQUE0QjtJQU92QyxZQUNVLGNBQXVDLEVBQ1AsVUFBa0M7UUFEbEUsbUJBQWMsR0FBZCxjQUFjLENBQXlCO1FBQ1AsZUFBVSxHQUFWLFVBQVUsQ0FBd0I7UUFObkUsWUFBTyxHQUFnQixJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV2RCxxQkFBZ0IsR0FBOEIsTUFBTSxFQUFFLENBQUM7UUFNckQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWpFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBa0I7UUFDdkIsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQjthQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUF1QixFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ2xFLFNBQVMsQ0FBQyxDQUFDLFVBQW1CLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUVsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0FqQ1UsNEJBQTRCLHlEQVM3QixzQkFBc0I7a0dBVHJCLDRCQUE0Qix5TENuQnpDLGtHQUlBLHlERFdZLFlBQVksOEJBQUUsZUFBZSxzSUFBRSxtQkFBbUI7O0FBSWpELDRCQUE0QjtJQVR4QyxZQUFZLEVBQUU7cUNBaUJhLHVCQUF1QjtHQVJ0Qyw0QkFBNEIsQ0FrQ3hDOzsyRkFsQ1ksNEJBQTRCO2tCQVJ4QyxTQUFTOytCQUNFLHdCQUF3QixRQUM1QixFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxjQUM3QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixDQUFDOzswQkFhMUQsTUFBTTsyQkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT3V0cHV0RW1pdHRlclJlZiwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXbGNtVGFibGVTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy90YWJsZS1zZWxlY3Rpb24tbW9kZWwnO1xuaW1wb3J0IHsgV0xDTV9UQUJMRV9ST1dfQ09OVEVYVCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy90YWJsZS1yb3cuY29uc3RhbnRzJztcbmltcG9ydCB7IFdsY21UYWJsZVJvd0NvbnRleHQgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGFibGUtcm93Lm1vZGVscyc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgV2xjbUZvcm1zTW9kdWxlIH0gZnJvbSAnQHdsY20vYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2xjbS10YWJsZS1yb3ctYWN0aW9ucycsXG4gIGhvc3Q6IHsgY2xhc3M6ICd3bGNtLXRhYmxlLXJvdy1hY3Rpb25zJyB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBXbGNtRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtcm93LWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vdGFibGUtcm93LWFjdGlvbnMuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBXbGNtVGFibGVSb3dBY3Rpb25zQ29tcG9uZW50PFQgPSB1bmtub3duPiB7XG4gIHJvd0lkITogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IGNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKGZhbHNlKTtcblxuICBzZWxlY3Rpb25DaGFuZ2VkOiBPdXRwdXRFbWl0dGVyUmVmPGJvb2xlYW4+ID0gb3V0cHV0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZWxlY3Rpb25Nb2RlbDogV2xjbVRhYmxlU2VsZWN0aW9uTW9kZWwsXG4gICAgQEluamVjdChXTENNX1RBQkxFX1JPV19DT05URVhUKSBwcml2YXRlIHJvd0NvbnRleHQ6IFdsY21UYWJsZVJvd0NvbnRleHQ8VD5cbiAgKSB7XG4gICAgdGhpcy5yb3dJZCA9IHRoaXMucm93Q29udGV4dC5zZWxlY3RJZCh0aGlzLnJvd0NvbnRleHQuJGltcGxpY2l0KTtcblxuICAgIHRoaXMuaGFuZGxlU2VsZWN0aW9uQ2hhbmdlKCk7XG4gIH1cblxuICB0b2dnbGUoaXNDaGVja2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGlzQ2hlY2tlZCkge1xuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0T25lKHRoaXMucm93SWQpO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuZGVzZWxlY3RPbmUodGhpcy5yb3dJZCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNlbGVjdGlvbkNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbkNoYW5nZWRcbiAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnBpcGUobWFwKChjb2xsZWN0aW9uOiBTZXQ8c3RyaW5nPikgPT4gY29sbGVjdGlvbi5oYXModGhpcy5yb3dJZCkpKVxuICAgICAgLnN1YnNjcmliZSgoaXNTZWxlY3RlZDogYm9vbGVhbikgPT4ge1xuICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoaXNTZWxlY3RlZCk7XG5cbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2VkLmVtaXQoaXNTZWxlY3RlZCk7XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPHdsY20tY2hlY2tib3hcbiAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAoY2hhbmdlZCk9XCJ0b2dnbGUoJGV2ZW50KVwiXG4+PC93bGNtLWNoZWNrYm94PlxuIl19
|
18
|
+
args: [{ selector: 'wlcm-table-row-actions', host: { class: 'wlcm-table-row-actions' }, standalone: true, imports: [CommonModule, WlcmFormsModule, FormsModule], template: "<wlcm-checkbox\n [ngModel]=\"isSelected()\"\n (changed)=\"selectionChanged.emit($event)\"\n></wlcm-checkbox>\n" }]
|
19
|
+
}] });
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcm93LWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtcm93LWFjdGlvbnMvdGFibGUtcm93LWFjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtcm93LWFjdGlvbnMvdGFibGUtcm93LWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVUvQyxNQUFNLE9BQU8sNEJBQTRCO0lBUnpDO1FBU0UsZUFBVSxHQUF5QixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFcEQscUJBQWdCLEdBQThCLE1BQU0sRUFBRSxDQUFDO0tBQ3hEOzhHQUpZLDRCQUE0QjtrR0FBNUIsNEJBQTRCLDJVQ2R6QyxrSEFJQSx5RERNWSxZQUFZLDhCQUFFLGVBQWUsc0lBQUUsV0FBVzs7MkZBSXpDLDRCQUE0QjtrQkFSeEMsU0FBUzsrQkFDRSx3QkFBd0IsUUFDNUIsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsY0FDN0IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0U2lnbmFsLCBPdXRwdXRFbWl0dGVyUmVmLCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgV2xjbUZvcm1zTW9kdWxlIH0gZnJvbSAnQHdsY20vYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3bGNtLXRhYmxlLXJvdy1hY3Rpb25zJyxcbiAgaG9zdDogeyBjbGFzczogJ3dsY20tdGFibGUtcm93LWFjdGlvbnMnIH0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFdsY21Gb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtcm93LWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vdGFibGUtcm93LWFjdGlvbnMuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBXbGNtVGFibGVSb3dBY3Rpb25zQ29tcG9uZW50PFQgPSB1bmtub3duPiB7XG4gIGlzU2VsZWN0ZWQ6IElucHV0U2lnbmFsPGJvb2xlYW4+ID0gaW5wdXQucmVxdWlyZWQoKTtcblxuICBzZWxlY3Rpb25DaGFuZ2VkOiBPdXRwdXRFbWl0dGVyUmVmPGJvb2xlYW4+ID0gb3V0cHV0KCk7XG59XG4iLCI8d2xjbS1jaGVja2JveFxuICBbbmdNb2RlbF09XCJpc1NlbGVjdGVkKClcIlxuICAoY2hhbmdlZCk9XCJzZWxlY3Rpb25DaGFuZ2VkLmVtaXQoJGV2ZW50KVwiXG4+PC93bGNtLWNoZWNrYm94PlxuIl19
|
@@ -1,9 +1,40 @@
|
|
1
|
-
import {
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
2
|
+
import { Directive, ElementRef, NgZone, input, output } from '@angular/core';
|
3
|
+
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
4
|
+
import { debounceTime, fromEvent } from 'rxjs';
|
2
5
|
import * as i0 from "@angular/core";
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
6
|
+
let WlcmScrollableTableContainerDirective = class WlcmScrollableTableContainerDirective {
|
7
|
+
constructor(zone, elementRef) {
|
8
|
+
this.zone = zone;
|
9
|
+
this.elementRef = elementRef;
|
10
|
+
this.scrollDownOffsetPercent = input(0.8);
|
11
|
+
this.scrolledDown = output();
|
12
|
+
this.handleScrolling();
|
13
|
+
}
|
14
|
+
get element() {
|
15
|
+
return this.elementRef.nativeElement;
|
16
|
+
}
|
17
|
+
handleScrolling() {
|
18
|
+
this.zone.runOutsideAngular(() => {
|
19
|
+
fromEvent(this.element, 'scroll')
|
20
|
+
.pipe(debounceTime(50))
|
21
|
+
.pipe(untilDestroyed(this))
|
22
|
+
.subscribe(() => {
|
23
|
+
if (this.element.scrollHeight * this.scrollDownOffsetPercent() <=
|
24
|
+
this.element.scrollTop + this.element.clientHeight) {
|
25
|
+
this.zone.run(() => this.scrolledDown.emit());
|
26
|
+
}
|
27
|
+
});
|
28
|
+
});
|
29
|
+
}
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmScrollableTableContainerDirective, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
31
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.3.5", type: WlcmScrollableTableContainerDirective, isStandalone: true, selector: "[wlcmScrollableTableContainer]", inputs: { scrollDownOffsetPercent: { classPropertyName: "scrollDownOffsetPercent", publicName: "scrollDownOffsetPercent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { scrolledDown: "scrolledDown" }, host: { classAttribute: "wlcm-scrollable-table-container" }, ngImport: i0 }); }
|
32
|
+
};
|
33
|
+
WlcmScrollableTableContainerDirective = __decorate([
|
34
|
+
UntilDestroy(),
|
35
|
+
__metadata("design:paramtypes", [NgZone, ElementRef])
|
36
|
+
], WlcmScrollableTableContainerDirective);
|
37
|
+
export { WlcmScrollableTableContainerDirective };
|
7
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmScrollableTableContainerDirective, decorators: [{
|
8
39
|
type: Directive,
|
9
40
|
args: [{
|
@@ -11,5 +42,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
11
42
|
host: { class: 'wlcm-scrollable-table-container' },
|
12
43
|
standalone: true,
|
13
44
|
}]
|
14
|
-
}] });
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
45
|
+
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ElementRef }] });
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS10YWJsZS1jb250YWluZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy90YWJsZS9zcmMvbGliL2RpcmVjdGl2ZXMvc2Nyb2xsYWJsZS10YWJsZS1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBZSxNQUFNLEVBQW9CLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFReEMsSUFBTSxxQ0FBcUMsR0FBM0MsTUFBTSxxQ0FBcUM7SUFLaEQsWUFBb0IsSUFBWSxFQUFVLFVBQW1DO1FBQXpELFNBQUksR0FBSixJQUFJLENBQVE7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUo3RSw0QkFBdUIsR0FBd0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTFELGlCQUFZLEdBQTJCLE1BQU0sRUFBRSxDQUFDO1FBRzlDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDdkMsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO2lCQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUMxQixTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQ0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixFQUFFO29CQUMxRCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFDbEQsQ0FBQztvQkFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ2hELENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0EzQlUscUNBQXFDO2tHQUFyQyxxQ0FBcUM7O0FBQXJDLHFDQUFxQztJQU5qRCxZQUFZLEVBQUU7cUNBV2EsTUFBTSxFQUFzQixVQUFVO0dBTHJELHFDQUFxQyxDQTRCakQ7OzJGQTVCWSxxQ0FBcUM7a0JBTGpELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLGlDQUFpQyxFQUFFO29CQUNsRCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0U2lnbmFsLCBOZ1pvbmUsIE91dHB1dEVtaXR0ZXJSZWYsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcblxuQFVudGlsRGVzdHJveSgpXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbd2xjbVNjcm9sbGFibGVUYWJsZUNvbnRhaW5lcl0nLFxuICBob3N0OiB7IGNsYXNzOiAnd2xjbS1zY3JvbGxhYmxlLXRhYmxlLWNvbnRhaW5lcicgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgV2xjbVNjcm9sbGFibGVUYWJsZUNvbnRhaW5lckRpcmVjdGl2ZSB7XG4gIHNjcm9sbERvd25PZmZzZXRQZXJjZW50OiBJbnB1dFNpZ25hbDxudW1iZXI+ID0gaW5wdXQoMC44KTtcblxuICBzY3JvbGxlZERvd246IE91dHB1dEVtaXR0ZXJSZWY8dm9pZD4gPSBvdXRwdXQoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHpvbmU6IE5nWm9uZSwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIHRoaXMuaGFuZGxlU2Nyb2xsaW5nKCk7XG4gIH1cblxuICBwcml2YXRlIGdldCBlbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNjcm9sbGluZygpOiB2b2lkIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgZnJvbUV2ZW50KHRoaXMuZWxlbWVudCwgJ3Njcm9sbCcpXG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MCkpXG4gICAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQuc2Nyb2xsSGVpZ2h0ICogdGhpcy5zY3JvbGxEb3duT2Zmc2V0UGVyY2VudCgpIDw9XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQuc2Nyb2xsVG9wICsgdGhpcy5lbGVtZW50LmNsaWVudEhlaWdodFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB0aGlzLnNjcm9sbGVkRG93bi5lbWl0KCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|