@simplysm/solid 13.0.76 → 13.0.77

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 (291) hide show
  1. package/README.md +9 -10
  2. package/dist/components/data/kanban/Kanban.d.ts +31 -38
  3. package/dist/components/data/kanban/Kanban.d.ts.map +1 -1
  4. package/dist/components/data/kanban/Kanban.js.map +1 -1
  5. package/dist/components/data/list/List.d.ts +7 -28
  6. package/dist/components/data/list/List.d.ts.map +1 -1
  7. package/dist/components/data/list/List.js +3 -2
  8. package/dist/components/data/list/List.js.map +2 -2
  9. package/dist/components/data/sheet/DataSheet.d.ts +3 -8
  10. package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
  11. package/dist/components/data/sheet/DataSheet.js +305 -418
  12. package/dist/components/data/sheet/DataSheet.js.map +2 -2
  13. package/dist/components/data/sheet/{types.d.ts → DataSheet.types.d.ts} +9 -3
  14. package/dist/components/data/sheet/DataSheet.types.d.ts.map +1 -0
  15. package/dist/components/data/sheet/DataSheet.types.js +1 -0
  16. package/dist/components/data/sheet/{sheetUtils.d.ts → DataSheet.utils.d.ts} +2 -2
  17. package/dist/components/data/sheet/DataSheet.utils.d.ts.map +1 -0
  18. package/dist/components/data/sheet/{sheetUtils.js → DataSheet.utils.js} +3 -3
  19. package/dist/components/data/sheet/DataSheet.utils.js.map +6 -0
  20. package/dist/components/data/sheet/DataSheetColumn.d.ts +1 -1
  21. package/dist/components/data/sheet/DataSheetColumn.d.ts.map +1 -1
  22. package/dist/components/data/sheet/DataSheetConfigDialog.d.ts +1 -1
  23. package/dist/components/data/sheet/DataSheetConfigDialog.d.ts.map +1 -1
  24. package/dist/components/data/sheet/hooks/useDataSheetExpansion.d.ts +1 -1
  25. package/dist/components/data/sheet/hooks/useDataSheetExpansion.d.ts.map +1 -1
  26. package/dist/components/data/sheet/hooks/useDataSheetExpansion.js +1 -1
  27. package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.d.ts +2 -2
  28. package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.d.ts.map +1 -1
  29. package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.d.ts +27 -0
  30. package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.d.ts.map +1 -0
  31. package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.js +173 -0
  32. package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.js.map +6 -0
  33. package/dist/components/data/sheet/hooks/useDataSheetReorder.d.ts +1 -2
  34. package/dist/components/data/sheet/hooks/useDataSheetReorder.d.ts.map +1 -1
  35. package/dist/components/data/sheet/hooks/useDataSheetReorder.js.map +1 -1
  36. package/dist/components/data/sheet/hooks/useDataSheetSelection.d.ts +2 -2
  37. package/dist/components/data/sheet/hooks/useDataSheetSelection.d.ts.map +1 -1
  38. package/dist/components/data/sheet/hooks/useDataSheetSelection.js +2 -2
  39. package/dist/components/data/sheet/hooks/useDataSheetSelection.js.map +1 -1
  40. package/dist/components/data/sheet/hooks/useDataSheetSorting.d.ts +1 -1
  41. package/dist/components/data/sheet/hooks/useDataSheetSorting.d.ts.map +1 -1
  42. package/dist/components/data/sheet/hooks/useDataSheetSorting.js +1 -1
  43. package/dist/components/disclosure/Dialog.d.ts +6 -10
  44. package/dist/components/disclosure/Dialog.d.ts.map +1 -1
  45. package/dist/components/disclosure/Dialog.js +11 -14
  46. package/dist/components/disclosure/Dialog.js.map +2 -2
  47. package/dist/components/disclosure/Dropdown.d.ts +8 -12
  48. package/dist/components/disclosure/Dropdown.d.ts.map +1 -1
  49. package/dist/components/disclosure/Dropdown.js.map +1 -1
  50. package/dist/components/disclosure/Tabs.d.ts +3 -5
  51. package/dist/components/disclosure/Tabs.d.ts.map +1 -1
  52. package/dist/components/disclosure/Tabs.js.map +1 -1
  53. package/dist/components/display/Barcode.d.ts +1 -1
  54. package/dist/components/display/Barcode.d.ts.map +1 -1
  55. package/dist/components/display/Barcode.js +2 -1
  56. package/dist/components/display/Barcode.js.map +2 -2
  57. package/dist/components/display/Barcode.types.d.ts +2 -0
  58. package/dist/components/display/Barcode.types.d.ts.map +1 -0
  59. package/dist/components/display/Barcode.types.js +1 -0
  60. package/dist/components/display/Echarts.d.ts +2 -2
  61. package/dist/components/display/Echarts.d.ts.map +1 -1
  62. package/dist/components/display/Echarts.js +7 -8
  63. package/dist/components/display/Echarts.js.map +2 -2
  64. package/dist/components/features/address/AddressSearch.d.ts.map +1 -1
  65. package/dist/components/features/address/AddressSearch.js +4 -1
  66. package/dist/components/features/address/AddressSearch.js.map +2 -2
  67. package/dist/components/features/crud-detail/CrudDetail.d.ts +12 -13
  68. package/dist/components/features/crud-detail/CrudDetail.d.ts.map +1 -1
  69. package/dist/components/features/crud-detail/CrudDetail.js +18 -15
  70. package/dist/components/features/crud-detail/CrudDetail.js.map +2 -2
  71. package/dist/components/features/crud-detail/{types.d.ts → CrudDetail.types.d.ts} +1 -1
  72. package/dist/components/features/crud-detail/CrudDetail.types.d.ts.map +1 -0
  73. package/dist/components/features/crud-detail/CrudDetail.types.js +1 -0
  74. package/dist/components/features/crud-sheet/CrudSheet.d.ts +3 -13
  75. package/dist/components/features/crud-sheet/CrudSheet.d.ts.map +1 -1
  76. package/dist/components/features/crud-sheet/CrudSheet.js +62 -73
  77. package/dist/components/features/crud-sheet/CrudSheet.js.map +2 -2
  78. package/dist/components/features/crud-sheet/{types.d.ts → CrudSheet.types.d.ts} +10 -10
  79. package/dist/components/features/crud-sheet/CrudSheet.types.d.ts.map +1 -0
  80. package/dist/components/features/crud-sheet/CrudSheet.types.js +1 -0
  81. package/dist/components/features/crud-sheet/CrudSheet.types.js.map +6 -0
  82. package/dist/components/features/crud-sheet/CrudSheetColumn.d.ts +1 -1
  83. package/dist/components/features/crud-sheet/CrudSheetColumn.d.ts.map +1 -1
  84. package/dist/components/features/crud-sheet/CrudSheetTools.d.ts +1 -1
  85. package/dist/components/features/crud-sheet/CrudSheetTools.d.ts.map +1 -1
  86. package/dist/components/features/data-select-button/DataSelectButton.d.ts +2 -2
  87. package/dist/components/features/data-select-button/DataSelectButton.d.ts.map +1 -1
  88. package/dist/components/features/data-select-button/DataSelectButton.js +3 -3
  89. package/dist/components/features/data-select-button/DataSelectButton.js.map +2 -2
  90. package/dist/components/features/shared-data/SharedDataSelect.d.ts +7 -11
  91. package/dist/components/features/shared-data/SharedDataSelect.d.ts.map +1 -1
  92. package/dist/components/features/shared-data/SharedDataSelect.js +5 -4
  93. package/dist/components/features/shared-data/SharedDataSelect.js.map +2 -2
  94. package/dist/components/features/shared-data/SharedDataSelectButton.d.ts.map +1 -1
  95. package/dist/components/features/shared-data/SharedDataSelectButton.js.map +1 -1
  96. package/dist/components/features/shared-data/SharedDataSelectList.d.ts +8 -15
  97. package/dist/components/features/shared-data/SharedDataSelectList.d.ts.map +1 -1
  98. package/dist/components/features/shared-data/SharedDataSelectList.js +5 -3
  99. package/dist/components/features/shared-data/SharedDataSelectList.js.map +2 -2
  100. package/dist/components/feedback/notification/NotificationProvider.d.ts.map +1 -1
  101. package/dist/components/feedback/notification/NotificationProvider.js +9 -1
  102. package/dist/components/feedback/notification/NotificationProvider.js.map +2 -2
  103. package/dist/components/feedback/print/Print.d.ts +4 -6
  104. package/dist/components/feedback/print/Print.d.ts.map +1 -1
  105. package/dist/components/feedback/print/Print.js +3 -2
  106. package/dist/components/feedback/print/Print.js.map +2 -2
  107. package/dist/components/feedback/print/PrintProvider.d.ts.map +1 -1
  108. package/dist/components/feedback/print/PrintProvider.js +1 -0
  109. package/dist/components/feedback/print/PrintProvider.js.map +1 -1
  110. package/dist/components/form-control/Invalid.d.ts +1 -1
  111. package/dist/components/form-control/Invalid.d.ts.map +1 -1
  112. package/dist/components/form-control/Invalid.js +27 -26
  113. package/dist/components/form-control/Invalid.js.map +2 -2
  114. package/dist/components/form-control/checkbox/Checkbox.d.ts +1 -1
  115. package/dist/components/form-control/checkbox/Checkbox.d.ts.map +1 -1
  116. package/dist/components/form-control/checkbox/CheckboxGroup.d.ts +10 -10
  117. package/dist/components/form-control/checkbox/CheckboxGroup.d.ts.map +1 -1
  118. package/dist/components/form-control/checkbox/CheckboxGroup.js +2 -2
  119. package/dist/components/form-control/checkbox/CheckboxGroup.js.map +2 -2
  120. package/dist/components/form-control/checkbox/Radio.d.ts +1 -1
  121. package/dist/components/form-control/checkbox/Radio.d.ts.map +1 -1
  122. package/dist/components/form-control/checkbox/RadioGroup.d.ts +10 -10
  123. package/dist/components/form-control/checkbox/RadioGroup.d.ts.map +1 -1
  124. package/dist/components/form-control/checkbox/RadioGroup.js +2 -2
  125. package/dist/components/form-control/checkbox/RadioGroup.js.map +2 -2
  126. package/dist/components/form-control/checkbox/SelectableBase.d.ts +1 -1
  127. package/dist/components/form-control/checkbox/SelectableBase.d.ts.map +1 -1
  128. package/dist/components/form-control/checkbox/SelectableBase.js +3 -3
  129. package/dist/components/form-control/checkbox/SelectableBase.js.map +2 -2
  130. package/dist/components/form-control/checkbox/SelectionGroupBase.d.ts +1 -1
  131. package/dist/components/form-control/checkbox/SelectionGroupBase.d.ts.map +1 -1
  132. package/dist/components/form-control/checkbox/SelectionGroupBase.js +3 -3
  133. package/dist/components/form-control/checkbox/SelectionGroupBase.js.map +2 -2
  134. package/dist/components/form-control/color-picker/ColorPicker.d.ts +2 -2
  135. package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -1
  136. package/dist/components/form-control/color-picker/ColorPicker.js +3 -3
  137. package/dist/components/form-control/color-picker/ColorPicker.js.map +2 -2
  138. package/dist/components/form-control/combobox/Combobox.d.ts +3 -3
  139. package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
  140. package/dist/components/form-control/combobox/Combobox.js +10 -5
  141. package/dist/components/form-control/combobox/Combobox.js.map +2 -2
  142. package/dist/components/form-control/date-range-picker/DateRangePicker.js +4 -4
  143. package/dist/components/form-control/date-range-picker/DateRangePicker.js.map +2 -2
  144. package/dist/components/form-control/editor/EditorToolbar.d.ts.map +1 -1
  145. package/dist/components/form-control/editor/EditorToolbar.js +176 -312
  146. package/dist/components/form-control/editor/EditorToolbar.js.map +2 -2
  147. package/dist/components/form-control/field/DatePicker.d.ts +2 -2
  148. package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
  149. package/dist/components/form-control/field/DatePicker.js +3 -3
  150. package/dist/components/form-control/field/DatePicker.js.map +2 -2
  151. package/dist/components/form-control/field/DateTimePicker.d.ts +2 -2
  152. package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
  153. package/dist/components/form-control/field/DateTimePicker.js +3 -3
  154. package/dist/components/form-control/field/DateTimePicker.js.map +2 -2
  155. package/dist/components/form-control/field/FieldShell.d.ts +1 -1
  156. package/dist/components/form-control/field/FieldShell.d.ts.map +1 -1
  157. package/dist/components/form-control/field/FieldShell.js +2 -2
  158. package/dist/components/form-control/field/FieldShell.js.map +2 -2
  159. package/dist/components/form-control/field/NumberInput.d.ts +7 -28
  160. package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
  161. package/dist/components/form-control/field/NumberInput.js +7 -5
  162. package/dist/components/form-control/field/NumberInput.js.map +2 -2
  163. package/dist/components/form-control/field/TextInput.d.ts +7 -23
  164. package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
  165. package/dist/components/form-control/field/TextInput.js +6 -5
  166. package/dist/components/form-control/field/TextInput.js.map +2 -2
  167. package/dist/components/form-control/field/Textarea.d.ts +2 -2
  168. package/dist/components/form-control/field/Textarea.d.ts.map +1 -1
  169. package/dist/components/form-control/field/Textarea.js +3 -3
  170. package/dist/components/form-control/field/Textarea.js.map +2 -2
  171. package/dist/components/form-control/field/TimePicker.d.ts +2 -2
  172. package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
  173. package/dist/components/form-control/field/TimePicker.js +3 -3
  174. package/dist/components/form-control/field/TimePicker.js.map +2 -2
  175. package/dist/components/form-control/select/Select.d.ts +22 -44
  176. package/dist/components/form-control/select/Select.d.ts.map +1 -1
  177. package/dist/components/form-control/select/Select.js +8 -6
  178. package/dist/components/form-control/select/Select.js.map +2 -2
  179. package/dist/components/form-control/state-preset/StatePreset.js +5 -5
  180. package/dist/components/form-control/state-preset/StatePreset.js.map +2 -2
  181. package/dist/components/layout/sidebar/Sidebar.d.ts +5 -102
  182. package/dist/components/layout/sidebar/Sidebar.d.ts.map +1 -1
  183. package/dist/components/layout/sidebar/Sidebar.js.map +1 -1
  184. package/dist/components/layout/topbar/Topbar.d.ts +1 -1
  185. package/dist/components/layout/topbar/Topbar.d.ts.map +1 -1
  186. package/dist/components/layout/topbar/Topbar.js +3 -3
  187. package/dist/components/layout/topbar/Topbar.js.map +2 -2
  188. package/dist/helpers/createAppStructure.d.ts.map +1 -1
  189. package/dist/helpers/createAppStructure.js.map +1 -1
  190. package/dist/hooks/createControllableStore.js +5 -5
  191. package/dist/hooks/createControllableStore.js.map +1 -1
  192. package/dist/index.d.ts +4 -3
  193. package/dist/index.d.ts.map +1 -1
  194. package/dist/index.js +4 -3
  195. package/dist/index.js.map +1 -1
  196. package/dist/providers/ServiceClientProvider.d.ts +2 -2
  197. package/dist/providers/ServiceClientProvider.d.ts.map +1 -1
  198. package/dist/providers/ServiceClientProvider.js.map +1 -1
  199. package/dist/providers/shared-data/SharedDataProvider.d.ts +1 -1
  200. package/dist/providers/shared-data/SharedDataProvider.d.ts.map +1 -1
  201. package/dist/providers/shared-data/SharedDataProvider.js +98 -86
  202. package/dist/providers/shared-data/SharedDataProvider.js.map +2 -2
  203. package/package.json +5 -5
  204. package/src/components/data/kanban/Kanban.tsx +37 -32
  205. package/src/components/data/list/List.tsx +3 -6
  206. package/src/components/data/sheet/DataSheet.tsx +224 -334
  207. package/src/components/data/sheet/{types.ts → DataSheet.types.ts} +8 -2
  208. package/src/components/data/sheet/{sheetUtils.ts → DataSheet.utils.ts} +3 -3
  209. package/src/components/data/sheet/DataSheetColumn.tsx +1 -1
  210. package/src/components/data/sheet/DataSheetConfigDialog.tsx +1 -1
  211. package/src/components/data/sheet/hooks/useDataSheetExpansion.ts +2 -2
  212. package/src/components/data/sheet/hooks/useDataSheetFixedColumns.ts +2 -2
  213. package/src/components/data/sheet/hooks/useDataSheetHeaderCell.tsx +168 -0
  214. package/src/components/data/sheet/hooks/useDataSheetReorder.ts +1 -2
  215. package/src/components/data/sheet/hooks/useDataSheetSelection.ts +4 -4
  216. package/src/components/data/sheet/hooks/useDataSheetSorting.ts +2 -2
  217. package/src/components/disclosure/Dialog.tsx +21 -27
  218. package/src/components/disclosure/Dropdown.tsx +1 -6
  219. package/src/components/disclosure/Tabs.tsx +1 -6
  220. package/src/components/display/Barcode.tsx +4 -113
  221. package/src/components/display/Barcode.types.ts +111 -0
  222. package/src/components/display/Echarts.tsx +10 -11
  223. package/src/components/features/address/AddressSearch.tsx +21 -3
  224. package/src/components/features/crud-detail/CrudDetail.tsx +21 -38
  225. package/src/components/features/crud-sheet/CrudSheet.tsx +77 -93
  226. package/src/components/features/crud-sheet/{types.ts → CrudSheet.types.ts} +9 -9
  227. package/src/components/features/crud-sheet/CrudSheetColumn.tsx +1 -1
  228. package/src/components/features/crud-sheet/CrudSheetTools.tsx +1 -1
  229. package/src/components/features/data-select-button/DataSelectButton.tsx +8 -8
  230. package/src/components/features/shared-data/SharedDataSelect.tsx +23 -34
  231. package/src/components/features/shared-data/SharedDataSelectButton.tsx +1 -4
  232. package/src/components/features/shared-data/SharedDataSelectList.tsx +6 -10
  233. package/src/components/feedback/notification/NotificationProvider.tsx +9 -1
  234. package/src/components/feedback/print/Print.tsx +4 -8
  235. package/src/components/feedback/print/PrintProvider.tsx +2 -1
  236. package/src/components/form-control/Invalid.tsx +33 -29
  237. package/src/components/form-control/checkbox/Checkbox.tsx +1 -1
  238. package/src/components/form-control/checkbox/CheckboxGroup.tsx +3 -12
  239. package/src/components/form-control/checkbox/Radio.tsx +1 -1
  240. package/src/components/form-control/checkbox/RadioGroup.tsx +3 -12
  241. package/src/components/form-control/checkbox/SelectableBase.tsx +3 -3
  242. package/src/components/form-control/checkbox/SelectionGroupBase.tsx +3 -3
  243. package/src/components/form-control/color-picker/ColorPicker.tsx +4 -4
  244. package/src/components/form-control/combobox/Combobox.tsx +23 -18
  245. package/src/components/form-control/date-range-picker/DateRangePicker.tsx +5 -5
  246. package/src/components/form-control/editor/EditorToolbar.tsx +82 -202
  247. package/src/components/form-control/field/DatePicker.tsx +4 -4
  248. package/src/components/form-control/field/DateTimePicker.tsx +4 -4
  249. package/src/components/form-control/field/FieldShell.tsx +2 -2
  250. package/src/components/form-control/field/NumberInput.tsx +8 -11
  251. package/src/components/form-control/field/TextInput.tsx +7 -11
  252. package/src/components/form-control/field/Textarea.tsx +4 -4
  253. package/src/components/form-control/field/TimePicker.tsx +4 -4
  254. package/src/components/form-control/select/Select.tsx +33 -42
  255. package/src/components/form-control/state-preset/StatePreset.tsx +5 -5
  256. package/src/components/layout/sidebar/Sidebar.tsx +1 -7
  257. package/src/components/layout/topbar/Topbar.tsx +3 -3
  258. package/src/helpers/createAppStructure.ts +16 -0
  259. package/src/hooks/createControllableStore.ts +5 -5
  260. package/src/index.ts +4 -3
  261. package/src/providers/ServiceClientProvider.tsx +4 -4
  262. package/src/providers/shared-data/SharedDataProvider.tsx +136 -113
  263. package/tests/components/data/sheet/DataSheet.spec.tsx +2 -2
  264. package/tests/components/data/sheet/hooks/useDataSheetFixedColumns.spec.ts +1 -1
  265. package/tests/components/data/sheet/hooks/useDataSheetSelection.spec.ts +34 -17
  266. package/tests/components/data/sheet/hooks/useDataSheetSorting.spec.ts +1 -1
  267. package/tests/components/disclosure/Dialog.spec.tsx +7 -7
  268. package/tests/components/display/Barcode.spec.tsx +15 -1
  269. package/tests/components/features/crud-sheet/CrudSheet.spec.tsx +6 -6
  270. package/tests/components/form-control/Invalid.spec.tsx +5 -5
  271. package/tests/components/form-control/combobox/Combobox.spec.tsx +24 -1
  272. package/tests/components/layout/topbar/TopbarActions.spec.tsx +4 -4
  273. package/tests/components/layout/topbar/{createTopbarActions.spec.tsx → useTopbarActions.spec.tsx} +4 -4
  274. package/tests/providers/shared-data/SharedDataProvider.spec.tsx +130 -8
  275. package/dist/components/data/sheet/sheetUtils.d.ts.map +0 -1
  276. package/dist/components/data/sheet/sheetUtils.js.map +0 -6
  277. package/dist/components/data/sheet/types.d.ts.map +0 -1
  278. package/dist/components/data/sheet/types.js +0 -1
  279. package/dist/components/features/crud-detail/types.d.ts.map +0 -1
  280. package/dist/components/features/crud-detail/types.js +0 -1
  281. package/dist/components/features/crud-sheet/types.d.ts.map +0 -1
  282. package/dist/components/features/crud-sheet/types.js +0 -1
  283. package/dist/components/feedback/notification/index.d.ts +0 -4
  284. package/dist/components/feedback/notification/index.d.ts.map +0 -1
  285. package/dist/components/feedback/notification/index.js +0 -4
  286. package/dist/components/feedback/notification/index.js.map +0 -6
  287. package/src/components/feedback/notification/index.ts +0 -3
  288. /package/dist/components/data/sheet/{types.js.map → DataSheet.types.js.map} +0 -0
  289. /package/dist/components/{features/crud-detail/types.js.map → display/Barcode.types.js.map} +0 -0
  290. /package/dist/components/features/{crud-sheet/types.js.map → crud-detail/CrudDetail.types.js.map} +0 -0
  291. /package/src/components/features/crud-detail/{types.ts → CrudDetail.types.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/features/address/AddressSearch.tsx"],
4
- "mappings": ";;;;AAAA,SAAyBA,cAAcC,eAAe;AACtD,SAASC,qBAAqB;AAQvB,MAAMC,uBAEPC,WAAU;AACd,QAAM,CAACC,aAAaC,cAAc,IAAIN,aAAa,KAAK;AACxD,MAAIO;AAEJN,UAAQ,YAAY;AAClB,QAAI,CAACO,SAASC,eAAe,cAAc,GAAG;AAC5C,YAAM,IAAIC,QAAeC,aAAY;AACnC,cAAMC,WAAWJ,SAASK,cAAc,QAAQ;AAChDD,iBAASE,MAAM;AACfF,iBAASG,aAAa,MAAM,cAAc;AAE1CH,iBAASI,SAAS,MAAY;AAE5BC,eAAKC,SAASC,KAAK,MAAM;AACvBR,oBAAQ;UACV,CAAC;QACH;AACAH,iBAASY,KAAKC,YAAYT,QAAQ;MACpC,CAAC;IACH;AAGA,QAAIK,KAAKK,SAAS;MAChBC,YAAaC,UAAoB;;AAC/B,cAAMC,OAAOD,KAAKE,qBAAqB,MAAMF,KAAKG,cAAcH,KAAKI;AAErE,YAAIC,YAAY;AAChB,YAAIL,KAAKE,qBAAqB,KAAK;AACjC,cAAIF,KAAKM,UAAU,MAAM,UAAUC,KAAKP,KAAKM,KAAK,GAAG;AACnDD,yBAAaL,KAAKM;UACpB;AAEA,cAAIN,KAAKQ,iBAAiB,MAAMR,KAAKS,cAAc,KAAK;AACtDJ,yBAAaA,cAAc,KAAK,OAAOL,KAAKQ,eAAeR,KAAKQ;UAClE;AAEA,cAAIH,cAAc,IAAI;AACpBA,wBAAY,OAAOA,YAAY;UACjC;QACF;AAEAzB,oBAAM8B,UAAN9B,+BAAc;UACZ+B,YAAYX,KAAKY;UACjBC,SAASZ,OAAOI;UAChBG,cAAcR,KAAKQ;QACrB;MACF;MACAM,UAAWC,UAAoB;AAC7BhC,kBAAUiC,MAAMC,SAASF,KAAKE,SAAS;MACzC;MACAC,OAAO;MACPD,QAAQ;IACV,CAAC,EAAEE,MAAMpC,WAAW;MAAEqC,WAAW;IAAM,CAAC;AAExCtC,mBAAe,IAAI;EACrB,CAAC;AAED,SAAAuC,kBACG3C,eAAa;IAAA,IAAC4C,OAAI;AAAA,aAAE,CAACzC,YAAY;IAAC;IAAA,IAAA0C,WAAA;AAAA,UAAAC,OAAAC,OAAA;AAAA,UAAAC,QACvB3C;AAAS,aAAA2C,UAAA,aAAAC,MAAAD,OAAAF,IAAA,IAATzC,YAASyC;AAAA,aAAAA;IAAA;EAAA,CAAA;AAGzB;",
5
- "names": ["createSignal", "onMount", "BusyContainer", "AddressSearchContent", "props", "initialized", "setInitialized", "contentEl", "document", "getElementById", "Promise", "resolve", "scriptEl", "createElement", "src", "setAttribute", "onload", "daum", "postcode", "load", "head", "appendChild", "Postcode", "oncomplete", "data", "addr", "userSelectedType", "roadAddress", "jibunAddress", "extraAddr", "bname", "test", "buildingName", "apartment", "close", "postNumber", "zonecode", "address", "onresize", "size", "style", "height", "width", "embed", "autoClose", "_$createComponent", "busy", "children", "_el$", "_tmpl$", "_ref$", "_$use"]
4
+ "mappings": ";;;;AAAA,SAAyBA,cAAcC,eAAe;AACtD,SAASC,qBAAqB;AAuBvB,MAAMC,uBAEPC,WAAU;AACd,QAAM,CAACC,aAAaC,cAAc,IAAIN,aAAa,KAAK;AACxD,MAAIO;AAEJN,UAAQ,YAAY;AAClB,QAAI,CAACO,SAASC,eAAe,cAAc,GAAG;AAC5C,YAAM,IAAIC,QAAc,CAACC,SAASC,WAAW;AAC3C,cAAMC,WAAWL,SAASM,cAAc,QAAQ;AAChDD,iBAASE,MAAM;AACfF,iBAASG,aAAa,MAAM,cAAc;AAE1CH,iBAASI,SAAS,MAAY;AAE5BC,eAAKC,SAASC,KAAK,MAAM;AACvBT,oBAAQ;UACV,CAAC;QACH;AACAE,iBAASQ,UAAU,MAAM;AACvBT,iBAAO,IAAIU,MAAM,qCAAqC,CAAC;QACzD;AACAd,iBAASe,KAAKC,YAAYX,QAAQ;MACpC,CAAC;IACH;AAGA,QAAIK,KAAKO,SAAS;MAChBC,YAAaC,UAAmC;;AAC9C,cAAMC,OAAOD,KAAKE,qBAAqB,MAAMF,KAAKG,cAAcH,KAAKI;AAErE,YAAIC,YAAY;AAChB,YAAIL,KAAKE,qBAAqB,KAAK;AACjC,cAAIF,KAAKM,UAAU,MAAM,UAAUC,KAAKP,KAAKM,KAAK,GAAG;AACnDD,yBAAaL,KAAKM;UACpB;AAEA,cAAIN,KAAKQ,iBAAiB,MAAMR,KAAKS,cAAc,KAAK;AACtDJ,yBAAaA,cAAc,KAAK,OAAOL,KAAKQ,eAAeR,KAAKQ;UAClE;AAEA,cAAIH,cAAc,IAAI;AACpBA,wBAAY,OAAOA,YAAY;UACjC;QACF;AAEA5B,oBAAMiC,UAANjC,+BAAc;UACZkC,YAAYX,KAAKY;UACjBC,SAASZ,OAAOI;UAChBG,cAAcR,KAAKQ;QACrB;MACF;MACAM,UAAWC,UAAiC;AAC1CnC,kBAAUoC,MAAMC,SAASF,KAAKE,SAAS;MACzC;MACAC,OAAO;MACPD,QAAQ;IACV,CAAC,EAAEE,MAAMvC,WAAW;MAAEwC,WAAW;IAAM,CAAC;AAExCzC,mBAAe,IAAI;EACrB,CAAC;AAED,SAAA0C,kBACG9C,eAAa;IAAA,IAAC+C,OAAI;AAAA,aAAE,CAAC5C,YAAY;IAAC;IAAA,IAAA6C,WAAA;AAAA,UAAAC,OAAAC,OAAA;AAAA,UAAAC,QACvB9C;AAAS,aAAA8C,UAAA,aAAAC,MAAAD,OAAAF,IAAA,IAAT5C,YAAS4C;AAAA,aAAAA;IAAA;EAAA,CAAA;AAGzB;",
5
+ "names": ["createSignal", "onMount", "BusyContainer", "AddressSearchContent", "props", "initialized", "setInitialized", "contentEl", "document", "getElementById", "Promise", "resolve", "reject", "scriptEl", "createElement", "src", "setAttribute", "onload", "daum", "postcode", "load", "onerror", "Error", "head", "appendChild", "Postcode", "oncomplete", "data", "addr", "userSelectedType", "roadAddress", "jibunAddress", "extraAddr", "bname", "test", "buildingName", "apartment", "close", "postNumber", "zonecode", "address", "onresize", "size", "style", "height", "width", "embed", "autoClose", "_$createComponent", "busy", "children", "_el$", "_tmpl$", "_ref$", "_$use"]
6
6
  }
@@ -1,14 +1,13 @@
1
- import { type JSX } from "solid-js";
2
- import { CrudDetailTools } from "./CrudDetailTools";
3
- import { CrudDetailBefore } from "./CrudDetailBefore";
4
- import { CrudDetailAfter } from "./CrudDetailAfter";
5
- import type { CrudDetailProps } from "./types";
6
- interface CrudDetailComponent {
7
- <TData extends object>(props: CrudDetailProps<TData>): JSX.Element;
8
- Tools: typeof CrudDetailTools;
9
- Before: typeof CrudDetailBefore;
10
- After: typeof CrudDetailAfter;
11
- }
12
- export declare const CrudDetail: CrudDetailComponent;
13
- export {};
1
+ import type { CrudDetailProps } from "./CrudDetail.types";
2
+ export declare const CrudDetail: (<TData extends object>(props: CrudDetailProps<TData>) => import("solid-js").JSX.Element) & {
3
+ Tools: (props: {
4
+ children: import("solid-js").JSX.Element;
5
+ }) => null;
6
+ Before: (props: {
7
+ children: import("solid-js").JSX.Element;
8
+ }) => null;
9
+ After: (props: {
10
+ children: import("solid-js").JSX.Element;
11
+ }) => null;
12
+ };
14
13
  //# sourceMappingURL=CrudDetail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CrudDetail.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\features\\crud-detail\\CrudDetail.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,GAAG,EAMT,MAAM,UAAU,CAAC;AAsBlB,OAAO,EAAE,eAAe,EAAqC,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAsC,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAqC,MAAM,mBAAmB,CAAC;AACvF,OAAO,KAAK,EAGV,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB,UAAU,mBAAmB;IAC3B,CAAC,KAAK,SAAS,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;IACnE,KAAK,EAAE,OAAO,eAAe,CAAC;IAC9B,MAAM,EAAE,OAAO,gBAAgB,CAAC;IAChC,KAAK,EAAE,OAAO,eAAe,CAAC;CAC/B;AAsUD,eAAO,MAAM,UAAU,EAIN,mBAAmB,CAAC"}
1
+ {"version":3,"file":"CrudDetail.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\features\\crud-detail\\CrudDetail.tsx"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAGV,eAAe,EAChB,MAAM,oBAAoB,CAAC;AA6T5B,eAAO,MAAM,UAAU,IA3TC,KAAK,SAAS,MAAM,SAAS,eAAe,CAAC,KAAK,CAAC;;;;;;;;;;CA+TzE,CAAC"}
@@ -3,19 +3,19 @@ import { className as _$className } from "solid-js/web";
3
3
  import { effect as _$effect } from "solid-js/web";
4
4
  import { use as _$use } from "solid-js/web";
5
5
  import { insert as _$insert } from "solid-js/web";
6
- import { createComponent as _$createComponent } from "solid-js/web";
7
6
  import { memo as _$memo } from "solid-js/web";
7
+ import { createComponent as _$createComponent } from "solid-js/web";
8
8
  var _tmpl$ = /* @__PURE__ */ _$template(`<div class="flex gap-2 pb-0">`), _tmpl$2 = /* @__PURE__ */ _$template(`<form class="flex-1 overflow-auto">`), _tmpl$3 = /* @__PURE__ */ _$template(`<div><div class=flex-1>`), _tmpl$4 = /* @__PURE__ */ _$template(`<div>: `);
9
9
  import { createSignal, createUniqueId, onCleanup, onMount, Show, splitProps, useContext } from "solid-js";
10
10
  import { registerCrud, unregisterCrud, activateCrud, isActiveCrud } from "../crudRegistry.js";
11
11
  import { reconcile, unwrap } from "solid-js/store";
12
12
  import { createControllableStore } from "../../../hooks/createControllableStore.js";
13
- import { objClone, objEqual } from "@simplysm/core-common";
13
+ import { obj } from "@simplysm/core-common";
14
14
  import { BusyContainer } from "../../feedback/busy/BusyContainer.js";
15
15
  import { useNotification } from "../../feedback/notification/NotificationProvider.js";
16
16
  import { Button } from "../../form-control/Button.js";
17
17
  import { Icon } from "../../display/Icon.js";
18
- import { createTopbarActions, TopbarContext } from "../../layout/topbar/Topbar.js";
18
+ import { useTopbarActions, TopbarContext } from "../../layout/topbar/Topbar.js";
19
19
  import { Dialog } from "../../disclosure/Dialog.js";
20
20
  import { createEventListener } from "@solid-primitives/event-listener";
21
21
  import { useI18n } from "../../../providers/i18n/I18nProvider.js";
@@ -50,13 +50,14 @@ const CrudDetailBase = (props) => {
50
50
  try {
51
51
  const result = await local.load();
52
52
  setData(reconcile(result.data));
53
- originalData = objClone(result.data);
53
+ originalData = obj.clone(result.data);
54
54
  setInfo(result.info);
55
+ setReady(true);
55
56
  } catch (err) {
56
57
  noti.error(err, i18n.t("crudDetail.lookupFailed"));
58
+ } finally {
59
+ setBusyCount((c) => c - 1);
57
60
  }
58
- setBusyCount((c) => c - 1);
59
- setReady(true);
60
61
  }
61
62
  onMount(() => {
62
63
  void doLoad();
@@ -66,7 +67,7 @@ const CrudDetailBase = (props) => {
66
67
  createEventListener(() => formRef, "focusin", () => activateCrud(crudId));
67
68
  function hasChanges() {
68
69
  if (originalData == null) return false;
69
- return !objEqual(unwrap(data), originalData);
70
+ return !obj.equal(unwrap(data), originalData);
70
71
  }
71
72
  async function handleRefresh() {
72
73
  if (hasChanges()) {
@@ -84,7 +85,7 @@ const CrudDetailBase = (props) => {
84
85
  }
85
86
  setBusyCount((c) => c + 1);
86
87
  try {
87
- const result = await local.submit(objClone(unwrap(data)));
88
+ const result = await local.submit(obj.clone(unwrap(data)));
88
89
  if (result) {
89
90
  noti.success(i18n.t("crudDetail.saveCompleted"), i18n.t("crudDetail.saveSuccess"));
90
91
  if (local.close) {
@@ -137,10 +138,12 @@ const CrudDetailBase = (props) => {
137
138
  void handleRefresh();
138
139
  }
139
140
  });
141
+ const showSave = () => canEdit() && local.submit;
142
+ const showDelete = () => canEdit() && local.toggleDelete && info() && !info().isNew && (local.deletable ?? true);
140
143
  if (topbarCtx) {
141
- createTopbarActions(() => [_$createComponent(Show, {
144
+ useTopbarActions(() => [_$createComponent(Show, {
142
145
  get when() {
143
- return _$memo(() => !!canEdit())() && local.submit;
146
+ return showSave();
144
147
  },
145
148
  get children() {
146
149
  return _$createComponent(Button, {
@@ -158,7 +161,7 @@ const CrudDetailBase = (props) => {
158
161
  }
159
162
  }), _$createComponent(Show, {
160
163
  get when() {
161
- return _$memo(() => !!(canEdit() && local.toggleDelete && info() && !info().isNew))() && (local.deletable ?? true);
164
+ return showDelete();
162
165
  },
163
166
  children: (_) => _$createComponent(Button, {
164
167
  size: "lg",
@@ -242,7 +245,7 @@ const CrudDetailBase = (props) => {
242
245
  get children() {
243
246
  return [_$createComponent(Show, {
244
247
  get when() {
245
- return _$memo(() => !!canEdit())() && local.submit;
248
+ return showSave();
246
249
  },
247
250
  get children() {
248
251
  return _$createComponent(Button, {
@@ -260,7 +263,7 @@ const CrudDetailBase = (props) => {
260
263
  }
261
264
  }), _$createComponent(Show, {
262
265
  get when() {
263
- return _$memo(() => !!(canEdit() && local.toggleDelete && info() && !info().isNew))() && (local.deletable ?? true);
266
+ return showDelete();
264
267
  },
265
268
  children: (_) => _$createComponent(Button, {
266
269
  size: "sm",
@@ -346,7 +349,7 @@ const CrudDetailBase = (props) => {
346
349
  var _el$3 = _tmpl$3(), _el$4 = _el$3.firstChild;
347
350
  _$insert(_el$3, _$createComponent(Show, {
348
351
  get when() {
349
- return _$memo(() => !!(local.toggleDelete && info() && !info().isNew))() && (local.deletable ?? true);
352
+ return showDelete();
350
353
  },
351
354
  children: (_) => _$createComponent(Button, {
352
355
  variant: "solid",
@@ -364,7 +367,7 @@ const CrudDetailBase = (props) => {
364
367
  }), null);
365
368
  _$insert(_el$3, _$createComponent(Show, {
366
369
  get when() {
367
- return local.submit;
370
+ return showSave();
368
371
  },
369
372
  get children() {
370
373
  return _$createComponent(Button, {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/features/crud-detail/CrudDetail.tsx"],
4
- "mappings": "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",
5
- "names": ["createSignal", "createUniqueId", "onCleanup", "onMount", "Show", "splitProps", "useContext", "registerCrud", "unregisterCrud", "activateCrud", "isActiveCrud", "reconcile", "unwrap", "createControllableStore", "objClone", "objEqual", "BusyContainer", "useNotification", "Button", "Icon", "createTopbarActions", "TopbarContext", "Dialog", "createEventListener", "useI18n", "clsx", "border", "text", "IconCheck", "IconDeviceFloppy", "IconRefresh", "IconTrash", "IconTrashOff", "CrudDetailTools", "createCrudDetailToolsSlotAccessor", "CrudDetailBefore", "createCrudDetailBeforeSlotAccessor", "CrudDetailAfter", "createCrudDetailAfterSlotAccessor", "CrudDetailBase", "props", "local", "noti", "i18n", "topbarCtx", "isInDialog", "close", "undefined", "canEdit", "editable", "data", "setData", "value", "onChange", "onDataChange", "originalData", "info", "setInfo", "busyCount", "setBusyCount", "ready", "setReady", "formRef", "crudId", "tools", "ToolsProvider", "before", "BeforeProvider", "after", "AfterProvider", "doLoad", "c", "result", "load", "err", "error", "t", "hasChanges", "handleRefresh", "confirm", "handleSave", "submit", "currentInfo", "isNew", "success", "handleFormSubmit", "e", "preventDefault", "handleToggleDelete", "toggleDelete", "del", "isDeleted", "document", "ctrlKey", "key", "stopImmediatePropagation", "requestSubmit", "altKey", "_$createComponent", "when", "_$memo", "children", "size", "variant", "theme", "onClick", "icon", "deletable", "_", "ctx", "busy", "save", "refresh", "Action", "class", "_el$", "_tmpl$", "_$insert", "toolsSlot", "beforeSlot", "_el$2", "_tmpl$2", "addEventListener", "_$use", "el", "lastModifiedAt", "_el$5", "_tmpl$4", "_el$6", "firstChild", "toFormatString", "lastModifiedBy", "_$effect", "_$className", "muted", "afterSlot", "_el$3", "_tmpl$3", "_el$4", "default", "CrudDetail", "Object", "assign", "Tools", "Before", "After"]
4
+ "mappings": "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",
5
+ "names": ["createSignal", "createUniqueId", "onCleanup", "onMount", "Show", "splitProps", "useContext", "registerCrud", "unregisterCrud", "activateCrud", "isActiveCrud", "reconcile", "unwrap", "createControllableStore", "obj", "BusyContainer", "useNotification", "Button", "Icon", "useTopbarActions", "TopbarContext", "Dialog", "createEventListener", "useI18n", "clsx", "border", "text", "IconCheck", "IconDeviceFloppy", "IconRefresh", "IconTrash", "IconTrashOff", "CrudDetailTools", "createCrudDetailToolsSlotAccessor", "CrudDetailBefore", "createCrudDetailBeforeSlotAccessor", "CrudDetailAfter", "createCrudDetailAfterSlotAccessor", "CrudDetailBase", "props", "local", "noti", "i18n", "topbarCtx", "isInDialog", "close", "undefined", "canEdit", "editable", "data", "setData", "value", "onChange", "onDataChange", "originalData", "info", "setInfo", "busyCount", "setBusyCount", "ready", "setReady", "formRef", "crudId", "tools", "ToolsProvider", "before", "BeforeProvider", "after", "AfterProvider", "doLoad", "c", "result", "load", "clone", "err", "error", "t", "hasChanges", "equal", "handleRefresh", "confirm", "handleSave", "submit", "currentInfo", "isNew", "success", "handleFormSubmit", "e", "preventDefault", "handleToggleDelete", "toggleDelete", "del", "isDeleted", "document", "ctrlKey", "key", "stopImmediatePropagation", "requestSubmit", "altKey", "showSave", "showDelete", "deletable", "_$createComponent", "when", "children", "size", "variant", "theme", "onClick", "icon", "_$memo", "_", "ctx", "busy", "save", "refresh", "Action", "class", "_el$", "_tmpl$", "_$insert", "toolsSlot", "beforeSlot", "_el$2", "_tmpl$2", "addEventListener", "_$use", "el", "lastModifiedAt", "_el$5", "_tmpl$4", "_el$6", "firstChild", "toFormatString", "lastModifiedBy", "_$effect", "_$className", "muted", "afterSlot", "_el$3", "_tmpl$3", "_el$4", "default", "CrudDetail", "Object", "assign", "Tools", "Before", "After"]
6
6
  }
@@ -32,4 +32,4 @@ export interface CrudDetailProps<TData extends object> {
32
32
  close?: (result?: boolean) => void;
33
33
  class?: string;
34
34
  }
35
- //# sourceMappingURL=types.d.ts.map
35
+ //# sourceMappingURL=CrudDetail.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrudDetail.types.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\features\\crud-detail\\CrudDetail.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAID,MAAM,WAAW,iBAAiB,CAAC,KAAK;IACtC,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,EAAE,MAAM,cAAc,CAAC;IAC3B,IAAI,EAAE,MAAM,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAID,MAAM,WAAW,eAAe,CAAC,KAAK,SAAS,MAAM;IACnD,IAAI,EAAE,MAAM,OAAO,CAAC;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC;IAC3D,QAAQ,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC;IAEzD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IACvD,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IAErC,gFAAgF;IAChF,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=CrudDetail.types.js.map
@@ -1,24 +1,14 @@
1
- import { type JSX } from "solid-js";
2
1
  import "@simplysm/core-common";
3
2
  import { CrudSheetColumn } from "./CrudSheetColumn";
4
3
  import { CrudSheetFilter } from "./CrudSheetFilter";
5
4
  import { CrudSheetTools } from "./CrudSheetTools";
6
- import { CrudSheetHeader } from "./CrudSheetHeader";
7
- import type { CrudSheetProps } from "./types";
8
- interface CrudSheetComponent {
9
- <TItem, TFilter extends Record<string, any>>(props: CrudSheetProps<TItem, TFilter>): JSX.Element;
10
- Column: typeof CrudSheetColumn;
11
- Filter: typeof CrudSheetFilter;
12
- Tools: typeof CrudSheetTools;
13
- Header: typeof CrudSheetHeader;
14
- }
15
- export declare const CrudSheet: CrudSheetComponent & {
5
+ import type { CrudSheetProps } from "./CrudSheet.types";
6
+ export declare const CrudSheet: (<TItem, TFilter extends Record<string, unknown>>(props: CrudSheetProps<TItem, TFilter>) => import("solid-js").JSX.Element) & {
16
7
  Column: typeof CrudSheetColumn;
17
8
  Filter: typeof CrudSheetFilter;
18
9
  Tools: typeof CrudSheetTools;
19
10
  Header: (props: {
20
- children: JSX.Element;
11
+ children: import("solid-js").JSX.Element;
21
12
  }) => null;
22
13
  };
23
- export {};
24
14
  //# sourceMappingURL=CrudSheet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CrudSheet.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\features\\crud-sheet\\CrudSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,GAAG,EAKT,MAAM,UAAU,CAAC;AAKlB,OAAO,uBAAuB,CAAC;AA+B/B,OAAO,EAAE,eAAe,EAAsC,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAqC,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAoC,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,eAAe,EAAqC,MAAM,mBAAmB,CAAC;AACvF,OAAO,KAAK,EAGV,cAAc,EAEf,MAAM,SAAS,CAAC;AAEjB,UAAU,kBAAkB;IAC1B,CAAC,KAAK,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;IACjG,MAAM,EAAE,OAAO,eAAe,CAAC;IAC/B,MAAM,EAAE,OAAO,eAAe,CAAC;IAC/B,KAAK,EAAE,OAAO,cAAc,CAAC;IAC7B,MAAM,EAAE,OAAO,eAAe,CAAC;CAChC;AA8rBD,eAAO,MAAM,SAAS;;;;;;;CAKpB,CAAC"}
1
+ {"version":3,"file":"CrudSheet.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\features\\crud-sheet\\CrudSheet.tsx"],"names":[],"mappings":"AAcA,OAAO,uBAAuB,CAAC;AAgC/B,OAAO,EAAE,eAAe,EAAsC,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAqC,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAoC,MAAM,kBAAkB,CAAC;AAEpF,OAAO,KAAK,EAGV,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAsrB3B,eAAO,MAAM,SAAS,IAprBC,KAAK,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAC5D,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC;;;;;;;CAwrBrC,CAAC"}
@@ -10,18 +10,19 @@ var _tmpl$ = /* @__PURE__ */ _$template(`<button>`), _tmpl$2 = /* @__PURE__ */ _
10
10
  import { createEffect, createSignal, createUniqueId, For, onCleanup, Show, splitProps, useContext } from "solid-js";
11
11
  import { createStore, produce, reconcile } from "solid-js/store";
12
12
  import { createControllableStore } from "../../../hooks/createControllableStore.js";
13
- import { objClone, objGetChainValue } from "@simplysm/core-common";
13
+ import { obj } from "@simplysm/core-common";
14
14
  import "@simplysm/core-common";
15
+ import { openFileDialog } from "@simplysm/core-browser";
15
16
  import { DataSheet } from "../../data/sheet/DataSheet.js";
16
17
  import { DataSheetColumn } from "../../data/sheet/DataSheetColumn.js";
17
- import { normalizeHeader } from "../../data/sheet/sheetUtils.js";
18
+ import { normalizeHeader } from "../../data/sheet/DataSheet.utils.js";
18
19
  import { BusyContainer } from "../../feedback/busy/BusyContainer.js";
19
20
  import { useNotification } from "../../feedback/notification/NotificationProvider.js";
20
21
  import { useI18n } from "../../../providers/i18n/I18nProvider.js";
21
22
  import { Button } from "../../form-control/Button.js";
22
23
  import { Icon } from "../../display/Icon.js";
23
24
  import { FormGroup } from "../../layout/FormGroup.js";
24
- import { createTopbarActions, TopbarContext } from "../../layout/topbar/Topbar.js";
25
+ import { useTopbarActions, TopbarContext } from "../../layout/topbar/Topbar.js";
25
26
  import { Dialog } from "../../disclosure/Dialog.js";
26
27
  import { Link } from "../../display/Link.js";
27
28
  import { createEventListener } from "@solid-primitives/event-listener";
@@ -36,7 +37,7 @@ import { CrudSheetFilter, createCrudSheetFilterSlotAccessor } from "./CrudSheetF
36
37
  import { CrudSheetTools, createCrudSheetToolsSlotAccessor } from "./CrudSheetTools.js";
37
38
  import { CrudSheetHeader, createCrudSheetHeaderSlotAccessor } from "./CrudSheetHeader.js";
38
39
  const CrudSheetBase = (props) => {
39
- const [local] = splitProps(props, ["search", "getItemKey", "storageKey", "editable", "itemEditable", "itemDeletable", "itemDeleted", "itemSelectable", "lastModifiedAtProp", "lastModifiedByProp", "onSubmitComplete", "filterInitial", "items", "onItemsChange", "inlineEdit", "dialogEdit", "excel", "selectionMode", "onSelect", "hideAutoTools", "close", "class", "children"]);
40
+ const [local] = splitProps(props, ["search", "getItemKey", "storageKey", "editable", "isItemEditable", "isItemDeletable", "isItemDeleted", "isItemSelectable", "lastModifiedAtProp", "lastModifiedByProp", "onSubmitComplete", "filterInitial", "items", "onItemsChange", "inlineEdit", "dialogEdit", "excel", "selectionMode", "onSelect", "hideAutoTools", "close", "class", "children"]);
40
41
  const noti = useNotification();
41
42
  const i18n = useI18n();
42
43
  const topbarCtx = useContext(TopbarContext);
@@ -53,11 +54,22 @@ const CrudSheetBase = (props) => {
53
54
  });
54
55
  let originalItems = [];
55
56
  const [filter, setFilter] = createStore(local.filterInitial ?? {});
56
- const [lastFilter, setLastFilter] = createSignal(objClone(filter));
57
+ const [lastFilter, setLastFilter] = createSignal(obj.clone(filter));
57
58
  const [page, setPage] = createSignal(1);
58
59
  const [totalPageCount, setTotalPageCount] = createSignal(0);
59
60
  const [sorts, setSorts] = createSignal([]);
60
61
  const [busyCount, setBusyCount] = createSignal(0);
62
+ async function withBusy(fn, errorMessage) {
63
+ setBusyCount((c) => c + 1);
64
+ try {
65
+ return await fn();
66
+ } catch (err) {
67
+ noti.error(err, errorMessage);
68
+ return void 0;
69
+ } finally {
70
+ setBusyCount((c) => c - 1);
71
+ }
72
+ }
61
73
  const [ready, setReady] = createSignal(false);
62
74
  const [selection, setSelection] = createSignal([]);
63
75
  const [selectedKeys, setSelectedKeys] = createSignal(/* @__PURE__ */ new Set());
@@ -66,6 +78,7 @@ const CrudSheetBase = (props) => {
66
78
  onCleanup(() => unregisterCrud(crudId));
67
79
  createEventListener(() => formRef, "pointerdown", () => activateCrud(crudId));
68
80
  createEventListener(() => formRef, "focusin", () => activateCrud(crudId));
81
+ let refreshVersion = 0;
69
82
  createEffect(() => {
70
83
  void doRefresh();
71
84
  });
@@ -85,19 +98,23 @@ const CrudSheetBase = (props) => {
85
98
  setSelection(restored);
86
99
  });
87
100
  async function doRefresh() {
101
+ const version = ++refreshVersion;
88
102
  setBusyCount((c) => c + 1);
89
103
  try {
90
104
  await refresh();
105
+ if (version !== refreshVersion) return;
106
+ setReady(true);
91
107
  } catch (err) {
108
+ if (version !== refreshVersion) return;
92
109
  noti.error(err, i18n.t("crudSheet.lookupFailed"));
110
+ } finally {
111
+ setBusyCount((c) => c - 1);
93
112
  }
94
- setBusyCount((c) => c - 1);
95
- setReady(true);
96
113
  }
97
114
  async function refresh() {
98
115
  const result = await local.search(lastFilter(), page(), sorts());
99
116
  setItems(reconcile(result.items));
100
- originalItems = objClone(result.items);
117
+ originalItems = obj.clone(result.items);
101
118
  setTotalPageCount(result.pageCount ?? 0);
102
119
  }
103
120
  function getItemDiffs() {
@@ -115,7 +132,7 @@ const CrudSheetBase = (props) => {
115
132
  e.preventDefault();
116
133
  if (!checkIgnoreChanges()) return;
117
134
  setPage(1);
118
- setLastFilter(() => objClone(filter));
135
+ setLastFilter(() => obj.clone(filter));
119
136
  }
120
137
  async function handleRefresh() {
121
138
  if (!checkIgnoreChanges()) return;
@@ -129,7 +146,7 @@ const CrudSheetBase = (props) => {
129
146
  }
130
147
  function handleToggleDelete(item, index) {
131
148
  var _a, _b;
132
- if (!(((_a = local.itemDeletable) == null ? void 0 : _a.call(local, item)) ?? true)) return;
149
+ if (!(((_a = local.isItemDeletable) == null ? void 0 : _a.call(local, item)) ?? true)) return;
133
150
  if (((_b = local.inlineEdit) == null ? void 0 : _b.deleteProp) == null) return;
134
151
  const dp = local.inlineEdit.deleteProp;
135
152
  if (local.getItemKey(item) == null) {
@@ -138,10 +155,11 @@ const CrudSheetBase = (props) => {
138
155
  }));
139
156
  return;
140
157
  }
141
- setItems(index, dp, !item[dp]);
158
+ setItems(produce((draft) => {
159
+ draft[index][dp] = !item[dp];
160
+ }));
142
161
  }
143
162
  async function handleSave() {
144
- var _a;
145
163
  if (busyCount() > 0) return;
146
164
  if (!canEdit()) return;
147
165
  if (!local.inlineEdit) return;
@@ -150,16 +168,13 @@ const CrudSheetBase = (props) => {
150
168
  noti.info(i18n.t("crudSheet.notice"), i18n.t("crudSheet.noChanges"));
151
169
  return;
152
170
  }
153
- setBusyCount((c) => c + 1);
154
- try {
171
+ await withBusy(async () => {
172
+ var _a;
155
173
  await local.inlineEdit.submit(diffs);
156
174
  noti.success(i18n.t("crudSheet.saveCompleted"), i18n.t("crudSheet.saveSuccess"));
157
175
  await refresh();
158
176
  (_a = local.onSubmitComplete) == null ? void 0 : _a.call(local);
159
- } catch (err) {
160
- noti.error(err, i18n.t("crudSheet.saveFailed"));
161
- }
162
- setBusyCount((c) => c - 1);
177
+ }, i18n.t("crudSheet.saveFailed"));
163
178
  }
164
179
  async function handleFormSubmit(e) {
165
180
  e.preventDefault();
@@ -169,74 +184,48 @@ const CrudSheetBase = (props) => {
169
184
  if (!local.dialogEdit) return;
170
185
  const result = await local.dialogEdit.editItem(item);
171
186
  if (!result) return;
172
- setBusyCount((c) => c + 1);
173
- try {
174
- await refresh();
175
- } catch (err) {
176
- noti.error(err, i18n.t("crudSheet.lookupFailed"));
177
- }
178
- setBusyCount((c) => c - 1);
187
+ await withBusy(() => refresh(), i18n.t("crudSheet.lookupFailed"));
179
188
  }
180
189
  async function handleDeleteItems() {
181
190
  var _a;
182
191
  if (!((_a = local.dialogEdit) == null ? void 0 : _a.deleteItems)) return;
183
192
  const result = await local.dialogEdit.deleteItems(selection());
184
193
  if (!result) return;
185
- setBusyCount((c) => c + 1);
186
- try {
194
+ await withBusy(async () => {
187
195
  await refresh();
188
196
  noti.success(i18n.t("crudSheet.deleteCompleted"), i18n.t("crudSheet.deleteSuccess"));
189
- } catch (err) {
190
- noti.error(err, i18n.t("crudSheet.deleteFailed"));
191
- }
192
- setBusyCount((c) => c - 1);
197
+ }, i18n.t("crudSheet.deleteFailed"));
193
198
  }
194
199
  async function handleRestoreItems() {
195
200
  var _a;
196
201
  if (!((_a = local.dialogEdit) == null ? void 0 : _a.restoreItems)) return;
197
202
  const result = await local.dialogEdit.restoreItems(selection());
198
203
  if (!result) return;
199
- setBusyCount((c) => c + 1);
200
- try {
204
+ await withBusy(async () => {
201
205
  await refresh();
202
206
  noti.success(i18n.t("crudSheet.restoreCompleted"), i18n.t("crudSheet.restoreSuccess"));
203
- } catch (err) {
204
- noti.error(err, i18n.t("crudSheet.restoreFailed"));
205
- }
206
- setBusyCount((c) => c - 1);
207
+ }, i18n.t("crudSheet.restoreFailed"));
207
208
  }
208
209
  async function handleExcelDownload() {
209
210
  if (!local.excel) return;
210
- setBusyCount((c) => c + 1);
211
- try {
211
+ await withBusy(async () => {
212
212
  const result = await local.search(lastFilter(), void 0, sorts());
213
213
  await local.excel.download(result.items);
214
- } catch (err) {
215
- noti.error(err, i18n.t("crudSheet.excelDownloadFailed"));
216
- }
217
- setBusyCount((c) => c - 1);
214
+ }, i18n.t("crudSheet.excelDownloadFailed"));
218
215
  }
219
- function handleExcelUpload() {
216
+ async function handleExcelUpload() {
220
217
  var _a;
221
218
  if (!((_a = local.excel) == null ? void 0 : _a.upload)) return;
222
- const input = document.createElement("input");
223
- input.type = "file";
224
- input.accept = ".xlsx";
225
- input.onchange = async () => {
226
- var _a2;
227
- const file = (_a2 = input.files) == null ? void 0 : _a2[0];
228
- if (file == null) return;
229
- setBusyCount((c) => c + 1);
230
- try {
231
- await local.excel.upload(file);
232
- noti.success(i18n.t("crudSheet.excelCompleted"), i18n.t("crudSheet.excelUploadSuccess"));
233
- await refresh();
234
- } catch (err) {
235
- noti.error(err, i18n.t("crudSheet.excelUploadFailed"));
236
- }
237
- setBusyCount((c) => c - 1);
238
- };
239
- input.click();
219
+ const files = await openFileDialog({
220
+ accept: ".xlsx"
221
+ });
222
+ const file = files == null ? void 0 : files[0];
223
+ if (file == null) return;
224
+ await withBusy(async () => {
225
+ await local.excel.upload(file);
226
+ noti.success(i18n.t("crudSheet.excelCompleted"), i18n.t("crudSheet.excelUploadSuccess"));
227
+ await refresh();
228
+ }, i18n.t("crudSheet.excelUploadFailed"));
240
229
  }
241
230
  function handleSelectionChange(newSelection) {
242
231
  const currentItems = items;
@@ -306,7 +295,7 @@ const CrudSheetBase = (props) => {
306
295
  }
307
296
  }
308
297
  if (topbarCtx) {
309
- createTopbarActions(() => [_$createComponent(Show, {
298
+ useTopbarActions(() => [_$createComponent(Show, {
310
299
  get when() {
311
300
  return _$memo(() => !!canEdit())() && local.inlineEdit;
312
301
  },
@@ -362,7 +351,7 @@ const CrudSheetBase = (props) => {
362
351
  };
363
352
  const isItemDeleted = (item) => {
364
353
  var _a;
365
- return ((_a = local.itemDeleted) == null ? void 0 : _a.call(local, item)) ?? false;
354
+ return ((_a = local.isItemDeleted) == null ? void 0 : _a.call(local, item)) ?? false;
366
355
  };
367
356
  return [_$createComponent(ColumnsProvider, {
368
357
  get children() {
@@ -538,7 +527,7 @@ const CrudSheetBase = (props) => {
538
527
  get disabled() {
539
528
  return selection().length === 0 || !selection().some((item) => {
540
529
  var _a, _b;
541
- return (((_a = local.itemDeletable) == null ? void 0 : _a.call(local, item)) ?? true) && !(((_b = local.itemDeleted) == null ? void 0 : _b.call(local, item)) ?? false);
530
+ return (((_a = local.isItemDeletable) == null ? void 0 : _a.call(local, item)) ?? true) && !(((_b = local.isItemDeleted) == null ? void 0 : _b.call(local, item)) ?? false);
542
531
  });
543
532
  },
544
533
  get children() {
@@ -563,7 +552,7 @@ const CrudSheetBase = (props) => {
563
552
  get disabled() {
564
553
  return selection().length === 0 || !selection().some((item) => {
565
554
  var _a;
566
- return ((_a = local.itemDeleted) == null ? void 0 : _a.call(local, item)) ?? false;
555
+ return ((_a = local.isItemDeleted) == null ? void 0 : _a.call(local, item)) ?? false;
567
556
  });
568
557
  },
569
558
  get children() {
@@ -646,8 +635,8 @@ const CrudSheetBase = (props) => {
646
635
  return sorts();
647
636
  },
648
637
  onSortsChange: setSorts,
649
- get itemSelectable() {
650
- return local.itemSelectable;
638
+ get isItemSelectable() {
639
+ return local.isItemSelectable;
651
640
  },
652
641
  get selectionMode() {
653
642
  var _a, _b;
@@ -658,7 +647,7 @@ const CrudSheetBase = (props) => {
658
647
  },
659
648
  onSelectionChange: handleSelectionChange,
660
649
  get autoSelect() {
661
- return isSelectMode() && local.selectionMode === "single" ? "click" : void 0;
650
+ return isSelectMode() && local.selectionMode === "single" ? true : void 0;
662
651
  },
663
652
  cellClass: (item) => {
664
653
  if (isItemDeleted(item)) {
@@ -684,7 +673,7 @@ const CrudSheetBase = (props) => {
684
673
  theme: "danger",
685
674
  get disabled() {
686
675
  var _a;
687
- return !(((_a = local.itemDeletable) == null ? void 0 : _a.call(local, dsCtx.item)) ?? true);
676
+ return !(((_a = local.isItemDeletable) == null ? void 0 : _a.call(local, dsCtx.item)) ?? true);
688
677
  },
689
678
  onClick: () => handleToggleDelete(dsCtx.item, dsCtx.index),
690
679
  get children() {
@@ -751,7 +740,7 @@ const CrudSheetBase = (props) => {
751
740
  setItems(dsCtx.index, key, value);
752
741
  }
753
742
  };
754
- if (local.dialogEdit && (col.editTrigger ?? false) && canEdit() && (((_a = local.itemEditable) == null ? void 0 : _a.call(local, dsCtx.item)) ?? true)) {
743
+ if (local.dialogEdit && (col.editTrigger ?? false) && canEdit() && (((_a = local.isItemEditable) == null ? void 0 : _a.call(local, dsCtx.item)) ?? true)) {
755
744
  return _$createComponent(Link, {
756
745
  get ["class"]() {
757
746
  return clsx("flex", gap.default);
@@ -796,7 +785,7 @@ const CrudSheetBase = (props) => {
796
785
  var _el$1 = _tmpl$9();
797
786
  _$insert(_el$1, () => {
798
787
  var _a;
799
- return (_a = objGetChainValue(dsCtx.item, local.lastModifiedAtProp, true)) == null ? void 0 : _a.toFormatString("yyyy-MM-dd HH:mm");
788
+ return (_a = obj.getChainValue(dsCtx.item, local.lastModifiedAtProp, true)) == null ? void 0 : _a.toFormatString("yyyy-MM-dd HH:mm");
800
789
  });
801
790
  _$effect(() => _$className(_el$1, clsx(pad.default, "text-center")));
802
791
  return _el$1;
@@ -818,7 +807,7 @@ const CrudSheetBase = (props) => {
818
807
  hidden: true,
819
808
  children: (dsCtx) => (() => {
820
809
  var _el$10 = _tmpl$9();
821
- _$insert(_el$10, () => objGetChainValue(dsCtx.item, local.lastModifiedByProp, true));
810
+ _$insert(_el$10, () => obj.getChainValue(dsCtx.item, local.lastModifiedByProp, true));
822
811
  _$effect(() => _$className(_el$10, clsx(pad.default, "text-center")));
823
812
  return _el$10;
824
813
  })()