windmill-components 1.70.0 → 1.77.0
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/assets/app.css +12 -1
- package/components/AppConnect.svelte +4 -3
- package/components/DisplayResult.svelte +28 -10
- package/components/Dropdown.svelte +14 -4
- package/components/FieldHeader.svelte +12 -8
- package/components/FlowBuilder.svelte +107 -39
- package/components/FlowBuilder.svelte.d.ts +5 -0
- package/components/FlowGraphViewer.svelte +6 -5
- package/components/FlowJobResult.svelte +3 -3
- package/components/FlowPreviewContent.svelte +3 -8
- package/components/FlowStatusViewer.svelte +21 -8
- package/components/FolderUsageInfo.svelte +16 -6
- package/components/FolderUsageInfo.svelte.d.ts +2 -0
- package/components/GroupEditor.svelte +8 -0
- package/components/InputTransformForm.svelte +13 -20
- package/components/InputTransformSchemaForm.svelte +103 -0
- package/components/InputTransformSchemaForm.svelte.d.ts +24 -0
- package/components/LogViewer.svelte +1 -1
- package/components/ModulePreview.svelte +3 -2
- package/components/Multiselect.svelte +1 -1
- package/components/PageHeader.svelte +1 -1
- package/components/Path.svelte +35 -12
- package/components/Popover.svelte +2 -13
- package/components/ResourcePicker.svelte +33 -14
- package/components/RunChart.svelte +24 -5
- package/components/RunForm.svelte +5 -6
- package/components/RunForm.svelte.d.ts +1 -0
- package/components/SchemaForm.svelte +59 -57
- package/components/SchemaForm.svelte.d.ts +0 -5
- package/components/ScriptBuilder.svelte +151 -135
- package/components/ScriptPicker.svelte +3 -0
- package/components/SettingSection.svelte +44 -0
- package/components/SettingSection.svelte.d.ts +21 -0
- package/components/SimpleEditor.svelte +4 -1
- package/components/SimpleEditor.svelte.d.ts +2 -0
- package/components/Slider.svelte +6 -1
- package/components/Slider.svelte.d.ts +1 -0
- package/components/TemplateEditor.svelte +1 -1
- package/components/TestJobLoader.svelte +2 -2
- package/components/Toggle.svelte +17 -4
- package/components/Toggle.svelte.d.ts +2 -0
- package/components/Tooltip.svelte +4 -2
- package/components/UserSettings.svelte +2 -0
- package/components/WhitelistIp.svelte +1 -3
- package/components/apps/components/buttons/AppButton.svelte +45 -23
- package/components/apps/components/buttons/AppButton.svelte.d.ts +2 -0
- package/components/apps/components/buttons/AppForm.svelte +18 -12
- package/components/apps/components/buttons/AppForm.svelte.d.ts +3 -0
- package/components/apps/components/buttons/AppFormButton.svelte +14 -10
- package/components/apps/components/buttons/AppFormButton.svelte.d.ts +3 -0
- package/components/apps/components/display/AppBarChart.svelte +15 -7
- package/components/apps/components/display/AppBarChart.svelte.d.ts +3 -0
- package/components/apps/components/display/AppDisplayComponent.svelte +17 -12
- package/components/apps/components/display/AppDisplayComponent.svelte.d.ts +1 -0
- package/components/apps/components/display/AppHtml.svelte +18 -4
- package/components/apps/components/display/AppHtml.svelte.d.ts +3 -0
- package/components/apps/components/display/AppIcon.svelte +20 -8
- package/components/apps/components/display/AppIcon.svelte.d.ts +3 -0
- package/components/apps/components/display/AppImage.svelte +17 -10
- package/components/apps/components/display/AppImage.svelte.d.ts +3 -0
- package/components/apps/components/display/AppMap.svelte +214 -0
- package/components/apps/components/display/AppMap.svelte.d.ts +23 -0
- package/components/apps/components/display/AppPdf.svelte +304 -0
- package/components/apps/components/display/AppPdf.svelte.d.ts +24 -0
- package/components/apps/components/display/AppPieChart.svelte +15 -7
- package/components/apps/components/display/AppPieChart.svelte.d.ts +3 -0
- package/components/apps/components/display/AppScatterChart.svelte +12 -4
- package/components/apps/components/display/AppScatterChart.svelte.d.ts +3 -0
- package/components/apps/components/display/AppText.svelte +38 -32
- package/components/apps/components/display/AppText.svelte.d.ts +1 -0
- package/components/apps/components/display/AppTimeseries.svelte +12 -4
- package/components/apps/components/display/AppTimeseries.svelte.d.ts +3 -0
- package/components/apps/components/display/PlotlyHtml.svelte +8 -14
- package/components/apps/components/display/PlotlyHtml.svelte.d.ts +1 -1
- package/components/apps/components/display/VegaLiteHtml.svelte +3 -8
- package/components/apps/components/display/VegaLiteHtml.svelte.d.ts +1 -0
- package/components/apps/components/display/index.d.ts +3 -0
- package/components/apps/components/display/index.js +3 -0
- package/components/apps/components/display/table/AppAggridTable.svelte +20 -8
- package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -0
- package/components/apps/components/display/table/AppTable.svelte +69 -21
- package/components/apps/components/display/table/AppTable.svelte.d.ts +3 -1
- package/components/apps/components/display/table/AppTableFooter.svelte +8 -1
- package/components/apps/components/display/table/AppTableFooter.svelte.d.ts +2 -0
- package/components/apps/components/helpers/AlignWrapper.svelte +13 -7
- package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +3 -1
- package/components/apps/components/helpers/HiddenComponent.svelte +5 -1
- package/components/apps/components/helpers/HiddenComponent.svelte.d.ts +1 -0
- package/components/apps/components/helpers/InputValue.svelte +58 -52
- package/components/apps/components/helpers/InputValue.svelte.d.ts +4 -3
- package/components/apps/components/helpers/NonRunnableComponent.svelte +18 -3
- package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +1 -0
- package/components/apps/components/helpers/RefreshButton.svelte +3 -4
- package/components/apps/components/helpers/ResizeWrapper.svelte +24 -0
- package/components/apps/components/helpers/ResizeWrapper.svelte.d.ts +19 -0
- package/components/apps/components/helpers/RunnableComponent.svelte +126 -91
- package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +5 -1
- package/components/apps/components/helpers/RunnableWrapper.svelte +11 -5
- package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +4 -1
- package/components/apps/components/helpers/eval.d.ts +5 -0
- package/components/apps/components/helpers/eval.js +57 -0
- package/components/apps/components/inputs/AppCheckbox.svelte +8 -2
- package/components/apps/components/inputs/AppCheckbox.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppDateInput.svelte +25 -18
- package/components/apps/components/inputs/AppDateInput.svelte.d.ts +6 -1
- package/components/apps/components/inputs/AppFileInput.svelte +22 -14
- package/components/apps/components/inputs/AppFileInput.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppMultiSelect.svelte +82 -0
- package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +27 -0
- package/components/apps/components/inputs/AppNumberInput.svelte +20 -16
- package/components/apps/components/inputs/AppNumberInput.svelte.d.ts +5 -0
- package/components/apps/components/inputs/AppRangeInput.svelte +55 -14
- package/components/apps/components/inputs/AppRangeInput.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppSelect.svelte +58 -21
- package/components/apps/components/inputs/AppSelect.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppSliderInputs.svelte +41 -9
- package/components/apps/components/inputs/AppSliderInputs.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppTextInput.svelte +53 -19
- package/components/apps/components/inputs/AppTextInput.svelte.d.ts +6 -0
- package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +13 -3
- package/components/apps/components/inputs/currency/AppCurrencyInput.svelte.d.ts +3 -0
- package/components/apps/components/inputs/currency/CurrencyInput.svelte +2 -0
- package/components/apps/components/inputs/currency/CurrencyInput.svelte.d.ts +1 -0
- package/components/apps/components/layout/AppContainer.svelte +20 -17
- package/components/apps/components/layout/AppContainer.svelte.d.ts +3 -0
- package/components/apps/components/layout/AppDivider.svelte +24 -4
- package/components/apps/components/layout/AppDivider.svelte.d.ts +3 -1
- package/components/apps/components/layout/AppDrawer.svelte +86 -0
- package/components/apps/components/layout/AppDrawer.svelte.d.ts +24 -0
- package/components/apps/components/layout/AppSplitpanes.svelte +83 -0
- package/components/apps/components/layout/AppSplitpanes.svelte.d.ts +26 -0
- package/components/apps/components/layout/AppTabs.svelte +112 -40
- package/components/apps/components/layout/AppTabs.svelte.d.ts +4 -0
- package/components/apps/components/layout/index.d.ts +2 -0
- package/components/apps/components/layout/index.js +2 -0
- package/components/apps/editor/AppEditor.svelte +201 -132
- package/components/apps/editor/AppEditor.svelte.d.ts +3 -1
- package/components/apps/editor/AppEditorHeader.svelte +149 -66
- package/components/apps/editor/AppInputs.svelte +3 -3
- package/components/apps/editor/AppPreview.svelte +21 -7
- package/components/apps/editor/ComponentHeader.svelte +17 -4
- package/components/apps/editor/ComponentHeader.svelte.d.ts +2 -0
- package/components/apps/editor/GridEditor.svelte +86 -70
- package/components/apps/editor/GridPanel.svelte +29 -0
- package/components/apps/editor/GridPanel.svelte.d.ts +18 -0
- package/components/apps/editor/RecomputeAllComponents.svelte +14 -6
- package/components/apps/editor/SettingsPanel.svelte +30 -27
- package/components/apps/editor/SubGridEditor.svelte +82 -50
- package/components/apps/editor/SubGridEditor.svelte.d.ts +8 -4
- package/components/apps/editor/appUtils.d.ts +22 -3
- package/components/apps/editor/appUtils.js +221 -47
- package/components/apps/editor/component/Component.svelte +281 -61
- package/components/apps/editor/component/Component.svelte.d.ts +3 -1
- package/components/apps/editor/component/ComponentNavigation.svelte +170 -0
- package/components/apps/editor/component/ComponentNavigation.svelte.d.ts +14 -0
- package/components/apps/editor/component/components.d.ts +15 -3
- package/components/apps/editor/component/components.js +409 -54
- package/components/apps/editor/component/default-codes.js +6 -6
- package/components/apps/editor/component/sets.js +11 -3
- package/components/apps/editor/componentsPanel/ComponentList.svelte +72 -29
- package/components/apps/editor/componentsPanel/CssProperty.svelte +59 -23
- package/components/apps/editor/componentsPanel/CssProperty.svelte.d.ts +2 -1
- package/components/apps/editor/componentsPanel/CssSettings.svelte +56 -9
- package/components/apps/editor/componentsPanel/ListItem.svelte +23 -12
- package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +2 -0
- package/components/apps/editor/componentsPanel/componentStaticValues.js +15 -2
- package/components/apps/editor/contextPanel/ComponentOutput.svelte +77 -0
- package/components/apps/editor/contextPanel/ComponentOutput.svelte.d.ts +21 -0
- package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +10 -6
- package/components/apps/editor/contextPanel/ContextPanel.svelte +81 -91
- package/components/apps/editor/contextPanel/SubGridOutput.svelte +71 -0
- package/components/apps/editor/contextPanel/SubGridOutput.svelte.d.ts +19 -0
- package/components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte +38 -0
- package/components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte.d.ts +19 -0
- package/components/apps/editor/contextPanel/components/BackgroundScriptsOutput.svelte +10 -0
- package/components/apps/editor/contextPanel/components/BackgroundScriptsOutput.svelte.d.ts +16 -0
- package/components/apps/editor/contextPanel/components/MinMaxButton.svelte +25 -0
- package/components/apps/editor/contextPanel/components/MinMaxButton.svelte.d.ts +16 -0
- package/components/apps/editor/contextPanel/components/OutputHeader.svelte +78 -0
- package/components/apps/editor/contextPanel/components/OutputHeader.svelte.d.ts +26 -0
- package/components/apps/editor/contextPanel/components/TableActionOutput.svelte +19 -0
- package/components/apps/editor/contextPanel/components/TableActionOutput.svelte.d.ts +18 -0
- package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte +14 -0
- package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte.d.ts +18 -0
- package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +55 -13
- package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte.d.ts +1 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +126 -62
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +5 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +1 -1
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +11 -5
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte.d.ts +1 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +26 -17
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +95 -85
- package/components/apps/editor/inlineScriptsPanel/utils.d.ts +5 -9
- package/components/apps/editor/inlineScriptsPanel/utils.js +19 -8
- package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +10 -9
- package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +21 -12
- package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +1 -1
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte +119 -79
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +1 -0
- package/components/apps/editor/settingsPanel/GridPane.svelte +75 -0
- package/components/apps/editor/settingsPanel/GridPane.svelte.d.ts +20 -0
- package/components/apps/editor/settingsPanel/GridTab.svelte +9 -17
- package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +2 -0
- package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +2 -1
- package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +1 -1
- package/components/apps/editor/settingsPanel/Recompute.svelte +2 -1
- package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +7 -1
- package/components/apps/editor/settingsPanel/TableActions.svelte +30 -2
- package/components/apps/editor/settingsPanel/common/PanelSection.svelte +2 -2
- package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +48 -0
- package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte.d.ts +19 -0
- package/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte +2 -8
- package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte +2 -2
- package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +77 -41
- package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +2 -0
- package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +3 -3
- package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +4 -1
- package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +54 -6
- package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +1 -0
- package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte +7 -9
- package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte.d.ts +1 -1
- package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +1 -0
- package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte.d.ts +1 -0
- package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +1 -1
- package/components/apps/inputType.d.ts +6 -5
- package/components/apps/rx.d.ts +6 -4
- package/components/apps/rx.js +36 -15
- package/components/apps/store.d.ts +6 -1
- package/components/apps/svelte-grid/Grid.svelte +171 -0
- package/components/apps/svelte-grid/Grid.svelte.d.ts +47 -0
- package/components/apps/svelte-grid/LICENSE +23 -0
- package/components/apps/svelte-grid/MoveResize.svelte +328 -0
- package/components/apps/svelte-grid/MoveResize.svelte.d.ts +46 -0
- package/components/apps/svelte-grid/types.d.ts +25 -0
- package/components/apps/svelte-grid/utils/container.d.ts +1 -0
- package/components/apps/svelte-grid/utils/container.js +4 -0
- package/components/apps/svelte-grid/utils/helper.d.ts +14 -0
- package/components/apps/svelte-grid/utils/helper.js +36 -0
- package/components/apps/svelte-grid/utils/item.d.ts +14 -0
- package/components/apps/svelte-grid/utils/item.js +192 -0
- package/components/apps/svelte-grid/utils/matrix.d.ts +6 -0
- package/components/apps/svelte-grid/utils/matrix.js +53 -0
- package/components/apps/svelte-grid/utils/other.d.ts +3 -0
- package/components/apps/svelte-grid/utils/other.js +30 -0
- package/components/apps/types.d.ts +21 -8
- package/components/apps/utils.d.ts +3 -3
- package/components/apps/utils.js +34 -56
- package/components/common/CloseButton.svelte +18 -0
- package/components/common/CloseButton.svelte.d.ts +27 -0
- package/components/common/badge/Badge.svelte +6 -1
- package/components/common/badge/Badge.svelte.d.ts +1 -0
- package/components/common/button/ButtonPopup.svelte +2 -0
- package/components/common/button/ButtonPopup.svelte.d.ts +1 -0
- package/components/common/button/UndoRedo.svelte +32 -0
- package/components/common/button/UndoRedo.svelte.d.ts +20 -0
- package/components/common/drawer/Drawer.svelte +10 -4
- package/components/common/drawer/Drawer.svelte.d.ts +3 -1
- package/components/common/drawer/DrawerContent.svelte +2 -7
- package/components/common/fileInput/FileInput.svelte +47 -21
- package/components/common/fileInput/FileInput.svelte.d.ts +3 -1
- package/components/common/fileInput/model.d.ts +1 -0
- package/components/common/fileInput/model.js +1 -0
- package/components/common/index.d.ts +1 -0
- package/components/common/index.js +1 -0
- package/components/common/languageIcons/JavaScript.svelte +11 -0
- package/components/common/languageIcons/JavaScript.svelte.d.ts +25 -0
- package/components/common/languageIcons/LanguageIcon.svelte +3 -1
- package/components/common/languageIcons/LanguageIcon.svelte.d.ts +1 -1
- package/components/common/menu/Menu.svelte +3 -2
- package/components/common/menu/Menu.svelte.d.ts +2 -1
- package/components/common/modal/Modal.svelte +9 -4
- package/components/common/modal/Modal.svelte.d.ts +2 -0
- package/components/common/popup/Popup.svelte +2 -1
- package/components/common/popup/Popup.svelte.d.ts +9 -0
- package/components/common/table/AppRow.svelte +14 -8
- package/components/common/table/AppRow.svelte.d.ts +1 -0
- package/components/common/table/FlowRow.svelte +22 -12
- package/components/common/table/FlowRow.svelte.d.ts +1 -0
- package/components/common/table/ScriptRow.svelte +43 -14
- package/components/common/table/ScriptRow.svelte.d.ts +1 -0
- package/components/common/tabs/Tab.svelte +13 -5
- package/components/common/tabs/Tab.svelte.d.ts +6 -1
- package/components/common/tabs/Tabs.svelte +8 -6
- package/components/common/tabs/Tabs.svelte.d.ts +3 -1
- package/components/flows/FlowEditor.svelte +6 -4
- package/components/flows/common/FlowCardHeader.svelte +4 -1
- package/components/flows/content/BranchPredicateEditor.svelte +3 -4
- package/components/flows/content/CapturePayload.svelte +1 -2
- package/components/flows/content/FlowBranchesAllWrapper.svelte +1 -1
- package/components/flows/content/FlowConstants.svelte +7 -13
- package/components/flows/content/FlowEditorPanel.svelte +4 -3
- package/components/flows/content/FlowFailureModule.svelte +2 -1
- package/components/flows/content/FlowInput.svelte +4 -2
- package/components/flows/content/FlowLoop.svelte +3 -4
- package/components/flows/content/FlowModuleComponent.svelte +23 -11
- package/components/flows/content/FlowModuleEarlyStop.svelte +3 -1
- package/components/flows/content/FlowModuleHeader.svelte +26 -3
- package/components/flows/content/FlowModuleHeader.svelte.d.ts +1 -0
- package/components/flows/content/FlowModuleSleep.svelte +2 -2
- package/components/flows/content/FlowModuleWrapper.svelte +2 -8
- package/components/flows/content/FlowSchedules.svelte +1 -2
- package/components/flows/content/FlowSettings.svelte +17 -37
- package/components/flows/content/ScriptEditorDrawer.svelte +98 -0
- package/components/flows/content/ScriptEditorDrawer.svelte.d.ts +19 -0
- package/components/flows/flowState.d.ts +2 -3
- package/components/flows/flowState.js +1 -4
- package/components/flows/flowStateUtils.d.ts +7 -6
- package/components/flows/flowStateUtils.js +5 -9
- package/components/flows/flowStore.d.ts +5 -4
- package/components/flows/flowStore.js +5 -17
- package/components/flows/header/FlowImportExportMenu.svelte +2 -1
- package/components/flows/map/FlowConstantsItem.svelte +2 -2
- package/components/flows/map/FlowErrorHandlerItem.svelte +12 -13
- package/components/flows/map/FlowInputsItem.svelte +2 -3
- package/components/flows/map/FlowModuleSchemaItem.svelte +88 -91
- package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +3 -3
- package/components/flows/map/FlowModuleSchemaMap.svelte +164 -138
- package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -2
- package/components/flows/map/FlowSettingsItem.svelte +5 -4
- package/components/flows/map/InsertModuleButton.svelte +12 -10
- package/components/flows/map/InsertModuleButton.svelte.d.ts +1 -0
- package/components/flows/map/MapItem.svelte +176 -103
- package/components/flows/map/MapItem.svelte.d.ts +20 -2
- package/components/flows/map/VirtualItem.svelte +129 -0
- package/components/flows/map/VirtualItem.svelte.d.ts +44 -0
- package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
- package/components/flows/pickers/WorkspaceScriptPicker.svelte +1 -1
- package/components/flows/previousResults.d.ts +1 -1
- package/components/flows/previousResults.js +32 -17
- package/components/flows/types.d.ts +13 -1
- package/components/flows/utils.js +1 -1
- package/components/graph/FlowGraph.svelte +227 -167
- package/components/graph/FlowGraph.svelte.d.ts +14 -1
- package/components/graph/model.d.ts +6 -36
- package/components/graph/model.js +1 -1
- package/components/graph/svelvet/LICENSE +21 -0
- package/components/graph/svelvet/collapsible/controllers/util.d.ts +15 -0
- package/components/graph/svelvet/collapsible/controllers/util.js +144 -0
- package/components/graph/svelvet/collapsible/models/Collapsible.d.ts +17 -0
- package/components/graph/svelvet/collapsible/models/Collapsible.js +25 -0
- package/components/graph/svelvet/collapsible/types/types.d.ts +8 -0
- package/components/graph/svelvet/collapsible/types/types.js +1 -0
- package/components/graph/svelvet/container/README.md +7 -0
- package/components/graph/svelvet/container/controllers/middleware.d.ts +18 -0
- package/components/graph/svelvet/container/controllers/middleware.js +101 -0
- package/components/graph/svelvet/container/views/GraphView.svelte +252 -0
- package/components/graph/svelvet/container/views/GraphView.svelte.d.ts +25 -0
- package/components/graph/svelvet/container/views/Svelvet.svelte +131 -0
- package/components/graph/svelvet/container/views/Svelvet.svelte.d.ts +41 -0
- package/components/graph/svelvet/customCss/controllers/getCss.d.ts +2 -0
- package/components/graph/svelvet/customCss/controllers/getCss.js +57 -0
- package/components/graph/svelvet/d3/controllers/d3.d.ts +5 -0
- package/components/graph/svelvet/d3/controllers/d3.js +59 -0
- package/components/graph/svelvet/edges/controllers/anchorCbDev.d.ts +4 -0
- package/components/graph/svelvet/edges/controllers/anchorCbDev.js +92 -0
- package/components/graph/svelvet/edges/controllers/anchorCbUser.d.ts +57 -0
- package/components/graph/svelvet/edges/controllers/anchorCbUser.js +73 -0
- package/components/graph/svelvet/edges/controllers/util.d.ts +37 -0
- package/components/graph/svelvet/edges/controllers/util.js +72 -0
- package/components/graph/svelvet/edges/models/Anchor.d.ts +48 -0
- package/components/graph/svelvet/edges/models/Anchor.js +122 -0
- package/components/graph/svelvet/edges/models/Edge.d.ts +47 -0
- package/components/graph/svelvet/edges/models/Edge.js +107 -0
- package/components/graph/svelvet/edges/types/types.d.ts +18 -0
- package/components/graph/svelvet/edges/types/types.js +1 -0
- package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte +105 -0
- package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte.d.ts +18 -0
- package/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte +12 -0
- package/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte.d.ts +17 -0
- package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte +43 -0
- package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte.d.ts +17 -0
- package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +137 -0
- package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte.d.ts +17 -0
- package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte +176 -0
- package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte.d.ts +60 -0
- package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte +8 -0
- package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte.d.ts +25 -0
- package/components/graph/svelvet/edges/views/Edges/types.d.ts +52 -0
- package/components/graph/svelvet/edges/views/Edges/types.js +1 -0
- package/components/graph/svelvet/edges/views/Edges/utils.d.ts +33 -0
- package/components/graph/svelvet/edges/views/Edges/utils.js +31 -0
- package/components/graph/svelvet/editEdges/views/EditEdge.svelte +151 -0
- package/components/graph/svelvet/editEdges/views/EditEdge.svelte.d.ts +20 -0
- package/components/graph/svelvet/nodes/controllers/util.d.ts +9 -0
- package/components/graph/svelvet/nodes/controllers/util.js +13 -0
- package/components/graph/svelvet/nodes/models/Node.d.ts +78 -0
- package/components/graph/svelvet/nodes/models/Node.js +195 -0
- package/components/graph/svelvet/nodes/views/EditNode.svelte +147 -0
- package/components/graph/svelvet/nodes/views/EditNode.svelte.d.ts +33 -0
- package/components/graph/svelvet/nodes/views/Node.svelte +85 -0
- package/components/graph/svelvet/nodes/views/Node.svelte.d.ts +22 -0
- package/components/graph/svelvet/resizableNodes/controllers/util.d.ts +11 -0
- package/components/graph/svelvet/resizableNodes/controllers/util.js +24 -0
- package/components/graph/svelvet/resizableNodes/models/ResizeNode.d.ts +33 -0
- package/components/graph/svelvet/resizableNodes/models/ResizeNode.js +71 -0
- package/components/graph/svelvet/resizableNodes/views/ResizeNode.svelte +81 -0
- package/components/graph/svelvet/resizableNodes/views/ResizeNode.svelte.d.ts +20 -0
- package/components/graph/svelvet/store/controllers/storeApi.d.ts +32 -0
- package/components/graph/svelvet/store/controllers/storeApi.js +111 -0
- package/components/graph/svelvet/store/controllers/userApi.d.ts +3 -0
- package/components/graph/svelvet/store/controllers/userApi.js +18 -0
- package/components/graph/svelvet/store/controllers/util.d.ts +31 -0
- package/components/graph/svelvet/store/controllers/util.js +180 -0
- package/components/graph/svelvet/store/models/store.d.ts +12 -0
- package/components/graph/svelvet/store/models/store.js +9 -0
- package/components/graph/svelvet/store/types/types.d.ts +134 -0
- package/components/graph/svelvet/store/types/types.js +1 -0
- package/components/graph/svelvet/types/README.md +3 -0
- package/components/graph/svelvet/types/index.d.ts +2 -0
- package/components/graph/svelvet/types/index.js +1 -0
- package/components/graph/svelvet/types/types.d.ts +49 -0
- package/components/graph/svelvet/types/types.js +18 -0
- package/components/graph/util.js +2 -2
- package/components/home/ItemsList.svelte +53 -5
- package/components/home/ItemsList.svelte.d.ts +1 -0
- package/components/home/ListFilters.svelte +7 -2
- package/components/jobs/JobDetail.svelte +12 -1
- package/components/propertyPicker/ObjectViewer.svelte +6 -4
- package/components/sidebar/SidebarContent.svelte +2 -2
- package/consts.d.ts +1 -0
- package/consts.js +1 -0
- package/defaults.d.ts +4 -0
- package/defaults.js +4 -0
- package/history.d.ts +9 -0
- package/history.js +63 -0
- package/package.json +87 -9
- package/script_helpers.d.ts +1 -1
- package/script_helpers.js +1 -0
- package/scripts.d.ts +1 -1
- package/scripts.js +8 -1
- package/utils.d.ts +9 -4
- package/utils.js +43 -8
- package/components/apps/editor/TablePanel.svelte +0 -19
- package/components/apps/editor/TablePanel.svelte.d.ts +0 -17
- package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte +0 -85
- package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte.d.ts +0 -18
- package/components/flows/map/FlowBranchAllMap.svelte +0 -100
- package/components/flows/map/FlowBranchAllMap.svelte.d.ts +0 -17
- package/components/flows/map/FlowBranchOneMap.svelte +0 -124
- package/components/flows/map/FlowBranchOneMap.svelte.d.ts +0 -17
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { FilledItem, ItemLayout } from '../types';
|
|
2
|
+
export declare function getItemById(id: any, items: any): any;
|
|
3
|
+
export declare function isEmpty(matrix: any[][], x: number, y: number, w: number, h: number): boolean;
|
|
4
|
+
export declare function findFreeSpaceForItem<T>(matrix: FilledItem<T>[][], item: ItemLayout): {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
};
|
|
8
|
+
export declare function moveItemsAroundItem(active: any, items: any, cols: any, original: any): any;
|
|
9
|
+
export declare function moveItem(active: any, items: any, cols: any, original: any): any;
|
|
10
|
+
export declare function normalize(items: any, col: any): any;
|
|
11
|
+
export declare function adjust<T>(items: FilledItem<T>[], col: any): FilledItem<T>[];
|
|
12
|
+
export declare function getUndefinedItems(items: any, col: any, breakpoints: any): any;
|
|
13
|
+
export declare function getClosestColumn(items: any, item: any, col: any, breakpoints: any): any;
|
|
14
|
+
export declare function specifyUndefinedColumns(items: any, col: any, breakpoints: any): any[];
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { makeMatrix, makeMatrixFromItemsIgnore, findCloseBlocks, findItemsById, makeMatrixFromItems } from './matrix';
|
|
2
|
+
import { getRowsCount } from './other';
|
|
3
|
+
export function getItemById(id, items) {
|
|
4
|
+
return items.find((value) => value.id === id);
|
|
5
|
+
}
|
|
6
|
+
export function isEmpty(matrix, x, y, w, h) {
|
|
7
|
+
for (var i = 0; i < h; i++) {
|
|
8
|
+
if (matrix[y + i]) {
|
|
9
|
+
for (var j = 0; j < w; j++) {
|
|
10
|
+
if (matrix[y + i][x + j] != undefined) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
function distance(a, b) {
|
|
19
|
+
return Math.abs(a.x - b.x + 0.25) + Math.abs(a.y - b.y + 0.25);
|
|
20
|
+
}
|
|
21
|
+
export function findFreeSpaceForItem(matrix, item) {
|
|
22
|
+
const cols = matrix[0].length;
|
|
23
|
+
const w = Math.min(cols, item.w);
|
|
24
|
+
const h = item.h;
|
|
25
|
+
let xNtime = cols - w;
|
|
26
|
+
let getMatrixRows = matrix.length;
|
|
27
|
+
const range = Array.from({ length: getMatrixRows }, (_, y) => Array.from({ length: xNtime }, (_, x) => ({ x, y })))
|
|
28
|
+
.flat(1)
|
|
29
|
+
.sort((a, b) => {
|
|
30
|
+
let dst1 = distance(a, item);
|
|
31
|
+
let dst2 = distance(b, item);
|
|
32
|
+
if (dst1 > dst2) {
|
|
33
|
+
return 1;
|
|
34
|
+
}
|
|
35
|
+
else if (dst1 < dst2) {
|
|
36
|
+
return -1;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
return 0;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
for (const { x, y } of range.values()) {
|
|
43
|
+
if (isEmpty(matrix, x, y, w, h)) {
|
|
44
|
+
return { x, y };
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
y: getMatrixRows,
|
|
49
|
+
x: 0
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const getItem = (item, col) => {
|
|
53
|
+
return { ...item[col], id: item.id };
|
|
54
|
+
};
|
|
55
|
+
const updateItem = (elements, active, position, col) => {
|
|
56
|
+
return elements.map((value) => {
|
|
57
|
+
if (value.id === active.id) {
|
|
58
|
+
return { ...value, [col]: { ...value[col], ...position } };
|
|
59
|
+
}
|
|
60
|
+
return value;
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
export function moveItemsAroundItem(active, items, cols, original) {
|
|
64
|
+
// Get current item from the breakpoint
|
|
65
|
+
const activeItem = getItem(active, cols);
|
|
66
|
+
const ids = items.map((value) => value.id).filter((value) => value !== activeItem.id);
|
|
67
|
+
const els = items.filter((value) => value.id !== activeItem.id);
|
|
68
|
+
// Update items
|
|
69
|
+
let newItems = updateItem(items, active, activeItem, cols);
|
|
70
|
+
let matrix = makeMatrixFromItemsIgnore(newItems, ids, getRowsCount(newItems, cols), cols);
|
|
71
|
+
let tempItems = newItems;
|
|
72
|
+
// Exclude resolved elements ids in array
|
|
73
|
+
let exclude = [];
|
|
74
|
+
els.forEach((item) => {
|
|
75
|
+
// Find position for element
|
|
76
|
+
let position = findFreeSpaceForItem(matrix, item[cols]);
|
|
77
|
+
// Exclude item
|
|
78
|
+
exclude.push(item.id);
|
|
79
|
+
tempItems = updateItem(tempItems, item, position, cols);
|
|
80
|
+
// Recreate ids of elements
|
|
81
|
+
let getIgnoreItems = ids.filter((value) => exclude.indexOf(value) === -1);
|
|
82
|
+
// Update matrix for next iteration
|
|
83
|
+
matrix = makeMatrixFromItemsIgnore(tempItems, getIgnoreItems, getRowsCount(tempItems, cols), cols);
|
|
84
|
+
});
|
|
85
|
+
// Return result
|
|
86
|
+
return tempItems;
|
|
87
|
+
}
|
|
88
|
+
export function moveItem(active, items, cols, original) {
|
|
89
|
+
// Get current item from the breakpoint
|
|
90
|
+
const item = getItem(active, cols);
|
|
91
|
+
// Create matrix from the items expect the active
|
|
92
|
+
let matrix = makeMatrixFromItemsIgnore(items, [item.id], getRowsCount(items, cols), cols);
|
|
93
|
+
// Getting the ids of items under active Array<String>
|
|
94
|
+
const closeBlocks = findCloseBlocks(matrix, item);
|
|
95
|
+
// Getting the objects of items under active Array<Object>
|
|
96
|
+
let closeObj = findItemsById(closeBlocks, items);
|
|
97
|
+
// Getting whenever of these items is fixed
|
|
98
|
+
const fixed = closeObj.find((value) => value[cols].fixed);
|
|
99
|
+
// If found fixed, reset the active to its original position
|
|
100
|
+
if (fixed)
|
|
101
|
+
return items;
|
|
102
|
+
// Update items
|
|
103
|
+
items = updateItem(items, active, item, cols);
|
|
104
|
+
// Create matrix of items expect close elements
|
|
105
|
+
matrix = makeMatrixFromItemsIgnore(items, closeBlocks, getRowsCount(items, cols), cols);
|
|
106
|
+
// Create temp vars
|
|
107
|
+
let tempItems = items;
|
|
108
|
+
let tempCloseBlocks = closeBlocks;
|
|
109
|
+
// Exclude resolved elements ids in array
|
|
110
|
+
let exclude = [];
|
|
111
|
+
// Iterate over close elements under active item
|
|
112
|
+
closeObj.forEach((item) => {
|
|
113
|
+
// Find position for element
|
|
114
|
+
let position = findFreeSpaceForItem(matrix, item[cols]);
|
|
115
|
+
// Exclude item
|
|
116
|
+
exclude.push(item.id);
|
|
117
|
+
// Assign the position to the element in the column
|
|
118
|
+
tempItems = updateItem(tempItems, item, position, cols);
|
|
119
|
+
// Recreate ids of elements
|
|
120
|
+
let getIgnoreItems = tempCloseBlocks.filter((value) => exclude.indexOf(value) === -1);
|
|
121
|
+
// Update matrix for next iteration
|
|
122
|
+
matrix = makeMatrixFromItemsIgnore(tempItems, getIgnoreItems, getRowsCount(tempItems, cols), cols);
|
|
123
|
+
});
|
|
124
|
+
// Return result
|
|
125
|
+
return tempItems;
|
|
126
|
+
}
|
|
127
|
+
// Helper function
|
|
128
|
+
export function normalize(items, col) {
|
|
129
|
+
let result = items.slice();
|
|
130
|
+
result.forEach((value) => {
|
|
131
|
+
const getItem = value[col];
|
|
132
|
+
if (!getItem.static) {
|
|
133
|
+
result = moveItem(getItem, result, col, { ...getItem });
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
return result;
|
|
137
|
+
}
|
|
138
|
+
// Helper function
|
|
139
|
+
export function adjust(items, col) {
|
|
140
|
+
let matrix = makeMatrix(getRowsCount(items, col), col);
|
|
141
|
+
let res = [];
|
|
142
|
+
items.forEach((item) => {
|
|
143
|
+
let position = findFreeSpaceForItem(matrix, item[col]);
|
|
144
|
+
res.push({
|
|
145
|
+
...item,
|
|
146
|
+
[col]: {
|
|
147
|
+
...item[col],
|
|
148
|
+
...position
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
matrix = makeMatrixFromItems(res, getRowsCount(res, col), col);
|
|
152
|
+
});
|
|
153
|
+
return res;
|
|
154
|
+
}
|
|
155
|
+
export function getUndefinedItems(items, col, breakpoints) {
|
|
156
|
+
return items
|
|
157
|
+
.map((value) => {
|
|
158
|
+
if (!value[col]) {
|
|
159
|
+
return value.id;
|
|
160
|
+
}
|
|
161
|
+
})
|
|
162
|
+
.filter(Boolean);
|
|
163
|
+
}
|
|
164
|
+
export function getClosestColumn(items, item, col, breakpoints) {
|
|
165
|
+
return breakpoints
|
|
166
|
+
.map(([_, column]) => item[column] && column)
|
|
167
|
+
.filter(Boolean)
|
|
168
|
+
.reduce(function (acc, value) {
|
|
169
|
+
const isLower = Math.abs(value - col) < Math.abs(acc - col);
|
|
170
|
+
return isLower ? value : acc;
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
export function specifyUndefinedColumns(items, col, breakpoints) {
|
|
174
|
+
let matrix = makeMatrixFromItems(items, getRowsCount(items, col), col);
|
|
175
|
+
const getUndefinedElements = getUndefinedItems(items, col, breakpoints);
|
|
176
|
+
let newItems = [...items];
|
|
177
|
+
getUndefinedElements.forEach((elementId) => {
|
|
178
|
+
const getElement = items.find((item) => item.id === elementId);
|
|
179
|
+
const closestColumn = getClosestColumn(items, getElement, col, breakpoints);
|
|
180
|
+
const position = findFreeSpaceForItem(matrix, getElement[closestColumn]);
|
|
181
|
+
const newItem = {
|
|
182
|
+
...getElement,
|
|
183
|
+
[col]: {
|
|
184
|
+
...getElement[closestColumn],
|
|
185
|
+
...position
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
newItems = newItems.map((value) => (value.id === elementId ? newItem : value));
|
|
189
|
+
matrix = makeMatrixFromItems(newItems, getRowsCount(newItems, col), col);
|
|
190
|
+
});
|
|
191
|
+
return newItems;
|
|
192
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { FilledItem } from "../types";
|
|
2
|
+
export declare const makeMatrix: (w: number, h: number) => any[][];
|
|
3
|
+
export declare function makeMatrixFromItems<T>(items: FilledItem<T>[], row: number, col: number): FilledItem<T>[][];
|
|
4
|
+
export declare function findCloseBlocks<T>(matrix: FilledItem<T>[][], curObject: any): string[];
|
|
5
|
+
export declare function makeMatrixFromItemsIgnore(items: any, ignoreList: any, _row: any, _col: any): any[][];
|
|
6
|
+
export declare function findItemsById<T>(closeBlocks: string[], items: FilledItem<T>[]): FilledItem<T>[];
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export const makeMatrix = (rows, cols) => Array.from(Array(rows), () => new Array(cols)); // make 2d array
|
|
2
|
+
export function makeMatrixFromItems(items, row, col) {
|
|
3
|
+
let matrix = makeMatrix(row, col);
|
|
4
|
+
for (var i = 0; i < items.length; i++) {
|
|
5
|
+
const value = items[i][col];
|
|
6
|
+
if (value) {
|
|
7
|
+
const { x, y, h } = value;
|
|
8
|
+
const id = items[i].id;
|
|
9
|
+
const w = Math.min(col, value.w);
|
|
10
|
+
for (var j = y; j < y + h; j++) {
|
|
11
|
+
const row = matrix[j];
|
|
12
|
+
for (var k = x; k < x + w; k++) {
|
|
13
|
+
row[k] = { ...value, id };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return matrix;
|
|
19
|
+
}
|
|
20
|
+
export function findCloseBlocks(matrix, curObject) {
|
|
21
|
+
const { h, x, y } = curObject;
|
|
22
|
+
const w = Math.min(matrix[0].length, curObject.w);
|
|
23
|
+
const tempR = matrix.slice(y, y + h);
|
|
24
|
+
let result = [];
|
|
25
|
+
for (var i = 0; i < tempR.length; i++) {
|
|
26
|
+
let tempA = tempR[i].slice(x, x + w);
|
|
27
|
+
result = [...result, ...tempA.map((val) => val?.id).filter((id) => id !== undefined && id !== curObject.id)];
|
|
28
|
+
}
|
|
29
|
+
return [...new Set(result)];
|
|
30
|
+
}
|
|
31
|
+
export function makeMatrixFromItemsIgnore(items, ignoreList, _row, _col) {
|
|
32
|
+
let matrix = makeMatrix(_row, _col);
|
|
33
|
+
for (var i = 0; i < items.length; i++) {
|
|
34
|
+
const value = items[i][_col];
|
|
35
|
+
const id = items[i].id;
|
|
36
|
+
const { x, y, h } = value;
|
|
37
|
+
const w = Math.min(_col, value.w);
|
|
38
|
+
if (ignoreList.indexOf(id) === -1) {
|
|
39
|
+
for (var j = y; j < y + h; j++) {
|
|
40
|
+
const row = matrix[j];
|
|
41
|
+
if (row) {
|
|
42
|
+
for (var k = x; k < x + w; k++) {
|
|
43
|
+
row[k] = { ...value, id };
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return matrix;
|
|
50
|
+
}
|
|
51
|
+
export function findItemsById(closeBlocks, items) {
|
|
52
|
+
return items.filter((value) => closeBlocks.indexOf(value.id) !== -1);
|
|
53
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export function throttle(func, timeFrame) {
|
|
2
|
+
let lastTime = new Date().getTime();
|
|
3
|
+
return function (...args) {
|
|
4
|
+
let now = new Date().getTime();
|
|
5
|
+
if (now - lastTime >= timeFrame) {
|
|
6
|
+
func(...args);
|
|
7
|
+
lastTime = now;
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export function getRowsCount(items, cols) {
|
|
12
|
+
const getItemsMaxHeight = items.map((val) => {
|
|
13
|
+
const item = val[cols];
|
|
14
|
+
return (item && item.y) + (item && item.h) || 0;
|
|
15
|
+
});
|
|
16
|
+
return Math.max(...getItemsMaxHeight, 1);
|
|
17
|
+
}
|
|
18
|
+
export const getColumn = (containerWidth, columns) => {
|
|
19
|
+
const sortColumns = columns.slice().sort((a, b) => a[0] - b[0]);
|
|
20
|
+
const breakpoint = sortColumns.find((value) => {
|
|
21
|
+
const [width] = value;
|
|
22
|
+
return containerWidth <= width;
|
|
23
|
+
});
|
|
24
|
+
if (breakpoint) {
|
|
25
|
+
return breakpoint[1];
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
return sortColumns[sortColumns.length - 1][1];
|
|
29
|
+
}
|
|
30
|
+
};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { Schema } from '../../common';
|
|
2
2
|
import type { Preview } from '../../gen';
|
|
3
|
-
import type {
|
|
3
|
+
import type { History } from '../../history';
|
|
4
4
|
import type { Writable } from 'svelte/store';
|
|
5
5
|
import type { AppComponent } from './editor/component/components';
|
|
6
6
|
import type { AppInput, ConnectedAppInput, ConnectedInput, EvalAppInput, RowAppInput, StaticAppInput, UploadAppInput, UserAppInput } from './inputType';
|
|
7
7
|
import type { World } from './rx';
|
|
8
|
+
import type { FilledItem } from './svelte-grid/types';
|
|
8
9
|
export type HorizontalAlignment = 'left' | 'center' | 'right';
|
|
9
10
|
export type VerticalAlignment = 'top' | 'center' | 'bottom';
|
|
10
11
|
export type Aligned = {
|
|
@@ -17,8 +18,8 @@ export interface GeneralAppInput {
|
|
|
17
18
|
tooltip?: string;
|
|
18
19
|
}
|
|
19
20
|
export type ComponentCssProperty = {
|
|
20
|
-
class
|
|
21
|
-
style
|
|
21
|
+
class?: string;
|
|
22
|
+
style?: string;
|
|
22
23
|
};
|
|
23
24
|
export type ComponentCustomCSS<T extends string = string> = Record<T, ComponentCssProperty>;
|
|
24
25
|
export interface BaseAppComponent extends Partial<Aligned> {
|
|
@@ -50,9 +51,9 @@ export type GridItem = FilledItem<{
|
|
|
50
51
|
}>;
|
|
51
52
|
export type InlineScript = {
|
|
52
53
|
content: string;
|
|
53
|
-
language: Preview.language;
|
|
54
|
-
path
|
|
55
|
-
schema
|
|
54
|
+
language: Preview.language | 'frontend';
|
|
55
|
+
path?: string;
|
|
56
|
+
schema?: Schema;
|
|
56
57
|
};
|
|
57
58
|
export type App = {
|
|
58
59
|
grid: GridItem[];
|
|
@@ -65,6 +66,7 @@ export type App = {
|
|
|
65
66
|
name: string;
|
|
66
67
|
inlineScript: InlineScript | undefined;
|
|
67
68
|
fields: Record<string, StaticAppInput | ConnectedAppInput | RowAppInput | UserAppInput>;
|
|
69
|
+
autoRefresh?: boolean;
|
|
68
70
|
}>;
|
|
69
71
|
css?: Record<'viewer' | 'grid' | AppComponent['type'], ComponentCustomCSS>;
|
|
70
72
|
subgrids?: Record<string, GridItem[]>;
|
|
@@ -75,10 +77,9 @@ export type ConnectingInput = {
|
|
|
75
77
|
sourceName?: string;
|
|
76
78
|
hoveredComponent: string | undefined;
|
|
77
79
|
};
|
|
78
|
-
export type
|
|
80
|
+
export type AppViewerContext = {
|
|
79
81
|
worldStore: Writable<World | undefined>;
|
|
80
82
|
staticOutputs: Writable<Record<string, string[]>>;
|
|
81
|
-
lazyGrid: Writable<GridItem[]>;
|
|
82
83
|
app: Writable<App>;
|
|
83
84
|
summary: Writable<string>;
|
|
84
85
|
selectedComponent: Writable<string | undefined>;
|
|
@@ -102,6 +103,18 @@ export type AppEditorContext = {
|
|
|
102
103
|
}>>;
|
|
103
104
|
openDebugRun: Writable<((componentID: string) => void) | undefined>;
|
|
104
105
|
focusedGrid: Writable<FocusedGrid | undefined>;
|
|
106
|
+
stateId: Writable<number>;
|
|
107
|
+
parentWidth: Writable<number>;
|
|
108
|
+
state: Writable<Record<string, any>>;
|
|
109
|
+
componentControl: Writable<Record<string, {
|
|
110
|
+
left?: () => boolean;
|
|
111
|
+
right?: () => boolean;
|
|
112
|
+
setTab?: (index: number) => void;
|
|
113
|
+
}>>;
|
|
114
|
+
};
|
|
115
|
+
export type AppEditorContext = {
|
|
116
|
+
history: History<App> | undefined;
|
|
117
|
+
pickVariableCallback: Writable<((path: string) => void) | undefined>;
|
|
105
118
|
};
|
|
106
119
|
export type FocusedGrid = {
|
|
107
120
|
parentComponentId: string;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { Schema } from '../../common';
|
|
2
|
+
import type { App, ComponentCssProperty, ComponentCustomCSS, GridItem } from './types';
|
|
2
3
|
import type { AppInput, InputType, ResultAppInput, StaticAppInput } from './inputType';
|
|
3
4
|
import type { Output } from './rx';
|
|
4
|
-
import type { App, GridItem } from './types';
|
|
5
5
|
export declare function allItems(grid: GridItem[], subgrids: Record<string, GridItem[]> | undefined): GridItem[];
|
|
6
|
-
export declare function allItemsWithParent(grid: GridItem[], subgrids: Record<string, GridItem[]> | undefined): [GridItem, string | undefined][];
|
|
7
6
|
export declare function loadSchema(workspace: string, path: string, runType: 'script' | 'flow' | 'hubscript'): Promise<Schema>;
|
|
8
7
|
export declare function schemaToInputsSpec(schema: Schema, defaultUserInput: boolean): Record<string, StaticAppInput>;
|
|
9
8
|
export declare function accessPropertyByPath<T>(object: T, path: string): T | undefined;
|
|
@@ -15,7 +14,8 @@ export declare function toStatic(app: App, staticExporter: Record<string, () =>
|
|
|
15
14
|
app: App;
|
|
16
15
|
summary: string;
|
|
17
16
|
};
|
|
18
|
-
export declare function buildExtraLib(components: Record<string, Record<string, Output<any>>>, idToExclude: string, hasRows: boolean): string;
|
|
17
|
+
export declare function buildExtraLib(components: Record<string, Record<string, Output<any>>>, idToExclude: string, hasRows: boolean, state: Record<string, any>, goto: boolean): string;
|
|
19
18
|
export declare function getAllScriptNames(app: App): string[];
|
|
20
19
|
export declare function toPascalCase(text: string): string;
|
|
21
20
|
export declare function toKebabCase(text: string): string;
|
|
21
|
+
export declare function concatCustomCss<T extends string = string>(appCss?: ComponentCustomCSS<T>, componentCss?: ComponentCustomCSS<T>): Record<T, ComponentCssProperty> | undefined;
|
package/components/apps/utils.js
CHANGED
|
@@ -1,60 +1,13 @@
|
|
|
1
1
|
import { FlowService, ScriptService } from '../../gen';
|
|
2
2
|
import { inferArgs } from '../../infer';
|
|
3
3
|
import { emptySchema } from '../../utils';
|
|
4
|
-
|
|
5
|
-
export function deleteComponent(
|
|
6
|
-
subgrid: string | undefined,
|
|
7
|
-
component: AppComponent,
|
|
8
|
-
app: App,
|
|
9
|
-
staticOutputs: Record<string, any>,
|
|
10
|
-
runnableComponents: Record<string, any>
|
|
11
|
-
) {
|
|
12
|
-
if (parentItems) {
|
|
13
|
-
let index = parentItems.findIndex((item) => item.data?.id === component.id)
|
|
14
|
-
if (index != -1) {
|
|
15
|
-
parentItems.splice(index, 1)
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
delete staticOutputs[component.id]
|
|
20
|
-
delete runnableComponents[component.id]
|
|
21
|
-
|
|
22
|
-
if (
|
|
23
|
-
component.componentInput?.type === 'runnable' &&
|
|
24
|
-
component.componentInput?.runnable?.type === 'runnableByName'
|
|
25
|
-
) {
|
|
26
|
-
const { name, inlineScript } = component.componentInput.runnable
|
|
27
|
-
|
|
28
|
-
if (inlineScript) {
|
|
29
|
-
if (!app.unusedInlineScripts) {
|
|
30
|
-
app.unusedInlineScripts = []
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
app.unusedInlineScripts.push({
|
|
34
|
-
name,
|
|
35
|
-
inlineScript
|
|
36
|
-
})
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
*/
|
|
4
|
+
import { twMerge } from 'tailwind-merge';
|
|
42
5
|
export function allItems(grid, subgrids) {
|
|
43
6
|
if (subgrids == undefined) {
|
|
44
7
|
return grid;
|
|
45
8
|
}
|
|
46
9
|
return [...grid, ...Object.values(subgrids).flat()];
|
|
47
10
|
}
|
|
48
|
-
export function allItemsWithParent(grid, subgrids) {
|
|
49
|
-
const items = grid.map((item) => [item, undefined]);
|
|
50
|
-
if (subgrids == undefined) {
|
|
51
|
-
return items;
|
|
52
|
-
}
|
|
53
|
-
return [
|
|
54
|
-
...items,
|
|
55
|
-
...Object.entries(subgrids).flatMap(([k, v]) => v.map((g) => [g, k]))
|
|
56
|
-
];
|
|
57
|
-
}
|
|
58
11
|
export async function loadSchema(workspace, path, runType) {
|
|
59
12
|
if (runType === 'script') {
|
|
60
13
|
const script = await ScriptService.getScriptByPath({
|
|
@@ -106,7 +59,7 @@ export function accessPropertyByPath(object, path) {
|
|
|
106
59
|
let a = path.split('.');
|
|
107
60
|
for (let i = 0, depth = a.length; i < depth; ++i) {
|
|
108
61
|
let key = a[i];
|
|
109
|
-
if (object[key]) {
|
|
62
|
+
if (object[key] != undefined) {
|
|
110
63
|
object = object[key];
|
|
111
64
|
}
|
|
112
65
|
else {
|
|
@@ -167,16 +120,22 @@ export function toStatic(app, staticExporter, summary) {
|
|
|
167
120
|
});
|
|
168
121
|
return { app: newApp, summary };
|
|
169
122
|
}
|
|
170
|
-
export function buildExtraLib(components, idToExclude, hasRows) {
|
|
171
|
-
|
|
123
|
+
export function buildExtraLib(components, idToExclude, hasRows, state, goto) {
|
|
124
|
+
const cs = Object.entries(components)
|
|
172
125
|
.filter(([k, v]) => k != idToExclude)
|
|
173
126
|
.map(([k, v]) => [k, Object.fromEntries(Object.entries(v).map(([k, v]) => [k, v.peak()]))])
|
|
174
|
-
.map(([k, v]) => `
|
|
175
|
-
|
|
176
|
-
declare const ${k} = ${JSON.stringify(v)};
|
|
177
|
-
|
|
127
|
+
.map(([k, v]) => `declare const ${k}: ${JSON.stringify(v)};
|
|
178
128
|
`)
|
|
179
|
-
.join('\n')
|
|
129
|
+
.join('\n');
|
|
130
|
+
return `${cs}
|
|
131
|
+
${hasRows ? 'declare const row: Record<string, any>;' : ''}
|
|
132
|
+
${goto
|
|
133
|
+
? `declare async function goto(path: string, newTab?: boolean): Promise<void>;
|
|
134
|
+
declare function setTab(id: string, index: string): void;
|
|
135
|
+
`
|
|
136
|
+
: ''}
|
|
137
|
+
declare const state: ${JSON.stringify(state)};
|
|
138
|
+
`;
|
|
180
139
|
}
|
|
181
140
|
export function getAllScriptNames(app) {
|
|
182
141
|
const names = app.grid.reduce((acc, gridItem) => {
|
|
@@ -209,3 +168,22 @@ export function toPascalCase(text) {
|
|
|
209
168
|
export function toKebabCase(text) {
|
|
210
169
|
return text.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
|
|
211
170
|
}
|
|
171
|
+
export function concatCustomCss(appCss, componentCss) {
|
|
172
|
+
if (!componentCss)
|
|
173
|
+
return undefined;
|
|
174
|
+
const customStyle = {};
|
|
175
|
+
Object.keys(componentCss).forEach((key) => {
|
|
176
|
+
const k = key;
|
|
177
|
+
// This is the general style of the component type
|
|
178
|
+
const appStyle = appCss?.[k]?.style?.trim() || '';
|
|
179
|
+
const appEnding = appStyle?.endsWith(';') || !appStyle ? ' ' : '; ';
|
|
180
|
+
// This is the custom style of the component instance
|
|
181
|
+
const compStyle = componentCss[k]?.style?.trim() || '';
|
|
182
|
+
const compEnding = compStyle?.endsWith(';') || !compStyle ? ' ' : ';';
|
|
183
|
+
customStyle[k] = {
|
|
184
|
+
style: (appStyle + appEnding + compStyle + compEnding).trim(),
|
|
185
|
+
class: twMerge(appCss?.[k]?.class, componentCss[k]?.class)
|
|
186
|
+
};
|
|
187
|
+
});
|
|
188
|
+
return customStyle;
|
|
189
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import { faClose } from '@fortawesome/free-solid-svg-icons'
|
|
3
|
+
import { createEventDispatcher } from 'svelte'
|
|
4
|
+
|
|
5
|
+
import { Icon } from 'svelte-awesome'
|
|
6
|
+
|
|
7
|
+
export let noBg = false
|
|
8
|
+
const dispatch = createEventDispatcher()
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<button
|
|
12
|
+
on:click={() => dispatch('close')}
|
|
13
|
+
class="hover:bg-gray-200 {noBg
|
|
14
|
+
? ''
|
|
15
|
+
: 'bg-gray-100'} rounded-full w-8 h-8 flex items-center justify-center transition-all"
|
|
16
|
+
>
|
|
17
|
+
<Icon data={faClose} class="text-gray-500" />
|
|
18
|
+
</button>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} CloseButtonProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} CloseButtonEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} CloseButtonSlots */
|
|
4
|
+
export default class CloseButton extends SvelteComponentTyped<{
|
|
5
|
+
noBg?: boolean | undefined;
|
|
6
|
+
}, {
|
|
7
|
+
close: CustomEvent<any>;
|
|
8
|
+
} & {
|
|
9
|
+
[evt: string]: CustomEvent<any>;
|
|
10
|
+
}, {}> {
|
|
11
|
+
}
|
|
12
|
+
export type CloseButtonProps = typeof __propDef.props;
|
|
13
|
+
export type CloseButtonEvents = typeof __propDef.events;
|
|
14
|
+
export type CloseButtonSlots = typeof __propDef.slots;
|
|
15
|
+
import { SvelteComponentTyped } from "svelte";
|
|
16
|
+
declare const __propDef: {
|
|
17
|
+
props: {
|
|
18
|
+
noBg?: boolean | undefined;
|
|
19
|
+
};
|
|
20
|
+
events: {
|
|
21
|
+
close: CustomEvent<any>;
|
|
22
|
+
} & {
|
|
23
|
+
[evt: string]: CustomEvent<any>;
|
|
24
|
+
};
|
|
25
|
+
slots: {};
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
@@ -7,6 +7,7 @@ export let large = false;
|
|
|
7
7
|
export let href = '';
|
|
8
8
|
export let rounded = false;
|
|
9
9
|
export let dismissable = false;
|
|
10
|
+
export let wrapperClass = '';
|
|
10
11
|
export let baseClass = 'text-center';
|
|
11
12
|
export let capitalize = false;
|
|
12
13
|
export let icon = undefined;
|
|
@@ -44,7 +45,11 @@ $: iconProps = icon ? { ...defaulIconProps, ...icon } : { data: undefined };
|
|
|
44
45
|
const handleHide = () => (hidden = !hidden);
|
|
45
46
|
</script>
|
|
46
47
|
|
|
47
|
-
<span
|
|
48
|
+
<span
|
|
49
|
+
on:click
|
|
50
|
+
on:keydown
|
|
51
|
+
class="inline-flex justify-center items-center whitespace-nowrap {wrapperClass}"
|
|
52
|
+
>
|
|
48
53
|
<svelte:element
|
|
49
54
|
this={href ? 'a' : 'span'}
|
|
50
55
|
{href}
|
|
@@ -8,6 +8,7 @@ declare const __propDef: {
|
|
|
8
8
|
href?: string | undefined;
|
|
9
9
|
rounded?: boolean | undefined;
|
|
10
10
|
dismissable?: boolean | undefined;
|
|
11
|
+
wrapperClass?: string | undefined;
|
|
11
12
|
baseClass?: string | undefined;
|
|
12
13
|
capitalize?: boolean | undefined;
|
|
13
14
|
icon?: BadgeIconProps | undefined;
|
|
@@ -13,6 +13,7 @@ export let target = '_self';
|
|
|
13
13
|
export let startIcon = undefined;
|
|
14
14
|
export let endIcon = undefined;
|
|
15
15
|
export let spacingSize = size;
|
|
16
|
+
export let loading = false;
|
|
16
17
|
let ref;
|
|
17
18
|
setContext(ButtonType.ItemContextKey, { size, color });
|
|
18
19
|
$: separator = color === 'red' || color === 'blue' ? 'border-gray-200' : 'border-gray-400';
|
|
@@ -28,6 +29,7 @@ $: commonProps = {
|
|
|
28
29
|
<div class="flex justy-start items-center">
|
|
29
30
|
{#if $$slots.main}
|
|
30
31
|
<Button
|
|
32
|
+
{loading}
|
|
31
33
|
{...commonProps}
|
|
32
34
|
{href}
|
|
33
35
|
{target}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<script>import { Redo, Undo } from 'lucide-svelte';
|
|
2
|
+
import { createEventDispatcher } from 'svelte';
|
|
3
|
+
import { Button } from '..';
|
|
4
|
+
export let undoProps = {};
|
|
5
|
+
export let redoProps = {};
|
|
6
|
+
const dispatch = createEventDispatcher();
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<div class="flex">
|
|
10
|
+
<Button
|
|
11
|
+
title="Undo"
|
|
12
|
+
variant="border"
|
|
13
|
+
color="light"
|
|
14
|
+
size="xs"
|
|
15
|
+
btnClasses="!min-h-[30px] !rounded-r-none"
|
|
16
|
+
on:click={() => dispatch('undo')}
|
|
17
|
+
{...undoProps}
|
|
18
|
+
>
|
|
19
|
+
<Undo size={14} />
|
|
20
|
+
</Button>
|
|
21
|
+
<Button
|
|
22
|
+
title="Redo"
|
|
23
|
+
variant="border"
|
|
24
|
+
color="light"
|
|
25
|
+
size="xs"
|
|
26
|
+
btnClasses="!min-h-[30px] !rounded-l-none !border-l-0"
|
|
27
|
+
on:click={() => dispatch('redo')}
|
|
28
|
+
{...redoProps}
|
|
29
|
+
>
|
|
30
|
+
<Redo size={14} />
|
|
31
|
+
</Button>
|
|
32
|
+
</div>
|