This commit is contained in:
Mads Rasmussen
2023-02-23 16:17:10 +01:00
parent 10ebfc3173
commit 21b0fb19cb
5 changed files with 99 additions and 30 deletions

View File

@@ -1,8 +1,11 @@
import { Meta } from '@storybook/addon-docs';
<Meta title="Guides/Extending the Backoffice/Actions" parameters={{ previewTabs: { canvas: { hidden: true } } }} />
<Meta
title="Guides/Extending the Backoffice/Entity Actions"
parameters={{ previewTabs: { canvas: { hidden: true } } }}
/>
# Actions
# Entity Actions
TODO: introduction to actions
@@ -12,10 +15,7 @@ TODO: introduction to actions
- **Entity Bulk Action:**
Relates to an entity type: document, media, etc. Performs the action on a selection of items.
- **Workspace Action:**
Relates to a workspace alias (Umb.Workspace.Document). Performs the action on the workspace draft state.
TODO: graphically show the different types of actions
<img src="entity-action-sidebar-context.svg" width="400" />
### Registering an Entity Action

View File

@@ -8,22 +8,8 @@ Registering UI extensions happens through the global extension registry.
There are two ways to register UI extensions:
1. Directly through a manifest file
2. Referencing a "Start up" resource in the manifest where full control over registration can take place.
## Manifest files
```json
{
"type": "", // type of extension
"alias": "", // unique alias for the extension
"elementName": "", // unique name of the custom element
"js": "", // path to the javascript resource
"meta": {
// additional props for the extension type
}
}
```
1. Reference an entry point resource in the manifest where full control over registration can take place.
2. Directly through a manifest file
## Entry Point Files
@@ -56,3 +42,17 @@ const manifest = {
extensionRegistry.register(extension);
```
## Manifest JSON files
```json
{
"type": "", // type of extension
"alias": "", // unique alias for the extension
"elementName": "", // unique name of the custom element
"js": "", // path to the javascript resource
"meta": {
// additional props for the extension type
}
}
```

View File

@@ -3,3 +3,74 @@ import { Meta } from '@storybook/addon-docs';
<Meta title="Guides/Extending the Backoffice/Sections" parameters={{ previewTabs: { canvas: { hidden: true } } }} />
# Sections
TODO: Introduction to sections
<img src="docs/section.svg" width="300" />
The section manifest:
TODO: can we get a typescript interface here?
```json
{
"type": "section",
"alias": "My.Section",
"name": "My Section",
"weight": 10,
"meta": {
"label": "My Section",
"pathname": "my-section"
}
}
```
The Backoffice ships with the following sections:
Content, Media, Members, Packages, Users, Settings.
## Section Sidebar
TODO: Introduction to section sidebar
<img src="docs/section-sidebar.svg" width="300" />
### Sidebar Items
TODO: Introduction to section sidebar items
<img src="docs/section-sidebar-item.svg" width="300" />
#### Manifest
TODO: not implemented yet
#### Sidebar Menu
```json
{
"type": "sidebarMenu",
"alias": "My.SidebarMenu.Something",
"name": "Something Sidebar Menu",
"weight": 10,
"meta": {
"label": "My Something Sidebar Menu",
"sections": ["My.Section"]
}
}
```
#### Sidebar Menu Item
```json
{
"type": "sidebarMenuItem",
"alias": "Umb.SidebarMenuItem.Documents",
"name": "Documents Sidebar Menu Item",
"weight": 10,
"meta": {
"label": "Documents",
"icon": "umb:folder",
"sidebarMenus": ["Umb.SidebarMenu.Content"],
},
};
```

View File

@@ -1,8 +0,0 @@
import { Meta } from '@storybook/addon-docs';
<Meta
title="Guides/Extending the Backoffice/Workspace Views"
parameters={{ previewTabs: { canvas: { hidden: true } } }}
/>
# Workspace Views

View File

@@ -3,3 +3,9 @@ import { Meta } from '@storybook/addon-docs';
<Meta title="Guides/Extending the Backoffice/Workspaces" parameters={{ previewTabs: { canvas: { hidden: true } } }} />
# Workspaces
## Workspace Views
## Workspace Actions
Relates to a workspace alias (Umb.Workspace.Document). Performs the action on the workspace draft state.