windmill-components 1.55.1 → 1.55.2
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/common.d.ts +1 -1
- package/common.js +3 -0
- package/components/AppConnect.svelte +2 -2
- package/components/ArgInput.svelte +1 -1
- package/components/CronInput.svelte +54 -53
- package/components/Dropdown.svelte +21 -9
- package/components/Editor.svelte +10 -10
- package/components/EditorBar.svelte +2 -2
- package/components/FlowBuilder.svelte +41 -25
- package/components/FlowGraphViewer.svelte +6 -2
- package/components/FlowMetadata.svelte +8 -3
- package/components/FolderEditor.svelte +299 -0
- package/components/FolderEditor.svelte.d.ts +16 -0
- package/components/FolderInfo.svelte +13 -0
- package/components/FolderInfo.svelte.d.ts +16 -0
- package/components/FolderUsageInfo.svelte +17 -0
- package/components/FolderUsageInfo.svelte.d.ts +16 -0
- package/components/GroupEditor.svelte +287 -0
- package/components/GroupEditor.svelte.d.ts +18 -0
- package/components/GroupInfo.svelte +22 -0
- package/components/GroupInfo.svelte.d.ts +16 -0
- package/components/InputTransformForm.svelte +16 -7
- package/components/MoveDrawer.svelte +75 -0
- package/components/MoveDrawer.svelte.d.ts +19 -0
- package/components/Path.svelte +243 -96
- package/components/Path.svelte.d.ts +1 -4
- package/components/RadioButton.svelte +2 -0
- package/components/RadioButton.svelte.d.ts +1 -0
- package/components/ResourceEditor.svelte +11 -16
- package/components/RunForm.svelte +20 -3
- package/components/RunForm.svelte.d.ts +1 -1
- package/components/ScheduleEditor.svelte +226 -0
- package/components/ScheduleEditor.svelte.d.ts +26 -0
- package/components/ScriptBuilder.svelte +109 -114
- package/components/ScriptEditor.svelte +17 -14
- package/components/ScriptEditor.svelte.d.ts +1 -0
- package/components/ScriptPicker.svelte +55 -29
- package/components/ScriptPicker.svelte.d.ts +1 -0
- package/components/ShareModal.svelte +94 -73
- package/components/ShareModal.svelte.d.ts +2 -4
- package/components/SimpleEditor.svelte +15 -10
- package/components/TemplateEditor.svelte +496 -0
- package/components/TemplateEditor.svelte.d.ts +25 -0
- package/components/TestJobLoader.svelte +1 -1
- package/components/VariableEditor.svelte +2 -1
- package/components/apps/CreateApp.svelte +1 -1
- package/components/apps/components/buttons/AppButton.svelte +3 -3
- package/components/apps/components/dataDisplay/AppBarChart.svelte +5 -4
- package/components/apps/components/dataDisplay/AppPieChart.svelte +3 -3
- package/components/apps/components/dateInputs/AppDateInput.svelte +34 -0
- package/components/apps/components/dateInputs/AppDateInput.svelte.d.ts +22 -0
- package/components/apps/components/form/AppForm.svelte +4 -5
- package/components/apps/components/form/AppForm.svelte.d.ts +0 -1
- package/components/apps/components/helpers/AlignWrapper.svelte +3 -4
- package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +2 -3
- package/components/apps/components/helpers/InputValue.svelte +54 -5
- package/components/apps/components/helpers/InputValue.svelte.d.ts +1 -0
- package/components/apps/components/helpers/NonRunnableComponent.svelte +2 -1
- package/components/apps/components/helpers/RefreshButton.svelte +20 -0
- package/components/apps/components/helpers/RefreshButton.svelte.d.ts +16 -0
- package/components/apps/components/helpers/RunnableComponent.svelte +38 -42
- package/components/apps/components/helpers/RunnableWrapper.svelte +6 -3
- package/components/apps/components/numberInputs/AppNumberInput.svelte +8 -11
- package/components/apps/components/numberInputs/AppNumberInput.svelte.d.ts +1 -0
- package/components/apps/components/selectInputs/AppCheckbox.svelte +1 -1
- package/components/apps/components/selectInputs/AppSelect.svelte +26 -0
- package/components/apps/components/selectInputs/AppSelect.svelte.d.ts +22 -0
- package/components/apps/components/table/AppTable.svelte +159 -0
- package/components/apps/components/{dataDisplay → table}/AppTable.svelte.d.ts +0 -0
- package/components/apps/components/table/AppTableFooter.svelte +54 -0
- package/components/apps/components/table/AppTableFooter.svelte.d.ts +20 -0
- package/components/apps/components/table/tableOptions.d.ts +10 -0
- package/components/apps/components/table/tableOptions.js +11 -0
- package/components/apps/components/textInputs/AppTextInput.svelte +17 -10
- package/components/apps/components/textInputs/AppTextInput.svelte.d.ts +2 -0
- package/components/apps/editor/AppEditor.svelte +35 -20
- package/components/apps/editor/AppEditorHeader.svelte +15 -7
- package/components/apps/editor/AppPreview.svelte +5 -3
- package/components/apps/editor/AppPreview.svelte.d.ts +4 -1
- package/components/apps/editor/ComponentEditor.svelte +21 -3
- package/components/apps/editor/ComponentEditor.svelte.d.ts +2 -0
- package/components/apps/editor/ComponentHeader.svelte +21 -4
- package/components/apps/editor/ComponentHeader.svelte.d.ts +2 -0
- package/components/apps/editor/GridEditor.svelte +40 -20
- package/components/apps/editor/RecomputeAllComponents.svelte +5 -7
- package/components/apps/editor/componentsPanel/ComponentList.svelte +30 -82
- package/components/apps/editor/componentsPanel/data.js +78 -29
- package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +5 -1
- package/components/apps/editor/contextPanel/ContextPanel.svelte +35 -152
- package/components/apps/editor/contextPanel/ContextPanel.svelte.d.ts +1 -3
- package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +64 -0
- package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte.d.ts +18 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +95 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +20 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +32 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +19 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +63 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte.d.ts +17 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +44 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte.d.ts +14 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +126 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte.d.ts +16 -0
- package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +41 -0
- package/components/apps/editor/settingsPanel/AlignmentEditor.svelte.d.ts +17 -0
- package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +44 -0
- package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte.d.ts +18 -0
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte +48 -130
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +3 -0
- package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +2 -2
- package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +1 -1
- package/components/apps/editor/settingsPanel/Recompute.svelte +2 -2
- package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +46 -0
- package/components/apps/editor/settingsPanel/SelectedRunnable.svelte.d.ts +17 -0
- package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +1 -1
- package/components/apps/editor/settingsPanel/common/PanelSection.svelte +1 -1
- package/components/apps/editor/settingsPanel/{ConnectedInputEditor.svelte → inputEditor/ConnectedInputEditor.svelte} +1 -2
- package/components/apps/editor/settingsPanel/{ConnectedInputEditor.svelte.d.ts → inputEditor/ConnectedInputEditor.svelte.d.ts} +1 -1
- package/components/apps/editor/settingsPanel/inputEditor/RunnableInputEditor.svelte +12 -0
- package/components/apps/editor/settingsPanel/inputEditor/RunnableInputEditor.svelte.d.ts +17 -0
- package/components/apps/editor/settingsPanel/{StaticInputEditor.svelte → inputEditor/StaticInputEditor.svelte} +5 -5
- package/components/apps/editor/settingsPanel/{StaticInputEditor.svelte.d.ts → inputEditor/StaticInputEditor.svelte.d.ts} +1 -1
- package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +6 -3
- package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +66 -22
- package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte.d.ts +2 -3
- package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte +1 -1
- package/components/apps/gridUtils.d.ts +3 -1
- package/components/apps/gridUtils.js +16 -1
- package/components/apps/inputType.d.ts +10 -4
- package/components/apps/rx.d.ts +8 -8
- package/components/apps/rx.js +17 -9
- package/components/apps/types.d.ts +14 -2
- package/components/apps/utils.d.ts +4 -3
- package/components/apps/utils.js +37 -5
- package/components/common/drawer/Drawer.svelte +1 -1
- package/components/common/drawer/Drawer.svelte.d.ts +1 -0
- package/components/common/table/FlowRow.svelte +21 -7
- package/components/common/table/FlowRow.svelte.d.ts +2 -0
- package/components/common/table/ScriptRow.svelte +22 -7
- package/components/common/table/ScriptRow.svelte.d.ts +2 -0
- package/components/common/toggleButton/ToggleButton.svelte +1 -1
- package/components/common/toggleButton/ToggleButtonGroup.svelte +1 -1
- package/components/common/toggleButton/ToggleButtonGroup.svelte.d.ts +1 -0
- package/components/flows/content/FlowEditorPanel.svelte +10 -16
- package/components/flows/content/FlowInputs.svelte +18 -4
- package/components/flows/content/FlowInputs.svelte.d.ts +1 -0
- package/components/flows/content/FlowModuleComponent.svelte +1 -1
- package/components/flows/content/FlowModuleWrapper.svelte +26 -1
- package/components/flows/content/FlowSchedules.svelte +5 -0
- package/components/flows/content/FlowSettings.svelte +13 -23
- package/components/flows/content/FlowSettings.svelte.d.ts +0 -1
- package/components/flows/header/FlowPreviewButtons.svelte +1 -0
- package/components/flows/map/FlowErrorHandlerItem.svelte +1 -1
- package/components/flows/map/FlowModuleSchemaMap.svelte +12 -3
- package/components/flows/map/FlowSettingsItem.svelte +8 -15
- package/components/flows/map/InsertModuleButton.svelte +29 -2
- package/components/flows/map/InsertModuleButton.svelte.d.ts +3 -1
- package/components/flows/map/MapItem.svelte +2 -1
- package/components/flows/map/MapItem.svelte.d.ts +1 -0
- package/components/flows/pickers/WorkspaceScriptPicker.svelte +3 -0
- package/components/flows/previousResults.js +1 -1
- package/components/graph/FlowGraph.svelte +13 -13
- package/components/home/ItemsList.svelte +20 -12
- package/components/jobs/JobDetail.svelte +9 -3
- package/components/sidebar/SidebarContent.svelte +4 -3
- package/components/sidebar/UserMenu.svelte +1 -1
- package/editorUtils.d.ts +7 -1
- package/editorUtils.js +98 -3
- package/es5.d.ts.txt +4526 -0
- package/gen/index.d.ts +2 -0
- package/gen/index.js +1 -0
- package/gen/models/CompletedJob.d.ts +1 -0
- package/gen/models/EditSchedule.d.ts +0 -2
- package/gen/models/Folder.d.ts +5 -0
- package/gen/models/Folder.js +4 -0
- package/gen/models/QueuedJob.d.ts +1 -0
- package/gen/models/Script.d.ts +1 -1
- package/gen/models/User.d.ts +1 -0
- package/gen/services/FolderService.d.ts +128 -0
- package/gen/services/FolderService.js +151 -0
- package/gen/services/GranularAclService.d.ts +3 -3
- package/gen/services/GroupService.d.ts +5 -1
- package/gen/services/GroupService.js +4 -1
- package/gen/services/JobService.d.ts +25 -5
- package/gen/services/JobService.js +10 -5
- package/gen/services/ScriptService.d.ts +2 -1
- package/gen/services/UserService.d.ts +9 -0
- package/gen/services/UserService.js +15 -0
- package/package.json +33 -9
- package/script_helpers.d.ts +2 -2
- package/script_helpers.js +4 -4
- package/stores.d.ts +1 -0
- package/utils.d.ts +3 -0
- package/utils.js +44 -7
- package/components/GroupModal.svelte +0 -98
- package/components/GroupModal.svelte.d.ts +0 -17
- package/components/apps/components/dataDisplay/AppTable.svelte +0 -132
- package/components/apps/components/dataDisplay/app.md +0 -49
- package/components/apps/editor/contextPanel/InlineScriptCreationPanel.svelte +0 -29
- package/components/apps/editor/contextPanel/InlineScriptCreationPanel.svelte.d.ts +0 -16
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "windmill-components",
|
|
3
|
-
"version": "1.55.
|
|
3
|
+
"version": "1.55.2",
|
|
4
4
|
"devDependencies": {
|
|
5
5
|
"@playwright/test": "^1.28.0",
|
|
6
6
|
"@sveltejs/adapter-static": "^1.0.0-next.48",
|
|
7
7
|
"@sveltejs/kit": "next",
|
|
8
8
|
"@tailwindcss/forms": "^0.5.3",
|
|
9
9
|
"@tailwindcss/typography": "^0.5.8",
|
|
10
|
-
"@types/vscode": "~1.
|
|
10
|
+
"@types/vscode": "~1.68.0",
|
|
11
11
|
"@typescript-eslint/eslint-plugin": "^5.46.1",
|
|
12
12
|
"@typescript-eslint/parser": "^5.46.1",
|
|
13
13
|
"@windmill-components-labs/svelvet": "^4.0.6",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"@fortawesome/free-solid-svg-icons": "^6.2.0",
|
|
51
51
|
"@leeoniya/ufuzzy": "^0.8.0",
|
|
52
52
|
"@redocly/json-to-json-schema": "^0.0.1",
|
|
53
|
+
"@tanstack/svelte-table": "^8.7.2",
|
|
53
54
|
"@types/autosize": "^4.0.1",
|
|
54
55
|
"@types/node": "^18.11.9",
|
|
55
56
|
"async-mutex": "^0.4.0",
|
|
@@ -59,7 +60,7 @@
|
|
|
59
60
|
"date-fns": "^2.29.3",
|
|
60
61
|
"highlight.js": "^11.7.0",
|
|
61
62
|
"monaco-editor": "0.33.0",
|
|
62
|
-
"monaco-editor-workers": "
|
|
63
|
+
"monaco-editor-workers": "0.33.0",
|
|
63
64
|
"monaco-languageclient": "2.1.0",
|
|
64
65
|
"monaco-yaml": "^4.0.2",
|
|
65
66
|
"set-interval-async": "^3.0.2",
|
|
@@ -94,7 +95,11 @@
|
|
|
94
95
|
"./components/FlowPreviewContent.svelte": "./components/FlowPreviewContent.svelte",
|
|
95
96
|
"./components/FlowStatusViewer.svelte": "./components/FlowStatusViewer.svelte",
|
|
96
97
|
"./components/FlowViewer.svelte": "./components/FlowViewer.svelte",
|
|
97
|
-
"./components/
|
|
98
|
+
"./components/FolderEditor.svelte": "./components/FolderEditor.svelte",
|
|
99
|
+
"./components/FolderInfo.svelte": "./components/FolderInfo.svelte",
|
|
100
|
+
"./components/FolderUsageInfo.svelte": "./components/FolderUsageInfo.svelte",
|
|
101
|
+
"./components/GroupEditor.svelte": "./components/GroupEditor.svelte",
|
|
102
|
+
"./components/GroupInfo.svelte": "./components/GroupInfo.svelte",
|
|
98
103
|
"./components/HighlightCode.svelte": "./components/HighlightCode.svelte",
|
|
99
104
|
"./components/IconedPath.svelte": "./components/IconedPath.svelte",
|
|
100
105
|
"./components/IconedResourceType.svelte": "./components/IconedResourceType.svelte",
|
|
@@ -109,6 +114,7 @@
|
|
|
109
114
|
"./components/Modal.svelte": "./components/Modal.svelte",
|
|
110
115
|
"./components/ModulePreview.svelte": "./components/ModulePreview.svelte",
|
|
111
116
|
"./components/ModuleStatus.svelte": "./components/ModuleStatus.svelte",
|
|
117
|
+
"./components/MoveDrawer.svelte": "./components/MoveDrawer.svelte",
|
|
112
118
|
"./components/Multiselect.svelte": "./components/Multiselect.svelte",
|
|
113
119
|
"./components/ObjectResourceInput.svelte": "./components/ObjectResourceInput.svelte",
|
|
114
120
|
"./components/ObjectTypeNarrowing.svelte": "./components/ObjectTypeNarrowing.svelte",
|
|
@@ -123,6 +129,7 @@
|
|
|
123
129
|
"./components/ResourceTypePicker.svelte": "./components/ResourceTypePicker.svelte",
|
|
124
130
|
"./components/RunChart.svelte": "./components/RunChart.svelte",
|
|
125
131
|
"./components/RunForm.svelte": "./components/RunForm.svelte",
|
|
132
|
+
"./components/ScheduleEditor.svelte": "./components/ScheduleEditor.svelte",
|
|
126
133
|
"./components/SchemaEditor.svelte": "./components/SchemaEditor.svelte",
|
|
127
134
|
"./components/SchemaEditorProperty.svelte": "./components/SchemaEditorProperty.svelte",
|
|
128
135
|
"./components/SchemaForm.svelte": "./components/SchemaForm.svelte",
|
|
@@ -141,6 +148,7 @@
|
|
|
141
148
|
"./components/SuperadminSettings.svelte": "./components/SuperadminSettings.svelte",
|
|
142
149
|
"./components/TableCustom.svelte": "./components/TableCustom.svelte",
|
|
143
150
|
"./components/TableSimple.svelte": "./components/TableSimple.svelte",
|
|
151
|
+
"./components/TemplateEditor.svelte": "./components/TemplateEditor.svelte",
|
|
144
152
|
"./components/TestJobLoader.svelte": "./components/TestJobLoader.svelte",
|
|
145
153
|
"./components/Toggle.svelte": "./components/Toggle.svelte",
|
|
146
154
|
"./components/ToggleHubWorkspace.svelte": "./components/ToggleHubWorkspace.svelte",
|
|
@@ -152,18 +160,22 @@
|
|
|
152
160
|
"./components/apps/components/buttons/AppButton.svelte": "./components/apps/components/buttons/AppButton.svelte",
|
|
153
161
|
"./components/apps/components/dataDisplay/AppBarChart.svelte": "./components/apps/components/dataDisplay/AppBarChart.svelte",
|
|
154
162
|
"./components/apps/components/dataDisplay/AppPieChart.svelte": "./components/apps/components/dataDisplay/AppPieChart.svelte",
|
|
155
|
-
"./components/apps/components/dataDisplay/AppTable.svelte": "./components/apps/components/dataDisplay/AppTable.svelte",
|
|
156
163
|
"./components/apps/components/dataDisplay/AppText.svelte": "./components/apps/components/dataDisplay/AppText.svelte",
|
|
157
|
-
"./components/apps/components/
|
|
164
|
+
"./components/apps/components/dateInputs/AppDateInput.svelte": "./components/apps/components/dateInputs/AppDateInput.svelte",
|
|
158
165
|
"./components/apps/components/form/AppForm.svelte": "./components/apps/components/form/AppForm.svelte",
|
|
159
166
|
"./components/apps/components/helpers/AlignWrapper.svelte": "./components/apps/components/helpers/AlignWrapper.svelte",
|
|
160
167
|
"./components/apps/components/helpers/DebouncedInput.svelte": "./components/apps/components/helpers/DebouncedInput.svelte",
|
|
161
168
|
"./components/apps/components/helpers/InputValue.svelte": "./components/apps/components/helpers/InputValue.svelte",
|
|
162
169
|
"./components/apps/components/helpers/NonRunnableComponent.svelte": "./components/apps/components/helpers/NonRunnableComponent.svelte",
|
|
170
|
+
"./components/apps/components/helpers/RefreshButton.svelte": "./components/apps/components/helpers/RefreshButton.svelte",
|
|
163
171
|
"./components/apps/components/helpers/RunnableComponent.svelte": "./components/apps/components/helpers/RunnableComponent.svelte",
|
|
164
172
|
"./components/apps/components/helpers/RunnableWrapper.svelte": "./components/apps/components/helpers/RunnableWrapper.svelte",
|
|
165
173
|
"./components/apps/components/numberInputs/AppNumberInput.svelte": "./components/apps/components/numberInputs/AppNumberInput.svelte",
|
|
166
174
|
"./components/apps/components/selectInputs/AppCheckbox.svelte": "./components/apps/components/selectInputs/AppCheckbox.svelte",
|
|
175
|
+
"./components/apps/components/selectInputs/AppSelect.svelte": "./components/apps/components/selectInputs/AppSelect.svelte",
|
|
176
|
+
"./components/apps/components/table/AppTable.svelte": "./components/apps/components/table/AppTable.svelte",
|
|
177
|
+
"./components/apps/components/table/AppTableFooter.svelte": "./components/apps/components/table/AppTableFooter.svelte",
|
|
178
|
+
"./components/apps/components/table/tableOptions": "./components/apps/components/table/tableOptions.js",
|
|
167
179
|
"./components/apps/components/textInputs/AppTextInput.svelte": "./components/apps/components/textInputs/AppTextInput.svelte",
|
|
168
180
|
"./components/apps/editor/AppEditor.svelte": "./components/apps/editor/AppEditor.svelte",
|
|
169
181
|
"./components/apps/editor/AppEditorHeader.svelte": "./components/apps/editor/AppEditorHeader.svelte",
|
|
@@ -179,22 +191,31 @@
|
|
|
179
191
|
"./components/apps/editor/componentsPanel/store": "./components/apps/editor/componentsPanel/store.js",
|
|
180
192
|
"./components/apps/editor/contextPanel/ComponentOutputViewer.svelte": "./components/apps/editor/contextPanel/ComponentOutputViewer.svelte",
|
|
181
193
|
"./components/apps/editor/contextPanel/ContextPanel.svelte": "./components/apps/editor/contextPanel/ContextPanel.svelte",
|
|
182
|
-
"./components/apps/editor/
|
|
194
|
+
"./components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte": "./components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte",
|
|
195
|
+
"./components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte": "./components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte",
|
|
196
|
+
"./components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte": "./components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte",
|
|
197
|
+
"./components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte": "./components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte",
|
|
198
|
+
"./components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte": "./components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte",
|
|
199
|
+
"./components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte": "./components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte",
|
|
200
|
+
"./components/apps/editor/settingsPanel/AlignmentEditor.svelte": "./components/apps/editor/settingsPanel/AlignmentEditor.svelte",
|
|
183
201
|
"./components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte": "./components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte",
|
|
202
|
+
"./components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte": "./components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte",
|
|
184
203
|
"./components/apps/editor/settingsPanel/ComponentPanel.svelte": "./components/apps/editor/settingsPanel/ComponentPanel.svelte",
|
|
185
|
-
"./components/apps/editor/settingsPanel/ConnectedInputEditor.svelte": "./components/apps/editor/settingsPanel/ConnectedInputEditor.svelte",
|
|
186
204
|
"./components/apps/editor/settingsPanel/InputsSpecEditor.svelte": "./components/apps/editor/settingsPanel/InputsSpecEditor.svelte",
|
|
187
205
|
"./components/apps/editor/settingsPanel/InputsSpecsEditor.svelte": "./components/apps/editor/settingsPanel/InputsSpecsEditor.svelte",
|
|
188
206
|
"./components/apps/editor/settingsPanel/PickFlow.svelte": "./components/apps/editor/settingsPanel/PickFlow.svelte",
|
|
189
207
|
"./components/apps/editor/settingsPanel/PickInlineScript.svelte": "./components/apps/editor/settingsPanel/PickInlineScript.svelte",
|
|
190
208
|
"./components/apps/editor/settingsPanel/Recompute.svelte": "./components/apps/editor/settingsPanel/Recompute.svelte",
|
|
191
209
|
"./components/apps/editor/settingsPanel/SectionPanel.svelte": "./components/apps/editor/settingsPanel/SectionPanel.svelte",
|
|
192
|
-
"./components/apps/editor/settingsPanel/
|
|
210
|
+
"./components/apps/editor/settingsPanel/SelectedRunnable.svelte": "./components/apps/editor/settingsPanel/SelectedRunnable.svelte",
|
|
193
211
|
"./components/apps/editor/settingsPanel/SubTypeEditor.svelte": "./components/apps/editor/settingsPanel/SubTypeEditor.svelte",
|
|
194
212
|
"./components/apps/editor/settingsPanel/TableActionLabel.svelte": "./components/apps/editor/settingsPanel/TableActionLabel.svelte",
|
|
195
213
|
"./components/apps/editor/settingsPanel/TableActions.svelte": "./components/apps/editor/settingsPanel/TableActions.svelte",
|
|
196
214
|
"./components/apps/editor/settingsPanel/UserInputEditor.svelte": "./components/apps/editor/settingsPanel/UserInputEditor.svelte",
|
|
197
215
|
"./components/apps/editor/settingsPanel/common/PanelSection.svelte": "./components/apps/editor/settingsPanel/common/PanelSection.svelte",
|
|
216
|
+
"./components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte": "./components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte",
|
|
217
|
+
"./components/apps/editor/settingsPanel/inputEditor/RunnableInputEditor.svelte": "./components/apps/editor/settingsPanel/inputEditor/RunnableInputEditor.svelte",
|
|
218
|
+
"./components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte": "./components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte",
|
|
198
219
|
"./components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte": "./components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte",
|
|
199
220
|
"./components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte": "./components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte",
|
|
200
221
|
"./components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte": "./components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte",
|
|
@@ -363,6 +384,7 @@
|
|
|
363
384
|
"./components/sidebar/WorkspaceMenu.svelte": "./components/sidebar/WorkspaceMenu.svelte",
|
|
364
385
|
"./components/splitPanes/SplitPanesWrapper.svelte": "./components/splitPanes/SplitPanesWrapper.svelte",
|
|
365
386
|
"./editorUtils": "./editorUtils.js",
|
|
387
|
+
"./es5.d.ts.txt": "./es5.d.ts.txt",
|
|
366
388
|
"./gen/core/ApiError": "./gen/core/ApiError.js",
|
|
367
389
|
"./gen/core/ApiRequestOptions": "./gen/core/ApiRequestOptions.js",
|
|
368
390
|
"./gen/core/ApiResult": "./gen/core/ApiResult.js",
|
|
@@ -392,6 +414,7 @@
|
|
|
392
414
|
"./gen/models/FlowStatus": "./gen/models/FlowStatus.js",
|
|
393
415
|
"./gen/models/FlowStatusModule": "./gen/models/FlowStatusModule.js",
|
|
394
416
|
"./gen/models/FlowValue": "./gen/models/FlowValue.js",
|
|
417
|
+
"./gen/models/Folder": "./gen/models/Folder.js",
|
|
395
418
|
"./gen/models/ForloopFlow": "./gen/models/ForloopFlow.js",
|
|
396
419
|
"./gen/models/GlobalUserInfo": "./gen/models/GlobalUserInfo.js",
|
|
397
420
|
"./gen/models/Group": "./gen/models/Group.js",
|
|
@@ -437,6 +460,7 @@
|
|
|
437
460
|
"./gen/services/CaptureService": "./gen/services/CaptureService.js",
|
|
438
461
|
"./gen/services/FavoriteService": "./gen/services/FavoriteService.js",
|
|
439
462
|
"./gen/services/FlowService": "./gen/services/FlowService.js",
|
|
463
|
+
"./gen/services/FolderService": "./gen/services/FolderService.js",
|
|
440
464
|
"./gen/services/GranularAclService": "./gen/services/GranularAclService.js",
|
|
441
465
|
"./gen/services/GroupService": "./gen/services/GroupService.js",
|
|
442
466
|
"./gen/services/JobService": "./gen/services/JobService.js",
|
package/script_helpers.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Script } from "./gen";
|
|
2
|
-
export declare const PYTHON_INIT_CODE = "import os\nimport wmill\n\n# You can import any package from PyPI, even if the assistant complains\n\n\"\"\"\nUse Cmd/Ctrl + S to autoformat the code. Reset content in the bar to start from a clean template.\nThe client is used to interact with windmill itself through its standard API.\nOne can explore the methods available through autocompletion of `wmill.XXX`.\n\"\"\"\n\ndef main(no_default: str,\n name = \"Nicolas Bourbaki\",\n age = 42,\n obj: dict = {\"even\": \"dicts\"},\n l: list = [\"or\", \"lists!\"],\n file_: bytes = bytes(0)):\n \"\"\"A main function is required for the script to be able to accept arguments.\n Types are recommended.\"\"\"\n print(f\"Hello World and a warm welcome especially to {name}\")\n print(\"and its acolytes..\", age, obj, l, len(file_))\n # retrieve variables, including secrets by querying the windmill platform.\n # secret fetching is audited by windmill.\n\n try:\n secret = wmill.get_variable(\"
|
|
2
|
+
export declare const PYTHON_INIT_CODE = "import os\nimport wmill\n\n# You can import any package from PyPI, even if the assistant complains\n\n\"\"\"\nUse Cmd/Ctrl + S to autoformat the code. Reset content in the bar to start from a clean template.\nThe client is used to interact with windmill itself through its standard API.\nOne can explore the methods available through autocompletion of `wmill.XXX`.\n\"\"\"\n\ndef main(no_default: str,\n name = \"Nicolas Bourbaki\",\n age = 42,\n obj: dict = {\"even\": \"dicts\"},\n l: list = [\"or\", \"lists!\"],\n file_: bytes = bytes(0)):\n \"\"\"A main function is required for the script to be able to accept arguments.\n Types are recommended.\"\"\"\n print(f\"Hello World and a warm welcome especially to {name}\")\n print(\"and its acolytes..\", age, obj, l, len(file_))\n # retrieve variables, including secrets by querying the windmill platform.\n # secret fetching is audited by windmill.\n\n try:\n secret = wmill.get_variable(\"f/examples/secret\")\n except:\n secret = \"No secret yet at f/examples/secret !\"\n\n print(f\"The variable at `f/examples/secret`: {secret}\")\n \n # Get last state of this script execution by the same trigger/user\n last_state = wmill.get_state()\n new_state = {\"foo\": 42} if last_state is None else last_state\n new_state[\"foo\"] += 1\n wmill.set_state(new_state)\n\n # fetch reserved variables as environment variables\n user = os.environ.get(\"WM_USERNAME\")\n # the return value is then parsed and can be retrieved by other scripts conveniently\n return {\"splitted\": name.split(), \"user\": user, \"state\": new_state}\n";
|
|
3
3
|
export declare const DENO_INIT_CODE: string;
|
|
4
|
-
export declare const GO_INIT_CODE = "package inner\n\nimport (\n\t\"fmt\"\n\t\"rsc.io/quote\"\n // wmill \"github.com/windmill-labs/windmill-go-client\"\n)\n\n// the main must return (interface{}, error)\n\nfunc main(x string, nested struct{ Foo string `json:\"foo\"` }) (interface{}, error) {\n\tfmt.Println(\"Hello, World\")\n\tfmt.Println(nested.Foo)\n\tfmt.Println(quote.Opt())\n // v, _ := wmill.GetVariable(\"
|
|
4
|
+
export declare const GO_INIT_CODE = "package inner\n\nimport (\n\t\"fmt\"\n\t\"rsc.io/quote\"\n // wmill \"github.com/windmill-labs/windmill-go-client\"\n)\n\n// the main must return (interface{}, error)\n\nfunc main(x string, nested struct{ Foo string `json:\"foo\"` }) (interface{}, error) {\n\tfmt.Println(\"Hello, World\")\n\tfmt.Println(nested.Foo)\n\tfmt.Println(quote.Opt())\n // v, _ := wmill.GetVariable(\"f/examples/secret\")\n return x, nil\n}\n";
|
|
5
5
|
export declare const GO_FAILURE_MODULE_CODE = "package inner\n\nimport (\n\t\"fmt\"\n \"os\"\n)\n\n// connect the error parameter to 'previous_result.error'\n\nfunc main(error string) (interface{}, error) {\n\tfmt.Println(error)\n\tfmt.Println(\"job\", os.Getenv(\"WM_JOB_ID\"))\n return x, nil\n}\n";
|
|
6
6
|
export declare const DENO_INIT_CODE_CLEAR: string;
|
|
7
7
|
export declare const DENO_FAILURE_MODULE_CODE = "\n// connect the error parameter to 'previous_result.error'\n\nexport async function main(error: string) {\n const job = Deno.env.get(\"WM_JOB_ID\")\n console.log(\"error\", error)\n console.log(\"job\", job)\n return { error, job }\n}\n";
|
package/script_helpers.js
CHANGED
|
@@ -23,11 +23,11 @@ def main(no_default: str,
|
|
|
23
23
|
# secret fetching is audited by windmill.
|
|
24
24
|
|
|
25
25
|
try:
|
|
26
|
-
secret = wmill.get_variable("
|
|
26
|
+
secret = wmill.get_variable("f/examples/secret")
|
|
27
27
|
except:
|
|
28
|
-
secret = "No secret yet at
|
|
28
|
+
secret = "No secret yet at f/examples/secret !"
|
|
29
29
|
|
|
30
|
-
print(f"The variable at \`
|
|
30
|
+
print(f"The variable at \`f/examples/secret\`: {secret}")
|
|
31
31
|
|
|
32
32
|
# Get last state of this script execution by the same trigger/user
|
|
33
33
|
last_state = wmill.get_state()
|
|
@@ -70,7 +70,7 @@ func main(x string, nested struct{ Foo string \`json:"foo"\` }) (interface{}, er
|
|
|
70
70
|
fmt.Println("Hello, World")
|
|
71
71
|
fmt.Println(nested.Foo)
|
|
72
72
|
fmt.Println(quote.Opt())
|
|
73
|
-
// v, _ := wmill.GetVariable("
|
|
73
|
+
// v, _ := wmill.GetVariable("f/examples/secret")
|
|
74
74
|
return x, nil
|
|
75
75
|
}
|
|
76
76
|
`;
|
package/stores.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export interface UserExt {
|
|
|
10
10
|
created_at: string;
|
|
11
11
|
groups: string[];
|
|
12
12
|
pgroups: string[];
|
|
13
|
+
folders: string[];
|
|
13
14
|
}
|
|
14
15
|
export declare const usageStore: import("svelte/store").Writable<number>;
|
|
15
16
|
export declare const oauthStore: import("svelte/store").Writable<TokenResponse | undefined>;
|
package/utils.d.ts
CHANGED
|
@@ -46,6 +46,8 @@ export declare function simpleSchema(): {
|
|
|
46
46
|
required: never[];
|
|
47
47
|
};
|
|
48
48
|
export declare function removeItemAll<T>(arr: T[], value: T): T[];
|
|
49
|
+
export declare function isOwner(path: string, user: UserExt, workspace: string): Promise<boolean>;
|
|
50
|
+
export declare function isObviousOwner(path: string, user?: UserExt): boolean;
|
|
49
51
|
export declare function canWrite(path: string, extra_perms: Record<string, boolean>, user?: UserExt): boolean;
|
|
50
52
|
export declare function emptyString(str: string | undefined | null): boolean;
|
|
51
53
|
export declare function defaultIfEmptyString(str: string | undefined, dflt: string): string;
|
|
@@ -95,3 +97,4 @@ export declare function copyToClipboard(value: string, sendToast?: boolean): Pro
|
|
|
95
97
|
export declare function pluralize(quantity: number, word: string, customPlural?: string): string;
|
|
96
98
|
export declare function capitalize(word: string): string;
|
|
97
99
|
export declare function isCloudHosted(): boolean;
|
|
100
|
+
export declare function isObject(obj: any): boolean;
|
package/utils.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
|
2
2
|
import { goto } from '$app/navigation';
|
|
3
|
-
import { FlowService, Script, ScriptService } from './gen';
|
|
3
|
+
import { FlowService, FolderService, Script, ScriptService, UserService } from './gen';
|
|
4
4
|
import { toast } from '@zerodevx/svelte-toast';
|
|
5
5
|
import { hubScripts, workspaceStore } from './stores';
|
|
6
|
-
import { page } from
|
|
7
|
-
import { get } from
|
|
6
|
+
import { page } from '$app/stores';
|
|
7
|
+
import { get } from 'svelte/store';
|
|
8
8
|
export function validateUsername(username) {
|
|
9
9
|
if (username != '' && !/^\w+$/.test(username)) {
|
|
10
10
|
return 'username can only contain letters and numbers';
|
|
@@ -57,7 +57,11 @@ export function displayDate(dateString, displaySecond = false) {
|
|
|
57
57
|
return '';
|
|
58
58
|
}
|
|
59
59
|
else {
|
|
60
|
-
return `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()} at ${date.toLocaleTimeString([], {
|
|
60
|
+
return `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()} at ${date.toLocaleTimeString([], {
|
|
61
|
+
hour: '2-digit',
|
|
62
|
+
minute: '2-digit',
|
|
63
|
+
second: displaySecond ? '2-digit' : undefined
|
|
64
|
+
})}`;
|
|
61
65
|
}
|
|
62
66
|
}
|
|
63
67
|
export function msToSec(ms) {
|
|
@@ -142,8 +146,18 @@ export function removeItemAll(arr, value) {
|
|
|
142
146
|
}
|
|
143
147
|
return arr;
|
|
144
148
|
}
|
|
145
|
-
export function
|
|
146
|
-
|
|
149
|
+
export async function isOwner(path, user, workspace) {
|
|
150
|
+
if (user.is_admin && (workspace != 'starter' || user.is_super_admin)) {
|
|
151
|
+
return true;
|
|
152
|
+
}
|
|
153
|
+
else if (workspace == 'starter') {
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
return await UserService.isOwnerOfPath({ path: path, workspace: workspace });
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
export function isObviousOwner(path, user) {
|
|
147
161
|
if (!user) {
|
|
148
162
|
return false;
|
|
149
163
|
}
|
|
@@ -154,10 +168,30 @@ export function canWrite(path, extra_perms, user) {
|
|
|
154
168
|
if (path.startsWith(userOwner)) {
|
|
155
169
|
return true;
|
|
156
170
|
}
|
|
171
|
+
if (user.pgroups.findIndex((x) => path.startsWith(x)) != -1) {
|
|
172
|
+
return true;
|
|
173
|
+
}
|
|
174
|
+
if (user.folders.findIndex((x) => path.startsWith('f/' + x)) != -1) {
|
|
175
|
+
return true;
|
|
176
|
+
}
|
|
177
|
+
return false;
|
|
178
|
+
}
|
|
179
|
+
export function canWrite(path, extra_perms, user) {
|
|
180
|
+
let keys = Object.keys(extra_perms);
|
|
181
|
+
if (!user) {
|
|
182
|
+
return false;
|
|
183
|
+
}
|
|
184
|
+
if (isObviousOwner(path, user)) {
|
|
185
|
+
return true;
|
|
186
|
+
}
|
|
187
|
+
let userOwner = `u/${user.username}`;
|
|
157
188
|
if (keys.includes(userOwner) && extra_perms[userOwner]) {
|
|
158
189
|
return true;
|
|
159
190
|
}
|
|
160
|
-
if (user.pgroups.findIndex((x) =>
|
|
191
|
+
if (user.pgroups.findIndex((x) => keys.includes(x) && extra_perms[x]) != -1) {
|
|
192
|
+
return true;
|
|
193
|
+
}
|
|
194
|
+
if (user.folders.findIndex((x) => path.startsWith('f/' + x)) != -1) {
|
|
161
195
|
return true;
|
|
162
196
|
}
|
|
163
197
|
return false;
|
|
@@ -495,3 +529,6 @@ export function capitalize(word) {
|
|
|
495
529
|
export function isCloudHosted() {
|
|
496
530
|
return get(page).url.hostname == 'app.windmill.dev';
|
|
497
531
|
}
|
|
532
|
+
export function isObject(obj) {
|
|
533
|
+
return typeof obj === 'object';
|
|
534
|
+
}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
<script>import { userStore, workspaceStore } from '../stores';
|
|
2
|
-
import { GroupService, UserService } from '../gen';
|
|
3
|
-
import AutoComplete from 'simple-svelte-autocomplete';
|
|
4
|
-
import TableCustom from './TableCustom.svelte';
|
|
5
|
-
import { canWrite } from '../utils';
|
|
6
|
-
import { Button, Drawer } from './common';
|
|
7
|
-
import DrawerContent from './common/drawer/DrawerContent.svelte';
|
|
8
|
-
let name = '';
|
|
9
|
-
let drawer;
|
|
10
|
-
let can_write = false;
|
|
11
|
-
let group;
|
|
12
|
-
let members = [];
|
|
13
|
-
let usernames = [];
|
|
14
|
-
let username = '';
|
|
15
|
-
async function loadUsernames() {
|
|
16
|
-
usernames = await UserService.listUsernames({ workspace: $workspaceStore });
|
|
17
|
-
}
|
|
18
|
-
$: {
|
|
19
|
-
if (group && $workspaceStore && userStore) {
|
|
20
|
-
members = (group.members ?? []).map((x) => {
|
|
21
|
-
return {
|
|
22
|
-
name: x,
|
|
23
|
-
isAdmin: x in (group?.extra_perms ?? {}) && (group?.extra_perms ?? {})[name]
|
|
24
|
-
};
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
export function openDrawer(newName) {
|
|
29
|
-
name = newName;
|
|
30
|
-
loadGroup();
|
|
31
|
-
loadUsernames();
|
|
32
|
-
drawer.openDrawer();
|
|
33
|
-
}
|
|
34
|
-
async function addToGroup() {
|
|
35
|
-
await GroupService.addUserToGroup({
|
|
36
|
-
workspace: $workspaceStore ?? '',
|
|
37
|
-
name,
|
|
38
|
-
requestBody: { username }
|
|
39
|
-
});
|
|
40
|
-
loadGroup();
|
|
41
|
-
}
|
|
42
|
-
async function loadGroup() {
|
|
43
|
-
group = await GroupService.getGroup({ workspace: $workspaceStore, name });
|
|
44
|
-
can_write = canWrite(group.name, group.extra_perms ?? {}, $userStore);
|
|
45
|
-
}
|
|
46
|
-
</script>
|
|
47
|
-
|
|
48
|
-
<Drawer bind:this={drawer}>
|
|
49
|
-
<DrawerContent title="Group {name}" on:close={drawer.closeDrawer}>
|
|
50
|
-
<div class="flex flex-col gap-6">
|
|
51
|
-
<h2>Summary</h2>
|
|
52
|
-
<p>{group?.summary ?? 'No summary'}</p>
|
|
53
|
-
<h2>Members</h2>
|
|
54
|
-
{#if can_write}
|
|
55
|
-
<div class="flex items-start">
|
|
56
|
-
<AutoComplete items={usernames} bind:selectedItem={username} />
|
|
57
|
-
<Button
|
|
58
|
-
variant="contained"
|
|
59
|
-
color="blue"
|
|
60
|
-
size="sm"
|
|
61
|
-
btnClasses="!ml-4"
|
|
62
|
-
on:click={addToGroup}
|
|
63
|
-
>
|
|
64
|
-
Add member
|
|
65
|
-
</Button>
|
|
66
|
-
</div>
|
|
67
|
-
{/if}
|
|
68
|
-
<TableCustom>
|
|
69
|
-
<tr slot="header-row">
|
|
70
|
-
<th>user</th>
|
|
71
|
-
<th>admin of group</th>
|
|
72
|
-
<th />
|
|
73
|
-
</tr>
|
|
74
|
-
<tbody slot="body">
|
|
75
|
-
{#each members as { name, isAdmin }}<tr>
|
|
76
|
-
<td>{name}</td>
|
|
77
|
-
<td> {isAdmin ? 'admin' : ''} </td>
|
|
78
|
-
<td>
|
|
79
|
-
{#if can_write}
|
|
80
|
-
<button
|
|
81
|
-
class="ml-2 text-red-500"
|
|
82
|
-
on:click={async () => {
|
|
83
|
-
await GroupService.removeUserToGroup({
|
|
84
|
-
workspace: $workspaceStore ?? '',
|
|
85
|
-
name: group?.name ?? '',
|
|
86
|
-
requestBody: { username: name }
|
|
87
|
-
})
|
|
88
|
-
loadGroup()
|
|
89
|
-
}}>remove</button
|
|
90
|
-
>
|
|
91
|
-
{/if}</td
|
|
92
|
-
>
|
|
93
|
-
</tr>{/each}
|
|
94
|
-
</tbody>
|
|
95
|
-
</TableCustom>
|
|
96
|
-
</div>
|
|
97
|
-
</DrawerContent>
|
|
98
|
-
</Drawer>
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
declare const __propDef: {
|
|
3
|
-
props: {
|
|
4
|
-
openDrawer?: ((newName: string) => void) | undefined;
|
|
5
|
-
};
|
|
6
|
-
events: {
|
|
7
|
-
[evt: string]: CustomEvent<any>;
|
|
8
|
-
};
|
|
9
|
-
slots: {};
|
|
10
|
-
};
|
|
11
|
-
export type GroupModalProps = typeof __propDef.props;
|
|
12
|
-
export type GroupModalEvents = typeof __propDef.events;
|
|
13
|
-
export type GroupModalSlots = typeof __propDef.slots;
|
|
14
|
-
export default class GroupModal extends SvelteComponentTyped<GroupModalProps, GroupModalEvents, GroupModalSlots> {
|
|
15
|
-
get openDrawer(): (newName: string) => void;
|
|
16
|
-
}
|
|
17
|
-
export {};
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
<script>import Button from '../../../common/button/Button.svelte';
|
|
2
|
-
import { classNames } from '../../../../utils';
|
|
3
|
-
import { getContext } from 'svelte';
|
|
4
|
-
import InputValue from '../helpers/InputValue.svelte';
|
|
5
|
-
import DebouncedInput from '../helpers/DebouncedInput.svelte';
|
|
6
|
-
import AppButton from '../buttons/AppButton.svelte';
|
|
7
|
-
import RunnableWrapper from '../helpers/RunnableWrapper.svelte';
|
|
8
|
-
export let id;
|
|
9
|
-
export let componentInput;
|
|
10
|
-
export let configuration;
|
|
11
|
-
export let actionButtons;
|
|
12
|
-
const { worldStore, staticOutputs: staticOutputsStore } = getContext('AppEditorContext');
|
|
13
|
-
export const staticOutputs = ['selectedRow', 'loading', 'result'];
|
|
14
|
-
$: outputs = $worldStore?.outputsById[id];
|
|
15
|
-
let selectedRowIndex = -1;
|
|
16
|
-
function toggleRow(row, rowIndex) {
|
|
17
|
-
if (selectedRowIndex === rowIndex) {
|
|
18
|
-
selectedRowIndex = -1;
|
|
19
|
-
outputs.selectedRow.set(null);
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
selectedRowIndex = rowIndex;
|
|
23
|
-
outputs?.selectedRow.set(row);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
let search = 'Disabled';
|
|
27
|
-
let pagination = undefined;
|
|
28
|
-
let page = 1;
|
|
29
|
-
let searchValue = '';
|
|
30
|
-
$: result = [];
|
|
31
|
-
$: headers = Array.from(new Set(result.flatMap((row) => Object.keys(row))));
|
|
32
|
-
$: extraQueryParams = search === 'Backend' ? { search: searchValue, page } : { page };
|
|
33
|
-
function searchInResult(result, searchValue) {
|
|
34
|
-
if (searchValue === '') {
|
|
35
|
-
return result;
|
|
36
|
-
}
|
|
37
|
-
return result.filter((row) => Object.values(row).some((value) => value.toString().includes(searchValue)));
|
|
38
|
-
}
|
|
39
|
-
let filteredResult = [];
|
|
40
|
-
$: search === 'Frontend' && (filteredResult = searchInResult(result, searchValue));
|
|
41
|
-
$: (search === 'Backend' || search === 'Disabled') && (filteredResult = result);
|
|
42
|
-
</script>
|
|
43
|
-
|
|
44
|
-
<InputValue input={configuration.search} bind:value={search} />
|
|
45
|
-
<InputValue input={configuration.pagination} bind:value={pagination} />
|
|
46
|
-
|
|
47
|
-
<RunnableWrapper bind:componentInput {id} bind:result {extraQueryParams}>
|
|
48
|
-
<div class="gap-2 flex flex-col mt-2">
|
|
49
|
-
{#if search !== 'Disabled'}
|
|
50
|
-
<div>
|
|
51
|
-
<div>
|
|
52
|
-
<DebouncedInput placeholder="Search..." bind:value={searchValue} />
|
|
53
|
-
</div>
|
|
54
|
-
</div>
|
|
55
|
-
{/if}
|
|
56
|
-
<div class="flex flex-col">
|
|
57
|
-
<table class="divide-y divide-gray-300 border">
|
|
58
|
-
{#if headers}
|
|
59
|
-
<thead class="bg-gray-50">
|
|
60
|
-
<tr>
|
|
61
|
-
{#each headers as header}
|
|
62
|
-
<th
|
|
63
|
-
scope="col"
|
|
64
|
-
class="px-4 py-2 text-left text-xs font-medium text-gray-500 tracking-wider"
|
|
65
|
-
>
|
|
66
|
-
{header.replace(/([A-Z]+)*([A-Z][a-z])/g, '$1 $2')}
|
|
67
|
-
</th>
|
|
68
|
-
{/each}
|
|
69
|
-
<th scope="col" class="relative py-2 px-4">
|
|
70
|
-
<span class="sr-only">Edit</span>
|
|
71
|
-
</th>
|
|
72
|
-
</tr>
|
|
73
|
-
</thead>
|
|
74
|
-
{/if}
|
|
75
|
-
<tbody class="divide-y divide-gray-200 bg-white">
|
|
76
|
-
{#each filteredResult as row, rowIndex (rowIndex)}
|
|
77
|
-
<tr
|
|
78
|
-
class={classNames(
|
|
79
|
-
selectedRowIndex === rowIndex ? 'bg-blue-100 hover:bg-blue-200' : 'hover:bg-blue-50'
|
|
80
|
-
)}
|
|
81
|
-
on:click={() => toggleRow(row, rowIndex)}
|
|
82
|
-
>
|
|
83
|
-
{#each headers as header}
|
|
84
|
-
<td class="px-4 py-2 whitespace-nowrap text-sm text-gray-900">
|
|
85
|
-
{row[header]}
|
|
86
|
-
</td>
|
|
87
|
-
{/each}
|
|
88
|
-
<td class="relative whitespace-nowrap px-4 py-2 text-right ">
|
|
89
|
-
{#if actionButtons?.length > 0}
|
|
90
|
-
<div class="center-center gap-2">
|
|
91
|
-
{#each actionButtons as props}
|
|
92
|
-
<AppButton
|
|
93
|
-
{...props}
|
|
94
|
-
extraQueryParams={{ row }}
|
|
95
|
-
bind:componentInput={props.componentInput}
|
|
96
|
-
bind:staticOutputs={$staticOutputsStore[props.id]}
|
|
97
|
-
/>
|
|
98
|
-
{/each}
|
|
99
|
-
</div>
|
|
100
|
-
{/if}
|
|
101
|
-
</td>
|
|
102
|
-
</tr>
|
|
103
|
-
{/each}
|
|
104
|
-
</tbody>
|
|
105
|
-
</table>
|
|
106
|
-
</div>
|
|
107
|
-
|
|
108
|
-
{#if pagination}
|
|
109
|
-
<div class="flex flex-row gap-2">
|
|
110
|
-
<Button
|
|
111
|
-
on:click={() => {
|
|
112
|
-
page = page - 1
|
|
113
|
-
}}
|
|
114
|
-
color="light"
|
|
115
|
-
size="xs"
|
|
116
|
-
variant="border"
|
|
117
|
-
disabled={page === 1}
|
|
118
|
-
>
|
|
119
|
-
Previous
|
|
120
|
-
</Button>
|
|
121
|
-
<Button
|
|
122
|
-
on:click={() => {
|
|
123
|
-
page = page + 1
|
|
124
|
-
}}
|
|
125
|
-
color="light"
|
|
126
|
-
size="xs"
|
|
127
|
-
variant="border">Next</Button
|
|
128
|
-
>
|
|
129
|
-
</div>
|
|
130
|
-
{/if}
|
|
131
|
-
</div>
|
|
132
|
-
</RunnableWrapper>
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
- Input () => any
|
|
2
|
-
|
|
3
|
-
- text field
|
|
4
|
-
- Checkbox
|
|
5
|
-
- select
|
|
6
|
-
|
|
7
|
-
- Display: (data: Static | Connect | Result, configuration: List<Static>) => Outputs
|
|
8
|
-
|
|
9
|
-
- Table :
|
|
10
|
-
actions: List<Button>,
|
|
11
|
-
configuration: {
|
|
12
|
-
Search: Frontend | Backend | Disabled,
|
|
13
|
-
Pagination: Frontend | Backend | Disabled
|
|
14
|
-
}
|
|
15
|
-
Outputs: {
|
|
16
|
-
selectedRow,
|
|
17
|
-
page,
|
|
18
|
-
data
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
- Charts
|
|
22
|
-
Outputs: {
|
|
23
|
-
data,
|
|
24
|
-
selected: {
|
|
25
|
-
id,
|
|
26
|
-
value
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
- Text
|
|
31
|
-
Outputs: {
|
|
32
|
-
data,
|
|
33
|
-
}
|
|
34
|
-
- Image
|
|
35
|
-
Outputs: {
|
|
36
|
-
data,
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
IFrame: URL => void
|
|
40
|
-
outputs: Record<id, any>
|
|
41
|
-
|
|
42
|
-
- Run form (action: Result, configuration: List<Static>) => any
|
|
43
|
-
- Button (action: Result | ForceRefresh, configuration: List<Static>) => any
|
|
44
|
-
|
|
45
|
-
Result (fields: List<Static | Connect | User >) => Data
|
|
46
|
-
|
|
47
|
-
ForceRefresh (List<ID of Display>) => void
|
|
48
|
-
|
|
49
|
-
Global Refresh
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
<script>import { Button } from '../../../common';
|
|
2
|
-
import { Preview } from '../../../../gen';
|
|
3
|
-
import { DENO_INIT_CODE_CLEAR } from '../../../../script_helpers';
|
|
4
|
-
import { emptySchema } from '../../../../utils';
|
|
5
|
-
import { getContext } from 'svelte';
|
|
6
|
-
const { app } = getContext('AppEditorContext');
|
|
7
|
-
export let appPath;
|
|
8
|
-
function createScript() {
|
|
9
|
-
const scriptPath = 'name';
|
|
10
|
-
const path = `${appPath}/inline-script/${scriptPath}`;
|
|
11
|
-
const inlineScript = {
|
|
12
|
-
content: DENO_INIT_CODE_CLEAR,
|
|
13
|
-
language: Preview.language.DENO,
|
|
14
|
-
path,
|
|
15
|
-
schema: emptySchema()
|
|
16
|
-
};
|
|
17
|
-
if ($app.inlineScripts) {
|
|
18
|
-
$app.inlineScripts[scriptPath] = inlineScript;
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
$app.inlineScripts = {
|
|
22
|
-
[scriptPath]: inlineScript
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
</script>
|
|
27
|
-
|
|
28
|
-
<input value="" />
|
|
29
|
-
<Button on:click={createScript}>Create</Button>
|