@svadmin/ui 0.70.0 → 0.73.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 +40 -25
- package/THIRD_PARTY_NOTICES.md +52 -0
- package/dist/actions.js +1 -1
- package/dist/app.css +7804 -5188
- package/dist/app.theme.css +7738 -5173
- 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.svelte.d.ts +33 -19
- package/dist/component-registry.svelte.js +6 -4
- package/dist/components/AdminApp.svelte +55 -53
- package/dist/components/AdminApp.svelte.d.ts +2 -2
- package/dist/components/ApiSettings.svelte +19 -1
- package/dist/components/AuditLogDrawer.svelte +14 -3
- package/dist/components/AutoForm.svelte +162 -50
- package/dist/components/AutoForm.svelte.d.ts +4 -0
- package/dist/components/AutoTable.svelte +599 -259
- package/dist/components/AutoTable.svelte.d.ts +6 -0
- package/dist/components/BoundRecordDetailDrawer.svelte +172 -0
- package/dist/components/BoundRecordDetailDrawer.svelte.d.ts +11 -0
- package/dist/components/Breadcrumbs.svelte +7 -4
- package/dist/components/CancelTaskButton.svelte +9 -5
- package/dist/components/ColumnHeaderFilter.svelte +4 -3
- package/dist/components/ColumnSettings.svelte +1 -0
- package/dist/components/ComboboxField.svelte +118 -36
- package/dist/components/ComboboxField.svelte.d.ts +5 -4
- package/dist/components/CreatePage.svelte +7 -1
- package/dist/components/CreatePage.svelte.d.ts +2 -0
- package/dist/components/DateRangeInput.svelte +75 -0
- package/dist/components/DateRangeInput.svelte.d.ts +25 -0
- package/dist/components/DateTimeInput.svelte +65 -0
- package/dist/components/DateTimeInput.svelte.d.ts +19 -0
- package/dist/components/DetailDrawer.svelte +4 -0
- package/dist/components/DetailDrawer.svelte.d.ts +1 -0
- package/dist/components/DevTools.svelte +8 -21
- package/dist/components/DraggableGrid.svelte +1 -0
- package/dist/components/DraggableHeader.svelte +5 -9
- package/dist/components/DraggableHeader.svelte.d.ts +43 -18
- package/dist/components/DraggableRowTable.svelte +2 -2
- package/dist/components/DynamicFormList.svelte +17 -17
- package/dist/components/DynamicFormList.svelte.d.ts +2 -1
- package/dist/components/EditPage.svelte +7 -1
- package/dist/components/EditPage.svelte.d.ts +2 -0
- package/dist/components/EditableTable.svelte +4 -0
- package/dist/components/ErrorPage.svelte +3 -1
- package/dist/components/FieldDisplay.svelte +14 -0
- package/dist/components/FieldDisplay.svelte.d.ts +7 -0
- package/dist/components/FieldRenderer.svelte +96 -20
- package/dist/components/FileUpload.svelte +250 -0
- package/dist/components/FileUpload.svelte.d.ts +32 -0
- package/dist/components/FilterBuilder.svelte +236 -268
- package/dist/components/FilterBuilder.svelte.d.ts +3 -0
- package/dist/components/FilterDropdown.svelte.d.ts +1 -1
- package/dist/components/Header.svelte +5 -6
- package/dist/components/ImportWizard.svelte +182 -94
- package/dist/components/InfiniteList.svelte +22 -8
- package/dist/components/InfiniteList.svelte.d.ts +5 -3
- package/dist/components/InlineEdit.svelte +114 -44
- package/dist/components/JsonSchemaForm.svelte +256 -95
- package/dist/components/JsonSchemaForm.svelte.d.ts +12 -1
- package/dist/components/Layout.svelte +20 -17
- package/dist/components/LazyTaskQueueDrawer.svelte +26 -0
- package/dist/components/LazyTaskQueueDrawer.svelte.d.ts +8 -0
- package/dist/components/ListPage.svelte +11 -6
- package/dist/components/ListPage.svelte.d.ts +2 -0
- package/dist/components/LoginPage.svelte +1 -1
- package/dist/components/MasterDetailView.svelte +3 -3
- package/dist/components/MediaLibraryModal.svelte +5 -2
- package/dist/components/MentionsInput.svelte +4 -3
- package/dist/components/MoneyInput.svelte +25 -0
- package/dist/components/MoneyInput.svelte.d.ts +20 -0
- package/dist/components/NavigateToResource.svelte +3 -2
- 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 +4 -3
- package/dist/components/ProfilePage.svelte +2 -2
- package/dist/components/QuickEditDrawer.svelte +42 -0
- package/dist/components/QuickEditDrawer.svelte.d.ts +10 -0
- package/dist/components/RecordDetailDrawer.svelte +16 -108
- package/dist/components/RecordDetailDrawer.svelte.d.ts +2 -0
- package/dist/components/RecordRowActions.svelte +41 -0
- package/dist/components/RecordRowActions.svelte.d.ts +14 -0
- package/dist/components/ResourceAccessGuard.svelte +7 -5
- package/dist/components/ResourceOperationsPage.svelte +25 -19
- package/dist/components/ResourceOperationsPage.svelte.d.ts +5 -1
- package/dist/components/RetryTaskButton.svelte +9 -5
- package/dist/components/RowActions.svelte +5 -3
- package/dist/components/SensitiveDataMask.svelte +3 -3
- package/dist/components/SettingsPage.svelte +1 -1
- package/dist/components/ShowInferencer.svelte +4 -2
- package/dist/components/ShowInferencer.svelte.d.ts +2 -0
- package/dist/components/ShowPage.svelte +49 -39
- package/dist/components/ShowPage.svelte.d.ts +2 -0
- package/dist/components/Sidebar.svelte +15 -13
- package/dist/components/SplitPaneLayout.svelte +4 -2
- package/dist/components/SpreadsheetView.svelte +81 -286
- package/dist/components/StepsForm.svelte +166 -49
- package/dist/components/StepsForm.svelte.d.ts +1 -0
- 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/TaskDetails.svelte +20 -7
- package/dist/components/TaskList.svelte +19 -7
- package/dist/components/TaskQueueDrawer.svelte +92 -37
- package/dist/components/Toast.svelte +4 -2
- package/dist/components/TooltipButton.svelte +1 -1
- package/dist/components/TreeSelect.svelte +212 -30
- package/dist/components/TreeSelect.svelte.d.ts +3 -1
- package/dist/components/ValidatedField.svelte +27 -0
- package/dist/components/ValidatedField.svelte.d.ts +35 -0
- package/dist/components/account/ImportMembersPage.svelte +2 -2
- package/dist/components/account/SecurityLogPage.svelte +3 -1
- package/dist/components/account/SettingsEnterprisePage.svelte +7 -5
- package/dist/components/account/TeamMembersPage.svelte +1 -1
- package/dist/components/auto-table-grid.d.ts +26 -0
- package/dist/components/auto-table-grid.js +1 -0
- package/dist/components/buttons/CloneButton.svelte +6 -4
- package/dist/components/buttons/DeleteButton.svelte +95 -29
- package/dist/components/buttons/DeleteButton.svelte.d.ts +2 -0
- package/dist/components/buttons/EditButton.svelte +6 -4
- package/dist/components/buttons/ExportButton.svelte +22 -4
- package/dist/components/buttons/ImportButton.svelte +83 -38
- package/dist/components/buttons/ImportButton.svelte.d.ts +6 -10
- package/dist/components/buttons/RefreshButton.svelte +48 -8
- package/dist/components/buttons/ShowButton.svelte +6 -4
- package/dist/components/content/ApiKeyList.svelte +3 -1
- package/dist/components/content/ContentPageHeader.svelte +12 -9
- package/dist/components/content/ContentPageShell.svelte +8 -9
- package/dist/components/content/FileBrowser.svelte +35 -0
- package/dist/components/content/FileBrowser.svelte.d.ts +14 -0
- package/dist/components/content/FileList.svelte +3 -1
- package/dist/components/content/MemberList.svelte +3 -1
- package/dist/components/content/MetricBlock.svelte +10 -13
- package/dist/components/content/NetworkTable.svelte +6 -4
- package/dist/components/content/NetworkTable.svelte.d.ts +1 -0
- package/dist/components/content/PageToolbar.svelte +6 -10
- package/dist/components/content/SectionHeader.svelte +8 -13
- package/dist/components/content/SecurityEventTable.svelte +3 -1
- 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/StatusTabs.svelte +2 -2
- 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/fieldComponentMap.d.ts +18 -13
- package/dist/components/fieldComponentMap.js +100 -47
- package/dist/components/fields/AvatarField.svelte +1 -1
- package/dist/components/fields/ChoiceField.svelte +16 -0
- package/dist/components/fields/ChoiceField.svelte.d.ts +10 -0
- package/dist/components/fields/CodeField.svelte +11 -12
- package/dist/components/fields/CodeField.svelte.d.ts +1 -1
- package/dist/components/fields/DateField.svelte +4 -3
- package/dist/components/fields/DateRangeField.svelte +2 -4
- package/dist/components/fields/ImageField.svelte +3 -1
- package/dist/components/fields/ImagesField.svelte +23 -0
- package/dist/components/fields/ImagesField.svelte.d.ts +6 -0
- package/dist/components/fields/JsonField.svelte +19 -13
- package/dist/components/fields/PasswordField.svelte +5 -0
- package/dist/components/fields/PasswordField.svelte.d.ts +6 -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/fields/json-value.d.ts +11 -0
- package/dist/components/fields/json-value.js +28 -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/profile/ActivityTimeline.svelte +2 -2
- package/dist/components/record-detail.svelte.d.ts +19 -0
- package/dist/components/record-detail.svelte.js +34 -0
- package/dist/components/saved-list-views.js +29 -29
- 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 +13 -0
- package/dist/components/table-contract.js +42 -0
- package/dist/components/task-utils.js +4 -2
- package/dist/components/ui/alert/alert-variants.d.ts +2 -3
- package/dist/components/ui/alert/alert-variants.js +1 -2
- package/dist/components/ui/alert/alert.svelte +4 -5
- package/dist/components/ui/alert/alert.svelte.d.ts +3 -8
- package/dist/components/ui/alert/index.js +0 -2
- package/dist/components/ui/avatar/avatar-variants.d.ts +2 -3
- package/dist/components/ui/avatar/avatar-variants.js +1 -2
- package/dist/components/ui/avatar/avatar.svelte +5 -6
- package/dist/components/ui/avatar/avatar.svelte.d.ts +3 -8
- package/dist/components/ui/badge/badge-variants.d.ts +2 -3
- package/dist/components/ui/badge/badge-variants.js +3 -2
- package/dist/components/ui/badge/badge.svelte +4 -5
- package/dist/components/ui/badge/badge.svelte.d.ts +3 -8
- package/dist/components/ui/badge/index.js +0 -2
- package/dist/components/ui/button/button-variants.d.ts +2 -3
- package/dist/components/ui/button/button-variants.js +5 -3
- package/dist/components/ui/button/button.svelte +100 -44
- package/dist/components/ui/button/button.svelte.d.ts +8 -12
- package/dist/components/ui/button/index.js +0 -2
- package/dist/components/ui/command/command-dialog.svelte +3 -1
- package/dist/components/ui/command/command-dialog.svelte.d.ts +1 -1
- package/dist/components/ui/command/command-group.svelte +4 -2
- package/dist/components/ui/command/command-item.svelte +4 -2
- package/dist/components/ui/command/command-separator.svelte +3 -1
- package/dist/components/ui/command/index.d.ts +5 -5
- package/dist/components/ui/input/input.svelte +41 -24
- package/dist/components/ui/input/input.svelte.d.ts +5 -4
- package/dist/components/ui/sheet/sheet.svelte +9 -3
- package/dist/components/ui/sheet/sheet.svelte.d.ts +1 -0
- package/dist/components/ui/textarea/textarea.svelte +2 -1
- package/dist/components/ui/tooltip/tooltip.svelte +4 -2
- package/dist/components.css +3079 -0
- package/dist/design-contract.d.ts +13 -0
- package/dist/design-contract.js +11 -0
- package/dist/design-system.d.ts +15 -0
- package/dist/design-system.js +7 -0
- package/dist/index.d.ts +15 -1
- package/dist/index.js +9 -0
- package/dist/inline-value.d.ts +5 -0
- package/dist/inline-value.js +24 -0
- package/dist/numeric-input.d.ts +2 -0
- package/dist/numeric-input.js +9 -0
- package/dist/page-chrome.css +12 -49
- package/dist/recipes.d.ts +4 -0
- package/dist/recipes.js +4 -0
- package/dist/rendering/index.d.ts +87 -0
- package/dist/rendering/index.js +117 -0
- package/dist/styled-system/css/conditions.js +36 -0
- package/dist/styled-system/css/css.d.ts +22 -0
- package/dist/styled-system/css/css.js +45 -0
- package/dist/styled-system/css/cva.d.ts +6 -0
- package/dist/styled-system/css/cva.js +87 -0
- package/dist/styled-system/css/cx.d.ts +5 -0
- package/dist/styled-system/css/cx.js +15 -0
- package/dist/styled-system/css/index.d.ts +5 -0
- package/dist/styled-system/css/index.js +4 -0
- package/dist/styled-system/css/sva.d.ts +4 -0
- package/dist/styled-system/css/sva.js +46 -0
- package/dist/styled-system/helpers.js +316 -0
- package/dist/styled-system/patterns/aspect-ratio.d.ts +20 -0
- package/dist/styled-system/patterns/aspect-ratio.js +38 -0
- package/dist/styled-system/patterns/bleed.d.ts +21 -0
- package/dist/styled-system/patterns/bleed.js +24 -0
- package/dist/styled-system/patterns/box.d.ts +20 -0
- package/dist/styled-system/patterns/box.js +15 -0
- package/dist/styled-system/patterns/center.d.ts +20 -0
- package/dist/styled-system/patterns/center.js +21 -0
- package/dist/styled-system/patterns/circle.d.ts +20 -0
- package/dist/styled-system/patterns/circle.js +25 -0
- package/dist/styled-system/patterns/container.d.ts +20 -0
- package/dist/styled-system/patterns/container.js +21 -0
- package/dist/styled-system/patterns/cq.d.ts +21 -0
- package/dist/styled-system/patterns/cq.js +21 -0
- package/dist/styled-system/patterns/divider.d.ts +22 -0
- package/dist/styled-system/patterns/divider.js +25 -0
- package/dist/styled-system/patterns/flex.d.ts +26 -0
- package/dist/styled-system/patterns/flex.js +26 -0
- package/dist/styled-system/patterns/float.d.ts +23 -0
- package/dist/styled-system/patterns/float.js +52 -0
- package/dist/styled-system/patterns/grid-item.d.ts +25 -0
- package/dist/styled-system/patterns/grid-item.js +25 -0
- package/dist/styled-system/patterns/grid.d.ts +24 -0
- package/dist/styled-system/patterns/grid.js +27 -0
- package/dist/styled-system/patterns/hstack.d.ts +21 -0
- package/dist/styled-system/patterns/hstack.js +24 -0
- package/dist/styled-system/patterns/index.d.ts +21 -0
- package/dist/styled-system/patterns/index.js +20 -0
- package/dist/styled-system/patterns/link-overlay.d.ts +20 -0
- package/dist/styled-system/patterns/link-overlay.js +24 -0
- package/dist/styled-system/patterns/spacer.d.ts +20 -0
- package/dist/styled-system/patterns/spacer.js +25 -0
- package/dist/styled-system/patterns/square.d.ts +20 -0
- package/dist/styled-system/patterns/square.js +24 -0
- package/dist/styled-system/patterns/stack.d.ts +23 -0
- package/dist/styled-system/patterns/stack.js +24 -0
- package/dist/styled-system/patterns/visually-hidden.d.ts +20 -0
- package/dist/styled-system/patterns/visually-hidden.js +18 -0
- package/dist/styled-system/patterns/vstack.d.ts +21 -0
- package/dist/styled-system/patterns/vstack.js +24 -0
- package/dist/styled-system/patterns/wrap.d.ts +24 -0
- package/dist/styled-system/patterns/wrap.js +25 -0
- package/dist/styled-system/recipes/content-header.d.ts +31 -0
- package/dist/styled-system/recipes/content-header.js +65 -0
- package/dist/styled-system/recipes/content-page.d.ts +34 -0
- package/dist/styled-system/recipes/content-page.js +43 -0
- package/dist/styled-system/recipes/create-recipe.js +82 -0
- package/dist/styled-system/recipes/index.d.ts +17 -0
- package/dist/styled-system/recipes/index.js +16 -0
- package/dist/styled-system/recipes/metric-block.d.ts +34 -0
- package/dist/styled-system/recipes/metric-block.js +76 -0
- package/dist/styled-system/recipes/product-list.d.ts +31 -0
- package/dist/styled-system/recipes/product-list.js +73 -0
- package/dist/styled-system/recipes/product-section.d.ts +31 -0
- package/dist/styled-system/recipes/product-section.js +49 -0
- package/dist/styled-system/recipes/product-settings-row.d.ts +34 -0
- package/dist/styled-system/recipes/product-settings-row.js +58 -0
- package/dist/styled-system/recipes/product-settings.d.ts +31 -0
- package/dist/styled-system/recipes/product-settings.js +57 -0
- package/dist/styled-system/recipes/product-status.d.ts +34 -0
- package/dist/styled-system/recipes/product-status.js +45 -0
- package/dist/styled-system/recipes/product-toolbar.d.ts +31 -0
- package/dist/styled-system/recipes/product-toolbar.js +41 -0
- package/dist/styled-system/recipes/product-workspace.d.ts +34 -0
- package/dist/styled-system/recipes/product-workspace.js +58 -0
- package/dist/styled-system/recipes/surface-metric.d.ts +38 -0
- package/dist/styled-system/recipes/surface-metric.js +63 -0
- package/dist/styled-system/recipes/surface-table.d.ts +34 -0
- package/dist/styled-system/recipes/surface-table.js +62 -0
- package/dist/styled-system/recipes/ui-badge.d.ts +31 -0
- package/dist/styled-system/recipes/ui-badge.js +38 -0
- package/dist/styled-system/recipes/ui-button.d.ts +32 -0
- package/dist/styled-system/recipes/ui-button.js +43 -0
- package/dist/styled-system/recipes/ui-input.d.ts +31 -0
- package/dist/styled-system/recipes/ui-input.js +49 -0
- package/dist/styled-system/recipes/ui-textarea.d.ts +31 -0
- package/dist/styled-system/recipes/ui-textarea.js +24 -0
- package/dist/styled-system/styles.css +1257 -0
- package/dist/styled-system/tokens/index.d.ts +9 -0
- package/dist/styled-system/tokens/index.js +268 -0
- package/dist/styled-system/tokens/tokens.d.ts +36 -0
- package/dist/styled-system/types/composition.d.ts +227 -0
- package/dist/styled-system/types/conditions.d.ts +236 -0
- package/dist/styled-system/types/csstype.d.ts +22570 -0
- package/dist/styled-system/types/index.d.ts +6 -0
- package/dist/styled-system/types/parts.d.ts +8 -0
- package/dist/styled-system/types/pattern.d.ts +78 -0
- package/dist/styled-system/types/prop-type.d.ts +223 -0
- package/dist/styled-system/types/recipe.d.ts +181 -0
- package/dist/styled-system/types/selectors.d.ts +59 -0
- package/dist/styled-system/types/static-css.d.ts +56 -0
- package/dist/styled-system/types/style-props.d.ts +8088 -0
- package/dist/styled-system/types/system-types.d.ts +151 -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/styles/recipes.css +1262 -0
- package/dist/types.d.ts +3 -3
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +1 -1
- package/package.json +38 -14
- package/styles-compatibility.json +12 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { ResourceRendering } from '../rendering/index.js';
|
|
3
|
+
import { captureAdminContext } from '@svadmin/core';
|
|
4
|
+
import { useTranslation } from '@svadmin/core/i18n';
|
|
5
|
+
import AutoForm from './AutoForm.svelte';
|
|
6
|
+
import DetailDrawer from './DetailDrawer.svelte';
|
|
7
|
+
|
|
8
|
+
let { resourceName, rendering, recordId, onClose }: {
|
|
9
|
+
resourceName: string;
|
|
10
|
+
rendering?: ResourceRendering | undefined;
|
|
11
|
+
recordId: string | number;
|
|
12
|
+
onClose: () => void;
|
|
13
|
+
} = $props();
|
|
14
|
+
const context = captureAdminContext();
|
|
15
|
+
const i18n = useTranslation();
|
|
16
|
+
const resource = $derived(context.getResource(resourceName));
|
|
17
|
+
let open = $state(true);
|
|
18
|
+
let guardClose = $state<(close: () => void) => void>(() => {});
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<DetailDrawer
|
|
22
|
+
bind:open
|
|
23
|
+
title={`${i18n.t('common.edit')} ${resource.label}`}
|
|
24
|
+
description={`#${recordId}`}
|
|
25
|
+
closeLabel={i18n.t('common.close')}
|
|
26
|
+
{onClose}
|
|
27
|
+
onCloseRequest={(close) => guardClose(close)}
|
|
28
|
+
data-svadmin-quick-edit
|
|
29
|
+
>
|
|
30
|
+
<AutoForm
|
|
31
|
+
{rendering}
|
|
32
|
+
{resourceName}
|
|
33
|
+
id={recordId}
|
|
34
|
+
mode="edit"
|
|
35
|
+
density="compact"
|
|
36
|
+
showHeader={false}
|
|
37
|
+
redirect={false}
|
|
38
|
+
onSuccess={onClose}
|
|
39
|
+
onCancel={onClose}
|
|
40
|
+
onNavigationGuardReady={(guard) => guardClose = guard}
|
|
41
|
+
/>
|
|
42
|
+
</DetailDrawer>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ResourceRendering } from '../rendering/index.js';
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
resourceName: string;
|
|
4
|
+
rendering?: ResourceRendering | undefined;
|
|
5
|
+
recordId: string | number;
|
|
6
|
+
onClose: () => void;
|
|
7
|
+
};
|
|
8
|
+
declare const QuickEditDrawer: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
9
|
+
type QuickEditDrawer = ReturnType<typeof QuickEditDrawer>;
|
|
10
|
+
export default QuickEditDrawer;
|
|
@@ -1,121 +1,29 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {
|
|
2
|
+
import type { ResourceRendering } from '../rendering/index.js';
|
|
3
|
+
import { definedOptions } from '@svadmin/core/options';
|
|
4
|
+
import { captureAdminContext } from '@svadmin/core';
|
|
3
5
|
import { useTranslation } from '@svadmin/core/i18n';
|
|
4
|
-
import
|
|
5
|
-
import CanAccess from './CanAccess.svelte';
|
|
6
|
+
import BoundRecordDetailDrawer from './BoundRecordDetailDrawer.svelte';
|
|
6
7
|
import DetailDrawer from './DetailDrawer.svelte';
|
|
7
|
-
import { getDisplayComponent } from './fieldComponentMap';
|
|
8
|
-
import { Button } from './ui/button/index.js';
|
|
9
|
-
import { Skeleton } from './ui/skeleton/index.js';
|
|
10
8
|
|
|
11
|
-
let {
|
|
12
|
-
resourceName,
|
|
13
|
-
open = $bindable(false),
|
|
14
|
-
recordId,
|
|
15
|
-
onClose,
|
|
16
|
-
} = $props<{
|
|
9
|
+
let { resourceName, rendering, open = $bindable(false), recordId, onClose }: {
|
|
17
10
|
resourceName: string;
|
|
11
|
+
rendering?: ResourceRendering | undefined;
|
|
18
12
|
open?: boolean;
|
|
19
13
|
recordId?: string | number;
|
|
20
14
|
onClose?: () => void;
|
|
21
|
-
}
|
|
22
|
-
|
|
15
|
+
} = $props();
|
|
16
|
+
const context = captureAdminContext();
|
|
23
17
|
const i18n = useTranslation();
|
|
24
|
-
const adminContext = captureAdminContext();
|
|
25
|
-
const navigation = useNavigation();
|
|
26
|
-
const resource = $derived(getResource(resourceName));
|
|
27
|
-
const showFields = $derived(resource.fields.filter((field) => field.showInShow !== false));
|
|
28
|
-
const accessControlEnabled = $derived(!!adminContext.accessControlProvider);
|
|
29
|
-
const showPermission = useCan(() => ({
|
|
30
|
-
resource: resourceName,
|
|
31
|
-
action: 'show',
|
|
32
|
-
params: recordId == null ? undefined : { id: recordId },
|
|
33
|
-
queryOptions: { enabled: open && recordId != null && accessControlEnabled },
|
|
34
|
-
}));
|
|
35
|
-
const permissionPending = $derived(
|
|
36
|
-
accessControlEnabled && open && recordId != null && showPermission.isLoading
|
|
37
|
-
);
|
|
38
|
-
const canReadRecord = $derived(
|
|
39
|
-
resource.canShow !== false && (!accessControlEnabled || (!permissionPending && showPermission.allowed))
|
|
40
|
-
);
|
|
41
|
-
const query = useShow({
|
|
42
|
-
get resource() { return resourceName; },
|
|
43
|
-
get id() { return recordId; },
|
|
44
|
-
get queryOptions() { return { enabled: open && recordId != null && canReadRecord }; },
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
function navigateTo(action: 'show' | 'edit'): void {
|
|
48
|
-
if (recordId == null) return;
|
|
49
|
-
navigation[action](resourceName, recordId);
|
|
50
|
-
open = false;
|
|
51
|
-
}
|
|
52
18
|
</script>
|
|
53
19
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
description={recordId == null ? undefined : `#${recordId}`}
|
|
58
|
-
closeLabel={i18n.t('common.close')}
|
|
59
|
-
width="w-full sm:max-w-xl"
|
|
60
|
-
{onClose}
|
|
61
|
-
data-svadmin-record-detail
|
|
62
|
-
>
|
|
63
|
-
{#if permissionPending || (canReadRecord && query.isLoading)}
|
|
64
|
-
<div class="svadmin-u-fa6acbf81d74 svadmin-u-d2c3932343f5" role="status" aria-live="polite" aria-label={i18n.t('common.loading')} aria-busy="true">
|
|
65
|
-
{#each showFields.slice(0, 6) as field (field.key)}
|
|
66
|
-
<div class="svadmin-u-f3c543ad5fe9 svadmin-u-77a2a20e90d4 svadmin-u-cb11fec3bb46 svadmin-u-d9bdd3d643a2 svadmin-u-022e8076dfea">
|
|
67
|
-
<Skeleton class="svadmin-u-11e59c6d5f6b svadmin-u-69da7e4ff95d" />
|
|
68
|
-
<Skeleton class="svadmin-u-11e59c6d5f6b svadmin-u-6da6a3c3f741 svadmin-u-35b2f3aff60f" />
|
|
69
|
-
</div>
|
|
70
|
-
{/each}
|
|
71
|
-
</div>
|
|
72
|
-
{:else if !canReadRecord}
|
|
73
|
-
<div class="svadmin-u-61357c0c2f29 svadmin-u-ca6bf63030aa" data-svadmin-access-denied>
|
|
74
|
-
<p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{i18n.t('common.accessDenied')}</p>
|
|
75
|
-
</div>
|
|
76
|
-
{:else if query.data?.data}
|
|
77
|
-
{@const record = query.data.data as Record<string, unknown>}
|
|
78
|
-
<dl class="svadmin-u-fa6acbf81d74 svadmin-u-d2c3932343f5">
|
|
79
|
-
{#each showFields as field (field.key)}
|
|
80
|
-
{@const value = record[field.key]}
|
|
81
|
-
{@const DisplayComponent = getDisplayComponent(field.type)}
|
|
82
|
-
<div class="svadmin-u-f3c543ad5fe9 svadmin-u-58284b4ea568 svadmin-u-cb11fec3bb46 svadmin-u-d9bdd3d643a2 svadmin-u-022e8076dfea">
|
|
83
|
-
<dt class="svadmin-u-359090c2d529 svadmin-u-2689f3958069 svadmin-u-bfa603190748 svadmin-u-e2327d142859">{field.label}</dt>
|
|
84
|
-
<dd class="svadmin-u-7e0b7cdf1a94 svadmin-u-170cee3ff4e4 svadmin-u-fc7473ca09eb svadmin-u-d4108abe6359">
|
|
85
|
-
{#if DisplayComponent && value != null}
|
|
86
|
-
<DisplayComponent {value} options={field.options} resourceName={field.resource} />
|
|
87
|
-
{:else}
|
|
88
|
-
{value != null ? String(value) : '—'}
|
|
89
|
-
{/if}
|
|
90
|
-
</dd>
|
|
91
|
-
</div>
|
|
92
|
-
{/each}
|
|
93
|
-
</dl>
|
|
20
|
+
{#if open}
|
|
21
|
+
{#if recordId != null}
|
|
22
|
+
<BoundRecordDetailDrawer {rendering} {resourceName} {recordId} bind:open {...definedOptions({ onClose })} />
|
|
94
23
|
{:else}
|
|
95
|
-
<
|
|
96
|
-
|
|
97
|
-
{
|
|
98
|
-
|
|
99
|
-
{/if}
|
|
100
|
-
</div>
|
|
24
|
+
<DetailDrawer bind:open title="{context.getResource(resourceName).label} {i18n.t('common.detail')}"
|
|
25
|
+
closeLabel={i18n.t('common.close')} {...definedOptions({ onClose })} data-svadmin-record-detail>
|
|
26
|
+
<p>{i18n.t('common.noData')}</p>
|
|
27
|
+
</DetailDrawer>
|
|
101
28
|
{/if}
|
|
102
|
-
|
|
103
|
-
{#snippet footer()}
|
|
104
|
-
{#if canReadRecord && recordId != null && resource.canShow !== false}
|
|
105
|
-
<CanAccess resource={resourceName} action="show" params={{ id: recordId }}>
|
|
106
|
-
<Button variant="outline" onclick={() => navigateTo('show')}>
|
|
107
|
-
<Eye class="svadmin-u-11e59c6d5f6b svadmin-u-dc7972ebf3f3" data-icon="inline-start" aria-hidden="true" />
|
|
108
|
-
{i18n.t('common.openFullDetail')}
|
|
109
|
-
</Button>
|
|
110
|
-
</CanAccess>
|
|
111
|
-
{/if}
|
|
112
|
-
{#if canReadRecord && recordId != null && resource.canEdit !== false}
|
|
113
|
-
<CanAccess resource={resourceName} action="edit" params={{ id: recordId }}>
|
|
114
|
-
<Button onclick={() => navigateTo('edit')}>
|
|
115
|
-
<Pencil class="svadmin-u-11e59c6d5f6b svadmin-u-dc7972ebf3f3" data-icon="inline-start" aria-hidden="true" />
|
|
116
|
-
{i18n.t('common.edit')}
|
|
117
|
-
</Button>
|
|
118
|
-
</CanAccess>
|
|
119
|
-
{/if}
|
|
120
|
-
{/snippet}
|
|
121
|
-
</DetailDrawer>
|
|
29
|
+
{/if}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { useCan } from '@svadmin/core';
|
|
3
|
+
import { useTranslation } from '@svadmin/core/i18n';
|
|
4
|
+
import { Eye, Pencil, PanelRight, Trash2 } from '@lucide/svelte';
|
|
5
|
+
import RowActions, { type RowActionItem } from './RowActions.svelte';
|
|
6
|
+
import TooltipButton from './TooltipButton.svelte';
|
|
7
|
+
|
|
8
|
+
let { resourceName, id, canShow, canEdit, canDelete, onShow, onEdit, onQuickEdit, onDelete }: {
|
|
9
|
+
resourceName: string;
|
|
10
|
+
id: string | number;
|
|
11
|
+
canShow: boolean;
|
|
12
|
+
canEdit: boolean;
|
|
13
|
+
canDelete: boolean;
|
|
14
|
+
onShow: () => void;
|
|
15
|
+
onEdit: () => void;
|
|
16
|
+
onQuickEdit: () => void;
|
|
17
|
+
onDelete: () => void;
|
|
18
|
+
} = $props();
|
|
19
|
+
const i18n = useTranslation();
|
|
20
|
+
const show = useCan(() => ({ resource: resourceName, action: 'show', id, queryOptions: { enabled: canShow } }));
|
|
21
|
+
const edit = useCan(() => ({ resource: resourceName, action: 'edit', id, queryOptions: { enabled: canEdit } }));
|
|
22
|
+
const remove = useCan(() => ({ resource: resourceName, action: 'delete', id, queryOptions: { enabled: canDelete } }));
|
|
23
|
+
// 编辑保持为可见主按钮;删除和快速编辑放入更多菜单。
|
|
24
|
+
const actions = $derived<RowActionItem[]>([
|
|
25
|
+
{ label: i18n.t('common.quickEdit'), icon: PanelRight, hidden: !canEdit || edit.allowed !== true, onclick: onQuickEdit },
|
|
26
|
+
{ label: i18n.t('common.delete'), icon: Trash2, hidden: !canDelete || remove.allowed !== true, danger: true, onclick: onDelete },
|
|
27
|
+
]);
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<RowActions {actions} maxVisible={0} moreLabel={i18n.t('common.moreActions')}>
|
|
31
|
+
{#if canShow && show.allowed === true}
|
|
32
|
+
<TooltipButton tooltip={i18n.t('common.detail')} variant="ghost" size="icon-sm" onclick={onShow}>
|
|
33
|
+
<Eye class="svadmin-u-11e59c6d5f6b svadmin-u-dc7972ebf3f3" />
|
|
34
|
+
</TooltipButton>
|
|
35
|
+
{/if}
|
|
36
|
+
{#if canEdit && edit.allowed === true}
|
|
37
|
+
<TooltipButton tooltip={i18n.t('common.edit')} variant="ghost" size="icon-sm" onclick={onEdit}>
|
|
38
|
+
<Pencil class="svadmin-u-11e59c6d5f6b svadmin-u-dc7972ebf3f3" />
|
|
39
|
+
</TooltipButton>
|
|
40
|
+
{/if}
|
|
41
|
+
</RowActions>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type $$ComponentProps = {
|
|
2
|
+
resourceName: string;
|
|
3
|
+
id: string | number;
|
|
4
|
+
canShow: boolean;
|
|
5
|
+
canEdit: boolean;
|
|
6
|
+
canDelete: boolean;
|
|
7
|
+
onShow: () => void;
|
|
8
|
+
onEdit: () => void;
|
|
9
|
+
onQuickEdit: () => void;
|
|
10
|
+
onDelete: () => void;
|
|
11
|
+
};
|
|
12
|
+
declare const RecordRowActions: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
13
|
+
type RecordRowActions = ReturnType<typeof RecordRowActions>;
|
|
14
|
+
export default RecordRowActions;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
+
import { definedOptions } from '@svadmin/core/options';
|
|
3
|
+
|
|
2
4
|
import type { Action } from '@svadmin/core';
|
|
3
5
|
import { captureAdminContext, useCan } from '@svadmin/core';
|
|
4
6
|
import type { Snippet } from 'svelte';
|
|
@@ -34,18 +36,18 @@
|
|
|
34
36
|
);
|
|
35
37
|
const sourceReadAllowedByResource = $derived(!requireSourceRead || resource.canShow !== false);
|
|
36
38
|
const params = $derived(id === undefined ? undefined : { id });
|
|
37
|
-
const permission = useCan(() => ({
|
|
39
|
+
const permission = useCan(() => (definedOptions({
|
|
38
40
|
resource: resourceName,
|
|
39
41
|
action,
|
|
40
42
|
params,
|
|
41
43
|
queryOptions: { enabled: accessControlEnabled },
|
|
42
|
-
}));
|
|
43
|
-
const sourceReadPermission = useCan(() => ({
|
|
44
|
+
})));
|
|
45
|
+
const sourceReadPermission = useCan(() => (definedOptions({
|
|
44
46
|
resource: resourceName,
|
|
45
47
|
action: 'show',
|
|
46
48
|
params,
|
|
47
49
|
queryOptions: { enabled: accessControlEnabled && requireSourceRead },
|
|
48
|
-
}));
|
|
50
|
+
})));
|
|
49
51
|
const permissionPending = $derived(
|
|
50
52
|
accessControlEnabled
|
|
51
53
|
&& (permission.isLoading || (requireSourceRead && sourceReadPermission.isLoading)),
|
|
@@ -64,5 +66,5 @@
|
|
|
64
66
|
{:else if allowed}
|
|
65
67
|
{@render children()}
|
|
66
68
|
{:else}
|
|
67
|
-
<DataState state="forbidden" description
|
|
69
|
+
<DataState state="forbidden" {...definedOptions({ "description": denialReason })} />
|
|
68
70
|
{/if}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
2
|
+
import type { ResourceRendering } from '../rendering/index.js';
|
|
3
|
+
import { captureAdminContext, useCan, useNavigation } from '@svadmin/core';
|
|
4
|
+
import type { Component, ComponentProps } from 'svelte';
|
|
4
5
|
import AutoTable from './AutoTable.svelte';
|
|
5
6
|
import { Badge } from './ui/badge/index.js';
|
|
6
7
|
import { Button } from './ui/button/index.js';
|
|
@@ -44,6 +45,7 @@
|
|
|
44
45
|
|
|
45
46
|
interface Props {
|
|
46
47
|
resourceName: string;
|
|
48
|
+
rendering?: ResourceRendering | undefined;
|
|
47
49
|
eyebrow: string;
|
|
48
50
|
title: string;
|
|
49
51
|
description: string;
|
|
@@ -57,10 +59,12 @@
|
|
|
57
59
|
emptyLanesText?: string;
|
|
58
60
|
highlightsLabel?: string;
|
|
59
61
|
workspaceStyle?: WorkspaceStyle;
|
|
62
|
+
tableProps?: Omit<ComponentProps<typeof AutoTable>, 'resourceName' | 'rendering'>;
|
|
60
63
|
}
|
|
61
64
|
|
|
62
65
|
let {
|
|
63
66
|
resourceName,
|
|
67
|
+
rendering,
|
|
64
68
|
eyebrow,
|
|
65
69
|
title,
|
|
66
70
|
description,
|
|
@@ -74,9 +78,11 @@
|
|
|
74
78
|
emptyLanesText = 'No grouped records yet.',
|
|
75
79
|
highlightsLabel = 'Focus queue',
|
|
76
80
|
workspaceStyle = 'operations',
|
|
81
|
+
tableProps = {},
|
|
77
82
|
}: Props = $props();
|
|
78
83
|
const navigation = useNavigation();
|
|
79
|
-
const
|
|
84
|
+
const context = captureAdminContext();
|
|
85
|
+
const resource = $derived(context.getResource(resourceName));
|
|
80
86
|
const createPermission = useCan(() => ({ resource: resourceName, action: 'create' }));
|
|
81
87
|
const showCreate = $derived(resource.canCreate !== false && createPermission.allowed);
|
|
82
88
|
</script>
|
|
@@ -94,18 +100,18 @@
|
|
|
94
100
|
|
|
95
101
|
{#if workspaceStyle === 'inventory'}
|
|
96
102
|
<section class="svadmin-u-f3c543ad5fe9 svadmin-u-0d304f904cb0 svadmin-u-64f847a259bc" data-svadmin-inventory-layout>
|
|
97
|
-
<div class="svadmin-u-b43b4c086d9a"><div class="svadmin-u-f3c543ad5fe9 svadmin-u-ceb7ac66b25b svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-a59afa8d9b9d svadmin-u-ab1b20c2292a">{#each metrics as metric (metric.label)}<div class="svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-50d0d216a2f8 svadmin-u-3febee094e85 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p>{#if metric.hint}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.hint}</p>{/if}</div>{/each}</div><AutoTable {resourceName} /></div>
|
|
103
|
+
<div class="svadmin-u-b43b4c086d9a"><div class="svadmin-u-f3c543ad5fe9 svadmin-u-ceb7ac66b25b svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-a59afa8d9b9d svadmin-u-ab1b20c2292a">{#each metrics as metric (metric.label)}<div class="svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-50d0d216a2f8 svadmin-u-3febee094e85 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p>{#if metric.hint}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.hint}</p>{/if}</div>{/each}</div><AutoTable {...tableProps} {rendering} {resourceName} /></div>
|
|
98
104
|
<aside class="svadmin-u-b43b4c086d9a"><section><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{tableLabel}</h2><p class="svadmin-u-b6b02c0ebef6 svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{tableDescription}</p><div class="svadmin-u-eccd13ef4f2f svadmin-u-fa6acbf81d74 svadmin-u-e783642739e3 svadmin-u-8b8196092091 svadmin-u-18049387f0af">{#each lanes as lane (lane.label)}<div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c svadmin-u-1b2d54a3fd12"><div><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{lane.label}</p>{#if lane.hint}<p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{lane.hint}</p>{/if}</div><Badge variant="outline">{lane.value}</Badge></div>{:else}<p class="svadmin-u-1b2d54a3fd12 svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{emptyLanesText}</p>{/each}</div></section><section><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{highlightsLabel}</h2><div class="svadmin-u-eccd13ef4f2f svadmin-u-6f7e013d6499">{#each highlights as item (item.title)}<article class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-eb6e8b881acd"><div class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.badge}<Badge variant="secondary">{item.badge}</Badge>{/if}</div>{#if item.description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-7054e2767710 svadmin-u-bfa603190748">{item.description}</p>{/if}{#if item.meta}<p class="svadmin-u-50d0d216a2f8 svadmin-u-359090c2d529 svadmin-u-2689f3958069 svadmin-u-20aaf08a7ed1">{item.meta}</p>{/if}</article>{/each}</div></section></aside>
|
|
99
105
|
</section>
|
|
100
106
|
{:else if workspaceStyle === 'operations'}
|
|
101
107
|
<section class="svadmin-u-b43b4c086d9a" data-svadmin-operations-layout>
|
|
102
108
|
<div class="svadmin-u-f3c543ad5fe9 svadmin-u-0c3bc98565dd svadmin-u-478497d5efa5"><div class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{tableLabel}</h2><div class="svadmin-u-0ab8667228fd svadmin-u-3e7ce58d64fa">{#each lanes as lane (lane.label)}<div><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c svadmin-u-fc7473ca09eb"><span class="svadmin-u-2689f3958069">{lane.label}</span><span class="svadmin-u-bfa603190748">{lane.value}</span></div><div class="svadmin-u-50d0d216a2f8 svadmin-u-095acb275581 svadmin-u-2cd02d11d1af svadmin-u-ac204c108886 svadmin-u-2ef11f1cb219"><div class="svadmin-u-668b21aa5409 svadmin-u-ac204c108886 svadmin-u-75b1bec3ea0e" style:width={`${Math.min(100, Math.max(12, Number(lane.value) * 8))}%`}></div></div>{#if lane.hint}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-bfa603190748">{lane.hint}</p>{/if}</div>{/each}</div></div><div class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558"><div class="svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-f0faeb26d656 svadmin-u-1b2d54a3fd12"><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{highlightsLabel}</h2></div><div class="svadmin-u-fa6acbf81d74 svadmin-u-e783642739e3">{#each highlights as item (item.title)}<div class="svadmin-u-f3c543ad5fe9 svadmin-u-77a2a20e90d4 svadmin-u-f0faeb26d656 svadmin-u-1b2d54a3fd12 svadmin-u-18d3e28787c3"><div><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-bfa603190748">{item.description}</p>{/if}</div><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-77a2a20e90d4">{#if item.badge}<Badge variant="outline">{item.badge}</Badge>{/if}{#if item.meta}<span class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{item.meta}</span>{/if}</div></div>{/each}</div></div></div>
|
|
103
109
|
<div class="svadmin-u-f3c543ad5fe9 svadmin-u-ceb7ac66b25b svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-a59afa8d9b9d svadmin-u-ab1b20c2292a">{#each metrics as metric (metric.label)}<div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><div><p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metric.label}</p>{#if metric.hint}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.hint}</p>{/if}</div><p class="svadmin-u-d5c9b0001e7e svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p></div>{/each}</div>
|
|
104
|
-
<AutoTable {resourceName} />
|
|
110
|
+
<AutoTable {...tableProps} {rendering} {resourceName} />
|
|
105
111
|
</section>
|
|
106
112
|
{:else if workspaceStyle === 'orders'}
|
|
107
113
|
<section class="svadmin-u-f3c543ad5fe9 svadmin-u-b39e60c339f4 svadmin-u-956fcc198f22" data-svadmin-orders-layout>
|
|
108
|
-
<div class="svadmin-u-b43b4c086d9a"><div class="svadmin-u-f3c543ad5fe9 svadmin-u-1004c0c3954c svadmin-u-ab1b20c2292a">{#each metrics as metric (metric.label)}<div class="svadmin-u-f57e7530965b svadmin-u-6cbc84dd9e1a svadmin-u-81976f3f2c63"><p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-b6b02c0ebef6 svadmin-u-3febee094e85 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p>{#if metric.hint}<p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.hint}</p>{/if}</div>{/each}</div><AutoTable {resourceName} /></div>
|
|
114
|
+
<div class="svadmin-u-b43b4c086d9a"><div class="svadmin-u-f3c543ad5fe9 svadmin-u-1004c0c3954c svadmin-u-ab1b20c2292a">{#each metrics as metric (metric.label)}<div class="svadmin-u-f57e7530965b svadmin-u-6cbc84dd9e1a svadmin-u-81976f3f2c63"><p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-b6b02c0ebef6 svadmin-u-3febee094e85 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p>{#if metric.hint}<p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.hint}</p>{/if}</div>{/each}</div><AutoTable {...tableProps} {rendering} {resourceName} /></div>
|
|
109
115
|
<aside class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558"><div class="svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-8e63407b5ceb"><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{highlightsLabel}</h2><p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-bfa603190748">{tableDescription}</p></div><div class="svadmin-u-fa6acbf81d74 svadmin-u-e783642739e3">{#each highlights as item (item.title)}<div class="svadmin-u-8e63407b5ceb"><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-77a2a20e90d4"><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.badge}<Badge>{item.badge}</Badge>{/if}</div>{#if item.description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-7054e2767710 svadmin-u-bfa603190748">{item.description}</p>{/if}{#if item.meta}<p class="svadmin-u-50d0d216a2f8 svadmin-u-359090c2d529 svadmin-u-20aaf08a7ed1">{item.meta}</p>{/if}</div>{/each}{#each lanes as lane (lane.label)}<div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c svadmin-u-8e63407b5ceb"><div><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069">{lane.label}</p>{#if lane.hint}<p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{lane.hint}</p>{/if}</div><Badge variant="outline">{lane.value}</Badge></div>{/each}</div></aside>
|
|
110
116
|
</section>
|
|
111
117
|
{:else if workspaceStyle === 'people'}
|
|
@@ -115,51 +121,51 @@
|
|
|
115
121
|
<div class="svadmin-u-f3c543ad5fe9 svadmin-u-ceb7ac66b25b svadmin-u-2cd02d11d1af svadmin-u-421ac2be5045 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-a59afa8d9b9d svadmin-u-ab1b20c2292a svadmin-u-bb10ec63a8d0">{#each metrics as metric (metric.label)}<div class="svadmin-u-cd0ad9a56558 svadmin-u-1b2d54a3fd12"><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-42536e69e639 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p></div>{#if metric.hint}<p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.hint}</p>{/if}</div>{/each}</div>
|
|
116
122
|
<div class="svadmin-u-6ed543e2fbbb">{#each lanes as lane (lane.label)}<div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><div><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{lane.label}</p>{#if lane.hint}<p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{lane.hint}</p>{/if}</div><Badge variant="outline">{lane.value}</Badge></div>{/each}</div>
|
|
117
123
|
</aside>
|
|
118
|
-
<div class="svadmin-u-b43b4c086d9a"><div class="svadmin-u-fa6acbf81d74 svadmin-u-e783642739e3 svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558">{#each highlights as item (item.title)}<article class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-0c3bc98565dd svadmin-u-8e63407b5ceb"><div><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-7054e2767710 svadmin-u-bfa603190748">{item.description}</p>{/if}{#if item.meta}<p class="svadmin-u-50d0d216a2f8 svadmin-u-359090c2d529 svadmin-u-20aaf08a7ed1">{item.meta}</p>{/if}</div>{#if item.badge}<Badge variant="secondary">{item.badge}</Badge>{/if}</article>{/each}</div><AutoTable {resourceName} /></div>
|
|
124
|
+
<div class="svadmin-u-b43b4c086d9a"><div class="svadmin-u-fa6acbf81d74 svadmin-u-e783642739e3 svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558">{#each highlights as item (item.title)}<article class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-0c3bc98565dd svadmin-u-8e63407b5ceb"><div><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-7054e2767710 svadmin-u-bfa603190748">{item.description}</p>{/if}{#if item.meta}<p class="svadmin-u-50d0d216a2f8 svadmin-u-359090c2d529 svadmin-u-20aaf08a7ed1">{item.meta}</p>{/if}</div>{#if item.badge}<Badge variant="secondary">{item.badge}</Badge>{/if}</article>{/each}</div><AutoTable {...tableProps} {rendering} {resourceName} /></div>
|
|
119
125
|
</section>
|
|
120
126
|
{:else if workspaceStyle === 'calendar'}
|
|
121
127
|
<section class="svadmin-u-b43b4c086d9a" data-svadmin-calendar-layout>
|
|
122
128
|
<div class="svadmin-u-f3c543ad5fe9 svadmin-u-ceb7ac66b25b svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-a59afa8d9b9d svadmin-u-ab1b20c2292a">{#each metrics as metric (metric.label)}<div class="svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-b6b02c0ebef6 svadmin-u-d5c9b0001e7e svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p>{#if metric.hint}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.hint}</p>{/if}</div>{/each}</div>
|
|
123
129
|
<div class="svadmin-u-f3c543ad5fe9 svadmin-u-b39e60c339f4 svadmin-u-d9a1932be4d4"><div class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558"><div class="svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-f0faeb26d656 svadmin-u-1b2d54a3fd12"><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{highlightsLabel}</h2></div><div class="svadmin-u-fa6acbf81d74 svadmin-u-e783642739e3">{#each highlights as item (item.title)}<article class="svadmin-u-f3c543ad5fe9 svadmin-u-77a2a20e90d4 svadmin-u-8e63407b5ceb svadmin-u-8045cf4c0182"><p class="svadmin-u-359090c2d529 svadmin-u-2689f3958069 svadmin-u-20aaf08a7ed1">{item.meta}</p><div><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-bfa603190748">{item.description}</p>{/if}</div>{#if item.badge}<Badge variant="outline">{item.badge}</Badge>{/if}</article>{/each}</div></div><aside class="svadmin-u-6ed543e2fbbb">{#each lanes as lane (lane.label)}<div class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{lane.label}</p><Badge variant="outline">{lane.value}</Badge></div>{#if lane.hint}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-bfa603190748">{lane.hint}</p>{/if}</div>{/each}</aside></div>
|
|
124
|
-
<AutoTable {resourceName} />
|
|
130
|
+
<AutoTable {...tableProps} {rendering} {resourceName} />
|
|
125
131
|
</section>
|
|
126
132
|
{:else if workspaceStyle === 'crm'}
|
|
127
133
|
<section class="svadmin-u-b43b4c086d9a" data-svadmin-crm-layout>
|
|
128
134
|
<div class="svadmin-u-f3c543ad5fe9 svadmin-u-0c3bc98565dd svadmin-u-ab1b20c2292a">{#each metrics as metric (metric.label)}<div class="svadmin-u-f57e7530965b svadmin-u-6cbc84dd9e1a svadmin-u-81976f3f2c63"><p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-b6b02c0ebef6 svadmin-u-3febee094e85 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p>{#if metric.hint}<p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.hint}</p>{/if}</div>{/each}</div>
|
|
129
135
|
<div class="svadmin-u-f3c543ad5fe9 svadmin-u-0c3bc98565dd svadmin-u-4a33def12a78"><div class="svadmin-u-f3c543ad5fe9 svadmin-u-0c3bc98565dd svadmin-u-ab1b20c2292a">{#each lanes as lane (lane.label)}<section class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-46daeb0b661f"><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-f0faeb26d656 svadmin-u-1b2d54a3fd12"><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{lane.label}</h2><Badge variant="outline">{lane.value}</Badge></div>{#if lane.hint}<p class="svadmin-u-8e63407b5ceb svadmin-u-359090c2d529 svadmin-u-7054e2767710 svadmin-u-bfa603190748">{lane.hint}</p>{/if}</section>{/each}</div><aside class="svadmin-u-fa6acbf81d74 svadmin-u-e783642739e3 svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558">{#each highlights as item (item.title)}<article class="svadmin-u-8e63407b5ceb"><div class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-77a2a20e90d4"><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.badge}<Badge variant="secondary">{item.badge}</Badge>{/if}</div>{#if item.description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-bfa603190748">{item.description}</p>{/if}{#if item.meta}<p class="svadmin-u-50d0d216a2f8 svadmin-u-359090c2d529 svadmin-u-20aaf08a7ed1">{item.meta}</p>{/if}</article>{/each}</aside></div>
|
|
130
|
-
<AutoTable {resourceName} />
|
|
136
|
+
<AutoTable {...tableProps} {rendering} {resourceName} />
|
|
131
137
|
</section>
|
|
132
138
|
{:else if workspaceStyle === 'property'}
|
|
133
139
|
<section class="svadmin-u-b43b4c086d9a" data-svadmin-property-layout>
|
|
134
140
|
<div class="svadmin-u-f3c543ad5fe9 svadmin-u-b39e60c339f4 svadmin-u-64f847a259bc"><div class="svadmin-u-f3c543ad5fe9 svadmin-u-0c3bc98565dd svadmin-u-e4d6f343b9ff">{#each highlights as item (item.title)}<Card.Root><Card.Content class="svadmin-u-8e63407b5ceb"><div class="svadmin-u-60fbb7713999 svadmin-u-89a62219c1a7 svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-421ac2be5045 svadmin-u-2ef11f1cb219 svadmin-u-20aaf08a7ed1">{#if Icon}<Icon class="svadmin-u-cc46d0fa277d" />{/if}</div><div class="svadmin-u-0ab8667228fd svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><div><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{item.title}</h2>{#if item.description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-7054e2767710 svadmin-u-bfa603190748">{item.description}</p>{/if}</div>{#if item.badge}<Badge>{item.badge}</Badge>{/if}</div>{#if item.meta}<p class="svadmin-u-eccd13ef4f2f svadmin-u-359090c2d529 svadmin-u-2689f3958069 svadmin-u-20aaf08a7ed1">{item.meta}</p>{/if}</Card.Content></Card.Root>{/each}</div><aside class="svadmin-u-3e7ce58d64fa">{#each metrics as metric (metric.label)}<div class="svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-9fcd8a13827e"><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-42536e69e639 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p></div>{#if metric.hint}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.hint}</p>{/if}</div>{/each}{#each lanes as lane (lane.label)}<div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><span class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{lane.label}</span><Badge variant="outline">{lane.value}</Badge></div>{/each}</aside></div>
|
|
135
|
-
<AutoTable {resourceName} />
|
|
141
|
+
<AutoTable {...tableProps} {rendering} {resourceName} />
|
|
136
142
|
</section>
|
|
137
143
|
{:else if workspaceStyle === 'ai'}
|
|
138
144
|
<section class="svadmin-u-f3c543ad5fe9 svadmin-u-479a710e57e6 svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-cecf8bbb11d7" data-svadmin-ai-layout>
|
|
139
145
|
<aside class="svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-967d113a1451 svadmin-u-8e63407b5ceb svadmin-u-e2f2b4a69d35 svadmin-u-64a6e3fce6e0"><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{tableLabel}</h2><p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-7054e2767710 svadmin-u-bfa603190748">{tableDescription}</p><div class="svadmin-u-0ab8667228fd svadmin-u-6f7e013d6499">{#each lanes as lane (lane.label)}<div class="svadmin-u-421ac2be5045 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-0e17f2bd9074 svadmin-u-03b4dd7f172b"><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{lane.label}</p><Badge variant="outline">{lane.value}</Badge></div>{#if lane.hint}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-bfa603190748">{lane.hint}</p>{/if}</div>{/each}</div></aside>
|
|
140
|
-
<div class="svadmin-u-7e0b7cdf1a94"><div class="svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-f0faeb26d656 svadmin-u-1b2d54a3fd12"><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{highlightsLabel}</h2></div><div class="svadmin-u-6ed543e2fbbb svadmin-u-8e63407b5ceb">{#each highlights as item (item.title)}<article class="svadmin-u-2cc8041eca99 svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-46daeb0b661f svadmin-u-8e63407b5ceb"><div class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.badge}<Badge variant="secondary">{item.badge}</Badge>{/if}</div>{#if item.description}<p class="svadmin-u-50d0d216a2f8 svadmin-u-fc7473ca09eb svadmin-u-18550d5945ae svadmin-u-bfa603190748">{item.description}</p>{/if}{#if item.meta}<p class="svadmin-u-50d0d216a2f8 svadmin-u-359090c2d529 svadmin-u-20aaf08a7ed1">{item.meta}</p>{/if}</article>{/each}</div><div class="svadmin-u-b950dda299d3 svadmin-u-18049387f0af svadmin-u-8e63407b5ceb"><AutoTable {resourceName} /></div></div>
|
|
146
|
+
<div class="svadmin-u-7e0b7cdf1a94"><div class="svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-f0faeb26d656 svadmin-u-1b2d54a3fd12"><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{highlightsLabel}</h2></div><div class="svadmin-u-6ed543e2fbbb svadmin-u-8e63407b5ceb">{#each highlights as item (item.title)}<article class="svadmin-u-2cc8041eca99 svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-46daeb0b661f svadmin-u-8e63407b5ceb"><div class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.badge}<Badge variant="secondary">{item.badge}</Badge>{/if}</div>{#if item.description}<p class="svadmin-u-50d0d216a2f8 svadmin-u-fc7473ca09eb svadmin-u-18550d5945ae svadmin-u-bfa603190748">{item.description}</p>{/if}{#if item.meta}<p class="svadmin-u-50d0d216a2f8 svadmin-u-359090c2d529 svadmin-u-20aaf08a7ed1">{item.meta}</p>{/if}</article>{/each}</div><div class="svadmin-u-b950dda299d3 svadmin-u-18049387f0af svadmin-u-8e63407b5ceb"><AutoTable {...tableProps} {rendering} {resourceName} /></div></div>
|
|
141
147
|
</section>
|
|
142
148
|
{:else if workspaceStyle === 'communications'}
|
|
143
149
|
<section class="svadmin-u-f3c543ad5fe9 svadmin-u-89904d276530 svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-c98d73ab4dcd" data-svadmin-communications-layout>
|
|
144
150
|
<nav class="svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-967d113a1451 svadmin-u-eb6e8b881acd svadmin-u-e2f2b4a69d35 svadmin-u-64a6e3fce6e0">{#each lanes as lane (lane.label)}<button class="svadmin-u-60fbb7713999 svadmin-u-6da6a3c3f741 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c svadmin-u-421ac2be5045 svadmin-u-0e17f2bd9074 svadmin-u-03b4dd7f172b svadmin-u-2eba0d65d059 svadmin-u-fc7473ca09eb svadmin-u-300b7bc3815e"><span><span class="svadmin-u-0214b4b355d1 svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{lane.label}</span>{#if lane.hint}<span class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{lane.hint}</span>{/if}</span><Badge variant="outline">{lane.value}</Badge></button>{/each}</nav>
|
|
145
|
-
<div class="svadmin-u-7e0b7cdf1a94"><div class="svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-8e63407b5ceb"><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{highlightsLabel}</h2></div><div class="svadmin-u-fa6acbf81d74 svadmin-u-e783642739e3">{#each highlights as item (item.title)}<article class="svadmin-u-f3c543ad5fe9 svadmin-u-1004c0c3954c svadmin-u-8e63407b5ceb svadmin-u-18d3e28787c3"><div><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{item.description}</p>{/if}</div><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-77a2a20e90d4">{#if item.badge}<Badge variant="secondary">{item.badge}</Badge>{/if}{#if item.meta}<span class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{item.meta}</span>{/if}</div></article>{/each}</div><div class="svadmin-u-b950dda299d3 svadmin-u-18049387f0af svadmin-u-8e63407b5ceb"><AutoTable {resourceName} /></div></div>
|
|
151
|
+
<div class="svadmin-u-7e0b7cdf1a94"><div class="svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-8e63407b5ceb"><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{highlightsLabel}</h2></div><div class="svadmin-u-fa6acbf81d74 svadmin-u-e783642739e3">{#each highlights as item (item.title)}<article class="svadmin-u-f3c543ad5fe9 svadmin-u-1004c0c3954c svadmin-u-8e63407b5ceb svadmin-u-18d3e28787c3"><div><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{item.description}</p>{/if}</div><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-77a2a20e90d4">{#if item.badge}<Badge variant="secondary">{item.badge}</Badge>{/if}{#if item.meta}<span class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{item.meta}</span>{/if}</div></article>{/each}</div><div class="svadmin-u-b950dda299d3 svadmin-u-18049387f0af svadmin-u-8e63407b5ceb"><AutoTable {...tableProps} {rendering} {resourceName} /></div></div>
|
|
146
152
|
</section>
|
|
147
153
|
{:else if workspaceStyle === 'store'}
|
|
148
|
-
<section class="svadmin-u-b43b4c086d9a" data-svadmin-store-layout><div class="svadmin-u-60fbb7713999 svadmin-u-8dddea0773ed svadmin-u-0c3bc98565dd svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-9fcd8a13827e svadmin-u-020ba687fa12 svadmin-u-f89e35297f0f svadmin-u-3b9871a0bf93"><div><h2 class="svadmin-u-4ee734926ff6 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{highlightsLabel}</h2><p class="svadmin-u-b6b02c0ebef6 svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{tableDescription}</p></div><div class="svadmin-u-60fbb7713999 svadmin-u-b39e60c339f4">{#each metrics as metric (metric.label)}<div><p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-42536e69e639 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p></div>{/each}</div></div><div class="svadmin-u-f3c543ad5fe9 svadmin-u-0c3bc98565dd svadmin-u-e4d6f343b9ff svadmin-u-b86f7f946cd8">{#each highlights as item (item.title)}<Card.Root><Card.Content class="svadmin-u-8e63407b5ceb"><div class="svadmin-u-60fbb7713999 svadmin-u-9e50f522071f svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-421ac2be5045 svadmin-u-2ef11f1cb219 svadmin-u-20aaf08a7ed1">{#if Icon}<Icon class="svadmin-u-d8f5213f0fe0" />{/if}</div><div class="svadmin-u-0ab8667228fd svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><div><h3 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{item.title}</h3>{#if item.description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{item.description}</p>{/if}</div>{#if item.badge}<Badge>{item.badge}</Badge>{/if}</div>{#if item.meta}<p class="svadmin-u-eccd13ef4f2f svadmin-u-359090c2d529 svadmin-u-2689f3958069 svadmin-u-20aaf08a7ed1">{item.meta}</p>{/if}</Card.Content></Card.Root>{/each}</div><div class="svadmin-u-f3c543ad5fe9 svadmin-u-0c3bc98565dd svadmin-u-4d62c2e3009b"><aside class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{tableLabel}</h2><div class="svadmin-u-eccd13ef4f2f svadmin-u-6ed543e2fbbb">{#each lanes as lane (lane.label)}<div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><span class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{lane.label}</span><Badge variant="outline">{lane.value}</Badge></div>{/each}</div></aside><AutoTable {resourceName} /></div></section>
|
|
154
|
+
<section class="svadmin-u-b43b4c086d9a" data-svadmin-store-layout><div class="svadmin-u-60fbb7713999 svadmin-u-8dddea0773ed svadmin-u-0c3bc98565dd svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-9fcd8a13827e svadmin-u-020ba687fa12 svadmin-u-f89e35297f0f svadmin-u-3b9871a0bf93"><div><h2 class="svadmin-u-4ee734926ff6 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{highlightsLabel}</h2><p class="svadmin-u-b6b02c0ebef6 svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{tableDescription}</p></div><div class="svadmin-u-60fbb7713999 svadmin-u-b39e60c339f4">{#each metrics as metric (metric.label)}<div><p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-42536e69e639 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p></div>{/each}</div></div><div class="svadmin-u-f3c543ad5fe9 svadmin-u-0c3bc98565dd svadmin-u-e4d6f343b9ff svadmin-u-b86f7f946cd8">{#each highlights as item (item.title)}<Card.Root><Card.Content class="svadmin-u-8e63407b5ceb"><div class="svadmin-u-60fbb7713999 svadmin-u-9e50f522071f svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-421ac2be5045 svadmin-u-2ef11f1cb219 svadmin-u-20aaf08a7ed1">{#if Icon}<Icon class="svadmin-u-d8f5213f0fe0" />{/if}</div><div class="svadmin-u-0ab8667228fd svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><div><h3 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{item.title}</h3>{#if item.description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{item.description}</p>{/if}</div>{#if item.badge}<Badge>{item.badge}</Badge>{/if}</div>{#if item.meta}<p class="svadmin-u-eccd13ef4f2f svadmin-u-359090c2d529 svadmin-u-2689f3958069 svadmin-u-20aaf08a7ed1">{item.meta}</p>{/if}</Card.Content></Card.Root>{/each}</div><div class="svadmin-u-f3c543ad5fe9 svadmin-u-0c3bc98565dd svadmin-u-4d62c2e3009b"><aside class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{tableLabel}</h2><div class="svadmin-u-eccd13ef4f2f svadmin-u-6ed543e2fbbb">{#each lanes as lane (lane.label)}<div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><span class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{lane.label}</span><Badge variant="outline">{lane.value}</Badge></div>{/each}</div></aside><AutoTable {...tableProps} {rendering} {resourceName} /></div></section>
|
|
149
155
|
{:else if workspaceStyle === 'planning'}
|
|
150
|
-
<section class="svadmin-u-b43b4c086d9a" data-svadmin-planning-layout><div class="svadmin-u-f3c543ad5fe9 svadmin-u-0c3bc98565dd svadmin-u-19d9b25e8fae">{#each lanes as lane, laneIndex (lane.label)}<section class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-46daeb0b661f"><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-f0faeb26d656 svadmin-u-1b2d54a3fd12"><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{lane.label}</h2><Badge variant="outline">{lane.value}</Badge></div><div class="svadmin-u-6ed543e2fbbb svadmin-u-eb6e8b881acd">{#each highlights.filter((_, itemIndex) => itemIndex % lanes.length === laneIndex) as item (item.title)}<article class="svadmin-u-421ac2be5045 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-eb6e8b881acd"><div class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-77a2a20e90d4"><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.badge}<Badge variant="secondary">{item.badge}</Badge>{/if}</div>{#if item.description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-7054e2767710 svadmin-u-bfa603190748">{item.description}</p>{/if}{#if item.meta}<p class="svadmin-u-50d0d216a2f8 svadmin-u-359090c2d529 svadmin-u-20aaf08a7ed1">{item.meta}</p>{/if}</article>{/each}</div></section>{/each}</div><div class="svadmin-u-f3c543ad5fe9 svadmin-u-ceb7ac66b25b svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-a59afa8d9b9d svadmin-u-ab1b20c2292a">{#each metrics as metric (metric.label)}<div class="svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-b6b02c0ebef6 svadmin-u-d5c9b0001e7e svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p>{#if metric.hint}<p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.hint}</p>{/if}</div>{/each}</div><AutoTable {resourceName} /></section>
|
|
156
|
+
<section class="svadmin-u-b43b4c086d9a" data-svadmin-planning-layout><div class="svadmin-u-f3c543ad5fe9 svadmin-u-0c3bc98565dd svadmin-u-19d9b25e8fae">{#each lanes as lane, laneIndex (lane.label)}<section class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-46daeb0b661f"><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-f0faeb26d656 svadmin-u-1b2d54a3fd12"><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{lane.label}</h2><Badge variant="outline">{lane.value}</Badge></div><div class="svadmin-u-6ed543e2fbbb svadmin-u-eb6e8b881acd">{#each highlights.filter((_, itemIndex) => itemIndex % lanes.length === laneIndex) as item (item.title)}<article class="svadmin-u-421ac2be5045 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-eb6e8b881acd"><div class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-77a2a20e90d4"><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.badge}<Badge variant="secondary">{item.badge}</Badge>{/if}</div>{#if item.description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-7054e2767710 svadmin-u-bfa603190748">{item.description}</p>{/if}{#if item.meta}<p class="svadmin-u-50d0d216a2f8 svadmin-u-359090c2d529 svadmin-u-20aaf08a7ed1">{item.meta}</p>{/if}</article>{/each}</div></section>{/each}</div><div class="svadmin-u-f3c543ad5fe9 svadmin-u-ceb7ac66b25b svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-a59afa8d9b9d svadmin-u-ab1b20c2292a">{#each metrics as metric (metric.label)}<div class="svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-b6b02c0ebef6 svadmin-u-d5c9b0001e7e svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p>{#if metric.hint}<p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.hint}</p>{/if}</div>{/each}</div><AutoTable {...tableProps} {rendering} {resourceName} /></section>
|
|
151
157
|
{:else if workspaceStyle === 'generation'}
|
|
152
158
|
<section class="svadmin-u-f3c543ad5fe9 svadmin-u-b39e60c339f4 svadmin-u-fd0beb7ec078" data-svadmin-generation-layout>
|
|
153
159
|
<aside class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{highlightsLabel}</h2><div class="svadmin-u-0ab8667228fd svadmin-u-3e7ce58d64fa">{#each lanes as lane, index (lane.label)}<div class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-1004c0c3954c"><span class="svadmin-u-60fbb7713999 svadmin-u-cc46d0fa277d svadmin-u-012fbd121f37 svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-421ac2be5045 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-2ef11f1cb219 svadmin-u-359090c2d529 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{index + 1}</span><div><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-77a2a20e90d4"><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{lane.label}</p><Badge variant="outline">{lane.value}</Badge></div>{#if lane.hint}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-7054e2767710 svadmin-u-bfa603190748">{lane.hint}</p>{/if}</div></div>{/each}</div></aside>
|
|
154
|
-
<div class="svadmin-u-b43b4c086d9a"><div class="svadmin-u-f3c543ad5fe9 svadmin-u-ceb7ac66b25b svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-a59afa8d9b9d svadmin-u-ab1b20c2292a">{#each metrics as metric (metric.label)}<div class="svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-b6b02c0ebef6 svadmin-u-d5c9b0001e7e svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p>{#if metric.hint}<p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.hint}</p>{/if}</div>{/each}</div><div class="svadmin-u-f3c543ad5fe9 svadmin-u-1004c0c3954c svadmin-u-9a638cfe8212">{#each highlights as item (item.title)}<article class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><div class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-77a2a20e90d4"><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.badge}<Badge variant="secondary">{item.badge}</Badge>{/if}</div>{#if item.description}<p class="svadmin-u-50d0d216a2f8 svadmin-u-359090c2d529 svadmin-u-7054e2767710 svadmin-u-bfa603190748">{item.description}</p>{/if}</article>{/each}</div><AutoTable {resourceName} /></div>
|
|
160
|
+
<div class="svadmin-u-b43b4c086d9a"><div class="svadmin-u-f3c543ad5fe9 svadmin-u-ceb7ac66b25b svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-a59afa8d9b9d svadmin-u-ab1b20c2292a">{#each metrics as metric (metric.label)}<div class="svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-b6b02c0ebef6 svadmin-u-d5c9b0001e7e svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p>{#if metric.hint}<p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.hint}</p>{/if}</div>{/each}</div><div class="svadmin-u-f3c543ad5fe9 svadmin-u-1004c0c3954c svadmin-u-9a638cfe8212">{#each highlights as item (item.title)}<article class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><div class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-77a2a20e90d4"><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.badge}<Badge variant="secondary">{item.badge}</Badge>{/if}</div>{#if item.description}<p class="svadmin-u-50d0d216a2f8 svadmin-u-359090c2d529 svadmin-u-7054e2767710 svadmin-u-bfa603190748">{item.description}</p>{/if}</article>{/each}</div><AutoTable {...tableProps} {rendering} {resourceName} /></div>
|
|
155
161
|
</section>
|
|
156
162
|
{:else if workspaceStyle === 'billing'}
|
|
157
|
-
<section class="svadmin-u-b43b4c086d9a" data-svadmin-billing-layout><div class="svadmin-u-f3c543ad5fe9 svadmin-u-0c3bc98565dd svadmin-u-9a638cfe8212">{#each highlights as item (item.title)}<Card.Root><Card.Header><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><Card.Title class="svadmin-u-4ee734926ff6">{item.title}</Card.Title>{#if item.badge}<Badge>{item.badge}</Badge>{/if}</div>{#if item.description}<Card.Description>{item.description}</Card.Description>{/if}</Card.Header><Card.Content>{#if item.meta}<p class="svadmin-u-3febee094e85 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{item.meta}</p>{/if}<Button variant="outline" size="sm" class="svadmin-u-0ab8667228fd svadmin-u-6da6a3c3f741">{actionLabel}</Button></Card.Content></Card.Root>{/each}</div><div class="svadmin-u-f3c543ad5fe9 svadmin-u-b39e60c339f4 svadmin-u-64f847a259bc"><AutoTable {resourceName} /><aside class="svadmin-u-3e7ce58d64fa">{#each metrics as metric (metric.label)}<div class="svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-9fcd8a13827e"><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-42536e69e639 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p></div>{#if metric.hint}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.hint}</p>{/if}</div>{/each}{#each lanes as lane (lane.label)}<div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><span class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{lane.label}</span><Badge variant="outline">{lane.value}</Badge></div>{/each}</aside></div></section>
|
|
163
|
+
<section class="svadmin-u-b43b4c086d9a" data-svadmin-billing-layout><div class="svadmin-u-f3c543ad5fe9 svadmin-u-0c3bc98565dd svadmin-u-9a638cfe8212">{#each highlights as item (item.title)}<Card.Root><Card.Header><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><Card.Title class="svadmin-u-4ee734926ff6">{item.title}</Card.Title>{#if item.badge}<Badge>{item.badge}</Badge>{/if}</div>{#if item.description}<Card.Description>{item.description}</Card.Description>{/if}</Card.Header><Card.Content>{#if item.meta}<p class="svadmin-u-3febee094e85 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{item.meta}</p>{/if}<Button variant="outline" size="sm" class="svadmin-u-0ab8667228fd svadmin-u-6da6a3c3f741">{actionLabel}</Button></Card.Content></Card.Root>{/each}</div><div class="svadmin-u-f3c543ad5fe9 svadmin-u-b39e60c339f4 svadmin-u-64f847a259bc"><AutoTable {...tableProps} {rendering} {resourceName} /><aside class="svadmin-u-3e7ce58d64fa">{#each metrics as metric (metric.label)}<div class="svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-9fcd8a13827e"><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-42536e69e639 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p></div>{#if metric.hint}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.hint}</p>{/if}</div>{/each}{#each lanes as lane (lane.label)}<div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><span class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{lane.label}</span><Badge variant="outline">{lane.value}</Badge></div>{/each}</aside></div></section>
|
|
158
164
|
{:else if workspaceStyle === 'security'}
|
|
159
|
-
<section class="svadmin-u-b43b4c086d9a" data-svadmin-security-layout><div class="svadmin-u-f3c543ad5fe9 svadmin-u-0c3bc98565dd svadmin-u-2ee0591bf105"><div class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-c07e54fd1439"><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-bfa603190748">{metrics[0]?.label}</p><p class="svadmin-u-eccd13ef4f2f svadmin-u-751fb0d102ba svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metrics[0]?.value}</p><p class="svadmin-u-b6b02c0ebef6 svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metrics[0]?.hint}</p><div class="svadmin-u-fb77735ed17c svadmin-u-6ed543e2fbbb">{#each lanes as lane (lane.label)}<div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><span class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{lane.label}</span><Badge variant="outline">{lane.value}</Badge></div>{/each}</div></div><div class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558"><div class="svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-f0faeb26d656 svadmin-u-1b2d54a3fd12"><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{highlightsLabel}</h2></div><div class="svadmin-u-fa6acbf81d74 svadmin-u-e783642739e3">{#each highlights as item (item.title)}<div class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c svadmin-u-8e63407b5ceb"><div><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-bfa603190748">{item.description}</p>{/if}{#if item.meta}<p class="svadmin-u-50d0d216a2f8 svadmin-u-359090c2d529 svadmin-u-20aaf08a7ed1">{item.meta}</p>{/if}</div>{#if item.badge}<Badge variant="outline">{item.badge}</Badge>{/if}</div>{/each}</div></div></div><AutoTable {resourceName} /></section>
|
|
165
|
+
<section class="svadmin-u-b43b4c086d9a" data-svadmin-security-layout><div class="svadmin-u-f3c543ad5fe9 svadmin-u-0c3bc98565dd svadmin-u-2ee0591bf105"><div class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-c07e54fd1439"><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-bfa603190748">{metrics[0]?.label}</p><p class="svadmin-u-eccd13ef4f2f svadmin-u-751fb0d102ba svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metrics[0]?.value}</p><p class="svadmin-u-b6b02c0ebef6 svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metrics[0]?.hint}</p><div class="svadmin-u-fb77735ed17c svadmin-u-6ed543e2fbbb">{#each lanes as lane (lane.label)}<div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><span class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{lane.label}</span><Badge variant="outline">{lane.value}</Badge></div>{/each}</div></div><div class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558"><div class="svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-f0faeb26d656 svadmin-u-1b2d54a3fd12"><h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{highlightsLabel}</h2></div><div class="svadmin-u-fa6acbf81d74 svadmin-u-e783642739e3">{#each highlights as item (item.title)}<div class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c svadmin-u-8e63407b5ceb"><div><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-bfa603190748">{item.description}</p>{/if}{#if item.meta}<p class="svadmin-u-50d0d216a2f8 svadmin-u-359090c2d529 svadmin-u-20aaf08a7ed1">{item.meta}</p>{/if}</div>{#if item.badge}<Badge variant="outline">{item.badge}</Badge>{/if}</div>{/each}</div></div></div><AutoTable {...tableProps} {rendering} {resourceName} /></section>
|
|
160
166
|
{:else if workspaceStyle === 'referral'}
|
|
161
|
-
<section class="svadmin-u-f3c543ad5fe9 svadmin-u-0d304f904cb0 svadmin-u-4a33def12a78" data-svadmin-referral-layout><div class="svadmin-u-b43b4c086d9a"><div class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-c07e54fd1439"><h2 class="svadmin-u-4ee734926ff6 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{highlightsLabel}</h2><p class="svadmin-u-b6b02c0ebef6 svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{tableDescription}</p><div class="svadmin-u-fb77735ed17c svadmin-u-f3c543ad5fe9 svadmin-u-1004c0c3954c svadmin-u-ab1b20c2292a">{#each metrics as metric (metric.label)}<div><p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-b6b02c0ebef6 svadmin-u-3febee094e85 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p><p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.hint}</p></div>{/each}</div></div><AutoTable {resourceName} /></div><aside class="svadmin-u-6ed543e2fbbb">{#each highlights as item (item.title)}<article class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.badge}<Badge>{item.badge}</Badge>{/if}</div>{#if item.description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-7054e2767710 svadmin-u-bfa603190748">{item.description}</p>{/if}{#if item.meta}<p class="svadmin-u-eccd13ef4f2f svadmin-u-421ac2be5045 svadmin-u-2ef11f1cb219 svadmin-u-0e17f2bd9074 svadmin-u-03b4dd7f172b svadmin-u-0e65706bcccd svadmin-u-359090c2d529 svadmin-u-d4108abe6359">{item.meta}</p>{/if}</article>{/each}</aside></section>
|
|
167
|
+
<section class="svadmin-u-f3c543ad5fe9 svadmin-u-0d304f904cb0 svadmin-u-4a33def12a78" data-svadmin-referral-layout><div class="svadmin-u-b43b4c086d9a"><div class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-c07e54fd1439"><h2 class="svadmin-u-4ee734926ff6 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{highlightsLabel}</h2><p class="svadmin-u-b6b02c0ebef6 svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{tableDescription}</p><div class="svadmin-u-fb77735ed17c svadmin-u-f3c543ad5fe9 svadmin-u-1004c0c3954c svadmin-u-ab1b20c2292a">{#each metrics as metric (metric.label)}<div><p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-b6b02c0ebef6 svadmin-u-3febee094e85 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p><p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.hint}</p></div>{/each}</div></div><AutoTable {...tableProps} {rendering} {resourceName} /></div><aside class="svadmin-u-6ed543e2fbbb">{#each highlights as item (item.title)}<article class="svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c"><p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</p>{#if item.badge}<Badge>{item.badge}</Badge>{/if}</div>{#if item.description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-7054e2767710 svadmin-u-bfa603190748">{item.description}</p>{/if}{#if item.meta}<p class="svadmin-u-eccd13ef4f2f svadmin-u-421ac2be5045 svadmin-u-2ef11f1cb219 svadmin-u-0e17f2bd9074 svadmin-u-03b4dd7f172b svadmin-u-0e65706bcccd svadmin-u-359090c2d529 svadmin-u-d4108abe6359">{item.meta}</p>{/if}</article>{/each}</aside></section>
|
|
162
168
|
{:else}
|
|
163
|
-
<section class="svadmin-u-3e7ce58d64fa" data-svadmin-default-layout><div class="svadmin-u-f3c543ad5fe9 svadmin-u-ceb7ac66b25b svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-a59afa8d9b9d svadmin-u-ab1b20c2292a">{#each metrics as metric (metric.label)}<div class="svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-b6b02c0ebef6 svadmin-u-d5c9b0001e7e svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p></div>{/each}</div><AutoTable {resourceName} /></section>
|
|
169
|
+
<section class="svadmin-u-3e7ce58d64fa" data-svadmin-default-layout><div class="svadmin-u-f3c543ad5fe9 svadmin-u-ceb7ac66b25b svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-a59afa8d9b9d svadmin-u-ab1b20c2292a">{#each metrics as metric (metric.label)}<div class="svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb"><p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{metric.label}</p><p class="svadmin-u-b6b02c0ebef6 svadmin-u-d5c9b0001e7e svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</p></div>{/each}</div><AutoTable {...tableProps} {rendering} {resourceName} /></section>
|
|
164
170
|
{/if}
|
|
165
171
|
</div>
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ResourceRendering } from '../rendering/index.js';
|
|
2
|
+
import type { Component, ComponentProps } from 'svelte';
|
|
3
|
+
import AutoTable from './AutoTable.svelte';
|
|
2
4
|
interface SummaryMetric {
|
|
3
5
|
label: string;
|
|
4
6
|
value: string | number;
|
|
@@ -18,6 +20,7 @@ interface HighlightItem {
|
|
|
18
20
|
type WorkspaceStyle = 'inventory' | 'operations' | 'orders' | 'people' | 'calendar' | 'communications' | 'crm' | 'property' | 'ai' | 'store' | 'planning' | 'generation' | 'billing' | 'security' | 'referral';
|
|
19
21
|
interface Props {
|
|
20
22
|
resourceName: string;
|
|
23
|
+
rendering?: ResourceRendering | undefined;
|
|
21
24
|
eyebrow: string;
|
|
22
25
|
title: string;
|
|
23
26
|
description: string;
|
|
@@ -33,6 +36,7 @@ interface Props {
|
|
|
33
36
|
emptyLanesText?: string;
|
|
34
37
|
highlightsLabel?: string;
|
|
35
38
|
workspaceStyle?: WorkspaceStyle;
|
|
39
|
+
tableProps?: Omit<ComponentProps<typeof AutoTable>, 'resourceName' | 'rendering'>;
|
|
36
40
|
}
|
|
37
41
|
declare const ResourceOperationsPage: Component<Props, {}, "">;
|
|
38
42
|
type ResourceOperationsPage = ReturnType<typeof ResourceOperationsPage>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import { captureAdminContext, queryKeyMatches } from '@svadmin/core';
|
|
2
|
+
import { captureAdminContext, queryKeyMatches, withValidatedTaskProvider } from '@svadmin/core';
|
|
3
3
|
import { useQueryClient } from '@tanstack/svelte-query';
|
|
4
4
|
import { useTranslation } from '@svadmin/core/i18n';
|
|
5
5
|
|
|
@@ -34,23 +34,27 @@
|
|
|
34
34
|
|
|
35
35
|
async function handleRetry() {
|
|
36
36
|
if (!taskProvider?.retry || pending) return;
|
|
37
|
+
const scopedTaskId = taskId;
|
|
38
|
+
const scope = adminContext.queryKeyMatcher();
|
|
37
39
|
pending = true;
|
|
38
40
|
try {
|
|
39
|
-
|
|
41
|
+
const provider = withValidatedTaskProvider(taskProvider);
|
|
42
|
+
if (!provider.retry) return;
|
|
43
|
+
await provider.retry(scopedTaskId);
|
|
40
44
|
await Promise.all([
|
|
41
45
|
queryClient.invalidateQueries({
|
|
42
46
|
predicate: (query) => queryKeyMatches(query.queryKey, {
|
|
43
|
-
...
|
|
47
|
+
...scope,
|
|
44
48
|
kind: 'task',
|
|
45
49
|
action: 'list',
|
|
46
50
|
}),
|
|
47
51
|
}),
|
|
48
52
|
queryClient.invalidateQueries({
|
|
49
53
|
predicate: (query) => queryKeyMatches(query.queryKey, {
|
|
50
|
-
...
|
|
54
|
+
...scope,
|
|
51
55
|
kind: 'task',
|
|
52
56
|
action: 'one',
|
|
53
|
-
id:
|
|
57
|
+
id: scopedTaskId,
|
|
54
58
|
}),
|
|
55
59
|
}),
|
|
56
60
|
]);
|