diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/collection-view.model.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/collection-view.model.ts index 8d602e4ea8..95aa0f4340 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/collection-view.model.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/collection-view.model.ts @@ -27,6 +27,14 @@ export interface MetaCollectionView { pathName: string; } +/** + * Condition for when this collection view should be available + */ export interface ConditionsCollectionView { + /** + * Type of entity this collection view should be available for + * + * @examples ["media"] + */ entityType: string; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/dashboard-collection.model.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/dashboard-collection.model.ts index f4cfe2a35a..be5ccb9562 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/dashboard-collection.model.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/dashboard-collection.model.ts @@ -6,13 +6,51 @@ export interface ManifestDashboardCollection extends ManifestBase { conditions: ConditionsDashboardCollection; } + export interface MetaDashboardCollection { + /** + * The URL path for the dashboard which is used for navigating or deep linking directly to the dashboard + * @examples [ + * "media-management-dashboard", + * "my-awesome-dashboard" + * ] + */ pathname: string; + + /** + * Optional string to display as the label for the dashboard collection + */ label?: string; + + /** + * The alias of the repository that the dashboard collection is for + * @examples [ + * "Umb.Repository.Media" + * ] + */ repositoryAlias: string; } +/** + * The conditions for when the dashboard should be available + */ export interface ConditionsDashboardCollection { + /** + * An array of section aliases that the dashboard collection should be available in + * + * @uniqueItems true + * @examples [ + * "Umb.Section.Content", + * "Umb.Section.Settings" + * ] + */ sections: string[]; + + /** + * The entity type that the dashboard collection should be available for + * @examples [ + * "media" + * ] + */ entityType: string; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/entity-action.model.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/entity-action.model.ts index a4c63d1e35..815b739524 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/entity-action.model.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/entity-action.model.ts @@ -34,7 +34,7 @@ export interface MetaEntityAction { /** * @TJS-ignore */ - api: any; // create interface + api: any; // TODO: create interface /** * The alias for the repsoitory of the entity type this action is for @@ -47,5 +47,24 @@ export interface MetaEntityAction { } export interface ConditionsEntityAction { + /** + * The entity types that this action can be performed on + * @examples [ + * "data-type", + * "data-type-folder", + * "document", + * "document-root", + * "document-type", + * "dictionary-item", + * "language", + * "language-root", + * "member", + * "member-group", + * "member-type", + * "template", + * "template-root", + * "partial-view" + * ] + */ entityTypes: Array; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/entity-bulk-action.model.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/entity-bulk-action.model.ts index 26f3f5fc5f..be36d37a8d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/entity-bulk-action.model.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/entity-bulk-action.model.ts @@ -32,5 +32,16 @@ export interface MetaEntityBulkAction { } export interface ConditionsEntityBulkAction { + + /** + * The entity type this action is for + * + * @examples [ + * "document", + * "media", + * "user", + * "user-group" + * ] + */ entityType: string; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/workspace-view-collection.model.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/workspace-view-collection.model.ts index 403411a211..f99fe25894 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/workspace-view-collection.model.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/workspace-view-collection.model.ts @@ -10,11 +10,52 @@ export interface ManifestWorkspaceViewCollection type: 'workspaceViewCollection'; meta: MetaEditorViewCollection; } + + export interface MetaEditorViewCollection extends MetaManifestWithView { + /** + * The entity type that this view collection should be available in + * + * @examples [ + * "media" + * ] + */ entityType: string; + + /** + * The repository alias that this view collection should be available in + * @examples [ + * "Umb.Repository.Media" + * ] + */ repositoryAlias: string; } + export interface ConditionsEditorViewCollection { + /** + * The workspaces that this view collection should be available in + * + * @examples [ + * "Umb.Workspace.DataType", + * "Umb.Workspace.Dictionary", + * "Umb.Workspace.Document", + * "Umb.Workspace.DocumentType", + * "Umb.Workspace.Language", + * "Umb.Workspace.LanguageRoot", + * "Umb.Workspace.LogviewerRoot", + * "Umb.Workspace.Media", + * "Umb.Workspace.MediaType", + * "Umb.Workspace.Member", + * "Umb.Workspace.MemberType", + * "Umb.Workspace.MemberGroup", + * "Umb.Workspace.Package", + * "Umb.Workspace.PackageBuilder", + * "Umb.Workspace.PartialView", + * "Umb.Workspace.RelationType", + * "Umb.Workspace.Stylesheet", + * "Umb.Workspace.Template" + * ] + */ workspaces: string[]; }