Merge branch 'v15/dev' into v15/feature/member-sidebar-menu
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { UMB_BLOCK_ENTRY_CONTEXT } from '../context/block-entry.context-token.js';
|
||||
import type { BlockEntryShowContentEditConditionConfig } from '@umbraco-cms/backoffice/extension-registry';
|
||||
import type { BlockEntryShowContentEditConditionConfig } from './types.js';
|
||||
import { UmbConditionBase } from '@umbraco-cms/backoffice/extension-registry';
|
||||
import type { UmbConditionControllerArguments, UmbExtensionCondition } from '@umbraco-cms/backoffice/extension-api';
|
||||
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { UMB_BLOCK_WORKSPACE_CONTEXT } from '../workspace/block-workspace.context-token.js';
|
||||
import type { BlockWorkspaceHasSettingsConditionConfig } from './types.js';
|
||||
import { UmbConditionBase } from '@umbraco-cms/backoffice/extension-registry';
|
||||
import type { BlockWorkspaceHasSettingsConditionConfig } from '@umbraco-cms/backoffice/extension-registry';
|
||||
import type { UmbConditionControllerArguments, UmbExtensionCondition } from '@umbraco-cms/backoffice/extension-api';
|
||||
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
|
||||
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit';
|
||||
import type { ManifestDashboardCollection } from '@umbraco-cms/backoffice/extension-registry';
|
||||
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
|
||||
|
||||
@customElement('umb-dashboard-collection')
|
||||
export class UmbDashboardCollectionElement extends UmbLitElement {
|
||||
public manifest!: ManifestDashboardCollection;
|
||||
|
||||
// TODO: figure out what collection to render
|
||||
override render() {
|
||||
return html`<umb-collection></umb-collection>`;
|
||||
}
|
||||
|
||||
static override styles = [
|
||||
css`
|
||||
:host {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
box-sizing: border-box;
|
||||
gap: var(--uui-size-space-5);
|
||||
height: 100%;
|
||||
}
|
||||
`,
|
||||
];
|
||||
}
|
||||
|
||||
export default UmbDashboardCollectionElement;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'umb-dashboard-collection': UmbDashboardCollectionElement;
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
import type { UmbDashboardCollectionElement } from './dashboard-collection.element.js';
|
||||
import type { Meta, Story } from '@storybook/web-components';
|
||||
import { html } from '@umbraco-cms/backoffice/external/lit';
|
||||
|
||||
import './dashboard-collection.element.js';
|
||||
|
||||
export default {
|
||||
title: 'Dashboards/Media Management',
|
||||
component: 'umb-dashboard-collection',
|
||||
id: 'umb-dashboard-collection',
|
||||
} as Meta;
|
||||
|
||||
export const AAAOverview: Story<UmbDashboardCollectionElement> = () =>
|
||||
html` <umb-dashboard-collection></umb-dashboard-collection>`;
|
||||
AAAOverview.storyName = 'Overview';
|
||||
@@ -1,8 +1,4 @@
|
||||
export { UmbSwitchCondition } from './switch.condition.js';
|
||||
export { UmbConditionBase } from './condition-base.controller.js';
|
||||
|
||||
export type {
|
||||
BlockEntryShowContentEditConditionConfig,
|
||||
BlockWorkspaceHasSettingsConditionConfig,
|
||||
ConditionTypes,
|
||||
} from './types.js';
|
||||
export type { ConditionTypes } from './types.js';
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
import type { ManifestTypes } from '../models/index.js';
|
||||
import { manifest as multipleAppLanguagesConditionManifest } from './multiple-app-languages.condition.js';
|
||||
import { manifest as sectionAliasConditionManifest } from './section-alias.condition.js';
|
||||
import { manifest as switchConditionManifest } from './switch.condition.js';
|
||||
|
||||
export const manifests: Array<ManifestTypes> = [
|
||||
multipleAppLanguagesConditionManifest,
|
||||
sectionAliasConditionManifest,
|
||||
switchConditionManifest,
|
||||
];
|
||||
export const manifests: Array<ManifestTypes> = [sectionAliasConditionManifest, switchConditionManifest];
|
||||
|
||||
@@ -1,30 +1,15 @@
|
||||
import type { CollectionAliasConditionConfig } from '../../collection/collection-alias.manifest.js';
|
||||
import type { CollectionBulkActionPermissionConditionConfig } from '../../collection/collection-bulk-action-permission.manifest.js';
|
||||
import type { UmbSectionUserPermissionConditionConfig } from '../../section/conditions/index.js';
|
||||
import type { SectionAliasConditionConfig } from './section-alias.condition.js';
|
||||
import type { SwitchConditionConfig } from './switch.condition.js';
|
||||
import type { UmbMultipleAppLanguageConditionConfig } from './multiple-app-languages.condition.js';
|
||||
import type { UmbConditionConfigBase } from '@umbraco-cms/backoffice/extension-api';
|
||||
import type { UmbDocumentUserPermissionConditionConfig } from '@umbraco-cms/backoffice/document';
|
||||
|
||||
// temp location to avoid circular dependencies
|
||||
export type BlockWorkspaceHasSettingsConditionConfig =
|
||||
UmbConditionConfigBase<'Umb.Condition.BlockWorkspaceHasSettings'>;
|
||||
|
||||
export type BlockEntryShowContentEditConditionConfig =
|
||||
UmbConditionConfigBase<'Umb.Condition.BlockEntryShowContentEdit'>;
|
||||
|
||||
export type ConditionTypes =
|
||||
| BlockEntryShowContentEditConditionConfig
|
||||
| BlockWorkspaceHasSettingsConditionConfig
|
||||
| CollectionAliasConditionConfig
|
||||
| CollectionBulkActionPermissionConditionConfig
|
||||
| SectionAliasConditionConfig
|
||||
| SwitchConditionConfig
|
||||
| UmbConditionConfigBase
|
||||
| UmbDocumentUserPermissionConditionConfig
|
||||
| UmbMultipleAppLanguageConditionConfig
|
||||
| UmbSectionUserPermissionConditionConfig;
|
||||
| UmbConditionConfigBase;
|
||||
|
||||
type UnionOfProperties<T> = T extends object ? T[keyof T] : never;
|
||||
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
import type { ManifestBase } from '@umbraco-cms/backoffice/extension-api';
|
||||
|
||||
export interface ManifestDashboardCollection extends ManifestBase {
|
||||
type: 'dashboardCollection';
|
||||
meta: MetaDashboardCollection;
|
||||
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;
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
import type { ManifestAuthProvider } from './auth-provider.model.js';
|
||||
import type { ManifestCurrentUserAction, ManifestCurrentUserActionDefaultKind } from './current-user-action.model.js';
|
||||
import type { ManifestDashboard } from './dashboard.model.js';
|
||||
import type { ManifestDashboardCollection } from './dashboard-collection.model.js';
|
||||
import type {
|
||||
ManifestEntityAction,
|
||||
ManifestEntityActionDeleteKind,
|
||||
@@ -61,8 +60,6 @@ import type {
|
||||
import type { ManifestEntityUserPermission } from './entity-user-permission.model.js';
|
||||
import type { ManifestGranularUserPermission } from './user-granular-permission.model.js';
|
||||
import type { ManifestMfaLoginProvider } from './mfa-login-provider.model.js';
|
||||
import type { ManifestSearchProvider } from './search-provider.model.js';
|
||||
import type { ManifestSearchResultItem } from './search-result-item.model.js';
|
||||
import type { ManifestAppEntryPoint } from './app-entry-point.model.js';
|
||||
import type { ManifestBackofficeEntryPoint } from './backoffice-entry-point.model.js';
|
||||
import type { ManifestEntryPoint } from './entry-point.model.js';
|
||||
@@ -75,7 +72,6 @@ export type * from './app-entry-point.model.js';
|
||||
export type * from './auth-provider.model.js';
|
||||
export type * from './backoffice-entry-point.model.js';
|
||||
export type * from './current-user-action.model.js';
|
||||
export type * from './dashboard-collection.model.js';
|
||||
export type * from './dashboard.model.js';
|
||||
export type * from './dynamic-root.model.js';
|
||||
export type * from './entity-action.model.js';
|
||||
@@ -99,8 +95,6 @@ export type * from './preview-app.model.js';
|
||||
export type * from './property-action.model.js';
|
||||
export type * from './property-editor.model.js';
|
||||
export type * from './repository.model.js';
|
||||
export type * from './search-provider.model.js';
|
||||
export type * from './search-result-item.model.js';
|
||||
export type * from './section-sidebar-app.model.js';
|
||||
export type * from './section-view.model.js';
|
||||
export type * from './section.model.js';
|
||||
@@ -157,7 +151,6 @@ export type ManifestTypes =
|
||||
| ManifestCurrentUserAction
|
||||
| ManifestCurrentUserActionDefaultKind
|
||||
| ManifestDashboard
|
||||
| ManifestDashboardCollection
|
||||
| ManifestDynamicRootOrigin
|
||||
| ManifestDynamicRootQueryStep
|
||||
| ManifestEntityActions
|
||||
@@ -187,8 +180,6 @@ export type ManifestTypes =
|
||||
| ManifestPropertyEditorSchema
|
||||
| ManifestPropertyEditorUi
|
||||
| ManifestRepository
|
||||
| ManifestSearchProvider
|
||||
| ManifestSearchResultItem
|
||||
| ManifestSection
|
||||
| ManifestSectionRoute
|
||||
| ManifestSectionSidebarApp
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
import type { UmbSectionUserPermissionConditionConfig } from './types.js';
|
||||
import { UMB_CURRENT_USER_CONTEXT } from '@umbraco-cms/backoffice/current-user';
|
||||
import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api';
|
||||
import type {
|
||||
UmbConditionConfigBase,
|
||||
UmbConditionControllerArguments,
|
||||
UmbExtensionCondition,
|
||||
} from '@umbraco-cms/backoffice/extension-api';
|
||||
import type { UmbConditionControllerArguments, UmbExtensionCondition } from '@umbraco-cms/backoffice/extension-api';
|
||||
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
|
||||
|
||||
export class UmbSectionUserPermissionCondition extends UmbControllerBase implements UmbExtensionCondition {
|
||||
@@ -31,12 +28,9 @@ export class UmbSectionUserPermissionCondition extends UmbControllerBase impleme
|
||||
}
|
||||
}
|
||||
|
||||
export type UmbSectionUserPermissionConditionConfig = UmbConditionConfigBase<'Umb.Condition.SectionUserPermission'> & {
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @example
|
||||
* "Umb.Section.Content"
|
||||
*/
|
||||
match: string;
|
||||
export const manifest = {
|
||||
type: 'condition',
|
||||
name: 'Section User Permission Condition',
|
||||
alias: 'Umb.Condition.SectionUserPermission',
|
||||
api: UmbSectionUserPermissionCondition,
|
||||
};
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import type { UmbConditionConfigBase } from '@umbraco-cms/backoffice/extension-api';
|
||||
|
||||
export type UmbSectionUserPermissionConditionConfig = UmbConditionConfigBase<'Umb.Condition.SectionUserPermission'> & {
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @example
|
||||
* "Umb.Section.Content"
|
||||
*/
|
||||
match: string;
|
||||
};
|
||||
|
||||
declare global {
|
||||
interface UmbExtensionConditionMap {
|
||||
UmbSectionUserPermissionConditionConfig: UmbSectionUserPermissionConditionConfig;
|
||||
}
|
||||
}
|
||||
@@ -8,3 +8,4 @@ export * from './section-sidebar-menu-with-entity-actions/index.js';
|
||||
export * from './section-sidebar-menu/index.js';
|
||||
export * from './section-sidebar/index.js';
|
||||
export * from './section.context.js';
|
||||
export type * from './types.js';
|
||||
|
||||
@@ -1,19 +1,13 @@
|
||||
import { UmbSectionUserPermissionCondition } from './conditions/section-user-permission.condition.js';
|
||||
import { manifest as sectionUserPermissionConditionManifest } from './conditions/section-user-permission.condition.js';
|
||||
import { manifests as repositoryManifests } from './repository/manifests.js';
|
||||
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
|
||||
|
||||
export const manifests: Array<ManifestTypes> = [
|
||||
export const manifests: Array<UmbExtensionManifest> = [
|
||||
{
|
||||
type: 'modal',
|
||||
alias: 'Umb.Modal.SectionPicker',
|
||||
name: 'Section Picker Modal',
|
||||
element: () => import('./section-picker-modal/section-picker-modal.element.js'),
|
||||
},
|
||||
{
|
||||
type: 'condition',
|
||||
name: 'Section User Permission Condition',
|
||||
alias: 'Umb.Condition.SectionUserPermission',
|
||||
api: UmbSectionUserPermissionCondition,
|
||||
},
|
||||
sectionUserPermissionConditionManifest,
|
||||
...repositoryManifests,
|
||||
];
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
export type * from './conditions/types.js';
|
||||
@@ -8,10 +8,9 @@ import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
|
||||
import { UmbContextBase } from '@umbraco-cms/backoffice/class-api';
|
||||
import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
|
||||
import { UMB_SECTION_CONTEXT, UMB_SECTION_SIDEBAR_CONTEXT } from '@umbraco-cms/backoffice/section';
|
||||
import type { UmbSectionContext, UmbSectionSidebarContext } from '@umbraco-cms/backoffice/section';
|
||||
import type { ManifestTreeItem } from '@umbraco-cms/backoffice/extension-registry';
|
||||
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
|
||||
import { UMB_ACTION_EVENT_CONTEXT, type UmbActionEventContext } from '@umbraco-cms/backoffice/action';
|
||||
import { UMB_ACTION_EVENT_CONTEXT } from '@umbraco-cms/backoffice/action';
|
||||
import {
|
||||
UmbRequestReloadChildrenOfEntityEvent,
|
||||
UmbRequestReloadStructureForEntityEvent,
|
||||
@@ -69,9 +68,9 @@ export abstract class UmbTreeItemContextBase<
|
||||
readonly foldersOnly = this.#foldersOnly.asObservable();
|
||||
|
||||
treeContext?: UmbDefaultTreeContext<TreeItemType, TreeRootType>;
|
||||
#sectionContext?: UmbSectionContext;
|
||||
#sectionSidebarContext?: UmbSectionSidebarContext;
|
||||
#actionEventContext?: UmbActionEventContext;
|
||||
#sectionContext?: typeof UMB_SECTION_CONTEXT.TYPE;
|
||||
#sectionSidebarContext?: typeof UMB_SECTION_SIDEBAR_CONTEXT.TYPE;
|
||||
#actionEventContext?: typeof UMB_ACTION_EVENT_CONTEXT.TYPE;
|
||||
|
||||
// TODO: get this from the tree context
|
||||
#paging = {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { UMB_DATA_TYPE_ENTITY_TYPE } from '../entity.js';
|
||||
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
|
||||
|
||||
export const manifests: Array<ManifestTypes> = [
|
||||
export const manifests: Array<UmbExtensionManifest> = [
|
||||
{
|
||||
name: 'Data Type Search Provider',
|
||||
alias: 'Umb.SearchProvider.DataType',
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { UMB_DOCUMENT_TYPE_ENTITY_TYPE } from '../entity.js';
|
||||
import { UMB_DOCUMENT_TYPE_SEARCH_PROVIDER_ALIAS } from './constants.js';
|
||||
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
|
||||
|
||||
export const manifests: Array<ManifestTypes> = [
|
||||
export const manifests: Array<UmbExtensionManifest> = [
|
||||
{
|
||||
name: 'Document Type Search Provider',
|
||||
alias: UMB_DOCUMENT_TYPE_SEARCH_PROVIDER_ALIAS,
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { UMB_DOCUMENT_ENTITY_TYPE } from '../entity.js';
|
||||
import { UMB_DOCUMENT_SEARCH_PROVIDER_ALIAS } from './constants.js';
|
||||
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
|
||||
|
||||
export const manifests: Array<ManifestTypes> = [
|
||||
export const manifests: Array<UmbExtensionManifest> = [
|
||||
{
|
||||
name: 'Document Search Provider',
|
||||
alias: UMB_DOCUMENT_SEARCH_PROVIDER_ALIAS,
|
||||
|
||||
@@ -3,7 +3,6 @@ import type { UmbVariantModel, UmbVariantOptionModel, UmbVariantPublishModel } f
|
||||
import type { UmbReferenceByUnique } from '@umbraco-cms/backoffice/models';
|
||||
import { DocumentVariantStateModel as UmbDocumentVariantState } from '@umbraco-cms/backoffice/external/backend-api';
|
||||
export { UmbDocumentVariantState };
|
||||
export type { UmbDocumentUserPermissionConditionConfig } from './user-permissions/condition/document-user-permission.condition.js';
|
||||
|
||||
export interface UmbDocumentDetailModel {
|
||||
documentType: {
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
import { isDocumentUserPermission } from '../utils.js';
|
||||
import type { UmbDocumentUserPermissionConditionConfig } from './types.js';
|
||||
import { UMB_CURRENT_USER_CONTEXT } from '@umbraco-cms/backoffice/current-user';
|
||||
import { UMB_ENTITY_CONTEXT } from '@umbraco-cms/backoffice/entity';
|
||||
import { observeMultiple } from '@umbraco-cms/backoffice/observable-api';
|
||||
import { UmbConditionBase } from '@umbraco-cms/backoffice/extension-registry';
|
||||
import type {
|
||||
UmbConditionConfigBase,
|
||||
UmbConditionControllerArguments,
|
||||
UmbExtensionCondition,
|
||||
} from '@umbraco-cms/backoffice/extension-api';
|
||||
import type { UmbConditionControllerArguments, UmbExtensionCondition } from '@umbraco-cms/backoffice/extension-api';
|
||||
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
|
||||
import type { DocumentPermissionPresentationModel } from '@umbraco-cms/backoffice/external/backend-api';
|
||||
|
||||
@@ -109,21 +106,4 @@ export class UmbDocumentUserPermissionCondition
|
||||
}
|
||||
}
|
||||
|
||||
export type UmbDocumentUserPermissionConditionConfig =
|
||||
UmbConditionConfigBase<'Umb.Condition.UserPermission.Document'> & {
|
||||
/**
|
||||
* The user must have all of the permissions in this array for the condition to be met.
|
||||
* @example
|
||||
* ["Umb.Document.Save", "Umb.Document.Publish"]
|
||||
*/
|
||||
allOf?: Array<string>;
|
||||
|
||||
/**
|
||||
* The user must have at least one of the permissions in this array for the condition to be met.
|
||||
* @example
|
||||
* ["Umb.Document.Save", "Umb.Document.Publish"]
|
||||
*/
|
||||
oneOf?: Array<string>;
|
||||
};
|
||||
|
||||
export { UmbDocumentUserPermissionCondition as api };
|
||||
@@ -0,0 +1,24 @@
|
||||
import type { UmbConditionConfigBase } from '@umbraco-cms/backoffice/extension-api';
|
||||
|
||||
export type UmbDocumentUserPermissionConditionConfig =
|
||||
UmbConditionConfigBase<'Umb.Condition.UserPermission.Document'> & {
|
||||
/**
|
||||
* The user must have all of the permissions in this array for the condition to be met.
|
||||
* @example
|
||||
* ["Umb.Document.Save", "Umb.Document.Publish"]
|
||||
*/
|
||||
allOf?: Array<string>;
|
||||
|
||||
/**
|
||||
* The user must have at least one of the permissions in this array for the condition to be met.
|
||||
* @example
|
||||
* ["Umb.Document.Save", "Umb.Document.Publish"]
|
||||
*/
|
||||
oneOf?: Array<string>;
|
||||
};
|
||||
|
||||
declare global {
|
||||
interface UmbExtensionConditionMap {
|
||||
UmbDocumentUserPermissionConditionConfig: UmbDocumentUserPermissionConditionConfig;
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,7 @@ import {
|
||||
UMB_USER_PERMISSION_DOCUMENT_ROLLBACK,
|
||||
} from './constants.js';
|
||||
import { manifests as repositoryManifests } from './repository/manifests.js';
|
||||
import { manifests as conditionManifests } from './condition/manifests.js';
|
||||
import { manifests as conditionManifests } from './conditions/manifests.js';
|
||||
import type {
|
||||
ManifestGranularUserPermission,
|
||||
ManifestEntityUserPermission,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { UmbUserPermissionModel } from '@umbraco-cms/backoffice/user-permission';
|
||||
|
||||
export type * from './conditions/types.js';
|
||||
export interface UmbDocumentUserPermissionModel extends UmbUserPermissionModel {
|
||||
// TODO: this should be unique instead of an id, but we currently have now way to map a mixed server response.
|
||||
document: { id: string };
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { UmbDocumentUserPermissionCondition } from '../../user-permissions/condition/document-user-permission.condition.js';
|
||||
import { UmbDocumentUserPermissionCondition } from '../../user-permissions/conditions/document-user-permission.condition.js';
|
||||
import { UMB_DOCUMENT_WORKSPACE_CONTEXT } from '../document-workspace.context-token.js';
|
||||
import { UMB_USER_PERMISSION_DOCUMENT_UPDATE } from '../../user-permissions/index.js';
|
||||
import { UmbWorkspaceActionBase } from '@umbraco-cms/backoffice/workspace';
|
||||
|
||||
@@ -3,7 +3,7 @@ import {
|
||||
UMB_USER_PERMISSION_DOCUMENT_PUBLISH,
|
||||
UMB_USER_PERMISSION_DOCUMENT_UPDATE,
|
||||
} from '../../user-permissions/constants.js';
|
||||
import { UmbDocumentUserPermissionCondition } from '../../user-permissions/condition/document-user-permission.condition.js';
|
||||
import { UmbDocumentUserPermissionCondition } from '../../user-permissions/conditions/document-user-permission.condition.js';
|
||||
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
|
||||
import { UmbWorkspaceActionBase } from '@umbraco-cms/backoffice/workspace';
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ import {
|
||||
UMB_USER_PERMISSION_DOCUMENT_CREATE,
|
||||
UMB_USER_PERMISSION_DOCUMENT_UPDATE,
|
||||
} from '../../user-permissions/constants.js';
|
||||
import { UmbDocumentUserPermissionCondition } from '../../user-permissions/condition/document-user-permission.condition.js';
|
||||
import { UmbDocumentUserPermissionCondition } from '../../user-permissions/conditions/document-user-permission.condition.js';
|
||||
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
|
||||
import { UmbSubmitWorkspaceAction } from '@umbraco-cms/backoffice/workspace';
|
||||
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
import { UmbConditionBase } from './condition-base.controller.js';
|
||||
import type { UmbMultipleAppLanguageConditionConfig } from './types.js';
|
||||
import { UMB_APP_LANGUAGE_CONTEXT } from '@umbraco-cms/backoffice/language';
|
||||
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
|
||||
import type {
|
||||
ManifestCondition,
|
||||
UmbConditionConfigBase,
|
||||
UmbConditionControllerArguments,
|
||||
UmbExtensionCondition,
|
||||
} from '@umbraco-cms/backoffice/extension-api';
|
||||
|
||||
export type UmbMultipleAppLanguageConditionConfig = UmbConditionConfigBase;
|
||||
import { UmbConditionBase } from '@umbraco-cms/backoffice/extension-registry';
|
||||
|
||||
export class UmbMultipleAppLanguageCondition
|
||||
extends UmbConditionBase<UmbMultipleAppLanguageConditionConfig>
|
||||
@@ -0,0 +1,3 @@
|
||||
import type { UmbConditionConfigBase } from '@umbraco-cms/backoffice/extension-api';
|
||||
|
||||
export type UmbMultipleAppLanguageConditionConfig = UmbConditionConfigBase;
|
||||
@@ -6,6 +6,7 @@ import { manifests as appLanguageSelect } from './app-language-select/manifests.
|
||||
import { manifests as modalManifests } from './modals/manifests.js';
|
||||
import { manifests as collectionManifests } from './collection/manifests.js';
|
||||
import { manifests as globalContextManifests } from './global-contexts/manifests.js';
|
||||
import { manifest as conditionsManifest } from './conditions/multiple-app-languages.condition.js';
|
||||
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
|
||||
|
||||
export const manifests: Array<ManifestTypes> = [
|
||||
@@ -17,6 +18,7 @@ export const manifests: Array<ManifestTypes> = [
|
||||
...modalManifests,
|
||||
...collectionManifests,
|
||||
...globalContextManifests,
|
||||
conditionsManifest,
|
||||
{
|
||||
type: 'workspaceContext',
|
||||
name: 'Document Language Access Workspace Context',
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { UmbLanguageEntityType } from './entity.js';
|
||||
export type * from './conditions/types.js';
|
||||
|
||||
export interface UmbLanguageDetailModel {
|
||||
entityType: UmbLanguageEntityType;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { UMB_MEDIA_TYPE_ENTITY_TYPE } from '../entity.js';
|
||||
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
|
||||
|
||||
export const manifests: Array<ManifestTypes> = [
|
||||
export const manifests: Array<UmbExtensionManifest> = [
|
||||
{
|
||||
name: 'Media Type Search Provider',
|
||||
alias: 'Umb.SearchProvider.MediaType',
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { UMB_MEDIA_ENTITY_TYPE } from '../entity.js';
|
||||
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
|
||||
|
||||
export const manifests: Array<ManifestTypes> = [
|
||||
export const manifests: Array<UmbExtensionManifest> = [
|
||||
{
|
||||
name: 'Media Search Provider',
|
||||
alias: 'Umb.SearchProvider.Media',
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { UMB_MEMBER_TYPE_ENTITY_TYPE } from '../entity.js';
|
||||
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
|
||||
|
||||
export const manifests: Array<ManifestTypes> = [
|
||||
export const manifests: Array<UmbExtensionManifest> = [
|
||||
{
|
||||
name: 'Member Type Search Provider',
|
||||
alias: 'Umb.SearchProvider.MemberType',
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { UMB_MEMBER_ENTITY_TYPE } from '../entity.js';
|
||||
import { UMB_MEMBER_SEARCH_PROVIDER_ALIAS } from './constants.js';
|
||||
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
|
||||
|
||||
export const manifests: Array<ManifestTypes> = [
|
||||
export const manifests: Array<UmbExtensionManifest> = [
|
||||
{
|
||||
name: 'Member Search Provider',
|
||||
alias: UMB_MEMBER_SEARCH_PROVIDER_ALIAS,
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from './search-provider.extension.js';
|
||||
export * from './search-result-item.extension.js';
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { UmbSearchProvider, UmbSearchResultItemModel } from '@umbraco-cms/backoffice/search';
|
||||
import type { UmbSearchProvider, UmbSearchResultItemModel } from '../types.js';
|
||||
import type { ManifestApi } from '@umbraco-cms/backoffice/extension-api';
|
||||
|
||||
/**
|
||||
@@ -16,3 +16,9 @@ export interface MetaSearchProvider {
|
||||
*/
|
||||
label?: string;
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface UmbExtensionManifestMap {
|
||||
umbSearchProvider: ManifestSearchProvider;
|
||||
}
|
||||
}
|
||||
@@ -7,3 +7,9 @@ export interface ManifestSearchResultItem extends ManifestElement {
|
||||
type: 'searchResultItem';
|
||||
forEntityTypes: Array<string>;
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface UmbExtensionManifestMap {
|
||||
umbSearchResultItem: ManifestSearchResultItem;
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,5 @@
|
||||
export type { UmbSearchResultItemModel, UmbSearchRequestArgs, UmbSearchProvider } from './types.js';
|
||||
export type { UmbSearchDataSource } from './search-data-source.interface.js';
|
||||
export type { UmbSearchRepository } from './search-repository.interface.js';
|
||||
|
||||
export * from './extensions/index.js';
|
||||
|
||||
@@ -10,13 +10,13 @@ import {
|
||||
state,
|
||||
property,
|
||||
} from '@umbraco-cms/backoffice/external/lit';
|
||||
import type { ManifestSearchResultItem } from '@umbraco-cms/backoffice/extension-registry';
|
||||
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
|
||||
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
|
||||
import { UmbExtensionsManifestInitializer, createExtensionApi } from '@umbraco-cms/backoffice/extension-api';
|
||||
|
||||
import '../search-result/search-result-item.element.js';
|
||||
import type { UmbModalContext } from '@umbraco-cms/backoffice/modal';
|
||||
import type { ManifestSearchResultItem } from '../extensions/index.js';
|
||||
|
||||
type SearchProvider = {
|
||||
name: string;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { UMB_TEMPLATE_ENTITY_TYPE } from '../entity.js';
|
||||
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
|
||||
|
||||
export const manifests: Array<ManifestTypes> = [
|
||||
export const manifests: Array<UmbExtensionManifest> = [
|
||||
{
|
||||
name: 'Template Search Provider',
|
||||
alias: 'Umb.SearchProvider.Template',
|
||||
|
||||
Reference in New Issue
Block a user