windmill-components 1.56.2 → 1.57.1
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 +5 -1
- package/components/ArgInput.svelte +6 -6
- package/components/CenteredModal.svelte +15 -14
- package/components/CenteredModal.svelte.d.ts +1 -0
- package/components/DisplayResult.svelte +1 -1
- package/components/Dropdown.svelte +4 -3
- package/components/Dropdown.svelte.d.ts +2 -0
- package/components/Editor.svelte +6 -4
- package/components/Editor.svelte.d.ts +2 -0
- package/components/EditorBar.svelte +15 -1
- package/components/FlowBuilder.svelte +18 -10
- package/components/FlowPreviewContent.svelte +1 -1
- package/components/GroupEditor.svelte +1 -0
- package/components/IconedResourceType.svelte +2 -2
- package/components/InputTransformForm.svelte +50 -40
- package/components/InputTransformForm.svelte.d.ts +1 -0
- package/components/ItemPicker.svelte +63 -57
- package/components/ItemPicker.svelte.d.ts +1 -2
- package/components/LogViewer.svelte +6 -5
- package/components/ModulePreview.svelte +20 -22
- package/components/MoveDrawer.svelte +40 -16
- package/components/MoveDrawer.svelte.d.ts +2 -2
- package/components/PageHeader.svelte +1 -1
- package/components/Path.svelte +5 -2
- package/components/Popover.svelte +14 -20
- package/components/Popover.svelte.d.ts +5 -0
- package/components/RadioButton.svelte +5 -3
- package/components/RadioButton.svelte.d.ts +2 -0
- package/components/ResourceEditor.svelte +2 -1
- package/components/ResourcePicker.svelte +1 -0
- package/components/RunChart.svelte +0 -1
- package/components/SchemaEditor.svelte +3 -0
- package/components/SchemaForm.svelte +86 -77
- package/components/SchemaForm.svelte.d.ts +4 -0
- package/components/ScriptBuilder.svelte +2 -1
- package/components/ScriptEditor.svelte +88 -77
- package/components/ShareModal.svelte.d.ts +2 -2
- package/components/SimpleEditor.svelte +17 -0
- package/components/Star.svelte +15 -9
- package/components/StringTypeNarrowing.svelte +30 -8
- package/components/TemplateEditor.svelte +21 -11
- package/components/TestJobLoader.svelte +94 -68
- package/components/TestJobLoader.svelte.d.ts +10 -8
- package/components/Toggle.svelte +30 -7
- package/components/Toggle.svelte.d.ts +4 -0
- package/components/Tooltip.svelte +1 -1
- package/components/VariableEditor.svelte +4 -3
- package/components/VariableEditor.svelte.d.ts +2 -2
- package/components/apps/components/DisplayComponent.svelte +1 -1
- package/components/apps/components/buttons/AppButton.svelte +16 -10
- package/components/apps/components/buttons/AppButton.svelte.d.ts +1 -0
- package/components/apps/components/dataDisplay/AppBarChart.svelte +17 -8
- package/components/apps/components/dataDisplay/AppHtml.svelte +23 -0
- package/components/apps/components/dataDisplay/AppHtml.svelte.d.ts +23 -0
- package/components/apps/components/dataDisplay/AppPieChart.svelte +11 -7
- package/components/apps/components/dataDisplay/AppScatterChart.svelte +46 -0
- package/components/apps/components/dataDisplay/AppScatterChart.svelte.d.ts +21 -0
- package/components/apps/components/dataDisplay/AppText.svelte +44 -7
- package/components/apps/components/dataDisplay/AppText.svelte.d.ts +1 -0
- package/components/apps/components/dataDisplay/AppTimeseries.svelte +57 -0
- package/components/apps/components/dataDisplay/AppTimeseries.svelte.d.ts +22 -0
- package/components/apps/components/form/AppForm.svelte +35 -18
- package/components/apps/components/helpers/AlignWrapper.svelte +2 -1
- package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +1 -0
- package/components/apps/components/helpers/InputValue.svelte +20 -14
- package/components/apps/components/helpers/InputValue.svelte.d.ts +3 -0
- package/components/apps/components/helpers/NonRunnableComponent.svelte +7 -6
- package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +1 -1
- package/components/apps/components/helpers/RefreshButton.svelte +16 -11
- package/components/apps/components/helpers/RefreshButton.svelte.d.ts +2 -0
- package/components/apps/components/helpers/RunnableComponent.svelte +119 -102
- package/components/apps/components/helpers/RunnableWrapper.svelte +6 -1
- package/components/apps/components/selectInputs/AppCheckbox.svelte +4 -0
- package/components/apps/components/selectInputs/AppSelect.svelte +2 -0
- package/components/apps/components/table/AppTable.svelte +64 -35
- package/components/apps/components/table/AppTableFooter.svelte +2 -1
- package/components/apps/components/table/tableOptions.d.ts +2 -9
- package/components/apps/components/table/tableOptions.js +5 -2
- package/components/apps/components/textInputs/AppTextInput.svelte +7 -4
- package/components/apps/editor/AppEditor.svelte +136 -65
- package/components/apps/editor/AppEditor.svelte.d.ts +3 -0
- package/components/apps/editor/AppEditorHeader.svelte +349 -51
- package/components/apps/editor/AppEditorHeader.svelte.d.ts +2 -4
- package/components/apps/editor/AppExportButton.svelte +34 -0
- package/components/apps/editor/AppExportButton.svelte.d.ts +17 -0
- package/components/apps/editor/AppPreview.svelte +20 -7
- package/components/apps/editor/AppPreview.svelte.d.ts +6 -0
- package/components/apps/editor/AppPublishButton.svelte +53 -0
- package/components/apps/editor/AppPublishButton.svelte.d.ts +18 -0
- package/components/apps/editor/ComponentEditor.svelte +39 -8
- package/components/apps/editor/ComponentEditor.svelte.d.ts +1 -0
- package/components/apps/editor/ComponentHeader.svelte +38 -29
- package/components/apps/editor/ComponentHeader.svelte.d.ts +3 -1
- package/components/apps/editor/GridEditor.svelte +105 -67
- package/components/apps/editor/GridEditor.svelte.d.ts +6 -1
- package/components/apps/editor/RecomputeAllComponents.svelte +80 -19
- package/components/apps/editor/SettingsPanel.svelte +2 -2
- package/components/apps/editor/TablePanel.svelte +1 -0
- package/components/apps/editor/componentsPanel/ComponentList.svelte +30 -39
- package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +2 -1
- package/components/apps/editor/componentsPanel/componentStaticValues.js +3 -2
- package/components/apps/editor/componentsPanel/data.js +201 -91
- package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +1 -0
- package/components/apps/editor/contextPanel/ContextPanel.svelte +69 -47
- package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +6 -2
- package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte.d.ts +1 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +56 -20
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +5 -1
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +2 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +72 -23
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte.d.ts +1 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +30 -22
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +78 -77
- package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +38 -33
- package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +4 -4
- package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +1 -11
- package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +27 -9
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte +19 -24
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +1 -0
- package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +12 -5
- package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +2 -3
- package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +59 -33
- package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +5 -2
- package/components/apps/editor/settingsPanel/Recompute.svelte +2 -2
- package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +21 -3
- package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +1 -3
- package/components/apps/editor/settingsPanel/SubTypeEditor.svelte.d.ts +0 -1
- package/components/apps/editor/settingsPanel/TableActions.svelte +27 -18
- package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +1 -0
- package/components/apps/editor/settingsPanel/common/PanelSection.svelte +10 -2
- package/components/apps/editor/settingsPanel/common/PanelSection.svelte.d.ts +3 -0
- package/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte +6 -4
- package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +24 -0
- package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +17 -0
- package/components/apps/editor/settingsPanel/inputEditor/RowInputEditor.svelte +6 -0
- package/components/apps/editor/settingsPanel/inputEditor/RowInputEditor.svelte.d.ts +17 -0
- package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +11 -21
- package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +0 -1
- package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +1 -2
- package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +42 -13
- package/components/apps/editorUtils.d.ts +1 -0
- package/components/apps/editorUtils.js +11 -0
- package/components/apps/gridUtils.js +2 -1
- package/components/apps/inputType.d.ts +12 -6
- package/components/apps/rx.d.ts +3 -3
- package/components/apps/rx.js +9 -4
- package/components/apps/store.d.ts +2 -0
- package/components/apps/store.js +2 -0
- package/components/apps/types.d.ts +20 -4
- package/components/apps/utils.d.ts +2 -2
- package/components/apps/utils.js +25 -9
- package/components/common/button/Button.svelte +8 -8
- package/components/common/button/Button.svelte.d.ts +2 -0
- package/components/common/confirmationModal/ConfirmationModal.svelte +1 -0
- package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +4 -1
- package/components/common/popup/Popup.svelte +1 -1
- package/components/common/table/AppRow.svelte +31 -4
- package/components/common/table/AppRow.svelte.d.ts +4 -0
- package/components/common/table/FlowRow.svelte +9 -5
- package/components/common/table/Row.svelte +10 -8
- package/components/common/table/ScriptRow.svelte +15 -13
- package/components/common/tabs/Tabs.svelte +1 -1
- package/components/common/toggleButton/ToggleButton.svelte +2 -0
- package/components/common/toggleButton/ToggleButton.svelte.d.ts +1 -0
- package/components/flows/CreateActionsApp.svelte +43 -0
- package/components/flows/CreateActionsApp.svelte.d.ts +14 -0
- package/components/flows/CreateActionsFlow.svelte +6 -1
- package/components/flows/content/DynamicInputHelpBox.svelte +1 -1
- package/components/flows/content/FlowConstants.svelte +82 -0
- package/components/flows/content/FlowConstants.svelte.d.ts +14 -0
- package/components/flows/content/FlowEditorPanel.svelte +3 -0
- package/components/flows/content/FlowInputs.svelte +2 -2
- package/components/flows/content/FlowModuleComponent.svelte +4 -1
- package/components/flows/content/FlowModuleHeader.svelte +41 -89
- package/components/flows/content/FlowModuleHeader.svelte.d.ts +2 -2
- package/components/flows/content/FlowSettings.svelte +1 -1
- package/components/flows/flowStore.d.ts +1 -1
- package/components/flows/flowStore.js +8 -8
- package/components/flows/header/FlowImportExportMenu.svelte +1 -1
- package/components/flows/header/FlowPreviewButtons.svelte +2 -1
- package/components/flows/map/FlowConstantsItem.svelte +13 -0
- package/components/flows/map/FlowConstantsItem.svelte.d.ts +14 -0
- package/components/flows/map/FlowInputsItem.svelte +1 -2
- package/components/flows/map/FlowModuleSchemaItem.svelte +34 -25
- package/components/flows/map/FlowModuleSchemaMap.svelte +9 -3
- package/components/flows/map/FlowSettingsItem.svelte +6 -8
- package/components/flows/pickers/PickHubScript.svelte +1 -1
- package/components/flows/propPicker/PropPickerWrapper.svelte +42 -31
- package/components/home/ItemsList.svelte +6 -4
- package/components/icons/ClickhouseIcon.svelte +22 -0
- package/components/icons/ClickhouseIcon.svelte.d.ts +17 -0
- package/components/icons/FaunadbIcon.svelte +19 -0
- package/components/icons/FaunadbIcon.svelte.d.ts +17 -0
- package/components/icons/OpenaiIcon.svelte +18 -0
- package/components/icons/OpenaiIcon.svelte.d.ts +17 -0
- package/components/icons/index.d.ts +7 -1
- package/components/icons/index.js +8 -2
- package/components/propertyPicker/ObjectViewer.svelte +11 -4
- package/components/propertyPicker/PropPicker.svelte +1 -1
- package/components/scriptEditor/LogPanel.svelte +26 -22
- package/components/sidebar/FavoriteMenu.svelte +23 -19
- package/components/sidebar/SidebarContent.svelte +16 -16
- package/components/sidebar/WorkspaceMenu.svelte +18 -17
- package/components/splitPanes/SplitPanesWrapper.svelte +1 -5
- package/components/splitPanes/SplitPanesWrapper.svelte.d.ts +0 -1
- package/editorUtils.js +2 -0
- package/gen/core/OpenAPI.js +1 -1
- package/gen/models/Policy.d.ts +1 -0
- package/gen/services/AppService.d.ts +18 -0
- package/gen/services/AppService.js +30 -0
- package/gen/services/GranularAclService.d.ts +3 -3
- package/gen/services/ResourceService.d.ts +15 -0
- package/gen/services/ResourceService.js +17 -0
- package/infer.js +4 -0
- package/logout.d.ts +1 -0
- package/logout.js +5 -3
- package/package.json +502 -489
- package/stores.d.ts +1 -0
- package/stores.js +13 -5
- package/utils.d.ts +1 -1
- package/utils.js +17 -10
- package/components/apps/CreateApp.svelte +0 -68
- package/components/apps/CreateApp.svelte.d.ts +0 -14
|
@@ -3,30 +3,55 @@ const inputs = {
|
|
|
3
3
|
title: 'Inputs',
|
|
4
4
|
components: [
|
|
5
5
|
{
|
|
6
|
+
softWrap: true,
|
|
6
7
|
verticalAlignment: 'center',
|
|
7
8
|
id: 'textinputcomponent',
|
|
8
9
|
type: 'textinputcomponent',
|
|
9
10
|
componentInput: undefined,
|
|
10
|
-
configuration: {
|
|
11
|
+
configuration: {
|
|
12
|
+
placeholder: {
|
|
13
|
+
type: 'static',
|
|
14
|
+
value: 'Type...',
|
|
15
|
+
fieldType: 'text',
|
|
16
|
+
onlyStatic: true,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
11
19
|
card: false
|
|
12
20
|
},
|
|
13
21
|
{
|
|
22
|
+
softWrap: true,
|
|
14
23
|
verticalAlignment: 'center',
|
|
15
24
|
id: 'passwordinputcomponent',
|
|
16
25
|
type: 'passwordinputcomponent',
|
|
17
26
|
componentInput: undefined,
|
|
18
|
-
configuration: {
|
|
27
|
+
configuration: {
|
|
28
|
+
placeholder: {
|
|
29
|
+
type: 'static',
|
|
30
|
+
value: 'Password',
|
|
31
|
+
fieldType: 'text',
|
|
32
|
+
onlyStatic: true,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
19
35
|
card: false
|
|
20
36
|
},
|
|
21
37
|
{
|
|
38
|
+
softWrap: true,
|
|
22
39
|
verticalAlignment: 'center',
|
|
23
40
|
id: 'numberinputcomponent',
|
|
24
41
|
type: 'numberinputcomponent',
|
|
25
42
|
componentInput: undefined,
|
|
26
|
-
configuration: {
|
|
43
|
+
configuration: {
|
|
44
|
+
placeholder: {
|
|
45
|
+
type: 'static',
|
|
46
|
+
value: 'Type...',
|
|
47
|
+
fieldType: 'text',
|
|
48
|
+
onlyStatic: true,
|
|
49
|
+
},
|
|
50
|
+
},
|
|
27
51
|
card: false
|
|
28
52
|
},
|
|
29
53
|
{
|
|
54
|
+
softWrap: true,
|
|
30
55
|
verticalAlignment: 'center',
|
|
31
56
|
id: 'dateinputcomponent',
|
|
32
57
|
type: 'dateinputcomponent',
|
|
@@ -34,34 +59,28 @@ const inputs = {
|
|
|
34
59
|
configuration: {
|
|
35
60
|
minDate: {
|
|
36
61
|
type: 'static',
|
|
37
|
-
visible: false,
|
|
38
62
|
value: '',
|
|
39
63
|
fieldType: 'date',
|
|
40
|
-
defaultValue: ''
|
|
41
64
|
},
|
|
42
65
|
maxDate: {
|
|
43
66
|
type: 'static',
|
|
44
|
-
visible: false,
|
|
45
67
|
value: '',
|
|
46
68
|
fieldType: 'date',
|
|
47
|
-
defaultValue: ''
|
|
48
69
|
}
|
|
49
70
|
},
|
|
50
71
|
card: false,
|
|
51
|
-
softWrap: true
|
|
52
72
|
},
|
|
53
73
|
{
|
|
54
74
|
...defaultAlignement,
|
|
75
|
+
softWrap: true,
|
|
55
76
|
id: 'checkboxcomponent',
|
|
56
77
|
type: 'checkboxcomponent',
|
|
57
78
|
componentInput: undefined,
|
|
58
79
|
configuration: {
|
|
59
80
|
label: {
|
|
60
81
|
type: 'static',
|
|
61
|
-
visible: true,
|
|
62
82
|
value: 'Label',
|
|
63
|
-
fieldType: '
|
|
64
|
-
defaultValue: 'Label'
|
|
83
|
+
fieldType: 'text',
|
|
65
84
|
}
|
|
66
85
|
},
|
|
67
86
|
card: false
|
|
@@ -76,10 +95,6 @@ const inputs = {
|
|
|
76
95
|
type: 'static',
|
|
77
96
|
fieldType: 'array',
|
|
78
97
|
subFieldType: 'object',
|
|
79
|
-
defaultValue: [
|
|
80
|
-
{ value: 'foo', label: 'Foo' },
|
|
81
|
-
{ value: 'bar', label: 'Bar' }
|
|
82
|
-
],
|
|
83
98
|
value: [
|
|
84
99
|
{ value: 'foo', label: 'Foo' },
|
|
85
100
|
{ value: 'bar', label: 'Bar' }
|
|
@@ -88,7 +103,6 @@ const inputs = {
|
|
|
88
103
|
itemKey: {
|
|
89
104
|
type: 'static',
|
|
90
105
|
fieldType: 'text',
|
|
91
|
-
defaultValue: 'value',
|
|
92
106
|
value: 'value'
|
|
93
107
|
}
|
|
94
108
|
},
|
|
@@ -102,6 +116,7 @@ const buttons = {
|
|
|
102
116
|
components: [
|
|
103
117
|
{
|
|
104
118
|
...defaultAlignement,
|
|
119
|
+
softWrap: true,
|
|
105
120
|
id: 'buttoncomponent',
|
|
106
121
|
type: 'buttoncomponent',
|
|
107
122
|
componentInput: {
|
|
@@ -109,32 +124,27 @@ const buttons = {
|
|
|
109
124
|
fieldType: 'any',
|
|
110
125
|
fields: {},
|
|
111
126
|
runnable: undefined,
|
|
112
|
-
defaultValue: undefined
|
|
113
127
|
},
|
|
114
128
|
recomputeIds: undefined,
|
|
115
129
|
configuration: {
|
|
116
130
|
label: {
|
|
117
131
|
type: 'static',
|
|
118
|
-
|
|
119
|
-
value: '
|
|
120
|
-
fieldType: 'textarea',
|
|
121
|
-
defaultValue: 'Lorem ipsum'
|
|
132
|
+
fieldType: 'text',
|
|
133
|
+
value: 'Press me'
|
|
122
134
|
},
|
|
123
135
|
color: {
|
|
124
136
|
fieldType: 'select',
|
|
125
137
|
type: 'static',
|
|
126
|
-
|
|
127
|
-
value: 'blue',
|
|
138
|
+
onlyStatic: true,
|
|
128
139
|
optionValuesKey: 'buttonColorOptions',
|
|
129
|
-
|
|
140
|
+
value: 'blue'
|
|
130
141
|
},
|
|
131
142
|
size: {
|
|
132
143
|
fieldType: 'select',
|
|
133
144
|
type: 'static',
|
|
134
|
-
|
|
135
|
-
value: 'xs',
|
|
145
|
+
onlyStatic: true,
|
|
136
146
|
optionValuesKey: 'buttonSizeOptions',
|
|
137
|
-
|
|
147
|
+
value: 'xs'
|
|
138
148
|
}
|
|
139
149
|
},
|
|
140
150
|
card: false
|
|
@@ -148,32 +158,27 @@ const buttons = {
|
|
|
148
158
|
fieldType: 'any',
|
|
149
159
|
fields: {},
|
|
150
160
|
runnable: undefined,
|
|
151
|
-
defaultValue: undefined
|
|
152
161
|
},
|
|
153
162
|
recomputeIds: undefined,
|
|
154
163
|
configuration: {
|
|
155
164
|
label: {
|
|
156
165
|
type: 'static',
|
|
157
|
-
visible: true,
|
|
158
166
|
value: 'Submit',
|
|
159
|
-
fieldType: '
|
|
160
|
-
defaultValue: 'formcomponent'
|
|
167
|
+
fieldType: 'text',
|
|
161
168
|
},
|
|
162
169
|
color: {
|
|
163
170
|
fieldType: 'select',
|
|
164
171
|
type: 'static',
|
|
165
|
-
|
|
172
|
+
onlyStatic: true,
|
|
166
173
|
value: 'dark',
|
|
167
174
|
optionValuesKey: 'buttonColorOptions',
|
|
168
|
-
defaultValue: 'dark'
|
|
169
175
|
},
|
|
170
176
|
size: {
|
|
171
177
|
fieldType: 'select',
|
|
172
178
|
type: 'static',
|
|
173
|
-
visible: true,
|
|
174
179
|
value: 'xs',
|
|
180
|
+
onlyStatic: true,
|
|
175
181
|
optionValuesKey: 'buttonSizeOptions',
|
|
176
|
-
defaultValue: 'xs'
|
|
177
182
|
}
|
|
178
183
|
},
|
|
179
184
|
card: true
|
|
@@ -184,17 +189,48 @@ const display = {
|
|
|
184
189
|
title: 'Display',
|
|
185
190
|
components: [
|
|
186
191
|
{
|
|
187
|
-
|
|
192
|
+
softWrap: false,
|
|
193
|
+
id: 'htmlcomponent',
|
|
194
|
+
type: 'htmlcomponent',
|
|
195
|
+
componentInput: {
|
|
196
|
+
type: 'static',
|
|
197
|
+
fieldType: 'template',
|
|
198
|
+
value: `<img
|
|
199
|
+
src="https://images.unsplash.com/photo-1554629947-334ff61d85dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1024&h=1280&q=80"
|
|
200
|
+
>
|
|
201
|
+
<div class="absolute top-4 left-2 text-white">
|
|
202
|
+
Hello \${ctx.username}
|
|
203
|
+
</div>
|
|
204
|
+
`,
|
|
205
|
+
},
|
|
206
|
+
configuration: {},
|
|
207
|
+
card: false
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
softWrap: true,
|
|
211
|
+
horizontalAlignment: 'left',
|
|
212
|
+
verticalAlignment: 'top',
|
|
188
213
|
id: 'textcomponent',
|
|
189
214
|
type: 'textcomponent',
|
|
190
215
|
componentInput: {
|
|
191
216
|
type: 'static',
|
|
192
|
-
|
|
193
|
-
value: '
|
|
194
|
-
|
|
195
|
-
|
|
217
|
+
fieldType: 'template',
|
|
218
|
+
value: 'Hello ${ctx.username}',
|
|
219
|
+
},
|
|
220
|
+
configuration: {
|
|
221
|
+
style: {
|
|
222
|
+
fieldType: 'select',
|
|
223
|
+
type: 'static',
|
|
224
|
+
onlyStatic: true,
|
|
225
|
+
optionValuesKey: 'textStyleOptions',
|
|
226
|
+
value: 'Body'
|
|
227
|
+
},
|
|
228
|
+
extraStyle: {
|
|
229
|
+
type: 'static',
|
|
230
|
+
fieldType: 'text',
|
|
231
|
+
value: '',
|
|
232
|
+
},
|
|
196
233
|
},
|
|
197
|
-
configuration: {},
|
|
198
234
|
card: false
|
|
199
235
|
},
|
|
200
236
|
{
|
|
@@ -204,46 +240,27 @@ const display = {
|
|
|
204
240
|
search: {
|
|
205
241
|
fieldType: 'select',
|
|
206
242
|
type: 'static',
|
|
207
|
-
|
|
243
|
+
onlyStatic: true,
|
|
208
244
|
optionValuesKey: 'tableSearchOptions',
|
|
209
|
-
|
|
210
|
-
},
|
|
211
|
-
pagination: {
|
|
212
|
-
type: 'static',
|
|
213
|
-
value: false,
|
|
214
|
-
fieldType: 'boolean',
|
|
215
|
-
visible: true,
|
|
216
|
-
defaultValue: false
|
|
245
|
+
value: 'Disabled'
|
|
217
246
|
}
|
|
218
247
|
},
|
|
219
248
|
componentInput: {
|
|
220
249
|
type: 'static',
|
|
221
250
|
fieldType: 'array',
|
|
222
251
|
subFieldType: 'object',
|
|
223
|
-
defaultValue: [
|
|
224
|
-
{
|
|
225
|
-
id: 1,
|
|
226
|
-
name: 'Lorem ipsum',
|
|
227
|
-
age: 42
|
|
228
|
-
},
|
|
229
|
-
{
|
|
230
|
-
id: 2,
|
|
231
|
-
name: 'Lorem ipsum',
|
|
232
|
-
age: 42
|
|
233
|
-
}
|
|
234
|
-
],
|
|
235
252
|
value: [
|
|
236
253
|
{
|
|
237
254
|
id: 1,
|
|
238
|
-
name: '
|
|
255
|
+
name: 'A cell with a long name',
|
|
239
256
|
age: 42
|
|
240
257
|
},
|
|
241
258
|
{
|
|
242
259
|
id: 2,
|
|
243
|
-
name: '
|
|
244
|
-
age:
|
|
260
|
+
name: 'A briefer cell',
|
|
261
|
+
age: 84
|
|
245
262
|
}
|
|
246
|
-
]
|
|
263
|
+
],
|
|
247
264
|
},
|
|
248
265
|
card: true,
|
|
249
266
|
actionButtons: []
|
|
@@ -254,25 +271,22 @@ const display = {
|
|
|
254
271
|
configuration: {
|
|
255
272
|
theme: {
|
|
256
273
|
type: 'static',
|
|
257
|
-
|
|
274
|
+
onlyStatic: true,
|
|
258
275
|
fieldType: 'select',
|
|
259
276
|
optionValuesKey: 'chartThemeOptions',
|
|
260
|
-
|
|
277
|
+
value: 'theme1'
|
|
261
278
|
},
|
|
262
|
-
|
|
279
|
+
doughnutStyle: {
|
|
263
280
|
type: 'static',
|
|
264
|
-
|
|
265
|
-
fieldType: '
|
|
266
|
-
|
|
267
|
-
defaultValue: ['First', 'Second', 'Third']
|
|
281
|
+
onlyStatic: true,
|
|
282
|
+
fieldType: 'boolean',
|
|
283
|
+
value: false
|
|
268
284
|
}
|
|
269
285
|
},
|
|
270
286
|
componentInput: {
|
|
271
287
|
type: 'static',
|
|
272
|
-
fieldType: '
|
|
273
|
-
|
|
274
|
-
defaultValue: [25, 50, 25],
|
|
275
|
-
value: [25, 50, 25]
|
|
288
|
+
fieldType: 'object',
|
|
289
|
+
value: { data: [25, 50, 25], labels: ['Pie', 'Charts', '<3'] }
|
|
276
290
|
},
|
|
277
291
|
card: true
|
|
278
292
|
},
|
|
@@ -282,25 +296,122 @@ const display = {
|
|
|
282
296
|
configuration: {
|
|
283
297
|
theme: {
|
|
284
298
|
type: 'static',
|
|
285
|
-
|
|
299
|
+
onlyStatic: true,
|
|
286
300
|
fieldType: 'select',
|
|
287
301
|
optionValuesKey: 'chartThemeOptions',
|
|
288
|
-
|
|
302
|
+
value: 'theme1'
|
|
289
303
|
},
|
|
290
|
-
|
|
304
|
+
line: {
|
|
291
305
|
type: 'static',
|
|
292
|
-
|
|
293
|
-
fieldType: '
|
|
294
|
-
|
|
295
|
-
defaultValue: ['Lorem ipsum', 'Lorem ipsum', 'Lorem ipsum']
|
|
306
|
+
onlyStatic: true,
|
|
307
|
+
fieldType: 'boolean',
|
|
308
|
+
value: false
|
|
296
309
|
}
|
|
297
310
|
},
|
|
311
|
+
componentInput: {
|
|
312
|
+
type: 'static',
|
|
313
|
+
fieldType: 'object',
|
|
314
|
+
value: { data: [25, 50, 25], labels: ['Bar', 'Charts', '<3'] }
|
|
315
|
+
},
|
|
316
|
+
card: true
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
id: 'scatterchartcomponent',
|
|
320
|
+
type: 'scatterchartcomponent',
|
|
321
|
+
configuration: {
|
|
322
|
+
zoomable: {
|
|
323
|
+
type: 'static',
|
|
324
|
+
onlyStatic: true,
|
|
325
|
+
fieldType: 'boolean',
|
|
326
|
+
value: false
|
|
327
|
+
},
|
|
328
|
+
pannable: {
|
|
329
|
+
type: 'static',
|
|
330
|
+
onlyStatic: true,
|
|
331
|
+
fieldType: 'boolean',
|
|
332
|
+
value: false
|
|
333
|
+
},
|
|
334
|
+
},
|
|
298
335
|
componentInput: {
|
|
299
336
|
type: 'static',
|
|
300
337
|
fieldType: 'array',
|
|
301
|
-
subFieldType: '
|
|
302
|
-
|
|
303
|
-
|
|
338
|
+
subFieldType: 'object',
|
|
339
|
+
value: [{
|
|
340
|
+
label: 'foo',
|
|
341
|
+
data: [
|
|
342
|
+
{ x: 25, y: 50 },
|
|
343
|
+
{ x: 23, y: 23 },
|
|
344
|
+
{ x: 12, y: 37 }
|
|
345
|
+
],
|
|
346
|
+
backgroundColor: 'rgb(255, 12, 137)'
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
label: 'foobar',
|
|
350
|
+
data: [
|
|
351
|
+
{ x: 32, y: 32 },
|
|
352
|
+
{ x: 25, y: 42 },
|
|
353
|
+
{ x: 3, y: 27 }
|
|
354
|
+
],
|
|
355
|
+
backgroundColor: 'orange'
|
|
356
|
+
}]
|
|
357
|
+
},
|
|
358
|
+
card: true
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
id: 'timeseriescomponent',
|
|
362
|
+
type: 'timeseriescomponent',
|
|
363
|
+
configuration: {
|
|
364
|
+
logarithmicScale: {
|
|
365
|
+
type: 'static',
|
|
366
|
+
onlyStatic: true,
|
|
367
|
+
fieldType: 'boolean',
|
|
368
|
+
value: false
|
|
369
|
+
},
|
|
370
|
+
zoomable: {
|
|
371
|
+
type: 'static',
|
|
372
|
+
onlyStatic: true,
|
|
373
|
+
fieldType: 'boolean',
|
|
374
|
+
value: false
|
|
375
|
+
},
|
|
376
|
+
pannable: {
|
|
377
|
+
type: 'static',
|
|
378
|
+
onlyStatic: true,
|
|
379
|
+
fieldType: 'boolean',
|
|
380
|
+
value: false
|
|
381
|
+
},
|
|
382
|
+
},
|
|
383
|
+
componentInput: {
|
|
384
|
+
type: 'static',
|
|
385
|
+
fieldType: 'array',
|
|
386
|
+
subFieldType: 'object',
|
|
387
|
+
value: [{
|
|
388
|
+
label: 'foo',
|
|
389
|
+
data: [{
|
|
390
|
+
x: '2021-11-06 23:39:30',
|
|
391
|
+
y: 50
|
|
392
|
+
}, {
|
|
393
|
+
x: '2021-11-07 01:00:28',
|
|
394
|
+
y: 60
|
|
395
|
+
}, {
|
|
396
|
+
x: '2021-11-07 09:00:28',
|
|
397
|
+
y: 20
|
|
398
|
+
}],
|
|
399
|
+
backgroundColor: 'rgb(255, 12, 137)'
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
label: 'foobar',
|
|
403
|
+
data: [{
|
|
404
|
+
x: '2021-11-06 23:39:30',
|
|
405
|
+
y: 20
|
|
406
|
+
}, {
|
|
407
|
+
x: '2021-11-07 01:00:28',
|
|
408
|
+
y: 13
|
|
409
|
+
}, {
|
|
410
|
+
x: '2021-11-07 09:00:28',
|
|
411
|
+
y: 45
|
|
412
|
+
}],
|
|
413
|
+
backgroundColor: 'orange'
|
|
414
|
+
}]
|
|
304
415
|
},
|
|
305
416
|
card: true
|
|
306
417
|
},
|
|
@@ -309,13 +420,12 @@ const display = {
|
|
|
309
420
|
type: 'displaycomponent',
|
|
310
421
|
componentInput: {
|
|
311
422
|
type: 'static',
|
|
312
|
-
fieldType: '
|
|
313
|
-
|
|
314
|
-
value: 'Lorem Ipsum'
|
|
423
|
+
fieldType: 'object',
|
|
424
|
+
value: { "foo": 42 },
|
|
315
425
|
},
|
|
316
426
|
configuration: {},
|
|
317
427
|
card: false
|
|
318
|
-
}
|
|
428
|
+
},
|
|
319
429
|
]
|
|
320
430
|
};
|
|
321
431
|
const componentSets = [buttons, inputs, display];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script>import { classNames } from '../../../../utils';
|
|
2
2
|
import { getContext } from 'svelte';
|
|
3
|
+
import { key } from 'svelte-awesome/icons';
|
|
3
4
|
import { displayData } from '../../utils';
|
|
4
5
|
import PanelSection from '../settingsPanel/common/PanelSection.svelte';
|
|
5
6
|
import ComponentOutputViewer from './ComponentOutputViewer.svelte';
|
|
@@ -14,65 +15,86 @@ function connectInput(componentId, path) {
|
|
|
14
15
|
path
|
|
15
16
|
},
|
|
16
17
|
type: 'connected'
|
|
17
|
-
}
|
|
18
|
+
},
|
|
19
|
+
hoveredComponent: undefined
|
|
18
20
|
};
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
23
|
function getComponentNameById(componentId) {
|
|
22
|
-
const component = $app.grid.find((c) => c
|
|
24
|
+
const component = $app.grid.find((c) => c?.data?.id === componentId);
|
|
23
25
|
if (component?.data.type) {
|
|
24
26
|
return displayData[component?.data.type].name;
|
|
25
27
|
}
|
|
28
|
+
else if (componentId == 'ctx') {
|
|
29
|
+
return 'Context';
|
|
30
|
+
}
|
|
26
31
|
else {
|
|
27
32
|
return 'Table action';
|
|
28
33
|
}
|
|
29
34
|
}
|
|
35
|
+
$: panels = [['ctx', ['email', 'username']]].concat(Object.entries($staticOutputs));
|
|
30
36
|
</script>
|
|
31
37
|
|
|
32
|
-
<PanelSection title="Outputs">
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
$
|
|
41
|
-
? '
|
|
42
|
-
: '
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
38
|
+
<PanelSection noPadding titlePadding="px-4 pt-2" title="Outputs">
|
|
39
|
+
<div
|
|
40
|
+
class="overflow-auto min-w-[150px] border-t w-full relative flex flex-col gap-4 px-2 pt-4 pb-2"
|
|
41
|
+
>
|
|
42
|
+
{#each panels as [componentId, outputs] (componentId)}
|
|
43
|
+
{#if outputs.length > 0 && $worldStore?.outputsById[componentId]}
|
|
44
|
+
<div>
|
|
45
|
+
<div
|
|
46
|
+
class="flex {$connectingInput?.opened
|
|
47
|
+
? 'bg-white z-50'
|
|
48
|
+
: ''} flex-row justify-between w-full"
|
|
49
|
+
>
|
|
50
|
+
<button
|
|
51
|
+
on:click|stopPropagation|preventDefault={$connectingInput.opened
|
|
52
|
+
? undefined
|
|
53
|
+
: () => ($selectedComponent = componentId)}
|
|
54
|
+
class={classNames(
|
|
55
|
+
'px-2 text-2xs py-0.5 border border-gray-300 font-bold rounded-t-sm w-fit',
|
|
56
|
+
$selectedComponent === componentId
|
|
57
|
+
? ' bg-indigo-500 text-white'
|
|
58
|
+
: 'bg-gray-200 text-gray-500'
|
|
59
|
+
)}
|
|
60
|
+
>
|
|
61
|
+
{componentId}
|
|
62
|
+
</button>
|
|
63
|
+
<span
|
|
64
|
+
class={classNames(
|
|
65
|
+
'px-1 text-2xs py-0.5 font-bold rounded-t-sm w-fit',
|
|
66
|
+
'bg-gray-500 text-white'
|
|
67
|
+
)}
|
|
68
|
+
>
|
|
69
|
+
{getComponentNameById(componentId)}
|
|
70
|
+
</span>
|
|
71
|
+
</div>
|
|
56
72
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
73
|
+
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
74
|
+
<div
|
|
75
|
+
class={classNames(
|
|
76
|
+
$connectingInput?.opened ? 'bg-white z-50' : '',
|
|
77
|
+
`w-full py-2 grow border relative break-all `,
|
|
78
|
+
$selectedComponent === componentId ? 'border border-blue-500 ' : '',
|
|
79
|
+
$connectingInput.hoveredComponent === componentId ? 'outline outline-blue-500' : ''
|
|
80
|
+
)}
|
|
81
|
+
>
|
|
82
|
+
{#key $selectedComponent}
|
|
83
|
+
{#key $connectingInput?.opened}
|
|
84
|
+
<ComponentOutputViewer
|
|
85
|
+
outputs={$connectingInput?.opened && $selectedComponent === componentId
|
|
86
|
+
? ['search']
|
|
87
|
+
: outputs}
|
|
88
|
+
{componentId}
|
|
89
|
+
on:select={({ detail }) => {
|
|
90
|
+
connectInput(componentId, detail)
|
|
91
|
+
}}
|
|
92
|
+
/>
|
|
93
|
+
{/key}
|
|
94
|
+
{/key}
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
{/if}
|
|
98
|
+
{/each}
|
|
99
|
+
</div>
|
|
78
100
|
</PanelSection>
|
|
@@ -5,8 +5,10 @@ import { initialCode } from '../../../../script_helpers';
|
|
|
5
5
|
import { emptySchema } from '../../../../utils';
|
|
6
6
|
import { createEventDispatcher, getContext } from 'svelte';
|
|
7
7
|
import { fly } from 'svelte/transition';
|
|
8
|
+
import { defaultCode } from '../../editorUtils';
|
|
8
9
|
export let name;
|
|
9
|
-
|
|
10
|
+
export let id;
|
|
11
|
+
const { appPath, app } = getContext('AppEditorContext');
|
|
10
12
|
const dispatch = createEventDispatcher();
|
|
11
13
|
async function inferInlineScriptSchema(language, content, schema) {
|
|
12
14
|
try {
|
|
@@ -18,8 +20,10 @@ async function inferInlineScriptSchema(language, content, schema) {
|
|
|
18
20
|
return schema;
|
|
19
21
|
}
|
|
20
22
|
async function createInlineScriptByLanguage(language, path, subkind = undefined) {
|
|
23
|
+
const componentType = $app.grid.find((c) => c.data.id === id)?.data?.type;
|
|
21
24
|
const fullPath = `${appPath}/inline-script/${path}`;
|
|
22
|
-
const content =
|
|
25
|
+
const content = defaultCode(componentType, language) ??
|
|
26
|
+
initialCode(language, Script.kind.SCRIPT, subkind ?? 'flow');
|
|
23
27
|
let schema = emptySchema();
|
|
24
28
|
schema = await inferInlineScriptSchema(language, content, schema);
|
|
25
29
|
const newInlineScript = {
|