@simplysm/angular 14.0.11 → 14.0.12

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 (165) hide show
  1. package/README.md +8 -5
  2. package/dist/core/directives/sd-router-link.directive.js +2 -2
  3. package/dist/core/pipes/format.pipe.d.ts.map +1 -1
  4. package/dist/core/pipes/format.pipe.js +2 -0
  5. package/dist/core/plugins/commands/findTopOpenModalEl.d.ts +1 -1
  6. package/dist/core/plugins/commands/findTopOpenModalEl.d.ts.map +1 -1
  7. package/dist/core/plugins/commands/findTopOpenModalEl.js +2 -2
  8. package/dist/core/plugins/commands/sd-insert-command-event.plugin.d.ts +1 -0
  9. package/dist/core/plugins/commands/sd-insert-command-event.plugin.d.ts.map +1 -1
  10. package/dist/core/plugins/commands/sd-insert-command-event.plugin.js +4 -3
  11. package/dist/core/plugins/commands/sd-refresh-command-event.plugin.d.ts +1 -0
  12. package/dist/core/plugins/commands/sd-refresh-command-event.plugin.d.ts.map +1 -1
  13. package/dist/core/plugins/commands/sd-refresh-command-event.plugin.js +4 -3
  14. package/dist/core/plugins/commands/sd-save-command-event.plugin.d.ts +1 -0
  15. package/dist/core/plugins/commands/sd-save-command-event.plugin.d.ts.map +1 -1
  16. package/dist/core/plugins/commands/sd-save-command-event.plugin.js +4 -3
  17. package/dist/core/plugins/events/sd-intersection-event.plugin.d.ts.map +1 -1
  18. package/dist/core/plugins/events/sd-intersection-event.plugin.js +2 -3
  19. package/dist/core/plugins/events/sd-option-event.plugin.d.ts +1 -0
  20. package/dist/core/plugins/events/sd-option-event.plugin.d.ts.map +1 -1
  21. package/dist/core/plugins/events/sd-option-event.plugin.js +2 -1
  22. package/dist/core/plugins/sd-global-error-handler.plugin.d.ts.map +1 -1
  23. package/dist/core/plugins/sd-global-error-handler.plugin.js +3 -1
  24. package/dist/core/provideSdAngular.d.ts.map +1 -1
  25. package/dist/core/provideSdAngular.js +14 -4
  26. package/dist/core/providers/sd-app-structure.provider.d.ts.map +1 -1
  27. package/dist/core/providers/sd-app-structure.provider.js +8 -7
  28. package/dist/core/providers/sd-file-dialog.provider.d.ts.map +1 -1
  29. package/dist/core/providers/sd-file-dialog.provider.js +15 -7
  30. package/dist/core/providers/sd-local-storage.provider.d.ts.map +1 -1
  31. package/dist/core/providers/sd-local-storage.provider.js +6 -1
  32. package/dist/core/providers/sd-navigate-window.provider.js +4 -1
  33. package/dist/core/providers/sd-print.provider.js +2 -2
  34. package/dist/core/providers/sd-shared-data.provider.d.ts.map +1 -1
  35. package/dist/core/providers/sd-shared-data.provider.js +14 -3
  36. package/dist/core/utils/injectParent.js +9 -5
  37. package/dist/core/utils/setups/setupModelHook.d.ts.map +1 -1
  38. package/dist/core/utils/setups/setupModelHook.js +4 -1
  39. package/dist/core/utils/setups/setupRevealOnShow.d.ts.map +1 -1
  40. package/dist/core/utils/setups/setupRevealOnShow.js +3 -2
  41. package/dist/core/utils/useExpandingManager.d.ts.map +1 -1
  42. package/dist/core/utils/useExpandingManager.js +3 -2
  43. package/dist/core/utils/useSdSystemConfigResource.d.ts +1 -1
  44. package/dist/core/utils/useSdSystemConfigResource.d.ts.map +1 -1
  45. package/dist/core/utils/useSdSystemConfigResource.js +13 -12
  46. package/dist/core/utils/withBusy.d.ts +3 -0
  47. package/dist/core/utils/withBusy.d.ts.map +1 -0
  48. package/dist/core/utils/withBusy.js +9 -0
  49. package/dist/features/address/sd-address-search.modal.d.ts.map +1 -1
  50. package/dist/features/address/sd-address-search.modal.js +5 -2
  51. package/dist/features/data-view/sd-data-detail.control.d.ts.map +1 -1
  52. package/dist/features/data-view/sd-data-detail.control.js +14 -18
  53. package/dist/features/data-view/sd-data-sheet.control.d.ts.map +1 -1
  54. package/dist/features/data-view/sd-data-sheet.control.js +23 -30
  55. package/dist/features/permission-table/sd-permission-table.control.d.ts +4 -0
  56. package/dist/features/permission-table/sd-permission-table.control.d.ts.map +1 -1
  57. package/dist/features/permission-table/sd-permission-table.control.js +113 -43
  58. package/dist/features/shared-data/matchesSearchText.d.ts +2 -0
  59. package/dist/features/shared-data/matchesSearchText.d.ts.map +1 -0
  60. package/dist/features/shared-data/matchesSearchText.js +11 -0
  61. package/dist/features/shared-data/sd-shared-data-select-button.control.d.ts +2 -2
  62. package/dist/features/shared-data/sd-shared-data-select-button.control.d.ts.map +1 -1
  63. package/dist/features/shared-data/sd-shared-data-select-list.control.d.ts +1 -0
  64. package/dist/features/shared-data/sd-shared-data-select-list.control.d.ts.map +1 -1
  65. package/dist/features/shared-data/sd-shared-data-select-list.control.js +16 -11
  66. package/dist/features/shared-data/sd-shared-data-select.control.d.ts +2 -1
  67. package/dist/features/shared-data/sd-shared-data-select.control.d.ts.map +1 -1
  68. package/dist/features/shared-data/sd-shared-data-select.control.js +44 -29
  69. package/dist/index.d.ts +4 -3
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +3 -2
  72. package/dist/ui/data/sheet/sd-sheet.control.d.ts +5 -2
  73. package/dist/ui/data/sheet/sd-sheet.control.d.ts.map +1 -1
  74. package/dist/ui/data/sheet/sd-sheet.control.js +48 -47
  75. package/dist/ui/data/sheet/types.d.ts +5 -1
  76. package/dist/ui/data/sheet/types.d.ts.map +1 -1
  77. package/dist/ui/data/sheet/useSheetCellAgent.d.ts.map +1 -1
  78. package/dist/ui/data/sheet/useSheetCellAgent.js +8 -4
  79. package/dist/ui/data/sheet/useSheetColumnFixing.d.ts +6 -0
  80. package/dist/ui/data/sheet/useSheetColumnFixing.d.ts.map +1 -1
  81. package/dist/ui/data/sheet/useSheetColumnFixing.js +6 -0
  82. package/dist/ui/form/editor/sd-tiptap-editor.control.d.ts +2 -2
  83. package/dist/ui/form/editor/sd-tiptap-editor.control.d.ts.map +1 -1
  84. package/dist/ui/form/editor/sd-tiptap-editor.control.js +15 -13
  85. package/dist/ui/form/input/sd-date-range.picker.d.ts.map +1 -1
  86. package/dist/ui/form/input/sd-date-range.picker.js +8 -1
  87. package/dist/ui/form/select/sd-select.control.d.ts.map +1 -1
  88. package/dist/ui/form/select/sd-select.control.js +20 -16
  89. package/dist/ui/layout/dock/sd-dock.control.js +4 -4
  90. package/dist/ui/navigation/pagination/sd-pagination.control.js +1 -1
  91. package/dist/ui/navigation/sidebar/sd-sidebar-menu.control.d.ts +7 -13
  92. package/dist/ui/navigation/sidebar/sd-sidebar-menu.control.d.ts.map +1 -1
  93. package/dist/ui/navigation/sidebar/sd-sidebar-menu.control.js +1 -1
  94. package/dist/ui/navigation/topbar/sd-topbar-menu.control.d.ts +7 -13
  95. package/dist/ui/navigation/topbar/sd-topbar-menu.control.d.ts.map +1 -1
  96. package/dist/ui/navigation/topbar/sd-topbar-menu.control.js +1 -1
  97. package/dist/ui/overlay/dropdown/sd-dropdown-popup.control.d.ts +0 -3
  98. package/dist/ui/overlay/dropdown/sd-dropdown-popup.control.d.ts.map +1 -1
  99. package/dist/ui/overlay/dropdown/sd-dropdown-popup.control.js +8 -21
  100. package/dist/ui/overlay/dropdown/sd-dropdown.control.d.ts +1 -1
  101. package/dist/ui/overlay/dropdown/sd-dropdown.control.d.ts.map +1 -1
  102. package/dist/ui/overlay/dropdown/sd-dropdown.control.js +19 -20
  103. package/dist/ui/overlay/modal/sd-modal.control.d.ts.map +1 -1
  104. package/dist/ui/overlay/modal/sd-modal.control.js +21 -5
  105. package/dist/ui/overlay/toast/sd-toast.provider.d.ts +1 -0
  106. package/dist/ui/overlay/toast/sd-toast.provider.d.ts.map +1 -1
  107. package/dist/ui/overlay/toast/sd-toast.provider.js +16 -2
  108. package/dist/ui/visual/sd-barcode.control.d.ts +2 -2
  109. package/dist/ui/visual/sd-barcode.control.d.ts.map +1 -1
  110. package/dist/ui/visual/sd-barcode.control.js +25 -18
  111. package/dist/ui/visual/sd-progress.control.d.ts.map +1 -1
  112. package/dist/ui/visual/sd-progress.control.js +1 -1
  113. package/docs/core.md +19 -0
  114. package/docs/features.md +25 -0
  115. package/docs/ui-data.md +20 -4
  116. package/docs/ui-navigation.md +8 -44
  117. package/package.json +25 -25
  118. package/src/core/directives/sd-router-link.directive.ts +1 -1
  119. package/src/core/pipes/format.pipe.ts +1 -0
  120. package/src/core/plugins/commands/findTopOpenModalEl.ts +2 -2
  121. package/src/core/plugins/commands/sd-insert-command-event.plugin.ts +5 -3
  122. package/src/core/plugins/commands/sd-refresh-command-event.plugin.ts +5 -3
  123. package/src/core/plugins/commands/sd-save-command-event.plugin.ts +5 -3
  124. package/src/core/plugins/events/sd-intersection-event.plugin.ts +2 -3
  125. package/src/core/plugins/events/sd-option-event.plugin.ts +3 -1
  126. package/src/core/plugins/sd-global-error-handler.plugin.ts +4 -1
  127. package/src/core/provideSdAngular.ts +17 -4
  128. package/src/core/providers/sd-app-structure.provider.ts +7 -7
  129. package/src/core/providers/sd-file-dialog.provider.ts +18 -9
  130. package/src/core/providers/sd-local-storage.provider.ts +5 -1
  131. package/src/core/providers/sd-navigate-window.provider.ts +3 -3
  132. package/src/core/providers/sd-print.provider.ts +2 -2
  133. package/src/core/providers/sd-shared-data.provider.ts +14 -3
  134. package/src/core/utils/injectParent.ts +10 -6
  135. package/src/core/utils/setups/setupModelHook.ts +6 -1
  136. package/src/core/utils/setups/setupRevealOnShow.ts +3 -2
  137. package/src/core/utils/useExpandingManager.ts +4 -2
  138. package/src/core/utils/useSdSystemConfigResource.ts +13 -11
  139. package/src/core/utils/withBusy.ts +13 -0
  140. package/src/features/address/sd-address-search.modal.ts +5 -2
  141. package/src/features/data-view/sd-data-detail.control.ts +37 -33
  142. package/src/features/data-view/sd-data-sheet.control.ts +61 -54
  143. package/src/features/permission-table/sd-permission-table.control.ts +127 -51
  144. package/src/features/shared-data/matchesSearchText.ts +16 -0
  145. package/src/features/shared-data/sd-shared-data-select-button.control.ts +4 -4
  146. package/src/features/shared-data/sd-shared-data-select-list.control.ts +19 -11
  147. package/src/features/shared-data/sd-shared-data-select.control.ts +50 -30
  148. package/src/index.ts +4 -8
  149. package/src/ui/data/sheet/sd-sheet.control.ts +51 -48
  150. package/src/ui/data/sheet/types.ts +6 -1
  151. package/src/ui/data/sheet/useSheetCellAgent.ts +5 -3
  152. package/src/ui/data/sheet/useSheetColumnFixing.ts +6 -0
  153. package/src/ui/form/editor/sd-tiptap-editor.control.ts +14 -12
  154. package/src/ui/form/input/sd-date-range.picker.ts +7 -1
  155. package/src/ui/form/select/sd-select.control.ts +18 -14
  156. package/src/ui/layout/dock/sd-dock.control.ts +4 -4
  157. package/src/ui/navigation/pagination/sd-pagination.control.ts +1 -1
  158. package/src/ui/navigation/sidebar/sd-sidebar-menu.control.ts +7 -14
  159. package/src/ui/navigation/topbar/sd-topbar-menu.control.ts +7 -14
  160. package/src/ui/overlay/dropdown/sd-dropdown-popup.control.ts +2 -17
  161. package/src/ui/overlay/dropdown/sd-dropdown.control.ts +19 -19
  162. package/src/ui/overlay/modal/sd-modal.control.ts +21 -5
  163. package/src/ui/overlay/toast/sd-toast.provider.ts +14 -1
  164. package/src/ui/visual/sd-barcode.control.ts +18 -16
  165. package/src/ui/visual/sd-progress.control.ts +1 -1
@@ -34,7 +34,7 @@ function SdPermissionTableControl_ng_template_4_Conditional_0_Conditional_4_Temp
34
34
  const item_r4 = i0.ɵɵnextContext(2).item;
35
35
  const ctx_r4 = i0.ɵɵnextContext();
36
36
  i0.ɵɵadvance();
37
- i0.ɵɵproperty("open", ctx_r4.getIsPermCollapsed(item_r4));
37
+ i0.ɵɵproperty("open", !ctx_r4.getIsPermCollapsed(item_r4));
38
38
  i0.ɵɵadvance();
39
39
  i0.ɵɵtextInterpolate1(" ", item_r4.title, " ");
40
40
  } }
@@ -141,10 +141,114 @@ export class SdPermissionTableControl {
141
141
  depthLength = computed(() => {
142
142
  return this._getDepthLength(this.items(), 0);
143
143
  }, ...(ngDevMode ? [{ debugName: "depthLength" }] : /* istanbul ignore next */ []));
144
+ _permExistsCache = computed(() => {
145
+ const cache = new Map();
146
+ const walk = (item, type) => {
147
+ const key = item.codeChain.join(".") + "." + type;
148
+ const cached = cache.get(key);
149
+ if (cached !== undefined)
150
+ return cached;
151
+ if (item.perms) {
152
+ const result = item.perms.includes(type);
153
+ cache.set(key, result);
154
+ return result;
155
+ }
156
+ let result = false;
157
+ if (item.children) {
158
+ for (const child of item.children) {
159
+ if (walk(child, type)) {
160
+ result = true;
161
+ }
162
+ }
163
+ }
164
+ cache.set(key, result);
165
+ return result;
166
+ };
167
+ for (const item of this.items()) {
168
+ walk(item, "use");
169
+ walk(item, "edit");
170
+ }
171
+ return cache;
172
+ }, ...(ngDevMode ? [{ debugName: "_permExistsCache" }] : /* istanbul ignore next */ []));
173
+ _permCheckedCache = computed(() => {
174
+ const cache = new Map();
175
+ const value = this.value();
176
+ const walk = (item, type) => {
177
+ const key = item.codeChain.join(".") + "." + type;
178
+ const cached = cache.get(key);
179
+ if (cached !== undefined)
180
+ return cached;
181
+ if (item.perms) {
182
+ const permCode = item.codeChain.join(".");
183
+ const result = value[permCode + "." + type] ?? false;
184
+ cache.set(key, result);
185
+ return result;
186
+ }
187
+ let result = false;
188
+ if (item.children) {
189
+ for (const child of item.children) {
190
+ if (walk(child, type)) {
191
+ result = true;
192
+ }
193
+ }
194
+ }
195
+ cache.set(key, result);
196
+ return result;
197
+ };
198
+ for (const item of this.items()) {
199
+ walk(item, "use");
200
+ walk(item, "edit");
201
+ }
202
+ return cache;
203
+ }, ...(ngDevMode ? [{ debugName: "_permCheckedCache" }] : /* istanbul ignore next */ []));
204
+ _editDisabledCache = computed(() => {
205
+ const cache = new Map();
206
+ const isDisabled = this.disabled();
207
+ const existsCache = this._permExistsCache();
208
+ const checkedCache = this._permCheckedCache();
209
+ const walk = (item) => {
210
+ const key = item.codeChain.join(".");
211
+ const cached = cache.get(key);
212
+ if (cached !== undefined)
213
+ return cached;
214
+ if (isDisabled) {
215
+ cache.set(key, true);
216
+ return true;
217
+ }
218
+ if (item.perms) {
219
+ const useExists = existsCache.get(key + ".use") ?? false;
220
+ const useChecked = checkedCache.get(key + ".use") ?? false;
221
+ const result = useExists && !useChecked;
222
+ cache.set(key, result);
223
+ return result;
224
+ }
225
+ if (item.children) {
226
+ for (const child of item.children) {
227
+ walk(child);
228
+ }
229
+ const result = item.children.every((child) => !(existsCache.get(child.codeChain.join(".") + ".edit") ?? false) ||
230
+ (cache.get(child.codeChain.join(".")) ?? false));
231
+ cache.set(key, result);
232
+ return result;
233
+ }
234
+ cache.set(key, false);
235
+ return false;
236
+ };
237
+ for (const item of this.items()) {
238
+ walk(item);
239
+ }
240
+ return cache;
241
+ }, ...(ngDevMode ? [{ debugName: "_editDisabledCache" }] : /* istanbul ignore next */ []));
242
+ _arrCache = new Map();
144
243
  arr(len) {
145
- return Array(len)
146
- .fill(0)
147
- .map((_, i) => i);
244
+ let cached = this._arrCache.get(len);
245
+ if (cached == null) {
246
+ cached = Array(len)
247
+ .fill(0)
248
+ .map((_, i) => i);
249
+ this._arrCache.set(len, cached);
250
+ }
251
+ return cached;
148
252
  }
149
253
  getIsPermCollapsed(item) {
150
254
  return this.collapsedItems().has(item);
@@ -153,47 +257,13 @@ export class SdPermissionTableControl {
153
257
  return item.children?.mapMany((child) => [child, ...this.getAllChildren(child)]) ?? [];
154
258
  }
155
259
  getEditDisabled(item) {
156
- if (this.disabled()) {
157
- return true;
158
- }
159
- if (item.perms) {
160
- if (this.getIsPermExists(item, "use") && !this.getIsPermChecked(item, "use")) {
161
- return true;
162
- }
163
- }
164
- else {
165
- if (item.children?.every((child) => !this.getIsPermExists(child, "edit") || this.getEditDisabled(child))) {
166
- return true;
167
- }
168
- }
169
- return false;
260
+ return this._editDisabledCache().get(item.codeChain.join(".")) ?? false;
170
261
  }
171
262
  getIsPermExists(item, type) {
172
- if (item.perms) {
173
- return item.perms.includes(type);
174
- }
175
- if (item.children) {
176
- for (const child of item.children) {
177
- if (this.getIsPermExists(child, type)) {
178
- return true;
179
- }
180
- }
181
- }
182
- return false;
263
+ return this._permExistsCache().get(item.codeChain.join(".") + "." + type) ?? false;
183
264
  }
184
265
  getIsPermChecked(item, type) {
185
- if (item.perms) {
186
- const permCode = item.codeChain.join(".");
187
- return this.value()[permCode + "." + type] ?? false;
188
- }
189
- if (item.children) {
190
- for (const child of item.children) {
191
- if (this.getIsPermChecked(child, type)) {
192
- return true;
193
- }
194
- }
195
- }
196
- return false;
266
+ return this._permCheckedCache().get(item.codeChain.join(".") + "." + type) ?? false;
197
267
  }
198
268
  onPermCollapseToggle(item) {
199
269
  this.collapsedItems.update((v) => {
@@ -225,7 +295,7 @@ export class SdPermissionTableControl {
225
295
  if (type === "edit" &&
226
296
  val &&
227
297
  this.getIsPermExists(item, "use") &&
228
- !this.getIsPermChecked(item, "use")) {
298
+ !(value[permCode + ".use"] ?? false)) {
229
299
  // use가 체크되지 않은 상태에서 edit 체크 시도 → 무시
230
300
  }
231
301
  else {
@@ -337,7 +407,7 @@ export class SdPermissionTableControl {
337
407
  <td class="_title">
338
408
  @if (item.children && item.children.length > 0) {
339
409
  <sd-anchor (click)="onPermCollapseToggle(item)">
340
- <sd-collapse-icon [open]="getIsPermCollapsed(item)" />
410
+ <sd-collapse-icon [open]="!getIsPermCollapsed(item)" />
341
411
  {{ item.title }}
342
412
  </sd-anchor>
343
413
  } @else {
@@ -0,0 +1,2 @@
1
+ export declare function matchesSearchText(itemText: string, searchQuery: string | undefined): boolean;
2
+ //# sourceMappingURL=matchesSearchText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchesSearchText.d.ts","sourceRoot":"","sources":["../../../src/features/shared-data/matchesSearchText.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,OAAO,CAYT"}
@@ -0,0 +1,11 @@
1
+ export function matchesSearchText(itemText, searchQuery) {
2
+ const terms = searchQuery
3
+ ?.trim()
4
+ .split(" ")
5
+ .map((t) => t.trim())
6
+ .filter((t) => t !== "") ?? [];
7
+ if (terms.length === 0)
8
+ return true;
9
+ const lowerItemText = itemText.toLowerCase();
10
+ return terms.every((term) => lowerItemText.includes(term.toLowerCase()));
11
+ }
@@ -5,11 +5,11 @@ import { AbsSdDataSelectButton } from "../data-view/sd-data-select-button.contro
5
5
  import type { ISdSelectModal, TSdSelectModalInfo } from "../../ui/form/button/sd-modal-select-button.control";
6
6
  import type { TSelectModeValue } from "../../ui/form/select/sd-select.control";
7
7
  import * as i0 from "@angular/core";
8
- export declare class SdSharedDataSelectButtonControl<TItem extends ISharedDataBase<number>, TMode extends keyof TSelectModeValue<number>, TModal extends ISdSelectModal<any>> extends AbsSdDataSelectButton<TItem, number, TMode> {
8
+ export declare class SdSharedDataSelectButtonControl<TItem extends ISharedDataBase<string | number>, TMode extends keyof TSelectModeValue<string | number>, TModal extends ISdSelectModal<any>> extends AbsSdDataSelectButton<TItem, string | number, TMode> {
9
9
  items: import("@angular/core").InputSignal<TItem[]>;
10
10
  modal: import("@angular/core").InputSignal<TSdSelectModalInfo<TModal>>;
11
11
  itemTplRef: import("@angular/core").Signal<TemplateRef<SdItemOfTemplateContext<TItem>>>;
12
- load(keys: number[]): TItem[];
12
+ load(keys: (string | number)[]): TItem[];
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<SdSharedDataSelectButtonControl<any, any, any>, never>;
14
14
  static ɵcmp: i0.ɵɵComponentDeclaration<SdSharedDataSelectButtonControl<any, any, any>, "sd-shared-data-select-button", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": true; "isSignal": true; }; }, {}, ["itemTplRef"], ["*"], true, never>;
15
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sd-shared-data-select-button.control.d.ts","sourceRoot":"","sources":["../../../src/features/shared-data/sd-shared-data-select-button.control.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,WAAW,EAEZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EACL,qBAAqB,EAEtB,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EACnB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;;AAE/E,qBAuBa,+BAA+B,CAC1C,KAAK,SAAS,eAAe,CAAC,MAAM,CAAC,EACrC,KAAK,SAAS,MAAM,gBAAgB,CAAC,MAAM,CAAC,EAC5C,MAAM,SAAS,cAAc,CAAC,GAAG,CAAC,CAClC,SAAQ,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;IACnD,KAAK,+CAAsB;IAC3B,KAAK,kEAAgD;IAErD,UAAU,8EAGR;IAEO,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE;yCAb3B,+BAA+B;2CAA/B,+BAA+B;CAgB3C"}
1
+ {"version":3,"file":"sd-shared-data-select-button.control.d.ts","sourceRoot":"","sources":["../../../src/features/shared-data/sd-shared-data-select-button.control.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,WAAW,EAEZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EACL,qBAAqB,EAEtB,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EACnB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;;AAE/E,qBAuBa,+BAA+B,CAC1C,KAAK,SAAS,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,EAC9C,KAAK,SAAS,MAAM,gBAAgB,CAAC,MAAM,GAAG,MAAM,CAAC,EACrD,MAAM,SAAS,cAAc,CAAC,GAAG,CAAC,CAClC,SAAQ,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC;IAC5D,KAAK,+CAAsB;IAC3B,KAAK,kEAAgD;IAErD,UAAU,8EAGR;IAEO,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE;yCAbtC,+BAA+B;2CAA/B,+BAA+B;CAgB3C"}
@@ -20,6 +20,7 @@ export declare class SdSharedDataSelectListControl<TItem extends ISharedDataBase
20
20
  searchText: import("@angular/core").WritableSignal<string | undefined>;
21
21
  pageItemCount: import("@angular/core").InputSignal<number | undefined>;
22
22
  page: import("@angular/core").WritableSignal<number>;
23
+ private readonly _filteredItems;
23
24
  pageLength: import("@angular/core").Signal<number>;
24
25
  displayItems: import("@angular/core").Signal<TItem[]>;
25
26
  constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"sd-shared-data-select-list.control.d.ts","sourceRoot":"","sources":["../../../src/features/shared-data/sd-shared-data-select-list.control.ts"],"names":[],"mappings":"AACA,OAAO,EAWL,WAAW,EAGZ,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,qDAAqD,CAAC;AAE7D,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EACnB,MAAM,qDAAqD,CAAC;;AAU7D,qBA2Fa,6BAA6B,CACxC,KAAK,SAAS,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,EAC9C,MAAM,SAAS,cAAc,CAAC,GAAG,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IAEpD,YAAY,yDAAkB;IAC9B,WAAW,6CAAgB,KAAK,GAAG,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAEzE;IAEF,KAAK,+CAA6B;IAClC,YAAY,0DAAmB;IAC/B,YAAY,qEAAiD;IAC7D,QAAQ,8CAAgB,KAAK,SAAS,MAAM,KAAK,OAAO,eAAI;IAE5D,KAAK,8EAAuC;IAE5C,MAAM,0DAAmB;IAEzB,YAAY,gEAET;IACH,YAAY,gEAET;IACH,UAAU,0FAGR;IACF,eAAe,gEAEZ;IAEH,UAAU,6DAAyC;IAEnD,aAAa,0DAAmB;IAChC,IAAI,iDAAa;IACjB,UAAU,yCAMP;IAEH,YAAY,0CAmBT;;IAoBH,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI;IAIrC,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI;IAI/B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBzC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,waAAsB;yCApHhD,6BAA6B;2CAA7B,6BAA6B;CAqHzC"}
1
+ {"version":3,"file":"sd-shared-data-select-list.control.d.ts","sourceRoot":"","sources":["../../../src/features/shared-data/sd-shared-data-select-list.control.ts"],"names":[],"mappings":"AACA,OAAO,EAWL,WAAW,EAGZ,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,qDAAqD,CAAC;AAE7D,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EACnB,MAAM,qDAAqD,CAAC;;AAU7D,qBA2Fa,6BAA6B,CACxC,KAAK,SAAS,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,EAC9C,MAAM,SAAS,cAAc,CAAC,GAAG,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IAEpD,YAAY,yDAAkB;IAC9B,WAAW,6CAAgB,KAAK,GAAG,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAEzE;IAEF,KAAK,+CAA6B;IAClC,YAAY,0DAAmB;IAC/B,YAAY,qEAAiD;IAC7D,QAAQ,8CAAgB,KAAK,SAAS,MAAM,KAAK,OAAO,eAAI;IAE5D,KAAK,8EAAuC;IAE5C,MAAM,0DAAmB;IAEzB,YAAY,gEAET;IACH,YAAY,gEAET;IACH,UAAU,0FAGR;IACF,eAAe,gEAEZ;IAEH,UAAU,6DAAyC;IAEnD,aAAa,0DAAmB;IAChC,IAAI,iDAAa;IAEjB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAc5B;IAEH,UAAU,yCAMP;IAEH,YAAY,0CAST;;IAoBH,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI;IAIrC,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI;IAI/B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBzC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,waAAsB;yCA3HhD,6BAA6B;2CAA7B,6BAA6B;CA4HzC"}
@@ -1,6 +1,7 @@
1
1
  import { NgTemplateOutlet } from "@angular/common";
2
2
  import { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, effect, inject, input, model, signal, TemplateRef, untracked, ViewEncapsulation, } from "@angular/core";
3
3
  import { str } from "@simplysm/core-common";
4
+ import { matchesSearchText } from "./matchesSearchText";
4
5
  import { SdItemOfTemplateDirective, } from "../../core/directives/sd-item-of-template.directive";
5
6
  import { SdModalProvider } from "../../ui/overlay/modal/sd-modal.provider";
6
7
  import { setupModelHook } from "../../core/utils/setups/setupModelHook";
@@ -143,26 +144,30 @@ export class SdSharedDataSelectListControl {
143
144
  searchText = signal(undefined, ...(ngDevMode ? [{ debugName: "searchText" }] : /* istanbul ignore next */ []));
144
145
  pageItemCount = input(...(ngDevMode ? [undefined, { debugName: "pageItemCount" }] : /* istanbul ignore next */ []));
145
146
  page = signal(0, ...(ngDevMode ? [{ debugName: "page" }] : /* istanbul ignore next */ []));
147
+ _filteredItems = computed(() => {
148
+ let result = this.items().filter((item) => !item.__isHidden);
149
+ if (!str.isNullOrEmpty(this.searchText())) {
150
+ result = result.filter((item) => matchesSearchText(item.__searchText, this.searchText()));
151
+ }
152
+ if (this.filterFn() != null) {
153
+ result = result.filter((item, i) => this.filterFn()(item, i));
154
+ }
155
+ return result;
156
+ }, ...(ngDevMode ? [{ debugName: "_filteredItems" }] : /* istanbul ignore next */ []));
146
157
  pageLength = computed(() => {
147
158
  const pic = this.pageItemCount();
148
159
  if (pic != null && pic > 0) {
149
- return Math.ceil(this.items().length / pic);
160
+ return Math.ceil(this._filteredItems().length / pic);
150
161
  }
151
162
  return 0;
152
163
  }, ...(ngDevMode ? [{ debugName: "pageLength" }] : /* istanbul ignore next */ []));
153
164
  displayItems = computed(() => {
154
- let result = this.items().filter((item) => !item.__isHidden);
155
- if (!str.isNullOrEmpty(this.searchText())) {
156
- result = result.filter((item) => item.__searchText.includes(this.searchText()));
157
- }
158
- if (this.filterFn() != null) {
159
- result = result.filter((item, i) => this.filterFn()(item, i));
160
- }
165
+ const filtered = this._filteredItems();
161
166
  const pic = this.pageItemCount();
162
167
  if (pic != null && pic > 0) {
163
- result = result.slice(pic * this.page(), pic * (this.page() + 1));
168
+ return filtered.slice(pic * this.page(), pic * (this.page() + 1));
164
169
  }
165
- return result;
170
+ return filtered;
166
171
  }, ...(ngDevMode ? [{ debugName: "displayItems" }] : /* istanbul ignore next */ []));
167
172
  constructor() {
168
173
  setupModelHook(this.selectedItem, this.canChangeFn);
@@ -343,4 +348,4 @@ export class SdSharedDataSelectListControl {
343
348
  }, isSignal: true }] }], itemTplRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SdItemOfTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], undefinedTplRef: [{ type: i0.ContentChild, args: ["undefinedTpl", { ...{
344
349
  read: TemplateRef,
345
350
  }, isSignal: true }] }], pageItemCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageItemCount", required: false }] }] }); })();
346
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSharedDataSelectListControl, { className: "SdSharedDataSelectListControl", filePath: "packages/angular/src/features/shared-data/sd-shared-data-select-list.control.ts", lineNumber: 128, forbidOrphanRendering: true }); })();
351
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSharedDataSelectListControl, { className: "SdSharedDataSelectListControl", filePath: "packages/angular/src/features/shared-data/sd-shared-data-select-list.control.ts", lineNumber: 129, forbidOrphanRendering: true }); })();
@@ -33,11 +33,12 @@ export declare class SdSharedDataSelectControl<TItem extends ISharedDataBase<str
33
33
  hasParentKey: import("@angular/core").Signal<boolean>;
34
34
  itemByParentKeyMap: import("@angular/core").Signal<Map<TItem["__valueKey"] | undefined, TItem[]> | undefined>;
35
35
  rootDisplayItems: import("@angular/core").Signal<TItem[]>;
36
+ private readonly _searchTextMatchCache;
36
37
  selectedKeys: import("@angular/core").Signal<any[]>;
37
38
  constructor();
38
39
  getItemSelectable(item: TItem, _index: number, depth: number): boolean;
39
40
  getItemVisible(item: TItem, index: number): boolean;
40
- isIncludeSearchText(item: TItem, index: number): boolean;
41
+ isIncludeSearchText(item: TItem, _index: number): boolean;
41
42
  getChildren: (item: ISharedDataBase<string | number>) => TItem[];
42
43
  onUndefinedClick(): void;
43
44
  onModalButtonClick(event: MouseEvent): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"sd-shared-data-select.control.d.ts","sourceRoot":"","sources":["../../../src/features/shared-data/sd-shared-data-select.control.ts"],"names":[],"mappings":"AACA,OAAO,EAWL,WAAW,EAIZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAIhG,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,YAAY,EAClB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EACnB,MAAM,qDAAqD,CAAC;;AAI7D,qBAwGa,yBAAyB,CACpC,KAAK,SAAS,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,EAC9C,KAAK,SAAS,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAC3C,MAAM,SAAS,cAAc,CAAC,GAAG,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAE1D,KAAK,4GAAqE;IAE1E,KAAK,+CAA6B;IAElC,QAAQ,qEAAiD;IACzD,QAAQ,qEAAiD;IACzD,YAAY,qEAAiD;IAC7D,KAAK,qEAAiD;IACtD,MAAM,qEAAiD;IAEvD,IAAI,+DAAwB;IAC5B,UAAU,6CAA4B;IACtC,QAAQ,8CAAgB,KAAK,SAAS,MAAM,aAAa,GAAG,EAAE,KAAK,OAAO,eAAI;IAC9E,cAAc,yDAAkB;IAEhC,KAAK,8EAAuC;IAC5C,SAAS,uFAA4C;IAErD,WAAW,0DAAmB;IAC9B,8BAA8B,8DAAuB;IACrD,aAAa,6CAAgB,KAAK,SAAS,MAAM,KAAK,OAAO,EAE3D;IACF,eAAe,6CAAgB,KAAK,SAAS,MAAM,KAAK,MAAM,EAE5D;IACF,mBAAmB,0DAAmB;IAEtC,UAAU,0FAGR;IACF,eAAe,gEAEZ;IAEH,UAAU,6DAAyC;IAEnD,cAAc,0CAA+D;IAE7E,YAAY,0CAEV;IAEF,kBAAkB,4FAcf;IAEH,gBAAgB,0CAyBb;IAEH,YAAY,wCAKT;;IAaH,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAMtE,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAcnD,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IA4BxD,WAAW,GAAI,MAAM,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,KAAG,KAAK,EAAE,CAiB7D;IAEF,gBAAgB,IAAI,IAAI;IAIlB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBpD,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9D,SAAS,CAAC,QAAQ,CAAC,YAAY,yXAAgB;IAC/C,SAAS,CAAC,QAAQ,CAAC,UAAU,geAAc;yCA5NhC,yBAAyB;2CAAzB,yBAAyB;CA6NrC"}
1
+ {"version":3,"file":"sd-shared-data-select.control.d.ts","sourceRoot":"","sources":["../../../src/features/shared-data/sd-shared-data-select.control.ts"],"names":[],"mappings":"AACA,OAAO,EAWL,WAAW,EAIZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAIhG,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,YAAY,EAClB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EACnB,MAAM,qDAAqD,CAAC;;AAK7D,qBAwGa,yBAAyB,CACpC,KAAK,SAAS,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,EAC9C,KAAK,SAAS,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAC3C,MAAM,SAAS,cAAc,CAAC,GAAG,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAE1D,KAAK,4GAAqE;IAE1E,KAAK,+CAA6B;IAElC,QAAQ,qEAAiD;IACzD,QAAQ,qEAAiD;IACzD,YAAY,qEAAiD;IAC7D,KAAK,qEAAiD;IACtD,MAAM,qEAAiD;IAEvD,IAAI,+DAAwB;IAC5B,UAAU,6CAA4B;IACtC,QAAQ,8CAAgB,KAAK,SAAS,MAAM,aAAa,GAAG,EAAE,KAAK,OAAO,eAAI;IAC9E,cAAc,yDAAkB;IAEhC,KAAK,8EAAuC;IAC5C,SAAS,uFAA4C;IAErD,WAAW,0DAAmB;IAC9B,8BAA8B,8DAAuB;IACrD,aAAa,6CAAgB,KAAK,SAAS,MAAM,KAAK,OAAO,EAE3D;IACF,eAAe,6CAAgB,KAAK,SAAS,MAAM,KAAK,MAAM,EAE5D;IACF,mBAAmB,0DAAmB;IAEtC,UAAU,0FAGR;IACF,eAAe,gEAEZ;IAEH,UAAU,6DAAyC;IAEnD,cAAc,0CAA+D;IAE7E,YAAY,0CAEV;IAEF,kBAAkB,4FAcf;IAEH,gBAAgB,0CAyBb;IAEH,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAsCnC;IAEH,YAAY,wCAKT;;IAgBH,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAMtE,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAcnD,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIzD,WAAW,GAAI,MAAM,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,KAAG,KAAK,EAAE,CAiB7D;IAEF,gBAAgB,IAAI,IAAI;IAIlB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBpD,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9D,SAAS,CAAC,QAAQ,CAAC,YAAY,yXAAgB;IAC/C,SAAS,CAAC,QAAQ,CAAC,UAAU,geAAc;yCA/OhC,yBAAyB;2CAAzB,yBAAyB;CAgPrC"}
@@ -8,6 +8,7 @@ import { SdItemOfTemplateDirective, } from "../../core/directives/sd-item-of-tem
8
8
  import { SdModalProvider, } from "../../ui/overlay/modal/sd-modal.provider";
9
9
  import { NgIcon } from "@ng-icons/core";
10
10
  import { tablerEdit, tablerSearch } from "@ng-icons/tabler-icons";
11
+ import { matchesSearchText } from "./matchesSearchText";
11
12
  import * as i0 from "@angular/core";
12
13
  const _c0 = ["undefinedTpl"];
13
14
  const _c1 = (a0, a1, a2, a3) => ({ $implicit: a0, item: a1, index: a2, depth: a3 });
@@ -168,6 +169,40 @@ export class SdSharedDataSelectControl {
168
169
  }
169
170
  return result;
170
171
  }, ...(ngDevMode ? [{ debugName: "rootDisplayItems" }] : /* istanbul ignore next */ []));
172
+ _searchTextMatchCache = computed(() => {
173
+ const cache = new Map();
174
+ const searchText = this.searchText();
175
+ const getSearchTextFn = this.getSearchTextFn();
176
+ const hasParent = this.hasParentKey();
177
+ const parentMap = this.itemByParentKeyMap();
178
+ const items = this.items();
179
+ const check = (item, index) => {
180
+ const key = item.__valueKey;
181
+ const cached = cache.get(key);
182
+ if (cached !== undefined)
183
+ return cached;
184
+ const itemText = getSearchTextFn(item, index);
185
+ if (matchesSearchText(itemText, searchText)) {
186
+ cache.set(key, true);
187
+ return true;
188
+ }
189
+ if (hasParent && parentMap != null) {
190
+ const children = parentMap.get(key) ?? [];
191
+ for (let i = 0; i < children.length; i++) {
192
+ if (check(children[i], i)) {
193
+ cache.set(key, true);
194
+ return true;
195
+ }
196
+ }
197
+ }
198
+ cache.set(key, false);
199
+ return false;
200
+ };
201
+ for (let i = 0; i < items.length; i++) {
202
+ check(items[i], i);
203
+ }
204
+ return cache;
205
+ }, ...(ngDevMode ? [{ debugName: "_searchTextMatchCache" }] : /* istanbul ignore next */ []));
171
206
  selectedKeys = computed(() => {
172
207
  const val = this.value();
173
208
  if (val == null)
@@ -177,13 +212,15 @@ export class SdSharedDataSelectControl {
177
212
  return [val];
178
213
  }, ...(ngDevMode ? [{ debugName: "selectedKeys" }] : /* istanbul ignore next */ []));
179
214
  constructor() {
180
- // 드롭다운 닫힘 시 검색어 초기화
215
+ // 드롭다운 닫힘 시 검색어 초기화 (open → closed 전환 시에만)
216
+ let prevOpen = false;
181
217
  effect(() => {
182
218
  const ctrl = this._selectCtrl();
183
- if (ctrl != null) {
184
- ctrl.dropdownOpen();
219
+ const currentOpen = ctrl != null ? ctrl.dropdownOpen() : false;
220
+ if (prevOpen && !currentOpen) {
221
+ untracked(() => this.searchText.set(undefined));
185
222
  }
186
- untracked(() => this.searchText.set(undefined));
223
+ prevOpen = currentOpen;
187
224
  });
188
225
  }
189
226
  getItemSelectable(item, _index, depth) {
@@ -205,30 +242,8 @@ export class SdSharedDataSelectControl {
205
242
  return true;
206
243
  return false;
207
244
  }
208
- isIncludeSearchText(item, index) {
209
- const splitSearchTexts = this.searchText()
210
- ?.trim()
211
- .split(" ")
212
- .map((t) => t.trim())
213
- .filter((t) => t !== "") ?? [];
214
- if (splitSearchTexts.length === 0)
215
- return true;
216
- const itemText = this.getSearchTextFn()(item, index);
217
- for (const term of splitSearchTexts) {
218
- if (!itemText.toLowerCase().includes(term.toLowerCase())) {
219
- // 트리 구조에서 자식 중 매칭 항목 확인
220
- if (this.hasParentKey()) {
221
- const children = this.getChildren(item);
222
- for (let i = 0; i < children.length; i++) {
223
- if (this.isIncludeSearchText(children[i], i)) {
224
- return true;
225
- }
226
- }
227
- }
228
- return false;
229
- }
230
- }
231
- return true;
245
+ isIncludeSearchText(item, _index) {
246
+ return this._searchTextMatchCache().get(item.__valueKey) ?? false;
232
247
  }
233
248
  getChildren = (item) => {
234
249
  let result = this.itemByParentKeyMap()?.get(item.__valueKey) ??
@@ -422,4 +437,4 @@ export class SdSharedDataSelectControl {
422
437
  }], () => [], { _selectCtrl: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SdSelectControl), { isSignal: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], useUndefined: [{ type: i0.Input, args: [{ isSignal: true, alias: "useUndefined", required: false }] }], inset: [{ type: i0.Input, args: [{ isSignal: true, alias: "inset", required: false }] }], inline: [{ type: i0.Input, args: [{ isSignal: true, alias: "inline", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], selectMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectMode", required: false }] }], filterFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterFn", required: false }] }], filterFnParams: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterFnParams", required: false }] }], modal: [{ type: i0.Input, args: [{ isSignal: true, alias: "modal", required: false }] }], editModal: [{ type: i0.Input, args: [{ isSignal: true, alias: "editModal", required: false }] }], selectClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectClass", required: false }] }], multiSelectionDisplayDirection: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiSelectionDisplayDirection", required: false }] }], getIsHiddenFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getIsHiddenFn", required: false }] }], getSearchTextFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getSearchTextFn", required: false }] }], displayOrderKeyProp: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayOrderKeyProp", required: false }] }], itemTplRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SdItemOfTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], undefinedTplRef: [{ type: i0.ContentChild, args: ["undefinedTpl", { ...{
423
438
  read: TemplateRef,
424
439
  }, isSignal: true }] }] }); })();
425
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSharedDataSelectControl, { className: "SdSharedDataSelectControl", filePath: "packages/angular/src/features/shared-data/sd-shared-data-select.control.ts", lineNumber: 143, forbidOrphanRendering: true }); })();
440
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSharedDataSelectControl, { className: "SdSharedDataSelectControl", filePath: "packages/angular/src/features/shared-data/sd-shared-data-select.control.ts", lineNumber: 144, forbidOrphanRendering: true }); })();
package/dist/index.d.ts CHANGED
@@ -43,6 +43,7 @@ export { setupCloserWhenSingleSelectionChange } from "./core/utils/setups/setupC
43
43
  export { useExpandingManager, type IExpandItemDef, } from "./core/utils/useExpandingManager";
44
44
  export { useSelectionManager } from "./core/utils/useSelectionManager";
45
45
  export { injectParent } from "./core/utils/injectParent";
46
+ export { withBusy } from "./core/utils/withBusy";
46
47
  export { SdAddressSearchModal, type IAddress, } from "./features/address/sd-address-search.modal";
47
48
  export { SdPermissionTableControl } from "./features/permission-table/sd-permission-table.control";
48
49
  export { SdBaseContainerControl } from "./features/base/sd-base-container.control";
@@ -92,18 +93,18 @@ export { SdTabviewItemControl } from "./ui/navigation/tab/sd-tabview-item.contro
92
93
  export { SdPaginationControl } from "./ui/navigation/pagination/sd-pagination.control";
93
94
  export { SdSidebarContainerControl } from "./ui/navigation/sidebar/sd-sidebar-container.control";
94
95
  export { SdSidebarControl } from "./ui/navigation/sidebar/sd-sidebar.control";
95
- export { SdSidebarMenuControl, type ISdSidebarMenu, } from "./ui/navigation/sidebar/sd-sidebar-menu.control";
96
+ export { SdSidebarMenuControl } from "./ui/navigation/sidebar/sd-sidebar-menu.control";
96
97
  export { SdSidebarUserControl, type ISidebarUserMenu, } from "./ui/navigation/sidebar/sd-sidebar-user.control";
97
98
  export { SdTopbarContainerControl } from "./ui/navigation/topbar/sd-topbar-container.control";
98
99
  export { SdTopbarControl } from "./ui/navigation/topbar/sd-topbar.control";
99
- export { SdTopbarMenuControl, type ISdTopbarMenu, } from "./ui/navigation/topbar/sd-topbar-menu.control";
100
+ export { SdTopbarMenuControl } from "./ui/navigation/topbar/sd-topbar-menu.control";
100
101
  export { SdTopbarUserControl, type ISdTopbarUserMenu, } from "./ui/navigation/topbar/sd-topbar-user.control";
101
102
  export { SdListControl } from "./ui/data/list/sd-list.control";
102
103
  export { SdListItemControl } from "./ui/data/list/sd-list-item.control";
103
104
  export { SdSheetControl } from "./ui/data/sheet/sd-sheet.control";
104
105
  export { SdSheetColumnDirective } from "./ui/data/sheet/sd-sheet-column.directive";
105
106
  export { SdSheetConfigModal } from "./ui/data/sheet/sd-sheet-config.modal";
106
- export type { ISdSheetColumnDef, ISdSheetConfig, ISdSheetHeaderDef, ISdSheetItemKeydownEventParam, } from "./ui/data/sheet/types";
107
+ export type { ISdSheetColumnDef, ISdSheetConfig, ISdSheetHeaderDef, ISdSheetItemKeydownEventParam, ISdSheetCellKeydownEventParam, } from "./ui/data/sheet/types";
107
108
  export { SdLabelControl } from "./ui/visual/sd-label.control";
108
109
  export { SdNoteControl } from "./ui/visual/sd-note.control";
109
110
  export { SdProgressControl } from "./ui/visual/sd-progress.control";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -43,6 +43,7 @@ export { setupCloserWhenSingleSelectionChange } from "./core/utils/setups/setupC
43
43
  export { useExpandingManager, } from "./core/utils/useExpandingManager";
44
44
  export { useSelectionManager } from "./core/utils/useSelectionManager";
45
45
  export { injectParent } from "./core/utils/injectParent";
46
+ export { withBusy } from "./core/utils/withBusy";
46
47
  // features/address
47
48
  export { SdAddressSearchModal, } from "./features/address/sd-address-search.modal";
48
49
  // features/permission-table
@@ -108,12 +109,12 @@ export { SdPaginationControl } from "./ui/navigation/pagination/sd-pagination.co
108
109
  // ui/navigation/sidebar
109
110
  export { SdSidebarContainerControl } from "./ui/navigation/sidebar/sd-sidebar-container.control";
110
111
  export { SdSidebarControl } from "./ui/navigation/sidebar/sd-sidebar.control";
111
- export { SdSidebarMenuControl, } from "./ui/navigation/sidebar/sd-sidebar-menu.control";
112
+ export { SdSidebarMenuControl } from "./ui/navigation/sidebar/sd-sidebar-menu.control";
112
113
  export { SdSidebarUserControl, } from "./ui/navigation/sidebar/sd-sidebar-user.control";
113
114
  // ui/navigation/topbar
114
115
  export { SdTopbarContainerControl } from "./ui/navigation/topbar/sd-topbar-container.control";
115
116
  export { SdTopbarControl } from "./ui/navigation/topbar/sd-topbar.control";
116
- export { SdTopbarMenuControl, } from "./ui/navigation/topbar/sd-topbar-menu.control";
117
+ export { SdTopbarMenuControl } from "./ui/navigation/topbar/sd-topbar-menu.control";
117
118
  export { SdTopbarUserControl, } from "./ui/navigation/topbar/sd-topbar-user.control";
118
119
  // ui/data/list
119
120
  export { SdListControl } from "./ui/data/list/sd-list.control";
@@ -1,6 +1,6 @@
1
1
  import { SdSheetColumnDirective } from "./sd-sheet-column.directive";
2
2
  import { type ISortingDef } from "../../../core/utils/useSortingManager";
3
- import type { ISdSheetColumnDef, ISdSheetHeaderDef, ISdSheetItemKeydownEventParam } from "./types";
3
+ import type { ISdSheetColumnDef, ISdSheetCellKeydownEventParam, ISdSheetHeaderDef, ISdSheetItemKeydownEventParam } from "./types";
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class SdSheetControl<T> {
6
6
  key: import("@angular/core").InputSignal<string | undefined>;
@@ -21,7 +21,7 @@ export declare class SdSheetControl<T> {
21
21
  getItemCellStyleFn: import("@angular/core").InputSignal<((item: T, colKey: string) => string | undefined) | undefined>;
22
22
  hideConfigBar: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
23
23
  itemKeydown: import("@angular/core").OutputEmitterRef<ISdSheetItemKeydownEventParam<T>>;
24
- cellKeydown: import("@angular/core").OutputEmitterRef<ISdSheetItemKeydownEventParam<T>>;
24
+ cellKeydown: import("@angular/core").OutputEmitterRef<ISdSheetCellKeydownEventParam<T>>;
25
25
  selectedItems: import("@angular/core").ModelSignal<T[]>;
26
26
  expandedItems: import("@angular/core").ModelSignal<T[]>;
27
27
  sorts: import("@angular/core").ModelSignal<ISortingDef[]>;
@@ -117,6 +117,8 @@ export declare class SdSheetControl<T> {
117
117
  private readonly _columnControlMap;
118
118
  getColumnCellTpl(key: string): import("@angular/core").TemplateRef<import("./sd-sheet-column.directive").SdSheetCellContext> | null;
119
119
  getColumnSummaryTpl(key: string): import("@angular/core").TemplateRef<void> | null;
120
+ private readonly _headerColumnStyles;
121
+ private readonly _dataColumnBaseStyles;
120
122
  getHeaderCellStyle(cell: ISdSheetHeaderDef): string | null;
121
123
  getCellStyle(item: T, colDef: ISdSheetColumnDef): string | null;
122
124
  getFixedCellStyle(colDef: ISdSheetColumnDef): string | null;
@@ -132,6 +134,7 @@ export declare class SdSheetControl<T> {
132
134
  } | null;
133
135
  getCellStyleWithIndent(item: T, colDef: ISdSheetColumnDef, colIdx: number): string | null;
134
136
  getItemDef(item: T): import("../../..").IExpandItemDef<T>;
137
+ private readonly _expandedSet;
135
138
  isExpanded(item: T): boolean;
136
139
  getAriaExpanded(item: T): string | null;
137
140
  onExpandClick(event: Event, item: T): void;
@@ -1 +1 @@
1
- {"version":3,"file":"sd-sheet.control.d.ts","sourceRoot":"","sources":["../../../../src/ui/data/sheet/sd-sheet.control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sd-sheet.control.d.ts","sourceRoot":"","sources":["../../../../src/ui/data/sheet/sd-sheet.control.ts"],"names":[],"mappings":"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"}