@svadmin/ui 0.72.0 → 0.74.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/README.md +62 -22
- package/THIRD_PARTY_NOTICES.md +52 -0
- package/dist/app.css +8488 -6297
- package/dist/app.theme.css +8514 -6374
- package/dist/class-properties.generated.d.ts +1 -0
- package/dist/class-properties.generated.js +2 -0
- package/dist/classnames.d.ts +8 -0
- package/dist/classnames.js +26 -0
- package/dist/component-registry.d.ts +14977 -0
- package/dist/component-registry.js +216 -0
- package/dist/components/AboutSettings.svelte +7 -1
- package/dist/components/AboutSettings.svelte.d.ts +4 -1
- package/dist/components/ActivityFeed.svelte +9 -3
- package/dist/components/ActivityFeed.svelte.d.ts +3 -0
- package/dist/components/AdminApp.svelte +19 -10
- package/dist/components/AdminApp.svelte.d.ts +6 -0
- package/dist/components/ApiSettings.svelte +41 -5
- package/dist/components/ApprovalCenter.svelte +283 -0
- package/dist/components/ApprovalCenter.svelte.d.ts +10 -0
- package/dist/components/AuditLogViewer.svelte +3 -1
- package/dist/components/AutoForm.svelte +53 -9
- package/dist/components/AutoForm.svelte.d.ts +3 -0
- package/dist/components/AutoTable.svelte +846 -43
- package/dist/components/AutoTable.svelte.d.ts +22 -1
- package/dist/components/BoundRecordDetailDrawer.svelte +17 -2
- package/dist/components/BoundRecordDetailDrawer.svelte.d.ts +4 -0
- package/dist/components/Breadcrumbs.svelte +11 -1
- package/dist/components/CancelTaskButton.svelte +12 -42
- package/dist/components/ColorPicker.svelte +73 -0
- package/dist/components/ColorPicker.svelte.d.ts +15 -0
- package/dist/components/ComboboxField.svelte +143 -34
- package/dist/components/ComboboxField.svelte.d.ts +4 -2
- package/dist/components/CreatePage.svelte +4 -0
- package/dist/components/CreatePage.svelte.d.ts +2 -0
- package/dist/components/DashboardView.svelte +99 -0
- package/dist/components/DashboardView.svelte.d.ts +14 -0
- package/dist/components/DatePicker.svelte +10 -0
- package/dist/components/DatePicker.svelte.d.ts +6 -0
- package/dist/components/DateRangeInput.svelte +155 -0
- package/dist/components/DateRangeInput.svelte.d.ts +35 -0
- package/dist/components/DateRangePicker.svelte +10 -0
- package/dist/components/DateRangePicker.svelte.d.ts +6 -0
- package/dist/components/DateTimeInput.svelte +134 -0
- package/dist/components/DateTimeInput.svelte.d.ts +27 -0
- package/dist/components/DateTimePicker.svelte +10 -0
- package/dist/components/DateTimePicker.svelte.d.ts +6 -0
- package/dist/components/DevTools.svelte +36 -28
- package/dist/components/DevframePanel.svelte +123 -0
- package/dist/components/DevframePanel.svelte.d.ts +3 -0
- package/dist/components/EditPage.svelte +4 -0
- package/dist/components/EditPage.svelte.d.ts +2 -0
- package/dist/components/ErrorSummary.svelte +52 -0
- package/dist/components/ErrorSummary.svelte.d.ts +14 -0
- package/dist/components/FieldRenderer.svelte +172 -99
- package/dist/components/FileUpload.svelte +412 -0
- package/dist/components/FileUpload.svelte.d.ts +43 -0
- package/dist/components/FilterBuilder.svelte +244 -265
- package/dist/components/FilterBuilder.svelte.d.ts +3 -0
- package/dist/components/FilterCollectionInput.svelte +80 -0
- package/dist/components/FilterCollectionInput.svelte.d.ts +10 -0
- package/dist/components/GanttChart.svelte +66 -14
- package/dist/components/GanttChart.svelte.d.ts +6 -0
- package/dist/components/Header.svelte +18 -2
- package/dist/components/ImportWizard.svelte +509 -100
- package/dist/components/ImportWizard.svelte.d.ts +11 -0
- package/dist/components/JsonSchemaForm.svelte +322 -98
- package/dist/components/JsonSchemaForm.svelte.d.ts +18 -1
- package/dist/components/KanbanBoard.svelte +195 -40
- package/dist/components/KanbanBoard.svelte.d.ts +9 -2
- package/dist/components/Layout.svelte +4 -3
- package/dist/components/LazyAutoForm.svelte +28 -0
- package/dist/components/LazyAutoForm.svelte.d.ts +8 -0
- package/dist/components/LazyAutoTable.svelte +28 -0
- package/dist/components/LazyAutoTable.svelte.d.ts +8 -0
- package/dist/components/LazySettingsPage.svelte +28 -0
- package/dist/components/LazySettingsPage.svelte.d.ts +8 -0
- package/dist/components/LazyShowPage.svelte +28 -0
- package/dist/components/LazyShowPage.svelte.d.ts +8 -0
- package/dist/components/LazyTaskQueueDrawer.svelte.d.ts +1 -1
- package/dist/components/ListPage.svelte +9 -1
- package/dist/components/ListPage.svelte.d.ts +5 -0
- package/dist/components/LoginPage.svelte +2 -2
- package/dist/components/MoneyInput.svelte +25 -0
- package/dist/components/MoneyInput.svelte.d.ts +20 -0
- package/dist/components/MultiTabKeepAlive.svelte +11 -6
- package/dist/components/NotificationsSettings.svelte +69 -2
- package/dist/components/NotificationsSettings.svelte.d.ts +25 -1
- package/dist/components/NumberInput.svelte +25 -0
- package/dist/components/NumberInput.svelte.d.ts +19 -0
- package/dist/components/NumericInput.svelte +110 -0
- package/dist/components/NumericInput.svelte.d.ts +23 -0
- package/dist/components/PercentInput.svelte +25 -0
- package/dist/components/PercentInput.svelte.d.ts +20 -0
- package/dist/components/PermissionMatrix.svelte +20 -1
- package/dist/components/PivotExportButton.svelte +157 -0
- package/dist/components/PivotExportButton.svelte.d.ts +16 -0
- package/dist/components/PivotTable.svelte +229 -74
- package/dist/components/PivotTable.svelte.d.ts +19 -2
- package/dist/components/QuickEditDrawer.svelte +4 -1
- package/dist/components/QuickEditDrawer.svelte.d.ts +2 -0
- package/dist/components/RadioGroup.svelte +121 -0
- package/dist/components/RadioGroup.svelte.d.ts +43 -0
- package/dist/components/RangeSlider.svelte +127 -0
- package/dist/components/RangeSlider.svelte.d.ts +22 -0
- package/dist/components/Rate.svelte +121 -0
- package/dist/components/Rate.svelte.d.ts +16 -0
- package/dist/components/RecordDetailDrawer.svelte +6 -2
- package/dist/components/RecordDetailDrawer.svelte.d.ts +4 -0
- package/dist/components/RelationPicker.svelte +341 -0
- package/dist/components/RelationPicker.svelte.d.ts +26 -0
- package/dist/components/ResourceOperationsPage.svelte +25 -19
- package/dist/components/ResourceOperationsPage.svelte.d.ts +5 -1
- package/dist/components/RetryTaskButton.svelte +12 -42
- package/dist/components/SecuritySettings.svelte +29 -5
- package/dist/components/SegmentedControl.svelte +145 -0
- package/dist/components/SegmentedControl.svelte.d.ts +38 -0
- package/dist/components/SettingsPage.svelte +3 -1
- package/dist/components/SettingsPage.svelte.d.ts +1 -0
- package/dist/components/ShowInferencer.svelte +4 -2
- package/dist/components/ShowInferencer.svelte.d.ts +2 -0
- package/dist/components/ShowPage.svelte +25 -6
- package/dist/components/ShowPage.svelte.d.ts +5 -0
- package/dist/components/Sidebar.svelte +5 -5
- package/dist/components/Slider.svelte +100 -0
- package/dist/components/Slider.svelte.d.ts +19 -0
- package/dist/components/SpreadsheetView.svelte +1037 -124
- package/dist/components/SpreadsheetView.svelte.d.ts +19 -0
- package/dist/components/StepsForm.svelte +5 -5
- package/dist/components/SvarAutoTable.svelte +39 -0
- package/dist/components/SvarAutoTable.svelte.d.ts +13 -0
- package/dist/components/SvarDataGrid.svelte +362 -0
- package/dist/components/SvarDataGrid.svelte.d.ts +57 -0
- package/dist/components/SvarGridCell.svelte +10 -0
- package/dist/components/SvarGridCell.svelte.d.ts +7 -0
- package/dist/components/SvarResourceRead.svelte +50 -0
- package/dist/components/SvarResourceRead.svelte.d.ts +23 -0
- package/dist/components/SvarResourceTable.svelte +63 -0
- package/dist/components/SvarResourceTable.svelte.d.ts +42 -0
- package/dist/components/SvarResourceTableView.svelte +364 -0
- package/dist/components/SvarResourceTableView.svelte.d.ts +4 -0
- package/dist/components/TagsInput.svelte +178 -0
- package/dist/components/TagsInput.svelte.d.ts +17 -0
- package/dist/components/TaskQueueDrawer.svelte +72 -16
- package/dist/components/TimePicker.svelte +10 -0
- package/dist/components/TimePicker.svelte.d.ts +6 -0
- package/dist/components/TreeSelect.svelte +440 -46
- package/dist/components/TreeSelect.svelte.d.ts +6 -1
- package/dist/components/TreeTable.svelte +484 -82
- package/dist/components/TreeTable.svelte.d.ts +24 -1
- package/dist/components/TwoFactorAuthPage.svelte +85 -48
- package/dist/components/TwoFactorAuthPage.svelte.d.ts +12 -1
- package/dist/components/VirtualTable.svelte +116 -20
- package/dist/components/VirtualTable.svelte.d.ts +5 -0
- package/dist/components/account/CompanyProfilePage.svelte +74 -38
- package/dist/components/account/GetStartedPage.svelte +2 -1
- package/dist/components/account/ImportMembersPage.svelte +22 -167
- package/dist/components/account/ImportMembersPage.svelte.d.ts +4 -1
- package/dist/components/account/MemberDirectory.svelte +156 -0
- package/dist/components/account/MemberDirectory.svelte.d.ts +19 -0
- package/dist/components/account/MembersStarterPage.svelte +9 -55
- package/dist/components/account/MembersStarterPage.svelte.d.ts +5 -1
- package/dist/components/account/SecurityLogPage.svelte +4 -1
- package/dist/components/account/SettingsPlainPage.svelte +7 -38
- package/dist/components/account/SettingsPlainPage.svelte.d.ts +4 -1
- package/dist/components/account/SettingsSidebarPage.svelte +7 -20
- package/dist/components/account/TeamMembersPage.svelte +4 -20
- package/dist/components/account/TeamMembersPage.svelte.d.ts +5 -1
- package/dist/components/account/UserProfilePage.svelte +3 -25
- package/dist/components/account/UserProfilePage.svelte.d.ts +17 -2
- package/dist/components/auto-table-grid.d.ts +26 -0
- package/dist/components/auto-table-grid.js +1 -0
- package/dist/components/buttons/ExportButton.svelte +56 -12
- package/dist/components/buttons/ExportButton.svelte.d.ts +11 -0
- package/dist/components/content/ContentPageHeader.svelte +12 -9
- package/dist/components/content/ContentPageShell.svelte +6 -9
- package/dist/components/content/FileBrowser.svelte +35 -0
- package/dist/components/content/FileBrowser.svelte.d.ts +14 -0
- package/dist/components/content/MetricBlock.svelte +10 -13
- package/dist/components/content/NetworkTable.svelte +3 -3
- package/dist/components/content/NetworkTable.svelte.d.ts +1 -0
- package/dist/components/content/PageToolbar.svelte +6 -10
- package/dist/components/content/ReferenceNotice.svelte +5 -0
- package/dist/components/content/ReferenceNotice.svelte.d.ts +18 -0
- package/dist/components/content/SectionHeader.svelte +8 -13
- package/dist/components/content/SettingsFieldRow.svelte +9 -23
- package/dist/components/content/SettingsGroup.svelte +11 -27
- package/dist/components/content/StatusBadge.svelte +3 -8
- package/dist/components/content/WorkspaceLayout.svelte +8 -12
- package/dist/components/enterprise/filter-tree.d.ts +48 -0
- package/dist/components/enterprise/filter-tree.js +224 -0
- package/dist/components/enterprise/json-schema-form.d.ts +39 -0
- package/dist/components/enterprise/json-schema-form.js +195 -0
- package/dist/components/enterprise/recursive-schema-form.d.ts +30 -0
- package/dist/components/enterprise/recursive-schema-form.js +196 -0
- package/dist/components/enterprise/spreadsheet-formula.d.ts +12 -0
- package/dist/components/enterprise/spreadsheet-formula.js +245 -0
- package/dist/components/export-reference.d.ts +2 -0
- package/dist/components/export-reference.js +9 -0
- package/dist/components/fieldComponentMap.js +2 -0
- package/dist/components/fields/DateField.svelte +12 -12
- package/dist/components/fields/date-display.d.ts +6 -0
- package/dist/components/fields/date-display.js +24 -0
- package/dist/components/fields/date-field-value.d.ts +2 -0
- package/dist/components/fields/date-field-value.js +13 -0
- package/dist/components/json-schema-form-state.d.ts +37 -0
- package/dist/components/json-schema-form-state.js +168 -0
- package/dist/components/network/TeamCrewTablePage.svelte +6 -1
- package/dist/components/network/UserCardsNFTPage.svelte +2 -0
- package/dist/components/profile/PublicProfilePage.svelte +2 -0
- package/dist/components/record-detail.svelte.d.ts +3 -0
- package/dist/components/record-detail.svelte.js +10 -4
- package/dist/components/saved-list-views.d.ts +74 -1
- package/dist/components/saved-list-views.js +191 -3
- package/dist/components/svar-grid-cells.d.ts +14 -0
- package/dist/components/svar-grid-cells.js +2 -0
- package/dist/components/svar-grid-contract.d.ts +80 -0
- package/dist/components/svar-grid-contract.js +159 -0
- package/dist/components/svar-grid-interactions.d.ts +54 -0
- package/dist/components/svar-grid-interactions.js +174 -0
- package/dist/components/svar-grid-loading.d.ts +40 -0
- package/dist/components/svar-grid-loading.js +180 -0
- package/dist/components/svar-grid-operations.d.ts +37 -0
- package/dist/components/svar-grid-operations.js +186 -0
- package/dist/components/svar-grid-panes.d.ts +34 -0
- package/dist/components/svar-grid-panes.js +66 -0
- package/dist/components/svar-grid-resource-loading.d.ts +18 -0
- package/dist/components/svar-grid-resource-loading.js +68 -0
- package/dist/components/svar-grid-resource-session.svelte.d.ts +29 -0
- package/dist/components/svar-grid-resource-session.svelte.js +61 -0
- package/dist/components/table-contract.d.ts +12 -1
- package/dist/components/task-action.svelte.d.ts +13 -0
- package/dist/components/task-action.svelte.js +73 -0
- package/dist/components/ui/DesignSystemShowcase.svelte +164 -0
- package/dist/components/ui/DesignSystemShowcase.svelte.d.ts +3 -0
- package/dist/components/ui/badge/badge-variants.d.ts +3 -2
- package/dist/components/ui/badge/badge-variants.js +2 -1
- package/dist/components/ui/badge/badge.svelte +3 -0
- package/dist/components/ui/badge/badge.svelte.d.ts +1 -0
- package/dist/components/ui/button/button-variants.d.ts +5 -4
- package/dist/components/ui/button/button-variants.js +7 -2
- package/dist/components/ui/checkbox/checkbox.svelte +5 -1
- package/dist/components/ui/checkbox/checkbox.svelte.d.ts +5 -1
- package/dist/components/ui/input/input.svelte +8 -6
- package/dist/components/ui/input/input.svelte.d.ts +4 -1
- package/dist/components/ui/select/select.svelte +4 -1
- package/dist/components/ui/select/select.svelte.d.ts +2 -1
- package/dist/components/ui/textarea/textarea.svelte +2 -1
- package/dist/components.css +3110 -0
- package/dist/date-input-policy.d.ts +4 -0
- package/dist/date-input-policy.js +35 -0
- package/dist/design-contract.d.ts +13 -0
- package/dist/design-contract.js +11 -0
- package/dist/design-system-components.d.ts +100 -0
- package/dist/design-system-components.js +101 -0
- package/dist/design-system.d.ts +15 -0
- package/dist/design-system.js +7 -0
- package/dist/devtools-bridge.d.ts +80 -0
- package/dist/devtools-bridge.js +92 -0
- package/dist/index.d.ts +50 -1
- package/dist/index.js +32 -2
- package/dist/page-chrome.css +12 -49
- package/dist/recipes.d.ts +960 -0
- package/dist/recipes.js +264 -0
- package/dist/rendering/index.d.ts +87 -0
- package/dist/rendering/index.js +117 -0
- package/dist/styles/aliases.css +49 -0
- package/dist/styles/compatibility.epilogue.css +384 -0
- package/dist/styles/compatibility.prelude.css +5513 -0
- package/dist/styles/conditional-states.css +28 -0
- package/dist/styles/conditional-utilities.css +22 -0
- package/dist/tree-table-model.d.ts +24 -0
- package/dist/tree-table-model.js +111 -0
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +1 -1
- package/package.json +40 -10
- package/styles-compatibility.json +12 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
value?: string[];
|
|
3
|
+
name?: string;
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
separator?: string;
|
|
6
|
+
maxItems?: number;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
required?: boolean;
|
|
9
|
+
invalid?: boolean;
|
|
10
|
+
describedby?: string;
|
|
11
|
+
ariaLabel?: string;
|
|
12
|
+
class?: string;
|
|
13
|
+
onchange?: (value: string[]) => void;
|
|
14
|
+
}
|
|
15
|
+
declare const TagsInput: import("svelte").Component<Props, {}, "value">;
|
|
16
|
+
type TagsInput = ReturnType<typeof TagsInput>;
|
|
17
|
+
export default TagsInput;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
+
import { onDestroy } from 'svelte';
|
|
2
3
|
import { definedReactiveOptions, definedOptions } from '@svadmin/core/options';
|
|
3
4
|
|
|
4
5
|
import { ListTodo, Loader2, Plus, Search, RefreshCw } from '@lucide/svelte';
|
|
5
|
-
import {
|
|
6
|
+
import { captureAdminContext, captureAuthSession, useSubmitTask, useTaskList } from '@svadmin/core';
|
|
6
7
|
import { decodeTaskSubmitOptions } from '@svadmin/core/schema';
|
|
7
8
|
import { useTranslation } from '@svadmin/core/i18n';
|
|
8
9
|
import type { TaskProvider, TaskRecord } from '@svadmin/core';
|
|
@@ -25,13 +26,14 @@
|
|
|
25
26
|
} from './task-utils.js';
|
|
26
27
|
|
|
27
28
|
const i18n = useTranslation();
|
|
29
|
+
const context = captureAdminContext();
|
|
28
30
|
|
|
29
31
|
type AutoRefreshValue = '0' | '5000' | '15000' | '30000';
|
|
30
32
|
type TaskTab = 'tasks' | 'dlq';
|
|
31
33
|
|
|
32
34
|
let {
|
|
33
35
|
open = $bindable(false),
|
|
34
|
-
taskProvider
|
|
36
|
+
taskProvider,
|
|
35
37
|
title,
|
|
36
38
|
initialTab = 'tasks',
|
|
37
39
|
}: {
|
|
@@ -51,6 +53,45 @@
|
|
|
51
53
|
let submitBodyText = $state(i18n.t('task.bodyPlaceholder'));
|
|
52
54
|
let submitError = $state<string | null>(null);
|
|
53
55
|
let submitOpen = $state(false);
|
|
56
|
+
let submitAttempt = $state.raw<object | null>(null);
|
|
57
|
+
let mounted = true;
|
|
58
|
+
onDestroy(() => { mounted = false; submitAttempt = null; });
|
|
59
|
+
const activeTaskProvider = $derived(taskProvider ?? context.taskProvider);
|
|
60
|
+
const taskScope = $derived({
|
|
61
|
+
provider: activeTaskProvider,
|
|
62
|
+
tenant: context.tenantCacheKey?.__svadminTenant,
|
|
63
|
+
auth: context.authProvider,
|
|
64
|
+
router: context.routerProvider,
|
|
65
|
+
session: captureAuthSession(context.authProvider),
|
|
66
|
+
});
|
|
67
|
+
let previousTaskScope: typeof taskScope | undefined;
|
|
68
|
+
function taskScopesEqual(left: typeof taskScope, right: typeof taskScope): boolean {
|
|
69
|
+
return left.provider === right.provider
|
|
70
|
+
&& left.tenant === right.tenant
|
|
71
|
+
&& left.auth === right.auth
|
|
72
|
+
&& left.router === right.router
|
|
73
|
+
&& left.session.cacheKey === right.session.cacheKey
|
|
74
|
+
&& left.session.available === right.session.available;
|
|
75
|
+
}
|
|
76
|
+
function taskScopeIsCurrent(origin: typeof taskScope): boolean {
|
|
77
|
+
return mounted && taskScopesEqual(origin, taskScope) && origin.session.isCurrent();
|
|
78
|
+
}
|
|
79
|
+
$effect.pre(() => {
|
|
80
|
+
const scope = taskScope;
|
|
81
|
+
if (previousTaskScope && !taskScopesEqual(previousTaskScope, scope)) {
|
|
82
|
+
selectedTaskId = null;
|
|
83
|
+
submitAttempt = null;
|
|
84
|
+
submitOpen = false;
|
|
85
|
+
resetSubmitForm();
|
|
86
|
+
}
|
|
87
|
+
previousTaskScope = scope;
|
|
88
|
+
});
|
|
89
|
+
$effect.pre(() => {
|
|
90
|
+
if (!open) {
|
|
91
|
+
submitAttempt = null;
|
|
92
|
+
submitOpen = false;
|
|
93
|
+
}
|
|
94
|
+
});
|
|
54
95
|
|
|
55
96
|
const refreshInterval = $derived.by<number | false>(() =>
|
|
56
97
|
autoRefresh === '0' ? false : Number(autoRefresh),
|
|
@@ -59,11 +100,11 @@
|
|
|
59
100
|
|
|
60
101
|
const taskQuery = useTaskList(definedReactiveOptions({
|
|
61
102
|
get taskProvider() {
|
|
62
|
-
return
|
|
103
|
+
return activeTaskProvider;
|
|
63
104
|
},
|
|
64
105
|
get queryOptions() {
|
|
65
106
|
return {
|
|
66
|
-
enabled: !!
|
|
107
|
+
enabled: !!activeTaskProvider,
|
|
67
108
|
refetchInterval: refreshInterval,
|
|
68
109
|
refetchIntervalInBackground: true,
|
|
69
110
|
};
|
|
@@ -75,11 +116,11 @@
|
|
|
75
116
|
return true;
|
|
76
117
|
},
|
|
77
118
|
get taskProvider() {
|
|
78
|
-
return
|
|
119
|
+
return activeTaskProvider;
|
|
79
120
|
},
|
|
80
121
|
get queryOptions() {
|
|
81
122
|
return {
|
|
82
|
-
enabled: !!
|
|
123
|
+
enabled: !!activeTaskProvider && !!activeTaskProvider?.listDlq,
|
|
83
124
|
refetchInterval: refreshInterval,
|
|
84
125
|
refetchIntervalInBackground: true,
|
|
85
126
|
};
|
|
@@ -162,7 +203,14 @@
|
|
|
162
203
|
submitError = null;
|
|
163
204
|
}
|
|
164
205
|
|
|
206
|
+
function toggleSubmitForm(): void {
|
|
207
|
+
submitAttempt = null;
|
|
208
|
+
submitError = null;
|
|
209
|
+
submitOpen = !submitOpen;
|
|
210
|
+
}
|
|
211
|
+
|
|
165
212
|
async function handleSubmitTask() {
|
|
213
|
+
if (!open || !submitOpen || submitAttempt || !activeTaskProvider || !taskScope.session.available) return;
|
|
166
214
|
submitError = null;
|
|
167
215
|
if (!submitTaskName.trim()) {
|
|
168
216
|
submitError = i18n.t('validation.required');
|
|
@@ -180,25 +228,33 @@
|
|
|
180
228
|
}
|
|
181
229
|
}
|
|
182
230
|
|
|
231
|
+
const origin = taskScope;
|
|
232
|
+
const attempt = {};
|
|
233
|
+
submitAttempt = attempt;
|
|
234
|
+
const current = () => submitAttempt === attempt && taskScopeIsCurrent(origin);
|
|
183
235
|
try {
|
|
184
236
|
const handle = await submitTask.mutation.mutateAsync(definedOptions({
|
|
185
237
|
taskName: submitTaskName.trim(),
|
|
186
|
-
taskProvider,
|
|
238
|
+
taskProvider: activeTaskProvider,
|
|
187
239
|
options: definedOptions({
|
|
188
240
|
body,
|
|
189
241
|
idempotencyKey: submitIdempotencyKey.trim() || undefined,
|
|
190
242
|
}),
|
|
191
243
|
}));
|
|
244
|
+
if (!current()) return;
|
|
192
245
|
activeTab = 'tasks';
|
|
193
246
|
selectedTaskId = handle.id;
|
|
194
247
|
submitOpen = false;
|
|
195
248
|
resetSubmitForm();
|
|
196
|
-
await Promise.
|
|
249
|
+
await Promise.allSettled([
|
|
197
250
|
taskQuery.refetch?.(),
|
|
198
251
|
dlqQuery.refetch?.(),
|
|
199
252
|
]);
|
|
200
253
|
} catch (error) {
|
|
254
|
+
if (!current()) return;
|
|
201
255
|
submitError = error instanceof Error ? error.message : i18n.t('task.submitFailed');
|
|
256
|
+
} finally {
|
|
257
|
+
if (submitAttempt === attempt) submitAttempt = null;
|
|
202
258
|
}
|
|
203
259
|
}
|
|
204
260
|
|
|
@@ -249,7 +305,7 @@
|
|
|
249
305
|
</div>
|
|
250
306
|
</div>
|
|
251
307
|
|
|
252
|
-
{#if !
|
|
308
|
+
{#if !activeTaskProvider}
|
|
253
309
|
<div class="svadmin-u-60fbb7713999 svadmin-u-36e579c0b41c svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-0478c89a150f svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">
|
|
254
310
|
{i18n.t('common.configRequired')}
|
|
255
311
|
</div>
|
|
@@ -276,7 +332,7 @@
|
|
|
276
332
|
<RefreshCw class="svadmin-u-82cc6c6581cd svadmin-u-7fc7f732bf7e svadmin-u-bf600f8e029c" />
|
|
277
333
|
{i18n.t('common.refresh')}
|
|
278
334
|
</Button>
|
|
279
|
-
<Button size="sm"
|
|
335
|
+
<Button size="sm" disabled={!taskScope.session.available} onclick={toggleSubmitForm}>
|
|
280
336
|
<Plus class="svadmin-u-82cc6c6581cd svadmin-u-7fc7f732bf7e svadmin-u-bf600f8e029c" />
|
|
281
337
|
{i18n.t('task.submitAction')}
|
|
282
338
|
</Button>
|
|
@@ -327,14 +383,14 @@
|
|
|
327
383
|
<Textarea id="task-body" bind:value={submitBodyText} class="svadmin-u-ee15a477cd9c svadmin-u-0e65706bcccd svadmin-u-359090c2d529" />
|
|
328
384
|
</div>
|
|
329
385
|
{#if submitError}
|
|
330
|
-
<p class="svadmin-u-fc7473ca09eb svadmin-u-811148b13d1e">{submitError}</p>
|
|
386
|
+
<p role="alert" class="svadmin-u-fc7473ca09eb svadmin-u-811148b13d1e">{submitError}</p>
|
|
331
387
|
{/if}
|
|
332
388
|
<div class="svadmin-u-60fbb7713999 svadmin-u-1eb5c6df38c1 svadmin-u-77c08e015d14 svadmin-u-77a2a20e90d4">
|
|
333
|
-
<Button variant="ghost" onclick={
|
|
389
|
+
<Button variant="ghost" onclick={toggleSubmitForm}>
|
|
334
390
|
{i18n.t('common.cancel')}
|
|
335
391
|
</Button>
|
|
336
|
-
<Button onclick={() => void handleSubmitTask()} disabled={
|
|
337
|
-
{#if
|
|
392
|
+
<Button onclick={() => void handleSubmitTask()} disabled={submitAttempt !== null || !taskScope.session.available}>
|
|
393
|
+
{#if submitAttempt !== null}
|
|
338
394
|
<Loader2 class="svadmin-u-82cc6c6581cd svadmin-u-7fc7f732bf7e svadmin-u-bf600f8e029c svadmin-u-afbdd13a380e" />
|
|
339
395
|
{/if}
|
|
340
396
|
{i18n.t('task.submitAction')}
|
|
@@ -346,7 +402,7 @@
|
|
|
346
402
|
|
|
347
403
|
<TaskList
|
|
348
404
|
tasks={filteredTasks}
|
|
349
|
-
{
|
|
405
|
+
taskProvider={activeTaskProvider}
|
|
350
406
|
dlq={activeTab === 'dlq'}
|
|
351
407
|
title={activeTab === 'dlq' ? i18n.t('task.dlqTitle') : i18n.t('task.listTitle')}
|
|
352
408
|
emptyText={activeTab === 'dlq' ? i18n.t('task.noDlq') : i18n.t('task.noTasks')}
|
|
@@ -362,7 +418,7 @@
|
|
|
362
418
|
{#if selectedTaskId}
|
|
363
419
|
<TaskDetails
|
|
364
420
|
taskId={selectedTaskId}
|
|
365
|
-
{
|
|
421
|
+
taskProvider={activeTaskProvider}
|
|
366
422
|
useProviderData
|
|
367
423
|
queryOptions={{
|
|
368
424
|
refetchInterval: refreshInterval,
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { ComponentProps } from 'svelte';
|
|
3
|
+
import DateTimeInput from './DateTimeInput.svelte';
|
|
4
|
+
|
|
5
|
+
export type TimePickerProps = Omit<ComponentProps<typeof DateTimeInput>, 'mode'>;
|
|
6
|
+
|
|
7
|
+
let props: TimePickerProps = $props();
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
<DateTimeInput {...props} mode="time" />
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ComponentProps } from 'svelte';
|
|
2
|
+
import DateTimeInput from './DateTimeInput.svelte';
|
|
3
|
+
export type TimePickerProps = Omit<ComponentProps<typeof DateTimeInput>, 'mode'>;
|
|
4
|
+
declare const TimePicker: import("svelte").Component<TimePickerProps, {}, "">;
|
|
5
|
+
type TimePicker = ReturnType<typeof TimePicker>;
|
|
6
|
+
export default TimePicker;
|