@simplysm/angular 14.0.26 → 14.0.27

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 (609) hide show
  1. package/dist/core/directives/{sd-events.directive.d.ts → sd-events.d.ts} +6 -6
  2. package/dist/core/directives/sd-events.d.ts.map +1 -0
  3. package/dist/core/directives/{sd-events.directive.js → sd-events.js} +4 -4
  4. package/dist/core/directives/sd-invalid.d.ts +8 -0
  5. package/dist/core/directives/sd-invalid.d.ts.map +1 -0
  6. package/dist/core/directives/{sd-invalid.directive.js → sd-invalid.js} +7 -7
  7. package/dist/core/directives/sd-item-of-template.d.ts +14 -0
  8. package/dist/core/directives/sd-item-of-template.d.ts.map +1 -0
  9. package/dist/core/directives/{sd-item-of-template.directive.js → sd-item-of-template.js} +4 -4
  10. package/dist/core/directives/sd-ripple.d.ts +8 -0
  11. package/dist/core/directives/sd-ripple.d.ts.map +1 -0
  12. package/dist/core/directives/{sd-ripple.directive.js → sd-ripple.js} +7 -7
  13. package/dist/core/directives/{sd-router-link.directive.d.ts → sd-router-link.d.ts} +4 -4
  14. package/dist/core/directives/sd-router-link.d.ts.map +1 -0
  15. package/dist/core/directives/{sd-router-link.directive.js → sd-router-link.js} +9 -9
  16. package/dist/core/directives/sd-show-effect.d.ts +9 -0
  17. package/dist/core/directives/sd-show-effect.d.ts.map +1 -0
  18. package/dist/core/directives/{sd-show-effect.directive.js → sd-show-effect.js} +7 -7
  19. package/dist/core/directives/sd-typed-template.d.ts +8 -0
  20. package/dist/core/directives/sd-typed-template.d.ts.map +1 -0
  21. package/dist/core/directives/{sd-typed-template.directive.js → sd-typed-template.js} +4 -4
  22. package/dist/core/plugins/events/sd-intersection-event.plugin.d.ts +2 -2
  23. package/dist/core/plugins/events/sd-intersection-event.plugin.d.ts.map +1 -1
  24. package/dist/core/plugins/events/sd-resize-event.plugin.d.ts +2 -2
  25. package/dist/core/plugins/events/sd-resize-event.plugin.d.ts.map +1 -1
  26. package/dist/core/providers/sd-activated-modal.provider.d.ts +2 -2
  27. package/dist/core/providers/sd-activated-modal.provider.d.ts.map +1 -1
  28. package/dist/core/providers/sd-app-structure.provider.d.ts +11 -7
  29. package/dist/core/providers/sd-app-structure.provider.d.ts.map +1 -1
  30. package/dist/core/providers/sd-app-structure.provider.js +18 -7
  31. package/dist/core/providers/sd-app-structure.types.d.ts +6 -37
  32. package/dist/core/providers/sd-app-structure.types.d.ts.map +1 -1
  33. package/dist/core/providers/sd-app-structure.utils.d.ts +8 -10
  34. package/dist/core/providers/sd-app-structure.utils.d.ts.map +1 -1
  35. package/dist/core/providers/sd-app-structure.utils.js +5 -86
  36. package/dist/core/providers/sd-busy.provider.d.ts +4 -4
  37. package/dist/core/providers/sd-busy.provider.d.ts.map +1 -1
  38. package/dist/core/providers/sd-busy.provider.js +2 -2
  39. package/dist/core/providers/sd-print.provider.d.ts +7 -7
  40. package/dist/core/providers/sd-print.provider.d.ts.map +1 -1
  41. package/dist/core/providers/sd-shared-data.provider.d.ts +5 -5
  42. package/dist/core/providers/sd-shared-data.provider.d.ts.map +1 -1
  43. package/dist/core/providers/sd-toast.provider.d.ts +9 -9
  44. package/dist/core/providers/sd-toast.provider.d.ts.map +1 -1
  45. package/dist/core/providers/sd-toast.provider.js +5 -5
  46. package/dist/core/types/select-modal-output-result.d.ts +1 -1
  47. package/dist/core/types/select-modal-output-result.d.ts.map +1 -1
  48. package/dist/core/utils/{TDirectiveInputSignals.d.ts → directive-input-signals.d.ts} +5 -5
  49. package/dist/core/utils/directive-input-signals.d.ts.map +1 -0
  50. package/dist/core/utils/injectCurrentPageCodeSignal.d.ts +3 -0
  51. package/dist/core/utils/injectCurrentPageCodeSignal.d.ts.map +1 -0
  52. package/dist/core/utils/{useCurrentPageCodeSignal.js → injectCurrentPageCodeSignal.js} +1 -1
  53. package/dist/core/utils/injectFullPageCodeSignal.d.ts +3 -0
  54. package/dist/core/utils/injectFullPageCodeSignal.d.ts.map +1 -0
  55. package/dist/core/utils/{useFullPageCodeSignal.js → injectFullPageCodeSignal.js} +1 -1
  56. package/dist/core/utils/{useSdSystemConfigResource.d.ts → injectSdSystemConfigResource.d.ts} +2 -2
  57. package/dist/core/utils/injectSdSystemConfigResource.d.ts.map +1 -0
  58. package/dist/core/utils/{useSdSystemConfigResource.js → injectSdSystemConfigResource.js} +1 -1
  59. package/dist/core/utils/injectViewTitleSignal.d.ts +3 -0
  60. package/dist/core/utils/injectViewTitleSignal.d.ts.map +1 -0
  61. package/dist/core/utils/{useViewTitleSignal.js → injectViewTitleSignal.js} +11 -6
  62. package/dist/core/utils/injectViewTypeSignal.d.ts +4 -0
  63. package/dist/core/utils/injectViewTypeSignal.d.ts.map +1 -0
  64. package/dist/core/utils/{useViewTypeSignal.js → injectViewTypeSignal.js} +5 -5
  65. package/dist/core/utils/useExpandingManager.d.ts +3 -3
  66. package/dist/core/utils/useExpandingManager.d.ts.map +1 -1
  67. package/dist/core/utils/useSortingManager.d.ts +2 -2
  68. package/dist/core/utils/useSortingManager.d.ts.map +1 -1
  69. package/dist/features/address/sd-address-search.modal.d.ts +4 -4
  70. package/dist/features/address/sd-address-search.modal.d.ts.map +1 -1
  71. package/dist/features/address/sd-address-search.modal.js +3 -3
  72. package/dist/features/base/{sd-base-container.control.d.ts → sd-base-container.d.ts} +7 -7
  73. package/dist/features/base/sd-base-container.d.ts.map +1 -0
  74. package/dist/features/base/{sd-base-container.control.js → sd-base-container.js} +50 -43
  75. package/dist/features/data-view/{useDataSheetExcelManager.d.ts → injectDataSheetExcelManager.d.ts} +4 -4
  76. package/dist/features/data-view/injectDataSheetExcelManager.d.ts.map +1 -0
  77. package/dist/features/data-view/{useDataSheetExcelManager.js → injectDataSheetExcelManager.js} +1 -1
  78. package/dist/features/data-view/{useDataSheetInlineEditManager.d.ts → injectDataSheetInlineEditManager.d.ts} +4 -4
  79. package/dist/features/data-view/injectDataSheetInlineEditManager.d.ts.map +1 -0
  80. package/dist/features/data-view/{useDataSheetInlineEditManager.js → injectDataSheetInlineEditManager.js} +1 -1
  81. package/dist/features/data-view/{useDataSheetModalEditManager.d.ts → injectDataSheetModalEditManager.d.ts} +4 -4
  82. package/dist/features/data-view/injectDataSheetModalEditManager.d.ts.map +1 -0
  83. package/dist/features/data-view/{useDataSheetModalEditManager.js → injectDataSheetModalEditManager.js} +1 -1
  84. package/dist/features/data-view/{useDataSheetRefreshManager.d.ts → injectDataSheetRefreshManager.d.ts} +4 -4
  85. package/dist/features/data-view/injectDataSheetRefreshManager.d.ts.map +1 -0
  86. package/dist/features/data-view/{useDataSheetRefreshManager.js → injectDataSheetRefreshManager.js} +1 -1
  87. package/dist/features/data-view/sd-data-detail.base.d.ts +49 -0
  88. package/dist/features/data-view/sd-data-detail.base.d.ts.map +1 -0
  89. package/dist/features/data-view/sd-data-detail.base.js +122 -0
  90. package/dist/features/data-view/sd-data-detail.d.ts +29 -0
  91. package/dist/features/data-view/sd-data-detail.d.ts.map +1 -0
  92. package/dist/features/data-view/{sd-data-detail.control.js → sd-data-detail.js} +80 -202
  93. package/dist/features/data-view/sd-data-select-button.base.d.ts +24 -0
  94. package/dist/features/data-view/sd-data-select-button.base.d.ts.map +1 -0
  95. package/dist/features/data-view/sd-data-select-button.base.js +68 -0
  96. package/dist/features/data-view/sd-data-select-button.d.ts +15 -0
  97. package/dist/features/data-view/sd-data-select-button.d.ts.map +1 -0
  98. package/dist/features/data-view/sd-data-select-button.js +152 -0
  99. package/dist/features/data-view/sd-data-sheet-column.d.ts +8 -0
  100. package/dist/features/data-view/sd-data-sheet-column.d.ts.map +1 -0
  101. package/dist/features/data-view/{sd-data-sheet-column.directive.js → sd-data-sheet-column.js} +5 -5
  102. package/dist/features/data-view/sd-data-sheet.base.d.ts +76 -0
  103. package/dist/features/data-view/sd-data-sheet.base.d.ts.map +1 -0
  104. package/dist/features/data-view/sd-data-sheet.base.js +196 -0
  105. package/dist/features/data-view/sd-data-sheet.d.ts +48 -0
  106. package/dist/features/data-view/sd-data-sheet.d.ts.map +1 -0
  107. package/dist/features/data-view/{sd-data-sheet.control.js → sd-data-sheet.js} +135 -330
  108. package/dist/features/data-view/sd-data-sheet.types.d.ts +3 -3
  109. package/dist/features/data-view/sd-data-sheet.types.d.ts.map +1 -1
  110. package/dist/features/data-view/setupCloserWhenSingleSelectionChange.d.ts +2 -2
  111. package/dist/features/data-view/setupCloserWhenSingleSelectionChange.d.ts.map +1 -1
  112. package/dist/features/permission-table/sd-permission-table.d.ts +32 -0
  113. package/dist/features/permission-table/sd-permission-table.d.ts.map +1 -0
  114. package/dist/features/permission-table/{sd-permission-table.control.js → sd-permission-table.js} +45 -45
  115. package/dist/features/shared-data/sd-shared-data-select-button.d.ts +16 -0
  116. package/dist/features/shared-data/sd-shared-data-select-button.d.ts.map +1 -0
  117. package/dist/features/shared-data/{sd-shared-data-select-button.control.js → sd-shared-data-select-button.js} +18 -17
  118. package/dist/features/shared-data/{sd-shared-data-select-list.control.d.ts → sd-shared-data-select-list.d.ts} +8 -8
  119. package/dist/features/shared-data/sd-shared-data-select-list.d.ts.map +1 -0
  120. package/dist/features/shared-data/{sd-shared-data-select-list.control.js → sd-shared-data-select-list.js} +58 -58
  121. package/dist/features/shared-data/{sd-shared-data-select.control.d.ts → sd-shared-data-select.d.ts} +13 -13
  122. package/dist/features/shared-data/sd-shared-data-select.d.ts.map +1 -0
  123. package/dist/features/shared-data/{sd-shared-data-select.control.js → sd-shared-data-select.js} +51 -51
  124. package/dist/index.d.ts +101 -98
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +86 -83
  127. package/dist/ui/data/list/sd-list-item.d.ts +20 -0
  128. package/dist/ui/data/list/sd-list-item.d.ts.map +1 -0
  129. package/dist/ui/data/list/{sd-list-item.control.js → sd-list-item.js} +26 -26
  130. package/dist/ui/data/list/sd-list.d.ts +7 -0
  131. package/dist/ui/data/list/sd-list.d.ts.map +1 -0
  132. package/dist/ui/data/list/{sd-list.control.js → sd-list.js} +6 -6
  133. package/dist/ui/data/sheet/injectSheetColumnResizing.d.ts +17 -0
  134. package/dist/ui/data/sheet/injectSheetColumnResizing.d.ts.map +1 -0
  135. package/dist/ui/data/sheet/{useSheetColumnResizing.js → injectSheetColumnResizing.js} +1 -1
  136. package/dist/ui/data/sheet/{useSheetDomAccessor.d.ts → injectSheetDomAccessor.d.ts} +2 -2
  137. package/dist/ui/data/sheet/injectSheetDomAccessor.d.ts.map +1 -0
  138. package/dist/ui/data/sheet/{useSheetDomAccessor.js → injectSheetDomAccessor.js} +1 -1
  139. package/dist/ui/data/sheet/{sd-sheet-column.directive.d.ts → sd-sheet-column.d.ts} +4 -4
  140. package/dist/ui/data/sheet/sd-sheet-column.d.ts.map +1 -0
  141. package/dist/ui/data/sheet/{sd-sheet-column.directive.js → sd-sheet-column.js} +4 -4
  142. package/dist/ui/data/sheet/sd-sheet-config.modal.d.ts +9 -9
  143. package/dist/ui/data/sheet/sd-sheet-config.modal.d.ts.map +1 -1
  144. package/dist/ui/data/sheet/sd-sheet-config.modal.js +4 -4
  145. package/dist/ui/data/sheet/{sd-sheet.control.d.ts → sd-sheet.d.ts} +26 -26
  146. package/dist/ui/data/sheet/sd-sheet.d.ts.map +1 -0
  147. package/dist/ui/data/sheet/{sd-sheet.control.js → sd-sheet.js} +82 -82
  148. package/dist/ui/data/sheet/types.d.ts +6 -6
  149. package/dist/ui/data/sheet/types.d.ts.map +1 -1
  150. package/dist/ui/data/sheet/useSheetCellAgent.d.ts +2 -2
  151. package/dist/ui/data/sheet/useSheetCellAgent.d.ts.map +1 -1
  152. package/dist/ui/data/sheet/useSheetCellStyling.d.ts +9 -9
  153. package/dist/ui/data/sheet/useSheetCellStyling.d.ts.map +1 -1
  154. package/dist/ui/data/sheet/useSheetColumnFixing.d.ts +2 -2
  155. package/dist/ui/data/sheet/useSheetColumnFixing.d.ts.map +1 -1
  156. package/dist/ui/data/sheet/useSheetDisplayPipeline.d.ts +1 -1
  157. package/dist/ui/data/sheet/useSheetLayoutEngine.d.ts +6 -6
  158. package/dist/ui/data/sheet/useSheetLayoutEngine.d.ts.map +1 -1
  159. package/dist/ui/form/button/sd-additional-button.d.ts +8 -0
  160. package/dist/ui/form/button/sd-additional-button.d.ts.map +1 -0
  161. package/dist/ui/form/button/{sd-additional-button.control.js → sd-additional-button.js} +6 -6
  162. package/dist/ui/form/button/sd-anchor.d.ts +8 -0
  163. package/dist/ui/form/button/sd-anchor.d.ts.map +1 -0
  164. package/dist/ui/form/button/{sd-anchor.control.js → sd-anchor.js} +6 -6
  165. package/dist/ui/form/button/{sd-button.control.d.ts → sd-button.d.ts} +4 -4
  166. package/dist/ui/form/button/sd-button.d.ts.map +1 -0
  167. package/dist/ui/form/button/{sd-button.control.js → sd-button.js} +11 -11
  168. package/dist/ui/form/button/sd-modal-select-button.d.ts +38 -0
  169. package/dist/ui/form/button/sd-modal-select-button.d.ts.map +1 -0
  170. package/dist/ui/form/button/{sd-modal-select-button.control.js → sd-modal-select-button.js} +16 -16
  171. package/dist/ui/form/checkbox/{sd-checkbox-group-item.control.d.ts → sd-checkbox-group-item.d.ts} +4 -4
  172. package/dist/ui/form/checkbox/sd-checkbox-group-item.d.ts.map +1 -0
  173. package/dist/ui/form/checkbox/{sd-checkbox-group-item.control.js → sd-checkbox-group-item.js} +11 -11
  174. package/dist/ui/form/checkbox/sd-checkbox-group.d.ts +8 -0
  175. package/dist/ui/form/checkbox/sd-checkbox-group.d.ts.map +1 -0
  176. package/dist/ui/form/checkbox/{sd-checkbox-group.control.js → sd-checkbox-group.js} +5 -5
  177. package/dist/ui/form/checkbox/sd-checkbox.d.ts +19 -0
  178. package/dist/ui/form/checkbox/sd-checkbox.d.ts.map +1 -0
  179. package/dist/ui/form/checkbox/{sd-checkbox.control.js → sd-checkbox.js} +10 -10
  180. package/dist/ui/form/checkbox/sd-switch.d.ts +14 -0
  181. package/dist/ui/form/checkbox/sd-switch.d.ts.map +1 -0
  182. package/dist/ui/form/checkbox/{sd-switch.control.js → sd-switch.js} +7 -7
  183. package/dist/ui/form/choice/{sd-state-preset.control.d.ts → sd-state-preset.d.ts} +9 -9
  184. package/dist/ui/form/choice/sd-state-preset.d.ts.map +1 -0
  185. package/dist/ui/form/choice/{sd-state-preset.control.js → sd-state-preset.js} +21 -21
  186. package/dist/ui/form/editor/{sd-tiptap-editor.control.d.ts → sd-tiptap-editor.d.ts} +4 -4
  187. package/dist/ui/form/editor/sd-tiptap-editor.d.ts.map +1 -0
  188. package/dist/ui/form/editor/{sd-tiptap-editor.control.js → sd-tiptap-editor.js} +33 -33
  189. package/dist/ui/form/input/sd-date-range.picker.js +6 -6
  190. package/dist/ui/form/input/{sd-numpad.control.d.ts → sd-numpad.d.ts} +4 -4
  191. package/dist/ui/form/input/sd-numpad.d.ts.map +1 -0
  192. package/dist/ui/form/input/{sd-numpad.control.js → sd-numpad.js} +25 -25
  193. package/dist/ui/form/input/sd-range.d.ts +13 -0
  194. package/dist/ui/form/input/sd-range.d.ts.map +1 -0
  195. package/dist/ui/form/input/{sd-range.control.js → sd-range.js} +10 -10
  196. package/dist/ui/form/input/sd-textarea.d.ts +23 -0
  197. package/dist/ui/form/input/sd-textarea.d.ts.map +1 -0
  198. package/dist/ui/form/input/{sd-textarea.control.js → sd-textarea.js} +13 -13
  199. package/dist/ui/form/input/sd-textfield-type-handlers.d.ts +12 -12
  200. package/dist/ui/form/input/sd-textfield-type-handlers.d.ts.map +1 -1
  201. package/dist/ui/form/input/sd-textfield.d.ts +39 -0
  202. package/dist/ui/form/input/sd-textfield.d.ts.map +1 -0
  203. package/dist/ui/form/input/{sd-textfield.control.js → sd-textfield.js} +16 -16
  204. package/dist/ui/form/{sd-form.control.d.ts → sd-form.d.ts} +4 -4
  205. package/dist/ui/form/sd-form.d.ts.map +1 -0
  206. package/dist/ui/form/{sd-form.control.js → sd-form.js} +7 -7
  207. package/dist/ui/form/select/sd-select-button.d.ts +7 -0
  208. package/dist/ui/form/select/sd-select-button.d.ts.map +1 -0
  209. package/dist/ui/form/select/{sd-select-button.control.js → sd-select-button.js} +6 -6
  210. package/dist/ui/form/select/sd-select-item.d.ts +18 -0
  211. package/dist/ui/form/select/sd-select-item.d.ts.map +1 -0
  212. package/dist/ui/form/select/{sd-select-item.control.js → sd-select-item.js} +15 -15
  213. package/dist/ui/form/select/{sd-select.control.d.ts → sd-select.d.ts} +8 -8
  214. package/dist/ui/form/select/sd-select.d.ts.map +1 -0
  215. package/dist/ui/form/select/{sd-select.control.js → sd-select.js} +62 -62
  216. package/dist/ui/layout/dock/sd-dock-container.d.ts +12 -0
  217. package/dist/ui/layout/dock/sd-dock-container.d.ts.map +1 -0
  218. package/dist/ui/layout/dock/{sd-dock-container.control.js → sd-dock-container.js} +11 -11
  219. package/dist/ui/layout/dock/sd-dock.d.ts +19 -0
  220. package/dist/ui/layout/dock/sd-dock.d.ts.map +1 -0
  221. package/dist/ui/layout/dock/{sd-dock.control.js → sd-dock.js} +12 -12
  222. package/dist/ui/layout/kanban/sd-kanban-board.d.ts +24 -0
  223. package/dist/ui/layout/kanban/sd-kanban-board.d.ts.map +1 -0
  224. package/dist/ui/layout/kanban/{sd-kanban-board.control.js → sd-kanban-board.js} +7 -7
  225. package/dist/ui/layout/kanban/{sd-kanban-lane.control.d.ts → sd-kanban-lane.d.ts} +8 -8
  226. package/dist/ui/layout/kanban/sd-kanban-lane.d.ts.map +1 -0
  227. package/dist/ui/layout/kanban/{sd-kanban-lane.control.js → sd-kanban-lane.js} +37 -37
  228. package/dist/ui/layout/kanban/{sd-kanban.control.d.ts → sd-kanban.d.ts} +8 -8
  229. package/dist/ui/layout/kanban/sd-kanban.d.ts.map +1 -0
  230. package/dist/ui/layout/kanban/{sd-kanban.control.js → sd-kanban.js} +17 -17
  231. package/dist/ui/layout/sd-card.d.ts +6 -0
  232. package/dist/ui/layout/sd-card.d.ts.map +1 -0
  233. package/dist/ui/layout/{sd-card.directive.js → sd-card.js} +5 -5
  234. package/dist/ui/layout/sd-gap.d.ts +12 -0
  235. package/dist/ui/layout/sd-gap.d.ts.map +1 -0
  236. package/dist/ui/layout/{sd-gap.control.js → sd-gap.js} +6 -6
  237. package/dist/ui/layout/sd-pane.d.ts +6 -0
  238. package/dist/ui/layout/sd-pane.d.ts.map +1 -0
  239. package/dist/ui/layout/{sd-pane.directive.js → sd-pane.js} +5 -5
  240. package/dist/ui/layout/view/sd-view-item.d.ts +9 -0
  241. package/dist/ui/layout/view/sd-view-item.d.ts.map +1 -0
  242. package/dist/ui/layout/view/{sd-view-item.control.js → sd-view-item.js} +8 -8
  243. package/dist/ui/layout/view/sd-view.d.ts +8 -0
  244. package/dist/ui/layout/view/sd-view.d.ts.map +1 -0
  245. package/dist/ui/layout/view/{sd-view.control.js → sd-view.js} +6 -6
  246. package/dist/ui/navigation/collapse/sd-collapse-icon.d.ts +13 -0
  247. package/dist/ui/navigation/collapse/sd-collapse-icon.d.ts.map +1 -0
  248. package/dist/ui/navigation/collapse/{sd-collapse-icon.control.js → sd-collapse-icon.js} +6 -6
  249. package/dist/ui/navigation/collapse/sd-collapse.d.ts +14 -0
  250. package/dist/ui/navigation/collapse/sd-collapse.d.ts.map +1 -0
  251. package/dist/ui/navigation/collapse/{sd-collapse.control.js → sd-collapse.js} +7 -7
  252. package/dist/ui/navigation/menu-utils.d.ts +4 -4
  253. package/dist/ui/navigation/menu-utils.d.ts.map +1 -1
  254. package/dist/ui/navigation/pagination/{sd-pagination.control.d.ts → sd-pagination.d.ts} +4 -4
  255. package/dist/ui/navigation/pagination/sd-pagination.d.ts.map +1 -0
  256. package/dist/ui/navigation/pagination/{sd-pagination.control.js → sd-pagination.js} +15 -15
  257. package/dist/ui/navigation/sidebar/{sd-sidebar-container.control.d.ts → sd-sidebar-container.d.ts} +4 -4
  258. package/dist/ui/navigation/sidebar/sd-sidebar-container.d.ts.map +1 -0
  259. package/dist/ui/navigation/sidebar/{sd-sidebar-container.control.js → sd-sidebar-container.js} +7 -7
  260. package/dist/ui/navigation/sidebar/sd-sidebar-menu.d.ts +22 -0
  261. package/dist/ui/navigation/sidebar/sd-sidebar-menu.d.ts.map +1 -0
  262. package/dist/ui/navigation/sidebar/{sd-sidebar-menu.control.js → sd-sidebar-menu.js} +35 -35
  263. package/dist/ui/navigation/sidebar/sd-sidebar-user.d.ts +16 -0
  264. package/dist/ui/navigation/sidebar/sd-sidebar-user.d.ts.map +1 -0
  265. package/dist/ui/navigation/sidebar/{sd-sidebar-user.control.js → sd-sidebar-user.js} +30 -30
  266. package/dist/ui/navigation/sidebar/sd-sidebar.d.ts +8 -0
  267. package/dist/ui/navigation/sidebar/sd-sidebar.d.ts.map +1 -0
  268. package/dist/ui/navigation/sidebar/{sd-sidebar.control.js → sd-sidebar.js} +8 -8
  269. package/dist/ui/navigation/tab/sd-tab-item.d.ts +10 -0
  270. package/dist/ui/navigation/tab/sd-tab-item.d.ts.map +1 -0
  271. package/dist/ui/navigation/tab/{sd-tab-item.control.js → sd-tab-item.js} +9 -9
  272. package/dist/ui/navigation/tab/sd-tab.d.ts +7 -0
  273. package/dist/ui/navigation/tab/sd-tab.d.ts.map +1 -0
  274. package/dist/ui/navigation/tab/{sd-tab.control.js → sd-tab.js} +5 -5
  275. package/dist/ui/navigation/tab/sd-tabview-item.d.ts +10 -0
  276. package/dist/ui/navigation/tab/sd-tabview-item.d.ts.map +1 -0
  277. package/dist/ui/navigation/tab/{sd-tabview-item.control.js → sd-tabview-item.js} +8 -8
  278. package/dist/ui/navigation/tab/sd-tabview.d.ts +9 -0
  279. package/dist/ui/navigation/tab/sd-tabview.d.ts.map +1 -0
  280. package/dist/ui/navigation/tab/{sd-tabview.control.js → sd-tabview.js} +17 -17
  281. package/dist/ui/navigation/topbar/sd-topbar-container.d.ts +6 -0
  282. package/dist/ui/navigation/topbar/sd-topbar-container.d.ts.map +1 -0
  283. package/dist/ui/navigation/topbar/{sd-topbar-container.control.js → sd-topbar-container.js} +5 -5
  284. package/dist/ui/navigation/topbar/sd-topbar-menu.d.ts +23 -0
  285. package/dist/ui/navigation/topbar/sd-topbar-menu.d.ts.map +1 -0
  286. package/dist/ui/navigation/topbar/{sd-topbar-menu.control.js → sd-topbar-menu.js} +56 -56
  287. package/dist/ui/navigation/topbar/sd-topbar-user.d.ts +13 -0
  288. package/dist/ui/navigation/topbar/sd-topbar-user.d.ts.map +1 -0
  289. package/dist/ui/navigation/topbar/{sd-topbar-user.control.js → sd-topbar-user.js} +27 -27
  290. package/dist/ui/navigation/topbar/{sd-topbar.control.d.ts → sd-topbar.d.ts} +6 -6
  291. package/dist/ui/navigation/topbar/sd-topbar.d.ts.map +1 -0
  292. package/dist/ui/navigation/topbar/{sd-topbar.control.js → sd-topbar.js} +13 -13
  293. package/dist/ui/overlay/busy/sd-busy-container.d.ts +14 -0
  294. package/dist/ui/overlay/busy/sd-busy-container.d.ts.map +1 -0
  295. package/dist/ui/overlay/busy/{sd-busy-container.control.js → sd-busy-container.js} +16 -16
  296. package/dist/ui/overlay/dropdown/sd-dropdown-popup.d.ts +8 -0
  297. package/dist/ui/overlay/dropdown/sd-dropdown-popup.d.ts.map +1 -0
  298. package/dist/ui/overlay/dropdown/{sd-dropdown-popup.control.js → sd-dropdown-popup.js} +9 -9
  299. package/dist/ui/overlay/dropdown/{sd-dropdown.control.d.ts → sd-dropdown.d.ts} +4 -4
  300. package/dist/ui/overlay/dropdown/sd-dropdown.d.ts.map +1 -0
  301. package/dist/ui/overlay/dropdown/{sd-dropdown.control.js → sd-dropdown.js} +12 -12
  302. package/dist/ui/overlay/modal/sd-confirm-modal.d.ts +17 -0
  303. package/dist/ui/overlay/modal/sd-confirm-modal.d.ts.map +1 -0
  304. package/dist/ui/overlay/modal/{sd-confirm-modal.control.js → sd-confirm-modal.js} +11 -11
  305. package/dist/ui/overlay/modal/{sd-modal.control.d.ts → sd-modal.d.ts} +4 -4
  306. package/dist/ui/overlay/modal/sd-modal.d.ts.map +1 -0
  307. package/dist/ui/overlay/modal/{sd-modal.control.js → sd-modal.js} +28 -28
  308. package/dist/ui/overlay/modal/sd-modal.provider.d.ts +8 -8
  309. package/dist/ui/overlay/modal/sd-modal.provider.d.ts.map +1 -1
  310. package/dist/ui/overlay/modal/sd-modal.provider.js +4 -4
  311. package/dist/ui/overlay/modal/sd-prompt-modal.d.ts +19 -0
  312. package/dist/ui/overlay/modal/sd-prompt-modal.d.ts.map +1 -0
  313. package/dist/ui/overlay/modal/{sd-prompt-modal.control.js → sd-prompt-modal.js} +13 -13
  314. package/dist/ui/overlay/toast/sd-toast-container.d.ts +7 -0
  315. package/dist/ui/overlay/toast/sd-toast-container.d.ts.map +1 -0
  316. package/dist/ui/overlay/toast/{sd-toast-container.control.js → sd-toast-container.js} +6 -6
  317. package/dist/ui/overlay/toast/sd-toast.d.ts +14 -0
  318. package/dist/ui/overlay/toast/sd-toast.d.ts.map +1 -0
  319. package/dist/ui/overlay/toast/{sd-toast.control.js → sd-toast.js} +10 -10
  320. package/dist/ui/visual/sd-barcode.d.ts +11 -0
  321. package/dist/ui/visual/sd-barcode.d.ts.map +1 -0
  322. package/dist/ui/visual/{sd-barcode.control.js → sd-barcode.js} +5 -5
  323. package/dist/ui/visual/{sd-calendar.control.d.ts → sd-calendar.d.ts} +5 -5
  324. package/dist/ui/visual/sd-calendar.d.ts.map +1 -0
  325. package/dist/ui/visual/{sd-calendar.control.js → sd-calendar.js} +18 -18
  326. package/dist/ui/visual/sd-echarts.d.ts +13 -0
  327. package/dist/ui/visual/sd-echarts.d.ts.map +1 -0
  328. package/dist/ui/visual/{sd-echarts.control.js → sd-echarts.js} +7 -7
  329. package/dist/ui/visual/sd-label.d.ts +9 -0
  330. package/dist/ui/visual/sd-label.d.ts.map +1 -0
  331. package/dist/ui/visual/{sd-label.control.js → sd-label.js} +6 -6
  332. package/dist/ui/visual/sd-note.d.ts +9 -0
  333. package/dist/ui/visual/sd-note.d.ts.map +1 -0
  334. package/dist/ui/visual/{sd-note.control.js → sd-note.js} +6 -6
  335. package/dist/ui/visual/sd-progress.d.ts +11 -0
  336. package/dist/ui/visual/sd-progress.d.ts.map +1 -0
  337. package/dist/ui/visual/{sd-progress.control.js → sd-progress.js} +6 -6
  338. package/package.json +5 -5
  339. package/src/core/directives/{sd-events.directive.ts → sd-events.ts} +3 -3
  340. package/src/core/directives/{sd-invalid.directive.ts → sd-invalid.ts} +3 -3
  341. package/src/core/directives/{sd-item-of-template.directive.ts → sd-item-of-template.ts} +2 -2
  342. package/src/core/directives/{sd-ripple.directive.ts → sd-ripple.ts} +3 -3
  343. package/src/core/directives/{sd-router-link.directive.ts → sd-router-link.ts} +3 -3
  344. package/src/core/directives/{sd-show-effect.directive.ts → sd-show-effect.ts} +3 -3
  345. package/src/core/directives/{sd-typed-template.directive.ts → sd-typed-template.ts} +2 -2
  346. package/src/core/plugins/events/sd-intersection-event.plugin.ts +2 -2
  347. package/src/core/plugins/events/sd-resize-event.plugin.ts +2 -2
  348. package/src/core/providers/sd-activated-modal.provider.ts +2 -2
  349. package/src/core/providers/sd-app-structure.provider.ts +28 -11
  350. package/src/core/providers/sd-app-structure.types.ts +12 -43
  351. package/src/core/providers/sd-app-structure.utils.ts +29 -140
  352. package/src/core/providers/sd-busy.provider.ts +6 -6
  353. package/src/core/providers/sd-print.provider.ts +11 -11
  354. package/src/core/providers/sd-shared-data.provider.ts +10 -10
  355. package/src/core/providers/sd-toast.provider.ts +22 -22
  356. package/src/core/types/select-modal-output-result.ts +1 -1
  357. package/src/core/utils/{TDirectiveInputSignals.ts → directive-input-signals.ts} +4 -4
  358. package/src/core/utils/{useCurrentPageCodeSignal.ts → injectCurrentPageCodeSignal.ts} +1 -1
  359. package/src/core/utils/{useFullPageCodeSignal.ts → injectFullPageCodeSignal.ts} +1 -1
  360. package/src/core/utils/{useSdSystemConfigResource.ts → injectSdSystemConfigResource.ts} +1 -1
  361. package/src/core/utils/{useViewTitleSignal.ts → injectViewTitleSignal.ts} +10 -6
  362. package/src/core/utils/{useViewTypeSignal.ts → injectViewTypeSignal.ts} +7 -7
  363. package/src/core/utils/useExpandingManager.ts +8 -8
  364. package/src/core/utils/useSortingManager.ts +2 -2
  365. package/src/features/address/sd-address-search.modal.ts +9 -9
  366. package/src/features/base/{sd-base-container.control.ts → sd-base-container.ts} +27 -22
  367. package/src/features/data-view/{useDataSheetExcelManager.ts → injectDataSheetExcelManager.ts} +3 -3
  368. package/src/features/data-view/{useDataSheetInlineEditManager.ts → injectDataSheetInlineEditManager.ts} +3 -3
  369. package/src/features/data-view/{useDataSheetModalEditManager.ts → injectDataSheetModalEditManager.ts} +3 -3
  370. package/src/features/data-view/{useDataSheetRefreshManager.ts → injectDataSheetRefreshManager.ts} +3 -3
  371. package/src/features/data-view/sd-data-detail.base.ts +183 -0
  372. package/src/features/data-view/{sd-data-detail.control.ts → sd-data-detail.ts} +14 -198
  373. package/src/features/data-view/sd-data-select-button.base.ts +104 -0
  374. package/src/features/data-view/sd-data-select-button.ts +105 -0
  375. package/src/features/data-view/{sd-data-sheet-column.directive.ts → sd-data-sheet-column.ts} +2 -2
  376. package/src/features/data-view/sd-data-sheet.base.ts +305 -0
  377. package/src/features/data-view/{sd-data-sheet.control.ts → sd-data-sheet.ts} +19 -323
  378. package/src/features/data-view/sd-data-sheet.types.ts +3 -3
  379. package/src/features/data-view/setupCloserWhenSingleSelectionChange.ts +2 -2
  380. package/src/features/permission-table/{sd-permission-table.control.ts → sd-permission-table.ts} +26 -26
  381. package/src/features/shared-data/{sd-shared-data-select-button.control.ts → sd-shared-data-select-button.ts} +17 -19
  382. package/src/features/shared-data/{sd-shared-data-select-list.control.ts → sd-shared-data-select-list.ts} +21 -21
  383. package/src/features/shared-data/{sd-shared-data-select.control.ts → sd-shared-data-select.ts} +27 -27
  384. package/src/index.ts +139 -141
  385. package/src/ui/data/list/{sd-list-item.control.ts → sd-list-item.ts} +6 -6
  386. package/src/ui/data/list/{sd-list.control.ts → sd-list.ts} +1 -1
  387. package/src/ui/data/sheet/{useSheetColumnResizing.ts → injectSheetColumnResizing.ts} +9 -9
  388. package/src/ui/data/sheet/{useSheetDomAccessor.ts → injectSheetDomAccessor.ts} +1 -1
  389. package/src/ui/data/sheet/{sd-sheet-column.directive.ts → sd-sheet-column.ts} +1 -1
  390. package/src/ui/data/sheet/sd-sheet-config.modal.ts +15 -15
  391. package/src/ui/data/sheet/{sd-sheet.control.ts → sd-sheet.ts} +27 -27
  392. package/src/ui/data/sheet/types.ts +6 -6
  393. package/src/ui/data/sheet/useSheetCellAgent.ts +2 -2
  394. package/src/ui/data/sheet/useSheetCellStyling.ts +10 -10
  395. package/src/ui/data/sheet/useSheetColumnFixing.ts +2 -2
  396. package/src/ui/data/sheet/useSheetLayoutEngine.ts +8 -8
  397. package/src/ui/form/button/{sd-additional-button.control.ts → sd-additional-button.ts} +1 -1
  398. package/src/ui/form/button/{sd-anchor.control.ts → sd-anchor.ts} +1 -1
  399. package/src/ui/form/button/{sd-button.control.ts → sd-button.ts} +4 -4
  400. package/src/ui/form/button/{sd-modal-select-button.control.ts → sd-modal-select-button.ts} +16 -16
  401. package/src/ui/form/checkbox/{sd-checkbox-group-item.control.ts → sd-checkbox-group-item.ts} +6 -6
  402. package/src/ui/form/checkbox/{sd-checkbox-group.control.ts → sd-checkbox-group.ts} +1 -1
  403. package/src/ui/form/checkbox/{sd-checkbox.control.ts → sd-checkbox.ts} +1 -1
  404. package/src/ui/form/checkbox/{sd-switch.control.ts → sd-switch.ts} +1 -1
  405. package/src/ui/form/choice/{sd-state-preset.control.ts → sd-state-preset.ts} +14 -14
  406. package/src/ui/form/editor/{sd-tiptap-editor.control.ts → sd-tiptap-editor.ts} +1 -1
  407. package/src/ui/form/input/sd-date-range.picker.ts +5 -5
  408. package/src/ui/form/input/{sd-numpad.control.ts → sd-numpad.ts} +4 -4
  409. package/src/ui/form/input/{sd-range.control.ts → sd-range.ts} +6 -6
  410. package/src/ui/form/input/{sd-textarea.control.ts → sd-textarea.ts} +1 -1
  411. package/src/ui/form/input/sd-textfield-type-handlers.ts +18 -18
  412. package/src/ui/form/input/{sd-textfield.control.ts → sd-textfield.ts} +8 -8
  413. package/src/ui/form/{sd-form.control.ts → sd-form.ts} +1 -1
  414. package/src/ui/form/select/{sd-select-button.control.ts → sd-select-button.ts} +1 -1
  415. package/src/ui/form/select/{sd-select-item.control.ts → sd-select-item.ts} +7 -7
  416. package/src/ui/form/select/{sd-select.control.ts → sd-select.ts} +21 -21
  417. package/src/ui/layout/dock/{sd-dock-container.control.ts → sd-dock-container.ts} +3 -3
  418. package/src/ui/layout/dock/{sd-dock.control.ts → sd-dock.ts} +5 -5
  419. package/src/ui/layout/kanban/{sd-kanban-board.control.ts → sd-kanban-board.ts} +7 -7
  420. package/src/ui/layout/kanban/{sd-kanban-lane.control.ts → sd-kanban-lane.ts} +12 -12
  421. package/src/ui/layout/kanban/{sd-kanban.control.ts → sd-kanban.ts} +15 -15
  422. package/src/ui/layout/{sd-card.directive.ts → sd-card.ts} +2 -2
  423. package/src/ui/layout/{sd-gap.control.ts → sd-gap.ts} +1 -1
  424. package/src/ui/layout/{sd-pane.directive.ts → sd-pane.ts} +2 -2
  425. package/src/ui/layout/view/{sd-view-item.control.ts → sd-view-item.ts} +3 -3
  426. package/src/ui/layout/view/{sd-view.control.ts → sd-view.ts} +1 -1
  427. package/src/ui/navigation/collapse/{sd-collapse-icon.control.ts → sd-collapse-icon.ts} +1 -1
  428. package/src/ui/navigation/collapse/{sd-collapse.control.ts → sd-collapse.ts} +3 -3
  429. package/src/ui/navigation/menu-utils.ts +5 -5
  430. package/src/ui/navigation/pagination/{sd-pagination.control.ts → sd-pagination.ts} +3 -3
  431. package/src/ui/navigation/sidebar/{sd-sidebar-container.control.ts → sd-sidebar-container.ts} +1 -1
  432. package/src/ui/navigation/sidebar/{sd-sidebar-menu.control.ts → sd-sidebar-menu.ts} +19 -19
  433. package/src/ui/navigation/sidebar/{sd-sidebar-user.control.ts → sd-sidebar-user.ts} +14 -14
  434. package/src/ui/navigation/sidebar/{sd-sidebar.control.ts → sd-sidebar.ts} +4 -4
  435. package/src/ui/navigation/tab/{sd-tab-item.control.ts → sd-tab-item.ts} +3 -3
  436. package/src/ui/navigation/tab/{sd-tab.control.ts → sd-tab.ts} +1 -1
  437. package/src/ui/navigation/tab/{sd-tabview-item.control.ts → sd-tabview-item.ts} +4 -4
  438. package/src/ui/navigation/tab/{sd-tabview.control.ts → sd-tabview.ts} +6 -6
  439. package/src/ui/navigation/topbar/{sd-topbar-container.control.ts → sd-topbar-container.ts} +1 -1
  440. package/src/ui/navigation/topbar/{sd-topbar-menu.control.ts → sd-topbar-menu.ts} +26 -26
  441. package/src/ui/navigation/topbar/{sd-topbar-user.control.ts → sd-topbar-user.ts} +15 -15
  442. package/src/ui/navigation/topbar/{sd-topbar.control.ts → sd-topbar.ts} +6 -6
  443. package/src/ui/overlay/busy/{sd-busy-container.control.ts → sd-busy-container.ts} +3 -3
  444. package/src/ui/overlay/dropdown/{sd-dropdown-popup.control.ts → sd-dropdown-popup.ts} +4 -4
  445. package/src/ui/overlay/dropdown/{sd-dropdown.control.ts → sd-dropdown.ts} +4 -4
  446. package/src/ui/overlay/modal/{sd-confirm-modal.control.ts → sd-confirm-modal.ts} +5 -5
  447. package/src/ui/overlay/modal/sd-modal.provider.ts +18 -18
  448. package/src/ui/overlay/modal/{sd-modal.control.ts → sd-modal.ts} +1 -1
  449. package/src/ui/overlay/modal/{sd-prompt-modal.control.ts → sd-prompt-modal.ts} +6 -6
  450. package/src/ui/overlay/toast/{sd-toast-container.control.ts → sd-toast-container.ts} +1 -1
  451. package/src/ui/overlay/toast/{sd-toast.control.ts → sd-toast.ts} +3 -3
  452. package/src/ui/visual/{sd-barcode.control.ts → sd-barcode.ts} +3 -3
  453. package/src/ui/visual/{sd-calendar.control.ts → sd-calendar.ts} +4 -4
  454. package/src/ui/visual/{sd-echarts.control.ts → sd-echarts.ts} +1 -1
  455. package/src/ui/visual/{sd-label.control.ts → sd-label.ts} +1 -1
  456. package/src/ui/visual/{sd-note.control.ts → sd-note.ts} +1 -1
  457. package/src/ui/visual/{sd-progress.control.ts → sd-progress.ts} +1 -1
  458. package/dist/core/directives/sd-events.directive.d.ts.map +0 -1
  459. package/dist/core/directives/sd-invalid.directive.d.ts +0 -8
  460. package/dist/core/directives/sd-invalid.directive.d.ts.map +0 -1
  461. package/dist/core/directives/sd-item-of-template.directive.d.ts +0 -14
  462. package/dist/core/directives/sd-item-of-template.directive.d.ts.map +0 -1
  463. package/dist/core/directives/sd-ripple.directive.d.ts +0 -8
  464. package/dist/core/directives/sd-ripple.directive.d.ts.map +0 -1
  465. package/dist/core/directives/sd-router-link.directive.d.ts.map +0 -1
  466. package/dist/core/directives/sd-show-effect.directive.d.ts +0 -9
  467. package/dist/core/directives/sd-show-effect.directive.d.ts.map +0 -1
  468. package/dist/core/directives/sd-typed-template.directive.d.ts +0 -8
  469. package/dist/core/directives/sd-typed-template.directive.d.ts.map +0 -1
  470. package/dist/core/utils/TDirectiveInputSignals.d.ts.map +0 -1
  471. package/dist/core/utils/useCurrentPageCodeSignal.d.ts +0 -3
  472. package/dist/core/utils/useCurrentPageCodeSignal.d.ts.map +0 -1
  473. package/dist/core/utils/useFullPageCodeSignal.d.ts +0 -3
  474. package/dist/core/utils/useFullPageCodeSignal.d.ts.map +0 -1
  475. package/dist/core/utils/useSdSystemConfigResource.d.ts.map +0 -1
  476. package/dist/core/utils/useViewTitleSignal.d.ts +0 -3
  477. package/dist/core/utils/useViewTitleSignal.d.ts.map +0 -1
  478. package/dist/core/utils/useViewTypeSignal.d.ts +0 -4
  479. package/dist/core/utils/useViewTypeSignal.d.ts.map +0 -1
  480. package/dist/features/base/sd-base-container.control.d.ts.map +0 -1
  481. package/dist/features/data-view/sd-data-detail.control.d.ts +0 -73
  482. package/dist/features/data-view/sd-data-detail.control.d.ts.map +0 -1
  483. package/dist/features/data-view/sd-data-select-button.control.d.ts +0 -35
  484. package/dist/features/data-view/sd-data-select-button.control.d.ts.map +0 -1
  485. package/dist/features/data-view/sd-data-select-button.control.js +0 -219
  486. package/dist/features/data-view/sd-data-sheet-column.directive.d.ts +0 -8
  487. package/dist/features/data-view/sd-data-sheet-column.directive.d.ts.map +0 -1
  488. package/dist/features/data-view/sd-data-sheet.control.d.ts +0 -120
  489. package/dist/features/data-view/sd-data-sheet.control.d.ts.map +0 -1
  490. package/dist/features/data-view/useDataSheetExcelManager.d.ts.map +0 -1
  491. package/dist/features/data-view/useDataSheetInlineEditManager.d.ts.map +0 -1
  492. package/dist/features/data-view/useDataSheetModalEditManager.d.ts.map +0 -1
  493. package/dist/features/data-view/useDataSheetRefreshManager.d.ts.map +0 -1
  494. package/dist/features/permission-table/sd-permission-table.control.d.ts +0 -32
  495. package/dist/features/permission-table/sd-permission-table.control.d.ts.map +0 -1
  496. package/dist/features/shared-data/sd-shared-data-select-button.control.d.ts +0 -16
  497. package/dist/features/shared-data/sd-shared-data-select-button.control.d.ts.map +0 -1
  498. package/dist/features/shared-data/sd-shared-data-select-list.control.d.ts.map +0 -1
  499. package/dist/features/shared-data/sd-shared-data-select.control.d.ts.map +0 -1
  500. package/dist/ui/data/list/sd-list-item.control.d.ts +0 -20
  501. package/dist/ui/data/list/sd-list-item.control.d.ts.map +0 -1
  502. package/dist/ui/data/list/sd-list.control.d.ts +0 -7
  503. package/dist/ui/data/list/sd-list.control.d.ts.map +0 -1
  504. package/dist/ui/data/sheet/sd-sheet-column.directive.d.ts.map +0 -1
  505. package/dist/ui/data/sheet/sd-sheet.control.d.ts.map +0 -1
  506. package/dist/ui/data/sheet/useSheetColumnResizing.d.ts +0 -17
  507. package/dist/ui/data/sheet/useSheetColumnResizing.d.ts.map +0 -1
  508. package/dist/ui/data/sheet/useSheetDomAccessor.d.ts.map +0 -1
  509. package/dist/ui/form/button/sd-additional-button.control.d.ts +0 -8
  510. package/dist/ui/form/button/sd-additional-button.control.d.ts.map +0 -1
  511. package/dist/ui/form/button/sd-anchor.control.d.ts +0 -8
  512. package/dist/ui/form/button/sd-anchor.control.d.ts.map +0 -1
  513. package/dist/ui/form/button/sd-button.control.d.ts.map +0 -1
  514. package/dist/ui/form/button/sd-modal-select-button.control.d.ts +0 -38
  515. package/dist/ui/form/button/sd-modal-select-button.control.d.ts.map +0 -1
  516. package/dist/ui/form/checkbox/sd-checkbox-group-item.control.d.ts.map +0 -1
  517. package/dist/ui/form/checkbox/sd-checkbox-group.control.d.ts +0 -8
  518. package/dist/ui/form/checkbox/sd-checkbox-group.control.d.ts.map +0 -1
  519. package/dist/ui/form/checkbox/sd-checkbox.control.d.ts +0 -19
  520. package/dist/ui/form/checkbox/sd-checkbox.control.d.ts.map +0 -1
  521. package/dist/ui/form/checkbox/sd-switch.control.d.ts +0 -14
  522. package/dist/ui/form/checkbox/sd-switch.control.d.ts.map +0 -1
  523. package/dist/ui/form/choice/sd-state-preset.control.d.ts.map +0 -1
  524. package/dist/ui/form/editor/sd-tiptap-editor.control.d.ts.map +0 -1
  525. package/dist/ui/form/input/sd-numpad.control.d.ts.map +0 -1
  526. package/dist/ui/form/input/sd-range.control.d.ts +0 -13
  527. package/dist/ui/form/input/sd-range.control.d.ts.map +0 -1
  528. package/dist/ui/form/input/sd-textarea.control.d.ts +0 -23
  529. package/dist/ui/form/input/sd-textarea.control.d.ts.map +0 -1
  530. package/dist/ui/form/input/sd-textfield.control.d.ts +0 -39
  531. package/dist/ui/form/input/sd-textfield.control.d.ts.map +0 -1
  532. package/dist/ui/form/sd-form.control.d.ts.map +0 -1
  533. package/dist/ui/form/select/sd-select-button.control.d.ts +0 -7
  534. package/dist/ui/form/select/sd-select-button.control.d.ts.map +0 -1
  535. package/dist/ui/form/select/sd-select-item.control.d.ts +0 -18
  536. package/dist/ui/form/select/sd-select-item.control.d.ts.map +0 -1
  537. package/dist/ui/form/select/sd-select.control.d.ts.map +0 -1
  538. package/dist/ui/layout/dock/sd-dock-container.control.d.ts +0 -12
  539. package/dist/ui/layout/dock/sd-dock-container.control.d.ts.map +0 -1
  540. package/dist/ui/layout/dock/sd-dock.control.d.ts +0 -19
  541. package/dist/ui/layout/dock/sd-dock.control.d.ts.map +0 -1
  542. package/dist/ui/layout/kanban/sd-kanban-board.control.d.ts +0 -24
  543. package/dist/ui/layout/kanban/sd-kanban-board.control.d.ts.map +0 -1
  544. package/dist/ui/layout/kanban/sd-kanban-lane.control.d.ts.map +0 -1
  545. package/dist/ui/layout/kanban/sd-kanban.control.d.ts.map +0 -1
  546. package/dist/ui/layout/sd-card.directive.d.ts +0 -6
  547. package/dist/ui/layout/sd-card.directive.d.ts.map +0 -1
  548. package/dist/ui/layout/sd-gap.control.d.ts +0 -12
  549. package/dist/ui/layout/sd-gap.control.d.ts.map +0 -1
  550. package/dist/ui/layout/sd-pane.directive.d.ts +0 -6
  551. package/dist/ui/layout/sd-pane.directive.d.ts.map +0 -1
  552. package/dist/ui/layout/view/sd-view-item.control.d.ts +0 -9
  553. package/dist/ui/layout/view/sd-view-item.control.d.ts.map +0 -1
  554. package/dist/ui/layout/view/sd-view.control.d.ts +0 -8
  555. package/dist/ui/layout/view/sd-view.control.d.ts.map +0 -1
  556. package/dist/ui/navigation/collapse/sd-collapse-icon.control.d.ts +0 -13
  557. package/dist/ui/navigation/collapse/sd-collapse-icon.control.d.ts.map +0 -1
  558. package/dist/ui/navigation/collapse/sd-collapse.control.d.ts +0 -14
  559. package/dist/ui/navigation/collapse/sd-collapse.control.d.ts.map +0 -1
  560. package/dist/ui/navigation/pagination/sd-pagination.control.d.ts.map +0 -1
  561. package/dist/ui/navigation/sidebar/sd-sidebar-container.control.d.ts.map +0 -1
  562. package/dist/ui/navigation/sidebar/sd-sidebar-menu.control.d.ts +0 -22
  563. package/dist/ui/navigation/sidebar/sd-sidebar-menu.control.d.ts.map +0 -1
  564. package/dist/ui/navigation/sidebar/sd-sidebar-user.control.d.ts +0 -16
  565. package/dist/ui/navigation/sidebar/sd-sidebar-user.control.d.ts.map +0 -1
  566. package/dist/ui/navigation/sidebar/sd-sidebar.control.d.ts +0 -8
  567. package/dist/ui/navigation/sidebar/sd-sidebar.control.d.ts.map +0 -1
  568. package/dist/ui/navigation/tab/sd-tab-item.control.d.ts +0 -10
  569. package/dist/ui/navigation/tab/sd-tab-item.control.d.ts.map +0 -1
  570. package/dist/ui/navigation/tab/sd-tab.control.d.ts +0 -7
  571. package/dist/ui/navigation/tab/sd-tab.control.d.ts.map +0 -1
  572. package/dist/ui/navigation/tab/sd-tabview-item.control.d.ts +0 -10
  573. package/dist/ui/navigation/tab/sd-tabview-item.control.d.ts.map +0 -1
  574. package/dist/ui/navigation/tab/sd-tabview.control.d.ts +0 -9
  575. package/dist/ui/navigation/tab/sd-tabview.control.d.ts.map +0 -1
  576. package/dist/ui/navigation/topbar/sd-topbar-container.control.d.ts +0 -6
  577. package/dist/ui/navigation/topbar/sd-topbar-container.control.d.ts.map +0 -1
  578. package/dist/ui/navigation/topbar/sd-topbar-menu.control.d.ts +0 -23
  579. package/dist/ui/navigation/topbar/sd-topbar-menu.control.d.ts.map +0 -1
  580. package/dist/ui/navigation/topbar/sd-topbar-user.control.d.ts +0 -13
  581. package/dist/ui/navigation/topbar/sd-topbar-user.control.d.ts.map +0 -1
  582. package/dist/ui/navigation/topbar/sd-topbar.control.d.ts.map +0 -1
  583. package/dist/ui/overlay/busy/sd-busy-container.control.d.ts +0 -14
  584. package/dist/ui/overlay/busy/sd-busy-container.control.d.ts.map +0 -1
  585. package/dist/ui/overlay/dropdown/sd-dropdown-popup.control.d.ts +0 -8
  586. package/dist/ui/overlay/dropdown/sd-dropdown-popup.control.d.ts.map +0 -1
  587. package/dist/ui/overlay/dropdown/sd-dropdown.control.d.ts.map +0 -1
  588. package/dist/ui/overlay/modal/sd-confirm-modal.control.d.ts +0 -17
  589. package/dist/ui/overlay/modal/sd-confirm-modal.control.d.ts.map +0 -1
  590. package/dist/ui/overlay/modal/sd-modal.control.d.ts.map +0 -1
  591. package/dist/ui/overlay/modal/sd-prompt-modal.control.d.ts +0 -19
  592. package/dist/ui/overlay/modal/sd-prompt-modal.control.d.ts.map +0 -1
  593. package/dist/ui/overlay/toast/sd-toast-container.control.d.ts +0 -7
  594. package/dist/ui/overlay/toast/sd-toast-container.control.d.ts.map +0 -1
  595. package/dist/ui/overlay/toast/sd-toast.control.d.ts +0 -14
  596. package/dist/ui/overlay/toast/sd-toast.control.d.ts.map +0 -1
  597. package/dist/ui/visual/sd-barcode.control.d.ts +0 -11
  598. package/dist/ui/visual/sd-barcode.control.d.ts.map +0 -1
  599. package/dist/ui/visual/sd-calendar.control.d.ts.map +0 -1
  600. package/dist/ui/visual/sd-echarts.control.d.ts +0 -13
  601. package/dist/ui/visual/sd-echarts.control.d.ts.map +0 -1
  602. package/dist/ui/visual/sd-label.control.d.ts +0 -9
  603. package/dist/ui/visual/sd-label.control.d.ts.map +0 -1
  604. package/dist/ui/visual/sd-note.control.d.ts +0 -9
  605. package/dist/ui/visual/sd-note.control.d.ts.map +0 -1
  606. package/dist/ui/visual/sd-progress.control.d.ts +0 -11
  607. package/dist/ui/visual/sd-progress.control.d.ts.map +0 -1
  608. package/src/features/data-view/sd-data-select-button.control.ts +0 -210
  609. /package/dist/core/utils/{TDirectiveInputSignals.js → directive-input-signals.js} +0 -0
@@ -0,0 +1,68 @@
1
+ import { booleanAttribute, computed, Directive, effect, inject, input, model, signal, } from "@angular/core";
2
+ import { SdModalProvider, } from "../../ui/overlay/modal/sd-modal.provider";
3
+ import { setupInvalid } from "../../core/utils/setups/setupInvalid";
4
+ import * as i0 from "@angular/core";
5
+ export class SdDataSelectButtonBase {
6
+ //-- implement
7
+ _sdModal = inject(SdModalProvider);
8
+ value = model(...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
9
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
10
+ required = input(false, { ...(ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
11
+ inset = input(false, { ...(ngDevMode ? { debugName: "inset" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
12
+ size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : /* istanbul ignore next */ []));
13
+ selectMode = input("single", ...(ngDevMode ? [{ debugName: "selectMode" }] : /* istanbul ignore next */ []));
14
+ isNoValue = computed(() => {
15
+ const v = this.value();
16
+ if (v == null)
17
+ return true;
18
+ if (Array.isArray(v))
19
+ return v.length === 0;
20
+ return false;
21
+ }, ...(ngDevMode ? [{ debugName: "isNoValue" }] : /* istanbul ignore next */ []));
22
+ selectedItems = signal([], ...(ngDevMode ? [{ debugName: "selectedItems" }] : /* istanbul ignore next */ []));
23
+ constructor() {
24
+ setupInvalid(() => (this.required() && this.value() == null ? "값을 입력하세요." : ""));
25
+ effect(() => {
26
+ const value = this.value();
27
+ const selectMode = this.selectMode();
28
+ queueMicrotask(async () => {
29
+ if (selectMode === "multi" &&
30
+ Array.isArray(value) &&
31
+ value.filterExists().length > 0) {
32
+ this.selectedItems.set(await this.load(value.filterExists()));
33
+ }
34
+ else if (selectMode === "single" && !Array.isArray(value) && value != null) {
35
+ this.selectedItems.set(await this.load([value]));
36
+ }
37
+ else {
38
+ this.selectedItems.set([]);
39
+ }
40
+ });
41
+ });
42
+ }
43
+ async doShowModal(options) {
44
+ const modal = this.modal();
45
+ const result = await this._sdModal.showAsync({
46
+ ...modal,
47
+ inputs: {
48
+ selectMode: this.selectMode(),
49
+ selectedItemKeys: (this.selectMode() === "multi"
50
+ ? (this.value() ?? [])
51
+ : [this.value()]).filterExists(),
52
+ ...modal.inputs,
53
+ },
54
+ }, options);
55
+ if (result) {
56
+ const newValue = this.selectMode() === "multi" ? result.selectedItemKeys : result.selectedItemKeys[0];
57
+ this.value.set(newValue);
58
+ }
59
+ }
60
+ doInitialValue() {
61
+ this.value.set((this.selectMode() === "multi" ? [] : undefined));
62
+ }
63
+ static ɵfac = function SdDataSelectButtonBase_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdDataSelectButtonBase)(); };
64
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: SdDataSelectButtonBase, inputs: { value: [1, "value"], disabled: [1, "disabled"], required: [1, "required"], inset: [1, "inset"], size: [1, "size"], selectMode: [1, "selectMode"] }, outputs: { value: "valueChange" } });
65
+ }
66
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdDataSelectButtonBase, [{
67
+ type: Directive
68
+ }], () => [], { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], inset: [{ type: i0.Input, args: [{ isSignal: true, alias: "inset", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], selectMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectMode", required: false }] }] }); })();
@@ -0,0 +1,15 @@
1
+ import { TemplateRef } from "@angular/core";
2
+ import { type SdItemOfTemplateContext } from "../../core/directives/sd-item-of-template";
3
+ import { SdDataSelectButtonBase } from "./sd-data-select-button.base";
4
+ import * as i0 from "@angular/core";
5
+ export declare class SdDataSelectButton {
6
+ parent: SdDataSelectButtonBase<any, any, keyof import("../..").SelectModeValue<TKey>>;
7
+ itemTplRef: import("@angular/core").Signal<TemplateRef<SdItemOfTemplateContext<any>> | undefined>;
8
+ onSearchClick(event: MouseEvent): Promise<void>;
9
+ onEraseClick(): void;
10
+ protected readonly tablerEraser = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M19 20h-10.5l-4.21 -4.3a1 1 0 0 1 0 -1.41l10 -10a1 1 0 0 1 1.41 0l5 5a1 1 0 0 1 0 1.41l-9.2 9.3\"></path><path d=\"M18 13.3l-6.3 -6.3\"></path></svg>";
11
+ protected readonly tablerSearch = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0\"></path><path d=\"M21 21l-6 -6\"></path></svg>";
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdDataSelectButton, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdDataSelectButton, "sd-data-select-button", never, {}, {}, ["itemTplRef"], ["*"], true, never>;
14
+ }
15
+ //# sourceMappingURL=sd-data-select-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sd-data-select-button.d.ts","sourceRoot":"","sources":["../../../src/features/data-view/sd-data-select-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,WAAW,EAEZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,2CAA2C,CAAC;AAQnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;;AAItE,qBA4Da,kBAAkB;IAC7B,MAAM,gFAAoD;IAE1D,UAAU,wFAGR;IAEI,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrD,YAAY,IAAI,IAAI;IAIpB,SAAS,CAAC,QAAQ,CAAC,YAAY,obAAgB;IAC/C,SAAS,CAAC,QAAQ,CAAC,YAAY,yXAAgB;yCAnBpC,kBAAkB;2CAAlB,kBAAkB;CAoB9B"}
@@ -0,0 +1,152 @@
1
+ import { ChangeDetectionStrategy, Component, contentChild, TemplateRef, ViewEncapsulation, } from "@angular/core";
2
+ import { SdItemOfTemplate, } from "../../core/directives/sd-item-of-template";
3
+ import { NgTemplateOutlet } from "@angular/common";
4
+ import { injectParent } from "../../core/utils/injectParent";
5
+ import { SdAdditionalButton } from "../../ui/form/button/sd-additional-button";
6
+ import { SdAnchor } from "../../ui/form/button/sd-anchor";
7
+ import { SdButton } from "../../ui/form/button/sd-button";
8
+ import { NgIcon } from "@ng-icons/core";
9
+ import { tablerEraser, tablerSearch } from "@ng-icons/tabler-icons";
10
+ import { SdDataSelectButtonBase } from "./sd-data-select-button.base";
11
+ import * as i0 from "@angular/core";
12
+ const _c0 = ["*"];
13
+ const _c1 = (a0, a1, a2) => ({ $implicit: a0, item: a1, index: a2, depth: 0 });
14
+ function SdDataSelectButton_Conditional_1_For_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
15
+ i0.ɵɵelementStart(0, "div", 3);
16
+ i0.ɵɵtext(1, ",\u00A0");
17
+ i0.ɵɵelementEnd();
18
+ } }
19
+ function SdDataSelectButton_Conditional_1_For_1_ng_template_2_Template(rf, ctx) { }
20
+ function SdDataSelectButton_Conditional_1_For_1_Template(rf, ctx) { if (rf & 1) {
21
+ i0.ɵɵconditionalCreate(0, SdDataSelectButton_Conditional_1_For_1_Conditional_0_Template, 2, 0, "div", 3);
22
+ i0.ɵɵelementStart(1, "div", 3);
23
+ i0.ɵɵtemplate(2, SdDataSelectButton_Conditional_1_For_1_ng_template_2_Template, 0, 0, "ng-template", 4);
24
+ i0.ɵɵelementEnd();
25
+ } if (rf & 2) {
26
+ const item_r1 = ctx.$implicit;
27
+ const ɵ$index_4_r2 = ctx.$index;
28
+ const ctx_r2 = i0.ɵɵnextContext(2);
29
+ i0.ɵɵconditional(ɵ$index_4_r2 !== 0 ? 0 : -1);
30
+ i0.ɵɵadvance(2);
31
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.itemTplRef())("ngTemplateOutletContext", i0.ɵɵpureFunction3(3, _c1, item_r1, item_r1, ɵ$index_4_r2));
32
+ } }
33
+ function SdDataSelectButton_Conditional_1_Template(rf, ctx) { if (rf & 1) {
34
+ i0.ɵɵrepeaterCreate(0, SdDataSelectButton_Conditional_1_For_1_Template, 3, 7, null, null, i0.ɵɵrepeaterTrackByIdentity);
35
+ } if (rf & 2) {
36
+ const ctx_r2 = i0.ɵɵnextContext();
37
+ i0.ɵɵrepeater(ctx_r2.parent.selectedItems());
38
+ } }
39
+ function SdDataSelectButton_Conditional_3_Template(rf, ctx) { if (rf & 1) {
40
+ const _r4 = i0.ɵɵgetCurrentView();
41
+ i0.ɵɵelementStart(0, "sd-anchor", 5);
42
+ i0.ɵɵlistener("click", function SdDataSelectButton_Conditional_3_Template_sd_anchor_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onEraseClick()); });
43
+ i0.ɵɵelement(1, "ng-icon", 6);
44
+ i0.ɵɵelementEnd();
45
+ } if (rf & 2) {
46
+ const ctx_r2 = i0.ɵɵnextContext();
47
+ i0.ɵɵproperty("theme", "danger");
48
+ i0.ɵɵadvance();
49
+ i0.ɵɵproperty("svg", ctx_r2.tablerEraser);
50
+ } }
51
+ function SdDataSelectButton_Conditional_4_Template(rf, ctx) { if (rf & 1) {
52
+ const _r5 = i0.ɵɵgetCurrentView();
53
+ i0.ɵɵelementStart(0, "sd-button", 7);
54
+ i0.ɵɵlistener("click", function SdDataSelectButton_Conditional_4_Template_sd_button_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onSearchClick($event)); });
55
+ i0.ɵɵelement(1, "ng-icon", 6);
56
+ i0.ɵɵelementEnd();
57
+ } if (rf & 2) {
58
+ const ctx_r2 = i0.ɵɵnextContext();
59
+ i0.ɵɵproperty("inset", true);
60
+ i0.ɵɵadvance();
61
+ i0.ɵɵproperty("svg", ctx_r2.tablerSearch);
62
+ } }
63
+ //#region SdDataSelectButton
64
+ export class SdDataSelectButton {
65
+ parent = injectParent();
66
+ itemTplRef = contentChild(SdItemOfTemplate, { ...(ngDevMode ? { debugName: "itemTplRef" } : /* istanbul ignore next */ {}), read: TemplateRef });
67
+ async onSearchClick(event) {
68
+ event.preventDefault();
69
+ event.stopPropagation();
70
+ await this.parent.doShowModal();
71
+ }
72
+ onEraseClick() {
73
+ this.parent.doInitialValue();
74
+ }
75
+ tablerEraser = tablerEraser;
76
+ tablerSearch = tablerSearch;
77
+ static ɵfac = function SdDataSelectButton_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdDataSelectButton)(); };
78
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdDataSelectButton, selectors: [["sd-data-select-button"]], contentQueries: function SdDataSelectButton_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
79
+ i0.ɵɵcontentQuerySignal(dirIndex, ctx.itemTplRef, SdItemOfTemplate, 5, TemplateRef);
80
+ } if (rf & 2) {
81
+ i0.ɵɵqueryAdvance();
82
+ } }, hostVars: 1, hostBindings: function SdDataSelectButton_HostBindings(rf, ctx) { if (rf & 2) {
83
+ i0.ɵɵattribute("data-sd-disabled", ctx.parent.disabled());
84
+ } }, ngContentSelectors: _c0, decls: 5, vars: 5, consts: [[3, "inset", "size"], [3, "theme"], [3, "inset"], [2, "display", "inline-block"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "click", "theme"], [3, "svg"], [3, "click", "inset"]], template: function SdDataSelectButton_Template(rf, ctx) { if (rf & 1) {
85
+ i0.ɵɵprojectionDef();
86
+ i0.ɵɵelementStart(0, "sd-additional-button", 0);
87
+ i0.ɵɵconditionalCreate(1, SdDataSelectButton_Conditional_1_Template, 2, 0);
88
+ i0.ɵɵprojection(2);
89
+ i0.ɵɵconditionalCreate(3, SdDataSelectButton_Conditional_3_Template, 2, 2, "sd-anchor", 1);
90
+ i0.ɵɵconditionalCreate(4, SdDataSelectButton_Conditional_4_Template, 2, 2, "sd-button", 2);
91
+ i0.ɵɵelementEnd();
92
+ } if (rf & 2) {
93
+ i0.ɵɵproperty("inset", ctx.parent.inset())("size", ctx.parent.size());
94
+ i0.ɵɵadvance();
95
+ i0.ɵɵconditional(ctx.itemTplRef() ? 1 : -1);
96
+ i0.ɵɵadvance(2);
97
+ i0.ɵɵconditional(!ctx.parent.disabled() && !ctx.parent.isNoValue() && !ctx.parent.required() ? 3 : -1);
98
+ i0.ɵɵadvance();
99
+ i0.ɵɵconditional(!ctx.parent.disabled() ? 4 : -1);
100
+ } }, dependencies: [SdAdditionalButton,
101
+ NgTemplateOutlet,
102
+ SdAnchor,
103
+ SdButton,
104
+ NgIcon], styles: ["sd-data-select-button {\n display: block;\n width: 100%;\n min-width: 3em;\n}"], encapsulation: 2, changeDetection: 0 });
105
+ }
106
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdDataSelectButton, [{
107
+ type: Component,
108
+ args: [{ selector: "sd-data-select-button", changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [
109
+ SdAdditionalButton,
110
+ NgTemplateOutlet,
111
+ SdAnchor,
112
+ SdButton,
113
+ NgIcon,
114
+ ], template: `
115
+ <sd-additional-button [inset]="parent.inset()" [size]="parent.size()">
116
+ @if (itemTplRef()) {
117
+ @for (item of parent.selectedItems(); track item; let index = $index) {
118
+ @if (index !== 0) {
119
+ <div style="display: inline-block">,&nbsp;</div>
120
+ }
121
+ <div style="display: inline-block">
122
+ <ng-template
123
+ [ngTemplateOutlet]="itemTplRef()!"
124
+ [ngTemplateOutletContext]="{
125
+ $implicit: item,
126
+ item: item,
127
+ index: index,
128
+ depth: 0,
129
+ }"
130
+ ></ng-template>
131
+ </div>
132
+ }
133
+ }
134
+ <ng-content />
135
+
136
+ @if (!parent.disabled() && !parent.isNoValue() && !parent.required()) {
137
+ <sd-anchor [theme]="'danger'" (click)="onEraseClick()">
138
+ <ng-icon [svg]="tablerEraser" />
139
+ </sd-anchor>
140
+ }
141
+
142
+ @if (!parent.disabled()) {
143
+ <sd-button (click)="onSearchClick($event)" [inset]="true">
144
+ <ng-icon [svg]="tablerSearch" />
145
+ </sd-button>
146
+ }
147
+ </sd-additional-button>
148
+ `, host: {
149
+ "[attr.data-sd-disabled]": "parent.disabled()",
150
+ }, styles: ["sd-data-select-button {\n display: block;\n width: 100%;\n min-width: 3em;\n}"] }]
151
+ }], null, { itemTplRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SdItemOfTemplate), { ...{ read: TemplateRef }, isSignal: true }] }] }); })();
152
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdDataSelectButton, { className: "SdDataSelectButton", filePath: "packages/angular/src/features/data-view/sd-data-select-button.ts", lineNumber: 83, forbidOrphanRendering: true }); })();
@@ -0,0 +1,8 @@
1
+ import { SdSheetColumn } from "../../ui/data/sheet/sd-sheet-column";
2
+ import * as i0 from "@angular/core";
3
+ export declare class SdDataSheetColumn extends SdSheetColumn {
4
+ edit: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdDataSheetColumn, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SdDataSheetColumn, "sd-data-sheet-column", never, { "edit": { "alias": "edit"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7
+ }
8
+ //# sourceMappingURL=sd-data-sheet-column.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sd-data-sheet-column.d.ts","sourceRoot":"","sources":["../../../src/features/data-view/sd-data-sheet-column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;;AAEpE,qBAIa,iBAAkB,SAAQ,aAAa;IAClD,IAAI,qEAAiD;yCAD1C,iBAAiB;2CAAjB,iBAAiB;CAE7B"}
@@ -1,12 +1,12 @@
1
1
  import { booleanAttribute, Directive, input } from "@angular/core";
2
- import { SdSheetColumnDirective } from "../../ui/data/sheet/sd-sheet-column.directive";
2
+ import { SdSheetColumn } from "../../ui/data/sheet/sd-sheet-column";
3
3
  import * as i0 from "@angular/core";
4
- export class SdDataSheetColumnDirective extends SdSheetColumnDirective {
4
+ export class SdDataSheetColumn extends SdSheetColumn {
5
5
  edit = input(false, { ...(ngDevMode ? { debugName: "edit" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
6
- static ɵfac = /*@__PURE__*/ (() => { let ɵSdDataSheetColumnDirective_BaseFactory; return function SdDataSheetColumnDirective_Factory(__ngFactoryType__) { return (ɵSdDataSheetColumnDirective_BaseFactory || (ɵSdDataSheetColumnDirective_BaseFactory = i0.ɵɵgetInheritedFactory(SdDataSheetColumnDirective)))(__ngFactoryType__ || SdDataSheetColumnDirective); }; })();
7
- static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: SdDataSheetColumnDirective, selectors: [["sd-data-sheet-column"]], inputs: { edit: [1, "edit"] }, features: [i0.ɵɵInheritDefinitionFeature] });
6
+ static ɵfac = /*@__PURE__*/ (() => { let ɵSdDataSheetColumn_BaseFactory; return function SdDataSheetColumn_Factory(__ngFactoryType__) { return (ɵSdDataSheetColumn_BaseFactory || (ɵSdDataSheetColumn_BaseFactory = i0.ɵɵgetInheritedFactory(SdDataSheetColumn)))(__ngFactoryType__ || SdDataSheetColumn); }; })();
7
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: SdDataSheetColumn, selectors: [["sd-data-sheet-column"]], inputs: { edit: [1, "edit"] }, features: [i0.ɵɵInheritDefinitionFeature] });
8
8
  }
9
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdDataSheetColumnDirective, [{
9
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdDataSheetColumn, [{
10
10
  type: Directive,
11
11
  args: [{
12
12
  selector: "sd-data-sheet-column",
@@ -0,0 +1,76 @@
1
+ import { type InputSignal, type Signal, TemplateRef, type WritableSignal } from "@angular/core";
2
+ import type { ArrayOneWayDiffResult } from "@simplysm/core-common";
3
+ import type { SortingDef } from "../../ui/data/sheet/sd-sheet";
4
+ import type { SdSelectModal } from "../../ui/form/button/sd-modal-select-button";
5
+ import type { SelectModalOutputResult } from "../../core/types/select-modal-output-result";
6
+ import type { SdDataSheetItemPropInfo, SdDataSheetItemInfo, SdDataSheetSearchResult } from "./sd-data-sheet.types";
7
+ import * as i0 from "@angular/core";
8
+ export type { SdDataSheetItemPropInfo, SdDataSheetItemInfo, SdDataSheetSearchResult, } from "./sd-data-sheet.types";
9
+ export declare abstract class SdDataSheetBase<TFilter extends Record<string, any>, TItem, TKey extends string | number | undefined> implements SdSelectModal<TItem> {
10
+ abstract canUse: Signal<boolean>;
11
+ abstract canEdit: Signal<boolean>;
12
+ hideTool?: Signal<boolean>;
13
+ abstract editMode: "inline" | "modal" | undefined;
14
+ abstract selectMode: InputSignal<"single" | "multi" | undefined>;
15
+ diffsExcludes?: string[];
16
+ abstract bindFilter(): TFilter;
17
+ abstract itemPropInfo: SdDataSheetItemPropInfo<TItem>;
18
+ abstract getItemInfoFn: (item: TItem) => SdDataSheetItemInfo<TKey>;
19
+ prepareRefreshEffect?(): void;
20
+ abstract search(usePagination: boolean): Promise<SdDataSheetSearchResult<TItem>> | SdDataSheetSearchResult<TItem>;
21
+ editItem?(item?: TItem): Promise<boolean | undefined> | boolean | undefined;
22
+ toggleDeleteItems?(del: boolean): Promise<boolean>;
23
+ newItem?(): Promise<TItem> | TItem;
24
+ submit?(diffs: ArrayOneWayDiffResult<TItem>[]): Promise<boolean> | boolean;
25
+ downloadExcel?(items: TItem[]): Promise<void> | void;
26
+ uploadExcel?(file: File): Promise<void> | void;
27
+ private readonly _filterMgr;
28
+ private readonly _refreshMgr;
29
+ private readonly _inlineEditMgr;
30
+ private readonly _modalEditMgr;
31
+ private readonly _excelMgr;
32
+ key: string | undefined;
33
+ viewType: Signal<import("../..").SdViewType>;
34
+ busyCount: WritableSignal<number>;
35
+ busyMessage: WritableSignal<string | undefined>;
36
+ initialized: WritableSignal<boolean>;
37
+ close: import("@angular/core").OutputEmitterRef<SelectModalOutputResult<TItem>>;
38
+ submitted: import("@angular/core").OutputEmitterRef<boolean>;
39
+ selectedItemKeys: import("@angular/core").ModelSignal<TKey[]>;
40
+ actionTplRef?: TemplateRef<any>;
41
+ autoSelect: Signal<"click" | undefined>;
42
+ items: WritableSignal<TItem[]>;
43
+ summaryData: WritableSignal<Partial<TItem>>;
44
+ selectedItems: WritableSignal<TItem[]>;
45
+ trackByFn: (item: TItem) => TKey | TItem;
46
+ page: WritableSignal<number>;
47
+ pageLength: WritableSignal<number>;
48
+ sortingDefs: WritableSignal<SortingDef[]>;
49
+ filter: WritableSignal<TFilter>;
50
+ lastFilter: WritableSignal<TFilter>;
51
+ isSelectedItemsHasDeleted: Signal<boolean>;
52
+ isSelectedItemsHasNotDeleted: Signal<boolean>;
53
+ getItemCellStyleFn: (item: TItem) => string | undefined;
54
+ getItemSelectableFn: (item: TItem) => boolean;
55
+ constructor();
56
+ checkIgnoreChanges(): boolean;
57
+ doFilterSubmit(): void;
58
+ doRefresh(): void;
59
+ refresh(): Promise<void>;
60
+ doAddItem(): Promise<void>;
61
+ doSubmit(opt?: {
62
+ permCheck?: boolean;
63
+ hideNoChangeMessage?: boolean;
64
+ }): Promise<void>;
65
+ doToggleDeleteItem(item: TItem): void;
66
+ doEditItem(item?: TItem): Promise<void>;
67
+ doToggleDeleteItems(del: boolean): Promise<void>;
68
+ doModalConfirm(): void;
69
+ doModalCancel(): void;
70
+ doDownloadExcel(): Promise<void>;
71
+ doUploadExcel(): Promise<void>;
72
+ private _getOrmDataEditToastErrorMessage;
73
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdDataSheetBase<any, any, any>, never>;
74
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SdDataSheetBase<any, any, any>, never, never, { "selectedItemKeys": { "alias": "selectedItemKeys"; "required": false; "isSignal": true; }; }, { "close": "close"; "submitted": "submitted"; "selectedItemKeys": "selectedItemKeysChange"; }, never, never, true, never>;
75
+ }
76
+ //# sourceMappingURL=sd-data-sheet.base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sd-data-sheet.base.d.ts","sourceRoot":"","sources":["../../../src/features/data-view/sd-data-sheet.base.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAKhB,KAAK,MAAM,EACX,WAAW,EACX,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAM/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AAY3F,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;;AAT/B,YAAY,EACV,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAO/B,8BACsB,eAAe,CACnC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,KAAK,EACL,IAAI,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,CACxC,YAAW,aAAa,CAAC,KAAK,CAAC;IAE/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAE3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IAEjE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB,QAAQ,CAAC,UAAU,IAAI,OAAO;IAE9B,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACtD,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEnE,oBAAoB,CAAC,IAAI,IAAI;IAE7B,QAAQ,CAAC,MAAM,CACb,aAAa,EAAE,OAAO,GACrB,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,GAAG,uBAAuB,CAAC,KAAK,CAAC;IAG3E,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,OAAO,GAAG,SAAS;IAC3E,iBAAiB,CAAC,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAClD,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK;IAClC,MAAM,CAAC,CAAC,KAAK,EAAE,qBAAqB,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO;IAC1E,aAAa,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IACpD,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAG9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwD;IACnF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgE;IAC5F,OAAO,CAAC,QAAQ,CAAC,cAAc,CAE7B;IACF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAE5B;IACF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwD;IAGlF,GAAG,qBAA2D;IAE9D,QAAQ,qCAAoC;IAE5C,SAAS,yBAAa;IACtB,WAAW,qCAAyC;IACpD,WAAW,0BAAiB;IAC5B,KAAK,2EAA4C;IACjD,SAAS,oDAAqB;IAC9B,gBAAgB,8CAAqB;IACrC,YAAY,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAEhC,UAAU,8BAIR;IAEF,KAAK,0BAAuB;IAC5B,WAAW,iCAA8B;IACzC,aAAa,0BAAuB;IAEpC,SAAS,GAAI,MAAM,KAAK,KAAG,IAAI,GAAG,KAAK,CAAyC;IAEhF,IAAI,yBAAa;IACjB,UAAU,yBAAa;IACvB,WAAW,+BAA4B;IAGvC,MAAM,EAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,UAAU,EAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAGrC,yBAAyB,kBAMvB;IAEF,4BAA4B,kBAM1B;IAEF,kBAAkB,GAAI,MAAM,KAAK,KAAG,MAAM,GAAG,SAAS,CAGtC;IAEhB,mBAAmB,GAAI,MAAM,KAAK,KAAG,OAAO,CAAuC;;IA0FnF,kBAAkB;IAIlB,cAAc;IAId,SAAS;IAQH,OAAO;IAMP,SAAS;IAIT,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE;IAI3E,kBAAkB,CAAC,IAAI,EAAE,KAAK;IAMxB,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK;IAIvB,mBAAmB,CAAC,GAAG,EAAE,OAAO;IAItC,cAAc;IAId,aAAa;IAMP,eAAe;IAIf,aAAa;IAMnB,OAAO,CAAC,gCAAgC;yCA9PpB,eAAe;2CAAf,eAAe;CAwQpC"}
@@ -0,0 +1,196 @@
1
+ import { computed, Directive, model, output, reflectComponentType, signal, TemplateRef, } from "@angular/core";
2
+ import { mark } from "../../core/utils/mark";
3
+ import { injectViewTypeSignal } from "../../core/utils/injectViewTypeSignal";
4
+ import { setupCumulateSelectedKeys } from "../../core/utils/setups/setupCumulateSelectedKeys";
5
+ import { setupCloserWhenSingleSelectionChange } from "./setupCloserWhenSingleSelectionChange";
6
+ import { setupCanDeactivate } from "../../core/utils/setups/setupCanDeactivate";
7
+ import { TXT_CHANGE_IGNORE_CONFIRM } from "../../core/commons";
8
+ import { useDataSheetFilterManager } from "./useDataSheetFilterManager";
9
+ import { injectDataSheetRefreshManager } from "./injectDataSheetRefreshManager";
10
+ import { injectDataSheetInlineEditManager } from "./injectDataSheetInlineEditManager";
11
+ import { injectDataSheetModalEditManager } from "./injectDataSheetModalEditManager";
12
+ import { injectDataSheetExcelManager } from "./injectDataSheetExcelManager";
13
+ import * as i0 from "@angular/core";
14
+ export class SdDataSheetBase {
15
+ hideTool;
16
+ diffsExcludes;
17
+ //-- composable instances
18
+ _filterMgr;
19
+ _refreshMgr;
20
+ _inlineEditMgr;
21
+ _modalEditMgr;
22
+ _excelMgr;
23
+ //-- shared state (D1: class 소유)
24
+ key = reflectComponentType(this.constructor)?.selector;
25
+ viewType = injectViewTypeSignal(() => this);
26
+ busyCount = signal(0, ...(ngDevMode ? [{ debugName: "busyCount" }] : /* istanbul ignore next */ []));
27
+ busyMessage = signal(undefined, ...(ngDevMode ? [{ debugName: "busyMessage" }] : /* istanbul ignore next */ []));
28
+ initialized = signal(false, ...(ngDevMode ? [{ debugName: "initialized" }] : /* istanbul ignore next */ []));
29
+ close = output();
30
+ submitted = output();
31
+ selectedItemKeys = model([], ...(ngDevMode ? [{ debugName: "selectedItemKeys" }] : /* istanbul ignore next */ []));
32
+ actionTplRef;
33
+ autoSelect = computed(() => (!this.canEdit() || this.editMode === "modal") && this.selectMode() === "single"
34
+ ? "click"
35
+ : undefined, ...(ngDevMode ? [{ debugName: "autoSelect" }] : /* istanbul ignore next */ []));
36
+ items = signal([], ...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
37
+ summaryData = signal({}, ...(ngDevMode ? [{ debugName: "summaryData" }] : /* istanbul ignore next */ []));
38
+ selectedItems = signal([], ...(ngDevMode ? [{ debugName: "selectedItems" }] : /* istanbul ignore next */ []));
39
+ trackByFn = (item) => this.getItemInfoFn(item).key ?? item;
40
+ page = signal(0, ...(ngDevMode ? [{ debugName: "page" }] : /* istanbul ignore next */ []));
41
+ pageLength = signal(0, ...(ngDevMode ? [{ debugName: "pageLength" }] : /* istanbul ignore next */ []));
42
+ sortingDefs = signal([], ...(ngDevMode ? [{ debugName: "sortingDefs" }] : /* istanbul ignore next */ []));
43
+ //-- filter state (composable에서 생성, 재할당)
44
+ filter;
45
+ lastFilter;
46
+ //-- computed
47
+ isSelectedItemsHasDeleted = computed(() => this.selectedItems().some((item) => this.itemPropInfo.isDeleted != null &&
48
+ item[this.itemPropInfo.isDeleted]), ...(ngDevMode ? [{ debugName: "isSelectedItemsHasDeleted" }] : /* istanbul ignore next */ []));
49
+ isSelectedItemsHasNotDeleted = computed(() => this.selectedItems().some((item) => this.itemPropInfo.isDeleted == null ||
50
+ !item[this.itemPropInfo.isDeleted]), ...(ngDevMode ? [{ debugName: "isSelectedItemsHasNotDeleted" }] : /* istanbul ignore next */ []));
51
+ getItemCellStyleFn = (item) => this.itemPropInfo.isDeleted != null && item[this.itemPropInfo.isDeleted]
52
+ ? "text-decoration: line-through;"
53
+ : undefined;
54
+ getItemSelectableFn = (item) => this.getItemInfoFn(item).canSelect;
55
+ constructor() {
56
+ setupCumulateSelectedKeys({
57
+ items: this.items,
58
+ selectedItems: this.selectedItems,
59
+ selectedItemKeys: this.selectedItemKeys,
60
+ selectMode: () => this.selectMode(),
61
+ keySelectorFn: (item) => this.getItemInfoFn(item).key,
62
+ });
63
+ setupCloserWhenSingleSelectionChange({
64
+ selectedItemKeys: this.selectedItemKeys,
65
+ selectedItems: this.selectedItems,
66
+ selectMode: () => this.selectMode(),
67
+ close: this.close,
68
+ });
69
+ //-- filter composable
70
+ this._filterMgr = useDataSheetFilterManager({
71
+ bindFilter: () => this.bindFilter(),
72
+ busyCount: this.busyCount,
73
+ canUse: () => this.canUse(),
74
+ page: this.page,
75
+ checkIgnoreChanges: () => this.checkIgnoreChanges(),
76
+ });
77
+ this.filter = this._filterMgr.filter;
78
+ this.lastFilter = this._filterMgr.lastFilter;
79
+ //-- refresh composable
80
+ this._refreshMgr = injectDataSheetRefreshManager({
81
+ busyCount: this.busyCount,
82
+ initialized: this.initialized,
83
+ canUse: () => this.canUse(),
84
+ items: this.items,
85
+ selectedItems: this.selectedItems,
86
+ pageLength: this.pageLength,
87
+ summaryData: this.summaryData,
88
+ page: this.page,
89
+ lastFilter: this.lastFilter,
90
+ sortingDefs: this.sortingDefs,
91
+ getItemInfoFn: (item) => this.getItemInfoFn(item),
92
+ search: (p) => this.search(p),
93
+ prepareRefreshEffect: () => this.prepareRefreshEffect?.(),
94
+ getDiffsExcludes: () => this.diffsExcludes,
95
+ });
96
+ //-- inline edit composable
97
+ this._inlineEditMgr = injectDataSheetInlineEditManager({
98
+ busyCount: this.busyCount,
99
+ canEdit: () => this.canEdit(),
100
+ items: this.items,
101
+ submitted: this.submitted,
102
+ itemPropInfo: () => this.itemPropInfo,
103
+ getItemInfoFn: (item) => this.getItemInfoFn(item),
104
+ getDiffs: () => this._refreshMgr.getDiffs(),
105
+ refresh: () => this._refreshMgr.refresh(),
106
+ getNewItemFn: () => this.newItem?.bind(this),
107
+ getSubmitFn: () => this.submit?.bind(this),
108
+ errorMessageFn: (err) => this._getOrmDataEditToastErrorMessage(err),
109
+ });
110
+ //-- modal edit composable
111
+ this._modalEditMgr = injectDataSheetModalEditManager({
112
+ busyCount: this.busyCount,
113
+ canEdit: () => this.canEdit(),
114
+ selectedItemKeys: this.selectedItemKeys,
115
+ selectedItems: this.selectedItems,
116
+ close: this.close,
117
+ refresh: () => this._refreshMgr.refresh(),
118
+ getEditItemFn: () => this.editItem?.bind(this),
119
+ getToggleDeleteItemsFn: () => this.toggleDeleteItems?.bind(this),
120
+ errorMessageFn: (err) => this._getOrmDataEditToastErrorMessage(err),
121
+ });
122
+ //-- excel composable
123
+ this._excelMgr = injectDataSheetExcelManager({
124
+ busyCount: this.busyCount,
125
+ search: (p) => this.search(p),
126
+ refresh: () => this._refreshMgr.refresh(),
127
+ getDownloadExcelFn: () => this.downloadExcel?.bind(this),
128
+ getUploadExcelFn: () => this.uploadExcel?.bind(this),
129
+ errorMessageFn: (err) => this._getOrmDataEditToastErrorMessage(err),
130
+ });
131
+ setupCanDeactivate(() => this.viewType() === "modal" || this.checkIgnoreChanges());
132
+ }
133
+ //-- D2: class 메서드 (커스터마이징 가능)
134
+ checkIgnoreChanges() {
135
+ return this._refreshMgr.getDiffs().length === 0 || confirm(TXT_CHANGE_IGNORE_CONFIRM);
136
+ }
137
+ doFilterSubmit() {
138
+ this._filterMgr.doFilterSubmit();
139
+ }
140
+ doRefresh() {
141
+ if (this.busyCount() > 0)
142
+ return;
143
+ if (!this.canUse())
144
+ return;
145
+ if (!this.checkIgnoreChanges())
146
+ return;
147
+ mark(this.lastFilter);
148
+ }
149
+ async refresh() {
150
+ await this._refreshMgr.refresh();
151
+ }
152
+ //-- inline edit (delegated to composable)
153
+ async doAddItem() {
154
+ await this._inlineEditMgr.doAddItem();
155
+ }
156
+ async doSubmit(opt) {
157
+ await this._inlineEditMgr.doSubmit(opt);
158
+ }
159
+ doToggleDeleteItem(item) {
160
+ this._inlineEditMgr.doToggleDeleteItem(item);
161
+ }
162
+ //-- modal edit (delegated to composable)
163
+ async doEditItem(item) {
164
+ await this._modalEditMgr.doEditItem(item);
165
+ }
166
+ async doToggleDeleteItems(del) {
167
+ await this._modalEditMgr.doToggleDeleteItems(del);
168
+ }
169
+ doModalConfirm() {
170
+ this._modalEditMgr.doModalConfirm();
171
+ }
172
+ doModalCancel() {
173
+ this._modalEditMgr.doModalCancel();
174
+ }
175
+ //-- excel (delegated to composable)
176
+ async doDownloadExcel() {
177
+ await this._excelMgr.doDownloadExcel();
178
+ }
179
+ async doUploadExcel() {
180
+ await this._excelMgr.doUploadExcel();
181
+ }
182
+ //-- private
183
+ _getOrmDataEditToastErrorMessage(err) {
184
+ const message = err instanceof Error ? err.message : String(err);
185
+ if (message.includes("a parent row: a foreign key constraint") ||
186
+ message.includes("conflicted with the REFERENCE")) {
187
+ return "경고! 연결된 작업에 의한 처리 거부. 후속작업 확인 요망";
188
+ }
189
+ return message;
190
+ }
191
+ static ɵfac = function SdDataSheetBase_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdDataSheetBase)(); };
192
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: SdDataSheetBase, inputs: { selectedItemKeys: [1, "selectedItemKeys"] }, outputs: { close: "close", submitted: "submitted", selectedItemKeys: "selectedItemKeysChange" } });
193
+ }
194
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdDataSheetBase, [{
195
+ type: Directive
196
+ }], () => [], { close: [{ type: i0.Output, args: ["close"] }], submitted: [{ type: i0.Output, args: ["submitted"] }], selectedItemKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedItemKeys", required: false }] }, { type: i0.Output, args: ["selectedItemKeysChange"] }] }); })();
@@ -0,0 +1,48 @@
1
+ import { TemplateRef } from "@angular/core";
2
+ import { SdForm } from "../../ui/form/sd-form";
3
+ import { SdDataSheetColumn } from "./sd-data-sheet-column";
4
+ import { SdDataSheetBase } from "./sd-data-sheet.base";
5
+ import * as i0 from "@angular/core";
6
+ export declare class SdDataSheet {
7
+ parent: SdDataSheetBase<any, any, any>;
8
+ formCtrl: import("@angular/core").Signal<SdForm | undefined>;
9
+ insertText: import("@angular/core").InputSignal<string | undefined>;
10
+ deleteText: import("@angular/core").InputSignal<string | undefined>;
11
+ restoreText: import("@angular/core").InputSignal<string | undefined>;
12
+ deleteIcon: import("@angular/core").InputSignal<string>;
13
+ restoreIcon: import("@angular/core").InputSignal<string>;
14
+ pageTopbarTplRef: import("@angular/core").Signal<TemplateRef<any> | undefined>;
15
+ prevTplRef: import("@angular/core").Signal<TemplateRef<any> | undefined>;
16
+ filterTplRef: import("@angular/core").Signal<TemplateRef<any> | undefined>;
17
+ beforeToolTplRef: import("@angular/core").Signal<TemplateRef<any> | undefined>;
18
+ toolTplRef: import("@angular/core").Signal<TemplateRef<any> | undefined>;
19
+ modalBottomTplRef: import("@angular/core").Signal<TemplateRef<any> | undefined>;
20
+ columnControls: import("@angular/core").Signal<readonly SdDataSheetColumn[]>;
21
+ modalActionTplRef: import("@angular/core").Signal<TemplateRef<any> | undefined>;
22
+ constructor();
23
+ protected readonly icons: {
24
+ tablerRefresh: string;
25
+ tablerDeviceFloppy: string;
26
+ tablerSearch: string;
27
+ tablerCirclePlus: string;
28
+ tablerUpload: string;
29
+ tablerFileExcel: string;
30
+ tablerEdit: string;
31
+ };
32
+ onFilterSubmit(): void;
33
+ onRefreshButtonClick(): void;
34
+ onCreateItemButtonClick(): Promise<void>;
35
+ onEditItemButtonClick(item: any, index: number, event: MouseEvent): Promise<void>;
36
+ onToggleDeleteItemsButtonClick(del: boolean): Promise<void>;
37
+ onToggleDeleteItemButtonClick(item: any): void;
38
+ onSubmitButtonClick(): void;
39
+ onSubmit(): Promise<void>;
40
+ onAddItemButtonClick(): Promise<void>;
41
+ onDownloadExcelButtonClick(): Promise<void>;
42
+ onUploadExcelButtonClick(): Promise<void>;
43
+ onConfirmButtonClick(): void;
44
+ onCancelButtonClick(): void;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdDataSheet, never>;
46
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdDataSheet, "sd-data-sheet", never, { "insertText": { "alias": "insertText"; "required": false; "isSignal": true; }; "deleteText": { "alias": "deleteText"; "required": false; "isSignal": true; }; "restoreText": { "alias": "restoreText"; "required": false; "isSignal": true; }; "deleteIcon": { "alias": "deleteIcon"; "required": false; "isSignal": true; }; "restoreIcon": { "alias": "restoreIcon"; "required": false; "isSignal": true; }; }, {}, ["pageTopbarTplRef", "prevTplRef", "filterTplRef", "beforeToolTplRef", "toolTplRef", "modalBottomTplRef", "columnControls"], never, true, never>;
47
+ }
48
+ //# sourceMappingURL=sd-data-sheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sd-data-sheet.d.ts","sourceRoot":"","sources":["../../../src/features/data-view/sd-data-sheet.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,WAAW,EAGZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAM/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAc3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;;AAIvD,qBAqVa,WAAW;IACtB,MAAM,iCAAkD;IAExD,QAAQ,qDAAiC;IAEzC,UAAU,0DAAmB;IAC7B,UAAU,0DAAmB;IAC7B,WAAW,0DAAmB;IAC9B,UAAU,8CAAuB;IACjC,WAAW,8CAAwB;IAEnC,gBAAgB,+DAAwD;IACxE,UAAU,+DAAkD;IAC5D,YAAY,+DAAoD;IAChE,gBAAgB,+DAAwD;IACxE,UAAU,+DAAkD;IAC5D,iBAAiB,+DAAyD;IAE1E,cAAc,+DAAsC;IAEpD,iBAAiB,+DAAsD;;IAQvE,SAAS,CAAC,QAAQ,CAAC,KAAK;;;;;;;;MAQtB;IAEF,cAAc;IAId,oBAAoB;IAId,uBAAuB;IAIvB,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU;IAMjE,8BAA8B,CAAC,GAAG,EAAE,OAAO;IAIjD,6BAA6B,CAAC,IAAI,EAAE,GAAG;IAIvC,mBAAmB;IAIb,QAAQ;IAIR,oBAAoB;IAIpB,0BAA0B;IAI1B,wBAAwB;IAI9B,oBAAoB;IAIpB,mBAAmB;yCAxFR,WAAW;2CAAX,WAAW;CA2FvB"}