@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.
- package/_ats/ATS_ActionProcessor/ATS_ActionProcessor.d.ts +17 -0
- package/_ats/ATS_ActionProcessor/ATS_ActionProcessor.js +52 -0
- package/_ats/ATS_ActionProcessor/ATS_ActionProcessor.scss +43 -0
- package/_ats/ATS_AppConfigEditor/ATS_AppConfigEditor.d.ts +25 -0
- package/_ats/ATS_AppConfigEditor/ATS_AppConfigEditor.js +88 -0
- package/_ats/ATS_AppConfigEditor/ATS_AppConfigEditor.scss +117 -0
- package/_ats/ATS_CollectionUpgrades/ATS_CollectionUpgrades.d.ts +17 -0
- package/_ats/ATS_CollectionUpgrades/ATS_CollectionUpgrades.js +45 -0
- package/_ats/ATS_CollectionUpgrades/ATS_CollectionUpgrades.scss +24 -0
- package/_ats/ATS_CrudOperations/ATS_CrudOperations.d.ts +29 -0
- package/_ats/ATS_CrudOperations/ATS_CrudOperations.js +93 -0
- package/_ats/ATS_CrudOperations/ATS_CrudOperations.scss +46 -0
- package/_ats/ATS_CrudOperations/ui-components.d.ts +24 -0
- package/_ats/ATS_CrudOperations/ui-components.js +11 -0
- package/_ats/ATS_EditableItem/ATS_EditableItem.d.ts +16 -0
- package/_ats/ATS_EditableItem/ATS_EditableItem.js +48 -0
- package/_ats/ATS_IDBCacheComparison/ATS_IDBCacheComparison.d.ts +18 -0
- package/_ats/ATS_IDBCacheComparison/ATS_IDBCacheComparison.js +28 -0
- package/_ats/ATS_IDBCacheComparison/ATS_IDBCacheComparison.scss +7 -0
- package/_ats/ATS_IDBCacheComparison/Component_CollectionGrid.d.ts +23 -0
- package/_ats/ATS_IDBCacheComparison/Component_CollectionGrid.js +66 -0
- package/_ats/ATS_IDBCacheComparison/Component_CollectionGrid.scss +52 -0
- package/_ats/ATS_IDBCacheComparison/Dialog_IDBCacheComparison.d.ts +17 -0
- package/_ats/ATS_IDBCacheComparison/Dialog_IDBCacheComparison.js +30 -0
- package/_ats/ATS_IDBCacheComparison/Dialog_IDBCacheComparison.scss +25 -0
- package/_ats/ATS_Printables/ATS_AbstractPrintable.d.ts +16 -0
- package/_ats/ATS_Printables/ATS_AbstractPrintable.js +37 -0
- package/_ats/ATS_Printables/ATS_Printable.d.ts +13 -0
- package/_ats/ATS_Printables/ATS_Printable.js +45 -0
- package/_ats/ATS_Printables/ATS_Printable.scss +40 -0
- package/_ats/ATS_ProtoComponent/ATS_ProtoComponent.d.ts +33 -0
- package/_ats/ATS_ProtoComponent/ATS_ProtoComponent.js +80 -0
- package/_ats/ATS_ProtoComponent/ATS_ProtoComponent.scss +19 -0
- package/_ats/ATS_SyncEnv/ATS_SyncEnv.d.ts +51 -0
- package/_ats/ATS_SyncEnv/ATS_SyncEnv.js +215 -0
- package/_ats/ATS_SyncEnv/ATS_SyncEnv.scss +172 -0
- package/_ats/ATS_Toaster/ATS_Toaster.d.ts +23 -0
- package/_ats/ATS_Toaster/ATS_Toaster.js +48 -0
- package/_ats/ATS_Toaster/ATS_Toaster.scss +2 -0
- package/_ats/ATS_Toaster/index.d.ts +1 -0
- package/_ats/ATS_Toaster/index.js +1 -0
- package/_ats/dialogs/Dialog_ActionProcessorConfirmation/Dialog_ActionProcessorConfirmation.d.ts +18 -0
- package/_ats/dialogs/Dialog_ActionProcessorConfirmation/Dialog_ActionProcessorConfirmation.js +41 -0
- package/_ats/dialogs/Dialog_ActionProcessorConfirmation/Dialog_ActionProcessorConfirmation.scss +71 -0
- package/_ats/dialogs/index.d.ts +1 -0
- package/_ats/dialogs/index.js +1 -0
- package/_ats/index.d.ts +8 -0
- package/_ats/index.js +8 -0
- package/_entity/app-config/ModuleFE_AppConfig.d.ts +24 -0
- package/_entity/app-config/ModuleFE_AppConfig.js +52 -0
- package/_entity/app-config/index.d.ts +2 -0
- package/_entity/app-config/index.js +2 -0
- package/_entity/app-config/module-pack.d.ts +1 -0
- package/_entity/app-config/module-pack.js +2 -0
- package/_entity/editable-test/ModuleFE_EditableTest.d.ts +11 -0
- package/_entity/editable-test/ModuleFE_EditableTest.js +12 -0
- package/_entity/editable-test/index.d.ts +2 -0
- package/_entity/editable-test/index.js +2 -0
- package/_entity/editable-test/module-pack.d.ts +1 -0
- package/_entity/editable-test/module-pack.js +2 -0
- package/_entity/editable-test/ui-components.d.ts +37 -0
- package/_entity/editable-test/ui-components.js +21 -0
- package/_entity.d.ts +2 -0
- package/_entity.js +2 -0
- package/_to-refactor/MenuAndButton.d.ts +1 -0
- package/_to-refactor/MenuAndButton.js +87 -0
- package/behavior-functions/index.d.ts +1 -0
- package/behavior-functions/index.js +1 -0
- package/behavior-functions/scroll-into-view.d.ts +6 -0
- package/behavior-functions/scroll-into-view.js +55 -0
- package/component-modules/ModuleFE_Dialog.d.ts +27 -0
- package/component-modules/ModuleFE_Dialog.js +48 -0
- package/component-modules/ModuleFE_Notifications.d.ts +45 -0
- package/component-modules/ModuleFE_Notifications.js +133 -0
- package/component-modules/ModuleFE_Toaster.d.ts +28 -0
- package/component-modules/ModuleFE_Toaster.js +97 -0
- package/component-modules/mouse-interactivity/ModuleFE_MouseInteractivity.d.ts +9 -0
- package/component-modules/mouse-interactivity/ModuleFE_MouseInteractivity.js +35 -0
- package/component-modules/mouse-interactivity/helper-functions.d.ts +108 -0
- package/component-modules/mouse-interactivity/helper-functions.js +339 -0
- package/component-modules/mouse-interactivity/index.d.ts +3 -0
- package/component-modules/mouse-interactivity/index.js +3 -0
- package/component-modules/mouse-interactivity/types.d.ts +37 -0
- package/component-modules/mouse-interactivity/types.js +2 -0
- package/components/ActionButton.d.ts +7 -0
- package/components/ActionButton.js +29 -0
- package/components/AwaitModules/AwaitModules.d.ts +40 -0
- package/components/AwaitModules/AwaitModules.js +95 -0
- package/components/AwaitModules/AwaitModules.scss +53 -0
- package/components/AwaitSync/AwaitSync.d.ts +18 -0
- package/components/AwaitSync/AwaitSync.js +25 -0
- package/components/AwaitSync/AwaitSync.scss +13 -0
- package/components/Button/ATS_Button.d.ts +21 -0
- package/components/Button/ATS_Button.js +66 -0
- package/components/Button/ATS_Button.scss +19 -0
- package/components/Button/Button.d.ts +40 -0
- package/components/Button/Button.js +94 -0
- package/components/Button/Button.scss +151 -0
- package/components/FrameLayout/FrameLayout.d.ts +7 -0
- package/components/FrameLayout/FrameLayout.js +10 -0
- package/components/FrameLayout/FrameLayout.scss +5 -0
- package/components/FrameLayout/index.d.ts +1 -0
- package/components/FrameLayout/index.js +1 -0
- package/components/GenericDropDown/GenericDropDownV3.d.ts +108 -0
- package/components/GenericDropDown/GenericDropDownV3.js +98 -0
- package/components/GenericDropDown/index.d.ts +1 -0
- package/components/GenericDropDown/index.js +1 -0
- package/components/GenericRenderer/Component_GenericRenderer.d.ts +15 -0
- package/components/GenericRenderer/Component_GenericRenderer.js +13 -0
- package/components/HeightBounder.d.ts +11 -0
- package/components/HeightBounder.js +25 -0
- package/components/Label/ATS_Label.d.ts +12 -0
- package/components/Label/ATS_Label.js +34 -0
- package/components/Label/ATS_Label.scss +24 -0
- package/components/Label/Label.d.ts +30 -0
- package/components/Label/Label.js +84 -0
- package/components/Label/Label.scss +89 -0
- package/components/Layouts/Layouts.d.ts +38 -0
- package/components/Layouts/Layouts.js +56 -0
- package/components/Layouts/_Layouts.scss +53 -0
- package/components/Layouts/_Layouts_.scss +69 -0
- package/components/Layouts/index.d.ts +1 -0
- package/components/Layouts/index.js +21 -0
- package/components/Page_ItemsEditor/Page_ItemsEditor.d.ts +66 -0
- package/components/Page_ItemsEditor/Page_ItemsEditor.js +134 -0
- package/components/Page_ItemsEditor/Page_ItemsEditor.scss +104 -0
- package/components/Page_ItemsEditor/defaults/ItemEditor_DefaultFilter/ItemEditor_DefaultFilter.d.ts +16 -0
- package/components/Page_ItemsEditor/defaults/ItemEditor_DefaultFilter/ItemEditor_DefaultFilter.js +15 -0
- package/components/Page_ItemsEditor/defaults/ItemEditor_DefaultFilter/ItemEditor_DefaultFilter.scss +4 -0
- package/components/Page_ItemsEditor/defaults/ItemEditor_DefaultFilter/index.d.ts +1 -0
- package/components/Page_ItemsEditor/defaults/ItemEditor_DefaultFilter/index.js +1 -0
- package/components/Page_ItemsEditor/defaults/ItemEditor_ListRenderer/ItemEditor_DefaultList.d.ts +26 -0
- package/components/Page_ItemsEditor/defaults/ItemEditor_ListRenderer/ItemEditor_DefaultList.js +68 -0
- package/components/Page_ItemsEditor/defaults/ItemEditor_ListRenderer/ItemEditor_DefaultList.scss +4 -0
- package/components/Page_ItemsEditor/defaults/ItemEditor_ListRenderer/index.d.ts +1 -0
- package/components/Page_ItemsEditor/defaults/ItemEditor_ListRenderer/index.js +1 -0
- package/components/Page_ItemsEditor/index.d.ts +1 -0
- package/components/Page_ItemsEditor/index.js +1 -0
- package/components/Page_ItemsEditor/types.d.ts +4 -0
- package/components/Page_ItemsEditor/types.js +1 -0
- package/components/RelativeLayout/RelativeLayout.d.ts +7 -0
- package/components/RelativeLayout/RelativeLayout.js +10 -0
- package/components/RelativeLayout/RelativeLayout.scss +3 -0
- package/components/RelativeLayout/index.d.ts +1 -0
- package/components/RelativeLayout/index.js +1 -0
- package/components/Show.d.ts +20 -0
- package/components/Show.js +30 -0
- package/components/TS_AppTools/TS_AppTools.d.ts +30 -0
- package/components/TS_AppTools/TS_AppTools.js +144 -0
- package/components/TS_AppTools/TS_AppTools.scss +193 -0
- package/components/TS_AppTools/TS_AppTools_Default.d.ts +7 -0
- package/components/TS_AppTools/TS_AppTools_Default.js +16 -0
- package/components/TS_AppTools/index.d.ts +2 -0
- package/components/TS_AppTools/index.js +22 -0
- package/components/TS_AppTools/types.d.ts +19 -0
- package/components/TS_AppTools/types.js +6 -0
- package/components/TS_ButtonGroup/TS_ButtonGroup.d.ts +12 -0
- package/components/TS_ButtonGroup/TS_ButtonGroup.js +94 -0
- package/components/TS_ButtonGroup/TS_ButtonGroup.scss +58 -0
- package/components/TS_ButtonGroup/index.d.ts +2 -0
- package/components/TS_ButtonGroup/index.js +2 -0
- package/components/TS_ButtonGroup/types.d.ts +38 -0
- package/components/TS_ButtonGroup/types.js +1 -0
- package/components/TS_ButtonLoader/TS_ButtonLoader.d.ts +5 -0
- package/components/TS_ButtonLoader/TS_ButtonLoader.js +8 -0
- package/components/TS_ButtonLoader/TS_ButtonLoader.scss +63 -0
- package/components/TS_ButtonLoader/index.d.ts +1 -0
- package/components/TS_ButtonLoader/index.js +1 -0
- package/components/TS_Card/TS_Card.d.ts +7 -0
- package/components/TS_Card/TS_Card.js +14 -0
- package/components/TS_Card/TS_Card.scss +7 -0
- package/components/TS_Card/index.d.ts +1 -0
- package/components/TS_Card/index.js +1 -0
- package/components/TS_Checkbox/ATS_CheckboxV2.d.ts +3 -0
- package/components/TS_Checkbox/ATS_CheckboxV2.js +30 -0
- package/components/TS_Checkbox/ATS_CheckboxV2.scss +4 -0
- package/components/TS_Checkbox/TS_Checkbox.d.ts +48 -0
- package/components/TS_Checkbox/TS_Checkbox.js +46 -0
- package/components/TS_Checkbox/TS_Checkbox.scss +62 -0
- package/components/TS_Checkbox/TS_CheckboxV2.d.ts +37 -0
- package/components/TS_Checkbox/TS_CheckboxV2.js +53 -0
- package/components/TS_Checkbox/TS_CheckboxV2.scss +97 -0
- package/components/TS_Checkbox/index.d.ts +1 -0
- package/components/TS_Checkbox/index.js +21 -0
- package/components/TS_CheckboxGroup/ATS_CheckboxGroup.d.ts +19 -0
- package/components/TS_CheckboxGroup/ATS_CheckboxGroup.js +89 -0
- package/components/TS_CheckboxGroup/ATS_CheckboxGroup.scss +6 -0
- package/components/TS_CheckboxGroup/TS_CheckboxGroup.d.ts +35 -0
- package/components/TS_CheckboxGroup/TS_CheckboxGroup.js +47 -0
- package/components/TS_CheckboxGroup/TS_CheckboxGroup.scss +32 -0
- package/components/TS_CheckboxGroup/index.d.ts +1 -0
- package/components/TS_CheckboxGroup/index.js +1 -0
- package/components/TS_CollapsableContainer/TS_CollapsableContainer.d.ts +44 -0
- package/components/TS_CollapsableContainer/TS_CollapsableContainer.js +80 -0
- package/components/TS_CollapsableContainer/TS_CollapsableContainer.scss +47 -0
- package/components/TS_CollapsableContainer/index.d.ts +1 -0
- package/components/TS_CollapsableContainer/index.js +1 -0
- package/components/TS_CollapsableContainerV2/TS_CollapsableContainerV2.d.ts +36 -0
- package/components/TS_CollapsableContainerV2/TS_CollapsableContainerV2.js +46 -0
- package/components/TS_CollapsableContainerV2/TS_CollapsableContainerV2.scss +66 -0
- package/components/TS_CollapsableContainerV2/ats.d.ts +3 -0
- package/components/TS_CollapsableContainerV2/ats.js +39 -0
- package/components/TS_CollapsableContainerV2/ats.scss +35 -0
- package/components/TS_CollapsableContainerV2/index.d.ts +2 -0
- package/components/TS_CollapsableContainerV2/index.js +2 -0
- package/components/TS_ComponentTransition/TS_ComponentTransition.d.ts +25 -0
- package/components/TS_ComponentTransition/TS_ComponentTransition.js +65 -0
- package/components/TS_ComponentTransition/index.d.ts +1 -0
- package/components/TS_ComponentTransition/index.js +1 -0
- package/components/TS_CopyToClipboard/TS_CopyToClipboard.d.ts +4 -0
- package/components/TS_CopyToClipboard/TS_CopyToClipboard.js +11 -0
- package/components/TS_CopyToClipboard/index.d.ts +1 -0
- package/components/TS_CopyToClipboard/index.js +21 -0
- package/components/TS_Dialog/TS_Dialog.d.ts +89 -0
- package/components/TS_Dialog/TS_Dialog.js +140 -0
- package/components/TS_Dialog/TS_Dialog.scss +116 -0
- package/components/TS_Dialog/TS_DialogOverlay.d.ts +15 -0
- package/components/TS_Dialog/TS_DialogOverlay.js +48 -0
- package/components/TS_Dialog/TS_DialogOverlay.scss +41 -0
- package/components/TS_Dialog/TS_SimpleDialog.d.ts +21 -0
- package/components/TS_Dialog/TS_SimpleDialog.js +37 -0
- package/components/TS_Dialog/TS_SimpleDialog.scss +5 -0
- package/components/TS_Dialog/TS_SimpleDialogue.d.ts +28 -0
- package/components/TS_Dialog/TS_SimpleDialogue.js +38 -0
- package/components/TS_Dialog/index.d.ts +2 -0
- package/components/TS_Dialog/index.js +22 -0
- package/components/TS_DragAndDrop/TS_DragAndDrop.d.ts +48 -0
- package/components/TS_DragAndDrop/TS_DragAndDrop.js +105 -0
- package/components/TS_DragAndDrop/TS_DragAndDrop.scss +61 -0
- package/components/TS_DragAndDrop/index.d.ts +1 -0
- package/components/TS_DragAndDrop/index.js +21 -0
- package/components/TS_Dropdown/TS_DropDown.d.ts +120 -0
- package/components/TS_Dropdown/TS_DropDown.js +332 -0
- package/components/TS_Dropdown/TS_DropDown.scss +134 -0
- package/components/TS_Dropdown/index.d.ts +1 -0
- package/components/TS_Dropdown/index.js +21 -0
- package/components/TS_EditableContent/TS_EditableContent.d.ts +19 -0
- package/components/TS_EditableContent/TS_EditableContent.js +32 -0
- package/components/TS_EditableContent/types.d.ts +4 -0
- package/components/TS_EditableContent/types.js +1 -0
- package/components/TS_EditableItemComponent/TS_EditableItemComponent.d.ts +23 -0
- package/components/TS_EditableItemComponent/TS_EditableItemComponent.js +47 -0
- package/components/TS_EditableItemController/TS_EditableItemController.d.ts +36 -0
- package/components/TS_EditableItemController/TS_EditableItemController.js +54 -0
- package/components/TS_EditableItemController/TS_EditableItemController.scss +3 -0
- package/components/TS_EditableItemController/index.d.ts +1 -0
- package/components/TS_EditableItemController/index.js +1 -0
- package/components/TS_EditableItemControllerProto/TS_EditableItemControllerProto.d.ts +32 -0
- package/components/TS_EditableItemControllerProto/TS_EditableItemControllerProto.js +53 -0
- package/components/TS_EditableItemControllerProto/TS_EditableItemControllerProto.scss +3 -0
- package/components/TS_EditableItemControllerProto/index.d.ts +1 -0
- package/components/TS_EditableItemControllerProto/index.js +1 -0
- package/components/TS_EditableItemStatus/TS_EditableItemStatus.d.ts +20 -0
- package/components/TS_EditableItemStatus/TS_EditableItemStatus.js +34 -0
- package/components/TS_EditableText/TS_EditableText.d.ts +57 -0
- package/components/TS_EditableText/TS_EditableText.js +100 -0
- package/components/TS_EditableText/TS_EditableText.scss +90 -0
- package/components/TS_EditableText/index.d.ts +1 -0
- package/components/TS_EditableText/index.js +1 -0
- package/components/TS_ErrorBoundary/TS_ErrorBoundary.d.ts +54 -0
- package/components/TS_ErrorBoundary/TS_ErrorBoundary.js +103 -0
- package/components/TS_ErrorBoundary/TS_ErrorBoundary.scss +95 -0
- package/components/TS_ErrorBoundary/index.d.ts +1 -0
- package/components/TS_ErrorBoundary/index.js +21 -0
- package/components/TS_Form/TS_Form.d.ts +9 -0
- package/components/TS_Form/TS_Form.js +11 -0
- package/components/TS_Form/TS_Form.scss +0 -0
- package/components/TS_Form/consts.d.ts +1 -0
- package/components/TS_Form/consts.js +1 -0
- package/components/TS_Form/index.d.ts +3 -0
- package/components/TS_Form/index.js +3 -0
- package/components/TS_Form/types.d.ts +13 -0
- package/components/TS_Form/types.js +1 -0
- package/components/TS_GridTableProto/TS_GridTableProto.d.ts +18 -0
- package/components/TS_GridTableProto/TS_GridTableProto.js +22 -0
- package/components/TS_GridTableProto/TS_GridTableProto.scss +4 -0
- package/components/TS_GridTableProto/index.d.ts +1 -0
- package/components/TS_GridTableProto/index.js +1 -0
- package/components/TS_Input/ATS_TextArea.d.ts +14 -0
- package/components/TS_Input/ATS_TextArea.js +24 -0
- package/components/TS_Input/ATS_TextArea.scss +24 -0
- package/components/TS_Input/TS_BaseInput.d.ts +44 -0
- package/components/TS_Input/TS_BaseInput.js +47 -0
- package/components/TS_Input/TS_Input.d.ts +24 -0
- package/components/TS_Input/TS_Input.js +53 -0
- package/components/TS_Input/TS_Input.scss +64 -0
- package/components/TS_Input/TS_TextArea.d.ts +14 -0
- package/components/TS_Input/TS_TextArea.js +72 -0
- package/components/TS_Input/TS_TextArea.scss +41 -0
- package/components/TS_Input/index.d.ts +4 -0
- package/components/TS_Input/index.js +25 -0
- package/components/TS_JSONViewer/TS_JSONViewer.d.ts +18 -0
- package/components/TS_JSONViewer/TS_JSONViewer.js +64 -0
- package/components/TS_JSONViewer/TS_JSONViewer.scss +87 -0
- package/components/TS_JSONViewer/types.d.ts +10 -0
- package/components/TS_JSONViewer/types.js +1 -0
- package/components/TS_Link/TS_Link.d.ts +15 -0
- package/components/TS_Link/TS_Link.js +36 -0
- package/components/TS_Link/TS_Link.scss +32 -0
- package/components/TS_Link/index.d.ts +1 -0
- package/components/TS_Link/index.js +21 -0
- package/components/TS_ListOrganizer/TS_ListOrganizer.d.ts +33 -0
- package/components/TS_ListOrganizer/TS_ListOrganizer.js +64 -0
- package/components/TS_ListOrganizer/TS_ListOrganizer.scss +37 -0
- package/components/TS_ListOrganizer/index.d.ts +1 -0
- package/components/TS_ListOrganizer/index.js +21 -0
- package/components/TS_Loader/TS_Loader.d.ts +6 -0
- package/components/TS_Loader/TS_Loader.js +9 -0
- package/components/TS_Loader/TS_Loader.scss +71 -0
- package/components/TS_Loader/index.d.ts +1 -0
- package/components/TS_Loader/index.js +1 -0
- package/components/TS_MemoryMonitor/TS_MemoryMonitor.d.ts +10 -0
- package/components/TS_MemoryMonitor/TS_MemoryMonitor.js +48 -0
- package/components/TS_MemoryMonitor/TS_MemoryMonitor.scss +31 -0
- package/components/TS_MemoryMonitor/index.d.ts +1 -0
- package/components/TS_MemoryMonitor/index.js +21 -0
- package/components/TS_MouseInteractivity/TS_PopUp/TS_PopUp.d.ts +9 -0
- package/components/TS_MouseInteractivity/TS_PopUp/TS_PopUp.js +28 -0
- package/components/TS_MouseInteractivity/TS_PopUp/TS_PopUp.scss +53 -0
- package/components/TS_MouseInteractivity/TS_Tooltip/TS_ToolTip.d.ts +12 -0
- package/components/TS_MouseInteractivity/TS_Tooltip/TS_ToolTip.js +65 -0
- package/components/TS_MouseInteractivity/TS_Tooltip/TS_ToolTip.scss +46 -0
- package/components/TS_MouseInteractivity/base/TS_MouseInteractivity.d.ts +18 -0
- package/components/TS_MouseInteractivity/base/TS_MouseInteractivity.js +100 -0
- package/components/TS_MouseInteractivity/index.d.ts +2 -0
- package/components/TS_MouseInteractivity/index.js +22 -0
- package/components/TS_MultiSelect/TS_MultiSelect.scss +34 -0
- package/components/TS_MultiSelect/TS_MultiSelect_V2.d.ts +36 -0
- package/components/TS_MultiSelect/TS_MultiSelect_V2.js +41 -0
- package/components/TS_MultiSelect/index.d.ts +1 -0
- package/components/TS_MultiSelect/index.js +21 -0
- package/components/TS_Notifications/TS_Notifications.d.ts +22 -0
- package/components/TS_Notifications/TS_Notifications.js +96 -0
- package/components/TS_Notifications/TS_Notifications.scss +120 -0
- package/components/TS_Notifications/genericNotificationAction.d.ts +8 -0
- package/components/TS_Notifications/genericNotificationAction.js +16 -0
- package/components/TS_Notifications/index.d.ts +2 -0
- package/components/TS_Notifications/index.js +2 -0
- package/components/TS_Overlay/TS_Overlay.d.ts +12 -0
- package/components/TS_Overlay/TS_Overlay.js +32 -0
- package/components/TS_Overlay/TS_Overlay.scss +41 -0
- package/components/TS_Overlay/index.d.ts +1 -0
- package/components/TS_Overlay/index.js +21 -0
- package/components/TS_Printable/TS_Printable.d.ts +13 -0
- package/components/TS_Printable/TS_Printable.js +20 -0
- package/components/TS_Printable/TS_Printable.scss +47 -0
- package/components/TS_Printable/index.d.ts +1 -0
- package/components/TS_Printable/index.js +21 -0
- package/components/TS_ProgressBar/TS_ProgressBar.d.ts +22 -0
- package/components/TS_ProgressBar/TS_ProgressBar.js +47 -0
- package/components/TS_ProgressBar/TS_ProgressBar.scss +79 -0
- package/components/TS_ProgressBar/index.d.ts +1 -0
- package/components/TS_ProgressBar/index.js +1 -0
- package/components/TS_PropRenderer/TS_PropRenderer.d.ts +18 -0
- package/components/TS_PropRenderer/TS_PropRenderer.js +36 -0
- package/components/TS_PropRenderer/TS_PropRenderer.scss +19 -0
- package/components/TS_PropRenderer/index.d.ts +1 -0
- package/components/TS_PropRenderer/index.js +1 -0
- package/components/TS_Radio/TS_Radio.d.ts +34 -0
- package/components/TS_Radio/TS_Radio.js +49 -0
- package/components/TS_Radio/TS_Radio.scss +68 -0
- package/components/TS_Radio/index.d.ts +1 -0
- package/components/TS_Radio/index.js +1 -0
- package/components/TS_ReadMore/TS_ReadMore.d.ts +26 -0
- package/components/TS_ReadMore/TS_ReadMore.js +86 -0
- package/components/TS_ReadMore/TS_ReadMore.scss +36 -0
- package/components/TS_ReadMore/index.d.ts +1 -0
- package/components/TS_ReadMore/index.js +1 -0
- package/components/TS_Slider/TS_Slider.d.ts +26 -0
- package/components/TS_Slider/TS_Slider.js +42 -0
- package/components/TS_Slider/TS_Slider.scss +68 -0
- package/components/TS_Slider/index.d.ts +1 -0
- package/components/TS_Slider/index.js +1 -0
- package/components/TS_Space/TS_Space.d.ts +8 -0
- package/components/TS_Space/TS_Space.js +8 -0
- package/components/TS_Space/index.d.ts +1 -0
- package/components/TS_Space/index.js +1 -0
- package/components/TS_Space/ts-space.scss +3 -0
- package/components/TS_Table/TS_Table.d.ts +42 -0
- package/components/TS_Table/TS_Table.js +74 -0
- package/components/TS_Table/TS_Table.scss +51 -0
- package/components/TS_Table/index.d.ts +1 -0
- package/components/TS_Table/index.js +21 -0
- package/components/TS_Tabs/TS_Tabs.d.ts +55 -0
- package/components/TS_Tabs/TS_Tabs.js +102 -0
- package/components/TS_Tabs/TS_Tabs.scss +103 -0
- package/components/TS_Tabs/index.d.ts +1 -0
- package/components/TS_Tabs/index.js +21 -0
- package/components/TS_Toaster/TS_Toast.d.ts +5 -0
- package/components/TS_Toaster/TS_Toast.js +9 -0
- package/components/TS_Toaster/TS_Toast.scss +80 -0
- package/components/TS_Toaster/TS_ToastOverlay.d.ts +16 -0
- package/components/TS_Toaster/TS_ToastOverlay.js +26 -0
- package/components/TS_Toaster/TS_ToastOverlay.scss +33 -0
- package/components/TS_Toaster/index.d.ts +2 -0
- package/components/TS_Toaster/index.js +22 -0
- package/components/TS_Toggle/ATS_Toggle.d.ts +11 -0
- package/components/TS_Toggle/ATS_Toggle.js +18 -0
- package/components/TS_Toggle/TS_Toggle.d.ts +21 -0
- package/components/TS_Toggle/TS_Toggle.js +26 -0
- package/components/TS_Toggle/TS_Toggle.scss +56 -0
- package/components/TS_Toggle/index.d.ts +2 -0
- package/components/TS_Toggle/index.js +2 -0
- package/components/TS_Toggler/TS_Toggler.d.ts +23 -0
- package/components/TS_Toggler/TS_Toggler.js +50 -0
- package/components/TS_Toggler/TS_Toggler.scss +83 -0
- package/components/TS_Toggler/index.d.ts +1 -0
- package/components/TS_Toggler/index.js +1 -0
- package/components/TS_Tree/SimpleTreeNodeRenderer.d.ts +9 -0
- package/components/TS_Tree/SimpleTreeNodeRenderer.js +53 -0
- package/components/TS_Tree/TS_Tree.d.ts +68 -0
- package/components/TS_Tree/TS_Tree.js +174 -0
- package/components/TS_Tree/TS_Tree.scss +44 -0
- package/components/TS_Tree/index.d.ts +3 -0
- package/components/TS_Tree/index.js +23 -0
- package/components/TS_Tree/types.d.ts +4 -0
- package/components/TS_Tree/types.js +21 -0
- package/components/TS_V2_Input/TS_InputV2.d.ts +93 -0
- package/components/TS_V2_Input/TS_InputV2.js +220 -0
- package/components/TS_V2_Input/index.d.ts +1 -0
- package/components/TS_V2_Input/index.js +21 -0
- package/components/TS_V2_TextArea/TS_BaseInput.d.ts +42 -0
- package/components/TS_V2_TextArea/TS_BaseInput.js +46 -0
- package/components/TS_V2_TextArea/TS_TextAreaV2.d.ts +78 -0
- package/components/TS_V2_TextArea/TS_TextAreaV2.js +178 -0
- package/components/TS_V2_TextArea/TS_TextAreaV2.scss +49 -0
- package/components/TS_V2_TextArea/index.d.ts +2 -0
- package/components/TS_V2_TextArea/index.js +22 -0
- package/components/TS_VirtualizedList/TS_VirtualizedList.d.ts +14 -0
- package/components/TS_VirtualizedList/TS_VirtualizedList.js +22 -0
- package/components/TS_VirtualizedList/index.d.ts +1 -0
- package/components/TS_VirtualizedList/index.js +1 -0
- package/components/Video/Video.d.ts +16 -0
- package/components/Video/Video.js +40 -0
- package/components/Video/VideoDialog.d.ts +20 -0
- package/components/Video/VideoDialog.js +44 -0
- package/components/Video/VideoDialog.scss +31 -0
- package/components/Video/types.d.ts +20 -0
- package/components/Video/types.js +1 -0
- package/components/_TS_MultiSelect/DBItemDropDownMultiSelector.d.ts +57 -0
- package/components/_TS_MultiSelect/DBItemDropDownMultiSelector.js +63 -0
- package/components/adapter/Adapter.d.ts +139 -0
- package/components/adapter/Adapter.js +259 -0
- package/components/adapter/BaseRenderer.d.ts +24 -0
- package/components/adapter/BaseRenderer.js +31 -0
- package/components/ats-group.d.ts +2 -0
- package/components/ats-group.js +14 -0
- package/components/form/Form.d.ts +24 -0
- package/components/form/Form.js +34 -0
- package/components/form/types.d.ts +23 -0
- package/components/form/types.js +21 -0
- package/components/formv3/FormV3.d.ts +25 -0
- package/components/formv3/FormV3.js +23 -0
- package/components/formv3/types.d.ts +29 -0
- package/components/formv3/types.js +1 -0
- package/components/treeicons.d.ts +10 -0
- package/components/treeicons.js +3 -0
- package/components/types.d.ts +23 -0
- package/components/types.js +22 -0
- package/components/utils.d.ts +1 -0
- package/components/utils.js +7 -0
- package/consts.d.ts +2 -0
- package/consts.js +2 -0
- package/core/AppPage.d.ts +11 -0
- package/core/AppPage.js +52 -0
- package/core/AppPageV2.d.ts +9 -0
- package/core/AppPageV2.js +53 -0
- package/core/AppWrapper.d.ts +4 -0
- package/core/AppWrapper.js +34 -0
- package/core/ComponentAsync.d.ts +16 -0
- package/core/ComponentAsync.js +64 -0
- package/core/ComponentBase.d.ts +28 -0
- package/core/ComponentBase.js +152 -0
- package/core/ComponentSync.d.ts +13 -0
- package/core/ComponentSync.js +49 -0
- package/core/Controller.d.ts +13 -0
- package/core/Controller.js +28 -0
- package/core/IndexedDB.d.ts +42 -0
- package/core/IndexedDB.js +259 -0
- package/core/IndexedDBV3.d.ts +43 -0
- package/core/IndexedDBV3.js +259 -0
- package/core/IndexedDBV4/IndexedDB_Database.d.ts +20 -0
- package/core/IndexedDBV4/IndexedDB_Database.js +268 -0
- package/core/IndexedDBV4/IndexedDB_Store.d.ts +34 -0
- package/core/IndexedDBV4/IndexedDB_Store.js +207 -0
- package/core/IndexedDBV4/ModuleFE_IDBManager.d.ts +11 -0
- package/core/IndexedDBV4/ModuleFE_IDBManager.js +19 -0
- package/core/IndexedDBV4/types.d.ts +16 -0
- package/core/IndexedDBV4/types.js +1 -0
- package/core/SimpleScriptInjector.d.ts +13 -0
- package/core/SimpleScriptInjector.js +42 -0
- package/core/Thunder.d.ts +37 -0
- package/core/Thunder.js +139 -0
- package/core/ThunderstormDefaultApp.d.ts +12 -0
- package/core/ThunderstormDefaultApp.js +29 -0
- package/core/consts.d.ts +6 -0
- package/core/consts.js +2 -0
- package/core/db-api-gen/consts.d.ts +22 -0
- package/core/db-api-gen/consts.js +25 -0
- package/core/db-api-gen/db-def.d.ts +9 -0
- package/core/db-api-gen/db-def.js +16 -0
- package/core/db-api-gen/types.d.ts +23 -0
- package/core/db-api-gen/types.js +3 -0
- package/core/proto-component/ProtoComponent.d.ts +57 -0
- package/core/proto-component/ProtoComponent.js +73 -0
- package/core/proto-component/UrlState.d.ts +42 -0
- package/core/proto-component/UrlState.js +59 -0
- package/core/proto-component/index.d.ts +2 -0
- package/core/proto-component/index.js +2 -0
- package/core/proto-component/types.d.ts +25 -0
- package/core/proto-component/types.js +15 -0
- package/core/thunder-dispatcher.d.ts +13 -0
- package/core/thunder-dispatcher.js +69 -0
- package/core/thunder-helpers.d.ts +7 -0
- package/core/thunder-helpers.js +171 -0
- package/core/thunder-modulepack.d.ts +3 -0
- package/core/thunder-modulepack.js +34 -0
- package/core/typed-api.d.ts +6 -0
- package/core/typed-api.js +41 -0
- package/core/types.d.ts +6 -0
- package/core/types.js +1 -0
- package/editable-item.d.ts +7 -0
- package/editable-item.js +7 -0
- package/index.d.ts +112 -0
- package/index.js +134 -0
- package/modules/ModuleFE_BaseTheme.d.ts +18 -0
- package/modules/ModuleFE_BaseTheme.js +27 -0
- package/modules/ModuleFE_BroadcastChannel/ModuleFE_BroadcastChannel.d.ts +20 -0
- package/modules/ModuleFE_BroadcastChannel/ModuleFE_BroadcastChannel.js +66 -0
- package/modules/ModuleFE_BrowserHistory.d.ts +46 -0
- package/modules/ModuleFE_BrowserHistory.js +165 -0
- package/modules/ModuleFE_BrowserHistoryV2.d.ts +43 -0
- package/modules/ModuleFE_BrowserHistoryV2.js +113 -0
- package/modules/ModuleFE_CSVParser.d.ts +12 -0
- package/modules/ModuleFE_CSVParser.js +52 -0
- package/modules/ModuleFE_CollectionActions.d.ts +10 -0
- package/modules/ModuleFE_CollectionActions.js +18 -0
- package/modules/ModuleFE_ConnectivityModule.d.ts +15 -0
- package/modules/ModuleFE_ConnectivityModule.js +31 -0
- package/modules/ModuleFE_ForceUpgrade.d.ts +20 -0
- package/modules/ModuleFE_ForceUpgrade.js +54 -0
- package/modules/ModuleFE_LocalStorage.d.ts +46 -0
- package/modules/ModuleFE_LocalStorage.js +179 -0
- package/modules/ModuleFE_Locale.d.ts +44 -0
- package/modules/ModuleFE_Locale.js +83 -0
- package/modules/ModuleFE_Print.d.ts +16 -0
- package/modules/ModuleFE_Print.js +116 -0
- package/modules/ModuleFE_StorageCleaner.d.ts +17 -0
- package/modules/ModuleFE_StorageCleaner.js +90 -0
- package/modules/ModuleFE_Thunderstorm.d.ts +31 -0
- package/modules/ModuleFE_Thunderstorm.js +122 -0
- package/modules/ModuleFE_Utils/ModuleFE_Utils.d.ts +29 -0
- package/modules/ModuleFE_Utils/ModuleFE_Utils.js +43 -0
- package/modules/ModuleFE_Window.d.ts +19 -0
- package/modules/ModuleFE_Window.js +42 -0
- package/modules/ModuleFE_WindowMessenger.d.ts +62 -0
- package/modules/ModuleFE_WindowMessenger.js +128 -0
- package/modules/action-processor/ModuleFE_ActionProcessor.d.ts +9 -0
- package/modules/action-processor/ModuleFE_ActionProcessor.js +14 -0
- package/modules/archiving/ModuleFE_Archiving.d.ts +8 -0
- package/modules/archiving/ModuleFE_Archiving.js +15 -0
- package/modules/clearWebsiteDataDispatcher.d.ts +5 -0
- package/modules/clearWebsiteDataDispatcher.js +2 -0
- package/modules/component-loader/ReactEntryComponentInjector.d.ts +23 -0
- package/modules/component-loader/ReactEntryComponentInjector.js +59 -0
- package/modules/component-loader/entry-component-loading-module.d.ts +7 -0
- package/modules/component-loader/entry-component-loading-module.js +52 -0
- package/modules/component-loader/index.d.ts +2 -0
- package/modules/component-loader/index.js +2 -0
- package/modules/db-api-gen/ModuleFE_BaseApi.d.ts +45 -0
- package/modules/db-api-gen/ModuleFE_BaseApi.js +152 -0
- package/modules/db-api-gen/ModuleFE_BaseDB.d.ts +146 -0
- package/modules/db-api-gen/ModuleFE_BaseDB.js +433 -0
- package/modules/db-api-gen/types.d.ts +13 -0
- package/modules/db-api-gen/types.js +6 -0
- package/modules/http/ModuleFE_XHR.d.ts +20 -0
- package/modules/http/ModuleFE_XHR.js +175 -0
- package/modules/routing/LocationChangeListener.d.ts +6 -0
- package/modules/routing/LocationChangeListener.js +15 -0
- package/modules/routing/ModuleFE_Routing.d.ts +30 -0
- package/modules/routing/ModuleFE_Routing.js +122 -0
- package/modules/routing/ModuleFE_RoutingV2.d.ts +25 -0
- package/modules/routing/ModuleFE_RoutingV2.js +143 -0
- package/modules/routing/index.d.ts +5 -0
- package/modules/routing/index.js +5 -0
- package/modules/routing/route.d.ts +22 -0
- package/modules/routing/route.js +83 -0
- package/modules/routing/types.d.ts +20 -0
- package/modules/routing/types.js +1 -0
- package/modules/sync-env/ModuleFE_SyncEnvV2.d.ts +8 -0
- package/modules/sync-env/ModuleFE_SyncEnvV2.js +18 -0
- package/modules/sync-manager/ModuleFE_SyncManager.d.ts +59 -0
- package/modules/sync-manager/ModuleFE_SyncManager.js +378 -0
- package/modules/sync-manager/ModuleFE_SyncManager_CSV.d.ts +11 -0
- package/modules/sync-manager/ModuleFE_SyncManager_CSV.js +121 -0
- package/package.json +107 -0
- package/server-info/Button_VersionUpdate.d.ts +15 -0
- package/server-info/Button_VersionUpdate.js +29 -0
- package/server-info/Button_VersionUpdate.scss +29 -0
- package/server-info/ModuleFE_ServerInfo.d.ts +26 -0
- package/server-info/ModuleFE_ServerInfo.js +73 -0
- package/server-info/index.d.ts +2 -0
- package/server-info/index.js +2 -0
- package/shared.d.ts +1 -0
- package/shared.js +21 -0
- package/styles/declaration/basic.scss +155 -0
- package/styles/declaration/mixins.scss +58 -0
- package/styles/impl/basic.scss +141 -0
- package/styles/impl/icons.scss +34 -0
- package/styles.scss +40 -0
- package/utils/EditableItem.d.ts +240 -0
- package/utils/EditableItem.js +552 -0
- package/utils/console/LogClient_ConsoleInterceptor.d.ts +5 -0
- package/utils/console/LogClient_ConsoleInterceptor.js +70 -0
- package/utils/perform-action/genereteToasts.d.ts +3 -0
- package/utils/perform-action/genereteToasts.js +14 -0
- package/utils/perform-action/index.d.ts +2 -0
- package/utils/perform-action/index.js +2 -0
- package/utils/perform-action/notification-dispatchers.d.ts +6 -0
- package/utils/perform-action/notification-dispatchers.js +2 -0
- package/utils/perform-action/performAction.d.ts +34 -0
- package/utils/perform-action/performAction.js +77 -0
- package/utils/perform-action/resolve-dependency-toast/ResolveDependencyToast.d.ts +8 -0
- package/utils/perform-action/resolve-dependency-toast/ResolveDependencyToast.js +11 -0
- package/utils/perform-action/resolve-dependency-toast/ResolveDependencyToast.scss +12 -0
- package/utils/tools.d.ts +31 -0
- package/utils/tools.js +138 -0
- package/utils/types.d.ts +3 -0
- package/utils/types.js +1 -0
- package/widgets/FieldEditor.d.ts +29 -0
- package/widgets/FieldEditor.js +47 -0
- package/widgets/FieldEditorClick.d.ts +33 -0
- package/widgets/FieldEditorClick.js +49 -0
- package/widgets/FieldEditorWithButtons.d.ts +32 -0
- package/widgets/FieldEditorWithButtons.js +42 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { DBDef_V3, DBProto } from '@nu-art/ts-common';
|
|
2
|
+
import { ModuleFE_BaseDB } from './ModuleFE_BaseDB.js';
|
|
3
|
+
import { ApiDefCaller, ApiStruct_DBApiGenIDBV3 } from '../../shared.js';
|
|
4
|
+
import { DBApiFEConfig } from '../../core/db-api-gen/db-def.js';
|
|
5
|
+
import { ThunderDispatcher } from '../../core/thunder-dispatcher.js';
|
|
6
|
+
import { CustomMemCreators } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Base API module for frontend database operations
|
|
9
|
+
*
|
|
10
|
+
* Provides core functionality for database CRUD operations through API endpoints
|
|
11
|
+
* including support for operation queueing and request management.
|
|
12
|
+
*
|
|
13
|
+
* @template Proto - Database protocol type extending DBProto
|
|
14
|
+
* @template _Config - Base configuration type
|
|
15
|
+
* @template Config - Extended configuration type with DBApiFEConfig
|
|
16
|
+
*/
|
|
17
|
+
export declare abstract class ModuleFE_BaseApi<Proto extends DBProto<any>, _Config extends object = object, Config extends _Config & DBApiFEConfig<Proto> = _Config & DBApiFEConfig<Proto>> extends ModuleFE_BaseDB<Proto, Config> implements ApiDefCaller<ApiStruct_DBApiGenIDBV3<Proto>> {
|
|
18
|
+
readonly v1: ApiDefCaller<ApiStruct_DBApiGenIDBV3<Proto>>['v1'];
|
|
19
|
+
private operations;
|
|
20
|
+
/**
|
|
21
|
+
* Creates an instance of ModuleFE_BaseApi
|
|
22
|
+
*
|
|
23
|
+
* @param dbDef - Database definition
|
|
24
|
+
* @param defaultDispatcher - Default dispatcher for events
|
|
25
|
+
* @param version - Optional API version string
|
|
26
|
+
* @param customMemCreators - Optional custom memory creators for the database
|
|
27
|
+
*/
|
|
28
|
+
protected constructor(dbDef: DBDef_V3<Proto>, defaultDispatcher: ThunderDispatcher<any, string>, version?: string, customMemCreators?: CustomMemCreators<Proto>);
|
|
29
|
+
/**
|
|
30
|
+
* Resolves the API definition for the database
|
|
31
|
+
*
|
|
32
|
+
* @param dbDef - Database definition
|
|
33
|
+
* @param version - Optional API version
|
|
34
|
+
* @returns Generated API definition for the database
|
|
35
|
+
*/
|
|
36
|
+
protected resolveApiDef(dbDef: DBDef_V3<Proto>, version: string | undefined): import("@nu-art/thunderstorm-shared/types").ApiDefRouter<ApiStruct_DBApiGenIDBV3<Proto>>;
|
|
37
|
+
/**
|
|
38
|
+
* Cleans up data before upserting to database
|
|
39
|
+
*
|
|
40
|
+
* @param toUpsert - Data to be upserted
|
|
41
|
+
* @returns Cleaned up data
|
|
42
|
+
*/
|
|
43
|
+
protected cleanUp: (toUpsert: Proto["uiType"]) => Proto["uiType"];
|
|
44
|
+
private updatePending;
|
|
45
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Database API Generator is a utility library for Thunderstorm.
|
|
3
|
+
*
|
|
4
|
+
* Given proper configurations it will dynamically generate APIs to your Firestore
|
|
5
|
+
* collections, will assert uniqueness and restrict deletion... and more
|
|
6
|
+
*
|
|
7
|
+
* Copyright (C) 2020 Adam van der Kruk aka TacB0sS
|
|
8
|
+
*
|
|
9
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10
|
+
* you may not use this file except in compliance with the License.
|
|
11
|
+
* You may obtain a copy of the License at
|
|
12
|
+
*
|
|
13
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
14
|
+
*
|
|
15
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
16
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
17
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
18
|
+
* See the License for the specific language governing permissions and
|
|
19
|
+
* limitations under the License.
|
|
20
|
+
*/
|
|
21
|
+
import { _EmptyQuery } from '@nu-art/firebase-shared';
|
|
22
|
+
import { BadImplementationException } from '@nu-art/ts-common';
|
|
23
|
+
import { ModuleFE_BaseDB } from './ModuleFE_BaseDB.js';
|
|
24
|
+
import { DBApiDefGeneratorIDBV3 } from '../../shared.js';
|
|
25
|
+
import { apiWithBody, apiWithQuery } from '../../core/typed-api.js';
|
|
26
|
+
import { ModuleSyncType } from './types.js';
|
|
27
|
+
/**
|
|
28
|
+
* Base API module for frontend database operations
|
|
29
|
+
*
|
|
30
|
+
* Provides core functionality for database CRUD operations through API endpoints
|
|
31
|
+
* including support for operation queueing and request management.
|
|
32
|
+
*
|
|
33
|
+
* @template Proto - Database protocol type extending DBProto
|
|
34
|
+
* @template _Config - Base configuration type
|
|
35
|
+
* @template Config - Extended configuration type with DBApiFEConfig
|
|
36
|
+
*/
|
|
37
|
+
export class ModuleFE_BaseApi extends ModuleFE_BaseDB {
|
|
38
|
+
// @ts-ignore
|
|
39
|
+
v1;
|
|
40
|
+
operations = {};
|
|
41
|
+
/**
|
|
42
|
+
* Creates an instance of ModuleFE_BaseApi
|
|
43
|
+
*
|
|
44
|
+
* @param dbDef - Database definition
|
|
45
|
+
* @param defaultDispatcher - Default dispatcher for events
|
|
46
|
+
* @param version - Optional API version string
|
|
47
|
+
* @param customMemCreators - Optional custom memory creators for the database
|
|
48
|
+
*/
|
|
49
|
+
constructor(dbDef, defaultDispatcher, version, customMemCreators) {
|
|
50
|
+
super(dbDef, defaultDispatcher, ModuleSyncType.APISync, customMemCreators);
|
|
51
|
+
const apiDef = this.resolveApiDef(dbDef, version);
|
|
52
|
+
const _query = apiWithBody(apiDef.v1.query, (response) => this.onQueryReturned(response));
|
|
53
|
+
const queryUnique = apiWithQuery(apiDef.v1.queryUnique, this.onGotUnique);
|
|
54
|
+
const upsert = apiWithBody(apiDef.v1.upsert, async (item, original) => {
|
|
55
|
+
const toRet = await this.onEntryUpdated(item, JSON.parse(original));
|
|
56
|
+
this.IDB.setLastUpdated(item.__updated);
|
|
57
|
+
return toRet;
|
|
58
|
+
});
|
|
59
|
+
const patch = apiWithBody(apiDef.v1.patch, (items) => this.onEntryPatched(items));
|
|
60
|
+
const _delete = apiWithQuery(apiDef.v1.delete, this.onEntryDeleted);
|
|
61
|
+
// @ts-ignore
|
|
62
|
+
this.v1 = {
|
|
63
|
+
query: (query) => _query(query || _EmptyQuery),
|
|
64
|
+
// @ts-ignore
|
|
65
|
+
queryUnique: (_id) => {
|
|
66
|
+
return queryUnique({ _id });
|
|
67
|
+
},
|
|
68
|
+
// @ts-ignore
|
|
69
|
+
upsert: (toUpsert) => {
|
|
70
|
+
toUpsert = this.cleanUp(toUpsert);
|
|
71
|
+
this.validateInternal(toUpsert);
|
|
72
|
+
return this.updatePending(toUpsert, upsert(toUpsert), 'upsert');
|
|
73
|
+
},
|
|
74
|
+
upsertAll: apiWithBody(apiDef.v1.upsertAll, async (items) => {
|
|
75
|
+
const toRet = await this.onEntriesUpdated(items);
|
|
76
|
+
const lastUpdated = items.reduce((toRet, current) => Math.max(toRet, current.__updated), -1);
|
|
77
|
+
this.IDB.setLastUpdated(lastUpdated);
|
|
78
|
+
return toRet;
|
|
79
|
+
}),
|
|
80
|
+
// @ts-ignore
|
|
81
|
+
patch: (toPatch) => {
|
|
82
|
+
return this.updatePending(toPatch, patch(toPatch), 'patch');
|
|
83
|
+
},
|
|
84
|
+
delete: (item) => {
|
|
85
|
+
return this.updatePending(item, _delete(item), 'delete');
|
|
86
|
+
},
|
|
87
|
+
deleteQuery: apiWithBody(apiDef.v1.deleteQuery, this.onEntriesDeleted),
|
|
88
|
+
deleteAll: apiWithQuery(apiDef.v1.deleteAll),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Resolves the API definition for the database
|
|
93
|
+
*
|
|
94
|
+
* @param dbDef - Database definition
|
|
95
|
+
* @param version - Optional API version
|
|
96
|
+
* @returns Generated API definition for the database
|
|
97
|
+
*/
|
|
98
|
+
resolveApiDef(dbDef, version) {
|
|
99
|
+
return DBApiDefGeneratorIDBV3(dbDef, version);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Cleans up data before upserting to database
|
|
103
|
+
*
|
|
104
|
+
* @param toUpsert - Data to be upserted
|
|
105
|
+
* @returns Cleaned up data
|
|
106
|
+
*/
|
|
107
|
+
cleanUp = (toUpsert) => {
|
|
108
|
+
return toUpsert;
|
|
109
|
+
};
|
|
110
|
+
updatePending(item, request, requestType) {
|
|
111
|
+
const id = item._id;
|
|
112
|
+
if (id === undefined)
|
|
113
|
+
return request;
|
|
114
|
+
const _execute = request.execute.bind(request);
|
|
115
|
+
request.execute = (onSuccess, onError) => {
|
|
116
|
+
const operation = this.operations[id];
|
|
117
|
+
if (!operation) {
|
|
118
|
+
this.operations[id] = { running: { request, requestType } };
|
|
119
|
+
// @ts-ignore
|
|
120
|
+
// this.logInfo(`pre-executing operation(${requestType}) for ${id}: ${item.label}`);
|
|
121
|
+
return _execute((r) => {
|
|
122
|
+
// @ts-ignore
|
|
123
|
+
// this.logInfo(`executing operation(${requestType}) for ${id}: ${item.label}`);
|
|
124
|
+
const pending = this.operations[id].pending;
|
|
125
|
+
delete this.operations[id];
|
|
126
|
+
if (!pending)
|
|
127
|
+
return onSuccess?.(r);
|
|
128
|
+
pending.request.execute(pending.onSuccess, pending.onError);
|
|
129
|
+
}, (e) => {
|
|
130
|
+
delete this.operations[id];
|
|
131
|
+
onError?.(e);
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
const runningRequestType = operation.running.requestType;
|
|
135
|
+
const pendingRequestType = operation.pending?.requestType;
|
|
136
|
+
if (runningRequestType === 'delete' || pendingRequestType === 'delete') {
|
|
137
|
+
throw new BadImplementationException(`Item with id: ${id} is marked for deletion`);
|
|
138
|
+
}
|
|
139
|
+
if (runningRequestType === 'upsert' || runningRequestType === 'patch') {
|
|
140
|
+
if (operation.pending) { // @ts-ignore
|
|
141
|
+
// this.logInfo(`canceling pending operation(${operation.pending.requestType}) for ${id}`);
|
|
142
|
+
}
|
|
143
|
+
// @ts-ignore
|
|
144
|
+
// this.logInfo(`scheduling pending operation(${requestType}) for ${id}: ${item.label}`);
|
|
145
|
+
operation.pending = { request, requestType, onSuccess, onError };
|
|
146
|
+
operation.running.request.clearOnCompleted();
|
|
147
|
+
}
|
|
148
|
+
return request;
|
|
149
|
+
};
|
|
150
|
+
return request;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { DB_Object, DBDef_V3, DBProto, IndexKeys, InvalidResult, Logger, Module, TypedMap } from '@nu-art/ts-common';
|
|
2
|
+
import { OnClearWebsiteData } from '../clearWebsiteDataDispatcher.js';
|
|
3
|
+
import { DBApiFEConfig } from '../../core/db-api-gen/db-def.js';
|
|
4
|
+
import { DataStatus } from '../../core/db-api-gen/consts.js';
|
|
5
|
+
import { StorageKey } from '../ModuleFE_LocalStorage.js';
|
|
6
|
+
import { ThunderDispatcher } from '../../core/thunder-dispatcher.js';
|
|
7
|
+
import { IndexDb_Query, ReduceFunction } from '../../core/IndexedDB.js';
|
|
8
|
+
import { IndexedDB_Store } from '../../core/IndexedDBV4/IndexedDB_Store.js';
|
|
9
|
+
import { DBConfigV3 } from '../../core/IndexedDBV4/types.js';
|
|
10
|
+
import { CustomMemCreators, ModuleSyncType } from './types.js';
|
|
11
|
+
import { MultiApiEvent } from '../../core/db-api-gen/types.js';
|
|
12
|
+
export declare abstract class ModuleFE_BaseDB<Proto extends DBProto<any>, Config extends DBApiFEConfig<Proto> = DBApiFEConfig<Proto>> extends Module<Config> implements OnClearWebsiteData {
|
|
13
|
+
readonly validator: Proto['modifiablePropsValidator'];
|
|
14
|
+
readonly cache: MemCache<Proto>;
|
|
15
|
+
readonly IDB: IDBCache<Proto>;
|
|
16
|
+
readonly dbDef: DBDef_V3<Proto>;
|
|
17
|
+
private dataStatus;
|
|
18
|
+
readonly defaultDispatcher: ThunderDispatcher<any, string>;
|
|
19
|
+
readonly syncType: ModuleSyncType;
|
|
20
|
+
private readonly ModuleFE_BaseDB;
|
|
21
|
+
protected constructor(dbDef: DBDef_V3<Proto>, defaultDispatcher: ThunderDispatcher<any, string>, syncType: ModuleSyncType, customMemCreators?: CustomMemCreators<Proto>);
|
|
22
|
+
protected init(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Upgrade processor functionality in the FE module will allow us to validate the items we cache in memory or
|
|
25
|
+
* idb is up-to-date in case the data source is not coming directly from Storm managed backend (like the csv sync manager)
|
|
26
|
+
*/
|
|
27
|
+
private versionUpgrades;
|
|
28
|
+
/**
|
|
29
|
+
* Upgrades the entity from the given version to the next one (to the same version if the given version is the latest)
|
|
30
|
+
* @param version - The version we start from
|
|
31
|
+
* @param processor
|
|
32
|
+
*/
|
|
33
|
+
registerVersionUpgradeProcessor<K extends Proto['versions']['versions'][number]>(version: K, processor: (items: Proto['versions']['types'][K][]) => Promise<void>): void;
|
|
34
|
+
upgradeInstances(instances: Proto['dbType'][], force?: boolean): Promise<Proto["dbType"][]>;
|
|
35
|
+
attachOnLastSyncUpdatedListener: () => void;
|
|
36
|
+
detachOnLastSyncUpdatedListener: () => void;
|
|
37
|
+
private onLastSyncUpdatedListener;
|
|
38
|
+
setDataStatus(status: DataStatus): void;
|
|
39
|
+
protected OnDataStatusChanged(): void;
|
|
40
|
+
getDataStatus(): DataStatus;
|
|
41
|
+
__onClearWebsiteData(): Promise<void>;
|
|
42
|
+
getCollectionName: () => string;
|
|
43
|
+
getCollectionKey: () => Proto["dbKey"];
|
|
44
|
+
private dispatchSingle;
|
|
45
|
+
dispatchMulti: (event: MultiApiEvent, items: Proto["dbType"][]) => void;
|
|
46
|
+
onEntriesDeleted: (items: Proto["dbType"][]) => Promise<void>;
|
|
47
|
+
protected onEntryDeleted: (item: Proto["dbType"]) => Promise<void>;
|
|
48
|
+
onEntriesUpdated: (items: Proto["dbType"][], updateIDBLastSynced?: boolean) => Promise<void>;
|
|
49
|
+
onEntryUpdated: (item: Proto["dbType"], original: Proto["uiType"], updateIDBLastSynced?: boolean) => Promise<void>;
|
|
50
|
+
protected onEntryPatched: (item: Proto["dbType"], updateIDBLastSynced?: boolean) => Promise<void>;
|
|
51
|
+
validateImpl(_instance: Partial<Proto['uiType']>): void;
|
|
52
|
+
protected validateInternal(_instance: Partial<Proto['uiType']>): void;
|
|
53
|
+
protected onValidationError(instance: Proto['uiType'], results: InvalidResult<Proto['dbType']>): void;
|
|
54
|
+
private onEntryUpdatedImpl;
|
|
55
|
+
protected onGotUnique: (item: Proto["dbType"]) => Promise<void>;
|
|
56
|
+
protected onQueryReturned: (toUpdate: Proto["dbType"][], toDelete?: DB_Object[]) => Promise<void>;
|
|
57
|
+
protected setCacheFilter: (filter: (item: Readonly<Proto["dbType"]>) => boolean) => void;
|
|
58
|
+
}
|
|
59
|
+
export declare class IDBCache<Proto extends DBProto<any>> extends Logger {
|
|
60
|
+
readonly storeWrapper: IndexedDB_Store<Proto>;
|
|
61
|
+
protected lastSync: StorageKey<number>;
|
|
62
|
+
protected readonly lastVersion: StorageKey<string>;
|
|
63
|
+
private dbConfig;
|
|
64
|
+
constructor(dbConfig: DBConfigV3<Proto>, dbKey: string);
|
|
65
|
+
init(): void;
|
|
66
|
+
protected setLastSyncTimestampStorageKey(newLastSyncStorageKey: StorageKey<number>): void;
|
|
67
|
+
onLastUpdateListener(onChangeListener: (after?: number, before?: number) => Promise<void>): void;
|
|
68
|
+
forEach: (processor: (item: Proto["dbType"]) => void) => Promise<Proto["dbType"][]>;
|
|
69
|
+
clear: () => Promise<void>;
|
|
70
|
+
delete: () => Promise<void>;
|
|
71
|
+
query: (query?: string | number | string[] | number[], indexKey?: string) => Promise<Proto["dbType"][]>;
|
|
72
|
+
/**
|
|
73
|
+
* Iterates over all DB objects in the related collection, and returns all the items that pass the filter
|
|
74
|
+
*
|
|
75
|
+
* @param {function} filter - Boolean returning function, to determine which objects to return.
|
|
76
|
+
* @param {Object} [query] - A query object
|
|
77
|
+
*
|
|
78
|
+
* @return Array of items or empty array
|
|
79
|
+
*/
|
|
80
|
+
filter: (filter: (item: Proto["dbType"]) => boolean, query?: IndexDb_Query) => Promise<Proto["dbType"][]>;
|
|
81
|
+
/**
|
|
82
|
+
* Iterates over all DB objects in the related collection, and returns the first item that passes the filter
|
|
83
|
+
*
|
|
84
|
+
* @param {function} filter - Boolean returning function, to determine which object to return.
|
|
85
|
+
*
|
|
86
|
+
* @return a single item or undefined
|
|
87
|
+
*/
|
|
88
|
+
find: (filter: (item: Proto["dbType"]) => boolean) => Promise<Proto["dbType"] | undefined>;
|
|
89
|
+
/**
|
|
90
|
+
* Iterates over all DB objects in the related collection, and returns an array of items based on the mapper.
|
|
91
|
+
*
|
|
92
|
+
* @param {function} mapper - Function that returns data to map for the object
|
|
93
|
+
* @param {function} [filter] - Boolean returning function, to determine which item to map.
|
|
94
|
+
* @param {Object} [query] - A query object
|
|
95
|
+
*
|
|
96
|
+
* @return An array of mapped items
|
|
97
|
+
*/
|
|
98
|
+
map: <MapType>(mapper: (item: Proto["dbType"]) => MapType, filter?: (item: Proto["dbType"]) => boolean, query?: IndexDb_Query) => Promise<MapType[]>;
|
|
99
|
+
/**
|
|
100
|
+
* iterates over all DB objects in the related collection, and reduces them to a single value based on the reducer.
|
|
101
|
+
* @param {function} reducer - Function that determines who to reduce the array.
|
|
102
|
+
* @param {*} initialValue - An initial value for the reducer
|
|
103
|
+
* @param {function} [filter] - Function that determines which DB objects to reduce.
|
|
104
|
+
* @param {Object} [query] - A query Object.
|
|
105
|
+
*
|
|
106
|
+
* @return a single reduced value.
|
|
107
|
+
*/
|
|
108
|
+
reduce: <ReturnType>(reducer: ReduceFunction<Proto["dbType"], ReturnType>, initialValue: ReturnType, filter?: (item: Proto["dbType"]) => boolean, query?: IndexDb_Query) => Promise<ReturnType>;
|
|
109
|
+
unique: (_key?: string | IndexKeys<Proto["dbType"], keyof Proto["dbType"]>) => Promise<Proto["dbType"] | undefined>;
|
|
110
|
+
getLastSync(): number;
|
|
111
|
+
setLastUpdated(lastUpdated: number): void;
|
|
112
|
+
syncIndexDb(toUpdate: Proto['dbType'][], toDelete?: DB_Object[]): Promise<void>;
|
|
113
|
+
count(): Promise<number>;
|
|
114
|
+
}
|
|
115
|
+
export declare class MemCache<Proto extends DBProto<any>> {
|
|
116
|
+
protected readonly module: ModuleFE_BaseDB<Proto>;
|
|
117
|
+
private readonly keys;
|
|
118
|
+
loaded: boolean;
|
|
119
|
+
_map: Readonly<TypedMap<Readonly<Proto['dbType']>>>;
|
|
120
|
+
_array: Readonly<Readonly<Proto['dbType']>[]>;
|
|
121
|
+
protected cacheFilter?: (item: Readonly<Proto['dbType']>) => boolean;
|
|
122
|
+
constructor(module: ModuleFE_BaseDB<Proto, any>, keys: (keyof Proto['dbType'])[]);
|
|
123
|
+
setCacheFilter: (filter: (item: Readonly<Proto["dbType"]>) => boolean) => void;
|
|
124
|
+
forEach: (processor: (item: Readonly<Proto["dbType"]>) => void) => void;
|
|
125
|
+
clear: () => void;
|
|
126
|
+
load(cacheFilter?: (item: Readonly<Proto['dbType']>) => boolean): Promise<void>;
|
|
127
|
+
uniqueAssert: (_key?: Proto["uniqueParam"]) => Readonly<Proto["dbType"]>;
|
|
128
|
+
unique: (_key?: Proto["uniqueParam"]) => Readonly<Proto["dbType"]> | undefined;
|
|
129
|
+
all: () => Readonly<Readonly<Proto["dbType"]>[]>;
|
|
130
|
+
allMutable: () => Readonly<Proto["dbType"]>[];
|
|
131
|
+
filter: (filter: (item: Readonly<Proto["dbType"]>, index: number, array: Readonly<Proto["dbType"][]>) => boolean) => Readonly<Proto["dbType"]>[];
|
|
132
|
+
byIds: (ids: Proto["uniqueParam"][]) => Readonly<Proto["dbType"][]>;
|
|
133
|
+
find: (filter: (item: Readonly<Proto["dbType"]>, index: number, array: Readonly<Proto["dbType"][]>) => boolean) => Readonly<Proto["dbType"]> | undefined;
|
|
134
|
+
map: <MapType>(mapper: (item: Readonly<Proto["dbType"]>, index: number, array: Readonly<Proto["dbType"][]>) => MapType) => MapType[];
|
|
135
|
+
sort: (map?: keyof Proto["dbType"] | (keyof Proto["dbType"])[] | ((item: Readonly<Proto["dbType"]>) => any), invert?: boolean) => Readonly<Proto["dbType"]>[];
|
|
136
|
+
arrayToMap: (getKey: (item: Readonly<Proto["dbType"]>, index: number, map: {
|
|
137
|
+
[k: string]: Readonly<Proto["dbType"]>;
|
|
138
|
+
}) => string | number, map?: {
|
|
139
|
+
[k: string]: Readonly<Proto["dbType"]>;
|
|
140
|
+
}) => {
|
|
141
|
+
[k: string]: Readonly<Proto["dbType"]>;
|
|
142
|
+
};
|
|
143
|
+
private onEntriesDeleted;
|
|
144
|
+
private onEntriesUpdated;
|
|
145
|
+
protected setCache(cacheArray: Readonly<Proto['dbType']>[]): void;
|
|
146
|
+
}
|