@vc-shell/vc-app-skill 2.0.5 → 2.0.6-pr230.6c46c06
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/CHANGELOG.md +6 -0
- package/README.md +7 -7
- package/package.json +1 -1
- package/runtime/VERSION +1 -1
- package/runtime/knowledge/docs/_BUILD_HASH.md +1 -1
- package/runtime/knowledge/docs/core/api/platform.docs.md +6 -6
- package/runtime/knowledge/docs/core/blade-navigation/blade-nav-composables.docs.md +1 -1
- package/runtime/knowledge/docs/core/composables/bladeContext/index.docs.md +2 -2
- package/runtime/knowledge/docs/core/composables/useApiClient/useApiClient.docs.md +67 -42
- package/runtime/knowledge/docs/core/composables/useAppBarMobileButtons/useAppBarMobileButtons.docs.md +2 -2
- package/runtime/knowledge/docs/core/composables/useAppBarWidget/useAppBarWidget.docs.md +15 -13
- package/runtime/knowledge/docs/core/composables/useAppInsights/useAppInsights.docs.md +11 -11
- package/runtime/knowledge/docs/core/composables/useAsync/useAsync.docs.md +17 -14
- package/runtime/knowledge/docs/core/composables/useBeforeUnload/useBeforeUnload.docs.md +4 -2
- package/runtime/knowledge/docs/core/composables/useBlade/useBlade.docs.md +31 -23
- package/runtime/knowledge/docs/core/composables/useBladeWidgets/index.docs.md +46 -26
- package/runtime/knowledge/docs/core/composables/useDashboard/useDashboard.docs.md +1 -0
- package/runtime/knowledge/docs/core/composables/useDynamicProperties/useDynamicProperties.docs.md +1 -1
- package/runtime/knowledge/docs/core/composables/useMenuExpanded/index.docs.md +1 -1
- package/runtime/knowledge/docs/core/composables/useMenuService/useMenuService.docs.md +1 -0
- package/runtime/knowledge/docs/core/composables/useNotifications/useNotifications.docs.md +20 -6
- package/runtime/knowledge/docs/core/composables/usePermissions/usePermissions.docs.md +2 -1
- package/runtime/knowledge/docs/core/composables/useSettings/useSettings.docs.md +2 -2
- package/runtime/knowledge/docs/core/composables/useToolbar/useToolbar.docs.md +109 -133
- package/runtime/knowledge/docs/core/composables/useWidgets/useWidgets.docs.md +1 -2
- package/runtime/knowledge/docs/core/notifications/notifications.docs.md +12 -15
- package/runtime/knowledge/docs/core/plugins/extension-points/extension-points.docs.md +1 -1
- package/runtime/knowledge/docs/core/plugins/modularity/modularity.docs.md +54 -116
- package/runtime/knowledge/docs/core/plugins/permissions/permissions.docs.md +12 -3
- package/runtime/knowledge/docs/core/plugins/signalR/signalR.docs.md +20 -20
- package/runtime/knowledge/docs/injection-keys.docs.md +1 -1
- package/runtime/knowledge/docs/shell/auth/LoginPage/login-page.docs.md +1 -1
- package/runtime/knowledge/docs/shell/components/language-selector/language-selector.docs.md +1 -1
- package/runtime/knowledge/docs/shell/components/notification-dropdown/notification-dropdown.docs.md +1 -1
- package/runtime/knowledge/docs/shell/components/notification-template/notification-template.docs.md +1 -1
- package/runtime/knowledge/docs/shell/components/settings-menu/settings-menu.docs.md +7 -7
- package/runtime/knowledge/docs/shell/components/settings-menu-item/settings-menu-item.docs.md +2 -2
- package/runtime/knowledge/docs/shell/dashboard/draggable-dashboard/draggable-dashboard.docs.md +1 -1
- package/runtime/knowledge/docs/ui/components/atoms/vc-badge/vc-badge.docs.md +4 -4
- package/runtime/knowledge/docs/ui/components/atoms/vc-button/vc-button.docs.md +1 -1
- package/runtime/knowledge/docs/ui/components/atoms/vc-container/vc-container.docs.md +21 -1
- package/runtime/knowledge/docs/ui/components/atoms/vc-link/vc-link.docs.md +22 -6
- package/runtime/knowledge/docs/ui/components/atoms/vc-skeleton/vc-skeleton.docs.md +2 -2
- package/runtime/knowledge/docs/ui/components/atoms/vc-status-icon/vc-status-icon.docs.md +32 -26
- package/runtime/knowledge/docs/ui/components/atoms/vc-tooltip/vc-tooltip.docs.md +3 -3
- package/runtime/knowledge/docs/ui/components/molecules/multilanguage-selector/multilanguage-selector.docs.md +1 -1
- package/runtime/knowledge/docs/ui/components/molecules/vc-accordion/vc-accordion.docs.md +1 -1
- package/runtime/knowledge/docs/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.docs.md +1 -1
- package/runtime/knowledge/docs/ui/components/molecules/vc-dropdown-panel/vc-dropdown-panel.docs.md +13 -13
- package/runtime/knowledge/docs/ui/components/molecules/vc-form/vc-form.docs.md +1 -1
- package/runtime/knowledge/docs/ui/components/molecules/vc-pagination/vc-pagination.docs.md +1 -1
- package/runtime/knowledge/docs/ui/components/organisms/vc-app/vc-app.docs.md +4 -4
- package/runtime/knowledge/docs/ui/components/organisms/vc-blade/vc-blade.docs.md +39 -37
- package/runtime/knowledge/docs/ui/components/organisms/vc-data-table/vc-data-table.docs.md +17 -17
- package/runtime/knowledge/docs/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.docs.md +16 -7
- package/runtime/knowledge/docs/ui/components/organisms/vc-sidebar/vc-sidebar.docs.md +1 -1
- package/runtime/knowledge/docs/core/composables/usePlatformLocaleSync/usePlatformLocaleSync.docs.md +0 -34
- package/runtime/knowledge/docs/modules/assets/assets-details.docs.md +0 -123
- package/runtime/knowledge/docs/shell/dashboard/draggable-dashboard/dashboard-widget-skeleton.docs.md +0 -33
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Assets Module
|
|
3
|
-
category: reference
|
|
4
|
-
group: modules
|
|
5
|
-
slug: assets
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Assets Details Module
|
|
9
|
-
|
|
10
|
-
A built-in child blade for editing a single asset's metadata: display name, alt text (images only), and description. Opened by `AssetsManager` when the user clicks a table row, but also usable standalone from any parent blade that needs single-asset editing.
|
|
11
|
-
|
|
12
|
-
## Overview
|
|
13
|
-
|
|
14
|
-
The blade reads an `AssetLike` instance from `options.asset`, exposes a form pre-populated from it, and delegates persistence back to the caller through two callbacks (`assetEditHandler`, `assetRemoveHandler`). The blade itself never mutates the original asset and never talks to the network — the caller decides what saving and removing means.
|
|
15
|
-
|
|
16
|
-
The module is registered as `AssetsDetailsModule` and exposes the `AssetsDetails` blade (registered globally under the name `"AssetsDetails"`).
|
|
17
|
-
|
|
18
|
-
## Module Registration
|
|
19
|
-
|
|
20
|
-
```typescript
|
|
21
|
-
import { AssetsDetailsModule } from "@vc-shell/framework";
|
|
22
|
-
|
|
23
|
-
// Registered automatically when the framework loads
|
|
24
|
-
// Exposes: AssetsDetails blade component
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Options (via `useBlade`)
|
|
28
|
-
|
|
29
|
-
The blade reads its configuration from `options` via `useBlade<AssetsDetailsOptions>()` (not props):
|
|
30
|
-
|
|
31
|
-
| Option | Type | Description |
|
|
32
|
-
| -------------------- | --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
33
|
-
| `asset` | `AssetLike` | The asset to edit. The blade clones it into local state — the source object is never mutated until `assetEditHandler` is called. |
|
|
34
|
-
| `disabled` | `boolean?` | When true, every input is read-only and the toolbar Save/Delete buttons are disabled. |
|
|
35
|
-
| `hiddenFields` | `string[]?` | Field names to hide. Supported values: `"name"`, `"altText"`, `"description"`. The header (preview, size, created date, URL) is always shown. |
|
|
36
|
-
| `assetEditHandler` | `(asset: AssetLike) => void \| Promise<void>` | Called by the toolbar Save button with the edited copy. The blade closes itself after the handler resolves. |
|
|
37
|
-
| `assetRemoveHandler` | `(asset: AssetLike) => Promise<void>` | Called by the toolbar Delete button. The blade closes itself after the handler resolves. |
|
|
38
|
-
|
|
39
|
-
## Usage
|
|
40
|
-
|
|
41
|
-
### Direct invocation
|
|
42
|
-
|
|
43
|
-
```typescript
|
|
44
|
-
import { useBlade } from "@vc-shell/framework";
|
|
45
|
-
|
|
46
|
-
const { openBlade } = useBlade();
|
|
47
|
-
|
|
48
|
-
openBlade({
|
|
49
|
-
name: "AssetsDetails",
|
|
50
|
-
options: {
|
|
51
|
-
asset: selectedAsset,
|
|
52
|
-
disabled: !canEdit.value,
|
|
53
|
-
hiddenFields: ["altText"],
|
|
54
|
-
assetEditHandler: async (edited) => {
|
|
55
|
-
await api.updateAsset(edited);
|
|
56
|
-
},
|
|
57
|
-
assetRemoveHandler: async (asset) => {
|
|
58
|
-
await api.deleteAsset(asset.id);
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
});
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### Used by AssetsManager
|
|
65
|
-
|
|
66
|
-
When `AssetsManager` opens this blade on row click, it wires the manager's mutation methods into the handlers automatically:
|
|
67
|
-
|
|
68
|
-
```typescript
|
|
69
|
-
// inside AssetsManager
|
|
70
|
-
openBlade({
|
|
71
|
-
name: "AssetsDetails",
|
|
72
|
-
options: {
|
|
73
|
-
asset,
|
|
74
|
-
disabled: readonly.value,
|
|
75
|
-
hiddenFields: options.value?.hiddenFields,
|
|
76
|
-
assetEditHandler: (asset) => manager.updateItem(asset),
|
|
77
|
-
assetRemoveHandler: (asset) => manager.remove(asset),
|
|
78
|
-
},
|
|
79
|
-
});
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
## Header
|
|
83
|
-
|
|
84
|
-
The header is always rendered above the editable form and is not configurable through `hiddenFields`:
|
|
85
|
-
|
|
86
|
-
| Element | Source |
|
|
87
|
-
| ------------ | -------------------------------------------------------------------------------------------------- |
|
|
88
|
-
| Preview | `VcImage` thumbnail for image extensions (png/jpg/jpeg/svg/gif), colored extension badge otherwise |
|
|
89
|
-
| Size | `readableSize(asset.size)` — formatted as `KB`/`MB`/`GB` |
|
|
90
|
-
| Created date | `asset.createdDate` rendered with `type="date-ago"` |
|
|
91
|
-
| URL | `asset.url` displayed as a copyable link with `asset.name` as the visible label |
|
|
92
|
-
|
|
93
|
-
## Form fields
|
|
94
|
-
|
|
95
|
-
All fields are bound to a local clone of `asset`. They can be hidden individually via `hiddenFields`.
|
|
96
|
-
|
|
97
|
-
| Field | Visibility | Notes |
|
|
98
|
-
| ------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
|
|
99
|
-
| `name` | Hidden if `hiddenFields` includes `"name"` | Required. Edits the **base name only** — the original extension is preserved on save (e.g. editing `report.pdf` keeps `.pdf`). |
|
|
100
|
-
| `altText` | Image assets only; hide via `"altText"` | Plain string. Shown only when `asset.typeId === "Image"`. |
|
|
101
|
-
| `description` | Hidden if `hiddenFields` includes `"description"` | Multiline textarea. |
|
|
102
|
-
|
|
103
|
-
## Toolbar
|
|
104
|
-
|
|
105
|
-
| Button | Disabled condition | Action |
|
|
106
|
-
| ------ | ------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |
|
|
107
|
-
| Save | `disabled === true`, the form is invalid, or the form is not dirty (vee-validate `useIsFormValid`/`useIsFormDirty`) | `await assetEditHandler(editedAsset)`, then `closeSelf()` |
|
|
108
|
-
| Delete | `disabled === true` | `await assetRemoveHandler(editedAsset)`, then `closeSelf()` |
|
|
109
|
-
|
|
110
|
-
## Tips
|
|
111
|
-
|
|
112
|
-
- **Extension is locked.** The `name` input only edits the base name; the original extension is reattached on save. Renaming `photo.png` to `cover` produces `cover.png`.
|
|
113
|
-
- **Required name validation** uses vee-validate's `required` rule. The Save button stays disabled until validation passes.
|
|
114
|
-
- **`assetEditHandler`** is invoked with the edited clone — the original `options.asset` reference is never mutated. Callers should treat the argument as the new state.
|
|
115
|
-
- **`disabled` makes the blade fully read-only:** inputs are disabled and toolbar Save/Delete are disabled regardless of dirtiness.
|
|
116
|
-
- **`hiddenFields` does not enforce required-ness.** Hiding `"name"` skips the validated `<Field>`, so the Save button only depends on form dirtiness.
|
|
117
|
-
|
|
118
|
-
## Related
|
|
119
|
-
|
|
120
|
-
- `framework/modules/assets-manager/` -- parent `AssetsManager` blade that opens `AssetsDetails` on row click
|
|
121
|
-
- `framework/core/composables/useAssetsManager/` -- `AssetLike` type definition
|
|
122
|
-
- `framework/core/utilities/assets.ts` -- `isImage`, `readableSize`, `getExtensionColor`, `getExtensionLabel`
|
|
123
|
-
- `framework/ui/components/molecules/vc-field/` -- `VcField` used by the header for size/date/url
|
package/runtime/knowledge/docs/shell/dashboard/draggable-dashboard/dashboard-widget-skeleton.docs.md
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: DashboardWidgetSkeleton
|
|
3
|
-
category: composables
|
|
4
|
-
group: utilities
|
|
5
|
-
internal: true
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# DashboardWidgetSkeleton
|
|
9
|
-
|
|
10
|
-
Internal placeholder card used by `GridstackDashboard` while remote modules are still loading. Mimics the shape of `DashboardWidgetCard` (header with icon + title, stats row, content lines) with a shimmer animation. Not exported from `@vc-shell/framework` — consumed only inside the dashboard organism.
|
|
11
|
-
|
|
12
|
-
## When to Use
|
|
13
|
-
|
|
14
|
-
- You won't use this directly. `GridstackDashboard` renders one per `SkeletonItem` while `ModulesReadyKey` resolves to `false`.
|
|
15
|
-
- If you build a custom dashboard layout and want the same loading aesthetic, copy this file rather than importing it — the component is intentionally internal so the dashboard team can change its markup at any time.
|
|
16
|
-
|
|
17
|
-
## Layout Contract
|
|
18
|
-
|
|
19
|
-
The skeleton has no props. Its parent positions it via inline `style` (`grid-column` / `grid-row`) inside a 12-column CSS grid. Card height/width is fully determined by the grid cell it occupies, so the skeleton stretches to fill its slot.
|
|
20
|
-
|
|
21
|
-
## Accessibility
|
|
22
|
-
|
|
23
|
-
- The wrapper has `aria-hidden="true"` so screen readers ignore the visual placeholders. The parent grid carries `role="status"` + `aria-busy="true"` to announce loading state once.
|
|
24
|
-
- Shimmer animation is disabled when the user prefers reduced motion.
|
|
25
|
-
|
|
26
|
-
## Design Tokens
|
|
27
|
-
|
|
28
|
-
Skeleton inherits dashboard card tokens where possible (`--dashboard-widget-card-background`, `--dashboard-widget-card-border-color`, `--dashboard-widget-card-border-radius`, `--dashboard-widget-card-shadow`) so its silhouette matches the real card. Shimmer colors are read from `--neutrals-100` / `--neutrals-200`.
|
|
29
|
-
|
|
30
|
-
## Related
|
|
31
|
-
|
|
32
|
-
- [DraggableDashboard](./draggable-dashboard.docs.md) — owns the skeleton grid and decides when to render placeholders.
|
|
33
|
-
- [DashboardWidgetCard](../dashboard-widget-card/dashboard-widget-card.docs.md) — the real card whose shape skeletons imitate.
|