@etsoo/materialui 1.4.67 → 1.4.69

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 (547) hide show
  1. package/__tests__/ComboBox.tsx +1 -7
  2. package/__tests__/tsconfig.json +1 -1
  3. package/lib/cjs/AddresSelector.js +141 -0
  4. package/lib/cjs/AuditDisplay.js +52 -0
  5. package/lib/cjs/AutocompleteExtendedProps.js +2 -0
  6. package/lib/cjs/BackButton.js +38 -0
  7. package/lib/cjs/BridgeCloseButton.js +35 -0
  8. package/lib/cjs/ButtonLink.js +22 -0
  9. package/lib/cjs/ButtonPopover.js +63 -0
  10. package/lib/cjs/ComboBox.js +134 -0
  11. package/lib/cjs/ComboBoxMultiple.js +132 -0
  12. package/lib/cjs/ComboBoxPro.js +71 -0
  13. package/lib/cjs/CountdownButton.js +91 -0
  14. package/lib/cjs/CountryList.js +29 -0
  15. package/lib/cjs/CultureDataTable.js +48 -0
  16. package/lib/cjs/CustomFabProps.js +2 -0
  17. package/lib/cjs/DataGridEx.js +333 -0
  18. package/lib/cjs/DataGridRenderers.js +105 -0
  19. package/lib/cjs/DataSteps.js +93 -0
  20. package/lib/cjs/DataTable.js +52 -0
  21. package/lib/cjs/DialogButton.js +43 -0
  22. package/lib/cjs/DnDList.js +222 -0
  23. package/lib/cjs/DraggablePaperComponent.js +19 -0
  24. package/lib/cjs/EmailInput.js +17 -0
  25. package/lib/cjs/FabBox.js +42 -0
  26. package/lib/cjs/FieldSetEx.js +32 -0
  27. package/lib/cjs/FileUploadButton.js +46 -0
  28. package/lib/cjs/FlexBox.js +22 -0
  29. package/lib/cjs/GridDataCacheType.js +2 -0
  30. package/lib/cjs/GridDataFormat.js +46 -0
  31. package/lib/cjs/GridUtils.js +90 -0
  32. package/lib/cjs/HiSelector.js +49 -0
  33. package/lib/cjs/HiSelectorTL.js +43 -0
  34. package/lib/cjs/IconButtonLink.js +19 -0
  35. package/lib/cjs/InputField.js +54 -0
  36. package/lib/cjs/InputTipField.js +50 -0
  37. package/lib/cjs/IntInputField.js +116 -0
  38. package/lib/cjs/ItemList.js +71 -0
  39. package/lib/{LineChart.d.ts → cjs/LineChart.d.ts} +1 -1
  40. package/lib/cjs/LineChart.js +59 -0
  41. package/lib/cjs/ListChooser.js +95 -0
  42. package/lib/cjs/ListItemRightIcon.js +11 -0
  43. package/lib/cjs/ListMoreDisplay.js +101 -0
  44. package/lib/cjs/LoadingButton.js +47 -0
  45. package/lib/cjs/MUGlobal.js +189 -0
  46. package/lib/cjs/MUUtils.js +58 -0
  47. package/lib/cjs/MaskInput.d.ts +40 -0
  48. package/lib/cjs/MaskInput.js +54 -0
  49. package/lib/cjs/MenuButton.js +68 -0
  50. package/lib/cjs/MobileListItemRenderer.js +33 -0
  51. package/lib/cjs/MoneyInputField.js +18 -0
  52. package/lib/cjs/MoreFab.js +100 -0
  53. package/lib/cjs/NotifierMU.js +368 -0
  54. package/lib/cjs/NotifierPopupProps.js +2 -0
  55. package/lib/cjs/NotifierPromptProps.js +2 -0
  56. package/lib/cjs/NumberInputField.js +32 -0
  57. package/lib/cjs/OptionBool.js +17 -0
  58. package/lib/cjs/OptionGroup.js +108 -0
  59. package/lib/cjs/OptionGroupFlag.js +92 -0
  60. package/lib/cjs/PList.js +19 -0
  61. package/lib/cjs/PercentCircularProgress.js +20 -0
  62. package/lib/cjs/PercentLinearProgress.js +11 -0
  63. package/lib/cjs/ProgressCount.js +79 -0
  64. package/lib/cjs/PullToRefreshUI.js +29 -0
  65. package/lib/cjs/QuickList.js +48 -0
  66. package/lib/cjs/RegionsRQ.js +2 -0
  67. package/lib/cjs/ResponsibleContainer.js +196 -0
  68. package/lib/cjs/ResponsiveStyleValue.js +2 -0
  69. package/lib/cjs/ScrollTopFab.js +30 -0
  70. package/lib/cjs/ScrollerListEx.js +168 -0
  71. package/lib/cjs/SearchBar.js +270 -0
  72. package/lib/cjs/SearchField.js +52 -0
  73. package/lib/cjs/SearchOptionGroup.js +17 -0
  74. package/lib/cjs/SelectBool.js +22 -0
  75. package/lib/cjs/SelectEx.js +180 -0
  76. package/lib/cjs/ShowDataComparison.js +63 -0
  77. package/lib/cjs/Switch.js +40 -0
  78. package/lib/cjs/SwitchAnt.js +48 -0
  79. package/lib/cjs/SwitchField.js +36 -0
  80. package/lib/cjs/TabBox.js +34 -0
  81. package/lib/{TableEx.d.ts → cjs/TableEx.d.ts} +1 -2
  82. package/lib/cjs/TableEx.js +294 -0
  83. package/lib/cjs/TagList.js +62 -0
  84. package/lib/cjs/TagListPro.js +66 -0
  85. package/lib/cjs/TextFieldEx.js +145 -0
  86. package/lib/cjs/Tiplist.js +211 -0
  87. package/lib/cjs/TiplistPro.js +206 -0
  88. package/lib/cjs/TooltipClick.js +46 -0
  89. package/lib/cjs/TwoFieldInput.js +69 -0
  90. package/lib/cjs/UserAvatar.js +26 -0
  91. package/lib/cjs/UserAvatarEditor.js +169 -0
  92. package/lib/cjs/app/CommonApp.js +32 -0
  93. package/lib/cjs/app/IServiceApp.js +11 -0
  94. package/lib/cjs/app/IServiceAppSettings.js +2 -0
  95. package/lib/cjs/app/IServicePage.js +2 -0
  96. package/lib/cjs/app/IServiceUser.js +2 -0
  97. package/lib/cjs/app/ISmartERPUser.js +2 -0
  98. package/lib/cjs/app/Labels.js +65 -0
  99. package/lib/cjs/app/ReactApp.js +387 -0
  100. package/lib/cjs/app/ServiceApp.js +232 -0
  101. package/lib/cjs/custom/CustomFieldUtils.js +152 -0
  102. package/lib/cjs/custom/CustomFieldViewer.js +57 -0
  103. package/lib/cjs/custom/CustomFieldWindow.js +95 -0
  104. package/lib/cjs/custom/FieldAmountLabel.js +47 -0
  105. package/lib/cjs/custom/FieldCheckbox.js +56 -0
  106. package/lib/cjs/custom/FieldCombobox.js +47 -0
  107. package/lib/cjs/custom/FieldDateInput.js +50 -0
  108. package/lib/cjs/custom/FieldDivider.js +19 -0
  109. package/lib/cjs/custom/FieldInput.js +34 -0
  110. package/lib/cjs/custom/FieldJson.js +57 -0
  111. package/lib/cjs/custom/FieldLabel.js +35 -0
  112. package/lib/cjs/custom/FieldNumberInput.js +44 -0
  113. package/lib/cjs/custom/FieldRadio.js +56 -0
  114. package/lib/cjs/custom/FieldSelect.js +55 -0
  115. package/lib/cjs/custom/FieldSwitch.js +49 -0
  116. package/lib/cjs/custom/FieldTexarea.js +35 -0
  117. package/lib/cjs/index.js +134 -0
  118. package/lib/cjs/messages/MessageUtils.js +76 -0
  119. package/lib/cjs/messages/OperationMessageContainer.js +49 -0
  120. package/lib/cjs/messages/OperationMessageDto.js +2 -0
  121. package/lib/cjs/messages/OperationMessageHandler.js +2 -0
  122. package/lib/cjs/messages/RefreshHandler.js +2 -0
  123. package/lib/cjs/messages/SignalRUser.js +2 -0
  124. package/lib/cjs/pages/CommonPage.js +64 -0
  125. package/lib/cjs/pages/DataGridPage.js +114 -0
  126. package/lib/cjs/pages/DataGridPageProps.js +2 -0
  127. package/lib/cjs/pages/DrawerHeader.js +16 -0
  128. package/lib/cjs/pages/EditPage.js +30 -0
  129. package/lib/cjs/pages/FixedListPage.js +104 -0
  130. package/lib/cjs/pages/LeftDrawer.js +37 -0
  131. package/lib/cjs/pages/ListPage.js +83 -0
  132. package/lib/cjs/pages/ResponsivePage.js +53 -0
  133. package/lib/cjs/pages/SearchPageProps.js +2 -0
  134. package/lib/cjs/pages/TablePage.js +72 -0
  135. package/lib/cjs/pages/UserMenu.js +91 -0
  136. package/lib/cjs/pages/ViewPage.js +160 -0
  137. package/lib/cjs/texts/DateText.js +28 -0
  138. package/lib/cjs/texts/MoneyText.js +19 -0
  139. package/lib/cjs/texts/NumberText.js +17 -0
  140. package/lib/mjs/AddresSelector.d.ts +107 -0
  141. package/lib/mjs/AuditDisplay.d.ts +31 -0
  142. package/lib/mjs/AutocompleteExtendedProps.d.ts +73 -0
  143. package/lib/mjs/BackButton.d.ts +12 -0
  144. package/lib/mjs/BridgeCloseButton.d.ts +22 -0
  145. package/lib/mjs/ButtonLink.d.ts +20 -0
  146. package/lib/mjs/ButtonPopover.d.ts +29 -0
  147. package/lib/mjs/ComboBox.d.ts +45 -0
  148. package/lib/mjs/ComboBoxMultiple.d.ts +41 -0
  149. package/lib/mjs/ComboBoxPro.d.ts +31 -0
  150. package/lib/mjs/CountdownButton.d.ts +27 -0
  151. package/lib/mjs/CountryList.d.ts +30 -0
  152. package/lib/mjs/CultureDataTable.d.ts +19 -0
  153. package/lib/mjs/CustomFabProps.d.ts +27 -0
  154. package/lib/mjs/DataGridEx.d.ts +101 -0
  155. package/lib/mjs/DataGridRenderers.d.ts +22 -0
  156. package/lib/mjs/DataSteps.d.ts +38 -0
  157. package/lib/mjs/DataTable.d.ts +27 -0
  158. package/lib/mjs/DialogButton.d.ts +54 -0
  159. package/lib/mjs/DnDList.d.ts +104 -0
  160. package/lib/mjs/DraggablePaperComponent.d.ts +7 -0
  161. package/lib/mjs/EmailInput.d.ts +10 -0
  162. package/lib/mjs/FabBox.d.ts +26 -0
  163. package/lib/mjs/FieldSetEx.d.ts +21 -0
  164. package/lib/mjs/FileUploadButton.d.ts +36 -0
  165. package/lib/mjs/FlexBox.d.ts +13 -0
  166. package/lib/mjs/GridDataCacheType.d.ts +9 -0
  167. package/lib/mjs/GridDataFormat.d.ts +10 -0
  168. package/lib/mjs/GridUtils.d.ts +44 -0
  169. package/lib/mjs/HiSelector.d.ts +79 -0
  170. package/lib/mjs/HiSelectorTL.d.ts +67 -0
  171. package/lib/mjs/IconButtonLink.d.ts +20 -0
  172. package/lib/mjs/InputField.d.ts +80 -0
  173. package/lib/mjs/InputTipField.d.ts +38 -0
  174. package/lib/mjs/IntInputField.d.ts +55 -0
  175. package/lib/mjs/ItemList.d.ts +68 -0
  176. package/lib/mjs/LineChart.d.ts +28 -0
  177. package/lib/{LineChart.js → mjs/LineChart.js} +2 -1
  178. package/lib/mjs/ListChooser.d.ts +64 -0
  179. package/lib/mjs/ListItemRightIcon.d.ts +5 -0
  180. package/lib/mjs/ListMoreDisplay.d.ts +38 -0
  181. package/lib/mjs/LoadingButton.d.ts +15 -0
  182. package/lib/mjs/MUGlobal.d.ts +101 -0
  183. package/lib/mjs/MUUtils.d.ts +22 -0
  184. package/lib/mjs/MaskInput.d.ts +40 -0
  185. package/lib/{MaskInput.js → mjs/MaskInput.js} +7 -1
  186. package/lib/mjs/MenuButton.d.ts +9 -0
  187. package/lib/mjs/MobileListItemRenderer.d.ts +17 -0
  188. package/lib/mjs/MoneyInputField.d.ts +10 -0
  189. package/lib/mjs/MoreFab.d.ts +45 -0
  190. package/lib/mjs/NotifierMU.d.ts +48 -0
  191. package/lib/mjs/NotifierPopupProps.d.ts +5 -0
  192. package/lib/mjs/NotifierPromptProps.d.ts +21 -0
  193. package/lib/mjs/NumberInputField.d.ts +42 -0
  194. package/lib/mjs/OptionBool.d.ts +12 -0
  195. package/lib/mjs/OptionGroup.d.ts +80 -0
  196. package/lib/mjs/OptionGroupFlag.d.ts +76 -0
  197. package/lib/mjs/PList.d.ts +14 -0
  198. package/lib/mjs/PercentCircularProgress.d.ts +7 -0
  199. package/lib/mjs/PercentLinearProgress.d.ts +7 -0
  200. package/lib/mjs/ProgressCount.d.ts +43 -0
  201. package/lib/mjs/PullToRefreshUI.d.ts +8 -0
  202. package/lib/mjs/QuickList.d.ts +56 -0
  203. package/lib/mjs/RegionsRQ.d.ts +22 -0
  204. package/lib/mjs/ResponsibleContainer.d.ts +98 -0
  205. package/lib/mjs/ResponsiveStyleValue.d.ts +7 -0
  206. package/lib/mjs/ScrollTopFab.d.ts +6 -0
  207. package/lib/mjs/ScrollerListEx.d.ts +75 -0
  208. package/lib/mjs/SearchBar.d.ts +32 -0
  209. package/lib/mjs/SearchField.d.ts +24 -0
  210. package/lib/mjs/SearchOptionGroup.d.ts +8 -0
  211. package/lib/mjs/SelectBool.d.ts +12 -0
  212. package/lib/mjs/SelectEx.d.ts +74 -0
  213. package/lib/mjs/ShowDataComparison.d.ts +15 -0
  214. package/lib/mjs/Switch.d.ts +28 -0
  215. package/lib/mjs/SwitchAnt.d.ts +24 -0
  216. package/lib/mjs/SwitchField.d.ts +45 -0
  217. package/lib/mjs/TabBox.d.ts +54 -0
  218. package/lib/mjs/TableEx.d.ts +64 -0
  219. package/lib/mjs/TagList.d.ts +21 -0
  220. package/lib/mjs/TagListPro.d.ts +22 -0
  221. package/lib/mjs/TextFieldEx.d.ts +157 -0
  222. package/lib/mjs/Tiplist.d.ts +29 -0
  223. package/lib/mjs/TiplistPro.d.ts +60 -0
  224. package/lib/mjs/TooltipClick.d.ts +15 -0
  225. package/lib/mjs/TwoFieldInput.d.ts +22 -0
  226. package/lib/mjs/UserAvatar.d.ts +23 -0
  227. package/lib/mjs/UserAvatarEditor.d.ts +60 -0
  228. package/lib/mjs/app/CommonApp.d.ts +21 -0
  229. package/lib/mjs/app/IServiceApp.d.ts +41 -0
  230. package/lib/mjs/app/IServiceAppSettings.d.ts +6 -0
  231. package/lib/mjs/app/IServicePage.d.ts +6 -0
  232. package/lib/mjs/app/IServiceUser.d.ts +42 -0
  233. package/lib/mjs/app/ISmartERPUser.d.ts +21 -0
  234. package/lib/mjs/app/Labels.d.ts +65 -0
  235. package/lib/mjs/app/ReactApp.d.ts +252 -0
  236. package/lib/mjs/app/ServiceApp.d.ts +76 -0
  237. package/lib/mjs/custom/CustomFieldUtils.d.ts +56 -0
  238. package/lib/mjs/custom/CustomFieldViewer.d.ts +50 -0
  239. package/lib/mjs/custom/CustomFieldWindow.d.ts +55 -0
  240. package/lib/mjs/custom/FieldAmountLabel.d.ts +7 -0
  241. package/lib/mjs/custom/FieldCheckbox.d.ts +8 -0
  242. package/lib/mjs/custom/FieldCombobox.d.ts +8 -0
  243. package/lib/mjs/custom/FieldDateInput.d.ts +7 -0
  244. package/lib/mjs/custom/FieldDivider.d.ts +7 -0
  245. package/lib/mjs/custom/FieldInput.d.ts +7 -0
  246. package/lib/mjs/custom/FieldJson.d.ts +7 -0
  247. package/lib/mjs/custom/FieldLabel.d.ts +7 -0
  248. package/lib/mjs/custom/FieldNumberInput.d.ts +7 -0
  249. package/lib/mjs/custom/FieldRadio.d.ts +8 -0
  250. package/lib/mjs/custom/FieldSelect.d.ts +8 -0
  251. package/lib/mjs/custom/FieldSwitch.d.ts +7 -0
  252. package/lib/mjs/custom/FieldTexarea.d.ts +7 -0
  253. package/lib/mjs/index.js +118 -0
  254. package/lib/mjs/messages/MessageUtils.d.ts +52 -0
  255. package/lib/mjs/messages/OperationMessageContainer.d.ts +24 -0
  256. package/lib/mjs/messages/OperationMessageDto.d.ts +26 -0
  257. package/lib/mjs/messages/OperationMessageHandler.d.ts +24 -0
  258. package/lib/mjs/messages/RefreshHandler.d.ts +5 -0
  259. package/lib/mjs/messages/SignalRUser.d.ts +31 -0
  260. package/lib/mjs/pages/CommonPage.d.ts +72 -0
  261. package/lib/mjs/pages/DataGridPage.d.ts +7 -0
  262. package/lib/mjs/pages/DataGridPageProps.d.ts +18 -0
  263. package/lib/mjs/pages/DrawerHeader.d.ts +4 -0
  264. package/lib/mjs/pages/EditPage.d.ts +46 -0
  265. package/lib/mjs/pages/FixedListPage.d.ts +14 -0
  266. package/lib/mjs/pages/LeftDrawer.d.ts +35 -0
  267. package/lib/mjs/pages/ListPage.d.ts +12 -0
  268. package/lib/mjs/pages/ResponsivePage.d.ts +56 -0
  269. package/lib/mjs/pages/SearchPageProps.d.ts +36 -0
  270. package/lib/mjs/pages/TablePage.d.ts +13 -0
  271. package/lib/mjs/pages/UserMenu.d.ts +40 -0
  272. package/lib/mjs/pages/ViewPage.d.ts +104 -0
  273. package/lib/{pages → mjs/pages}/ViewPage.js +1 -1
  274. package/lib/mjs/texts/DateText.d.ts +33 -0
  275. package/lib/mjs/texts/MoneyText.d.ts +20 -0
  276. package/lib/mjs/texts/NumberText.d.ts +24 -0
  277. package/package.json +17 -9
  278. package/src/LineChart.tsx +3 -3
  279. package/src/MaskInput.tsx +23 -10
  280. package/src/TableEx.tsx +1 -1
  281. package/src/pages/ViewPage.tsx +1 -1
  282. package/tsconfig.cjs.json +19 -0
  283. package/tsconfig.json +1 -1
  284. package/lib/MaskInput.d.ts +0 -34
  285. /package/lib/{AddresSelector.d.ts → cjs/AddresSelector.d.ts} +0 -0
  286. /package/lib/{AuditDisplay.d.ts → cjs/AuditDisplay.d.ts} +0 -0
  287. /package/lib/{AutocompleteExtendedProps.d.ts → cjs/AutocompleteExtendedProps.d.ts} +0 -0
  288. /package/lib/{BackButton.d.ts → cjs/BackButton.d.ts} +0 -0
  289. /package/lib/{BridgeCloseButton.d.ts → cjs/BridgeCloseButton.d.ts} +0 -0
  290. /package/lib/{ButtonLink.d.ts → cjs/ButtonLink.d.ts} +0 -0
  291. /package/lib/{ButtonPopover.d.ts → cjs/ButtonPopover.d.ts} +0 -0
  292. /package/lib/{ComboBox.d.ts → cjs/ComboBox.d.ts} +0 -0
  293. /package/lib/{ComboBoxMultiple.d.ts → cjs/ComboBoxMultiple.d.ts} +0 -0
  294. /package/lib/{ComboBoxPro.d.ts → cjs/ComboBoxPro.d.ts} +0 -0
  295. /package/lib/{CountdownButton.d.ts → cjs/CountdownButton.d.ts} +0 -0
  296. /package/lib/{CountryList.d.ts → cjs/CountryList.d.ts} +0 -0
  297. /package/lib/{CultureDataTable.d.ts → cjs/CultureDataTable.d.ts} +0 -0
  298. /package/lib/{CustomFabProps.d.ts → cjs/CustomFabProps.d.ts} +0 -0
  299. /package/lib/{DataGridEx.d.ts → cjs/DataGridEx.d.ts} +0 -0
  300. /package/lib/{DataGridRenderers.d.ts → cjs/DataGridRenderers.d.ts} +0 -0
  301. /package/lib/{DataSteps.d.ts → cjs/DataSteps.d.ts} +0 -0
  302. /package/lib/{DataTable.d.ts → cjs/DataTable.d.ts} +0 -0
  303. /package/lib/{DialogButton.d.ts → cjs/DialogButton.d.ts} +0 -0
  304. /package/lib/{DnDList.d.ts → cjs/DnDList.d.ts} +0 -0
  305. /package/lib/{DraggablePaperComponent.d.ts → cjs/DraggablePaperComponent.d.ts} +0 -0
  306. /package/lib/{EmailInput.d.ts → cjs/EmailInput.d.ts} +0 -0
  307. /package/lib/{FabBox.d.ts → cjs/FabBox.d.ts} +0 -0
  308. /package/lib/{FieldSetEx.d.ts → cjs/FieldSetEx.d.ts} +0 -0
  309. /package/lib/{FileUploadButton.d.ts → cjs/FileUploadButton.d.ts} +0 -0
  310. /package/lib/{FlexBox.d.ts → cjs/FlexBox.d.ts} +0 -0
  311. /package/lib/{GridDataCacheType.d.ts → cjs/GridDataCacheType.d.ts} +0 -0
  312. /package/lib/{GridDataFormat.d.ts → cjs/GridDataFormat.d.ts} +0 -0
  313. /package/lib/{GridUtils.d.ts → cjs/GridUtils.d.ts} +0 -0
  314. /package/lib/{HiSelector.d.ts → cjs/HiSelector.d.ts} +0 -0
  315. /package/lib/{HiSelectorTL.d.ts → cjs/HiSelectorTL.d.ts} +0 -0
  316. /package/lib/{IconButtonLink.d.ts → cjs/IconButtonLink.d.ts} +0 -0
  317. /package/lib/{InputField.d.ts → cjs/InputField.d.ts} +0 -0
  318. /package/lib/{InputTipField.d.ts → cjs/InputTipField.d.ts} +0 -0
  319. /package/lib/{IntInputField.d.ts → cjs/IntInputField.d.ts} +0 -0
  320. /package/lib/{ItemList.d.ts → cjs/ItemList.d.ts} +0 -0
  321. /package/lib/{ListChooser.d.ts → cjs/ListChooser.d.ts} +0 -0
  322. /package/lib/{ListItemRightIcon.d.ts → cjs/ListItemRightIcon.d.ts} +0 -0
  323. /package/lib/{ListMoreDisplay.d.ts → cjs/ListMoreDisplay.d.ts} +0 -0
  324. /package/lib/{LoadingButton.d.ts → cjs/LoadingButton.d.ts} +0 -0
  325. /package/lib/{MUGlobal.d.ts → cjs/MUGlobal.d.ts} +0 -0
  326. /package/lib/{MUUtils.d.ts → cjs/MUUtils.d.ts} +0 -0
  327. /package/lib/{MenuButton.d.ts → cjs/MenuButton.d.ts} +0 -0
  328. /package/lib/{MobileListItemRenderer.d.ts → cjs/MobileListItemRenderer.d.ts} +0 -0
  329. /package/lib/{MoneyInputField.d.ts → cjs/MoneyInputField.d.ts} +0 -0
  330. /package/lib/{MoreFab.d.ts → cjs/MoreFab.d.ts} +0 -0
  331. /package/lib/{NotifierMU.d.ts → cjs/NotifierMU.d.ts} +0 -0
  332. /package/lib/{NotifierPopupProps.d.ts → cjs/NotifierPopupProps.d.ts} +0 -0
  333. /package/lib/{NotifierPromptProps.d.ts → cjs/NotifierPromptProps.d.ts} +0 -0
  334. /package/lib/{NumberInputField.d.ts → cjs/NumberInputField.d.ts} +0 -0
  335. /package/lib/{OptionBool.d.ts → cjs/OptionBool.d.ts} +0 -0
  336. /package/lib/{OptionGroup.d.ts → cjs/OptionGroup.d.ts} +0 -0
  337. /package/lib/{OptionGroupFlag.d.ts → cjs/OptionGroupFlag.d.ts} +0 -0
  338. /package/lib/{PList.d.ts → cjs/PList.d.ts} +0 -0
  339. /package/lib/{PercentCircularProgress.d.ts → cjs/PercentCircularProgress.d.ts} +0 -0
  340. /package/lib/{PercentLinearProgress.d.ts → cjs/PercentLinearProgress.d.ts} +0 -0
  341. /package/lib/{ProgressCount.d.ts → cjs/ProgressCount.d.ts} +0 -0
  342. /package/lib/{PullToRefreshUI.d.ts → cjs/PullToRefreshUI.d.ts} +0 -0
  343. /package/lib/{QuickList.d.ts → cjs/QuickList.d.ts} +0 -0
  344. /package/lib/{RegionsRQ.d.ts → cjs/RegionsRQ.d.ts} +0 -0
  345. /package/lib/{ResponsibleContainer.d.ts → cjs/ResponsibleContainer.d.ts} +0 -0
  346. /package/lib/{ResponsiveStyleValue.d.ts → cjs/ResponsiveStyleValue.d.ts} +0 -0
  347. /package/lib/{ScrollTopFab.d.ts → cjs/ScrollTopFab.d.ts} +0 -0
  348. /package/lib/{ScrollerListEx.d.ts → cjs/ScrollerListEx.d.ts} +0 -0
  349. /package/lib/{SearchBar.d.ts → cjs/SearchBar.d.ts} +0 -0
  350. /package/lib/{SearchField.d.ts → cjs/SearchField.d.ts} +0 -0
  351. /package/lib/{SearchOptionGroup.d.ts → cjs/SearchOptionGroup.d.ts} +0 -0
  352. /package/lib/{SelectBool.d.ts → cjs/SelectBool.d.ts} +0 -0
  353. /package/lib/{SelectEx.d.ts → cjs/SelectEx.d.ts} +0 -0
  354. /package/lib/{ShowDataComparison.d.ts → cjs/ShowDataComparison.d.ts} +0 -0
  355. /package/lib/{Switch.d.ts → cjs/Switch.d.ts} +0 -0
  356. /package/lib/{SwitchAnt.d.ts → cjs/SwitchAnt.d.ts} +0 -0
  357. /package/lib/{SwitchField.d.ts → cjs/SwitchField.d.ts} +0 -0
  358. /package/lib/{TabBox.d.ts → cjs/TabBox.d.ts} +0 -0
  359. /package/lib/{TagList.d.ts → cjs/TagList.d.ts} +0 -0
  360. /package/lib/{TagListPro.d.ts → cjs/TagListPro.d.ts} +0 -0
  361. /package/lib/{TextFieldEx.d.ts → cjs/TextFieldEx.d.ts} +0 -0
  362. /package/lib/{Tiplist.d.ts → cjs/Tiplist.d.ts} +0 -0
  363. /package/lib/{TiplistPro.d.ts → cjs/TiplistPro.d.ts} +0 -0
  364. /package/lib/{TooltipClick.d.ts → cjs/TooltipClick.d.ts} +0 -0
  365. /package/lib/{TwoFieldInput.d.ts → cjs/TwoFieldInput.d.ts} +0 -0
  366. /package/lib/{UserAvatar.d.ts → cjs/UserAvatar.d.ts} +0 -0
  367. /package/lib/{UserAvatarEditor.d.ts → cjs/UserAvatarEditor.d.ts} +0 -0
  368. /package/lib/{app → cjs/app}/CommonApp.d.ts +0 -0
  369. /package/lib/{app → cjs/app}/IServiceApp.d.ts +0 -0
  370. /package/lib/{app → cjs/app}/IServiceAppSettings.d.ts +0 -0
  371. /package/lib/{app → cjs/app}/IServicePage.d.ts +0 -0
  372. /package/lib/{app → cjs/app}/IServiceUser.d.ts +0 -0
  373. /package/lib/{app → cjs/app}/ISmartERPUser.d.ts +0 -0
  374. /package/lib/{app → cjs/app}/Labels.d.ts +0 -0
  375. /package/lib/{app → cjs/app}/ReactApp.d.ts +0 -0
  376. /package/lib/{app → cjs/app}/ServiceApp.d.ts +0 -0
  377. /package/lib/{custom → cjs/custom}/CustomFieldUtils.d.ts +0 -0
  378. /package/lib/{custom → cjs/custom}/CustomFieldViewer.d.ts +0 -0
  379. /package/lib/{custom → cjs/custom}/CustomFieldWindow.d.ts +0 -0
  380. /package/lib/{custom → cjs/custom}/FieldAmountLabel.d.ts +0 -0
  381. /package/lib/{custom → cjs/custom}/FieldCheckbox.d.ts +0 -0
  382. /package/lib/{custom → cjs/custom}/FieldCombobox.d.ts +0 -0
  383. /package/lib/{custom → cjs/custom}/FieldDateInput.d.ts +0 -0
  384. /package/lib/{custom → cjs/custom}/FieldDivider.d.ts +0 -0
  385. /package/lib/{custom → cjs/custom}/FieldInput.d.ts +0 -0
  386. /package/lib/{custom → cjs/custom}/FieldJson.d.ts +0 -0
  387. /package/lib/{custom → cjs/custom}/FieldLabel.d.ts +0 -0
  388. /package/lib/{custom → cjs/custom}/FieldNumberInput.d.ts +0 -0
  389. /package/lib/{custom → cjs/custom}/FieldRadio.d.ts +0 -0
  390. /package/lib/{custom → cjs/custom}/FieldSelect.d.ts +0 -0
  391. /package/lib/{custom → cjs/custom}/FieldSwitch.d.ts +0 -0
  392. /package/lib/{custom → cjs/custom}/FieldTexarea.d.ts +0 -0
  393. /package/lib/{index.d.ts → cjs/index.d.ts} +0 -0
  394. /package/lib/{messages → cjs/messages}/MessageUtils.d.ts +0 -0
  395. /package/lib/{messages → cjs/messages}/OperationMessageContainer.d.ts +0 -0
  396. /package/lib/{messages → cjs/messages}/OperationMessageDto.d.ts +0 -0
  397. /package/lib/{messages → cjs/messages}/OperationMessageHandler.d.ts +0 -0
  398. /package/lib/{messages → cjs/messages}/RefreshHandler.d.ts +0 -0
  399. /package/lib/{messages → cjs/messages}/SignalRUser.d.ts +0 -0
  400. /package/lib/{pages → cjs/pages}/CommonPage.d.ts +0 -0
  401. /package/lib/{pages → cjs/pages}/DataGridPage.d.ts +0 -0
  402. /package/lib/{pages → cjs/pages}/DataGridPageProps.d.ts +0 -0
  403. /package/lib/{pages → cjs/pages}/DrawerHeader.d.ts +0 -0
  404. /package/lib/{pages → cjs/pages}/EditPage.d.ts +0 -0
  405. /package/lib/{pages → cjs/pages}/FixedListPage.d.ts +0 -0
  406. /package/lib/{pages → cjs/pages}/LeftDrawer.d.ts +0 -0
  407. /package/lib/{pages → cjs/pages}/ListPage.d.ts +0 -0
  408. /package/lib/{pages → cjs/pages}/ResponsivePage.d.ts +0 -0
  409. /package/lib/{pages → cjs/pages}/SearchPageProps.d.ts +0 -0
  410. /package/lib/{pages → cjs/pages}/TablePage.d.ts +0 -0
  411. /package/lib/{pages → cjs/pages}/UserMenu.d.ts +0 -0
  412. /package/lib/{pages → cjs/pages}/ViewPage.d.ts +0 -0
  413. /package/lib/{texts → cjs/texts}/DateText.d.ts +0 -0
  414. /package/lib/{texts → cjs/texts}/MoneyText.d.ts +0 -0
  415. /package/lib/{texts → cjs/texts}/NumberText.d.ts +0 -0
  416. /package/lib/{AddresSelector.js → mjs/AddresSelector.js} +0 -0
  417. /package/lib/{AuditDisplay.js → mjs/AuditDisplay.js} +0 -0
  418. /package/lib/{AutocompleteExtendedProps.js → mjs/AutocompleteExtendedProps.js} +0 -0
  419. /package/lib/{BackButton.js → mjs/BackButton.js} +0 -0
  420. /package/lib/{BridgeCloseButton.js → mjs/BridgeCloseButton.js} +0 -0
  421. /package/lib/{ButtonLink.js → mjs/ButtonLink.js} +0 -0
  422. /package/lib/{ButtonPopover.js → mjs/ButtonPopover.js} +0 -0
  423. /package/lib/{ComboBox.js → mjs/ComboBox.js} +0 -0
  424. /package/lib/{ComboBoxMultiple.js → mjs/ComboBoxMultiple.js} +0 -0
  425. /package/lib/{ComboBoxPro.js → mjs/ComboBoxPro.js} +0 -0
  426. /package/lib/{CountdownButton.js → mjs/CountdownButton.js} +0 -0
  427. /package/lib/{CountryList.js → mjs/CountryList.js} +0 -0
  428. /package/lib/{CultureDataTable.js → mjs/CultureDataTable.js} +0 -0
  429. /package/lib/{CustomFabProps.js → mjs/CustomFabProps.js} +0 -0
  430. /package/lib/{DataGridEx.js → mjs/DataGridEx.js} +0 -0
  431. /package/lib/{DataGridRenderers.js → mjs/DataGridRenderers.js} +0 -0
  432. /package/lib/{DataSteps.js → mjs/DataSteps.js} +0 -0
  433. /package/lib/{DataTable.js → mjs/DataTable.js} +0 -0
  434. /package/lib/{DialogButton.js → mjs/DialogButton.js} +0 -0
  435. /package/lib/{DnDList.js → mjs/DnDList.js} +0 -0
  436. /package/lib/{DraggablePaperComponent.js → mjs/DraggablePaperComponent.js} +0 -0
  437. /package/lib/{EmailInput.js → mjs/EmailInput.js} +0 -0
  438. /package/lib/{FabBox.js → mjs/FabBox.js} +0 -0
  439. /package/lib/{FieldSetEx.js → mjs/FieldSetEx.js} +0 -0
  440. /package/lib/{FileUploadButton.js → mjs/FileUploadButton.js} +0 -0
  441. /package/lib/{FlexBox.js → mjs/FlexBox.js} +0 -0
  442. /package/lib/{GridDataCacheType.js → mjs/GridDataCacheType.js} +0 -0
  443. /package/lib/{GridDataFormat.js → mjs/GridDataFormat.js} +0 -0
  444. /package/lib/{GridUtils.js → mjs/GridUtils.js} +0 -0
  445. /package/lib/{HiSelector.js → mjs/HiSelector.js} +0 -0
  446. /package/lib/{HiSelectorTL.js → mjs/HiSelectorTL.js} +0 -0
  447. /package/lib/{IconButtonLink.js → mjs/IconButtonLink.js} +0 -0
  448. /package/lib/{InputField.js → mjs/InputField.js} +0 -0
  449. /package/lib/{InputTipField.js → mjs/InputTipField.js} +0 -0
  450. /package/lib/{IntInputField.js → mjs/IntInputField.js} +0 -0
  451. /package/lib/{ItemList.js → mjs/ItemList.js} +0 -0
  452. /package/lib/{ListChooser.js → mjs/ListChooser.js} +0 -0
  453. /package/lib/{ListItemRightIcon.js → mjs/ListItemRightIcon.js} +0 -0
  454. /package/lib/{ListMoreDisplay.js → mjs/ListMoreDisplay.js} +0 -0
  455. /package/lib/{LoadingButton.js → mjs/LoadingButton.js} +0 -0
  456. /package/lib/{MUGlobal.js → mjs/MUGlobal.js} +0 -0
  457. /package/lib/{MUUtils.js → mjs/MUUtils.js} +0 -0
  458. /package/lib/{MenuButton.js → mjs/MenuButton.js} +0 -0
  459. /package/lib/{MobileListItemRenderer.js → mjs/MobileListItemRenderer.js} +0 -0
  460. /package/lib/{MoneyInputField.js → mjs/MoneyInputField.js} +0 -0
  461. /package/lib/{MoreFab.js → mjs/MoreFab.js} +0 -0
  462. /package/lib/{NotifierMU.js → mjs/NotifierMU.js} +0 -0
  463. /package/lib/{NotifierPopupProps.js → mjs/NotifierPopupProps.js} +0 -0
  464. /package/lib/{NotifierPromptProps.js → mjs/NotifierPromptProps.js} +0 -0
  465. /package/lib/{NumberInputField.js → mjs/NumberInputField.js} +0 -0
  466. /package/lib/{OptionBool.js → mjs/OptionBool.js} +0 -0
  467. /package/lib/{OptionGroup.js → mjs/OptionGroup.js} +0 -0
  468. /package/lib/{OptionGroupFlag.js → mjs/OptionGroupFlag.js} +0 -0
  469. /package/lib/{PList.js → mjs/PList.js} +0 -0
  470. /package/lib/{PercentCircularProgress.js → mjs/PercentCircularProgress.js} +0 -0
  471. /package/lib/{PercentLinearProgress.js → mjs/PercentLinearProgress.js} +0 -0
  472. /package/lib/{ProgressCount.js → mjs/ProgressCount.js} +0 -0
  473. /package/lib/{PullToRefreshUI.js → mjs/PullToRefreshUI.js} +0 -0
  474. /package/lib/{QuickList.js → mjs/QuickList.js} +0 -0
  475. /package/lib/{RegionsRQ.js → mjs/RegionsRQ.js} +0 -0
  476. /package/lib/{ResponsibleContainer.js → mjs/ResponsibleContainer.js} +0 -0
  477. /package/lib/{ResponsiveStyleValue.js → mjs/ResponsiveStyleValue.js} +0 -0
  478. /package/lib/{ScrollTopFab.js → mjs/ScrollTopFab.js} +0 -0
  479. /package/lib/{ScrollerListEx.js → mjs/ScrollerListEx.js} +0 -0
  480. /package/lib/{SearchBar.js → mjs/SearchBar.js} +0 -0
  481. /package/lib/{SearchField.js → mjs/SearchField.js} +0 -0
  482. /package/lib/{SearchOptionGroup.js → mjs/SearchOptionGroup.js} +0 -0
  483. /package/lib/{SelectBool.js → mjs/SelectBool.js} +0 -0
  484. /package/lib/{SelectEx.js → mjs/SelectEx.js} +0 -0
  485. /package/lib/{ShowDataComparison.js → mjs/ShowDataComparison.js} +0 -0
  486. /package/lib/{Switch.js → mjs/Switch.js} +0 -0
  487. /package/lib/{SwitchAnt.js → mjs/SwitchAnt.js} +0 -0
  488. /package/lib/{SwitchField.js → mjs/SwitchField.js} +0 -0
  489. /package/lib/{TabBox.js → mjs/TabBox.js} +0 -0
  490. /package/lib/{TableEx.js → mjs/TableEx.js} +0 -0
  491. /package/lib/{TagList.js → mjs/TagList.js} +0 -0
  492. /package/lib/{TagListPro.js → mjs/TagListPro.js} +0 -0
  493. /package/lib/{TextFieldEx.js → mjs/TextFieldEx.js} +0 -0
  494. /package/lib/{Tiplist.js → mjs/Tiplist.js} +0 -0
  495. /package/lib/{TiplistPro.js → mjs/TiplistPro.js} +0 -0
  496. /package/lib/{TooltipClick.js → mjs/TooltipClick.js} +0 -0
  497. /package/lib/{TwoFieldInput.js → mjs/TwoFieldInput.js} +0 -0
  498. /package/lib/{UserAvatar.js → mjs/UserAvatar.js} +0 -0
  499. /package/lib/{UserAvatarEditor.js → mjs/UserAvatarEditor.js} +0 -0
  500. /package/lib/{app → mjs/app}/CommonApp.js +0 -0
  501. /package/lib/{app → mjs/app}/IServiceApp.js +0 -0
  502. /package/lib/{app → mjs/app}/IServiceAppSettings.js +0 -0
  503. /package/lib/{app → mjs/app}/IServicePage.js +0 -0
  504. /package/lib/{app → mjs/app}/IServiceUser.js +0 -0
  505. /package/lib/{app → mjs/app}/ISmartERPUser.js +0 -0
  506. /package/lib/{app → mjs/app}/Labels.js +0 -0
  507. /package/lib/{app → mjs/app}/ReactApp.js +0 -0
  508. /package/lib/{app → mjs/app}/ServiceApp.js +0 -0
  509. /package/lib/{custom → mjs/custom}/CustomFieldUtils.js +0 -0
  510. /package/lib/{custom → mjs/custom}/CustomFieldViewer.js +0 -0
  511. /package/lib/{custom → mjs/custom}/CustomFieldWindow.js +0 -0
  512. /package/lib/{custom → mjs/custom}/FieldAmountLabel.js +0 -0
  513. /package/lib/{custom → mjs/custom}/FieldCheckbox.js +0 -0
  514. /package/lib/{custom → mjs/custom}/FieldCombobox.js +0 -0
  515. /package/lib/{custom → mjs/custom}/FieldDateInput.js +0 -0
  516. /package/lib/{custom → mjs/custom}/FieldDivider.js +0 -0
  517. /package/lib/{custom → mjs/custom}/FieldInput.js +0 -0
  518. /package/lib/{custom → mjs/custom}/FieldJson.js +0 -0
  519. /package/lib/{custom → mjs/custom}/FieldLabel.js +0 -0
  520. /package/lib/{custom → mjs/custom}/FieldNumberInput.js +0 -0
  521. /package/lib/{custom → mjs/custom}/FieldRadio.js +0 -0
  522. /package/lib/{custom → mjs/custom}/FieldSelect.js +0 -0
  523. /package/lib/{custom → mjs/custom}/FieldSwitch.js +0 -0
  524. /package/lib/{custom → mjs/custom}/FieldTexarea.js +0 -0
  525. /package/lib/{index.js → mjs/index.d.ts} +0 -0
  526. /package/lib/{messages → mjs/messages}/MessageUtils.js +0 -0
  527. /package/lib/{messages → mjs/messages}/OperationMessageContainer.js +0 -0
  528. /package/lib/{messages → mjs/messages}/OperationMessageDto.js +0 -0
  529. /package/lib/{messages → mjs/messages}/OperationMessageHandler.js +0 -0
  530. /package/lib/{messages → mjs/messages}/RefreshHandler.js +0 -0
  531. /package/lib/{messages → mjs/messages}/SignalRUser.js +0 -0
  532. /package/lib/{pages → mjs/pages}/CommonPage.js +0 -0
  533. /package/lib/{pages → mjs/pages}/DataGridPage.js +0 -0
  534. /package/lib/{pages → mjs/pages}/DataGridPageProps.js +0 -0
  535. /package/lib/{pages → mjs/pages}/DrawerHeader.js +0 -0
  536. /package/lib/{pages → mjs/pages}/EditPage.js +0 -0
  537. /package/lib/{pages → mjs/pages}/FixedListPage.js +0 -0
  538. /package/lib/{pages → mjs/pages}/LeftDrawer.js +0 -0
  539. /package/lib/{pages → mjs/pages}/ListPage.js +0 -0
  540. /package/lib/{pages → mjs/pages}/ResponsivePage.js +0 -0
  541. /package/lib/{pages → mjs/pages}/SearchPageProps.js +0 -0
  542. /package/lib/{pages → mjs/pages}/TablePage.js +0 -0
  543. /package/lib/{pages → mjs/pages}/UserMenu.js +0 -0
  544. /package/lib/{texts → mjs/texts}/DateText.js +0 -0
  545. /package/lib/{texts → mjs/texts}/MoneyText.js +0 -0
  546. /package/lib/{texts → mjs/texts}/NumberText.js +0 -0
  547. /package/{vite.config.ts → vite.config.mts} +0 -0
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GridUtils = void 0;
4
+ const react_1 = require("@etsoo/react");
5
+ /**
6
+ * Grid utilities
7
+ */
8
+ var GridUtils;
9
+ (function (GridUtils) {
10
+ /**
11
+ * Create data loader
12
+ * @param props Props
13
+ * @param template Field template
14
+ * @param cacheKey Cache key
15
+ * @param keepSource Keep source or not
16
+ * @returns Request data
17
+ */
18
+ function createLoader(props, template, cacheKey, keepSource) {
19
+ const { data, ...rest } = props;
20
+ const formData = (0, react_1.GridDataGetData)(data, template, keepSource);
21
+ if (cacheKey)
22
+ sessionStorage.setItem(`${cacheKey}-searchbar`, JSON.stringify(formData));
23
+ return { ...formData, ...rest };
24
+ }
25
+ GridUtils.createLoader = createLoader;
26
+ /**
27
+ * Get cache data
28
+ * @param cacheKey Cache key
29
+ * @param cacheMinutes Cache minutes
30
+ * @returns
31
+ */
32
+ function getCacheData(cacheKey, cacheMinutes) {
33
+ const cacheSource = sessionStorage.getItem(cacheKey);
34
+ if (cacheSource) {
35
+ const cacheData = JSON.parse(cacheSource);
36
+ if (new Date().valueOf() - cacheData.creation > cacheMinutes * 60000) {
37
+ sessionStorage.removeItem(`${cacheKey}-searchbar`);
38
+ sessionStorage.removeItem(cacheKey);
39
+ return;
40
+ }
41
+ return cacheData;
42
+ }
43
+ }
44
+ GridUtils.getCacheData = getCacheData;
45
+ /**
46
+ * Get search data
47
+ * @param cacheKey Cache key
48
+ * @returns Result
49
+ */
50
+ function getSearchData(cacheKey) {
51
+ if (cacheKey) {
52
+ const data = sessionStorage.getItem(`${cacheKey}-searchbar`);
53
+ if (data) {
54
+ return JSON.parse(data);
55
+ }
56
+ }
57
+ }
58
+ GridUtils.getSearchData = getSearchData;
59
+ /**
60
+ * Get update rows handler
61
+ * @param cacheKey Cache key
62
+ * @returns Handler
63
+ */
64
+ function getUpdateRowsHandler(cacheKey) {
65
+ return (rows, state) => {
66
+ const page = state.queryPaging.currentPage ?? 0;
67
+ if (page > 0 && cacheKey) {
68
+ const data = {
69
+ rows,
70
+ state,
71
+ creation: new Date().valueOf()
72
+ };
73
+ sessionStorage.setItem(cacheKey, JSON.stringify(data));
74
+ }
75
+ };
76
+ }
77
+ GridUtils.getUpdateRowsHandler = getUpdateRowsHandler;
78
+ /**
79
+ * Merget search date to state
80
+ * @param state State
81
+ * @param searchData Search data
82
+ */
83
+ function mergeSearchData(state, searchData) {
84
+ if (searchData == null)
85
+ return;
86
+ state.data ??= {};
87
+ Object.assign(state.data, searchData);
88
+ }
89
+ GridUtils.mergeSearchData = mergeSearchData;
90
+ })(GridUtils || (exports.GridUtils = GridUtils = {}));
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.HiSelector = HiSelector;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const material_1 = require("@mui/material");
9
+ const react_1 = __importDefault(require("react"));
10
+ const SelectEx_1 = require("./SelectEx");
11
+ /**
12
+ * Hierarchy selector
13
+ * @param props Prop
14
+ * @returns Component
15
+ */
16
+ function HiSelector(props) {
17
+ // Destruct
18
+ const { breakPoints = { xs: 6, md: 4, lg: 3 }, idField = "id", error, helperText, name, label, labelField = "name", labels = ["1", "2", "3", "4"], loadData, onChange, onSelectChange, onItemChange, required, search = true, values = [], variant = "outlined" } = props;
19
+ const [localValues, setValues] = react_1.default.useState(values);
20
+ const updateValue = (value) => {
21
+ if (onChange)
22
+ onChange(value);
23
+ };
24
+ const doChange = (event, index) => {
25
+ const value = event.target.value;
26
+ const itemValue = value === "" ? undefined : value;
27
+ const newValues = [...localValues.slice(0, index)];
28
+ if (itemValue != null)
29
+ newValues.push(itemValue);
30
+ setValues(newValues);
31
+ if (onSelectChange)
32
+ onSelectChange(event);
33
+ };
34
+ const doItemChange = (option, userAction) => {
35
+ if (onItemChange == null)
36
+ return;
37
+ if (!userAction && (option == null || option[idField] !== values.at(-1)))
38
+ return;
39
+ onItemChange(option, userAction);
40
+ };
41
+ react_1.default.useEffect(() => {
42
+ setValues(values);
43
+ }, [values.toString()]);
44
+ const currentValue = localValues.at(-1);
45
+ react_1.default.useEffect(() => {
46
+ updateValue(currentValue);
47
+ }, [currentValue]);
48
+ return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [label && ((0, jsx_runtime_1.jsx)(material_1.Grid2, { size: { xs: 12 }, children: (0, jsx_runtime_1.jsx)(material_1.FormLabel, { required: required, sx: { fontSize: (theme) => theme.typography.caption }, children: label }) })), (0, jsx_runtime_1.jsx)("input", { type: "hidden", name: name, value: `${currentValue ?? ""}` }), (0, jsx_runtime_1.jsx)(material_1.Grid2, { size: breakPoints, children: (0, jsx_runtime_1.jsx)(SelectEx_1.SelectEx, { idField: idField, label: labels[0], labelField: labelField, name: "tab1", search: search, fullWidth: true, loadData: () => loadData(), value: values[0], onChange: (event) => doChange(event, 0), onItemChange: doItemChange, required: required, error: error, helperText: helperText, variant: variant }) }), localValues[0] != null && ((0, jsx_runtime_1.jsx)(material_1.Grid2, { size: breakPoints, children: (0, jsx_runtime_1.jsx)(SelectEx_1.SelectEx, { idField: idField, label: labels[1], labelField: labelField, name: "tab2", search: search, fullWidth: true, loadData: () => loadData(localValues[0]), value: values[1], onChange: (event) => doChange(event, 1), onItemChange: doItemChange, variant: variant }, `${localValues[0]}`) })), localValues[1] != null && ((0, jsx_runtime_1.jsx)(material_1.Grid2, { size: breakPoints, children: (0, jsx_runtime_1.jsx)(SelectEx_1.SelectEx, { idField: idField, label: labels[2], labelField: labelField, name: "tab3", search: search, fullWidth: true, loadData: () => loadData(localValues[1]), value: values[2], onChange: (event) => doChange(event, 2), onItemChange: doItemChange, variant: variant }, `${localValues[1]}`) })), localValues[2] != null && ((0, jsx_runtime_1.jsx)(material_1.Grid2, { size: breakPoints, children: (0, jsx_runtime_1.jsx)(SelectEx_1.SelectEx, { idField: idField, label: labels[3], labelField: labelField, name: "tab4", search: search, fullWidth: true, loadData: () => loadData(localValues[2]), value: values[3], onChange: (event) => doChange(event, 3), onItemChange: doItemChange, variant: variant }, `${localValues[2]}`) }))] }));
49
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.HiSelectorTL = HiSelectorTL;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const material_1 = require("@mui/material");
9
+ const react_1 = __importDefault(require("react"));
10
+ const Tiplist_1 = require("./Tiplist");
11
+ /**
12
+ * Hierarchy tiplist selector
13
+ * @param props Prop
14
+ * @returns Component
15
+ */
16
+ function HiSelectorTL(props) {
17
+ // Destruct
18
+ const { breakPoints = { xs: 6, md: 4, lg: 3 }, idField = "id", error, helperText, name, label = name, labels = ["1", "2", "3", "4"], loadData, onChange, onItemChange, required, search = false, values = [] } = props;
19
+ const [localValues, setValues] = react_1.default.useState(values);
20
+ const updateValue = (value) => {
21
+ if (onChange)
22
+ onChange(value);
23
+ };
24
+ const doChange = (index, event, value, reason) => {
25
+ if (onItemChange) {
26
+ onItemChange(event, value, reason);
27
+ if (event.isDefaultPrevented())
28
+ return;
29
+ }
30
+ const newValues = [...localValues.slice(0, index)];
31
+ if (value)
32
+ newValues.push(value[idField]);
33
+ setValues(newValues);
34
+ };
35
+ react_1.default.useEffect(() => {
36
+ setValues(values);
37
+ }, [values.toString()]);
38
+ const currentValue = localValues.at(-1);
39
+ react_1.default.useEffect(() => {
40
+ updateValue(currentValue);
41
+ }, [currentValue]);
42
+ return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [label && ((0, jsx_runtime_1.jsx)(material_1.Grid2, { size: { xs: 12 }, children: (0, jsx_runtime_1.jsx)(material_1.FormLabel, { required: required, sx: { fontSize: (theme) => theme.typography.caption }, children: label }) })), (0, jsx_runtime_1.jsx)("input", { type: "hidden", name: name, value: `${currentValue ?? ""}` }), (0, jsx_runtime_1.jsx)(material_1.Grid2, { size: breakPoints, children: (0, jsx_runtime_1.jsx)(Tiplist_1.Tiplist, { idField: idField, label: labels[0], name: "tab1", search: search, fullWidth: true, idValue: values[0], loadData: (keyword, id, items) => loadData(keyword, id, items), inputRequired: required, inputError: error, inputHelperText: helperText, onChange: (event, value, reason) => doChange(0, event, value, reason) }) }), localValues[0] != null && ((0, jsx_runtime_1.jsx)(material_1.Grid2, { size: breakPoints, children: (0, jsx_runtime_1.jsx)(Tiplist_1.Tiplist, { label: labels[1], idField: idField, name: "tab2", search: search, fullWidth: true, loadData: (keyword, id, items) => loadData(keyword, id, items, localValues[0]), idValue: values[1], onChange: (event, value, reason) => doChange(1, event, value, reason) }, `${localValues[0]}`) })), localValues[1] != null && ((0, jsx_runtime_1.jsx)(material_1.Grid2, { size: breakPoints, children: (0, jsx_runtime_1.jsx)(Tiplist_1.Tiplist, { label: labels[2], idField: idField, name: "tab3", search: search, fullWidth: true, loadData: (keyword, id, items) => loadData(keyword, id, items, localValues[1]), idValue: values[2], onChange: (event, value, reason) => doChange(2, event, value, reason) }, `${localValues[1]}`) })), localValues[2] != null && ((0, jsx_runtime_1.jsx)(material_1.Grid2, { size: breakPoints, children: (0, jsx_runtime_1.jsx)(Tiplist_1.Tiplist, { label: labels[3], idField: idField, name: "tab4", search: search, fullWidth: true, loadData: (keyword, id, items) => loadData(keyword, id, items, localValues[2]), idValue: values[3], onChange: (event, value, reason) => doChange(3, event, value, reason) }, `${localValues[2]}`) }))] }));
43
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IconButtonLink = IconButtonLink;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const material_1 = require("@mui/material");
6
+ const react_router_1 = require("react-router");
7
+ /**
8
+ * IconButtonLink
9
+ * @param props Props
10
+ * @returns Component
11
+ */
12
+ function IconButtonLink(props) {
13
+ // Destruct
14
+ const { href, state, ...rest } = props;
15
+ // Navigate
16
+ const navigate = (0, react_router_1.useNavigate)();
17
+ // Layout
18
+ return (0, jsx_runtime_1.jsx)(material_1.IconButton, { ...rest, onClick: () => navigate(href, { state }) });
19
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.InputField = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = require("@etsoo/react");
9
+ const material_1 = require("@mui/material");
10
+ const react_2 = __importDefault(require("react"));
11
+ const MUGlobal_1 = require("./MUGlobal");
12
+ /**
13
+ * Input field
14
+ * @param props Props
15
+ * @returns Component
16
+ */
17
+ exports.InputField = react_2.default.forwardRef((props, ref) => {
18
+ // Destruct
19
+ const { changeDelay, InputLabelProps = {}, InputProps = {}, inputProps = {}, onChange, onChangeDelay, readOnly, size = MUGlobal_1.MUGlobal.inputFieldSize, variant = MUGlobal_1.MUGlobal.inputFieldVariant, minChars = 0, ...rest } = props;
20
+ // Shrink
21
+ InputLabelProps.shrink ??= MUGlobal_1.MUGlobal.searchFieldShrink;
22
+ // Read only
23
+ if (readOnly != null)
24
+ InputProps.readOnly = readOnly;
25
+ // Min characters
26
+ inputProps["data-min-chars"] = minChars;
27
+ const isMounted = react_2.default.useRef(true);
28
+ const createDelayed = () => {
29
+ if (changeDelay != null && changeDelay >= 1) {
30
+ const changeHandler = onChangeDelay ?? onChange;
31
+ if (changeHandler)
32
+ return (0, react_1.useDelayedExecutor)(changeHandler, changeDelay);
33
+ }
34
+ return undefined;
35
+ };
36
+ const delayed = createDelayed();
37
+ const onChangeEx = (event) => {
38
+ // Min characters check
39
+ const len = event.target.value.length;
40
+ if (len > 0 && len < minChars)
41
+ return;
42
+ if (onChange && (delayed == null || onChangeDelay != null))
43
+ onChange(event);
44
+ delayed?.call(undefined, event);
45
+ };
46
+ react_2.default.useEffect(() => {
47
+ return () => {
48
+ isMounted.current = false;
49
+ delayed?.clear();
50
+ };
51
+ }, []);
52
+ // Layout
53
+ return ((0, jsx_runtime_1.jsx)(material_1.TextField, { ref: ref, InputLabelProps: InputLabelProps, InputProps: InputProps, inputProps: inputProps, onChange: onChangeEx, size: size, variant: variant, ...rest }));
54
+ });
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.InputTipField = InputTipField;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const material_1 = require("@mui/material");
9
+ const Typography_1 = __importDefault(require("@mui/material/Typography"));
10
+ const react_1 = __importDefault(require("react"));
11
+ const ReactApp_1 = require("./app/ReactApp");
12
+ const InputField_1 = require("./InputField");
13
+ /**
14
+ * InputField with tips
15
+ * @param props Props
16
+ * @returns Component
17
+ */
18
+ function InputTipField(props) {
19
+ // State
20
+ const [title, setTitle] = react_1.default.useState();
21
+ const [anchorEl, setAnchorEl] = react_1.default.useState();
22
+ const [data, setData] = react_1.default.useState();
23
+ // Destruct
24
+ const { labelProps = {
25
+ title: ReactApp_1.globalApp?.get("clickForDetails"),
26
+ sx: { color: (theme) => theme.palette.error.main, cursor: "pointer" }
27
+ }, InputProps = {
28
+ endAdornment: title ? ((0, jsx_runtime_1.jsx)(material_1.InputAdornment, { position: "end", children: (0, jsx_runtime_1.jsx)(Typography_1.default, { onClick: (event) => {
29
+ setAnchorEl(event.currentTarget);
30
+ }, ...labelProps, children: title }) })) : undefined
31
+ }, changeDelay = 480, onChangeDelay, loadData, itemLabel = (item) => item.label, renderItem = (item) => (0, jsx_runtime_1.jsx)(material_1.ListItem, { children: itemLabel(item) }, item.id), ...rest } = props;
32
+ const load = (value) => {
33
+ if (value.length < 2) {
34
+ setTitle(undefined);
35
+ return;
36
+ }
37
+ loadData(value).then(([data, title]) => {
38
+ setData(data);
39
+ setTitle(title);
40
+ });
41
+ };
42
+ return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Popover, { open: anchorEl != null, anchorEl: anchorEl, onClose: () => setAnchorEl(undefined), anchorOrigin: {
43
+ vertical: "bottom",
44
+ horizontal: "left"
45
+ }, children: data && (0, jsx_runtime_1.jsx)(material_1.List, { children: data.map((item) => renderItem(item)) }) }), (0, jsx_runtime_1.jsx)(InputField_1.InputField, { changeDelay: changeDelay, onChangeDelay: (event) => {
46
+ load(event.target.value);
47
+ if (onChangeDelay)
48
+ onChangeDelay(event);
49
+ }, InputProps: InputProps, ...rest })] }));
50
+ }
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IntInputField = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const material_1 = require("@mui/material");
9
+ const Add_1 = __importDefault(require("@mui/icons-material/Add"));
10
+ const Remove_1 = __importDefault(require("@mui/icons-material/Remove"));
11
+ const react_1 = __importDefault(require("react"));
12
+ const shared_1 = require("@etsoo/shared");
13
+ const InputField_1 = require("./InputField");
14
+ /**
15
+ * Integer input field (controlled)
16
+ */
17
+ exports.IntInputField = react_1.default.forwardRef((props, ref) => {
18
+ // Destruct
19
+ const { min = 0, step = 1, max = 9999999, inputStyle = { textAlign: "right" }, boxProps, buttons, endSymbol, symbol, value, changeDelay = 600, onChangeDelay, onChange, onFocus = (event) => event.currentTarget.select(), onValueChange, required, ...rest } = props;
20
+ // State
21
+ const [localValue, setLocalValue] = react_1.default.useState();
22
+ const setValue = (value, source, init = false) => {
23
+ if (onValueChange) {
24
+ const newValue = onValueChange(value, source, init);
25
+ if (newValue === false)
26
+ return;
27
+ if (newValue === null) {
28
+ setLocalValue(undefined);
29
+ return;
30
+ }
31
+ if (newValue === true || newValue === undefined)
32
+ setLocalValue(value);
33
+ else
34
+ setLocalValue(newValue);
35
+ }
36
+ else {
37
+ setLocalValue(value);
38
+ }
39
+ };
40
+ react_1.default.useEffect(() => {
41
+ setValue(value, undefined, true);
42
+ }, [value]);
43
+ // Layout
44
+ const layout = ((0, jsx_runtime_1.jsx)(InputField_1.InputField, { ref: ref, type: "number", value: localValue == null ? (required ? min : "") : localValue, inputProps: {
45
+ min,
46
+ step,
47
+ max,
48
+ style: inputStyle,
49
+ inputMode: "numeric"
50
+ }, InputProps: {
51
+ startAdornment: symbol ? ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: (0, jsx_runtime_1.jsx)(material_1.InputAdornment, { position: "start", children: symbol }) })) : undefined,
52
+ endAdornment: endSymbol ? ((0, jsx_runtime_1.jsx)(material_1.InputAdornment, { position: "end", children: endSymbol })) : undefined
53
+ }, sx: buttons
54
+ ? {
55
+ "& input[type=number]::-webkit-inner-spin-button": {
56
+ WebkitAppearance: "none",
57
+ margin: 0
58
+ },
59
+ "& input[type=number]::-webkit-outer-spin-button": {
60
+ WebkitAppearance: "none",
61
+ margin: 0
62
+ }
63
+ }
64
+ : undefined, onChange: (event) => {
65
+ const source = event.target.value;
66
+ setLocalValue(source);
67
+ if (onChange)
68
+ onChange(event);
69
+ }, changeDelay: changeDelay, onChangeDelay: (event) => {
70
+ const source = event.target.value;
71
+ const value = parseFloat(source);
72
+ if (isNaN(value))
73
+ setValue(undefined, source);
74
+ else if (value > max)
75
+ setValue(max, source);
76
+ else if (value < min)
77
+ setValue(value === 0 ? undefined : min, source);
78
+ // 0 is a special case
79
+ else
80
+ setValue(value, source);
81
+ if (onChangeDelay)
82
+ onChangeDelay(event);
83
+ }, onFocus: onFocus, required: required, ...rest }));
84
+ if (buttons)
85
+ return ((0, jsx_runtime_1.jsxs)(material_1.Box, { sx: {
86
+ display: "flex",
87
+ alignItems: "center",
88
+ width: "100%",
89
+ gap: 0.5,
90
+ ...boxProps
91
+ }, children: [(0, jsx_runtime_1.jsx)(material_1.IconButton, { size: "small", onClick: () => {
92
+ if (localValue == null)
93
+ return;
94
+ const value = shared_1.NumberUtils.parse(localValue);
95
+ if (value == null)
96
+ return;
97
+ if (value <= min)
98
+ setValue(undefined, "SUB");
99
+ else
100
+ setValue(value - step, "SUB");
101
+ }, children: (0, jsx_runtime_1.jsx)(Remove_1.default, {}) }), layout, (0, jsx_runtime_1.jsx)(material_1.IconButton, { size: "small", onClick: () => {
102
+ if (localValue == null) {
103
+ setValue(min, "ADD");
104
+ return;
105
+ }
106
+ const value = shared_1.NumberUtils.parse(localValue);
107
+ if (value == null)
108
+ return;
109
+ if (value >= max)
110
+ return;
111
+ else
112
+ setValue(value + step, "ADD");
113
+ }, children: (0, jsx_runtime_1.jsx)(Add_1.default, { color: localValue == null ? undefined : "primary" }) })] }));
114
+ else
115
+ return layout;
116
+ });
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ItemList = ItemList;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = __importDefault(require("react"));
9
+ const material_1 = require("@mui/material");
10
+ const shared_1 = require("@etsoo/shared");
11
+ /**
12
+ * Item list component
13
+ * @param props Properties
14
+ */
15
+ function ItemList(props) {
16
+ // properties destructure
17
+ const { buttonLabel, className, color = "primary", keepClick = false, items, idField = "id", labelField = "label", minWidth, icon, onClose, selectedValue, size = "medium", title, variant = "outlined" } = props;
18
+ // Get label
19
+ const getLabel = (item) => {
20
+ if (typeof labelField === "function") {
21
+ return labelField(item);
22
+ }
23
+ else {
24
+ return shared_1.DataTypes.convert(item[labelField], "string") ?? "";
25
+ }
26
+ };
27
+ // Dialog open or not state
28
+ const [open, setOpen] = react_1.default.useState(false);
29
+ // Default state
30
+ const defaultItem = items.find((item) => item[idField] === selectedValue);
31
+ // Current item
32
+ const [currentItem, setCurrentItem] = react_1.default.useState(defaultItem);
33
+ // Click handler
34
+ const clickHandler = () => {
35
+ if (items.length < 1 ||
36
+ (items.length === 1 && !keepClick && defaultItem != null)) {
37
+ return;
38
+ }
39
+ // Open the dialog
40
+ setOpen(true);
41
+ };
42
+ // Close handler
43
+ const closeHandler = () => {
44
+ if (!open)
45
+ return;
46
+ // Close the dialog
47
+ setOpen(false);
48
+ // Emit close event
49
+ if (onClose) {
50
+ onClose(currentItem, false);
51
+ }
52
+ };
53
+ // Close item handler
54
+ const closeItemHandler = (item) => {
55
+ if (!keepClick) {
56
+ // Update the current item
57
+ setCurrentItem(item);
58
+ }
59
+ // Close the dialog
60
+ setOpen(false);
61
+ // Emit close event
62
+ if (onClose) {
63
+ onClose(item, true);
64
+ }
65
+ };
66
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Button, { className: className, variant: variant, startIcon: icon, color: color, size: size, onClick: clickHandler, children: buttonLabel ?? (currentItem ? getLabel(currentItem) : undefined) }), (0, jsx_runtime_1.jsxs)(material_1.Dialog, { "aria-labelledby": "dialog-title", open: open, onClose: closeHandler, children: [title && (0, jsx_runtime_1.jsx)(material_1.DialogTitle, { id: "dialog-title", children: title }), (0, jsx_runtime_1.jsx)(material_1.DialogContent, { sx: { minWidth }, children: (0, jsx_runtime_1.jsx)(material_1.List, { children: items.map((item) => {
67
+ const id = item[idField];
68
+ return ((0, jsx_runtime_1.jsx)(material_1.ListItemButton, { disabled: id === (currentItem ? currentItem[idField] : undefined) &&
69
+ !keepClick, onClick: () => closeItemHandler(item), children: (0, jsx_runtime_1.jsx)(material_1.ListItemText, { children: getLabel(item) }) }, id));
70
+ }) }) })] })] }));
71
+ }
@@ -1,4 +1,4 @@
1
- import type { ChartData, LineControllerChartOptions } from "chart.js";
1
+ import type { ChartData, LineControllerChartOptions } from "chart.js" with { "resolution-mode": "import" };
2
2
  /**
3
3
  * Line chart
4
4
  */
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LineChart = LineChart;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const material_1 = require("@mui/material");
9
+ const react_1 = __importDefault(require("react"));
10
+ /**
11
+ * Line chart
12
+ * @param props Props
13
+ * @returns Component
14
+ */
15
+ function LineChart(props) {
16
+ // Destruct
17
+ const { data, options, subtitle, title } = props;
18
+ // State
19
+ const [LineType, setLineType] = react_1.default.useState();
20
+ react_1.default.useEffect(() => {
21
+ Promise.all([
22
+ import("react-chartjs-2"),
23
+ import("chart.js"),
24
+ import("chartjs-plugin-datalabels")
25
+ ]).then(([{ Line }, { Chart: ChartJS, CategoryScale, LinearScale, PointElement, LineElement, Title, Tooltip, Legend }, ChartDataLabels]) => {
26
+ // https://www.chartjs.org/docs/latest/getting-started/
27
+ ChartJS.register(CategoryScale, LinearScale, PointElement, LineElement, Title, Tooltip, Legend, ChartDataLabels // CommonJS says 'id' is missing
28
+ );
29
+ setLineType(Line);
30
+ });
31
+ }, []);
32
+ return LineType == null ? ((0, jsx_runtime_1.jsx)(material_1.LinearProgress, {})) : ((0, jsx_runtime_1.jsx)(LineType, { options: {
33
+ scales: {
34
+ x: {
35
+ ticks: {
36
+ display: false //this will remove only the label
37
+ }
38
+ }
39
+ },
40
+ responsive: true,
41
+ plugins: {
42
+ datalabels: {
43
+ display: (context) => context.dataset.data.length <= 31,
44
+ align: "end"
45
+ },
46
+ legend: {
47
+ position: "top"
48
+ },
49
+ subtitle: subtitle ? { text: subtitle, display: true } : undefined,
50
+ title: title
51
+ ? {
52
+ text: title,
53
+ display: true
54
+ }
55
+ : undefined
56
+ },
57
+ ...options
58
+ }, data: data }));
59
+ }
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ListChooser = ListChooser;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = require("@etsoo/react");
9
+ const material_1 = require("@mui/material");
10
+ const CheckBox_1 = __importDefault(require("@mui/icons-material/CheckBox"));
11
+ const react_2 = __importDefault(require("react"));
12
+ const FlexBox_1 = require("./FlexBox");
13
+ /**
14
+ * List chooser
15
+ * @param props Props
16
+ * @returns Component
17
+ */
18
+ function ListChooser(props) {
19
+ // Selected ids state
20
+ const [selectedIds, setSelectedIds] = react_2.default.useState([]);
21
+ const selectProps = (id) => ({
22
+ selected: selectedIds.includes(id),
23
+ onClick: () => {
24
+ if (multiple) {
25
+ const index = selectedIds.indexOf(id);
26
+ if (index === -1)
27
+ selectedIds.push(id);
28
+ else
29
+ selectedIds.splice(index, 1);
30
+ setSelectedIds([...selectedIds]);
31
+ }
32
+ else {
33
+ setSelectedIds([id]);
34
+ }
35
+ }
36
+ });
37
+ // Destruct
38
+ const { conditionField = "title", conditionRenderer = (rq, delayed) => ((0, jsx_runtime_1.jsx)(material_1.TextField, { autoFocus: true, margin: "dense", name: conditionField, label: title, fullWidth: true, variant: "standard", inputProps: { maxLength: 128 }, onChange: (event) => {
39
+ Reflect.set(rq, "title", event.target.value);
40
+ delayed.call();
41
+ } })), itemRenderer = (item, selectProps) => {
42
+ const id = item[idField];
43
+ const sp = selectProps(id);
44
+ const label = typeof labelField === "function"
45
+ ? labelField(item)
46
+ : Reflect.get(item, labelField);
47
+ return ((0, jsx_runtime_1.jsx)(material_1.ListItem, { disableGutters: true, secondaryAction: sp.selected ? (0, jsx_runtime_1.jsx)(CheckBox_1.default, { fontSize: "small" }) : undefined, children: (0, jsx_runtime_1.jsx)(material_1.ListItemButton, { ...sp, children: (0, jsx_runtime_1.jsx)(material_1.ListItemText, { primary: label }) }) }, `${id}`));
48
+ }, idField = "id", labelField = "label", loadData, multiple = false, onItemChange, title, doubleClickEnabled = false, onDoubleClick, ...rest } = props;
49
+ // Default minimum height
50
+ rest.sx ??= { minHeight: "220px" };
51
+ // State
52
+ const [items, setItems] = react_2.default.useState([]);
53
+ // Query request data
54
+ const mounted = react_2.default.useRef(false);
55
+ const rq = react_2.default.useRef({});
56
+ // Delayed execution
57
+ const delayed = (0, react_1.useDelayedExecutor)(async () => {
58
+ const result = await loadData(rq.current);
59
+ if (result == null || !mounted.current)
60
+ return;
61
+ if (!multiple &&
62
+ selectedIds.length > 0 &&
63
+ !result.some((item) => selectedIds.includes(item[idField]))) {
64
+ setSelectedIds([]);
65
+ }
66
+ setItems(result);
67
+ }, 480);
68
+ react_2.default.useEffect(() => {
69
+ if (!mounted.current)
70
+ return;
71
+ onItemChange(items.filter((item) => selectedIds.includes(item[idField])), selectedIds);
72
+ }, [selectedIds]);
73
+ react_2.default.useEffect(() => {
74
+ mounted.current = true;
75
+ delayed.call(0);
76
+ return () => {
77
+ mounted.current = false;
78
+ delayed.clear();
79
+ };
80
+ }, [delayed]);
81
+ const onDoubleClickLocal = (event) => {
82
+ if (onDoubleClick)
83
+ onDoubleClick(event);
84
+ if (doubleClickEnabled) {
85
+ const button = event.currentTarget
86
+ .closest("form")
87
+ ?.elements.namedItem("okButton");
88
+ if (button) {
89
+ button.click();
90
+ }
91
+ }
92
+ };
93
+ // Layout
94
+ return ((0, jsx_runtime_1.jsxs)(FlexBox_1.VBox, { children: [conditionRenderer(rq.current, delayed), (0, jsx_runtime_1.jsx)(material_1.List, { onDoubleClick: onDoubleClickLocal, disablePadding: true, dense: true, ...rest, children: items.map((item) => itemRenderer(item, selectProps)) })] }));
95
+ }