@nu-art/thunderstorm-frontend 0.400.5

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 (635) hide show
  1. package/_ats/ATS_ActionProcessor/ATS_ActionProcessor.d.ts +17 -0
  2. package/_ats/ATS_ActionProcessor/ATS_ActionProcessor.js +52 -0
  3. package/_ats/ATS_ActionProcessor/ATS_ActionProcessor.scss +43 -0
  4. package/_ats/ATS_AppConfigEditor/ATS_AppConfigEditor.d.ts +25 -0
  5. package/_ats/ATS_AppConfigEditor/ATS_AppConfigEditor.js +88 -0
  6. package/_ats/ATS_AppConfigEditor/ATS_AppConfigEditor.scss +117 -0
  7. package/_ats/ATS_CollectionUpgrades/ATS_CollectionUpgrades.d.ts +17 -0
  8. package/_ats/ATS_CollectionUpgrades/ATS_CollectionUpgrades.js +45 -0
  9. package/_ats/ATS_CollectionUpgrades/ATS_CollectionUpgrades.scss +24 -0
  10. package/_ats/ATS_CrudOperations/ATS_CrudOperations.d.ts +29 -0
  11. package/_ats/ATS_CrudOperations/ATS_CrudOperations.js +93 -0
  12. package/_ats/ATS_CrudOperations/ATS_CrudOperations.scss +46 -0
  13. package/_ats/ATS_CrudOperations/ui-components.d.ts +24 -0
  14. package/_ats/ATS_CrudOperations/ui-components.js +11 -0
  15. package/_ats/ATS_EditableItem/ATS_EditableItem.d.ts +16 -0
  16. package/_ats/ATS_EditableItem/ATS_EditableItem.js +48 -0
  17. package/_ats/ATS_IDBCacheComparison/ATS_IDBCacheComparison.d.ts +18 -0
  18. package/_ats/ATS_IDBCacheComparison/ATS_IDBCacheComparison.js +28 -0
  19. package/_ats/ATS_IDBCacheComparison/ATS_IDBCacheComparison.scss +7 -0
  20. package/_ats/ATS_IDBCacheComparison/Component_CollectionGrid.d.ts +23 -0
  21. package/_ats/ATS_IDBCacheComparison/Component_CollectionGrid.js +66 -0
  22. package/_ats/ATS_IDBCacheComparison/Component_CollectionGrid.scss +52 -0
  23. package/_ats/ATS_IDBCacheComparison/Dialog_IDBCacheComparison.d.ts +17 -0
  24. package/_ats/ATS_IDBCacheComparison/Dialog_IDBCacheComparison.js +30 -0
  25. package/_ats/ATS_IDBCacheComparison/Dialog_IDBCacheComparison.scss +25 -0
  26. package/_ats/ATS_Printables/ATS_AbstractPrintable.d.ts +16 -0
  27. package/_ats/ATS_Printables/ATS_AbstractPrintable.js +37 -0
  28. package/_ats/ATS_Printables/ATS_Printable.d.ts +13 -0
  29. package/_ats/ATS_Printables/ATS_Printable.js +45 -0
  30. package/_ats/ATS_Printables/ATS_Printable.scss +40 -0
  31. package/_ats/ATS_ProtoComponent/ATS_ProtoComponent.d.ts +33 -0
  32. package/_ats/ATS_ProtoComponent/ATS_ProtoComponent.js +80 -0
  33. package/_ats/ATS_ProtoComponent/ATS_ProtoComponent.scss +19 -0
  34. package/_ats/ATS_SyncEnv/ATS_SyncEnv.d.ts +51 -0
  35. package/_ats/ATS_SyncEnv/ATS_SyncEnv.js +215 -0
  36. package/_ats/ATS_SyncEnv/ATS_SyncEnv.scss +172 -0
  37. package/_ats/ATS_Toaster/ATS_Toaster.d.ts +23 -0
  38. package/_ats/ATS_Toaster/ATS_Toaster.js +48 -0
  39. package/_ats/ATS_Toaster/ATS_Toaster.scss +2 -0
  40. package/_ats/ATS_Toaster/index.d.ts +1 -0
  41. package/_ats/ATS_Toaster/index.js +1 -0
  42. package/_ats/dialogs/Dialog_ActionProcessorConfirmation/Dialog_ActionProcessorConfirmation.d.ts +18 -0
  43. package/_ats/dialogs/Dialog_ActionProcessorConfirmation/Dialog_ActionProcessorConfirmation.js +41 -0
  44. package/_ats/dialogs/Dialog_ActionProcessorConfirmation/Dialog_ActionProcessorConfirmation.scss +71 -0
  45. package/_ats/dialogs/index.d.ts +1 -0
  46. package/_ats/dialogs/index.js +1 -0
  47. package/_ats/index.d.ts +8 -0
  48. package/_ats/index.js +8 -0
  49. package/_entity/app-config/ModuleFE_AppConfig.d.ts +24 -0
  50. package/_entity/app-config/ModuleFE_AppConfig.js +52 -0
  51. package/_entity/app-config/index.d.ts +2 -0
  52. package/_entity/app-config/index.js +2 -0
  53. package/_entity/app-config/module-pack.d.ts +1 -0
  54. package/_entity/app-config/module-pack.js +2 -0
  55. package/_entity/editable-test/ModuleFE_EditableTest.d.ts +11 -0
  56. package/_entity/editable-test/ModuleFE_EditableTest.js +12 -0
  57. package/_entity/editable-test/index.d.ts +2 -0
  58. package/_entity/editable-test/index.js +2 -0
  59. package/_entity/editable-test/module-pack.d.ts +1 -0
  60. package/_entity/editable-test/module-pack.js +2 -0
  61. package/_entity/editable-test/ui-components.d.ts +37 -0
  62. package/_entity/editable-test/ui-components.js +21 -0
  63. package/_entity.d.ts +2 -0
  64. package/_entity.js +2 -0
  65. package/_to-refactor/MenuAndButton.d.ts +1 -0
  66. package/_to-refactor/MenuAndButton.js +87 -0
  67. package/behavior-functions/index.d.ts +1 -0
  68. package/behavior-functions/index.js +1 -0
  69. package/behavior-functions/scroll-into-view.d.ts +6 -0
  70. package/behavior-functions/scroll-into-view.js +55 -0
  71. package/component-modules/ModuleFE_Dialog.d.ts +27 -0
  72. package/component-modules/ModuleFE_Dialog.js +48 -0
  73. package/component-modules/ModuleFE_Notifications.d.ts +45 -0
  74. package/component-modules/ModuleFE_Notifications.js +133 -0
  75. package/component-modules/ModuleFE_Toaster.d.ts +28 -0
  76. package/component-modules/ModuleFE_Toaster.js +97 -0
  77. package/component-modules/mouse-interactivity/ModuleFE_MouseInteractivity.d.ts +9 -0
  78. package/component-modules/mouse-interactivity/ModuleFE_MouseInteractivity.js +35 -0
  79. package/component-modules/mouse-interactivity/helper-functions.d.ts +108 -0
  80. package/component-modules/mouse-interactivity/helper-functions.js +339 -0
  81. package/component-modules/mouse-interactivity/index.d.ts +3 -0
  82. package/component-modules/mouse-interactivity/index.js +3 -0
  83. package/component-modules/mouse-interactivity/types.d.ts +37 -0
  84. package/component-modules/mouse-interactivity/types.js +2 -0
  85. package/components/ActionButton.d.ts +7 -0
  86. package/components/ActionButton.js +29 -0
  87. package/components/AwaitModules/AwaitModules.d.ts +40 -0
  88. package/components/AwaitModules/AwaitModules.js +95 -0
  89. package/components/AwaitModules/AwaitModules.scss +53 -0
  90. package/components/AwaitSync/AwaitSync.d.ts +18 -0
  91. package/components/AwaitSync/AwaitSync.js +25 -0
  92. package/components/AwaitSync/AwaitSync.scss +13 -0
  93. package/components/Button/ATS_Button.d.ts +21 -0
  94. package/components/Button/ATS_Button.js +66 -0
  95. package/components/Button/ATS_Button.scss +19 -0
  96. package/components/Button/Button.d.ts +40 -0
  97. package/components/Button/Button.js +94 -0
  98. package/components/Button/Button.scss +151 -0
  99. package/components/FrameLayout/FrameLayout.d.ts +7 -0
  100. package/components/FrameLayout/FrameLayout.js +10 -0
  101. package/components/FrameLayout/FrameLayout.scss +5 -0
  102. package/components/FrameLayout/index.d.ts +1 -0
  103. package/components/FrameLayout/index.js +1 -0
  104. package/components/GenericDropDown/GenericDropDownV3.d.ts +108 -0
  105. package/components/GenericDropDown/GenericDropDownV3.js +98 -0
  106. package/components/GenericDropDown/index.d.ts +1 -0
  107. package/components/GenericDropDown/index.js +1 -0
  108. package/components/GenericRenderer/Component_GenericRenderer.d.ts +15 -0
  109. package/components/GenericRenderer/Component_GenericRenderer.js +13 -0
  110. package/components/HeightBounder.d.ts +11 -0
  111. package/components/HeightBounder.js +25 -0
  112. package/components/Label/ATS_Label.d.ts +12 -0
  113. package/components/Label/ATS_Label.js +34 -0
  114. package/components/Label/ATS_Label.scss +24 -0
  115. package/components/Label/Label.d.ts +30 -0
  116. package/components/Label/Label.js +84 -0
  117. package/components/Label/Label.scss +89 -0
  118. package/components/Layouts/Layouts.d.ts +38 -0
  119. package/components/Layouts/Layouts.js +56 -0
  120. package/components/Layouts/_Layouts.scss +53 -0
  121. package/components/Layouts/_Layouts_.scss +69 -0
  122. package/components/Layouts/index.d.ts +1 -0
  123. package/components/Layouts/index.js +21 -0
  124. package/components/Page_ItemsEditor/Page_ItemsEditor.d.ts +66 -0
  125. package/components/Page_ItemsEditor/Page_ItemsEditor.js +134 -0
  126. package/components/Page_ItemsEditor/Page_ItemsEditor.scss +104 -0
  127. package/components/Page_ItemsEditor/defaults/ItemEditor_DefaultFilter/ItemEditor_DefaultFilter.d.ts +16 -0
  128. package/components/Page_ItemsEditor/defaults/ItemEditor_DefaultFilter/ItemEditor_DefaultFilter.js +15 -0
  129. package/components/Page_ItemsEditor/defaults/ItemEditor_DefaultFilter/ItemEditor_DefaultFilter.scss +4 -0
  130. package/components/Page_ItemsEditor/defaults/ItemEditor_DefaultFilter/index.d.ts +1 -0
  131. package/components/Page_ItemsEditor/defaults/ItemEditor_DefaultFilter/index.js +1 -0
  132. package/components/Page_ItemsEditor/defaults/ItemEditor_ListRenderer/ItemEditor_DefaultList.d.ts +26 -0
  133. package/components/Page_ItemsEditor/defaults/ItemEditor_ListRenderer/ItemEditor_DefaultList.js +68 -0
  134. package/components/Page_ItemsEditor/defaults/ItemEditor_ListRenderer/ItemEditor_DefaultList.scss +4 -0
  135. package/components/Page_ItemsEditor/defaults/ItemEditor_ListRenderer/index.d.ts +1 -0
  136. package/components/Page_ItemsEditor/defaults/ItemEditor_ListRenderer/index.js +1 -0
  137. package/components/Page_ItemsEditor/index.d.ts +1 -0
  138. package/components/Page_ItemsEditor/index.js +1 -0
  139. package/components/Page_ItemsEditor/types.d.ts +4 -0
  140. package/components/Page_ItemsEditor/types.js +1 -0
  141. package/components/RelativeLayout/RelativeLayout.d.ts +7 -0
  142. package/components/RelativeLayout/RelativeLayout.js +10 -0
  143. package/components/RelativeLayout/RelativeLayout.scss +3 -0
  144. package/components/RelativeLayout/index.d.ts +1 -0
  145. package/components/RelativeLayout/index.js +1 -0
  146. package/components/Show.d.ts +20 -0
  147. package/components/Show.js +30 -0
  148. package/components/TS_AppTools/TS_AppTools.d.ts +30 -0
  149. package/components/TS_AppTools/TS_AppTools.js +144 -0
  150. package/components/TS_AppTools/TS_AppTools.scss +193 -0
  151. package/components/TS_AppTools/TS_AppTools_Default.d.ts +7 -0
  152. package/components/TS_AppTools/TS_AppTools_Default.js +16 -0
  153. package/components/TS_AppTools/index.d.ts +2 -0
  154. package/components/TS_AppTools/index.js +22 -0
  155. package/components/TS_AppTools/types.d.ts +19 -0
  156. package/components/TS_AppTools/types.js +6 -0
  157. package/components/TS_ButtonGroup/TS_ButtonGroup.d.ts +12 -0
  158. package/components/TS_ButtonGroup/TS_ButtonGroup.js +94 -0
  159. package/components/TS_ButtonGroup/TS_ButtonGroup.scss +58 -0
  160. package/components/TS_ButtonGroup/index.d.ts +2 -0
  161. package/components/TS_ButtonGroup/index.js +2 -0
  162. package/components/TS_ButtonGroup/types.d.ts +38 -0
  163. package/components/TS_ButtonGroup/types.js +1 -0
  164. package/components/TS_ButtonLoader/TS_ButtonLoader.d.ts +5 -0
  165. package/components/TS_ButtonLoader/TS_ButtonLoader.js +8 -0
  166. package/components/TS_ButtonLoader/TS_ButtonLoader.scss +63 -0
  167. package/components/TS_ButtonLoader/index.d.ts +1 -0
  168. package/components/TS_ButtonLoader/index.js +1 -0
  169. package/components/TS_Card/TS_Card.d.ts +7 -0
  170. package/components/TS_Card/TS_Card.js +14 -0
  171. package/components/TS_Card/TS_Card.scss +7 -0
  172. package/components/TS_Card/index.d.ts +1 -0
  173. package/components/TS_Card/index.js +1 -0
  174. package/components/TS_Checkbox/ATS_CheckboxV2.d.ts +3 -0
  175. package/components/TS_Checkbox/ATS_CheckboxV2.js +30 -0
  176. package/components/TS_Checkbox/ATS_CheckboxV2.scss +4 -0
  177. package/components/TS_Checkbox/TS_Checkbox.d.ts +48 -0
  178. package/components/TS_Checkbox/TS_Checkbox.js +46 -0
  179. package/components/TS_Checkbox/TS_Checkbox.scss +62 -0
  180. package/components/TS_Checkbox/TS_CheckboxV2.d.ts +37 -0
  181. package/components/TS_Checkbox/TS_CheckboxV2.js +53 -0
  182. package/components/TS_Checkbox/TS_CheckboxV2.scss +97 -0
  183. package/components/TS_Checkbox/index.d.ts +1 -0
  184. package/components/TS_Checkbox/index.js +21 -0
  185. package/components/TS_CheckboxGroup/ATS_CheckboxGroup.d.ts +19 -0
  186. package/components/TS_CheckboxGroup/ATS_CheckboxGroup.js +89 -0
  187. package/components/TS_CheckboxGroup/ATS_CheckboxGroup.scss +6 -0
  188. package/components/TS_CheckboxGroup/TS_CheckboxGroup.d.ts +35 -0
  189. package/components/TS_CheckboxGroup/TS_CheckboxGroup.js +47 -0
  190. package/components/TS_CheckboxGroup/TS_CheckboxGroup.scss +32 -0
  191. package/components/TS_CheckboxGroup/index.d.ts +1 -0
  192. package/components/TS_CheckboxGroup/index.js +1 -0
  193. package/components/TS_CollapsableContainer/TS_CollapsableContainer.d.ts +44 -0
  194. package/components/TS_CollapsableContainer/TS_CollapsableContainer.js +80 -0
  195. package/components/TS_CollapsableContainer/TS_CollapsableContainer.scss +47 -0
  196. package/components/TS_CollapsableContainer/index.d.ts +1 -0
  197. package/components/TS_CollapsableContainer/index.js +1 -0
  198. package/components/TS_CollapsableContainerV2/TS_CollapsableContainerV2.d.ts +36 -0
  199. package/components/TS_CollapsableContainerV2/TS_CollapsableContainerV2.js +46 -0
  200. package/components/TS_CollapsableContainerV2/TS_CollapsableContainerV2.scss +66 -0
  201. package/components/TS_CollapsableContainerV2/ats.d.ts +3 -0
  202. package/components/TS_CollapsableContainerV2/ats.js +39 -0
  203. package/components/TS_CollapsableContainerV2/ats.scss +35 -0
  204. package/components/TS_CollapsableContainerV2/index.d.ts +2 -0
  205. package/components/TS_CollapsableContainerV2/index.js +2 -0
  206. package/components/TS_ComponentTransition/TS_ComponentTransition.d.ts +25 -0
  207. package/components/TS_ComponentTransition/TS_ComponentTransition.js +65 -0
  208. package/components/TS_ComponentTransition/index.d.ts +1 -0
  209. package/components/TS_ComponentTransition/index.js +1 -0
  210. package/components/TS_CopyToClipboard/TS_CopyToClipboard.d.ts +4 -0
  211. package/components/TS_CopyToClipboard/TS_CopyToClipboard.js +11 -0
  212. package/components/TS_CopyToClipboard/index.d.ts +1 -0
  213. package/components/TS_CopyToClipboard/index.js +21 -0
  214. package/components/TS_Dialog/TS_Dialog.d.ts +89 -0
  215. package/components/TS_Dialog/TS_Dialog.js +140 -0
  216. package/components/TS_Dialog/TS_Dialog.scss +116 -0
  217. package/components/TS_Dialog/TS_DialogOverlay.d.ts +15 -0
  218. package/components/TS_Dialog/TS_DialogOverlay.js +48 -0
  219. package/components/TS_Dialog/TS_DialogOverlay.scss +41 -0
  220. package/components/TS_Dialog/TS_SimpleDialog.d.ts +21 -0
  221. package/components/TS_Dialog/TS_SimpleDialog.js +37 -0
  222. package/components/TS_Dialog/TS_SimpleDialog.scss +5 -0
  223. package/components/TS_Dialog/TS_SimpleDialogue.d.ts +28 -0
  224. package/components/TS_Dialog/TS_SimpleDialogue.js +38 -0
  225. package/components/TS_Dialog/index.d.ts +2 -0
  226. package/components/TS_Dialog/index.js +22 -0
  227. package/components/TS_DragAndDrop/TS_DragAndDrop.d.ts +48 -0
  228. package/components/TS_DragAndDrop/TS_DragAndDrop.js +105 -0
  229. package/components/TS_DragAndDrop/TS_DragAndDrop.scss +61 -0
  230. package/components/TS_DragAndDrop/index.d.ts +1 -0
  231. package/components/TS_DragAndDrop/index.js +21 -0
  232. package/components/TS_Dropdown/TS_DropDown.d.ts +120 -0
  233. package/components/TS_Dropdown/TS_DropDown.js +332 -0
  234. package/components/TS_Dropdown/TS_DropDown.scss +134 -0
  235. package/components/TS_Dropdown/index.d.ts +1 -0
  236. package/components/TS_Dropdown/index.js +21 -0
  237. package/components/TS_EditableContent/TS_EditableContent.d.ts +19 -0
  238. package/components/TS_EditableContent/TS_EditableContent.js +32 -0
  239. package/components/TS_EditableContent/types.d.ts +4 -0
  240. package/components/TS_EditableContent/types.js +1 -0
  241. package/components/TS_EditableItemComponent/TS_EditableItemComponent.d.ts +23 -0
  242. package/components/TS_EditableItemComponent/TS_EditableItemComponent.js +47 -0
  243. package/components/TS_EditableItemController/TS_EditableItemController.d.ts +36 -0
  244. package/components/TS_EditableItemController/TS_EditableItemController.js +54 -0
  245. package/components/TS_EditableItemController/TS_EditableItemController.scss +3 -0
  246. package/components/TS_EditableItemController/index.d.ts +1 -0
  247. package/components/TS_EditableItemController/index.js +1 -0
  248. package/components/TS_EditableItemControllerProto/TS_EditableItemControllerProto.d.ts +32 -0
  249. package/components/TS_EditableItemControllerProto/TS_EditableItemControllerProto.js +53 -0
  250. package/components/TS_EditableItemControllerProto/TS_EditableItemControllerProto.scss +3 -0
  251. package/components/TS_EditableItemControllerProto/index.d.ts +1 -0
  252. package/components/TS_EditableItemControllerProto/index.js +1 -0
  253. package/components/TS_EditableItemStatus/TS_EditableItemStatus.d.ts +20 -0
  254. package/components/TS_EditableItemStatus/TS_EditableItemStatus.js +34 -0
  255. package/components/TS_EditableText/TS_EditableText.d.ts +57 -0
  256. package/components/TS_EditableText/TS_EditableText.js +100 -0
  257. package/components/TS_EditableText/TS_EditableText.scss +90 -0
  258. package/components/TS_EditableText/index.d.ts +1 -0
  259. package/components/TS_EditableText/index.js +1 -0
  260. package/components/TS_ErrorBoundary/TS_ErrorBoundary.d.ts +54 -0
  261. package/components/TS_ErrorBoundary/TS_ErrorBoundary.js +103 -0
  262. package/components/TS_ErrorBoundary/TS_ErrorBoundary.scss +95 -0
  263. package/components/TS_ErrorBoundary/index.d.ts +1 -0
  264. package/components/TS_ErrorBoundary/index.js +21 -0
  265. package/components/TS_Form/TS_Form.d.ts +9 -0
  266. package/components/TS_Form/TS_Form.js +11 -0
  267. package/components/TS_Form/TS_Form.scss +0 -0
  268. package/components/TS_Form/consts.d.ts +1 -0
  269. package/components/TS_Form/consts.js +1 -0
  270. package/components/TS_Form/index.d.ts +3 -0
  271. package/components/TS_Form/index.js +3 -0
  272. package/components/TS_Form/types.d.ts +13 -0
  273. package/components/TS_Form/types.js +1 -0
  274. package/components/TS_GridTableProto/TS_GridTableProto.d.ts +18 -0
  275. package/components/TS_GridTableProto/TS_GridTableProto.js +22 -0
  276. package/components/TS_GridTableProto/TS_GridTableProto.scss +4 -0
  277. package/components/TS_GridTableProto/index.d.ts +1 -0
  278. package/components/TS_GridTableProto/index.js +1 -0
  279. package/components/TS_Input/ATS_TextArea.d.ts +14 -0
  280. package/components/TS_Input/ATS_TextArea.js +24 -0
  281. package/components/TS_Input/ATS_TextArea.scss +24 -0
  282. package/components/TS_Input/TS_BaseInput.d.ts +44 -0
  283. package/components/TS_Input/TS_BaseInput.js +47 -0
  284. package/components/TS_Input/TS_Input.d.ts +24 -0
  285. package/components/TS_Input/TS_Input.js +53 -0
  286. package/components/TS_Input/TS_Input.scss +64 -0
  287. package/components/TS_Input/TS_TextArea.d.ts +14 -0
  288. package/components/TS_Input/TS_TextArea.js +72 -0
  289. package/components/TS_Input/TS_TextArea.scss +41 -0
  290. package/components/TS_Input/index.d.ts +4 -0
  291. package/components/TS_Input/index.js +25 -0
  292. package/components/TS_JSONViewer/TS_JSONViewer.d.ts +18 -0
  293. package/components/TS_JSONViewer/TS_JSONViewer.js +64 -0
  294. package/components/TS_JSONViewer/TS_JSONViewer.scss +87 -0
  295. package/components/TS_JSONViewer/types.d.ts +10 -0
  296. package/components/TS_JSONViewer/types.js +1 -0
  297. package/components/TS_Link/TS_Link.d.ts +15 -0
  298. package/components/TS_Link/TS_Link.js +36 -0
  299. package/components/TS_Link/TS_Link.scss +32 -0
  300. package/components/TS_Link/index.d.ts +1 -0
  301. package/components/TS_Link/index.js +21 -0
  302. package/components/TS_ListOrganizer/TS_ListOrganizer.d.ts +33 -0
  303. package/components/TS_ListOrganizer/TS_ListOrganizer.js +64 -0
  304. package/components/TS_ListOrganizer/TS_ListOrganizer.scss +37 -0
  305. package/components/TS_ListOrganizer/index.d.ts +1 -0
  306. package/components/TS_ListOrganizer/index.js +21 -0
  307. package/components/TS_Loader/TS_Loader.d.ts +6 -0
  308. package/components/TS_Loader/TS_Loader.js +9 -0
  309. package/components/TS_Loader/TS_Loader.scss +71 -0
  310. package/components/TS_Loader/index.d.ts +1 -0
  311. package/components/TS_Loader/index.js +1 -0
  312. package/components/TS_MemoryMonitor/TS_MemoryMonitor.d.ts +10 -0
  313. package/components/TS_MemoryMonitor/TS_MemoryMonitor.js +48 -0
  314. package/components/TS_MemoryMonitor/TS_MemoryMonitor.scss +31 -0
  315. package/components/TS_MemoryMonitor/index.d.ts +1 -0
  316. package/components/TS_MemoryMonitor/index.js +21 -0
  317. package/components/TS_MouseInteractivity/TS_PopUp/TS_PopUp.d.ts +9 -0
  318. package/components/TS_MouseInteractivity/TS_PopUp/TS_PopUp.js +28 -0
  319. package/components/TS_MouseInteractivity/TS_PopUp/TS_PopUp.scss +53 -0
  320. package/components/TS_MouseInteractivity/TS_Tooltip/TS_ToolTip.d.ts +12 -0
  321. package/components/TS_MouseInteractivity/TS_Tooltip/TS_ToolTip.js +65 -0
  322. package/components/TS_MouseInteractivity/TS_Tooltip/TS_ToolTip.scss +46 -0
  323. package/components/TS_MouseInteractivity/base/TS_MouseInteractivity.d.ts +18 -0
  324. package/components/TS_MouseInteractivity/base/TS_MouseInteractivity.js +100 -0
  325. package/components/TS_MouseInteractivity/index.d.ts +2 -0
  326. package/components/TS_MouseInteractivity/index.js +22 -0
  327. package/components/TS_MultiSelect/TS_MultiSelect.scss +34 -0
  328. package/components/TS_MultiSelect/TS_MultiSelect_V2.d.ts +36 -0
  329. package/components/TS_MultiSelect/TS_MultiSelect_V2.js +41 -0
  330. package/components/TS_MultiSelect/index.d.ts +1 -0
  331. package/components/TS_MultiSelect/index.js +21 -0
  332. package/components/TS_Notifications/TS_Notifications.d.ts +22 -0
  333. package/components/TS_Notifications/TS_Notifications.js +96 -0
  334. package/components/TS_Notifications/TS_Notifications.scss +120 -0
  335. package/components/TS_Notifications/genericNotificationAction.d.ts +8 -0
  336. package/components/TS_Notifications/genericNotificationAction.js +16 -0
  337. package/components/TS_Notifications/index.d.ts +2 -0
  338. package/components/TS_Notifications/index.js +2 -0
  339. package/components/TS_Overlay/TS_Overlay.d.ts +12 -0
  340. package/components/TS_Overlay/TS_Overlay.js +32 -0
  341. package/components/TS_Overlay/TS_Overlay.scss +41 -0
  342. package/components/TS_Overlay/index.d.ts +1 -0
  343. package/components/TS_Overlay/index.js +21 -0
  344. package/components/TS_Printable/TS_Printable.d.ts +13 -0
  345. package/components/TS_Printable/TS_Printable.js +20 -0
  346. package/components/TS_Printable/TS_Printable.scss +47 -0
  347. package/components/TS_Printable/index.d.ts +1 -0
  348. package/components/TS_Printable/index.js +21 -0
  349. package/components/TS_ProgressBar/TS_ProgressBar.d.ts +22 -0
  350. package/components/TS_ProgressBar/TS_ProgressBar.js +47 -0
  351. package/components/TS_ProgressBar/TS_ProgressBar.scss +79 -0
  352. package/components/TS_ProgressBar/index.d.ts +1 -0
  353. package/components/TS_ProgressBar/index.js +1 -0
  354. package/components/TS_PropRenderer/TS_PropRenderer.d.ts +18 -0
  355. package/components/TS_PropRenderer/TS_PropRenderer.js +36 -0
  356. package/components/TS_PropRenderer/TS_PropRenderer.scss +19 -0
  357. package/components/TS_PropRenderer/index.d.ts +1 -0
  358. package/components/TS_PropRenderer/index.js +1 -0
  359. package/components/TS_Radio/TS_Radio.d.ts +34 -0
  360. package/components/TS_Radio/TS_Radio.js +49 -0
  361. package/components/TS_Radio/TS_Radio.scss +68 -0
  362. package/components/TS_Radio/index.d.ts +1 -0
  363. package/components/TS_Radio/index.js +1 -0
  364. package/components/TS_ReadMore/TS_ReadMore.d.ts +26 -0
  365. package/components/TS_ReadMore/TS_ReadMore.js +86 -0
  366. package/components/TS_ReadMore/TS_ReadMore.scss +36 -0
  367. package/components/TS_ReadMore/index.d.ts +1 -0
  368. package/components/TS_ReadMore/index.js +1 -0
  369. package/components/TS_Slider/TS_Slider.d.ts +26 -0
  370. package/components/TS_Slider/TS_Slider.js +42 -0
  371. package/components/TS_Slider/TS_Slider.scss +68 -0
  372. package/components/TS_Slider/index.d.ts +1 -0
  373. package/components/TS_Slider/index.js +1 -0
  374. package/components/TS_Space/TS_Space.d.ts +8 -0
  375. package/components/TS_Space/TS_Space.js +8 -0
  376. package/components/TS_Space/index.d.ts +1 -0
  377. package/components/TS_Space/index.js +1 -0
  378. package/components/TS_Space/ts-space.scss +3 -0
  379. package/components/TS_Table/TS_Table.d.ts +42 -0
  380. package/components/TS_Table/TS_Table.js +74 -0
  381. package/components/TS_Table/TS_Table.scss +51 -0
  382. package/components/TS_Table/index.d.ts +1 -0
  383. package/components/TS_Table/index.js +21 -0
  384. package/components/TS_Tabs/TS_Tabs.d.ts +55 -0
  385. package/components/TS_Tabs/TS_Tabs.js +102 -0
  386. package/components/TS_Tabs/TS_Tabs.scss +103 -0
  387. package/components/TS_Tabs/index.d.ts +1 -0
  388. package/components/TS_Tabs/index.js +21 -0
  389. package/components/TS_Toaster/TS_Toast.d.ts +5 -0
  390. package/components/TS_Toaster/TS_Toast.js +9 -0
  391. package/components/TS_Toaster/TS_Toast.scss +80 -0
  392. package/components/TS_Toaster/TS_ToastOverlay.d.ts +16 -0
  393. package/components/TS_Toaster/TS_ToastOverlay.js +26 -0
  394. package/components/TS_Toaster/TS_ToastOverlay.scss +33 -0
  395. package/components/TS_Toaster/index.d.ts +2 -0
  396. package/components/TS_Toaster/index.js +22 -0
  397. package/components/TS_Toggle/ATS_Toggle.d.ts +11 -0
  398. package/components/TS_Toggle/ATS_Toggle.js +18 -0
  399. package/components/TS_Toggle/TS_Toggle.d.ts +21 -0
  400. package/components/TS_Toggle/TS_Toggle.js +26 -0
  401. package/components/TS_Toggle/TS_Toggle.scss +56 -0
  402. package/components/TS_Toggle/index.d.ts +2 -0
  403. package/components/TS_Toggle/index.js +2 -0
  404. package/components/TS_Toggler/TS_Toggler.d.ts +23 -0
  405. package/components/TS_Toggler/TS_Toggler.js +50 -0
  406. package/components/TS_Toggler/TS_Toggler.scss +83 -0
  407. package/components/TS_Toggler/index.d.ts +1 -0
  408. package/components/TS_Toggler/index.js +1 -0
  409. package/components/TS_Tree/SimpleTreeNodeRenderer.d.ts +9 -0
  410. package/components/TS_Tree/SimpleTreeNodeRenderer.js +53 -0
  411. package/components/TS_Tree/TS_Tree.d.ts +68 -0
  412. package/components/TS_Tree/TS_Tree.js +174 -0
  413. package/components/TS_Tree/TS_Tree.scss +44 -0
  414. package/components/TS_Tree/index.d.ts +3 -0
  415. package/components/TS_Tree/index.js +23 -0
  416. package/components/TS_Tree/types.d.ts +4 -0
  417. package/components/TS_Tree/types.js +21 -0
  418. package/components/TS_V2_Input/TS_InputV2.d.ts +93 -0
  419. package/components/TS_V2_Input/TS_InputV2.js +220 -0
  420. package/components/TS_V2_Input/index.d.ts +1 -0
  421. package/components/TS_V2_Input/index.js +21 -0
  422. package/components/TS_V2_TextArea/TS_BaseInput.d.ts +42 -0
  423. package/components/TS_V2_TextArea/TS_BaseInput.js +46 -0
  424. package/components/TS_V2_TextArea/TS_TextAreaV2.d.ts +78 -0
  425. package/components/TS_V2_TextArea/TS_TextAreaV2.js +178 -0
  426. package/components/TS_V2_TextArea/TS_TextAreaV2.scss +49 -0
  427. package/components/TS_V2_TextArea/index.d.ts +2 -0
  428. package/components/TS_V2_TextArea/index.js +22 -0
  429. package/components/TS_VirtualizedList/TS_VirtualizedList.d.ts +14 -0
  430. package/components/TS_VirtualizedList/TS_VirtualizedList.js +22 -0
  431. package/components/TS_VirtualizedList/index.d.ts +1 -0
  432. package/components/TS_VirtualizedList/index.js +1 -0
  433. package/components/Video/Video.d.ts +16 -0
  434. package/components/Video/Video.js +40 -0
  435. package/components/Video/VideoDialog.d.ts +20 -0
  436. package/components/Video/VideoDialog.js +44 -0
  437. package/components/Video/VideoDialog.scss +31 -0
  438. package/components/Video/types.d.ts +20 -0
  439. package/components/Video/types.js +1 -0
  440. package/components/_TS_MultiSelect/DBItemDropDownMultiSelector.d.ts +57 -0
  441. package/components/_TS_MultiSelect/DBItemDropDownMultiSelector.js +63 -0
  442. package/components/adapter/Adapter.d.ts +139 -0
  443. package/components/adapter/Adapter.js +259 -0
  444. package/components/adapter/BaseRenderer.d.ts +24 -0
  445. package/components/adapter/BaseRenderer.js +31 -0
  446. package/components/ats-group.d.ts +2 -0
  447. package/components/ats-group.js +14 -0
  448. package/components/form/Form.d.ts +24 -0
  449. package/components/form/Form.js +34 -0
  450. package/components/form/types.d.ts +23 -0
  451. package/components/form/types.js +21 -0
  452. package/components/formv3/FormV3.d.ts +25 -0
  453. package/components/formv3/FormV3.js +23 -0
  454. package/components/formv3/types.d.ts +29 -0
  455. package/components/formv3/types.js +1 -0
  456. package/components/treeicons.d.ts +10 -0
  457. package/components/treeicons.js +3 -0
  458. package/components/types.d.ts +23 -0
  459. package/components/types.js +22 -0
  460. package/components/utils.d.ts +1 -0
  461. package/components/utils.js +7 -0
  462. package/consts.d.ts +2 -0
  463. package/consts.js +2 -0
  464. package/core/AppPage.d.ts +11 -0
  465. package/core/AppPage.js +52 -0
  466. package/core/AppPageV2.d.ts +9 -0
  467. package/core/AppPageV2.js +53 -0
  468. package/core/AppWrapper.d.ts +4 -0
  469. package/core/AppWrapper.js +34 -0
  470. package/core/ComponentAsync.d.ts +16 -0
  471. package/core/ComponentAsync.js +64 -0
  472. package/core/ComponentBase.d.ts +28 -0
  473. package/core/ComponentBase.js +152 -0
  474. package/core/ComponentSync.d.ts +13 -0
  475. package/core/ComponentSync.js +49 -0
  476. package/core/Controller.d.ts +13 -0
  477. package/core/Controller.js +28 -0
  478. package/core/IndexedDB.d.ts +42 -0
  479. package/core/IndexedDB.js +259 -0
  480. package/core/IndexedDBV3.d.ts +43 -0
  481. package/core/IndexedDBV3.js +259 -0
  482. package/core/IndexedDBV4/IndexedDB_Database.d.ts +20 -0
  483. package/core/IndexedDBV4/IndexedDB_Database.js +268 -0
  484. package/core/IndexedDBV4/IndexedDB_Store.d.ts +34 -0
  485. package/core/IndexedDBV4/IndexedDB_Store.js +207 -0
  486. package/core/IndexedDBV4/ModuleFE_IDBManager.d.ts +11 -0
  487. package/core/IndexedDBV4/ModuleFE_IDBManager.js +19 -0
  488. package/core/IndexedDBV4/types.d.ts +16 -0
  489. package/core/IndexedDBV4/types.js +1 -0
  490. package/core/SimpleScriptInjector.d.ts +13 -0
  491. package/core/SimpleScriptInjector.js +42 -0
  492. package/core/Thunder.d.ts +37 -0
  493. package/core/Thunder.js +139 -0
  494. package/core/ThunderstormDefaultApp.d.ts +12 -0
  495. package/core/ThunderstormDefaultApp.js +29 -0
  496. package/core/consts.d.ts +6 -0
  497. package/core/consts.js +2 -0
  498. package/core/db-api-gen/consts.d.ts +22 -0
  499. package/core/db-api-gen/consts.js +25 -0
  500. package/core/db-api-gen/db-def.d.ts +9 -0
  501. package/core/db-api-gen/db-def.js +16 -0
  502. package/core/db-api-gen/types.d.ts +23 -0
  503. package/core/db-api-gen/types.js +3 -0
  504. package/core/proto-component/ProtoComponent.d.ts +57 -0
  505. package/core/proto-component/ProtoComponent.js +73 -0
  506. package/core/proto-component/UrlState.d.ts +42 -0
  507. package/core/proto-component/UrlState.js +59 -0
  508. package/core/proto-component/index.d.ts +2 -0
  509. package/core/proto-component/index.js +2 -0
  510. package/core/proto-component/types.d.ts +25 -0
  511. package/core/proto-component/types.js +15 -0
  512. package/core/thunder-dispatcher.d.ts +13 -0
  513. package/core/thunder-dispatcher.js +69 -0
  514. package/core/thunder-helpers.d.ts +7 -0
  515. package/core/thunder-helpers.js +171 -0
  516. package/core/thunder-modulepack.d.ts +3 -0
  517. package/core/thunder-modulepack.js +34 -0
  518. package/core/typed-api.d.ts +6 -0
  519. package/core/typed-api.js +41 -0
  520. package/core/types.d.ts +6 -0
  521. package/core/types.js +1 -0
  522. package/editable-item.d.ts +7 -0
  523. package/editable-item.js +7 -0
  524. package/index.d.ts +112 -0
  525. package/index.js +134 -0
  526. package/modules/ModuleFE_BaseTheme.d.ts +18 -0
  527. package/modules/ModuleFE_BaseTheme.js +27 -0
  528. package/modules/ModuleFE_BroadcastChannel/ModuleFE_BroadcastChannel.d.ts +20 -0
  529. package/modules/ModuleFE_BroadcastChannel/ModuleFE_BroadcastChannel.js +66 -0
  530. package/modules/ModuleFE_BrowserHistory.d.ts +46 -0
  531. package/modules/ModuleFE_BrowserHistory.js +165 -0
  532. package/modules/ModuleFE_BrowserHistoryV2.d.ts +43 -0
  533. package/modules/ModuleFE_BrowserHistoryV2.js +113 -0
  534. package/modules/ModuleFE_CSVParser.d.ts +12 -0
  535. package/modules/ModuleFE_CSVParser.js +52 -0
  536. package/modules/ModuleFE_CollectionActions.d.ts +10 -0
  537. package/modules/ModuleFE_CollectionActions.js +18 -0
  538. package/modules/ModuleFE_ConnectivityModule.d.ts +15 -0
  539. package/modules/ModuleFE_ConnectivityModule.js +31 -0
  540. package/modules/ModuleFE_ForceUpgrade.d.ts +20 -0
  541. package/modules/ModuleFE_ForceUpgrade.js +54 -0
  542. package/modules/ModuleFE_LocalStorage.d.ts +46 -0
  543. package/modules/ModuleFE_LocalStorage.js +179 -0
  544. package/modules/ModuleFE_Locale.d.ts +44 -0
  545. package/modules/ModuleFE_Locale.js +83 -0
  546. package/modules/ModuleFE_Print.d.ts +16 -0
  547. package/modules/ModuleFE_Print.js +116 -0
  548. package/modules/ModuleFE_StorageCleaner.d.ts +17 -0
  549. package/modules/ModuleFE_StorageCleaner.js +90 -0
  550. package/modules/ModuleFE_Thunderstorm.d.ts +31 -0
  551. package/modules/ModuleFE_Thunderstorm.js +122 -0
  552. package/modules/ModuleFE_Utils/ModuleFE_Utils.d.ts +29 -0
  553. package/modules/ModuleFE_Utils/ModuleFE_Utils.js +43 -0
  554. package/modules/ModuleFE_Window.d.ts +19 -0
  555. package/modules/ModuleFE_Window.js +42 -0
  556. package/modules/ModuleFE_WindowMessenger.d.ts +62 -0
  557. package/modules/ModuleFE_WindowMessenger.js +128 -0
  558. package/modules/action-processor/ModuleFE_ActionProcessor.d.ts +9 -0
  559. package/modules/action-processor/ModuleFE_ActionProcessor.js +14 -0
  560. package/modules/archiving/ModuleFE_Archiving.d.ts +8 -0
  561. package/modules/archiving/ModuleFE_Archiving.js +15 -0
  562. package/modules/clearWebsiteDataDispatcher.d.ts +5 -0
  563. package/modules/clearWebsiteDataDispatcher.js +2 -0
  564. package/modules/component-loader/ReactEntryComponentInjector.d.ts +23 -0
  565. package/modules/component-loader/ReactEntryComponentInjector.js +59 -0
  566. package/modules/component-loader/entry-component-loading-module.d.ts +7 -0
  567. package/modules/component-loader/entry-component-loading-module.js +52 -0
  568. package/modules/component-loader/index.d.ts +2 -0
  569. package/modules/component-loader/index.js +2 -0
  570. package/modules/db-api-gen/ModuleFE_BaseApi.d.ts +45 -0
  571. package/modules/db-api-gen/ModuleFE_BaseApi.js +152 -0
  572. package/modules/db-api-gen/ModuleFE_BaseDB.d.ts +146 -0
  573. package/modules/db-api-gen/ModuleFE_BaseDB.js +433 -0
  574. package/modules/db-api-gen/types.d.ts +13 -0
  575. package/modules/db-api-gen/types.js +6 -0
  576. package/modules/http/ModuleFE_XHR.d.ts +20 -0
  577. package/modules/http/ModuleFE_XHR.js +175 -0
  578. package/modules/routing/LocationChangeListener.d.ts +6 -0
  579. package/modules/routing/LocationChangeListener.js +15 -0
  580. package/modules/routing/ModuleFE_Routing.d.ts +30 -0
  581. package/modules/routing/ModuleFE_Routing.js +122 -0
  582. package/modules/routing/ModuleFE_RoutingV2.d.ts +25 -0
  583. package/modules/routing/ModuleFE_RoutingV2.js +143 -0
  584. package/modules/routing/index.d.ts +5 -0
  585. package/modules/routing/index.js +5 -0
  586. package/modules/routing/route.d.ts +22 -0
  587. package/modules/routing/route.js +83 -0
  588. package/modules/routing/types.d.ts +20 -0
  589. package/modules/routing/types.js +1 -0
  590. package/modules/sync-env/ModuleFE_SyncEnvV2.d.ts +8 -0
  591. package/modules/sync-env/ModuleFE_SyncEnvV2.js +18 -0
  592. package/modules/sync-manager/ModuleFE_SyncManager.d.ts +59 -0
  593. package/modules/sync-manager/ModuleFE_SyncManager.js +378 -0
  594. package/modules/sync-manager/ModuleFE_SyncManager_CSV.d.ts +11 -0
  595. package/modules/sync-manager/ModuleFE_SyncManager_CSV.js +121 -0
  596. package/package.json +107 -0
  597. package/server-info/Button_VersionUpdate.d.ts +15 -0
  598. package/server-info/Button_VersionUpdate.js +29 -0
  599. package/server-info/Button_VersionUpdate.scss +29 -0
  600. package/server-info/ModuleFE_ServerInfo.d.ts +26 -0
  601. package/server-info/ModuleFE_ServerInfo.js +73 -0
  602. package/server-info/index.d.ts +2 -0
  603. package/server-info/index.js +2 -0
  604. package/shared.d.ts +1 -0
  605. package/shared.js +21 -0
  606. package/styles/declaration/basic.scss +155 -0
  607. package/styles/declaration/mixins.scss +58 -0
  608. package/styles/impl/basic.scss +141 -0
  609. package/styles/impl/icons.scss +34 -0
  610. package/styles.scss +40 -0
  611. package/utils/EditableItem.d.ts +240 -0
  612. package/utils/EditableItem.js +552 -0
  613. package/utils/console/LogClient_ConsoleInterceptor.d.ts +5 -0
  614. package/utils/console/LogClient_ConsoleInterceptor.js +70 -0
  615. package/utils/perform-action/genereteToasts.d.ts +3 -0
  616. package/utils/perform-action/genereteToasts.js +14 -0
  617. package/utils/perform-action/index.d.ts +2 -0
  618. package/utils/perform-action/index.js +2 -0
  619. package/utils/perform-action/notification-dispatchers.d.ts +6 -0
  620. package/utils/perform-action/notification-dispatchers.js +2 -0
  621. package/utils/perform-action/performAction.d.ts +34 -0
  622. package/utils/perform-action/performAction.js +77 -0
  623. package/utils/perform-action/resolve-dependency-toast/ResolveDependencyToast.d.ts +8 -0
  624. package/utils/perform-action/resolve-dependency-toast/ResolveDependencyToast.js +11 -0
  625. package/utils/perform-action/resolve-dependency-toast/ResolveDependencyToast.scss +12 -0
  626. package/utils/tools.d.ts +31 -0
  627. package/utils/tools.js +138 -0
  628. package/utils/types.d.ts +3 -0
  629. package/utils/types.js +1 -0
  630. package/widgets/FieldEditor.d.ts +29 -0
  631. package/widgets/FieldEditor.js +47 -0
  632. package/widgets/FieldEditorClick.d.ts +33 -0
  633. package/widgets/FieldEditorClick.js +49 -0
  634. package/widgets/FieldEditorWithButtons.d.ts +32 -0
  635. package/widgets/FieldEditorWithButtons.js +42 -0
@@ -0,0 +1,552 @@
1
+ import { _keys, compare, deepClone, deleteKeysObject, exists, generateHex, isErrorOfType, KeysOfDB_Object, Logger, mergeObject, MUSTNeverHappenException, queuedDebounce, removeFromArrayByIndex, removeItemFromArray, resolveContent, Second, ValidationException, WhoCallThisException } from '@nu-art/ts-common';
2
+ export const EditableItemStatus_Saving = 'saving';
3
+ export const EditableItemStatus_SavedWithErrors = 'saved-with-errors';
4
+ export const EditableItemStatus_FailedValidation = 'failed-validation';
5
+ export const EditableItemStatus_ErrorSaving = 'error-saving';
6
+ export const EditableItemStatus_UnsavedChanges = 'unsaved-changes';
7
+ export const EditableItemStatus_Creating = 'creating';
8
+ export const EditableItemStatus_Saved = 'saved';
9
+ export const EditableItemStatus_Unknown = 'unknown';
10
+ const EditableItemStatuses = [
11
+ EditableItemStatus_Saving,
12
+ EditableItemStatus_SavedWithErrors,
13
+ EditableItemStatus_FailedValidation,
14
+ EditableItemStatus_ErrorSaving,
15
+ EditableItemStatus_UnsavedChanges,
16
+ EditableItemStatus_Creating,
17
+ EditableItemStatus_Saved,
18
+ EditableItemStatus_Unknown,
19
+ ];
20
+ /**
21
+ * A utility class for editing any item of type T.
22
+ * It encapsulates an item along with functions to save and delete the item.
23
+ * This class can be used with any type of item that can be modified, saved, and deleted.
24
+ *
25
+ * @template T The type of the item.
26
+ */
27
+ export class EditableItem extends Logger {
28
+ static AUTO_SAVE = false;
29
+ internalSaveAction;
30
+ status = EditableItemStatus_Unknown;
31
+ statusListener = [];
32
+ item;
33
+ originalItem;
34
+ validationResults;
35
+ conflictingItem;
36
+ _autoSave = EditableItem.AUTO_SAVE;
37
+ _isSaving = false;
38
+ saveError;
39
+ onSaveCompleted;
40
+ onChanged;
41
+ preSaveAction;
42
+ deleteAction;
43
+ saveAction;
44
+ onError;
45
+ /**
46
+ * Constructs an EditableItem instance.
47
+ *
48
+ * @param item The item to be edited.
49
+ * @param saveAction The function to be called when saving the item.
50
+ * @param deleteAction The function to be called when deleting the item.
51
+ */
52
+ constructor(item) {
53
+ super();
54
+ this.setTag(`${this.constructor['name']}-${generateHex(4)}`);
55
+ // this.setMinLevel(LogLevel.Verbose);
56
+ // @ts-ignore
57
+ if (!!item.__updated) {
58
+ // @ts-ignore
59
+ this.logVerbose(`constructor - ${item.__updated}`, new WhoCallThisException());
60
+ }
61
+ this.internalSaveAction = async (item) => {
62
+ // update ui and make sure it called the on change
63
+ this._isSaving = true;
64
+ this.calculateState();
65
+ this.preSaveAction?.(item);
66
+ this.callOnChange();
67
+ try {
68
+ let response = await this.saveAction(item);
69
+ response = this.processResponse(response);
70
+ this.updateItemImpl(response);
71
+ this.callOnChange();
72
+ this.onSaveCompleted?.(response);
73
+ delete this.saveError;
74
+ return response;
75
+ }
76
+ catch (err) {
77
+ this.saveError = err;
78
+ // is this really needed?? from quai fork
79
+ // this.handleValidationError(err as Error);
80
+ if (!this.onError)
81
+ throw err;
82
+ await this.onError(item, err);
83
+ return item;
84
+ }
85
+ finally {
86
+ this._isSaving = false;
87
+ this.calculateState(); // <== this results in has changes
88
+ }
89
+ };
90
+ this.autoSaveImpl.bind(this);
91
+ this.hasConflicts.bind(this);
92
+ this.processResponse.bind(this);
93
+ this.updateItemImpl(item);
94
+ this.calculateState();
95
+ }
96
+ updateItemImpl(newItem) {
97
+ // @ts-ignore
98
+ this['item'] = deepClone(newItem);
99
+ this.originalItem = newItem;
100
+ }
101
+ setOnError(onError) {
102
+ this.onError = onError;
103
+ return this;
104
+ }
105
+ setOnChanged(onChanged) {
106
+ this.onChanged = onChanged;
107
+ return this;
108
+ }
109
+ handleValidationError(err) {
110
+ throw err;
111
+ }
112
+ setSaveAction(saveAction) {
113
+ this.saveAction = saveAction;
114
+ return this;
115
+ }
116
+ setDeleteAction(deleteAction) {
117
+ this.deleteAction = deleteAction;
118
+ return this;
119
+ }
120
+ setPreSaveAction(preSaveAction) {
121
+ this.preSaveAction = preSaveAction;
122
+ return this;
123
+ }
124
+ setOnDelete(onDelete) {
125
+ this.deleteAction = onDelete;
126
+ return this;
127
+ }
128
+ setOnSaveCompleted(onSaved) {
129
+ this.onSaveCompleted = onSaved;
130
+ return this;
131
+ }
132
+ setConflictingItem(conflictingItem) {
133
+ if (exists(conflictingItem) && this.hasConflicts(conflictingItem)) {
134
+ this.conflictingItem = conflictingItem;
135
+ this.callOnChange();
136
+ return;
137
+ }
138
+ delete this.conflictingItem;
139
+ if (exists(conflictingItem))
140
+ this.updateItem(conflictingItem);
141
+ }
142
+ hasConflicts(conflictingItem) {
143
+ return !compare(conflictingItem, this.item);
144
+ }
145
+ hasChanges() {
146
+ // console.group('compare', this.originalItem);
147
+ // console.log('item', this.item);
148
+ // console.log('originalItem', this.originalItem);
149
+ // console.groupEnd();
150
+ return !compare(this.item, this.originalItem);
151
+ }
152
+ addStatusListener(listener) {
153
+ this.statusListener.push(listener);
154
+ listener.onEditableItemStatusChanged(this.status, this.status, this);
155
+ }
156
+ removeStatusListener(listener) {
157
+ removeItemFromArray(this.statusListener, listener);
158
+ }
159
+ calculateState() {
160
+ if (this.isSaving())
161
+ return this.setStatus(EditableItemStatus_Saving);
162
+ if (this.hasValidationError())
163
+ return this.setStatus(EditableItemStatus_FailedValidation);
164
+ if (this.saveError)
165
+ return this.setStatus(EditableItemStatus_ErrorSaving);
166
+ if (this.hasChanges()) {
167
+ return this.setStatus(EditableItemStatus_UnsavedChanges);
168
+ }
169
+ return this.setStatus(EditableItemStatus_Unknown);
170
+ }
171
+ setStatus(newStatus) {
172
+ const prevStatus = this.status;
173
+ this.status = newStatus;
174
+ if (prevStatus === newStatus)
175
+ return;
176
+ this.logDebug(`Status changed: ${prevStatus} => ${newStatus}`);
177
+ this.statusListener.forEach(l => l.onEditableItemStatusChanged(newStatus, prevStatus, this));
178
+ }
179
+ getStatus() {
180
+ return this.status;
181
+ }
182
+ /**
183
+ * Set the auto-save mode.Page_ItemsEditor
184
+ *
185
+ * @param mode The auto-save mode.
186
+ * @returns The instance itself for method chaining.
187
+ */
188
+ setAutoSave(mode) {
189
+ this._autoSave = mode;
190
+ return this;
191
+ }
192
+ /**
193
+ * Get the saving status of the current editable instance
194
+ * @returns The saving status as boolean
195
+ */
196
+ isSaving() {
197
+ return this._isSaving;
198
+ }
199
+ /**
200
+ * Set the value of a specific property in the item.
201
+ *
202
+ * @template K The type of the key.
203
+ * @param key The key of the property.
204
+ * @param value The new value of the property.
205
+ * @returns A boolean indicating whether the value has been set.
206
+ */
207
+ set(key, value) {
208
+ const finalValue = resolveContent(value);
209
+ this.logVerbose(`set: ${String(key)}:`, finalValue);
210
+ if (!exists(finalValue) && exists(this.item[key])) {
211
+ if (Array.isArray(this.item))
212
+ removeFromArrayByIndex(this.item, key);
213
+ else
214
+ delete this.item[key];
215
+ return true;
216
+ }
217
+ if (compare(finalValue, this.item[key]))
218
+ return false;
219
+ this.item[key] = finalValue;
220
+ return true;
221
+ }
222
+ /**
223
+ * Updates the item with the given values and performs auto-save if enabled.
224
+ * This method allows partial updates, only the properties provided in the values object will be updated.
225
+ *
226
+ * @param values An object with partial properties of T.
227
+ * @returns A promise representing the auto-save operation if changes were made and auto-save is enabled.
228
+ */
229
+ async updateObj(values) {
230
+ this.logVerbose(`updateObj:`, values);
231
+ const hasChanges = _keys(values).reduce((hasChanges, prop) => {
232
+ return this.set(prop, values[prop]) || hasChanges;
233
+ }, false);
234
+ this.autoSave(hasChanges);
235
+ }
236
+ /**
237
+ * Equivalent to array.push
238
+ * @param value
239
+ * @param index
240
+ */
241
+ updateArrayAt(value, index = this.item.length) {
242
+ this.logVerbose(`updateArrayAt(${index}):`, value);
243
+ return this.updateObj({ [index]: value });
244
+ }
245
+ removeArrayItem(index) {
246
+ this.logVerbose(`removeArrayItem(${index}):`);
247
+ return this.updateObj({ [index]: undefined });
248
+ }
249
+ // async updateArr<P extends Created<T>>(values: Partial<{ [K in keyof P]: ResolvableContent<T[K] | undefined> }>) {
250
+ // const hasChanges = _keys(values).reduce((hasChanges, prop) => {
251
+ // return this.set(prop, values[prop]) || hasChanges;
252
+ // }, false);
253
+ //
254
+ // return this.autoSave(hasChanges);
255
+ // }
256
+ /**
257
+ * Update the value of a specific property in the item and perform auto-save if enabled.
258
+ *
259
+ * @template K The type of the key.
260
+ * @param key The key of the property.
261
+ * @param value The new value of the property.
262
+ * @returns A promise representing the auto-save operation if enabled, undefined otherwise.
263
+ */
264
+ async update(key, value) {
265
+ this.logVerbose(`updating ${String(key)}`);
266
+ this.autoSave(this.set(key, value));
267
+ }
268
+ /**
269
+ * Get a value of a specific property
270
+ *
271
+ * @template K The type of the key.
272
+ * @param key The key of the property.
273
+ * @param fallbackValue
274
+ * @returns Readonly type of the value in T[K].
275
+ */
276
+ // @ts-ignore
277
+ get(key, fallbackValue) {
278
+ return (this.item[key] ?? (this.item[key] = fallbackValue));
279
+ }
280
+ hasError(key) {
281
+ const validationResults = this.validationResults;
282
+ const error = key ? validationResults?.results?.[key] : validationResults?.results;
283
+ if (!error)
284
+ return;
285
+ if (validationResults?.editing)
286
+ return error;
287
+ }
288
+ hasErrors = () => !!this.validationResults;
289
+ hasValidationError = () => !!this.validationResults;
290
+ setValidationResults(ValidationResults) {
291
+ this.validationResults = ValidationResults;
292
+ return this;
293
+ }
294
+ /**
295
+ * If auto save in the editable item is true, preform the save action
296
+ * Can be overridden in deriving classes
297
+ * @protected
298
+ */
299
+ async autoSaveImpl() {
300
+ this.logDebug(`performing autosave`);
301
+ // Return item cloned to make sure it's not frozen
302
+ await this.internalSaveAction(this.item);
303
+ }
304
+ processResponse(dbItem) {
305
+ return deepClone(dbItem);
306
+ }
307
+ autoSave(hasChanges = true) {
308
+ if (!hasChanges)
309
+ return this.logVerbose(`will not perform autosave.. no changes`);
310
+ if (this._autoSave)
311
+ try {
312
+ this.autoSaveImpl();
313
+ }
314
+ catch (err) {
315
+ this.logError(`Error while autosave:`, err);
316
+ }
317
+ if (this.validationResults)
318
+ this.validate();
319
+ this.setTag(`${this.constructor['name']}-${generateHex(4)}`);
320
+ this.logVerbose(`calling onChange - autoSave`);
321
+ return this.onChanged?.(this);
322
+ }
323
+ /**
324
+ * Save the item by calling the saveAction function.
325
+ *
326
+ * @returns The promise returned by the saveAction function.
327
+ */
328
+ async save(consumeError = true) {
329
+ this.logInfo(`Saving`);
330
+ // Save the current item
331
+ return this.internalSaveAction(this.item);
332
+ }
333
+ /**
334
+ * Delete the item by calling the deleteAction function.
335
+ *
336
+ * @template K The type of the key.
337
+ * @returns A promise representing the delete operation.
338
+ */
339
+ async delete() {
340
+ return this.deleteAction(this.item);
341
+ }
342
+ /**
343
+ * Return a new EditableItem that represents a property of the current item.
344
+ *
345
+ * @template K The type of the key.
346
+ * @param key The key of the property.
347
+ * @param defaultValue The default value of the property.
348
+ * @returns The new EditableItem.
349
+ */
350
+ editProp(key, defaultValue) {
351
+ let itemToEdit = this.item[key] || (this.item[key] = resolveContent(defaultValue));
352
+ if (Array.isArray(itemToEdit) || typeof itemToEdit === 'object')
353
+ itemToEdit = deepClone(itemToEdit);
354
+ let validationResults;
355
+ const result = this.validationResults?.results?.[key];
356
+ if (this.validationResults && exists(result)) {
357
+ validationResults = {
358
+ autoSave: this.validationResults.autoSave,
359
+ editing: this.validationResults.editing,
360
+ results: result // checked if exists in the above condition
361
+ };
362
+ }
363
+ const editableProp = new EditableItem(itemToEdit)
364
+ .setSaveAction(async (value) => {
365
+ this.set(key, value);
366
+ await this.autoSave();
367
+ return value;
368
+ })
369
+ .setDeleteAction(() => this.delete())
370
+ .setValidationResults(validationResults)
371
+ .setAutoSave(true);
372
+ if (exists(this.conflictingItem))
373
+ editableProp.setConflictingItem(this.conflictingItem?.[key]);
374
+ this.logVerbose(`editing prop => ${editableProp.tag} - ${String(key)}`);
375
+ return editableProp;
376
+ }
377
+ /**
378
+ * Return a new EditableItem for the DB Entity described by the reference id associated with the provided key and module.
379
+ *
380
+ * @template K The type of the key.
381
+ * @param key The key of the reference id.
382
+ * @param module The module associated with the reference id.
383
+ * @param initialValue An initial value to use in case there is no reference id.
384
+ *
385
+ * @returns The new EditableItem.
386
+ */
387
+ editRefV3(key, module, initialValue) {
388
+ const itemId = this.item[key];
389
+ let editingItem;
390
+ if (!exists(itemId))
391
+ editingItem = initialValue;
392
+ else {
393
+ editingItem = module.cache.unique(itemId);
394
+ if (!exists(editingItem))
395
+ throw new MUSTNeverHappenException(`Could not find db item for id: ${itemId} in collection: ${module.dbDef.dbKey}`);
396
+ }
397
+ return new EditableDBItemV3(editingItem, module);
398
+ }
399
+ /**
400
+ * Implement in children! validate the item using custom logic
401
+ * @protected
402
+ */
403
+ validate() {
404
+ return;
405
+ }
406
+ /**
407
+ * Trigger on change with all necessary actions for the editable instance
408
+ * @protected
409
+ */
410
+ callOnChange() {
411
+ // Make sure UI re-renders
412
+ this.setTag(`${this.constructor['name']}-${generateHex(4)}`);
413
+ this.onChanged?.(this);
414
+ }
415
+ /**
416
+ * handle item update from a different source out of the editable item
417
+ * @param newItem The item passed to the instance from the third party
418
+ */
419
+ updateItem(newItem) {
420
+ // Update item if needed
421
+ this.updateItemImpl(newItem);
422
+ this.callOnChange();
423
+ }
424
+ }
425
+ /**
426
+ * A utility class for editing any item of type T that can be stored in a database.
427
+ * This class extends EditableItem and adds functionality related to database operations.
428
+ *
429
+ * @template T The type of the item that extends DB_Object.
430
+ * @template Ks The keys of the T type. Default is '_id'.
431
+ */
432
+ export class EditableDBItemV3 extends EditableItem {
433
+ module;
434
+ // @ts-ignore
435
+ debounceInstance;
436
+ debounceTimeout = 2 * Second;
437
+ /**
438
+ * Constructs an EditableDBItemV3 instance.
439
+ *
440
+ * @param item The item to be edited.
441
+ * @param module The module for database operations.
442
+ * @param onCompleted The function to be called when the operation is completed.
443
+ * @param debounceInstance Debounce instance from previous editable item
444
+ */
445
+ constructor(item, module, debounceInstance) {
446
+ super(item);
447
+ this.setSaveAction(async (_item) => await module.v1.upsert(_item).executeSync());
448
+ this.setDeleteAction(async (_item) => await module.v1.delete(_item).executeSync());
449
+ this.module = module;
450
+ //binds
451
+ this.save.bind(this);
452
+ this.autoSaveImpl.bind(this);
453
+ this.processResponse.bind(this);
454
+ this.debounceInstance = queuedDebounce(async () => {
455
+ this.logDebug('Debounce triggered');
456
+ await this.internalSaveAction(this.item);
457
+ }, this.debounceTimeout, 5 * Second);
458
+ }
459
+ async save(consumeError = true) {
460
+ try {
461
+ return await super.save(consumeError);
462
+ }
463
+ catch (e) {
464
+ this.handleValidationError(e);
465
+ if (!consumeError)
466
+ throw e;
467
+ }
468
+ }
469
+ processResponse(dbItem) {
470
+ // Changing the saving flag back to false and call onChange
471
+ const currentUIItem = deleteKeysObject({ ...this.item }, [...KeysOfDB_Object,
472
+ ...(this.module.dbDef.generatedProps ?? _keys(this.module.dbDef.generatedPropsValidator))]);
473
+ return mergeObject(dbItem, currentUIItem);
474
+ }
475
+ /**
476
+ * Preform auto save in editable db item will be in debounce
477
+ * @protected
478
+ */
479
+ async autoSaveImpl() {
480
+ if (this.validate())
481
+ this.debounceInstance();
482
+ this.calculateState();
483
+ this.callOnChange();
484
+ }
485
+ setDebounceTimeout = (timeout) => {
486
+ this.debounceTimeout = timeout;
487
+ return this;
488
+ };
489
+ hasConflicts(_conflictingItem) {
490
+ const item = deleteKeysObject({ ...this.item }, [...KeysOfDB_Object,
491
+ ...(this.module.dbDef.generatedProps ?? _keys(this.module.dbDef.generatedPropsValidator))]);
492
+ const conflictingItem = deleteKeysObject({ ..._conflictingItem }, [...KeysOfDB_Object,
493
+ ...(this.module.dbDef.generatedProps ?? _keys(this.module.dbDef.generatedPropsValidator))]);
494
+ return !compare(conflictingItem, item);
495
+ }
496
+ calculateState() {
497
+ if (this.isSaving())
498
+ return this.setStatus(EditableItemStatus_Saving);
499
+ if (this.hasValidationError() && !this.hasChanges() && this.get('_id'))
500
+ return this.setStatus(EditableItemStatus_SavedWithErrors);
501
+ if (this.hasValidationError())
502
+ return this.setStatus(EditableItemStatus_FailedValidation);
503
+ if (this.saveError)
504
+ return this.setStatus(exports.EditableItemStatus_ErrorSaving);
505
+ if (this.hasChanges()) {
506
+ return this.setStatus(EditableItemStatus_UnsavedChanges);
507
+ }
508
+ if (!this.get('_id'))
509
+ return this.setStatus(EditableItemStatus_Creating);
510
+ if (this.get('_id'))
511
+ return this.setStatus(EditableItemStatus_Saved);
512
+ return this.setStatus(EditableItemStatus_Unknown);
513
+ }
514
+ /**
515
+ * Use the db module provided to validate and update the validation results accordingly
516
+ * @return preDB item if validation succeeded otherwise returns void
517
+ */
518
+ validate() {
519
+ try {
520
+ this.module.validateImpl(this.item);
521
+ this.setValidationResults(undefined);
522
+ return this.item;
523
+ }
524
+ catch (e) {
525
+ this.handleValidationError(e);
526
+ }
527
+ }
528
+ /**
529
+ * Update db item from a source out of the save action merged with the current UI item in the instance
530
+ * @param newItem The item passed to the instance from the third party
531
+ */
532
+ updateItem(newItem) {
533
+ this.logWarning(`updating item externally, __updated: ${newItem.__updated}`);
534
+ const currentUIItem = deleteKeysObject({ ...this.item }, [...KeysOfDB_Object, ..._keys(this.module.dbDef.generatedPropsValidator)]);
535
+ super.updateItem(mergeObject(currentUIItem, newItem));
536
+ this.validate();
537
+ }
538
+ handleValidationError(e) {
539
+ const validationException = isErrorOfType(e, (ValidationException));
540
+ if (!validationException)
541
+ throw e;
542
+ this.logInfo('Validation error while saving');
543
+ this.setValidationResults({
544
+ autoSave: this._autoSave,
545
+ editing: this.validationResults?.editing || !!this.item._id || !this._autoSave,
546
+ results: validationException.result
547
+ });
548
+ // while getting new errors (for now) we need to call on change in order to replace the editable item instance.. (this will change)
549
+ this.setTag(`${this.constructor['name']}-${generateHex(4)}`);
550
+ this.onChanged?.(this);
551
+ }
552
+ }
@@ -0,0 +1,5 @@
1
+ import { LogClient_MemBuffer } from '@nu-art/ts-common';
2
+ export declare class LogClient_ConsoleInterceptor extends LogClient_MemBuffer {
3
+ constructor(name: string, maxBuffers?: number, maxBufferSize?: number);
4
+ private overrideConsole;
5
+ }
@@ -0,0 +1,70 @@
1
+ // BaseComponent.MinLogLevel = LogLevel.Debug;
2
+ import { LogClient_MemBuffer, LogLevel } from '@nu-art/ts-common';
3
+ export class LogClient_ConsoleInterceptor extends LogClient_MemBuffer {
4
+ constructor(name, maxBuffers = 10, maxBufferSize = 1024 * 1024) {
5
+ super(name, maxBuffers, maxBufferSize);
6
+ this.overrideConsole();
7
+ }
8
+ overrideConsole() {
9
+ const originConsole = { ...window.console };
10
+ const overrideLog = (logLevel, method) => {
11
+ const logToBuffer = (...args) => {
12
+ const message = args[0];
13
+ if (!message || typeof message !== 'string') {
14
+ return this.logMessage(logLevel, false, '', args);
15
+ }
16
+ args.shift();
17
+ const formatRegex = /(%[sidfoOc])/g;
18
+ let formatted = '';
19
+ let i = 0;
20
+ let match;
21
+ while ((match = formatRegex.exec(message)) !== null) {
22
+ formatted += message.substring(i, match.index);
23
+ const specifier = match[1];
24
+ const arg = args.shift();
25
+ switch (specifier) {
26
+ case '%c':
27
+ break;
28
+ case '%s':
29
+ formatted += arg;
30
+ break;
31
+ case '%d':
32
+ case '%i':
33
+ formatted += Number.parseInt(arg).toLocaleString();
34
+ break;
35
+ case '%f':
36
+ formatted += Number.parseFloat(arg).toLocaleString();
37
+ break;
38
+ case '%O':
39
+ case '%o':
40
+ formatted += JSON.stringify(arg, null, 2);
41
+ break;
42
+ default:
43
+ formatted += specifier;
44
+ }
45
+ i = formatRegex.lastIndex; // exclude the format specifier
46
+ }
47
+ formatted += message.substring(i);
48
+ this.logMessage(logLevel, false, '', [formatted]);
49
+ };
50
+ return (...args) => {
51
+ try {
52
+ logToBuffer(...args);
53
+ }
54
+ catch (e) {
55
+ originConsole['error']('error logging console message with args: ', ...args);
56
+ }
57
+ originConsole[method](...args);
58
+ };
59
+ };
60
+ window.console = {
61
+ ...window.console,
62
+ log: overrideLog(LogLevel.Verbose, 'log'),
63
+ debug: overrideLog(LogLevel.Debug, 'debug'),
64
+ info: overrideLog(LogLevel.Info, 'info'),
65
+ warn: overrideLog(LogLevel.Warning, 'warn'),
66
+ error: overrideLog(LogLevel.Error, 'error'),
67
+ trace: overrideLog(LogLevel.Error, 'trace'),
68
+ };
69
+ }
70
+ }
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ export declare const isDependencyError: (e: any) => boolean;
3
+ export declare const generateErrorToastContent: (e: any, content: React.ReactNode, additionalData: any) => React.ReactNode;
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { _keys, filterInstances, isErrorOfType, ValidationException } from '@nu-art/ts-common';
3
+ export const isDependencyError = (e) => {
4
+ return (e.errorResponse?.error.type === 'has-dependencies');
5
+ };
6
+ export const generateErrorToastContent = (e, content, additionalData) => {
7
+ //
8
+ // if (isDependencyError(e)) {
9
+ // return <ResolveDependencyToast dependencyConflicts={e.errorResponse.error.data} deletedEntity={additionalData}/>;
10
+ // }
11
+ if (isErrorOfType(e, ValidationException))
12
+ return _jsx("div", { children: `Invalid input for fields: ${filterInstances(_keys(e.result)).join(', ')}` });
13
+ return _jsx("div", { children: "Something went wrong, try again later..." });
14
+ };
@@ -0,0 +1,2 @@
1
+ export * from './performAction.js';
2
+ export * from './notification-dispatchers.js';
@@ -0,0 +1,2 @@
1
+ export * from './performAction.js';
2
+ export * from './notification-dispatchers.js';
@@ -0,0 +1,6 @@
1
+ import { UniqueId } from "@nu-art/ts-common";
2
+ import { ThunderDispatcher } from "../../core/thunder-dispatcher.js";
3
+ export interface OnDeleteConflicts {
4
+ __onDeleteConflicts: (entity: string, conflictingIds: UniqueId[]) => void;
5
+ }
6
+ export declare const dispatch_onDeleteConflicts: ThunderDispatcher<OnDeleteConflicts, "__onDeleteConflicts", [entity: string, conflictingIds: string[]], void>;
@@ -0,0 +1,2 @@
1
+ import { ThunderDispatcher } from "../../core/thunder-dispatcher.js";
2
+ export const dispatch_onDeleteConflicts = new ThunderDispatcher('__onDeleteConflicts');