cps-ui-kit 0.165.0 → 17.1.0

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.
Files changed (166) hide show
  1. package/esm2022/lib/components/cps-autocomplete/cps-autocomplete.component.mjs +824 -0
  2. package/esm2022/lib/components/cps-button/cps-button.component.mjs +190 -0
  3. package/esm2022/lib/components/cps-button-toggle/cps-button-toggle.component.mjs +235 -0
  4. package/esm2022/lib/components/cps-checkbox/cps-checkbox.component.mjs +149 -0
  5. package/esm2022/lib/components/cps-chip/cps-chip.component.mjs +94 -0
  6. package/esm2022/lib/components/cps-datepicker/cps-datepicker.component.mjs +382 -0
  7. package/esm2022/lib/components/cps-expansion-panel/cps-expansion-panel.component.mjs +209 -0
  8. package/esm2022/lib/components/cps-file-upload/cps-file-upload.component.mjs +138 -0
  9. package/esm2022/lib/components/cps-icon/cps-icon.component.mjs +193 -0
  10. package/esm2022/lib/components/cps-info-circle/cps-info-circle.component.mjs +61 -0
  11. package/esm2022/lib/components/cps-input/cps-input.component.mjs +386 -0
  12. package/{esm2020 → esm2022}/lib/components/cps-loader/cps-loader.component.mjs +5 -5
  13. package/esm2022/lib/components/cps-menu/cps-menu.component.mjs +552 -0
  14. package/esm2022/lib/components/cps-paginator/cps-paginator.component.mjs +114 -0
  15. package/esm2022/lib/components/cps-paginator/pipes/cps-paginate.pipe.mjs +30 -0
  16. package/{esm2020 → esm2022}/lib/components/cps-progress-circular/cps-progress-circular.component.mjs +4 -4
  17. package/{esm2020 → esm2022}/lib/components/cps-progress-linear/cps-progress-linear.component.mjs +4 -4
  18. package/{esm2020 → esm2022}/lib/components/cps-radio-group/cps-radio/cps-radio.component.mjs +7 -7
  19. package/esm2022/lib/components/cps-radio-group/cps-radio-button/cps-radio-button.component.mjs +55 -0
  20. package/esm2022/lib/components/cps-radio-group/cps-radio-group.component.mjs +158 -0
  21. package/esm2022/lib/components/cps-select/cps-select.component.mjs +615 -0
  22. package/esm2022/lib/components/cps-sidebar-menu/cps-sidebar-menu.component.mjs +110 -0
  23. package/{esm2020 → esm2022}/lib/components/cps-tab-group/cps-tab/cps-tab.component.mjs +4 -4
  24. package/esm2022/lib/components/cps-tab-group/cps-tab-group.component.mjs +303 -0
  25. package/esm2022/lib/components/cps-table/components/internal/cps-sort-icon/cps-sort-icon.component.mjs +79 -0
  26. package/esm2022/lib/components/cps-table/components/internal/table-column-filter/table-column-filter.component.mjs +408 -0
  27. package/esm2022/lib/components/cps-table/components/internal/table-column-filter-constraint/table-column-filter-constraint.component.mjs +149 -0
  28. package/esm2022/lib/components/cps-table/components/internal/table-row-menu/table-row-menu.component.mjs +88 -0
  29. package/esm2022/lib/components/cps-table/cps-table.component.mjs +941 -0
  30. package/esm2022/lib/components/cps-table/directives/cps-table-column-filter.directive.mjs +181 -0
  31. package/{esm2020 → esm2022}/lib/components/cps-table/directives/cps-table-column-sortable.directive.mjs +5 -5
  32. package/{esm2020 → esm2022}/lib/components/cps-table/directives/cps-table-header-selectable.directive.mjs +5 -5
  33. package/{esm2020 → esm2022}/lib/components/cps-table/directives/cps-table-row-selectable.directive.mjs +5 -5
  34. package/esm2022/lib/components/cps-table/directives/internal/table-unsort.directive.mjs +220 -0
  35. package/esm2022/lib/components/cps-tag/cps-tag.component.mjs +136 -0
  36. package/esm2022/lib/components/cps-textarea/cps-textarea.component.mjs +291 -0
  37. package/esm2022/lib/components/cps-timepicker/cps-timepicker.component.mjs +351 -0
  38. package/esm2022/lib/components/cps-tree-autocomplete/cps-tree-autocomplete.component.mjs +251 -0
  39. package/esm2022/lib/components/cps-tree-select/cps-tree-select.component.mjs +87 -0
  40. package/esm2022/lib/components/cps-tree-table/cps-tree-table.component.mjs +1196 -0
  41. package/{esm2020 → esm2022}/lib/components/cps-tree-table/directives/cps-tree-table-column-filter.directive.mjs +5 -5
  42. package/{esm2020 → esm2022}/lib/components/cps-tree-table/directives/cps-tree-table-column-sortable.directive.mjs +5 -5
  43. package/{esm2020 → esm2022}/lib/components/cps-tree-table/directives/cps-tree-table-header-selectable.directive.mjs +5 -5
  44. package/{esm2020 → esm2022}/lib/components/cps-tree-table/directives/cps-tree-table-row-selectable.directive.mjs +5 -5
  45. package/esm2022/lib/components/cps-tree-table/directives/cps-tree-table-row-toggler.directive.mjs +43 -0
  46. package/esm2022/lib/components/cps-tree-table/directives/internal/tree-table-unsort.directive.mjs +354 -0
  47. package/esm2022/lib/components/internal/cps-base-tree-dropdown/cps-base-tree-dropdown.component.mjs +619 -0
  48. package/esm2022/lib/directives/cps-tooltip/cps-tooltip.directive.mjs +257 -0
  49. package/{esm2020 → esm2022}/lib/pipes/internal/check-option-selected.pipe.mjs +4 -4
  50. package/esm2022/lib/pipes/internal/combine-labels.pipe.mjs +25 -0
  51. package/{esm2020 → esm2022}/lib/pipes/internal/label-by-value.pipe.mjs +4 -4
  52. package/esm2022/lib/services/cps-dialog/cps-dialog.service.mjs +99 -0
  53. package/{esm2020 → esm2022}/lib/services/cps-dialog/internal/components/cps-confirmation/cps-confirmation.component.mjs +5 -5
  54. package/esm2022/lib/services/cps-dialog/internal/components/cps-dialog/cps-dialog.component.mjs +470 -0
  55. package/{esm2020 → esm2022}/lib/services/cps-dialog/internal/directives/cps-dialog-content.directive.mjs +5 -5
  56. package/esm2022/lib/services/cps-dialog/utils/cps-dialog-config.mjs +3 -0
  57. package/esm2022/lib/services/cps-notification/cps-notification.service.mjs +126 -0
  58. package/esm2022/lib/services/cps-notification/internal/components/cps-notification-container/cps-notification-container.component.mjs +91 -0
  59. package/{esm2020 → esm2022}/lib/services/cps-notification/internal/components/cps-toast/cps-toast.component.mjs +23 -23
  60. package/esm2022/lib/utils/colors-utils.mjs +57 -0
  61. package/esm2022/lib/utils/internal/size-utils.mjs +24 -0
  62. package/{esm2020 → esm2022}/public-api.mjs +2 -2
  63. package/{fesm2020 → fesm2022}/cps-ui-kit.mjs +481 -391
  64. package/fesm2022/cps-ui-kit.mjs.map +1 -0
  65. package/lib/components/cps-autocomplete/cps-autocomplete.component.d.ts +2 -2
  66. package/lib/components/cps-button/cps-button.component.d.ts +1 -1
  67. package/lib/components/cps-button-toggle/cps-button-toggle.component.d.ts +2 -2
  68. package/lib/components/cps-checkbox/cps-checkbox.component.d.ts +2 -2
  69. package/lib/components/cps-chip/cps-chip.component.d.ts +1 -1
  70. package/lib/components/cps-datepicker/cps-datepicker.component.d.ts +2 -2
  71. package/lib/components/cps-expansion-panel/cps-expansion-panel.component.d.ts +1 -1
  72. package/lib/components/cps-file-upload/cps-file-upload.component.d.ts +1 -1
  73. package/lib/components/cps-icon/cps-icon.component.d.ts +1 -1
  74. package/lib/components/cps-info-circle/cps-info-circle.component.d.ts +2 -2
  75. package/lib/components/cps-input/cps-input.component.d.ts +2 -2
  76. package/lib/components/cps-loader/cps-loader.component.d.ts +1 -1
  77. package/lib/components/cps-menu/cps-menu.component.d.ts +1 -1
  78. package/lib/components/cps-paginator/cps-paginator.component.d.ts +1 -1
  79. package/lib/components/cps-progress-circular/cps-progress-circular.component.d.ts +1 -1
  80. package/lib/components/cps-progress-linear/cps-progress-linear.component.d.ts +1 -1
  81. package/lib/components/cps-radio-group/cps-radio/cps-radio.component.d.ts +1 -1
  82. package/lib/components/cps-radio-group/cps-radio-button/cps-radio-button.component.d.ts +1 -1
  83. package/lib/components/cps-radio-group/cps-radio-group.component.d.ts +2 -2
  84. package/lib/components/cps-select/cps-select.component.d.ts +2 -2
  85. package/lib/components/cps-sidebar-menu/cps-sidebar-menu.component.d.ts +1 -1
  86. package/lib/components/cps-tab-group/cps-tab/cps-tab.component.d.ts +1 -1
  87. package/lib/components/cps-tab-group/cps-tab-group.component.d.ts +1 -1
  88. package/lib/components/cps-table/components/internal/cps-sort-icon/cps-sort-icon.component.d.ts +1 -1
  89. package/lib/components/cps-table/components/internal/table-column-filter/table-column-filter.component.d.ts +1 -1
  90. package/lib/components/cps-table/components/internal/table-column-filter-constraint/table-column-filter-constraint.component.d.ts +1 -1
  91. package/lib/components/cps-table/components/internal/table-row-menu/table-row-menu.component.d.ts +1 -1
  92. package/lib/components/cps-table/cps-table.component.d.ts +1 -1
  93. package/lib/components/cps-table/directives/cps-table-column-filter.directive.d.ts +1 -1
  94. package/lib/components/cps-table/directives/cps-table-column-sortable.directive.d.ts +1 -1
  95. package/lib/components/cps-table/directives/cps-table-row-selectable.directive.d.ts +1 -1
  96. package/lib/components/cps-tag/cps-tag.component.d.ts +1 -1
  97. package/lib/components/cps-textarea/cps-textarea.component.d.ts +2 -2
  98. package/lib/components/cps-timepicker/cps-timepicker.component.d.ts +2 -2
  99. package/lib/components/cps-tree-autocomplete/cps-tree-autocomplete.component.d.ts +1 -1
  100. package/lib/components/cps-tree-select/cps-tree-select.component.d.ts +1 -1
  101. package/lib/components/cps-tree-table/cps-tree-table.component.d.ts +4 -4
  102. package/lib/components/cps-tree-table/directives/cps-tree-table-column-filter.directive.d.ts +1 -1
  103. package/lib/components/cps-tree-table/directives/cps-tree-table-column-sortable.directive.d.ts +1 -1
  104. package/lib/components/cps-tree-table/directives/cps-tree-table-row-selectable.directive.d.ts +1 -1
  105. package/lib/components/cps-tree-table/directives/cps-tree-table-row-toggler.directive.d.ts +1 -1
  106. package/lib/components/internal/cps-base-tree-dropdown/cps-base-tree-dropdown.component.d.ts +2 -2
  107. package/lib/directives/{cps-tooltip.directive.d.ts → cps-tooltip/cps-tooltip.directive.d.ts} +2 -2
  108. package/lib/services/cps-dialog/cps-dialog.service.d.ts +13 -0
  109. package/lib/services/cps-dialog/utils/cps-dialog-config.d.ts +1 -1
  110. package/lib/services/cps-notification/cps-notification.service.d.ts +32 -0
  111. package/lib/services/cps-notification/internal/components/cps-notification-container/cps-notification-container.component.d.ts +1 -1
  112. package/lib/services/cps-notification/internal/components/cps-toast/cps-toast.component.d.ts +1 -1
  113. package/package.json +12 -18
  114. package/public-api.d.ts +1 -1
  115. package/esm2020/lib/components/cps-autocomplete/cps-autocomplete.component.mjs +0 -824
  116. package/esm2020/lib/components/cps-button/cps-button.component.mjs +0 -190
  117. package/esm2020/lib/components/cps-button-toggle/cps-button-toggle.component.mjs +0 -235
  118. package/esm2020/lib/components/cps-checkbox/cps-checkbox.component.mjs +0 -149
  119. package/esm2020/lib/components/cps-chip/cps-chip.component.mjs +0 -94
  120. package/esm2020/lib/components/cps-datepicker/cps-datepicker.component.mjs +0 -382
  121. package/esm2020/lib/components/cps-expansion-panel/cps-expansion-panel.component.mjs +0 -209
  122. package/esm2020/lib/components/cps-file-upload/cps-file-upload.component.mjs +0 -138
  123. package/esm2020/lib/components/cps-icon/cps-icon.component.mjs +0 -193
  124. package/esm2020/lib/components/cps-info-circle/cps-info-circle.component.mjs +0 -61
  125. package/esm2020/lib/components/cps-input/cps-input.component.mjs +0 -386
  126. package/esm2020/lib/components/cps-menu/cps-menu.component.mjs +0 -552
  127. package/esm2020/lib/components/cps-paginator/cps-paginator.component.mjs +0 -113
  128. package/esm2020/lib/components/cps-paginator/pipes/cps-paginate.pipe.mjs +0 -30
  129. package/esm2020/lib/components/cps-radio-group/cps-radio-button/cps-radio-button.component.mjs +0 -55
  130. package/esm2020/lib/components/cps-radio-group/cps-radio-group.component.mjs +0 -158
  131. package/esm2020/lib/components/cps-select/cps-select.component.mjs +0 -615
  132. package/esm2020/lib/components/cps-sidebar-menu/cps-sidebar-menu.component.mjs +0 -110
  133. package/esm2020/lib/components/cps-tab-group/cps-tab-group.component.mjs +0 -299
  134. package/esm2020/lib/components/cps-table/components/internal/cps-sort-icon/cps-sort-icon.component.mjs +0 -79
  135. package/esm2020/lib/components/cps-table/components/internal/table-column-filter/table-column-filter.component.mjs +0 -408
  136. package/esm2020/lib/components/cps-table/components/internal/table-column-filter-constraint/table-column-filter-constraint.component.mjs +0 -148
  137. package/esm2020/lib/components/cps-table/components/internal/table-row-menu/table-row-menu.component.mjs +0 -88
  138. package/esm2020/lib/components/cps-table/cps-table.component.mjs +0 -940
  139. package/esm2020/lib/components/cps-table/directives/cps-table-column-filter.directive.mjs +0 -181
  140. package/esm2020/lib/components/cps-table/directives/internal/table-unsort.directive.mjs +0 -210
  141. package/esm2020/lib/components/cps-tag/cps-tag.component.mjs +0 -136
  142. package/esm2020/lib/components/cps-textarea/cps-textarea.component.mjs +0 -291
  143. package/esm2020/lib/components/cps-timepicker/cps-timepicker.component.mjs +0 -351
  144. package/esm2020/lib/components/cps-tree-autocomplete/cps-tree-autocomplete.component.mjs +0 -250
  145. package/esm2020/lib/components/cps-tree-select/cps-tree-select.component.mjs +0 -87
  146. package/esm2020/lib/components/cps-tree-table/cps-tree-table.component.mjs +0 -1192
  147. package/esm2020/lib/components/cps-tree-table/directives/cps-tree-table-row-toggler.directive.mjs +0 -43
  148. package/esm2020/lib/components/cps-tree-table/directives/internal/tree-table-unsort.directive.mjs +0 -334
  149. package/esm2020/lib/components/internal/cps-base-tree-dropdown/cps-base-tree-dropdown.component.mjs +0 -616
  150. package/esm2020/lib/directives/cps-tooltip.directive.mjs +0 -257
  151. package/esm2020/lib/pipes/internal/combine-labels.pipe.mjs +0 -25
  152. package/esm2020/lib/services/cps-dialog/cps-dialog.service.mjs +0 -86
  153. package/esm2020/lib/services/cps-dialog/internal/components/cps-dialog/cps-dialog.component.mjs +0 -470
  154. package/esm2020/lib/services/cps-dialog/utils/cps-dialog-config.mjs +0 -3
  155. package/esm2020/lib/services/cps-notification/cps-notification.service.mjs +0 -94
  156. package/esm2020/lib/services/cps-notification/internal/components/cps-notification-container/cps-notification-container.component.mjs +0 -91
  157. package/esm2020/lib/utils/colors-utils.mjs +0 -57
  158. package/esm2020/lib/utils/internal/size-utils.mjs +0 -24
  159. package/fesm2015/cps-ui-kit.mjs +0 -12086
  160. package/fesm2015/cps-ui-kit.mjs.map +0 -1
  161. package/fesm2020/cps-ui-kit.mjs.map +0 -1
  162. /package/{esm2020 → esm2022}/cps-ui-kit.mjs +0 -0
  163. /package/{esm2020 → esm2022}/lib/components/cps-table/cps-column-filter-types.mjs +0 -0
  164. /package/{esm2020 → esm2022}/lib/services/cps-dialog/utils/cps-dialog-ref.mjs +0 -0
  165. /package/{esm2020 → esm2022}/lib/services/cps-notification/utils/cps-notification-config.mjs +0 -0
  166. /package/{esm2020 → esm2022}/lib/services/cps-notification/utils/internal/cps-notification-data.mjs +0 -0
@@ -1,181 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { TableColumnFilterComponent } from '../components/internal/table-column-filter/table-column-filter.component';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * CpsTableColumnFilterDirective is a filtering directive used to filter single or multiple columns in table.
6
- * @group Directives
7
- */
8
- export class CpsTableColumnFilterDirective {
9
- constructor(elementRef, viewContainerRef) {
10
- this.elementRef = elementRef;
11
- this.viewContainerRef = viewContainerRef;
12
- /**
13
- * Type of a filter in table, it can be of type "number", "boolean", "text", "date" or "category".
14
- * @group Props
15
- */
16
- this.filterType = 'text';
17
- /**
18
- * Determines whether the filter menu should be persistent.
19
- * @group Props
20
- */
21
- this.filterPersistent = false;
22
- /**
23
- * Determines whether the filter should have clear button.
24
- * @group Props
25
- */
26
- this.filterShowClearButton = true;
27
- /**
28
- * Determines whether the filter should have apply button.
29
- * @group Props
30
- */
31
- this.filterShowApplyButton = true;
32
- /**
33
- * Determines whether the filter should have close button.
34
- * @group Props
35
- */
36
- this.filterShowCloseButton = false;
37
- /**
38
- * Determines whether the filter should have match modes.
39
- * @group Props
40
- */
41
- this.filterShowMatchModes = true;
42
- /**
43
- * Match modes for filter.
44
- * @group Props
45
- */
46
- this.filterMatchModes = [];
47
- /**
48
- * Determines whether the filter should have operator.
49
- * @group Props
50
- */
51
- this.filterShowOperator = true;
52
- /**
53
- * Maximum number of constraints.
54
- * @group Props
55
- */
56
- this.filterMaxConstraints = 2;
57
- /**
58
- * Title of the filter.
59
- * @group Props
60
- */
61
- this.filterHeaderTitle = '';
62
- /**
63
- * Determines whether the filter should hide on clear.
64
- * @group Props
65
- */
66
- this.filterHideOnClear = false;
67
- /**
68
- * Options for category filter.
69
- * @group Props
70
- */
71
- this.filterCategoryOptions = [];
72
- /**
73
- * Determines whether to show category filter as button toggles.
74
- * @group Props
75
- */
76
- this.filterAsButtonToggle = false;
77
- /**
78
- * Single selection for category filter.
79
- * @group Props
80
- */
81
- this.filterSingleSelection = false;
82
- /**
83
- * Placeholder for filter constraints.
84
- * @group Props
85
- */
86
- this.filterPlaceholder = '';
87
- this.filterCompRef = this.viewContainerRef.createComponent(TableColumnFilterComponent);
88
- }
89
- ngOnInit() {
90
- this.elementRef.nativeElement.firstChild.after(this.filterCompRef.location.nativeElement);
91
- }
92
- ngOnChanges() {
93
- this.filterCompRef.setInput('field', this.field);
94
- this.filterCompRef.setInput('type', this.filterType);
95
- this.filterCompRef.setInput('persistent', this.filterPersistent);
96
- this.filterCompRef.setInput('showClearButton', this.filterShowClearButton);
97
- this.filterCompRef.setInput('showApplyButton', this.filterShowApplyButton);
98
- this.filterCompRef.setInput('showCloseButton', this.filterShowCloseButton);
99
- this.filterCompRef.setInput('showMatchModes', this.filterShowMatchModes);
100
- this.filterCompRef.setInput('matchModes', this.filterMatchModes);
101
- this.filterCompRef.setInput('showOperator', this.filterShowOperator);
102
- this.filterCompRef.setInput('maxConstraints', this.filterMaxConstraints);
103
- this.filterCompRef.setInput('headerTitle', this.filterHeaderTitle);
104
- this.filterCompRef.setInput('hideOnClear', this.filterHideOnClear);
105
- this.filterCompRef.setInput('categoryOptions', this.filterCategoryOptions);
106
- this.filterCompRef.setInput('asButtonToggle', this.filterAsButtonToggle);
107
- this.filterCompRef.setInput('singleSelection', this.filterSingleSelection);
108
- this.filterCompRef.setInput('placeholder', this.filterPlaceholder || this._getDefaultPlaceholder());
109
- }
110
- _getDefaultPlaceholder() {
111
- switch (this.filterType) {
112
- case 'text':
113
- return 'Please enter';
114
- case 'number':
115
- return 'Enter value';
116
- case 'date':
117
- return 'Select date';
118
- case 'category':
119
- return 'Please select';
120
- default:
121
- return '';
122
- }
123
- }
124
- hideFilter() {
125
- this.filterCompRef?.instance?.hide();
126
- }
127
- clearFilter() {
128
- this.filterCompRef?.instance?.clearFilter();
129
- }
130
- clearFilterValues() {
131
- this.filterCompRef?.instance?.clearFilterValues();
132
- }
133
- ngOnDestroy() {
134
- this.filterCompRef.destroy();
135
- this.viewContainerRef.clear();
136
- }
137
- }
138
- CpsTableColumnFilterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CpsTableColumnFilterDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
139
- CpsTableColumnFilterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: CpsTableColumnFilterDirective, isStandalone: true, selector: "[cpsTColFilter]", inputs: { field: ["cpsTColFilter", "field"], filterType: "filterType", filterPersistent: "filterPersistent", filterShowClearButton: "filterShowClearButton", filterShowApplyButton: "filterShowApplyButton", filterShowCloseButton: "filterShowCloseButton", filterShowMatchModes: "filterShowMatchModes", filterMatchModes: "filterMatchModes", filterShowOperator: "filterShowOperator", filterMaxConstraints: "filterMaxConstraints", filterHeaderTitle: "filterHeaderTitle", filterHideOnClear: "filterHideOnClear", filterCategoryOptions: "filterCategoryOptions", filterAsButtonToggle: "filterAsButtonToggle", filterSingleSelection: "filterSingleSelection", filterPlaceholder: "filterPlaceholder" }, exportAs: ["cpsTColFilter"], usesOnChanges: true, ngImport: i0 });
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CpsTableColumnFilterDirective, decorators: [{
141
- type: Directive,
142
- args: [{
143
- standalone: true,
144
- selector: '[cpsTColFilter]',
145
- exportAs: 'cpsTColFilter'
146
- }]
147
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { field: [{
148
- type: Input,
149
- args: ['cpsTColFilter']
150
- }], filterType: [{
151
- type: Input
152
- }], filterPersistent: [{
153
- type: Input
154
- }], filterShowClearButton: [{
155
- type: Input
156
- }], filterShowApplyButton: [{
157
- type: Input
158
- }], filterShowCloseButton: [{
159
- type: Input
160
- }], filterShowMatchModes: [{
161
- type: Input
162
- }], filterMatchModes: [{
163
- type: Input
164
- }], filterShowOperator: [{
165
- type: Input
166
- }], filterMaxConstraints: [{
167
- type: Input
168
- }], filterHeaderTitle: [{
169
- type: Input
170
- }], filterHideOnClear: [{
171
- type: Input
172
- }], filterCategoryOptions: [{
173
- type: Input
174
- }], filterAsButtonToggle: [{
175
- type: Input
176
- }], filterSingleSelection: [{
177
- type: Input
178
- }], filterPlaceholder: [{
179
- type: Input
180
- }] } });
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLXRhYmxlLWNvbHVtbi1maWx0ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY3BzLXRhYmxlL2RpcmVjdGl2ZXMvY3BzLXRhYmxlLWNvbHVtbi1maWx0ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQUtOLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBFQUEwRSxDQUFDOztBQUV0SDs7O0dBR0c7QUFNSCxNQUFNLE9BQU8sNkJBQTZCO0lBc0d4QyxZQUNVLFVBQXNCLEVBQ3RCLGdCQUFrQztRQURsQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUEvRjVDOzs7V0FHRztRQUNNLGVBQVUsR0FBd0IsTUFBTSxDQUFDO1FBRWxEOzs7V0FHRztRQUNNLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUVsQzs7O1dBR0c7UUFDTSwwQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFFdEM7OztXQUdHO1FBQ00sMEJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBRXRDOzs7V0FHRztRQUNNLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUV2Qzs7O1dBR0c7UUFDTSx5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFFckM7OztXQUdHO1FBQ00scUJBQWdCLEdBQStCLEVBQUUsQ0FBQztRQUUzRDs7O1dBR0c7UUFDTSx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFFbkM7OztXQUdHO1FBQ00seUJBQW9CLEdBQUcsQ0FBQyxDQUFDO1FBRWxDOzs7V0FHRztRQUNNLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUVoQzs7O1dBR0c7UUFDTSxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFbkM7OztX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dCI6WyJpbXBvcnQge1xuICBDb21wb25lbnRSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPbkNoYW5nZXMsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIENwc0NvbHVtbkZpbHRlckNhdGVnb3J5T3B0aW9uLFxuICBDcHNDb2x1bW5GaWx0ZXJNYXRjaE1vZGUsXG4gIENwc0NvbHVtbkZpbHRlclR5cGVcbn0gZnJvbSAnLi4vY3BzLWNvbHVtbi1maWx0ZXItdHlwZXMnO1xuaW1wb3J0IHsgVGFibGVDb2x1bW5GaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2ludGVybmFsL3RhYmxlLWNvbHVtbi1maWx0ZXIvdGFibGUtY29sdW1uLWZpbHRlci5jb21wb25lbnQnO1xuXG4vKipcbiAqIENwc1RhYmxlQ29sdW1uRmlsdGVyRGlyZWN0aXZlIGlzIGEgZmlsdGVyaW5nIGRpcmVjdGl2ZSB1c2VkIHRvIGZpbHRlciBzaW5nbGUgb3IgbXVsdGlwbGUgY29sdW1ucyBpbiB0YWJsZS5cbiAqIEBncm91cCBEaXJlY3RpdmVzXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tjcHNUQ29sRmlsdGVyXScsXG4gIGV4cG9ydEFzOiAnY3BzVENvbEZpbHRlcidcbn0pXG5leHBvcnQgY2xhc3MgQ3BzVGFibGVDb2x1bW5GaWx0ZXJEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95XG57XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBjb2x1bW4gdG8gYmUgZmlsdGVyZWQuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCdjcHNUQ29sRmlsdGVyJykgZmllbGQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVHlwZSBvZiBhIGZpbHRlciBpbiB0YWJsZSwgaXQgY2FuIGJlIG9mIHR5cGUgXCJudW1iZXJcIiwgXCJib29sZWFuXCIsIFwidGV4dFwiLCBcImRhdGVcIiBvciBcImNhdGVnb3J5XCIuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgZmlsdGVyVHlwZTogQ3BzQ29sdW1uRmlsdGVyVHlwZSA9ICd0ZXh0JztcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBmaWx0ZXIgbWVudSBzaG91bGQgYmUgcGVyc2lzdGVudC5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSBmaWx0ZXJQZXJzaXN0ZW50ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGUgZmlsdGVyIHNob3VsZCBoYXZlIGNsZWFyIGJ1dHRvbi5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSBmaWx0ZXJTaG93Q2xlYXJCdXR0b24gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGZpbHRlciBzaG91bGQgaGF2ZSBhcHBseSBidXR0b24uXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgZmlsdGVyU2hvd0FwcGx5QnV0dG9uID0gdHJ1ZTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBmaWx0ZXIgc2hvdWxkIGhhdmUgY2xvc2UgYnV0dG9uLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIGZpbHRlclNob3dDbG9zZUJ1dHRvbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGZpbHRlciBzaG91bGQgaGF2ZSBtYXRjaCBtb2Rlcy5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSBmaWx0ZXJTaG93TWF0Y2hNb2RlcyA9IHRydWU7XG5cbiAgLyoqXG4gICAqIE1hdGNoIG1vZGVzIGZvciBmaWx0ZXIuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgZmlsdGVyTWF0Y2hNb2RlczogQ3BzQ29sdW1uRmlsdGVyTWF0Y2hNb2RlW10gPSBbXTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBmaWx0ZXIgc2hvdWxkIGhhdmUgb3BlcmF0b3IuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgZmlsdGVyU2hvd09wZXJhdG9yID0gdHJ1ZTtcblxuICAvKipcbiAgICogTWF4aW11bSBudW1iZXIgb2YgY29uc3RyYWludHMuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgZmlsdGVyTWF4Q29uc3RyYWludHMgPSAyO1xuXG4gIC8qKlxuICAgKiBUaXRsZSBvZiB0aGUgZmlsdGVyLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIGZpbHRlckhlYWRlclRpdGxlID0gJyc7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGUgZmlsdGVyIHNob3VsZCBoaWRlIG9uIGNsZWFyLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIGZpbHRlckhpZGVPbkNsZWFyID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIGNhdGVnb3J5IGZpbHRlci5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSBmaWx0ZXJDYXRlZ29yeU9wdGlvbnM6IENwc0NvbHVtbkZpbHRlckNhdGVnb3J5T3B0aW9uW10gfCBzdHJpbmdbXSA9XG4gICAgW107XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0byBzaG93IGNhdGVnb3J5IGZpbHRlciBhcyBidXR0b24gdG9nZ2xlcy5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSBmaWx0ZXJBc0J1dHRvblRvZ2dsZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTaW5nbGUgc2VsZWN0aW9uIGZvciBjYXRlZ29yeSBmaWx0ZXIuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgZmlsdGVyU2luZ2xlU2VsZWN0aW9uID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIGZvciBmaWx0ZXIgY29uc3RyYWludHMuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgZmlsdGVyUGxhY2Vob2xkZXIgPSAnJztcblxuICBmaWx0ZXJDb21wUmVmOiBDb21wb25lbnRSZWY8VGFibGVDb2x1bW5GaWx0ZXJDb21wb25lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgKSB7XG4gICAgdGhpcy5maWx0ZXJDb21wUmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgIFRhYmxlQ29sdW1uRmlsdGVyQ29tcG9uZW50XG4gICAgKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZpcnN0Q2hpbGQuYWZ0ZXIoXG4gICAgICB0aGlzLmZpbHRlckNvbXBSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudFxuICAgICk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlckNvbXBSZWYuc2V0SW5wdXQoJ2ZpZWxkJywgdGhpcy5maWVsZCk7XG4gICAgdGhpcy5maWx0ZXJDb21wUmVmLnNldElucHV0KCd0eXBlJywgdGhpcy5maWx0ZXJUeXBlKTtcbiAgICB0aGlzLmZpbHRlckNvbXBSZWYuc2V0SW5wdXQoJ3BlcnNpc3RlbnQnLCB0aGlzLmZpbHRlclBlcnNpc3RlbnQpO1xuICAgIHRoaXMuZmlsdGVyQ29tcFJlZi5zZXRJbnB1dCgnc2hvd0NsZWFyQnV0dG9uJywgdGhpcy5maWx0ZXJTaG93Q2xlYXJCdXR0b24pO1xuICAgIHRoaXMuZmlsdGVyQ29tcFJlZi5zZXRJbnB1dCgnc2hvd0FwcGx5QnV0dG9uJywgdGhpcy5maWx0ZXJTaG93QXBwbHlCdXR0b24pO1xuICAgIHRoaXMuZmlsdGVyQ29tcFJlZi5zZXRJbnB1dCgnc2hvd0Nsb3NlQnV0dG9uJywgdGhpcy5maWx0ZXJTaG93Q2xvc2VCdXR0b24pO1xuICAgIHRoaXMuZmlsdGVyQ29tcFJlZi5zZXRJbnB1dCgnc2hvd01hdGNoTW9kZXMnLCB0aGlzLmZpbHRlclNob3dNYXRjaE1vZGVzKTtcbiAgICB0aGlzLmZpbHRlckNvbXBSZWYuc2V0SW5wdXQoJ21hdGNoTW9kZXMnLCB0aGlzLmZpbHRlck1hdGNoTW9kZXMpO1xuICAgIHRoaXMuZmlsdGVyQ29tcFJlZi5zZXRJbnB1dCgnc2hvd09wZXJhdG9yJywgdGhpcy5maWx0ZXJTaG93T3BlcmF0b3IpO1xuICAgIHRoaXMuZmlsdGVyQ29tcFJlZi5zZXRJbnB1dCgnbWF4Q29uc3RyYWludHMnLCB0aGlzLmZpbHRlck1heENvbnN0cmFpbnRzKTtcbiAgICB0aGlzLmZpbHRlckNvbXBSZWYuc2V0SW5wdXQoJ2hlYWRlclRpdGxlJywgdGhpcy5maWx0ZXJIZWFkZXJUaXRsZSk7XG4gICAgdGhpcy5maWx0ZXJDb21wUmVmLnNldElucHV0KCdoaWRlT25DbGVhcicsIHRoaXMuZmlsdGVySGlkZU9uQ2xlYXIpO1xuICAgIHRoaXMuZmlsdGVyQ29tcFJlZi5zZXRJbnB1dCgnY2F0ZWdvcnlPcHRpb25zJywgdGhpcy5maWx0ZXJDYXRlZ29yeU9wdGlvbnMpO1xuICAgIHRoaXMuZmlsdGVyQ29tcFJlZi5zZXRJbnB1dCgnYXNCdXR0b25Ub2dnbGUnLCB0aGlzLmZpbHRlckFzQnV0dG9uVG9nZ2xlKTtcbiAgICB0aGlzLmZpbHRlckNvbXBSZWYuc2V0SW5wdXQoJ3NpbmdsZVNlbGVjdGlvbicsIHRoaXMuZmlsdGVyU2luZ2xlU2VsZWN0aW9uKTtcbiAgICB0aGlzLmZpbHRlckNvbXBSZWYuc2V0SW5wdXQoXG4gICAgICAncGxhY2Vob2xkZXInLFxuICAgICAgdGhpcy5maWx0ZXJQbGFjZWhvbGRlciB8fCB0aGlzLl9nZXREZWZhdWx0UGxhY2Vob2xkZXIoKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXREZWZhdWx0UGxhY2Vob2xkZXIoKSB7XG4gICAgc3dpdGNoICh0aGlzLmZpbHRlclR5cGUpIHtcbiAgICAgIGNhc2UgJ3RleHQnOlxuICAgICAgICByZXR1cm4gJ1BsZWFzZSBlbnRlcic7XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICByZXR1cm4gJ0VudGVyIHZhbHVlJztcbiAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICByZXR1cm4gJ1NlbGVjdCBkYXRlJztcbiAgICAgIGNhc2UgJ2NhdGVnb3J5JzpcbiAgICAgICAgcmV0dXJuICdQbGVhc2Ugc2VsZWN0JztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBoaWRlRmlsdGVyKCkge1xuICAgIHRoaXMuZmlsdGVyQ29tcFJlZj8uaW5zdGFuY2U/LmhpZGUoKTtcbiAgfVxuXG4gIGNsZWFyRmlsdGVyKCkge1xuICAgIHRoaXMuZmlsdGVyQ29tcFJlZj8uaW5zdGFuY2U/LmNsZWFyRmlsdGVyKCk7XG4gIH1cblxuICBjbGVhckZpbHRlclZhbHVlcygpIHtcbiAgICB0aGlzLmZpbHRlckNvbXBSZWY/Lmluc3RhbmNlPy5jbGVhckZpbHRlclZhbHVlcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJDb21wUmVmLmRlc3Ryb3koKTtcbiAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgfVxufVxuIl19
@@ -1,210 +0,0 @@
1
- import { Directive, Host, Self, Optional } from '@angular/core';
2
- import { ObjectUtils } from 'primeng/utils';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "primeng/table";
5
- export class TableUnsortDirective {
6
- constructor(pTable) {
7
- this.pTable = pTable;
8
- this.resetSorting = false;
9
- this.sortIndices = [];
10
- pTable.sort = (event) => {
11
- if (pTable.sortMode === 'single') {
12
- if (pTable.sortField === event.field && pTable.sortOrder === -1) {
13
- pTable._sortOrder = pTable.defaultSortOrder;
14
- pTable._sortField = null;
15
- this.resetSorting = true;
16
- }
17
- else {
18
- pTable._sortOrder =
19
- pTable.sortField === event.field
20
- ? pTable.sortOrder * -1
21
- : pTable.defaultSortOrder;
22
- pTable._sortField = event.field;
23
- }
24
- pTable.sortSingle();
25
- }
26
- if (pTable.sortMode === 'multiple') {
27
- let resetIndex = false;
28
- const sortMeta = pTable.getSortMeta(event.field);
29
- if (sortMeta) {
30
- for (let i = 0; i < pTable._multiSortMeta.length; i++) {
31
- if (pTable._multiSortMeta[i].field === sortMeta.field) {
32
- pTable._multiSortMeta.splice(i, 1);
33
- }
34
- }
35
- if (sortMeta.order === 1) {
36
- sortMeta.order = sortMeta.order * -1;
37
- pTable.multiSortMeta.push(sortMeta);
38
- }
39
- if (pTable._multiSortMeta?.length === 0) {
40
- pTable.multiSortMeta = null;
41
- this.resetSorting = true;
42
- resetIndex = true;
43
- }
44
- }
45
- else {
46
- if (!pTable.multiSortMeta) {
47
- pTable._multiSortMeta = [];
48
- }
49
- pTable.multiSortMeta.push({
50
- field: event.field,
51
- order: pTable.defaultSortOrder
52
- });
53
- }
54
- pTable.sortMultiple();
55
- if (resetIndex)
56
- pTable._multiSortMeta = [];
57
- }
58
- if (pTable.isStateful()) {
59
- pTable.saveState();
60
- }
61
- pTable.anchorRowIndex = 0;
62
- this.resetSorting = false;
63
- };
64
- pTable.sortSingle = () => {
65
- const field = pTable.sortField || pTable.groupRowsBy;
66
- const order = pTable.sortField
67
- ? pTable.sortOrder
68
- : pTable.groupRowsByOrder;
69
- if (pTable.groupRowsBy &&
70
- pTable.sortField &&
71
- pTable.groupRowsBy !== pTable.sortField) {
72
- pTable._multiSortMeta = [
73
- pTable.getGroupRowsMeta(),
74
- { field: pTable.sortField, order: pTable.sortOrder }
75
- ];
76
- pTable.sortMultiple();
77
- return;
78
- }
79
- if (order && (field || this.resetSorting)) {
80
- if (pTable.restoringSort) {
81
- pTable.restoringSort = false;
82
- }
83
- if (pTable.lazy) {
84
- pTable.onLazyLoad.emit(pTable.createLazyLoadMetadata());
85
- }
86
- else if (pTable.value) {
87
- if (pTable.customSort) {
88
- pTable.sortFunction.emit({
89
- data: pTable.value,
90
- mode: pTable.sortMode,
91
- field,
92
- order
93
- });
94
- }
95
- else {
96
- this._sortData(field, order);
97
- }
98
- if (pTable.hasFilter()) {
99
- pTable._filter();
100
- }
101
- }
102
- const sortMeta = {
103
- field,
104
- order
105
- };
106
- pTable.onSort.emit(sortMeta);
107
- pTable.tableService.onSort(sortMeta);
108
- }
109
- };
110
- pTable.sortMultiple = () => {
111
- if (pTable.groupRowsBy) {
112
- if (!pTable._multiSortMeta)
113
- pTable._multiSortMeta = [pTable.getGroupRowsMeta()];
114
- else if (pTable.multiSortMeta[0].field !== pTable.groupRowsBy)
115
- pTable._multiSortMeta = [
116
- pTable.getGroupRowsMeta(),
117
- ...pTable._multiSortMeta
118
- ];
119
- }
120
- if ((pTable.multiSortMeta && pTable.multiSortMeta.length > 0) ||
121
- this.resetSorting) {
122
- if (pTable.lazy) {
123
- pTable.onLazyLoad.emit(pTable.createLazyLoadMetadata());
124
- }
125
- else if (pTable.value) {
126
- if (pTable.customSort) {
127
- pTable.sortFunction.emit({
128
- data: pTable.value,
129
- mode: pTable.sortMode,
130
- multiSortMeta: pTable.multiSortMeta
131
- });
132
- }
133
- else {
134
- this._sortData();
135
- }
136
- if (pTable.hasFilter()) {
137
- pTable._filter();
138
- }
139
- }
140
- pTable.onSort.emit({
141
- multisortmeta: pTable.multiSortMeta
142
- });
143
- pTable.tableService.onSort(pTable.multiSortMeta);
144
- }
145
- };
146
- }
147
- resetDefaultSortOrder() {
148
- this.sortIndices = [];
149
- }
150
- _sortData(field, order) {
151
- // restore default sort order
152
- if (this.resetSorting && this.sortIndices.length > 0) {
153
- this.pTable._value = this.sortIndices.map((index) => this.pTable._value[index]);
154
- this.resetDefaultSortOrder();
155
- }
156
- else {
157
- const toSort = [];
158
- if (this.sortIndices.length < 1) {
159
- this.sortIndices = Array.from({ length: this.pTable.value.length }, (_, index) => index);
160
- }
161
- for (let i = 0; i < this.pTable.value.length; i++) {
162
- toSort.push([this.pTable.value[i], this.sortIndices.indexOf(i)]);
163
- }
164
- if (this.pTable.sortMode === 'single') {
165
- toSort.sort((data1, data2) => {
166
- const value1 = ObjectUtils.resolveFieldData(data1[0], field);
167
- const value2 = ObjectUtils.resolveFieldData(data2[0], field);
168
- return this.pTable.compareValuesOnSort(value1, value2, order);
169
- });
170
- }
171
- else {
172
- toSort.sort((data1, data2) => {
173
- return this._multisortField(data1, data2, 0);
174
- });
175
- }
176
- for (let i = 0; i < toSort.length; i++) {
177
- this.sortIndices[toSort[i][1]] = i;
178
- this.pTable.value[i] = toSort[i][0];
179
- }
180
- }
181
- this.pTable._value = [...this.pTable.value];
182
- }
183
- _multisortField(data1, data2, index) {
184
- const value1 = ObjectUtils.resolveFieldData(data1[0], this.pTable.multiSortMeta[index].field);
185
- const value2 = ObjectUtils.resolveFieldData(data2[0], this.pTable.multiSortMeta[index].field);
186
- if (ObjectUtils.compare(value1, value2, this.pTable.filterLocale) === 0) {
187
- return this.pTable.multiSortMeta.length - 1 > index
188
- ? this._multisortField(data1, data2, index + 1)
189
- : 0;
190
- }
191
- return this.pTable.compareValuesOnSort(value1, value2, this.pTable.multiSortMeta[index].order);
192
- }
193
- }
194
- TableUnsortDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableUnsortDirective, deps: [{ token: i1.Table, host: true, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
195
- TableUnsortDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: TableUnsortDirective, isStandalone: true, selector: "[tWithUnsort]", exportAs: ["tWithUnsort"], ngImport: i0 });
196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableUnsortDirective, decorators: [{
197
- type: Directive,
198
- args: [{
199
- standalone: true,
200
- selector: '[tWithUnsort]',
201
- exportAs: 'tWithUnsort'
202
- }]
203
- }], ctorParameters: function () { return [{ type: i1.Table, decorators: [{
204
- type: Host
205
- }, {
206
- type: Self
207
- }, {
208
- type: Optional
209
- }] }]; } });
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdW5zb3J0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nwcy11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2Nwcy10YWJsZS9kaXJlY3RpdmVzL2ludGVybmFsL3RhYmxlLXVuc29ydC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPNUMsTUFBTSxPQUFPLG9CQUFvQjtJQUkvQixZQUErQyxNQUFhO1FBQWIsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUg1RCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixnQkFBVyxHQUFhLEVBQUUsQ0FBQztRQUd6QixNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDM0IsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRTtnQkFDaEMsSUFBSSxNQUFNLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUMsRUFBRTtvQkFDL0QsTUFBTSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNDLE1BQU0sQ0FBQyxVQUFrQixHQUFHLElBQUksQ0FBQztvQkFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7aUJBQzFCO3FCQUFNO29CQUNMLE1BQU0sQ0FBQyxVQUFVO3dCQUNmLE1BQU0sQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLEtBQUs7NEJBQzlCLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQzs0QkFDdkIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDOUIsTUFBTSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO2lCQUNqQztnQkFDRCxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDckI7WUFDRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssVUFBVSxFQUFFO2dCQUNsQyxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUVqRCxJQUFJLFFBQVEsRUFBRTtvQkFDWixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7d0JBQ3JELElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDLEtBQUssRUFBRTs0QkFDckQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3lCQUNwQztxQkFDRjtvQkFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFO3dCQUN4QixRQUFRLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7d0JBQ3JDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3FCQUNyQztvQkFDRCxJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUUsTUFBTSxLQUFLLENBQUMsRUFBRTt3QkFDdEMsTUFBTSxDQUFDLGFBQXFCLEdBQUcsSUFBSSxDQUFDO3dCQUNyQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQzt3QkFDekIsVUFBVSxHQUFHLElBQUksQ0FBQztxQkFDbkI7aUJBQ0Y7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUU7d0JBQ3pCLE1BQU0sQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO3FCQUM1QjtvQkFDRCxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQzt3QkFDeEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO3dCQUNsQixLQUFLLEVBQUUsTUFBTSxDQUFDLGdCQUFnQjtxQkFDL0IsQ0FBQyxDQUFDO2lCQUNKO2dCQUVELE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxVQUFVO29CQUFFLE1BQU0sQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO2FBQzVDO1lBRUQsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUU7Z0JBQ3ZCLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNwQjtZQUVELE1BQU0sQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzVCLENBQUMsQ0FBQztRQUVGLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQztZQUNyRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUztnQkFDNUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUNsQixDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1lBQzVCLElBQ0UsTUFBTSxDQUFDLFdBQVc7Z0JBQ2xCLE1BQU0sQ0FBQyxTQUFTO2dCQUNoQixNQUFNLENBQUMsV0FBVyxLQUFLLE1BQU0sQ0FBQyxTQUFTLEVBQ3ZDO2dCQUNBLE1BQU0sQ0FBQyxjQUFjLEdBQUc7b0JBQ3RCLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRTtvQkFDekIsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRTtpQkFDckQsQ0FBQztnQkFDRixNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3RCLE9BQU87YUFDUjtZQUVELElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDekMsSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFO29CQUN4QixNQUFNLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztpQkFDOUI7Z0JBRUQsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFO29CQUNmLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUM7aUJBQ3pEO3FCQUFNLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtvQkFDdkIsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFO3dCQUNyQixNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQzs0QkFDdkIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxLQUFLOzRCQUNsQixJQUFJLEVBQUUsTUFBTSxDQUFDLFFBQVE7NEJBQ3JCLEtBQUs7NEJBQ0wsS0FBSzt5QkFDTixDQUFDLENBQUM7cUJBQ0o7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7cUJBQzlCO29CQUVELElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFO3dCQUN0QixNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7cUJBQ2xCO2lCQUNGO2dCQUVELE1BQU0sUUFBUSxHQUFhO29CQUN6QixLQUFLO29CQUNMLEtBQUs7aUJBQ04sQ0FBQztnQkFFRixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDN0IsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdEM7UUFDSCxDQUFDLENBQUM7UUFFRixNQUFNLENBQUMsWUFBWSxHQUFHLEdBQUcsRUFBRTtZQUN6QixJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYztvQkFDeEIsTUFBTSxDQUFDLGNBQWMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7cUJBQ2pELElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLFdBQVc7b0JBQzNELE1BQU0sQ0FBQyxjQUFjLEdBQUc7d0JBQ3RCLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRTt3QkFDekIsR0FBRyxNQUFNLENBQUMsY0FBYztxQkFDekIsQ0FBQzthQUNMO1lBRUQsSUFDRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLENBQUMsWUFBWSxFQUNqQjtnQkFDQSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUU7b0JBQ2YsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQztpQkFDekQ7cUJBQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO29CQUN2QixJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUU7d0JBQ3JCLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDOzRCQUN2QixJQUFJLEVBQUUsTUFBTSxDQUFDLEtBQUs7NEJBQ2xCLElBQUksRUFBRSxNQUFNLENBQUMsUUFBUTs0QkFDckIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhO3lCQUNwQyxDQUFDLENBQUM7cUJBQ0o7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO3FCQUNsQjtvQkFFRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRTt3QkFDdEIsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO3FCQUNsQjtpQkFDRjtnQkFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztvQkFDakIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhO2lCQUNwQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ2xEO1FBQ0gsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQVcsRUFBRSxLQUFXO1FBQ3hDLDZCQUE2QjtRQUM3QixJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUN2QyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQ3JDLENBQUM7WUFDRixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztTQUM5QjthQUFNO1lBQ0wsTUFBTSxNQUFNLEdBQVUsRUFBRSxDQUFDO1lBQ3pCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQzNCLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUNwQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FDcEIsQ0FBQzthQUNIO1lBRUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNsRTtZQUVELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFO2dCQUNyQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO29CQUMzQixNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUM3RCxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUM3RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDaEUsQ0FBQyxDQUFDLENBQUM7YUFDSjtpQkFBTTtnQkFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO29CQUMzQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDL0MsQ0FBQyxDQUFDLENBQUM7YUFDSjtZQUVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3JDO1NBQ0Y7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQVUsRUFBRSxLQUFVLEVBQUUsS0FBYTtRQUMzRCxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQ3pDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDUixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQ3ZDLENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQ3pDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDUixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQ3ZDLENBQUM7UUFDRixJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN2RSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsS0FBSztnQkFDakQsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ1A7UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQ3BDLE1BQU0sRUFDTixNQUFNLEVBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUN2QyxDQUFDO0lBQ0osQ0FBQzs7aUhBMU5VLG9CQUFvQjtxR0FBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBTGhDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsYUFBYTtpQkFDeEI7OzBCQUtjLElBQUk7OzBCQUFJLElBQUk7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3QsIFNlbGYsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTb3J0TWV0YSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ3ByaW1lbmcvdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbdFdpdGhVbnNvcnRdJyxcbiAgZXhwb3J0QXM6ICd0V2l0aFVuc29ydCdcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVVbnNvcnREaXJlY3RpdmUge1xuICByZXNldFNvcnRpbmcgPSBmYWxzZTtcbiAgc29ydEluZGljZXM6IG51bWJlcltdID0gW107XG5cbiAgY29uc3RydWN0b3IoQEhvc3QoKSBAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBwVGFibGU6IFRhYmxlKSB7XG4gICAgcFRhYmxlLnNvcnQgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgaWYgKHBUYWJsZS5zb3J0TW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgICAgaWYgKHBUYWJsZS5zb3J0RmllbGQgPT09IGV2ZW50LmZpZWxkICYmIHBUYWJsZS5zb3J0T3JkZXIgPT09IC0xKSB7XG4gICAgICAgICAgcFRhYmxlLl9zb3J0T3JkZXIgPSBwVGFibGUuZGVmYXVsdFNvcnRPcmRlcjtcbiAgICAgICAgICAocFRhYmxlLl9zb3J0RmllbGQgYXMgYW55KSA9IG51bGw7XG4gICAgICAgICAgdGhpcy5yZXNldFNvcnRpbmcgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBUYWJsZS5fc29ydE9yZGVyID1cbiAgICAgICAgICAgIHBUYWJsZS5zb3J0RmllbGQgPT09IGV2ZW50LmZpZWxkXG4gICAgICAgICAgICAgID8gcFRhYmxlLnNvcnRPcmRlciAqIC0xXG4gICAgICAgICAgICAgIDogcFRhYmxlLmRlZmF1bHRTb3J0T3JkZXI7XG4gICAgICAgICAgcFRhYmxlLl9zb3J0RmllbGQgPSBldmVudC5maWVsZDtcbiAgICAgICAgfVxuICAgICAgICBwVGFibGUuc29ydFNpbmdsZSgpO1xuICAgICAgfVxuICAgICAgaWYgKHBUYWJsZS5zb3J0TW9kZSA9PT0gJ211bHRpcGxlJykge1xuICAgICAgICBsZXQgcmVzZXRJbmRleCA9IGZhbHNlO1xuICAgICAgICBjb25zdCBzb3J0TWV0YSA9IHBUYWJsZS5nZXRTb3J0TWV0YShldmVudC5maWVsZCk7XG5cbiAgICAgICAgaWYgKHNvcnRNZXRhKSB7XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwVGFibGUuX211bHRpU29ydE1ldGEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChwVGFibGUuX211bHRpU29ydE1ldGFbaV0uZmllbGQgPT09IHNvcnRNZXRhLmZpZWxkKSB7XG4gICAgICAgICAgICAgIHBUYWJsZS5fbXVsdGlTb3J0TWV0YS5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChzb3J0TWV0YS5vcmRlciA9PT0gMSkge1xuICAgICAgICAgICAgc29ydE1ldGEub3JkZXIgPSBzb3J0TWV0YS5vcmRlciAqIC0xO1xuICAgICAgICAgICAgcFRhYmxlLm11bHRpU29ydE1ldGEucHVzaChzb3J0TWV0YSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChwVGFibGUuX211bHRpU29ydE1ldGE/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgKHBUYWJsZS5tdWx0aVNvcnRNZXRhIGFzIGFueSkgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5yZXNldFNvcnRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgcmVzZXRJbmRleCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghcFRhYmxlLm11bHRpU29ydE1ldGEpIHtcbiAgICAgICAgICAgIHBUYWJsZS5fbXVsdGlTb3J0TWV0YSA9IFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwVGFibGUubXVsdGlTb3J0TWV0YS5wdXNoKHtcbiAgICAgICAgICAgIGZpZWxkOiBldmVudC5maWVsZCxcbiAgICAgICAgICAgIG9yZGVyOiBwVGFibGUuZGVmYXVsdFNvcnRPcmRlclxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcFRhYmxlLnNvcnRNdWx0aXBsZSgpO1xuICAgICAgICBpZiAocmVzZXRJbmRleCkgcFRhYmxlLl9tdWx0aVNvcnRNZXRhID0gW107XG4gICAgICB9XG5cbiAgICAgIGlmIChwVGFibGUuaXNTdGF0ZWZ1bCgpKSB7XG4gICAgICAgIHBUYWJsZS5zYXZlU3RhdGUoKTtcbiAgICAgIH1cblxuICAgICAgcFRhYmxlLmFuY2hvclJvd0luZGV4ID0gMDtcbiAgICAgIHRoaXMucmVzZXRTb3J0aW5nID0gZmFsc2U7XG4gICAgfTtcblxuICAgIHBUYWJsZS5zb3J0U2luZ2xlID0gKCkgPT4ge1xuICAgICAgY29uc3QgZmllbGQgPSBwVGFibGUuc29ydEZpZWxkIHx8IHBUYWJsZS5ncm91cFJvd3NCeTtcbiAgICAgIGNvbnN0IG9yZGVyID0gcFRhYmxlLnNvcnRGaWVsZFxuICAgICAgICA/IHBUYWJsZS5zb3J0T3JkZXJcbiAgICAgICAgOiBwVGFibGUuZ3JvdXBSb3dzQnlPcmRlcjtcbiAgICAgIGlmIChcbiAgICAgICAgcFRhYmxlLmdyb3VwUm93c0J5ICYmXG4gICAgICAgIHBUYWJsZS5zb3J0RmllbGQgJiZcbiAgICAgICAgcFRhYmxlLmdyb3VwUm93c0J5ICE9PSBwVGFibGUuc29ydEZpZWxkXG4gICAgICApIHtcbiAgICAgICAgcFRhYmxlLl9tdWx0aVNvcnRNZXRhID0gW1xuICAgICAgICAgIHBUYWJsZS5nZXRHcm91cFJvd3NNZXRhKCksXG4gICAgICAgICAgeyBmaWVsZDogcFRhYmxlLnNvcnRGaWVsZCwgb3JkZXI6IHBUYWJsZS5zb3J0T3JkZXIgfVxuICAgICAgICBdO1xuICAgICAgICBwVGFibGUuc29ydE11bHRpcGxlKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKG9yZGVyICYmIChmaWVsZCB8fCB0aGlzLnJlc2V0U29ydGluZykpIHtcbiAgICAgICAgaWYgKHBUYWJsZS5yZXN0b3JpbmdTb3J0KSB7XG4gICAgICAgICAgcFRhYmxlLnJlc3RvcmluZ1NvcnQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwVGFibGUubGF6eSkge1xuICAgICAgICAgIHBUYWJsZS5vbkxhenlMb2FkLmVtaXQocFRhYmxlLmNyZWF0ZUxhenlMb2FkTWV0YWRhdGEoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAocFRhYmxlLnZhbHVlKSB7XG4gICAgICAgICAgaWYgKHBUYWJsZS5jdXN0b21Tb3J0KSB7XG4gICAgICAgICAgICBwVGFibGUuc29ydEZ1bmN0aW9uLmVtaXQoe1xuICAgICAgICAgICAgICBkYXRhOiBwVGFibGUudmFsdWUsXG4gICAgICAgICAgICAgIG1vZGU6IHBUYWJsZS5zb3J0TW9kZSxcbiAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgIG9yZGVyXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc29ydERhdGEoZmllbGQsIG9yZGVyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAocFRhYmxlLmhhc0ZpbHRlcigpKSB7XG4gICAgICAgICAgICBwVGFibGUuX2ZpbHRlcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNvcnRNZXRhOiBTb3J0TWV0YSA9IHtcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBvcmRlclxuICAgICAgICB9O1xuXG4gICAgICAgIHBUYWJsZS5vblNvcnQuZW1pdChzb3J0TWV0YSk7XG4gICAgICAgIHBUYWJsZS50YWJsZVNlcnZpY2Uub25Tb3J0KHNvcnRNZXRhKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgcFRhYmxlLnNvcnRNdWx0aXBsZSA9ICgpID0+IHtcbiAgICAgIGlmIChwVGFibGUuZ3JvdXBSb3dzQnkpIHtcbiAgICAgICAgaWYgKCFwVGFibGUuX211bHRpU29ydE1ldGEpXG4gICAgICAgICAgcFRhYmxlLl9tdWx0aVNvcnRNZXRhID0gW3BUYWJsZS5nZXRHcm91cFJvd3NNZXRhKCldO1xuICAgICAgICBlbHNlIGlmIChwVGFibGUubXVsdGlTb3J0TWV0YVswXS5maWVsZCAhPT0gcFRhYmxlLmdyb3VwUm93c0J5KVxuICAgICAgICAgIHBUYWJsZS5fbXVsdGlTb3J0TWV0YSA9IFtcbiAgICAgICAgICAgIHBUYWJsZS5nZXRHcm91cFJvd3NNZXRhKCksXG4gICAgICAgICAgICAuLi5wVGFibGUuX211bHRpU29ydE1ldGFcbiAgICAgICAgICBdO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIChwVGFibGUubXVsdGlTb3J0TWV0YSAmJiBwVGFibGUubXVsdGlTb3J0TWV0YS5sZW5ndGggPiAwKSB8fFxuICAgICAgICB0aGlzLnJlc2V0U29ydGluZ1xuICAgICAgKSB7XG4gICAgICAgIGlmIChwVGFibGUubGF6eSkge1xuICAgICAgICAgIHBUYWJsZS5vbkxhenlMb2FkLmVtaXQocFRhYmxlLmNyZWF0ZUxhenlMb2FkTWV0YWRhdGEoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAocFRhYmxlLnZhbHVlKSB7XG4gICAgICAgICAgaWYgKHBUYWJsZS5jdXN0b21Tb3J0KSB7XG4gICAgICAgICAgICBwVGFibGUuc29ydEZ1bmN0aW9uLmVtaXQoe1xuICAgICAgICAgICAgICBkYXRhOiBwVGFibGUudmFsdWUsXG4gICAgICAgICAgICAgIG1vZGU6IHBUYWJsZS5zb3J0TW9kZSxcbiAgICAgICAgICAgICAgbXVsdGlTb3J0TWV0YTogcFRhYmxlLm11bHRpU29ydE1ldGFcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9zb3J0RGF0YSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChwVGFibGUuaGFzRmlsdGVyKCkpIHtcbiAgICAgICAgICAgIHBUYWJsZS5fZmlsdGVyKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcFRhYmxlLm9uU29ydC5lbWl0KHtcbiAgICAgICAgICBtdWx0aXNvcnRtZXRhOiBwVGFibGUubXVsdGlTb3J0TWV0YVxuICAgICAgICB9KTtcbiAgICAgICAgcFRhYmxlLnRhYmxlU2VydmljZS5vblNvcnQocFRhYmxlLm11bHRpU29ydE1ldGEpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICByZXNldERlZmF1bHRTb3J0T3JkZXIoKSB7XG4gICAgdGhpcy5zb3J0SW5kaWNlcyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBfc29ydERhdGEoZmllbGQ/OiBhbnksIG9yZGVyPzogYW55KSB7XG4gICAgLy8gcmVzdG9yZSBkZWZhdWx0IHNvcnQgb3JkZXJcbiAgICBpZiAodGhpcy5yZXNldFNvcnRpbmcgJiYgdGhpcy5zb3J0SW5kaWNlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnBUYWJsZS5fdmFsdWUgPSB0aGlzLnNvcnRJbmRpY2VzLm1hcChcbiAgICAgICAgKGluZGV4KSA9PiB0aGlzLnBUYWJsZS5fdmFsdWVbaW5kZXhdXG4gICAgICApO1xuICAgICAgdGhpcy5yZXNldERlZmF1bHRTb3J0T3JkZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdG9Tb3J0OiBhbnlbXSA9IFtdO1xuICAgICAgaWYgKHRoaXMuc29ydEluZGljZXMubGVuZ3RoIDwgMSkge1xuICAgICAgICB0aGlzLnNvcnRJbmRpY2VzID0gQXJyYXkuZnJvbShcbiAgICAgICAgICB7IGxlbmd0aDogdGhpcy5wVGFibGUudmFsdWUubGVuZ3RoIH0sXG4gICAgICAgICAgKF8sIGluZGV4KSA9PiBpbmRleFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucFRhYmxlLnZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHRvU29ydC5wdXNoKFt0aGlzLnBUYWJsZS52YWx1ZVtpXSwgdGhpcy5zb3J0SW5kaWNlcy5pbmRleE9mKGkpXSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnBUYWJsZS5zb3J0TW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgICAgdG9Tb3J0LnNvcnQoKGRhdGExLCBkYXRhMikgPT4ge1xuICAgICAgICAgIGNvbnN0IHZhbHVlMSA9IE9iamVjdFV0aWxzLnJlc29sdmVGaWVsZERhdGEoZGF0YTFbMF0sIGZpZWxkKTtcbiAgICAgICAgICBjb25zdCB2YWx1ZTIgPSBPYmplY3RVdGlscy5yZXNvbHZlRmllbGREYXRhKGRhdGEyWzBdLCBmaWVsZCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucFRhYmxlLmNvbXBhcmVWYWx1ZXNPblNvcnQodmFsdWUxLCB2YWx1ZTIsIG9yZGVyKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0b1NvcnQuc29ydCgoZGF0YTEsIGRhdGEyKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX211bHRpc29ydEZpZWxkKGRhdGExLCBkYXRhMiwgMCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRvU29ydC5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLnNvcnRJbmRpY2VzW3RvU29ydFtpXVsxXV0gPSBpO1xuICAgICAgICB0aGlzLnBUYWJsZS52YWx1ZVtpXSA9IHRvU29ydFtpXVswXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnBUYWJsZS5fdmFsdWUgPSBbLi4udGhpcy5wVGFibGUudmFsdWVdO1xuICB9XG5cbiAgcHJpdmF0ZSBfbXVsdGlzb3J0RmllbGQoZGF0YTE6IGFueSwgZGF0YTI6IGFueSwgaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgdmFsdWUxID0gT2JqZWN0VXRpbHMucmVzb2x2ZUZpZWxkRGF0YShcbiAgICAgIGRhdGExWzBdLFxuICAgICAgdGhpcy5wVGFibGUubXVsdGlTb3J0TWV0YVtpbmRleF0uZmllbGRcbiAgICApO1xuICAgIGNvbnN0IHZhbHVlMiA9IE9iamVjdFV0aWxzLnJlc29sdmVGaWVsZERhdGEoXG4gICAgICBkYXRhMlswXSxcbiAgICAgIHRoaXMucFRhYmxlLm11bHRpU29ydE1ldGFbaW5kZXhdLmZpZWxkXG4gICAgKTtcbiAgICBpZiAoT2JqZWN0VXRpbHMuY29tcGFyZSh2YWx1ZTEsIHZhbHVlMiwgdGhpcy5wVGFibGUuZmlsdGVyTG9jYWxlKSA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMucFRhYmxlLm11bHRpU29ydE1ldGEubGVuZ3RoIC0gMSA+IGluZGV4XG4gICAgICAgID8gdGhpcy5fbXVsdGlzb3J0RmllbGQoZGF0YTEsIGRhdGEyLCBpbmRleCArIDEpXG4gICAgICAgIDogMDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucFRhYmxlLmNvbXBhcmVWYWx1ZXNPblNvcnQoXG4gICAgICB2YWx1ZTEsXG4gICAgICB2YWx1ZTIsXG4gICAgICB0aGlzLnBUYWJsZS5tdWx0aVNvcnRNZXRhW2luZGV4XS5vcmRlclxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,136 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, EventEmitter, Input, Optional, Output, Self } from '@angular/core';
3
- import { getCSSColor } from '../../utils/colors-utils';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/forms";
6
- import * as i2 from "@angular/common";
7
- /**
8
- * CpsTagComponent is used to categorize content.
9
- * @group Components
10
- */
11
- export class CpsTagComponent {
12
- /**
13
- * Tag value.
14
- * @group Props
15
- */
16
- set value(value) {
17
- this._value = value;
18
- this.onChange(value);
19
- }
20
- get value() {
21
- return this._value;
22
- }
23
- constructor(_control) {
24
- this._control = _control;
25
- /**
26
- * Type of the tag. It can be security, classification or custom, has higher precedence over color.
27
- * @group Props
28
- */
29
- this.type = 'custom';
30
- /**
31
- * Label of the tag.
32
- * @group Props
33
- */
34
- this.label = '';
35
- /**
36
- * Color of the tag.
37
- * @group Props
38
- */
39
- this.color = '';
40
- /**
41
- * Determines whether the tag should be disabled.
42
- * @group Props
43
- */
44
- this.disabled = false;
45
- /**
46
- * Determines whether the tag should be selectable.
47
- * @group Props
48
- */
49
- this.selectable = false;
50
- /**
51
- * Callback to invoke on value change.
52
- * @param {boolean} boolean - value change.
53
- * @group Emits
54
- */
55
- this.valueChanged = new EventEmitter();
56
- this.classesList = [];
57
- this.tagColor = '';
58
- this._value = false;
59
- // eslint-disable-next-line @typescript-eslint/no-empty-function
60
- this.onChange = (event) => { };
61
- // eslint-disable-next-line @typescript-eslint/no-empty-function
62
- this.onTouched = () => { };
63
- if (this._control) {
64
- this._control.valueAccessor = this;
65
- }
66
- }
67
- ngOnChanges() {
68
- this.setClasses();
69
- }
70
- setClasses() {
71
- this.classesList = ['cps-tag'];
72
- if (this.selectable) {
73
- this.classesList.push('cps-tag--selectable');
74
- }
75
- if (this.disabled) {
76
- this.classesList.push('cps-tag--disabled');
77
- }
78
- switch (this.type) {
79
- case 'security': {
80
- this.classesList.push('cps-tag--security');
81
- break;
82
- }
83
- case 'classification': {
84
- this.classesList.push('cps-tag--classification');
85
- break;
86
- }
87
- default:
88
- if (this.color)
89
- this.tagColor = getCSSColor(this.color);
90
- }
91
- }
92
- registerOnChange(fn) {
93
- this.onChange = fn;
94
- }
95
- registerOnTouched(fn) {
96
- this.onTouched = fn;
97
- }
98
- writeValue(value) {
99
- this.value = value;
100
- }
101
- toggleSelected() {
102
- if (this.disabled || !this.selectable)
103
- return;
104
- this._updateValue(!this.value);
105
- }
106
- _updateValue(value) {
107
- this.writeValue(value);
108
- this.onChange(value);
109
- this.valueChanged.emit(value);
110
- }
111
- }
112
- CpsTagComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CpsTagComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
113
- CpsTagComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CpsTagComponent, isStandalone: true, selector: "cps-tag", inputs: { type: "type", label: "label", color: "color", disabled: "disabled", selectable: "selectable", value: "value" }, outputs: { valueChanged: "valueChanged" }, usesOnChanges: true, ngImport: i0, template: "<div\n [ngClass]=\"classesList\"\n [class.unselected]=\"!value && selectable\"\n [ngStyle]=\"{ 'border-color': tagColor || 'none' }\"\n (click)=\"toggleSelected()\">\n <p>{{ label }}</p>\n</div>\n", styles: [":host{width:-moz-fit-content;width:fit-content;display:inline-block;-webkit-user-select:none;user-select:none}:host .cps-tag{font-family:Source Sans Pro,sans-serif;min-height:25px;align-items:center;padding:0 10px;background-color:#fff;display:inline-flex;cursor:default;border:solid 1px;border-left:solid 4px}:host .cps-tag.cps-tag--security{border-color:var(--cps-color-warn)}:host .cps-tag.cps-tag--classification{border-color:var(--cps-color-info)}:host .cps-tag.cps-tag--selectable{cursor:pointer}:host .cps-tag.cps-tag--selectable:not(:active):not(:disabled){box-shadow:1px 3px 4px #0000001a}:host .cps-tag.cps-tag--disabled{pointer-events:none;border-color:var(--cps-color-line-dark)!important}:host .cps-tag.cps-tag--disabled p{color:var(--cps-color-text-light)}:host .cps-tag.unselected{border-color:var(--cps-color-text-light)!important}:host .cps-tag p{margin:0;font-size:11px;color:var(--cps-color-text-dark)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CpsTagComponent, decorators: [{
115
- type: Component,
116
- args: [{ standalone: true, imports: [CommonModule], selector: 'cps-tag', template: "<div\n [ngClass]=\"classesList\"\n [class.unselected]=\"!value && selectable\"\n [ngStyle]=\"{ 'border-color': tagColor || 'none' }\"\n (click)=\"toggleSelected()\">\n <p>{{ label }}</p>\n</div>\n", styles: [":host{width:-moz-fit-content;width:fit-content;display:inline-block;-webkit-user-select:none;user-select:none}:host .cps-tag{font-family:Source Sans Pro,sans-serif;min-height:25px;align-items:center;padding:0 10px;background-color:#fff;display:inline-flex;cursor:default;border:solid 1px;border-left:solid 4px}:host .cps-tag.cps-tag--security{border-color:var(--cps-color-warn)}:host .cps-tag.cps-tag--classification{border-color:var(--cps-color-info)}:host .cps-tag.cps-tag--selectable{cursor:pointer}:host .cps-tag.cps-tag--selectable:not(:active):not(:disabled){box-shadow:1px 3px 4px #0000001a}:host .cps-tag.cps-tag--disabled{pointer-events:none;border-color:var(--cps-color-line-dark)!important}:host .cps-tag.cps-tag--disabled p{color:var(--cps-color-text-light)}:host .cps-tag.unselected{border-color:var(--cps-color-text-light)!important}:host .cps-tag p{margin:0;font-size:11px;color:var(--cps-color-text-dark)}\n"] }]
117
- }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
118
- type: Self
119
- }, {
120
- type: Optional
121
- }] }]; }, propDecorators: { type: [{
122
- type: Input
123
- }], label: [{
124
- type: Input
125
- }], color: [{
126
- type: Input
127
- }], disabled: [{
128
- type: Input
129
- }], selectable: [{
130
- type: Input
131
- }], value: [{
132
- type: Input
133
- }], valueChanged: [{
134
- type: Output
135
- }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLXRhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcHMtdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9jcHMtdGFnL2Nwcy10YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY3BzLXRhZy9jcHMtdGFnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0wsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBR3ZEOzs7R0FHRztBQVFILE1BQU0sT0FBTyxlQUFlO0lBK0IxQjs7O09BR0c7SUFDSCxJQUFhLEtBQUssQ0FBQyxLQUFjO1FBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBY0QsWUFBd0MsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQXZEM0Q7OztXQUdHO1FBQ00sU0FBSSxHQUE2QyxRQUFRLENBQUM7UUFFbkU7OztXQUdHO1FBQ00sVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVwQjs7O1dBR0c7UUFDTSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRXBCOzs7V0FHRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFMUI7OztXQUdHO1FBQ00sZUFBVSxHQUFHLEtBQUssQ0FB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TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBTZWxmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0Q1NTQ29sb3IgfSBmcm9tICcuLi8uLi91dGlscy9jb2xvcnMtdXRpbHMnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBDcHNUYWdDb21wb25lbnQgaXMgdXNlZCB0byBjYXRlZ29yaXplIGNvbnRlbnQuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHNlbGVjdG9yOiAnY3BzLXRhZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jcHMtdGFnLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3BzLXRhZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENwc1RhZ0NvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMge1xuICAvKipcbiAgICogVHlwZSBvZiB0aGUgdGFnLiBJdCBjYW4gYmUgc2VjdXJpdHksIGNsYXNzaWZpY2F0aW9uIG9yIGN1c3RvbSwgaGFzIGhpZ2hlciBwcmVjZWRlbmNlIG92ZXIgY29sb3IuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgdHlwZTogJ3NlY3VyaXR5JyB8ICdjbGFzc2lmaWNhdGlvbicgfCAnY3VzdG9tJyA9ICdjdXN0b20nO1xuXG4gIC8qKlxuICAgKiBMYWJlbCBvZiB0aGUgdGFnLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG5cbiAgLyoqXG4gICAqIENvbG9yIG9mIHRoZSB0YWcuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgY29sb3IgPSAnJztcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSB0YWcgc2hvdWxkIGJlIGRpc2FibGVkLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGUgdGFnIHNob3VsZCBiZSBzZWxlY3RhYmxlLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIHNlbGVjdGFibGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGFnIHZhbHVlLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIHNldCB2YWx1ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIHRvIGludm9rZSBvbiB2YWx1ZSBjaGFuZ2UuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gYm9vbGVhbiAtIHZhbHVlIGNoYW5nZS5cbiAgICogQGdyb3VwIEVtaXRzXG4gICAqL1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGNsYXNzZXNMaXN0OiBzdHJpbmdbXSA9IFtdO1xuICB0YWdDb2xvciA9ICcnO1xuXG4gIHByaXZhdGUgX3ZhbHVlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoQFNlbGYoKSBAT3B0aW9uYWwoKSBwcml2YXRlIF9jb250cm9sOiBOZ0NvbnRyb2wpIHtcbiAgICBpZiAodGhpcy5fY29udHJvbCkge1xuICAgICAgdGhpcy5fY29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNldENsYXNzZXMoKTtcbiAgfVxuXG4gIHNldENsYXNzZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jbGFzc2VzTGlzdCA9IFsnY3BzLXRhZyddO1xuXG4gICAgaWYgKHRoaXMuc2VsZWN0YWJsZSkge1xuICAgICAgdGhpcy5jbGFzc2VzTGlzdC5wdXNoKCdjcHMtdGFnLS1zZWxlY3RhYmxlJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmNsYXNzZXNMaXN0LnB1c2goJ2Nwcy10YWctLWRpc2FibGVkJyk7XG4gICAgfVxuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlICdzZWN1cml0eSc6IHtcbiAgICAgICAgdGhpcy5jbGFzc2VzTGlzdC5wdXNoKCdjcHMtdGFnLS1zZWN1cml0eScpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2NsYXNzaWZpY2F0aW9uJzoge1xuICAgICAgICB0aGlzLmNsYXNzZXNMaXN0LnB1c2goJ2Nwcy10YWctLWNsYXNzaWZpY2F0aW9uJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKHRoaXMuY29sb3IpIHRoaXMudGFnQ29sb3IgPSBnZXRDU1NDb2xvcih0aGlzLmNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIG9uQ2hhbmdlID0gKGV2ZW50OiBhbnkpID0+IHt9O1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgdG9nZ2xlU2VsZWN0ZWQoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgIXRoaXMuc2VsZWN0YWJsZSkgcmV0dXJuO1xuICAgIHRoaXMuX3VwZGF0ZVZhbHVlKCF0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVZhbHVlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlZC5lbWl0KHZhbHVlKTtcbiAgfVxufVxuIiwiPGRpdlxuICBbbmdDbGFzc109XCJjbGFzc2VzTGlzdFwiXG4gIFtjbGFzcy51bnNlbGVjdGVkXT1cIiF2YWx1ZSAmJiBzZWxlY3RhYmxlXCJcbiAgW25nU3R5bGVdPVwieyAnYm9yZGVyLWNvbG9yJzogdGFnQ29sb3IgfHwgJ25vbmUnIH1cIlxuICAoY2xpY2spPVwidG9nZ2xlU2VsZWN0ZWQoKVwiPlxuICA8cD57eyBsYWJlbCB9fTwvcD5cbjwvZGl2PlxuIl19