windmill-components 1.383.8 → 1.389.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/package/assets/app.css +25 -1
- package/package/components/ArgInput.svelte +2 -1
- package/package/components/ChangeInstanceUsername.svelte +9 -108
- package/package/components/ChangeInstanceUsernameInner.svelte +112 -0
- package/package/components/ChangeInstanceUsernameInner.svelte.d.ts +21 -0
- package/package/components/DiffDrawer.svelte +27 -20
- package/package/components/DiffEditor.svelte +13 -1
- package/package/components/DisplayResult.svelte +39 -9
- package/package/components/DropdownV2.svelte +4 -26
- package/package/components/DropdownV2.svelte.d.ts +9 -1
- package/package/components/DropdownV2Inner.svelte +42 -0
- package/package/components/DropdownV2Inner.svelte.d.ts +40 -0
- package/package/components/Editor.svelte +142 -128
- package/package/components/Editor.svelte.d.ts +5 -4
- package/package/components/EditorBar.svelte +9 -11
- package/package/components/EditorSettings.svelte +44 -0
- package/package/components/EditorSettings.svelte.d.ts +17 -0
- package/package/components/EditorTheme.svelte +1 -1
- package/package/components/ErrorOrRecoveryHandler.svelte +27 -20
- package/package/components/FlowBuilder.svelte +17 -3
- package/package/components/FlowBuilder.svelte.d.ts +3 -0
- package/package/components/FlowGraphViewerStep.svelte +1 -1
- package/package/components/FlowStatusViewer.svelte +3 -1
- package/package/components/FlowStatusViewer.svelte.d.ts +1 -0
- package/package/components/FlowStatusViewerInner.svelte +5 -2
- package/package/components/FlowViewerInner.svelte +3 -7
- package/package/components/FormatOnSave.svelte +12 -29
- package/package/components/GraphqlSchemaViewer.svelte +1 -1
- package/package/components/GraphqlSchemaViewer.svelte.d.ts +1 -1
- package/package/components/HighlightCode.svelte +3 -0
- package/package/components/InstanceNameEditor.svelte +64 -0
- package/package/components/InstanceNameEditor.svelte.d.ts +23 -0
- package/package/components/LightweightArgInput.svelte +6 -11
- package/package/components/LogViewer.svelte +37 -29
- package/package/components/LogViewer.svelte.d.ts +2 -0
- package/package/components/ObjectResourceInput.svelte +1 -1
- package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
- package/package/components/Path.svelte +3 -3
- package/package/components/QueueMetricsDrawer.svelte +6 -218
- package/package/components/QueueMetricsDrawer.svelte.d.ts +2 -3
- package/package/components/QueueMetricsDrawerInner.svelte +211 -0
- package/package/components/QueueMetricsDrawerInner.svelte.d.ts +15 -0
- package/package/components/ResourceEditorDrawer.svelte +14 -11
- package/package/components/ResourceEditorDrawer.svelte.d.ts +1 -1
- package/package/components/ResultJobLoader.svelte.d.ts +1 -1
- package/package/components/S3FilePicker.svelte +20 -8
- package/package/components/ScheduleEditorInner.svelte +497 -469
- package/package/components/ScriptBuilder.svelte +12 -1
- package/package/components/ScriptBuilder.svelte.d.ts +3 -0
- package/package/components/ScriptEditor.svelte +2 -0
- package/package/components/ScriptEditor.svelte.d.ts +2 -1
- package/package/components/ServiceLogsInner.svelte +511 -0
- package/package/components/ServiceLogsInner.svelte.d.ts +20 -0
- package/package/components/SimpleEditor.svelte +75 -37
- package/package/components/SimpleEditor.svelte.d.ts +9 -3
- package/package/components/Summary.svelte +33 -31
- package/package/components/Summary.svelte.d.ts +1 -0
- package/package/components/SuperadminSettings.svelte +28 -10
- package/package/components/TemplateEditor.svelte +1 -1
- package/package/components/TestJobLoader.svelte.d.ts +1 -1
- package/package/components/VimMode.svelte +16 -0
- package/package/components/VimMode.svelte.d.ts +14 -0
- package/package/components/WorkerTagPicker.svelte +4 -1
- package/package/components/WorkspaceGroup.svelte +139 -68
- package/package/components/WorkspaceGroup.svelte.d.ts +3 -0
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +19 -2
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +1 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +2 -1
- package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte +2 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte.d.ts +2 -1
- package/package/components/apps/components/display/table/AppAggridTable.svelte +45 -3
- package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +2 -1
- package/package/components/apps/components/display/table/AppAggridTableEe.svelte +2 -0
- package/package/components/apps/components/display/table/AppAggridTableEe.svelte.d.ts +2 -1
- package/package/components/apps/editor/AppEditor.svelte +239 -92
- package/package/components/apps/editor/AppEditorBottomPanel.svelte +22 -0
- package/package/components/apps/editor/AppEditorBottomPanel.svelte.d.ts +24 -0
- package/package/components/apps/editor/AppEditorHeader.svelte +44 -2
- package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +9 -0
- package/package/components/apps/editor/AppExportButton.svelte +1 -1
- package/package/components/apps/editor/AppPreview.svelte +4 -0
- package/package/components/apps/editor/DeploymentHistory.svelte +7 -3
- package/package/components/apps/editor/GridEditor.svelte +4 -13
- package/package/components/apps/editor/RunnableJobPanel.svelte +25 -58
- package/package/components/apps/editor/RunnableJobPanel.svelte.d.ts +10 -1
- package/package/components/apps/editor/RunnalbeJobPanelInner.svelte +56 -0
- package/package/components/apps/editor/RunnalbeJobPanelInner.svelte.d.ts +18 -0
- package/package/components/apps/editor/SubGridEditor.svelte +3 -1
- package/package/components/apps/editor/component/Component.svelte +26 -4
- package/package/components/apps/editor/component/Component.svelte.d.ts +1 -0
- package/package/components/apps/editor/component/components.d.ts +5 -0
- package/package/components/apps/editor/componentsPanel/CssProperty.svelte +2 -0
- package/package/components/apps/editor/componentsPanel/tailwindUtils.js +267 -1
- package/package/components/apps/editor/contextPanel/ContextPanel.svelte +9 -1
- package/package/components/apps/editor/contextPanel/ContextPanel.svelte.d.ts +2 -0
- package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +1 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +4 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +7 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte.d.ts +5 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +14 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte.d.ts +1 -0
- package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +25 -5
- package/package/components/apps/editor/settingsPanel/HideButton.svelte +47 -0
- package/package/components/apps/editor/settingsPanel/HideButton.svelte.d.ts +22 -0
- package/package/components/apps/editor/settingsPanel/TableActions.svelte +43 -4
- package/package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +2 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +2 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +1 -0
- package/package/components/apps/svelte-grid/Grid.svelte +6 -2
- package/package/components/apps/svelte-grid/Grid.svelte.d.ts +1 -0
- package/package/components/apps/svelte-grid/MoveResize.svelte +11 -3
- package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +1 -0
- package/package/components/apps/svelte-grid/utils/item.d.ts +4 -1
- package/package/components/apps/svelte-grid/utils/item.js +11 -4
- package/package/components/build_workers.d.ts +1 -1
- package/package/components/build_workers.js +16 -122
- package/package/components/common/button/Button.svelte.d.ts +2 -2
- package/package/components/common/calendarPicker/CalendarPicker.svelte +6 -2
- package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +2 -0
- package/package/components/common/drawer/ConditionalPortal.svelte +2 -1
- package/package/components/common/drawer/ConditionalPortal.svelte.d.ts +1 -0
- package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
- package/package/components/common/popup/Popup.svelte +2 -1
- package/package/components/common/popup/Popup.svelte.d.ts +1 -0
- package/package/components/common/table/AppRow.svelte +11 -8
- package/package/components/common/table/AppRow.svelte.d.ts +1 -2
- package/package/components/common/table/FlowRow.svelte +3 -3
- package/package/components/common/table/FlowRow.svelte.d.ts +1 -2
- package/package/components/common/table/RawAppRow.svelte +3 -3
- package/package/components/common/table/RawAppRow.svelte.d.ts +1 -2
- package/package/components/common/table/ScriptRow.svelte +3 -3
- package/package/components/common/table/ScriptRow.svelte.d.ts +1 -2
- package/package/components/copilot/CodeCompletionStatus.svelte +21 -46
- package/package/components/copilot/StepGen.svelte +2 -1
- package/package/components/custom_ui.d.ts +4 -1
- package/package/components/flows/CreateActionsApp.svelte +11 -8
- package/package/components/flows/CreateActionsFlow.svelte +11 -8
- package/package/components/flows/FlowEditor.svelte +1 -2
- package/package/components/flows/FlowEditor.svelte.d.ts +0 -1
- package/package/components/flows/FlowHistory.svelte +6 -3
- package/package/components/flows/content/FlowModuleComponent.svelte +1 -0
- package/package/components/flows/content/FlowModuleScript.svelte +15 -11
- package/package/components/flows/content/FlowSettings.svelte +1 -4
- package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -0
- package/package/components/flows/header/FlowYamlEditor.svelte +55 -0
- package/package/components/flows/header/FlowYamlEditor.svelte.d.ts +17 -0
- package/package/components/flows/map/InsertTriggerButton.svelte +1 -1
- package/package/components/flows/map/InsertTriggerButton.svelte.d.ts +1 -0
- package/package/components/flows/map/VirtualItem.svelte +1 -1
- package/package/components/flows/pickers/PickHubScript.svelte +1 -0
- package/package/components/flows/types.d.ts +7 -6
- package/package/components/flows/utils.d.ts +9 -0
- package/package/components/flows/utils.js +21 -0
- package/package/components/graph/graphBuilder.js +1 -0
- package/package/components/graph/model.d.ts +1 -0
- package/package/components/graph/renderers/edges/BaseEdge.svelte +16 -0
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
- package/package/components/graph/renderers/nodes/NoBranchNode.svelte +5 -1
- package/package/components/graph/renderers/nodes/NoBranchNode.svelte.d.ts +1 -0
- package/package/components/home/Item.svelte +0 -17
- package/package/components/home/deploy_ui.d.ts +2 -0
- package/package/components/home/deploy_ui.js +21 -0
- package/package/components/icons/RustIcon.svelte +70 -0
- package/package/components/icons/RustIcon.svelte.d.ts +25 -0
- package/package/components/icons/rust-logo.svg +1 -0
- package/package/components/instanceSettings.js +2 -2
- package/package/components/monaco_keybindings.d.ts +3 -0
- package/package/components/monaco_keybindings.js +9 -0
- package/package/components/preview/FlowPreviewStatus.svelte +6 -2
- package/package/components/runs/JobLoader.svelte +12 -3
- package/package/components/runs/JobLoader.svelte.d.ts +1 -1
- package/package/components/runs/ManuelDatePicker.svelte +31 -44
- package/package/components/runs/ManuelDatePicker.svelte.d.ts +6 -2
- package/package/components/runs/RunsFilter.svelte +4 -1
- package/package/components/runs/RunsFilter.svelte.d.ts +1 -0
- package/package/components/search/GlobalSearchModal.svelte +36 -25
- package/package/components/vscode.js +1 -1
- package/package/components/wizards/TableActionsWizard.svelte +84 -0
- package/package/components/wizards/TableActionsWizard.svelte.d.ts +22 -0
- package/package/editorUtils.js +2 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +8 -8
- package/package/gen/schemas.gen.js +8 -8
- package/package/gen/services.gen.d.ts +4 -0
- package/package/gen/services.gen.js +16 -0
- package/package/gen/types.gen.d.ts +20 -8
- package/package/infer.d.ts +1 -1
- package/package/infer.js +48 -7
- package/package/script_helpers.d.ts +1 -0
- package/package/script_helpers.js +39 -1
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +12 -4
- package/package/stores.d.ts +5 -1
- package/package/stores.js +7 -2
- package/package.json +18 -9
|
@@ -7,7 +7,7 @@ import { ConfigService, WorkspaceService } from '../gen';
|
|
|
7
7
|
import ConfirmationModal from './common/confirmationModal/ConfirmationModal.svelte';
|
|
8
8
|
import { createEventDispatcher } from 'svelte';
|
|
9
9
|
import { sendUserToast } from '../toast';
|
|
10
|
-
import { emptyString } from '../utils';
|
|
10
|
+
import { emptyString, pluralize } from '../utils';
|
|
11
11
|
import { enterpriseLicense, superadmin } from '../stores';
|
|
12
12
|
import Tooltip from './Tooltip.svelte';
|
|
13
13
|
import Editor from './Editor.svelte';
|
|
@@ -16,10 +16,28 @@ import Section from './Section.svelte';
|
|
|
16
16
|
import Label from './Label.svelte';
|
|
17
17
|
import AutoComplete from 'simple-svelte-autocomplete';
|
|
18
18
|
import YAML from 'yaml';
|
|
19
|
+
import Toggle from './Toggle.svelte';
|
|
19
20
|
export let name;
|
|
20
21
|
export let config;
|
|
21
22
|
export let activeWorkers;
|
|
22
23
|
export let customTags;
|
|
24
|
+
export let workers;
|
|
25
|
+
$: vcpus_memory = computeVCpuAndMemory(workers);
|
|
26
|
+
function computeVCpuAndMemory(workers) {
|
|
27
|
+
let vcpus = 0;
|
|
28
|
+
let memory = 0;
|
|
29
|
+
for (const [_, pings] of workers) {
|
|
30
|
+
for (const ping of pings) {
|
|
31
|
+
if (ping.vcpus) {
|
|
32
|
+
vcpus += ping.vcpus;
|
|
33
|
+
}
|
|
34
|
+
if (ping.memory) {
|
|
35
|
+
memory += ping.memory;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return { vcpus, memory };
|
|
40
|
+
}
|
|
23
41
|
let nconfig = {};
|
|
24
42
|
function loadNConfig() {
|
|
25
43
|
nconfig = config
|
|
@@ -65,7 +83,8 @@ const defaultTags = [
|
|
|
65
83
|
'flow',
|
|
66
84
|
'other',
|
|
67
85
|
'bun',
|
|
68
|
-
'php'
|
|
86
|
+
'php',
|
|
87
|
+
'rust'
|
|
69
88
|
];
|
|
70
89
|
const nativeTags = [
|
|
71
90
|
'nativets',
|
|
@@ -409,6 +428,42 @@ let createdTags = [];
|
|
|
409
428
|
{/if}
|
|
410
429
|
{/if}
|
|
411
430
|
</Section>
|
|
431
|
+
{#if nconfig !== undefined}
|
|
432
|
+
<div class="mt-8" />
|
|
433
|
+
<Section label="Alerts" tooltip="Alert is sent to the configured critical error channels">
|
|
434
|
+
<Toggle
|
|
435
|
+
size="sm"
|
|
436
|
+
options={{
|
|
437
|
+
right: 'Send an alert when the number of alive workers falls below a given threshold'
|
|
438
|
+
}}
|
|
439
|
+
checked={nconfig?.min_alive_workers_alert_threshold !== undefined ?? false}
|
|
440
|
+
on:change={(ev) => {
|
|
441
|
+
if (nconfig !== undefined) {
|
|
442
|
+
nconfig.min_alive_workers_alert_threshold = ev.detail ? 1 : undefined
|
|
443
|
+
dirty = true
|
|
444
|
+
}
|
|
445
|
+
}}
|
|
446
|
+
disabled{!$enterpriseLicense}
|
|
447
|
+
/>
|
|
448
|
+
{#if nconfig.min_alive_workers_alert_threshold !== undefined}
|
|
449
|
+
<div class="flex flex-row items-center justify-between">
|
|
450
|
+
<div class="flex flex-row items-center text-sm gap-2">
|
|
451
|
+
<p>Triggered when number of workers in group is lower than</p>
|
|
452
|
+
<input
|
|
453
|
+
type="number"
|
|
454
|
+
class="!w-14 text-center"
|
|
455
|
+
disabled={!$enterpriseLicense}
|
|
456
|
+
min="1"
|
|
457
|
+
bind:value={nconfig.min_alive_workers_alert_threshold}
|
|
458
|
+
on:change={(ev) => {
|
|
459
|
+
dirty = true
|
|
460
|
+
}}
|
|
461
|
+
/>
|
|
462
|
+
</div>
|
|
463
|
+
</div>
|
|
464
|
+
{/if}
|
|
465
|
+
</Section>
|
|
466
|
+
{/if}
|
|
412
467
|
{:else if selected == 'dedicated'}
|
|
413
468
|
{#if nconfig?.dedicated_worker != undefined}
|
|
414
469
|
<input
|
|
@@ -733,6 +788,13 @@ let createdTags = [];
|
|
|
733
788
|
variant="contained"
|
|
734
789
|
color="dark"
|
|
735
790
|
on:click={async () => {
|
|
791
|
+
if (
|
|
792
|
+
nconfig?.min_alive_workers_alert_threshold &&
|
|
793
|
+
nconfig?.min_alive_workers_alert_threshold < 1
|
|
794
|
+
) {
|
|
795
|
+
sendUserToast('Minimum alive workers alert threshold must be at least 1', true)
|
|
796
|
+
return
|
|
797
|
+
}
|
|
736
798
|
customEnvVars.forEach((envvar) => {
|
|
737
799
|
if (
|
|
738
800
|
nconfig.env_vars_static !== undefined &&
|
|
@@ -764,81 +826,90 @@ let createdTags = [];
|
|
|
764
826
|
</DrawerContent>
|
|
765
827
|
</Drawer>
|
|
766
828
|
|
|
767
|
-
<div class="flex
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
{
|
|
781
|
-
|
|
782
|
-
|
|
829
|
+
<div class=" flex items-center justify-between pt-1">
|
|
830
|
+
<div class="text-xs"
|
|
831
|
+
>{pluralize(activeWorkers, 'worker')}
|
|
832
|
+
{#if vcpus_memory?.vcpus}
|
|
833
|
+
- {(vcpus_memory?.vcpus / 100000).toFixed(2)} vCPUs{/if}
|
|
834
|
+
{#if vcpus_memory?.memory}
|
|
835
|
+
- {((vcpus_memory?.memory * 1.0) / 1024 / 1024 / 1024).toFixed(2)} GB{/if}</div
|
|
836
|
+
>
|
|
837
|
+
<div class="flex gap-2 items-center justify-end flex-row my-2">
|
|
838
|
+
{#if $superadmin}
|
|
839
|
+
<Button
|
|
840
|
+
color="light"
|
|
841
|
+
size="xs"
|
|
842
|
+
on:click={() => {
|
|
843
|
+
dirty = false
|
|
844
|
+
loadNConfig()
|
|
845
|
+
drawer.openDrawer()
|
|
846
|
+
}}
|
|
847
|
+
startIcon={{ icon: config == undefined ? Plus : Settings }}
|
|
848
|
+
>
|
|
849
|
+
<div class="flex flex-row gap-1 items-center">
|
|
850
|
+
{config == undefined ? 'Create' : 'Edit'} config
|
|
851
|
+
</div>
|
|
852
|
+
</Button>
|
|
783
853
|
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
854
|
+
<Button
|
|
855
|
+
color="light"
|
|
856
|
+
size="xs"
|
|
857
|
+
on:click={() => {
|
|
858
|
+
navigator.clipboard.writeText(
|
|
859
|
+
YAML.stringify({
|
|
860
|
+
name,
|
|
861
|
+
...config
|
|
862
|
+
})
|
|
863
|
+
)
|
|
864
|
+
sendUserToast('Worker config copied to clipboard as YAML')
|
|
865
|
+
}}
|
|
866
|
+
startIcon={{ icon: Copy }}
|
|
867
|
+
>
|
|
868
|
+
Copy config
|
|
869
|
+
</Button>
|
|
870
|
+
|
|
871
|
+
{#if config}
|
|
872
|
+
<Button
|
|
873
|
+
color="light"
|
|
874
|
+
size="xs"
|
|
875
|
+
on:click={() => {
|
|
876
|
+
if (!$enterpriseLicense) {
|
|
877
|
+
sendUserToast('Worker Management UI is an EE feature', true)
|
|
878
|
+
} else {
|
|
879
|
+
openDelete = true
|
|
880
|
+
}
|
|
881
|
+
}}
|
|
882
|
+
startIcon={{ icon: Trash }}
|
|
883
|
+
btnClasses="text-red-400"
|
|
884
|
+
>
|
|
885
|
+
Delete config
|
|
886
|
+
</Button>
|
|
887
|
+
{/if}
|
|
800
888
|
|
|
801
|
-
{#if config}
|
|
802
889
|
<Button
|
|
803
890
|
color="light"
|
|
804
891
|
size="xs"
|
|
805
892
|
on:click={() => {
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
openDelete = true
|
|
810
|
-
}
|
|
893
|
+
loadNConfig()
|
|
894
|
+
|
|
895
|
+
openClean = true
|
|
811
896
|
}}
|
|
812
|
-
startIcon={{ icon: Trash }}
|
|
813
897
|
btnClasses="text-red-400"
|
|
898
|
+
startIcon={{ icon: RefreshCcwIcon }}
|
|
814
899
|
>
|
|
815
|
-
|
|
900
|
+
Clean cache
|
|
901
|
+
</Button>
|
|
902
|
+
{:else if config}
|
|
903
|
+
<Button
|
|
904
|
+
color="light"
|
|
905
|
+
size="xs"
|
|
906
|
+
on:click={() => {
|
|
907
|
+
loadNConfig()
|
|
908
|
+
drawer.openDrawer()
|
|
909
|
+
}}
|
|
910
|
+
>
|
|
911
|
+
<div class="flex flex-row gap-1 items-center"> config </div>
|
|
816
912
|
</Button>
|
|
817
913
|
{/if}
|
|
818
|
-
|
|
819
|
-
<Button
|
|
820
|
-
color="light"
|
|
821
|
-
size="xs"
|
|
822
|
-
on:click={() => {
|
|
823
|
-
loadNConfig()
|
|
824
|
-
|
|
825
|
-
openClean = true
|
|
826
|
-
}}
|
|
827
|
-
btnClasses="text-red-400"
|
|
828
|
-
startIcon={{ icon: RefreshCcwIcon }}
|
|
829
|
-
>
|
|
830
|
-
Clean cache
|
|
831
|
-
</Button>
|
|
832
|
-
{:else if config}
|
|
833
|
-
<Button
|
|
834
|
-
color="light"
|
|
835
|
-
size="xs"
|
|
836
|
-
on:click={() => {
|
|
837
|
-
loadNConfig()
|
|
838
|
-
drawer.openDrawer()
|
|
839
|
-
}}
|
|
840
|
-
>
|
|
841
|
-
<div class="flex flex-row gap-1 items-center"> config </div>
|
|
842
|
-
</Button>
|
|
843
|
-
{/if}
|
|
914
|
+
</div>
|
|
844
915
|
</div>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
|
+
import { type WorkerPing } from '../gen';
|
|
2
3
|
declare const __propDef: {
|
|
3
4
|
props: {
|
|
4
5
|
name: string;
|
|
@@ -10,9 +11,11 @@ declare const __propDef: {
|
|
|
10
11
|
init_bash?: string;
|
|
11
12
|
additional_python_paths?: string[];
|
|
12
13
|
pip_local_dependencies?: string[];
|
|
14
|
+
min_alive_workers_alert_threshold?: number;
|
|
13
15
|
};
|
|
14
16
|
activeWorkers: number;
|
|
15
17
|
customTags: string[] | undefined;
|
|
18
|
+
workers: [string, WorkerPing[]][];
|
|
16
19
|
defaultTagPerWorkspace?: boolean | undefined;
|
|
17
20
|
};
|
|
18
21
|
events: {
|
|
@@ -27,7 +27,7 @@ export let allowColumnDefsActions = true;
|
|
|
27
27
|
let inputs = {};
|
|
28
28
|
const context = getContext('AppViewerContext');
|
|
29
29
|
const contextPanel = getContext('ContextPanel');
|
|
30
|
-
const { app, selectedComponent, componentControl, darkMode } = context;
|
|
30
|
+
const { app, selectedComponent, componentControl, darkMode, mode } = context;
|
|
31
31
|
let css = initCss($app.css?.aggridcomponent, customCss);
|
|
32
32
|
let selectedRowIndex = -1;
|
|
33
33
|
function toggleRow(row) {
|
|
@@ -382,7 +382,24 @@ function updateOptions() {
|
|
|
382
382
|
class="ag-theme-alpine"
|
|
383
383
|
class:ag-theme-alpine-dark={$darkMode}
|
|
384
384
|
>
|
|
385
|
-
|
|
385
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
386
|
+
<div
|
|
387
|
+
bind:this={eGui}
|
|
388
|
+
style:height="100%"
|
|
389
|
+
on:keydown={(e) => {
|
|
390
|
+
if ((e.ctrlKey || e.metaKey) && e.key === 'c' && $mode !== 'dnd') {
|
|
391
|
+
const selectedCell = api?.getFocusedCell()
|
|
392
|
+
if (selectedCell) {
|
|
393
|
+
const rowIndex = selectedCell.rowIndex
|
|
394
|
+
const colId = selectedCell.column?.getId()
|
|
395
|
+
const rowNode = api?.getDisplayedRowAtIndex(rowIndex)
|
|
396
|
+
const selectedValue = rowNode?.data?.[colId]
|
|
397
|
+
navigator.clipboard.writeText(selectedValue)
|
|
398
|
+
sendUserToast('Copied cell value to clipboard', false)
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}}
|
|
402
|
+
/>
|
|
386
403
|
</div>
|
|
387
404
|
{#if resolvedConfig && 'footer' in resolvedConfig && resolvedConfig.footer}
|
|
388
405
|
<div class="flex gap-1 w-full justify-between items-center text-xs text-primary p-2">
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
2
|
import type { AppInput } from '../../../inputType';
|
|
3
|
-
import type { ComponentCustomCSS, RichConfigurations } from '../../../types';
|
|
3
|
+
import type { ComponentCustomCSS, RichConfiguration, RichConfigurations } from '../../../types';
|
|
4
4
|
import { type TableAction } from '../../../editor/component';
|
|
5
5
|
import 'ag-grid-community/styles/ag-grid.css';
|
|
6
6
|
import './theme/windmill-theme.css';
|
|
@@ -13,6 +13,7 @@ declare const __propDef: {
|
|
|
13
13
|
render: boolean;
|
|
14
14
|
customCss?: ComponentCustomCSS<'aggridinfinitecomponent'> | undefined;
|
|
15
15
|
actions?: TableAction[] | undefined;
|
|
16
|
+
actionsOrder?: RichConfiguration | undefined;
|
|
16
17
|
};
|
|
17
18
|
events: {
|
|
18
19
|
[evt: string]: CustomEvent<any>;
|
|
@@ -13,6 +13,7 @@ export let initializing = undefined;
|
|
|
13
13
|
export let render;
|
|
14
14
|
export let customCss = undefined;
|
|
15
15
|
export let actions = [];
|
|
16
|
+
export let actionsOrder = undefined;
|
|
16
17
|
let loaded = false;
|
|
17
18
|
async function load() {
|
|
18
19
|
await import('ag-grid-enterprise');
|
|
@@ -32,6 +33,7 @@ load();
|
|
|
32
33
|
{render}
|
|
33
34
|
{customCss}
|
|
34
35
|
{actions}
|
|
36
|
+
{actionsOrder}
|
|
35
37
|
/>
|
|
36
38
|
{:else}
|
|
37
39
|
<Loader2 class="animate-spin" />
|
package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
2
|
import type { AppInput } from '../../../inputType';
|
|
3
|
-
import type { ComponentCustomCSS, RichConfigurations } from '../../../types';
|
|
3
|
+
import type { ComponentCustomCSS, RichConfiguration, RichConfigurations } from '../../../types';
|
|
4
4
|
import 'ag-grid-community/styles/ag-grid.css';
|
|
5
5
|
import 'ag-grid-community/styles/ag-theme-alpine.css';
|
|
6
6
|
import type { TableAction } from '../../../editor/component';
|
|
@@ -14,6 +14,7 @@ declare const __propDef: {
|
|
|
14
14
|
render: boolean;
|
|
15
15
|
customCss?: ComponentCustomCSS<'aggridinfinitecomponentee'> | undefined;
|
|
16
16
|
actions?: TableAction[] | undefined;
|
|
17
|
+
actionsOrder?: RichConfiguration | undefined;
|
|
17
18
|
};
|
|
18
19
|
events: {
|
|
19
20
|
[evt: string]: CustomEvent<any>;
|
|
@@ -18,6 +18,7 @@ import AppAggridTableActions from './AppAggridTableActions.svelte';
|
|
|
18
18
|
import { cellRendererFactory, defaultCellRenderer } from './utils';
|
|
19
19
|
import Popover from '../../../../Popover.svelte';
|
|
20
20
|
import { Button } from '../../../../common';
|
|
21
|
+
import InputValue from '../../helpers/InputValue.svelte';
|
|
21
22
|
// import 'ag-grid-community/dist/styles/ag-theme-alpine-dark.css'
|
|
22
23
|
export let id;
|
|
23
24
|
export let componentInput;
|
|
@@ -26,11 +27,12 @@ export let initializing = undefined;
|
|
|
26
27
|
export let render;
|
|
27
28
|
export let customCss = undefined;
|
|
28
29
|
export let actions = undefined;
|
|
30
|
+
export let actionsOrder = undefined;
|
|
29
31
|
const context = getContext('AppViewerContext');
|
|
30
32
|
const contextPanel = getContext('ContextPanel');
|
|
31
33
|
const iterContext = getContext('ListWrapperContext');
|
|
32
34
|
const listInputs = getContext('ListInputs');
|
|
33
|
-
const { app, worldStore, selectedComponent, componentControl, darkMode } = context;
|
|
35
|
+
const { app, worldStore, selectedComponent, componentControl, darkMode, mode } = context;
|
|
34
36
|
const rowHeights = {
|
|
35
37
|
normal: 40,
|
|
36
38
|
compact: 30,
|
|
@@ -139,6 +141,19 @@ function refreshActions(actions) {
|
|
|
139
141
|
}
|
|
140
142
|
let lastActions = undefined;
|
|
141
143
|
$: actions && refreshActions(actions);
|
|
144
|
+
let lastActionsOrder = undefined;
|
|
145
|
+
$: computedOrder && refreshActionsOrder(computedOrder);
|
|
146
|
+
function clearActionOrder() {
|
|
147
|
+
computedOrder = undefined;
|
|
148
|
+
updateOptions();
|
|
149
|
+
}
|
|
150
|
+
$: computedOrder && computedOrder.length > 0 && actionsOrder === undefined && clearActionOrder();
|
|
151
|
+
function refreshActionsOrder(actionsOrder) {
|
|
152
|
+
if (Array.isArray(actionsOrder) && !deepEqual(actionsOrder, lastActionsOrder)) {
|
|
153
|
+
lastActionsOrder = [...actionsOrder];
|
|
154
|
+
updateOptions();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
142
157
|
let inputs = {};
|
|
143
158
|
const tableActionsFactory = cellRendererFactory((c, p) => {
|
|
144
159
|
const rowIndex = p.node.rowIndex ?? 0;
|
|
@@ -147,12 +162,17 @@ const tableActionsFactory = cellRendererFactory((c, p) => {
|
|
|
147
162
|
['AppViewerContext', context],
|
|
148
163
|
['ContextPanel', contextPanel]
|
|
149
164
|
]);
|
|
165
|
+
const sortedActions = computedOrder
|
|
166
|
+
? computedOrder
|
|
167
|
+
.map((key) => actions?.find((a) => a.id === key))
|
|
168
|
+
.filter(Boolean)
|
|
169
|
+
: actions;
|
|
150
170
|
let ta = new AppAggridTableActions({
|
|
151
171
|
target: c.eGui,
|
|
152
172
|
props: {
|
|
153
173
|
p,
|
|
154
174
|
id: id,
|
|
155
|
-
actions,
|
|
175
|
+
actions: sortedActions,
|
|
156
176
|
rowIndex,
|
|
157
177
|
row,
|
|
158
178
|
render,
|
|
@@ -381,8 +401,13 @@ function updateOptions() {
|
|
|
381
401
|
let loading = false;
|
|
382
402
|
let refreshCount = 0;
|
|
383
403
|
let footerRenderCount = 0;
|
|
404
|
+
let computedOrder = undefined;
|
|
384
405
|
</script>
|
|
385
406
|
|
|
407
|
+
{#if actionsOrder}
|
|
408
|
+
<InputValue key="actionsOrder" {id} input={actionsOrder} bind:value={computedOrder} />
|
|
409
|
+
{/if}
|
|
410
|
+
|
|
386
411
|
{#each Object.keys(components['aggridcomponent'].initialData.configuration) as key (key)}
|
|
387
412
|
<ResolveConfig
|
|
388
413
|
{id}
|
|
@@ -440,7 +465,24 @@ let footerRenderCount = 0;
|
|
|
440
465
|
>
|
|
441
466
|
{#key resolvedConfig?.pagination}
|
|
442
467
|
{#if loaded}
|
|
443
|
-
|
|
468
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
469
|
+
<div
|
|
470
|
+
bind:this={eGui}
|
|
471
|
+
style:height="100%"
|
|
472
|
+
on:keydown={(e) => {
|
|
473
|
+
if ((e.ctrlKey || e.metaKey) && e.key === 'c' && $mode !== 'dnd') {
|
|
474
|
+
const selectedCell = api?.getFocusedCell()
|
|
475
|
+
if (selectedCell) {
|
|
476
|
+
const rowIndex = selectedCell.rowIndex
|
|
477
|
+
const colId = selectedCell.column?.getId()
|
|
478
|
+
const rowNode = api?.getDisplayedRowAtIndex(rowIndex)
|
|
479
|
+
const selectedValue = rowNode?.data?.[colId]
|
|
480
|
+
navigator.clipboard.writeText(selectedValue)
|
|
481
|
+
sendUserToast('Copied cell value to clipboard', false)
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
}}
|
|
485
|
+
/>
|
|
444
486
|
{:else}
|
|
445
487
|
<Loader2 class="animate-spin" />
|
|
446
488
|
{/if}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
2
|
import type { AppInput } from '../../../inputType';
|
|
3
|
-
import type { ComponentCustomCSS, RichConfigurations } from '../../../types';
|
|
3
|
+
import type { ComponentCustomCSS, RichConfiguration, RichConfigurations } from '../../../types';
|
|
4
4
|
import { type TableAction } from '../../../editor/component';
|
|
5
5
|
import 'ag-grid-community/styles/ag-grid.css';
|
|
6
6
|
import './theme/windmill-theme.css';
|
|
@@ -13,6 +13,7 @@ declare const __propDef: {
|
|
|
13
13
|
render: boolean;
|
|
14
14
|
customCss?: ComponentCustomCSS<'aggridcomponent'> | undefined;
|
|
15
15
|
actions?: TableAction[] | undefined;
|
|
16
|
+
actionsOrder?: RichConfiguration | undefined;
|
|
16
17
|
};
|
|
17
18
|
events: {
|
|
18
19
|
[evt: string]: CustomEvent<any>;
|
|
@@ -13,6 +13,7 @@ export let initializing = undefined;
|
|
|
13
13
|
export let render;
|
|
14
14
|
export let customCss = undefined;
|
|
15
15
|
export let actions = [];
|
|
16
|
+
export let actionsOrder = undefined;
|
|
16
17
|
let loaded = false;
|
|
17
18
|
async function load() {
|
|
18
19
|
await import('ag-grid-enterprise');
|
|
@@ -32,6 +33,7 @@ load();
|
|
|
32
33
|
{render}
|
|
33
34
|
{customCss}
|
|
34
35
|
{actions}
|
|
36
|
+
{actionsOrder}
|
|
35
37
|
/>
|
|
36
38
|
{:else}
|
|
37
39
|
<Loader2 class="animate-spin" />
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
2
|
import type { AppInput } from '../../../inputType';
|
|
3
|
-
import type { ComponentCustomCSS, RichConfigurations } from '../../../types';
|
|
3
|
+
import type { ComponentCustomCSS, RichConfiguration, RichConfigurations } from '../../../types';
|
|
4
4
|
import 'ag-grid-community/styles/ag-grid.css';
|
|
5
5
|
import 'ag-grid-community/styles/ag-theme-alpine.css';
|
|
6
6
|
import type { TableAction } from '../../../editor/component';
|
|
@@ -14,6 +14,7 @@ declare const __propDef: {
|
|
|
14
14
|
render: boolean;
|
|
15
15
|
customCss?: ComponentCustomCSS<'aggridcomponent'> | undefined;
|
|
16
16
|
actions?: TableAction[] | undefined;
|
|
17
|
+
actionsOrder?: RichConfiguration | undefined;
|
|
17
18
|
};
|
|
18
19
|
events: {
|
|
19
20
|
[evt: string]: CustomEvent<any>;
|