windmill-components 1.339.2 → 1.352.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/package/assets/app.css +0 -12
- package/package/ata/index.js +1 -0
- package/package/autosize.js +1 -1
- package/package/common.d.ts +6 -2
- package/package/common.js +2 -1
- package/package/components/AppConnectDrawer.svelte +1 -1
- package/package/components/AppConnectInner.svelte +9 -15
- package/package/components/ArgEnum.svelte +4 -1
- package/package/components/ArgEnum.svelte.d.ts +3 -1
- package/package/components/ArgInput.svelte +184 -141
- package/package/components/ArgInput.svelte.d.ts +7 -7
- package/package/components/ArrayTypeNarrowing.svelte +29 -27
- package/package/components/CenteredPage.svelte +2 -2
- package/package/components/DefaultTagsInner.svelte +1 -1
- package/package/components/Dev.svelte +2 -1
- package/package/components/DiffDrawer.svelte +1 -2
- package/package/components/DisplayResult.svelte +293 -233
- package/package/components/DurationMs.svelte +11 -3
- package/package/components/DurationMs.svelte.d.ts +2 -0
- package/package/components/EditableSchemaForm.svelte +447 -103
- package/package/components/EditableSchemaForm.svelte.d.ts +16 -6
- package/package/components/Editor.svelte +3 -1
- package/package/components/EditorBar.svelte +2 -2
- package/package/components/FlowBuilder.svelte +14 -6
- package/package/components/FlowGraphViewer.svelte +1 -1
- package/package/components/FlowGraphViewerStep.svelte +37 -9
- package/package/components/FlowGraphViewerStep.svelte.d.ts +2 -7
- package/package/components/FlowJobResult.svelte +1 -3
- package/package/components/FlowMetadata.svelte +1 -1
- package/package/components/FlowPreviewContent.svelte +5 -3
- package/package/components/FlowStatusViewer.svelte +4 -0
- package/package/components/FlowStatusViewer.svelte.d.ts +3 -0
- package/package/components/FlowStatusViewerInner.svelte +50 -17
- package/package/components/FlowStatusViewerInner.svelte.d.ts +3 -0
- package/package/components/FlowTimeline.svelte +13 -0
- package/package/components/FlowTimeline.svelte.d.ts +2 -0
- package/package/components/FlowViewer.svelte +0 -5
- package/package/components/FolderEditor.svelte +25 -0
- package/package/components/FolderEditor.svelte.d.ts +2 -0
- package/package/components/GroupEditor.svelte +36 -91
- package/package/components/GroupInfo.svelte +1 -1
- package/package/components/InputTransformForm.svelte +16 -1
- package/package/components/InputTransformForm.svelte.d.ts +2 -0
- package/package/components/InputTransformSchemaForm.svelte +6 -0
- package/package/components/InputTransformSchemaForm.svelte.d.ts +2 -0
- package/package/components/InstanceSettings.svelte +36 -3
- package/package/components/InstanceSettings.svelte.d.ts +2 -0
- package/package/components/JobStatus.svelte +2 -2
- package/package/components/LightweightArgInput.svelte +66 -14
- package/package/components/LightweightArgInput.svelte.d.ts +3 -2
- package/package/components/LightweightSchemaForm.svelte +24 -15
- package/package/components/ModulePreviewForm.svelte +1 -0
- package/package/components/NumberTypeNarrowing.svelte +71 -44
- package/package/components/ObjectResourceInput.svelte +2 -0
- package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
- package/package/components/ObjectTypeNarrowing.svelte +0 -1
- package/package/components/ParqetCsvTableRenderer.svelte +181 -0
- package/package/components/ParqetCsvTableRenderer.svelte.d.ts +21 -0
- package/package/components/Path.svelte +2 -2
- package/package/components/PersistentScriptDrawer.svelte +6 -3
- package/package/components/Range.svelte +88 -286
- package/package/components/Range.svelte.d.ts +9 -23
- package/package/components/ResourceEditor.svelte +138 -141
- package/package/components/ResourceEditor.svelte.d.ts +9 -2
- package/package/components/ResourceEditorDrawer.svelte +45 -0
- package/package/components/ResourceEditorDrawer.svelte.d.ts +21 -0
- package/package/components/ResourcePicker.svelte +5 -2
- package/package/components/ResourceTypePicker.svelte +88 -36
- package/package/components/RunChart.svelte +55 -5
- package/package/components/RunChart.svelte.d.ts +1 -0
- package/package/components/RunForm.svelte +1 -1
- package/package/components/S3FilePicker.svelte +20 -8
- package/package/components/S3FilePicker.svelte.d.ts +2 -0
- package/package/components/ScheduleEditorInner.svelte +40 -37
- package/package/components/SchemaForm.svelte +192 -103
- package/package/components/SchemaForm.svelte.d.ts +16 -2
- package/package/components/ScriptBuilder.svelte +13 -8
- package/package/components/ScriptSchedules.svelte +11 -8
- package/package/components/ScriptSchema.svelte +3 -21
- package/package/components/ScriptVersionHistory.svelte +1 -1
- package/package/components/StringTypeNarrowing.svelte +217 -174
- package/package/components/StringTypeNarrowing.svelte.d.ts +5 -1
- package/package/components/Toggle.svelte +6 -3
- package/package/components/Toggle.svelte.d.ts +1 -0
- package/package/components/UserSettings.svelte +24 -1
- package/package/components/WorkspaceGroup.svelte +11 -13
- package/package/components/apps/components/buttons/AppButton.svelte +2 -0
- package/package/components/apps/components/buttons/AppButton.svelte.d.ts +1 -0
- package/package/components/apps/components/display/AppFlowStatusComponent.svelte +13 -70
- package/package/components/apps/components/display/AppFlowStatusComponent.svelte.d.ts +1 -9
- package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +21 -8
- package/package/components/apps/components/display/AppJobIdFlowStatus.svelte.d.ts +1 -3
- package/package/components/apps/components/display/AppJobIdLogComponent.svelte +19 -7
- package/package/components/apps/components/display/AppJobIdLogComponent.svelte.d.ts +1 -3
- package/package/components/apps/components/display/AppLogsComponent.svelte +13 -70
- package/package/components/apps/components/display/AppLogsComponent.svelte.d.ts +1 -9
- package/package/components/apps/components/display/charts/AppAgCharts.svelte +25 -15
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte +2 -0
- package/package/components/apps/components/display/table/SyncColumnDefs.svelte +1 -1
- package/package/components/apps/components/helpers/HiddenComponent.svelte +2 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +18 -8
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -0
- package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -0
- package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -0
- package/package/components/apps/components/helpers/eval.js +1 -36
- package/package/components/apps/components/inputs/AppFileInput.svelte +3 -1
- package/package/components/apps/components/inputs/AppFileInput.svelte.d.ts +1 -0
- package/package/components/apps/components/inputs/AppS3FileInput.svelte +3 -1
- package/package/components/apps/components/inputs/AppS3FileInput.svelte.d.ts +1 -0
- package/package/components/apps/components/layout/AppConditionalWrapper.svelte +3 -1
- package/package/components/apps/components/layout/AppConditionalWrapper.svelte.d.ts +1 -0
- package/package/components/apps/components/layout/AppStepper.svelte +5 -1
- package/package/components/apps/components/layout/AppStepper.svelte.d.ts +2 -0
- package/package/components/apps/components/layout/AppTabs.svelte +3 -1
- package/package/components/apps/components/layout/AppTabs.svelte.d.ts +1 -0
- package/package/components/apps/editor/AppEditorHeader.svelte +6 -7
- package/package/components/apps/editor/SettingsPanel.svelte +13 -3
- package/package/components/apps/editor/component/Component.svelte +8 -16
- package/package/components/apps/editor/component/components.d.ts +11 -2
- package/package/components/apps/editor/component/components.js +2 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +5 -34
- package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +3 -41
- package/package/components/apps/editor/settingsPanel/EventHandlerItem.svelte +33 -0
- package/package/components/apps/editor/settingsPanel/EventHandlerItem.svelte.d.ts +19 -0
- package/package/components/apps/editor/settingsPanel/EventHandlers.svelte +103 -0
- package/package/components/apps/editor/settingsPanel/EventHandlers.svelte.d.ts +18 -0
- package/package/components/apps/editor/settingsPanel/GridCondition.svelte +21 -45
- package/package/components/apps/editor/settingsPanel/GridTab.svelte +3 -23
- package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +5 -1
- package/package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +0 -2
- package/package/components/apps/editor/settingsPanel/SubTypeEditor.svelte.d.ts +0 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +7 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +7 -14
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +0 -1
- package/package/components/common/button/ButtonDropdown.svelte +1 -0
- package/package/components/common/drawer/Disposable.svelte +3 -2
- package/package/components/common/drawer/Disposable.svelte.d.ts +1 -0
- package/package/components/common/drawer/Drawer.svelte +12 -2
- package/package/components/common/drawer/Drawer.svelte.d.ts +1 -0
- package/package/components/common/fileDownload/FileDownload.svelte +4 -2
- package/package/components/common/fileUpload/FileUpload.svelte +4 -3
- package/package/components/common/modal/Modal.svelte +4 -1
- package/package/components/common/modal/Modal.svelte.d.ts +1 -0
- package/package/components/common/popup/Popup.svelte +1 -1
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +4 -1
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -0
- package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte +79 -0
- package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte.d.ts +18 -0
- package/package/components/flows/content/FlowEditorPanel.svelte +16 -2
- package/package/components/flows/content/FlowInput.svelte +63 -53
- package/package/components/flows/content/FlowModuleComponent.svelte +26 -3
- package/package/components/flows/content/FlowModuleScript.svelte +40 -1
- package/package/components/flows/content/FlowModuleScript.svelte.d.ts +2 -0
- package/package/components/flows/content/FlowModuleSuspend.svelte +99 -59
- package/package/components/flows/content/FlowModuleWrapper.svelte +16 -1
- package/package/components/flows/content/FlowSchedules.svelte +11 -8
- package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -4
- package/package/components/flows/flowStateUtils.js +4 -1
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +16 -1
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +6 -1
- package/package/components/flows/types.d.ts +4 -0
- package/package/components/flows/utils.d.ts +5 -1
- package/package/components/flows/utils.js +36 -0
- package/package/components/graph/FlowGraph.svelte +5 -2
- package/package/components/graph/FlowGraph.svelte.d.ts +2 -0
- package/package/components/graph/svelvet/container/models/index.d.ts +0 -5
- package/package/components/graph/svelvet/container/models/index.js +1 -1
- package/package/components/graph/svelvet/container/views/Svelvet.svelte +2 -5
- package/package/components/graph/util.d.ts +1 -37
- package/package/components/graph/util.js +0 -34
- package/package/components/instanceSettings.js +2 -1
- package/package/components/jobs/JobPreview.svelte +1 -1
- package/package/components/multiselect/MultiSelect.svelte +4 -3
- package/package/components/multiselect/MultiSelect.svelte.d.ts +1 -0
- package/package/components/multiselect/MultiSelectWrapper.svelte +89 -0
- package/package/components/multiselect/MultiSelectWrapper.svelte.d.ts +20 -0
- package/package/components/propertyPicker/ObjectViewer.svelte +6 -2
- package/package/components/runs/JobPreview.svelte +5 -1
- package/package/components/runs/RunRow.svelte +22 -3
- package/package/components/runs/RunRow.svelte.d.ts +2 -1
- package/package/components/runs/RunsTable.svelte +22 -9
- package/package/components/runs/RunsTable.svelte.d.ts +2 -1
- package/package/components/schema/AddProperty.svelte +149 -0
- package/package/components/schema/AddProperty.svelte.d.ts +23 -0
- package/package/components/schema/AddPropertyForm.svelte +33 -0
- package/package/components/schema/AddPropertyForm.svelte.d.ts +16 -0
- package/package/components/schema/EditableSchemaDrawer.svelte +198 -0
- package/package/components/schema/EditableSchemaDrawer.svelte.d.ts +21 -0
- package/package/components/schema/EditableSchemaWrapper.svelte +31 -0
- package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +22 -0
- package/package/components/schema/FlowPropertyEditor.svelte +393 -0
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +47 -0
- package/package/components/schema/PropertyEditor.svelte +185 -0
- package/package/components/schema/PropertyEditor.svelte.d.ts +46 -0
- package/package/components/schema/SchemaFormDND.svelte +75 -0
- package/package/components/schema/SchemaFormDND.svelte.d.ts +28 -0
- package/package/components/table/AutoDataTable.svelte +90 -104
- package/package/components/table/Cell.svelte +4 -1
- package/package/components/table/Cell.svelte.d.ts +1 -0
- package/package/components/table/DownloadCsv.svelte +30 -0
- package/package/components/table/DownloadCsv.svelte.d.ts +17 -0
- package/package/components/table/tableUtils.d.ts +8 -0
- package/package/components/table/tableUtils.js +37 -0
- package/package/consts.js +3 -1
- package/package/deno_fetch.d.ts.txt +6 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +76 -0
- package/package/gen/schemas.gen.js +76 -0
- package/package/gen/services.gen.d.ts +100 -5
- package/package/gen/services.gen.js +216 -16
- package/package/gen/types.gen.d.ts +378 -5
- package/package/inferArgSig.d.ts +10 -0
- package/package/inferArgSig.js +59 -2
- package/package/scripts.d.ts +2 -0
- package/package/scripts.js +6 -3
- package/package/utils.d.ts +4 -3
- package/package/utils.js +9 -4
- package/package/workspace_settings.d.ts +15 -0
- package/package/workspace_settings.js +81 -0
- package/package.json +16 -7
- package/package/components/ParqetTableRenderer.svelte +0 -117
- package/package/components/ParqetTableRenderer.svelte.d.ts +0 -18
- package/package/components/PropertyRow.svelte +0 -88
- package/package/components/PropertyRow.svelte.d.ts +0 -23
- package/package/components/SchemaEditor.svelte +0 -346
- package/package/components/SchemaEditor.svelte.d.ts +0 -25
- package/package/components/SchemaModal.svelte +0 -443
- package/package/components/SchemaModal.svelte.d.ts +0 -33
- package/package/components/apps/editor/settingsPanel/Recompute.svelte +0 -55
- package/package/components/apps/editor/settingsPanel/Recompute.svelte.d.ts +0 -20
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script>import Label from './Label.svelte';
|
|
2
2
|
import Toggle from './Toggle.svelte';
|
|
3
|
+
import Tooltip from './Tooltip.svelte';
|
|
3
4
|
import { selectOptions } from './apps/editor/component';
|
|
4
5
|
export let min;
|
|
5
6
|
export let max;
|
|
@@ -9,51 +10,77 @@ let minChecked = min != undefined;
|
|
|
9
10
|
let maxChecked = max != undefined;
|
|
10
11
|
</script>
|
|
11
12
|
|
|
12
|
-
<div class="my-2" />
|
|
13
|
-
|
|
14
13
|
<div class="flex flex-col gap-2">
|
|
15
|
-
<div class="
|
|
16
|
-
<
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
14
|
+
<div class="grid grid-cols-2 gap-4">
|
|
15
|
+
<Label label="Min" class="w-full col-span-1">
|
|
16
|
+
<svelte:fragment slot="header">
|
|
17
|
+
<Tooltip light small>
|
|
18
|
+
Set a minimum value for the number. If both min and max are set, the input will render as
|
|
19
|
+
a range slider.
|
|
20
|
+
</Tooltip>
|
|
21
|
+
</svelte:fragment>
|
|
22
|
+
<svelte:fragment slot="action">
|
|
23
|
+
<Toggle
|
|
24
|
+
bind:checked={minChecked}
|
|
25
|
+
on:change={(e) => {
|
|
26
|
+
if (e.detail) {
|
|
27
|
+
min = 0
|
|
28
|
+
} else {
|
|
29
|
+
min = undefined
|
|
30
|
+
}
|
|
31
|
+
}}
|
|
32
|
+
options={{ right: 'Enabled' }}
|
|
33
|
+
size="xs"
|
|
34
|
+
/>
|
|
35
|
+
</svelte:fragment> <input type="number" bind:value={min} disabled={!minChecked} />
|
|
36
|
+
</Label>
|
|
37
|
+
|
|
38
|
+
<Label label="Max" class="w-full col-span-1 ">
|
|
39
|
+
<svelte:fragment slot="header">
|
|
40
|
+
<Tooltip light small>
|
|
41
|
+
Set a maximum value for the number. If both min and max are set, the input will render as
|
|
42
|
+
a range slider.
|
|
43
|
+
</Tooltip>
|
|
44
|
+
</svelte:fragment>
|
|
45
|
+
<svelte:fragment slot="action">
|
|
46
|
+
<Toggle
|
|
47
|
+
bind:checked={maxChecked}
|
|
48
|
+
on:change={(e) => {
|
|
49
|
+
if (e.detail) {
|
|
50
|
+
max = 42
|
|
51
|
+
} else {
|
|
52
|
+
max = undefined
|
|
53
|
+
}
|
|
54
|
+
}}
|
|
55
|
+
options={{ right: 'Enabled' }}
|
|
56
|
+
size="xs"
|
|
57
|
+
/>
|
|
58
|
+
</svelte:fragment>
|
|
59
|
+
<input type="number" bind:value={max} disabled={!maxChecked} />
|
|
60
|
+
</Label>
|
|
28
61
|
</div>
|
|
29
|
-
<div class="
|
|
30
|
-
<
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
62
|
+
<div class="grid grid-cols-3 gap-4">
|
|
63
|
+
<Label label="Currency" class="w-full col-span-2">
|
|
64
|
+
<svelte:fragment slot="header">
|
|
65
|
+
<Tooltip light small>
|
|
66
|
+
Select a currency to display the number in. If a currency is selected, you can also select
|
|
67
|
+
a locale to format the number according to that locale.
|
|
68
|
+
</Tooltip>
|
|
69
|
+
</svelte:fragment>
|
|
70
|
+
<select bind:value={currency}>
|
|
71
|
+
<option value={undefined}> No currency </option>
|
|
72
|
+
{#each selectOptions.currencyOptions as c}
|
|
73
|
+
<option value={c}>{c}</option>
|
|
74
|
+
{/each}
|
|
75
|
+
</select>
|
|
76
|
+
</Label>
|
|
77
|
+
<Label label="Currency locale" class="w-full">
|
|
78
|
+
<select bind:value={currencyLocale} disabled={!currency}>
|
|
79
|
+
<option value={undefined}> No locale </option>
|
|
80
|
+
{#each selectOptions.localeOptions as c}
|
|
81
|
+
<option value={c}>{c}</option>
|
|
82
|
+
{/each}
|
|
83
|
+
</select>
|
|
84
|
+
</Label>
|
|
42
85
|
</div>
|
|
43
|
-
<Label label="Currency">
|
|
44
|
-
<select class="mt-1" bind:value={currency}>
|
|
45
|
-
<option value={undefined}> No currency </option>
|
|
46
|
-
{#each selectOptions.currencyOptions as c}
|
|
47
|
-
<option value={c}>{c}</option>
|
|
48
|
-
{/each}
|
|
49
|
-
</select>
|
|
50
|
-
</Label>
|
|
51
|
-
<Label label="Currency locale">
|
|
52
|
-
<select class="mt-1" bind:value={currencyLocale}>
|
|
53
|
-
<option value={undefined}> No locale </option>
|
|
54
|
-
{#each selectOptions.localeOptions as c}
|
|
55
|
-
<option value={c}>{c}</option>
|
|
56
|
-
{/each}
|
|
57
|
-
</select>
|
|
58
|
-
</Label>
|
|
59
86
|
</div>
|
|
@@ -5,6 +5,7 @@ export let value;
|
|
|
5
5
|
export let disablePortal = false;
|
|
6
6
|
export let showSchemaExplorer = false;
|
|
7
7
|
export let selectFirst = false;
|
|
8
|
+
export let defaultValue;
|
|
8
9
|
function isString(value) {
|
|
9
10
|
return typeof value === 'string' || value instanceof String;
|
|
10
11
|
}
|
|
@@ -40,6 +41,7 @@ $: value && valueToPath();
|
|
|
40
41
|
resourceToValue()
|
|
41
42
|
}}
|
|
42
43
|
bind:value={path}
|
|
44
|
+
initialValue={defaultValue}
|
|
43
45
|
resourceType={format.split('-').length > 1 ? format.substring('resource-'.length) : undefined}
|
|
44
46
|
{showSchemaExplorer}
|
|
45
47
|
/>
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
<script>import { GridApi, createGrid } from 'ag-grid-community';
|
|
2
|
+
import 'ag-grid-community/styles/ag-grid.css';
|
|
3
|
+
import 'ag-grid-community/styles/ag-theme-alpine.css';
|
|
4
|
+
import { twMerge } from 'tailwind-merge';
|
|
5
|
+
import DarkModeObserver from './DarkModeObserver.svelte';
|
|
6
|
+
import { HelpersService } from '../gen';
|
|
7
|
+
import { enterpriseLicense, workspaceStore } from '../stores';
|
|
8
|
+
import { Download } from 'lucide-svelte';
|
|
9
|
+
// import 'ag-grid-community/dist/styles/ag-theme-alpine-dark.css'
|
|
10
|
+
let selectedRowIndex = -1;
|
|
11
|
+
export let s3resource;
|
|
12
|
+
export let storage;
|
|
13
|
+
export let workspaceId;
|
|
14
|
+
export let disable_download = false;
|
|
15
|
+
let csvSeparatorChar = ',';
|
|
16
|
+
let datasource = {
|
|
17
|
+
rowCount: 0,
|
|
18
|
+
getRows: async function (params) {
|
|
19
|
+
try {
|
|
20
|
+
const searchCol = params.filterModel ? Object.keys(params.filterModel)?.[0] : undefined;
|
|
21
|
+
const csv = s3resource.endsWith('.csv');
|
|
22
|
+
const requestBody = {
|
|
23
|
+
workspace: workspaceId ?? $workspaceStore,
|
|
24
|
+
path: s3resource,
|
|
25
|
+
offset: params.startRow,
|
|
26
|
+
limit: params.endRow - params.startRow,
|
|
27
|
+
sortCol: params.sortModel?.[0]?.colId,
|
|
28
|
+
sortDesc: params.sortModel?.[0]?.sort == 'desc',
|
|
29
|
+
searchCol: searchCol,
|
|
30
|
+
searchTerm: searchCol ? params.filterModel?.[searchCol]?.filter : undefined,
|
|
31
|
+
storage: storage,
|
|
32
|
+
csvSeparator: csv ? csvSeparatorChar : undefined
|
|
33
|
+
};
|
|
34
|
+
const res = (csv
|
|
35
|
+
? await HelpersService.loadCsvPreview(requestBody)
|
|
36
|
+
: await HelpersService.loadParquetPreview(requestBody));
|
|
37
|
+
for (let i = 0; i < res.rows.length; i++) {
|
|
38
|
+
res.rows[i]['__index'] = i + params.startRow;
|
|
39
|
+
if (!$enterpriseLicense) {
|
|
40
|
+
Object.keys(res.rows[i]).forEach((key) => {
|
|
41
|
+
if (key != '__index') {
|
|
42
|
+
res.rows[i][key] = 'Require EE';
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
params.successCallback(res.rows);
|
|
48
|
+
}
|
|
49
|
+
catch (e) {
|
|
50
|
+
console.error(e);
|
|
51
|
+
params.failCallback();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
function toggleRow(row) {
|
|
56
|
+
if (row) {
|
|
57
|
+
let rowIndex = row.rowIndex;
|
|
58
|
+
let data = { ...row.data };
|
|
59
|
+
delete data['__index'];
|
|
60
|
+
if (selectedRowIndex !== rowIndex) {
|
|
61
|
+
selectedRowIndex = rowIndex;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
function toggleRows(rows) {
|
|
66
|
+
toggleRow(rows[0]);
|
|
67
|
+
}
|
|
68
|
+
let eGui;
|
|
69
|
+
$: eGui && mountGrid();
|
|
70
|
+
let error = undefined;
|
|
71
|
+
async function mountGrid() {
|
|
72
|
+
if (eGui) {
|
|
73
|
+
try {
|
|
74
|
+
const csv = s3resource.endsWith('.csv');
|
|
75
|
+
const res = csv
|
|
76
|
+
? await HelpersService.loadCsvPreview({
|
|
77
|
+
workspace: $workspaceStore,
|
|
78
|
+
path: s3resource,
|
|
79
|
+
limit: 0,
|
|
80
|
+
storage: storage,
|
|
81
|
+
csvSeparator: csvSeparatorChar
|
|
82
|
+
})
|
|
83
|
+
: await HelpersService.loadParquetPreview({
|
|
84
|
+
workspace: $workspaceStore,
|
|
85
|
+
path: s3resource,
|
|
86
|
+
limit: 0,
|
|
87
|
+
storage: storage
|
|
88
|
+
});
|
|
89
|
+
createGrid(eGui, {
|
|
90
|
+
rowModelType: 'infinite',
|
|
91
|
+
datasource,
|
|
92
|
+
// @ts-ignore
|
|
93
|
+
columnDefs: res.columns.map((c) => {
|
|
94
|
+
return {
|
|
95
|
+
field: c,
|
|
96
|
+
sortable: true,
|
|
97
|
+
filter: true,
|
|
98
|
+
filterParams: {
|
|
99
|
+
filterOptions: ['contains'],
|
|
100
|
+
maxNumConditions: 1
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
}),
|
|
104
|
+
pagination: false,
|
|
105
|
+
// defaultColDef: {
|
|
106
|
+
// flex: 1
|
|
107
|
+
// },
|
|
108
|
+
suppressColumnMoveAnimation: true,
|
|
109
|
+
rowSelection: 'multiple',
|
|
110
|
+
rowMultiSelectWithClick: true,
|
|
111
|
+
suppressRowDeselection: true,
|
|
112
|
+
onSelectionChanged: (e) => {
|
|
113
|
+
onSelectionChanged(e.api);
|
|
114
|
+
},
|
|
115
|
+
getRowId: (data) => {
|
|
116
|
+
return data.data['__index'];
|
|
117
|
+
}
|
|
118
|
+
}, {});
|
|
119
|
+
error = undefined;
|
|
120
|
+
}
|
|
121
|
+
catch (e) {
|
|
122
|
+
error = e.body;
|
|
123
|
+
console.error(e);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
function onSelectionChanged(api) {
|
|
128
|
+
const rows = api.getSelectedNodes();
|
|
129
|
+
if (rows != undefined) {
|
|
130
|
+
toggleRows(rows);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
let darkMode = false;
|
|
134
|
+
</script>
|
|
135
|
+
|
|
136
|
+
<DarkModeObserver bind:darkMode />
|
|
137
|
+
|
|
138
|
+
<div class={twMerge('mt-2 flex flex-col h-full min-h-[600px]')}>
|
|
139
|
+
{#if s3resource.endsWith('.csv')}
|
|
140
|
+
<div class="flex flex-row-reverse w-full">
|
|
141
|
+
<div class="flex items-baseline">
|
|
142
|
+
<label for="csvSeparatorChar" class="text-2xs text-secondary">Separator</label>
|
|
143
|
+
|
|
144
|
+
<div class="w-12 ml-2 mr-2">
|
|
145
|
+
<select class="h-8" bind:value={csvSeparatorChar} on:change={(e) => mountGrid()}>
|
|
146
|
+
<option value=",">,</option>
|
|
147
|
+
<option value=";">;</option>
|
|
148
|
+
<option value="\t">\t</option>
|
|
149
|
+
<option value="|">|</option>
|
|
150
|
+
</select>
|
|
151
|
+
</div>
|
|
152
|
+
</div>
|
|
153
|
+
</div>
|
|
154
|
+
{/if}
|
|
155
|
+
{#if !disable_download && !s3resource.endsWith('.csv')}
|
|
156
|
+
<a
|
|
157
|
+
target="_blank"
|
|
158
|
+
href="/api/w/{workspaceId}/job_helpers/download_s3_parquet_file_as_csv?file_key={s3resource}{storage
|
|
159
|
+
? `&storage=${storage}`
|
|
160
|
+
: ''}"
|
|
161
|
+
class="text-secondary w-full text-right underline text-2xs whitespace-nowrap"
|
|
162
|
+
><div class="flex flex-row-reverse gap-2 items-center"><Download size={12} /> CSV</div></a
|
|
163
|
+
>
|
|
164
|
+
{/if}
|
|
165
|
+
|
|
166
|
+
<div
|
|
167
|
+
class="ag-theme-alpine shadow-sm h-full"
|
|
168
|
+
class:ag-theme-alpine-dark={darkMode}
|
|
169
|
+
style="height: 600px;"
|
|
170
|
+
>
|
|
171
|
+
{#if error}
|
|
172
|
+
<div class="text-red-500">{error}</div>
|
|
173
|
+
<div>Try changing separator to fix it</div>
|
|
174
|
+
{/if}
|
|
175
|
+
<div bind:this={eGui} style="height:100%; " />
|
|
176
|
+
</div>
|
|
177
|
+
</div>
|
|
178
|
+
|
|
179
|
+
<!-- <div class="flex gap-1 absolute bottom-1 right-2 text-sm text-secondary"
|
|
180
|
+
>{firstRow}{'->'}{lastRow + 1} of {datasource?.rowCount} rows</div
|
|
181
|
+
> -->
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import 'ag-grid-community/styles/ag-grid.css';
|
|
3
|
+
import 'ag-grid-community/styles/ag-theme-alpine.css';
|
|
4
|
+
declare const __propDef: {
|
|
5
|
+
props: {
|
|
6
|
+
s3resource: string;
|
|
7
|
+
storage: string | undefined;
|
|
8
|
+
workspaceId: string | undefined;
|
|
9
|
+
disable_download?: boolean | undefined;
|
|
10
|
+
};
|
|
11
|
+
events: {
|
|
12
|
+
[evt: string]: CustomEvent<any>;
|
|
13
|
+
};
|
|
14
|
+
slots: {};
|
|
15
|
+
};
|
|
16
|
+
export type ParqetCsvTableRendererProps = typeof __propDef.props;
|
|
17
|
+
export type ParqetCsvTableRendererEvents = typeof __propDef.events;
|
|
18
|
+
export type ParqetCsvTableRendererSlots = typeof __propDef.slots;
|
|
19
|
+
export default class ParqetCsvTableRenderer extends SvelteComponent<ParqetCsvTableRendererProps, ParqetCsvTableRendererEvents, ParqetCsvTableRendererSlots> {
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -249,8 +249,8 @@ let contentSearch;
|
|
|
249
249
|
}}
|
|
250
250
|
>
|
|
251
251
|
{#if !folderCreated}
|
|
252
|
-
<div class="flex flex-
|
|
253
|
-
<input
|
|
252
|
+
<div class="flex flex-col gap-2">
|
|
253
|
+
<input placeholder="New folder name" bind:value={newFolderName} />
|
|
254
254
|
<Button size="md" startIcon={{ icon: Plus }} disabled={!newFolderName} on:click={addFolder}>
|
|
255
255
|
New folder
|
|
256
256
|
</Button>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script>import { JobService } from '../gen';
|
|
2
2
|
import { Badge, Button, Drawer } from './common';
|
|
3
3
|
import DrawerContent from './common/drawer/DrawerContent.svelte';
|
|
4
|
-
import { createEventDispatcher } from 'svelte';
|
|
4
|
+
import { createEventDispatcher, onDestroy } from 'svelte';
|
|
5
5
|
import { workspaceStore } from '../stores';
|
|
6
6
|
import { displayDate, sleep, sendUserToast } from '../utils';
|
|
7
7
|
import TableCustom from './TableCustom.svelte';
|
|
@@ -44,7 +44,7 @@ async function loadQueuedJobsOnce() {
|
|
|
44
44
|
// toggle queuedJobsLoading to false in 1 secs to let some time for the animation to play
|
|
45
45
|
setTimeout(() => {
|
|
46
46
|
queuedJobsLoading = false;
|
|
47
|
-
},
|
|
47
|
+
}, 3000 - (endStart - timeStart));
|
|
48
48
|
}
|
|
49
49
|
async function scaleToZero() {
|
|
50
50
|
cancellingInProgress = true;
|
|
@@ -72,6 +72,9 @@ async function exit() {
|
|
|
72
72
|
loadQueuedJobs = false;
|
|
73
73
|
drawer.closeDrawer?.();
|
|
74
74
|
}
|
|
75
|
+
onDestroy(() => {
|
|
76
|
+
loadQueuedJobs = false;
|
|
77
|
+
});
|
|
75
78
|
</script>
|
|
76
79
|
|
|
77
80
|
<Drawer
|
|
@@ -99,7 +102,7 @@ async function exit() {
|
|
|
99
102
|
variant="border"
|
|
100
103
|
on:click={loadQueuedJobsOnce}
|
|
101
104
|
>
|
|
102
|
-
<RefreshCw class={queuedJobsLoading ? 'animate-spin' : ''} size=
|
|
105
|
+
<RefreshCw class={queuedJobsLoading ? 'animate-spin' : ''} size={14} />
|
|
103
106
|
</Button>
|
|
104
107
|
</div>
|
|
105
108
|
<TableCustom>
|