@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
@@ -8,11 +8,15 @@ export function injectParent(type, options) {
8
8
  break;
9
9
  }
10
10
  const comp = lView[8];
11
- if (type == null) {
12
- return comp;
13
- }
14
- if (comp instanceof type) {
15
- return comp;
11
+ // 컴포넌트 인스턴스 검증: null, primitive, plain object({}) 건너뜀
12
+ // Angular 내부 슬롯 변경 시 잘못된 객체 반환을 방지하는 방어 코드
13
+ if (comp != null && typeof comp === "object" && comp.constructor !== Object) {
14
+ if (type == null) {
15
+ return comp;
16
+ }
17
+ if (comp instanceof type) {
18
+ return comp;
19
+ }
16
20
  }
17
21
  currentInjector = currentInjector.get(Injector, undefined, {
18
22
  skipSelf: true,
@@ -1 +1 @@
1
- {"version":3,"file":"setupModelHook.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/setups/setupModelHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAEvF,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,EAC3D,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GACrD,IAAI,CAuBN"}
1
+ {"version":3,"file":"setupModelHook.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/setups/setupModelHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAEvF,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,EAC3D,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GACrD,IAAI,CA4BN"}
@@ -1,7 +1,7 @@
1
1
  import { ErrorHandler, inject } from "@angular/core";
2
2
  export function setupModelHook(model, canFn) {
3
3
  const errorHandler = inject(ErrorHandler);
4
- const orgSet = model.set;
4
+ const orgSet = model.set.bind(model);
5
5
  model.set = (value) => {
6
6
  const canSet = canFn()(value);
7
7
  if (canSet === false) {
@@ -19,4 +19,7 @@ export function setupModelHook(model, canFn) {
19
19
  errorHandler.handleError(err);
20
20
  });
21
21
  };
22
+ model.update = (fn) => {
23
+ model.set(fn(model()));
24
+ };
22
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setupRevealOnShow.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/setups/setupRevealOnShow.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAC/B,KAAK,CAAC,EAAE,MAAM;IACZ,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,IAAI,CA0CN"}
1
+ {"version":3,"file":"setupRevealOnShow.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/setups/setupRevealOnShow.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAC/B,KAAK,CAAC,EAAE,MAAM;IACZ,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,IAAI,CA2CN"}
@@ -1,9 +1,10 @@
1
- import { effect, ElementRef, inject, untracked } from "@angular/core";
1
+ import { computed, effect, ElementRef, inject, untracked } from "@angular/core";
2
2
  export function setupRevealOnShow(optFn) {
3
3
  const elRef = inject(ElementRef);
4
+ const resolvedType = computed(() => optFn?.().type ?? "t2b", ...(ngDevMode ? [{ debugName: "resolvedType" }] : /* istanbul ignore next */ []));
4
5
  effect((onCleanup) => {
5
6
  const el = elRef.nativeElement;
6
- const type = untracked(() => optFn?.().type ?? "t2b");
7
+ const type = resolvedType();
7
8
  Object.assign(el.style, {
8
9
  opacity: "0",
9
10
  transform: type === "t2b" ? "translateY(-1em)" : "translateX(-1em)",
@@ -1 +1 @@
1
- {"version":3,"file":"useExpandingManager.d.ts","sourceRoot":"","sources":["../../../src/core/utils/useExpandingManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,uBAAuB,CAAC;AAE/B,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACzC,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE;IAC9C,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACnB,aAAa,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC;IACjF,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;CAC3B,GAAG;IACF,YAAY,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,SAAS,IAAI,IAAI,CAAC;IAClB,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;IAC5B,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;CACjC,CA8FA"}
1
+ {"version":3,"file":"useExpandingManager.d.ts","sourceRoot":"","sources":["../../../src/core/utils/useExpandingManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,uBAAuB,CAAC;AAE/B,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACzC,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE;IAC9C,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACnB,aAAa,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC;IACjF,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;CAC3B,GAAG;IACF,YAAY,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,SAAS,IAAI,IAAI,CAAC;IAClB,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;IAC5B,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;CACjC,CAgGA"}
@@ -23,11 +23,12 @@ export function useExpandingManager(binding) {
23
23
  const displayItems = computed(() => allDefs().map((d) => d.item), ...(ngDevMode ? [{ debugName: "displayItems" }] : /* istanbul ignore next */ []));
24
24
  const expandableDefs = computed(() => allDefs().filter((d) => d.hasChildren), ...(ngDevMode ? [{ debugName: "expandableDefs" }] : /* istanbul ignore next */ []));
25
25
  const hasExpandable = computed(() => expandableDefs().length > 0, ...(ngDevMode ? [{ debugName: "hasExpandable" }] : /* istanbul ignore next */ []));
26
+ const _expandedSet = computed(() => new Set(binding.expandedItems()), ...(ngDevMode ? [{ debugName: "_expandedSet" }] : /* istanbul ignore next */ []));
26
27
  const isAllExpanded = computed(() => {
27
28
  const expandable = expandableDefs();
28
29
  if (expandable.length === 0)
29
30
  return false;
30
- const expandedSet = new Set(binding.expandedItems());
31
+ const expandedSet = _expandedSet();
31
32
  return expandable.every((d) => expandedSet.has(d.item));
32
33
  }, ...(ngDevMode ? [{ debugName: "isAllExpanded" }] : /* istanbul ignore next */ []));
33
34
  const defMap = computed(() => {
@@ -57,7 +58,7 @@ export function useExpandingManager(binding) {
57
58
  const itemDef = map.get(item);
58
59
  if (itemDef == null)
59
60
  return false;
60
- const expandedSet = new Set(binding.expandedItems());
61
+ const expandedSet = _expandedSet();
61
62
  let current = itemDef.parentDef;
62
63
  while (current != null) {
63
64
  if (!expandedSet.has(current.item)) {
@@ -7,7 +7,7 @@ export declare function useSdSystemConfigResource<T>(options: {
7
7
  status: Signal<import("@angular/core").ResourceStatus>;
8
8
  hasValue: () => boolean;
9
9
  reload: () => boolean;
10
- set(value: T | undefined): void;
10
+ set: (value: T | undefined) => void;
11
11
  update(fn: (prev: T | undefined) => T | undefined): void;
12
12
  };
13
13
  //# sourceMappingURL=useSdSystemConfigResource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSdSystemConfigResource.d.ts","sourceRoot":"","sources":["../../../src/core/utils/useSdSystemConfigResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAG1G,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CAAE;;;;;;eAoB1E,CAAC,GAAG,SAAS;eAUb,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,GAAG,SAAS;EAKpD"}
1
+ {"version":3,"file":"useSdSystemConfigResource.d.ts","sourceRoot":"","sources":["../../../src/core/utils/useSdSystemConfigResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAG1G,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CAAE;;;;;;iBAcnE,CAAC,GAAG,SAAS;eAkBpB,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,GAAG,SAAS;EAKpD"}
@@ -9,26 +9,27 @@ export function useSdSystemConfigResource(options) {
9
9
  loader: async ({ params: key }) => {
10
10
  return (await sdSystemConfig.getAsync(`${elTag}.${key}`));
11
11
  } });
12
+ function set(value) {
13
+ res.set(value);
14
+ const key = options.key();
15
+ if (key == null)
16
+ return;
17
+ queueMicrotask(() => {
18
+ sdSystemConfig.setAsync(`${elTag}.${key}`, value).catch((err) => {
19
+ errorHandler.handleError(err);
20
+ });
21
+ });
22
+ }
12
23
  return {
13
24
  value: res.value,
14
25
  isLoading: res.isLoading,
15
26
  status: res.status,
16
27
  hasValue: () => res.hasValue(),
17
28
  reload: () => res.reload(),
18
- set(value) {
19
- res.set(value);
20
- const key = options.key();
21
- if (key == null)
22
- return;
23
- queueMicrotask(() => {
24
- sdSystemConfig.setAsync(`${elTag}.${key}`, value).catch((err) => {
25
- errorHandler.handleError(err);
26
- });
27
- });
28
- },
29
+ set,
29
30
  update(fn) {
30
31
  const newValue = fn(res.value());
31
- this.set(newValue);
32
+ set(newValue);
32
33
  },
33
34
  };
34
35
  }
@@ -0,0 +1,3 @@
1
+ import type { WritableSignal } from "@angular/core";
2
+ export declare function withBusy(busyCount: WritableSignal<number>, fn: () => Promise<void>): Promise<void>;
3
+ //# sourceMappingURL=withBusy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withBusy.d.ts","sourceRoot":"","sources":["../../../src/core/utils/withBusy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,EACjC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACtB,OAAO,CAAC,IAAI,CAAC,CAOf"}
@@ -0,0 +1,9 @@
1
+ export async function withBusy(busyCount, fn) {
2
+ busyCount.update((v) => v + 1);
3
+ try {
4
+ await fn();
5
+ }
6
+ finally {
7
+ busyCount.update((v) => v - 1);
8
+ }
9
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"sd-address-search.modal.d.ts","sourceRoot":"","sources":["../../../src/features/address/sd-address-search.modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAKX,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;;AAwBzE,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,qBAYa,oBAAqB,YAAW,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM;IACrE,YAAY,0DAET;IAEH,KAAK,qDAAsB;IAE3B,WAAW,kDAAiB;IAE5B,QAAQ;YAIM,SAAS;yCAbZ,oBAAoB;2CAApB,oBAAoB;CAiEhC"}
1
+ {"version":3,"file":"sd-address-search.modal.d.ts","sourceRoot":"","sources":["../../../src/features/address/sd-address-search.modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAKX,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;;AAwBzE,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,qBAYa,oBAAqB,YAAW,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM;IACrE,YAAY,0DAET;IAEH,KAAK,qDAAsB;IAE3B,WAAW,kDAAiB;IAE5B,QAAQ;YAIM,SAAS;yCAbZ,oBAAoB;2CAApB,oBAAoB;CAoEhC"}
@@ -13,7 +13,7 @@ export class SdAddressSearchModal {
13
13
  }
14
14
  async initAsync() {
15
15
  if (!document.getElementById("daum_address")) {
16
- await new Promise((resolve) => {
16
+ await new Promise((resolve, reject) => {
17
17
  const scriptEl = document.createElement("script");
18
18
  scriptEl.src = "//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js";
19
19
  scriptEl.setAttribute("id", "daum_address");
@@ -22,6 +22,9 @@ export class SdAddressSearchModal {
22
22
  resolve();
23
23
  });
24
24
  };
25
+ scriptEl.onerror = () => {
26
+ reject(new Error("주소 검색 스크립트를 불러올 수 없습니다."));
27
+ };
25
28
  document.head.appendChild(scriptEl);
26
29
  });
27
30
  }
@@ -31,7 +34,7 @@ export class SdAddressSearchModal {
31
34
  const addr = data.userSelectedType === "R" ? data.roadAddress : data.jibunAddress;
32
35
  let extraAddr = "";
33
36
  if (data.userSelectedType === "R") {
34
- if (data.bname !== "" && /[동로가]$/g.test(data.bname)) {
37
+ if (data.bname !== "" && /[동로가]$/.test(data.bname)) {
35
38
  extraAddr += data.bname;
36
39
  }
37
40
  if (data.buildingName !== "" && data.apartment === "Y") {
@@ -1 +1 @@
1
- {"version":3,"file":"sd-data-detail.control.d.ts","sourceRoot":"","sources":["../../../src/features/data-view/sd-data-detail.control.ts"],"names":[],"mappings":"AACA,OAAO,EASL,KAAK,MAAM,EACX,WAAW,EAGZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAO,MAAM,uBAAuB,CAAC;AAStD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,0CAA0C,CAAC;;AAazE,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,QAAQ,GAAG,SAAS,CAAC;IACrC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAMD,8BACsB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,GAAG,OAAO,CACjE,YAAW,QAAQ,CAAC,CAAC,CAAC;IAItB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAE5B,oBAAoB,CAAC,IAAI,IAAI;IAE7B,QAAQ,CAAC,IAAI,IACT,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,qBAAqB,CAAA;KAAE,CAAC,GACjD;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,qBAAqB,CAAA;KAAE;IAE5C,YAAY,CAAC,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS;IAEnE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS;IAIxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAE9D,QAAQ,sCAAiC;IAEzC,SAAS,iDAAa;IACtB,WAAW,6DAAyC;IACpD,WAAW,kDAAiB;IAC5B,KAAK,8CAAe;IACpB,YAAY,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAEhC,IAAI,4CAAsB;IAE1B,QAAQ,4EAAwD;IAEhE,OAAO,CAAC,aAAa,CAAC,CAAI;;IAyB1B,kBAAkB;IAQZ,SAAS;IAYT,OAAO;IASP,cAAc,CAAC,GAAG,EAAE,OAAO;IAqB3B,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE;IAgC3E,OAAO,CAAC,gCAAgC;yCA/IpB,eAAe;2CAAf,eAAe;CAyJpC;AAMD,qBA6Ja,mBAAmB;IAC9B,MAAM,gCAAwC;IAE9C,QAAQ,oCAAwC;IAEhD,UAAU,uCAAkD;IAC5D,UAAU,uCAAkD;IAC5D,aAAa,2BAA8D;IAC3E,UAAU,uCAAkD;IAE5D,iBAAiB,uCAAsD;;IAQjE,oBAAoB;IAIpB,mBAAmB;IAInB,oBAAoB;IAI1B,mBAAmB;IAIb,QAAQ;IAId,SAAS,CAAC,QAAQ,CAAC,KAAK;;;;;MAKtB;yCA3CS,mBAAmB;2CAAnB,mBAAmB;CA4C/B"}
1
+ {"version":3,"file":"sd-data-detail.control.d.ts","sourceRoot":"","sources":["../../../src/features/data-view/sd-data-detail.control.ts"],"names":[],"mappings":"AACA,OAAO,EASL,KAAK,MAAM,EACX,WAAW,EAGZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAO,MAAM,uBAAuB,CAAC;AAUtD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,0CAA0C,CAAC;;AAazE,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,QAAQ,GAAG,SAAS,CAAC;IACrC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAMD,8BACsB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,GAAG,OAAO,CACjE,YAAW,QAAQ,CAAC,CAAC,CAAC;IAItB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAE5B,oBAAoB,CAAC,IAAI,IAAI;IAE7B,QAAQ,CAAC,IAAI,IACT,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,qBAAqB,CAAA;KAAE,CAAC,GACjD;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,qBAAqB,CAAA;KAAE;IAE5C,YAAY,CAAC,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS;IAEnE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS;IAIxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAE9D,QAAQ,sCAAiC;IAEzC,SAAS,iDAAa;IACtB,WAAW,6DAAyC;IACpD,WAAW,kDAAiB;IAC5B,KAAK,8CAAe;IACpB,YAAY,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAEhC,IAAI,4CAAsB;IAE1B,QAAQ,4EAAwD;IAEhE,OAAO,CAAC,aAAa,CAAC,CAAI;;IAyB1B,kBAAkB;IAQZ,SAAS;IAYT,OAAO;IASP,cAAc,CAAC,GAAG,EAAE,OAAO;IAqB3B,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE;IAmC3E,OAAO,CAAC,gCAAgC;yCAlJpB,eAAe;2CAAf,eAAe;CA4JpC;AAMD,qBA6Ja,mBAAmB;IAC9B,MAAM,gCAAwC;IAE9C,QAAQ,oCAAwC;IAEhD,UAAU,uCAAkD;IAC5D,UAAU,uCAAkD;IAC5D,aAAa,2BAA8D;IAC3E,UAAU,uCAAkD;IAE5D,iBAAiB,uCAAsD;;IAQjE,oBAAoB;IAIpB,mBAAmB;IAInB,oBAAoB;IAI1B,mBAAmB;IAIb,QAAQ;IAId,SAAS,CAAC,QAAQ,CAAC,KAAK;;;;;MAKtB;yCA3CS,mBAAmB;2CAAnB,mBAAmB;CA4C/B"}
@@ -7,6 +7,7 @@ import { SdSharedDataProvider } from "../../core/providers/sd-shared-data.provid
7
7
  import { injectParent } from "../../core/utils/injectParent";
8
8
  import { setupCanDeactivate } from "../../core/utils/setups/setupCanDeactivate";
9
9
  import { useViewTypeSignal } from "../../core/utils/useViewTypeSignal";
10
+ import { withBusy } from "../../core/utils/withBusy";
10
11
  import { SdButtonControl } from "../../ui/form/button/sd-button.control";
11
12
  import { SdAnchorControl } from "../../ui/form/button/sd-anchor.control";
12
13
  import { SdFormControl } from "../../ui/form/sd-form.control";
@@ -294,12 +295,10 @@ export class AbsSdDataDetail {
294
295
  this.initialized.set(true);
295
296
  return;
296
297
  }
297
- this.busyCount.update((v) => v + 1);
298
- await this._sdToast.try(async () => {
298
+ await withBusy(this.busyCount, () => this._sdToast.try(async () => {
299
299
  await this._sdSharedData.wait();
300
300
  await this.refresh();
301
- });
302
- this.busyCount.update((v) => v - 1);
301
+ }));
303
302
  this.initialized.set(true);
304
303
  });
305
304
  });
@@ -317,11 +316,9 @@ export class AbsSdDataDetail {
317
316
  return;
318
317
  if (!this.checkIgnoreChanges())
319
318
  return;
320
- this.busyCount.update((v) => v + 1);
321
- await this._sdToast.try(async () => {
319
+ await withBusy(this.busyCount, () => this._sdToast.try(async () => {
322
320
  await this.refresh();
323
- });
324
- this.busyCount.update((v) => v - 1);
321
+ }));
325
322
  }
326
323
  async refresh() {
327
324
  const result = await this.load();
@@ -340,15 +337,13 @@ export class AbsSdDataDetail {
340
337
  return;
341
338
  if (!this.toggleDelete)
342
339
  return;
343
- this.busyCount.update((v) => v + 1);
344
- await this._sdToast.try(async () => {
340
+ await withBusy(this.busyCount, () => this._sdToast.try(async () => {
345
341
  const result = await this.toggleDelete(del);
346
342
  if (!result)
347
343
  return;
348
344
  this._sdToast.success(`${del ? "삭제" : "복구"}되었습니다.`);
349
345
  this.close.emit(result);
350
- }, (err) => this._getOrmDataEditToastErrorMessage(err));
351
- this.busyCount.update((v) => v - 1);
346
+ }, (err) => this._getOrmDataEditToastErrorMessage(err)));
352
347
  }
353
348
  async doSubmit(opt) {
354
349
  if (this.busyCount() > 0)
@@ -357,23 +352,24 @@ export class AbsSdDataDetail {
357
352
  return;
358
353
  if (!this.submit)
359
354
  return;
360
- if (!this.dataInfo()?.isNew &&
355
+ const dataInfo = this.dataInfo();
356
+ if (dataInfo == null)
357
+ return;
358
+ if (!dataInfo.isNew &&
361
359
  (this._dataSnapshot == null || obj.equal(this.data(), this._dataSnapshot))) {
362
360
  if (!opt?.hideNoChangeMessage) {
363
361
  this._sdToast.info("변경사항이 없습니다.");
364
362
  }
365
363
  return;
366
364
  }
367
- this.busyCount.update((v) => v + 1);
368
- await this._sdToast.try(async () => {
365
+ await withBusy(this.busyCount, () => this._sdToast.try(async () => {
369
366
  const result = await this.submit(this.data());
370
367
  if (!result)
371
368
  return;
372
369
  this._sdToast.success("저장되었습니다.");
373
370
  this.close.emit(result);
374
371
  await this.refresh();
375
- }, (err) => this._getOrmDataEditToastErrorMessage(err));
376
- this.busyCount.update((v) => v - 1);
372
+ }, (err) => this._getOrmDataEditToastErrorMessage(err)));
377
373
  }
378
374
  _getOrmDataEditToastErrorMessage(err) {
379
375
  const message = err instanceof Error ? err.message : String(err);
@@ -614,4 +610,4 @@ export class SdDataDetailControl {
614
610
  `,
615
611
  }]
616
612
  }], () => [], { formCtrl: [{ type: i0.ViewChild, args: ["formCtrl", { isSignal: true }] }], toolTplRef: [{ type: i0.ContentChild, args: ["toolTpl", { ...{ read: TemplateRef }, isSignal: true }] }], prevTplRef: [{ type: i0.ContentChild, args: ["prevTpl", { ...{ read: TemplateRef }, isSignal: true }] }], contentTplRef: [{ type: i0.ContentChild, args: ["contentTpl", { ...{ read: TemplateRef }, isSignal: true }] }], nextTplRef: [{ type: i0.ContentChild, args: ["nextTpl", { ...{ read: TemplateRef }, isSignal: true }] }], modalActionTplRef: [{ type: i0.ViewChild, args: ["modalActionTpl", { ...{ read: TemplateRef }, isSignal: true }] }] }); })();
617
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdDataDetailControl, { className: "SdDataDetailControl", filePath: "packages/angular/src/features/data-view/sd-data-detail.control.ts", lineNumber: 367, forbidOrphanRendering: true }); })();
613
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdDataDetailControl, { className: "SdDataDetailControl", filePath: "packages/angular/src/features/data-view/sd-data-detail.control.ts", lineNumber: 371, forbidOrphanRendering: true }); })();
@@ -1 +1 @@
1
- {"version":3,"file":"sd-data-sheet.control.d.ts","sourceRoot":"","sources":["../../../src/features/data-view/sd-data-sheet.control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sd-data-sheet.control.d.ts","sourceRoot":"","sources":["../../../src/features/data-view/sd-data-sheet.control.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { setupCumulateSelectedKeys } from "../../core/utils/setups/setupCumulate
13
13
  import { setupCloserWhenSingleSelectionChange } from "../../core/utils/setups/setupCloserWhenSingleSelectionChange";
14
14
  import { setupCanDeactivate } from "../../core/utils/setups/setupCanDeactivate";
15
15
  import { injectParent } from "../../core/utils/injectParent";
16
+ import { withBusy } from "../../core/utils/withBusy";
16
17
  import { FormatPipe } from "../../core/pipes/format.pipe";
17
18
  import { TXT_CHANGE_IGNORE_CONFIRM } from "../../core/commons";
18
19
  import { SdBaseContainerControl } from "../base/sd-base-container.control";
@@ -548,22 +549,26 @@ export class AbsSdDataSheet {
548
549
  this.filter.set(filter);
549
550
  this.lastFilter.set(obj.clone(filter));
550
551
  });
551
- effect(() => {
552
+ effect((onCleanup) => {
552
553
  this.page();
553
554
  this.lastFilter();
554
555
  this.sortingDefs();
555
556
  this.prepareRefreshEffect?.();
557
+ let cancelled = false;
558
+ onCleanup(() => {
559
+ cancelled = true;
560
+ });
556
561
  queueMicrotask(async () => {
562
+ if (cancelled)
563
+ return;
557
564
  if (!this.canUse()) {
558
565
  this.initialized.set(true);
559
566
  return;
560
567
  }
561
- this.busyCount.update((v) => v + 1);
562
- await this._sdToast.try(async () => {
568
+ await withBusy(this.busyCount, () => this._sdToast.try(async () => {
563
569
  await this._sdSharedData.wait();
564
570
  await this.refresh();
565
- });
566
- this.busyCount.update((v) => v - 1);
571
+ }));
567
572
  this.initialized.set(true);
568
573
  });
569
574
  });
@@ -605,12 +610,10 @@ export class AbsSdDataSheet {
605
610
  async doAddItem() {
606
611
  if (!this.newItem)
607
612
  return;
608
- this.busyCount.update((v) => v + 1);
609
- await this._sdToast.try(async () => {
613
+ await withBusy(this.busyCount, () => this._sdToast.try(async () => {
610
614
  const newItem = await this.newItem();
611
615
  this.items.update((items) => [newItem, ...items]);
612
- });
613
- this.busyCount.update((v) => v - 1);
616
+ }));
614
617
  }
615
618
  async doSubmit(opt) {
616
619
  if (this.busyCount() > 0)
@@ -626,16 +629,14 @@ export class AbsSdDataSheet {
626
629
  }
627
630
  return;
628
631
  }
629
- this.busyCount.update((v) => v + 1);
630
- await this._sdToast.try(async () => {
632
+ await withBusy(this.busyCount, () => this._sdToast.try(async () => {
631
633
  const result = await this.submit(diffs);
632
634
  if (!result)
633
635
  return;
634
636
  this._sdToast.success("저장되었습니다.");
635
637
  await this.refresh();
636
638
  this.submitted.emit(true);
637
- }, (err) => this._getOrmDataEditToastErrorMessage(err));
638
- this.busyCount.update((v) => v - 1);
639
+ }, (err) => this._getOrmDataEditToastErrorMessage(err)));
639
640
  }
640
641
  doToggleDeleteItem(item) {
641
642
  if (!this.canEdit())
@@ -656,37 +657,31 @@ export class AbsSdDataSheet {
656
657
  const result = await this.editItem(item);
657
658
  if (!result)
658
659
  return;
659
- this.busyCount.update((v) => v + 1);
660
- await this._sdToast.try(async () => {
660
+ await withBusy(this.busyCount, () => this._sdToast.try(async () => {
661
661
  await this.refresh();
662
- });
663
- this.busyCount.update((v) => v - 1);
662
+ }));
664
663
  }
665
664
  async doToggleDeleteItems(del) {
666
665
  if (!this.canEdit())
667
666
  return;
668
667
  if (!this.toggleDeleteItems)
669
668
  return;
670
- this.busyCount.update((v) => v + 1);
671
- await this._sdToast.try(async () => {
669
+ await withBusy(this.busyCount, () => this._sdToast.try(async () => {
672
670
  const result = await this.toggleDeleteItems(del);
673
671
  if (!result)
674
672
  return;
675
673
  await this.refresh();
676
674
  this._sdToast.success(`${del ? "삭제" : "복구"} 되었습니다.`);
677
- }, (err) => this._getOrmDataEditToastErrorMessage(err));
678
- this.busyCount.update((v) => v - 1);
675
+ }, (err) => this._getOrmDataEditToastErrorMessage(err)));
679
676
  }
680
677
  //-- excel
681
678
  async doDownloadExcel() {
682
679
  if (!this.downloadExcel)
683
680
  return;
684
- this.busyCount.update((v) => v + 1);
685
- await this._sdToast.try(async () => {
681
+ await withBusy(this.busyCount, () => this._sdToast.try(async () => {
686
682
  const items = (await this.search(false)).items;
687
683
  await this.downloadExcel(items);
688
- });
689
- this.busyCount.update((v) => v - 1);
684
+ }));
690
685
  }
691
686
  async doUploadExcel() {
692
687
  if (!this.uploadExcel)
@@ -694,13 +689,11 @@ export class AbsSdDataSheet {
694
689
  const file = await this._sdFileDialog.showAsync(false, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
695
690
  if (!file)
696
691
  return;
697
- this.busyCount.update((v) => v + 1);
698
- await this._sdToast.try(async () => {
692
+ await withBusy(this.busyCount, () => this._sdToast.try(async () => {
699
693
  await this.uploadExcel(file);
700
694
  await this.refresh();
701
695
  this._sdToast.success("엑셀 업로드가 완료 되었습니다.");
702
- }, (err) => this._getOrmDataEditToastErrorMessage(err));
703
- this.busyCount.update((v) => v - 1);
696
+ }, (err) => this._getOrmDataEditToastErrorMessage(err)));
704
697
  }
705
698
  //-- modal selection
706
699
  doModalConfirm() {
@@ -1180,4 +1173,4 @@ export class SdDataSheetControl {
1180
1173
  `,
1181
1174
  }]
1182
1175
  }], () => [], { formCtrl: [{ type: i0.ViewChild, args: ["formCtrl", { isSignal: true }] }], insertText: [{ type: i0.Input, args: [{ isSignal: true, alias: "insertText", required: false }] }], deleteText: [{ type: i0.Input, args: [{ isSignal: true, alias: "deleteText", required: false }] }], restoreText: [{ type: i0.Input, args: [{ isSignal: true, alias: "restoreText", required: false }] }], deleteIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "deleteIcon", required: false }] }], restoreIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "restoreIcon", required: false }] }], pageTopbarTplRef: [{ type: i0.ContentChild, args: ["pageTopbarTpl", { ...{ read: TemplateRef }, isSignal: true }] }], prevTplRef: [{ type: i0.ContentChild, args: ["prevTpl", { ...{ read: TemplateRef }, isSignal: true }] }], filterTplRef: [{ type: i0.ContentChild, args: ["filterTpl", { ...{ read: TemplateRef }, isSignal: true }] }], beforeToolTplRef: [{ type: i0.ContentChild, args: ["beforeToolTpl", { ...{ read: TemplateRef }, isSignal: true }] }], toolTplRef: [{ type: i0.ContentChild, args: ["toolTpl", { ...{ read: TemplateRef }, isSignal: true }] }], modalBottomTplRef: [{ type: i0.ContentChild, args: ["modalBottomTpl", { ...{ read: TemplateRef }, isSignal: true }] }], columnControls: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SdDataSheetColumnDirective), { isSignal: true }] }], modalActionTplRef: [{ type: i0.ViewChild, args: ["modalActionTpl", { ...{ read: TemplateRef }, isSignal: true }] }] }); })();
1183
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdDataSheetControl, { className: "SdDataSheetControl", filePath: "packages/angular/src/features/data-view/sd-data-sheet.control.ts", lineNumber: 774, forbidOrphanRendering: true }); })();
1176
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdDataSheetControl, { className: "SdDataSheetControl", filePath: "packages/angular/src/features/data-view/sd-data-sheet.control.ts", lineNumber: 781, forbidOrphanRendering: true }); })();
@@ -6,6 +6,10 @@ export declare class SdPermissionTableControl<TModule> {
6
6
  disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
7
7
  collapsedItems: import("@angular/core").WritableSignal<Set<ISdPermission<TModule>>>;
8
8
  depthLength: import("@angular/core").Signal<number>;
9
+ private readonly _permExistsCache;
10
+ private readonly _permCheckedCache;
11
+ private readonly _editDisabledCache;
12
+ private readonly _arrCache;
9
13
  arr(len: number): number[];
10
14
  getIsPermCollapsed(item: ISdPermission<TModule>): boolean;
11
15
  getAllChildren(item: ISdPermission<TModule>): ISdPermission<TModule>[];
@@ -1 +1 @@
1
- {"version":3,"file":"sd-permission-table.control.d.ts","sourceRoot":"","sources":["../../../src/features/permission-table/sd-permission-table.control.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;;AAMpF,qBAiMa,wBAAwB,CAAC,OAAO;IAC3C,KAAK,+DAAsC;IAE3C,KAAK,gEAAuC;IAC5C,QAAQ,qEAAiD;IAEzD,cAAc,sEAA6C;IAE3D,WAAW,yCAER;IAEH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAM1B,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO;IAIzD,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE;IAItE,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC;IAsB5C,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO;IAgB5E,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO;IAiB7E,oBAAoB,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC;IAgBjD,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,EAAE,GAAG,EAAE,OAAO;IAQlF,OAAO,CAAC,gBAAgB;IAkDxB,OAAO,CAAC,eAAe;IAYvB,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAG;QACpC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;KAC5C,CAAC;yCA5KS,wBAAwB;2CAAxB,wBAAwB;CA6KpC"}
1
+ {"version":3,"file":"sd-permission-table.control.d.ts","sourceRoot":"","sources":["../../../src/features/permission-table/sd-permission-table.control.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;;AAMpF,qBAiMa,wBAAwB,CAAC,OAAO;IAC3C,KAAK,+DAAsC;IAE3C,KAAK,gEAAuC;IAC5C,QAAQ,qEAAiD;IAEzD,cAAc,sEAA6C;IAE3D,WAAW,yCAER;IAEH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CA6B9B;IAEH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAgC/B;IAEH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CA6ChC;IAEH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IAEzD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAW1B,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO;IAIzD,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE;IAItE,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO;IAItD,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO;IAI5E,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO;IAI7E,oBAAoB,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC;IAgBjD,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,EAAE,GAAG,EAAE,OAAO;IAQlF,OAAO,CAAC,gBAAgB;IAkDxB,OAAO,CAAC,eAAe;IAYvB,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAG;QACpC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;KAC5C,CAAC;yCAxPS,wBAAwB;2CAAxB,wBAAwB;CAyPpC"}