Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/Umbraco.Web.UI.Client/src/packages/media/manifests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@ import { manifests as mediaManifests } from './media/manifests.js';
import { manifests as mediaSectionManifests } from './media-section/manifests.js';
import { manifests as mediaTypesManifests } from './media-types/manifests.js';
import { manifests as imagingManifests } from './imaging/manifests.js';
import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry';

export const manifests: Array<UmbExtensionManifest> = [
export const manifests: Array<UmbExtensionManifest | UmbExtensionManifestKind> = [
...mediaSectionManifests,
...mediaManifests,
...mediaTypesManifests,
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { UMB_CREATE_MEDIA_TYPE_WORKSPACE_PATH_PATTERN } from '../../../paths.js';
import type { UmbMediaTypeFolderEntityType, UmbMediaTypeRootEntityType } from '../../../entity.js';
import { UmbEntityCreateOptionActionBase } from '@umbraco-cms/backoffice/entity-create-option-action';
import type { MetaEntityCreateOptionAction } from '@umbraco-cms/backoffice/entity-create-option-action';

export class UmbDefaultMediaTypeCreateOptionAction extends UmbEntityCreateOptionActionBase<MetaEntityCreateOptionAction> {
override async getHref() {
const parentEntityType = this.args.entityType as UmbMediaTypeRootEntityType | UmbMediaTypeFolderEntityType;
if (!parentEntityType) throw new Error('Entity type is required to create a document type');

const parentUnique = this.args.unique ?? null;

return UMB_CREATE_MEDIA_TYPE_WORKSPACE_PATH_PATTERN.generateAbsolute({
parentEntityType,
parentUnique,
});
}
}

export { UmbDefaultMediaTypeCreateOptionAction as api };
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { UMB_MEDIA_TYPE_FOLDER_ENTITY_TYPE, UMB_MEDIA_TYPE_ROOT_ENTITY_TYPE } from '../../../entity.js';
import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry';

export const manifests: Array<UmbExtensionManifest | UmbExtensionManifestKind> = [
{
type: 'entityCreateOptionAction',
alias: 'Umb.EntityCreateOptionAction.MediaType.Default',
name: 'Default Media Type Entity Create Option Action',
weight: 1200,
api: () => import('./default-media-type-create-option-action.js'),
forEntityTypes: [UMB_MEDIA_TYPE_ROOT_ENTITY_TYPE, UMB_MEDIA_TYPE_FOLDER_ENTITY_TYPE],
meta: {
icon: 'icon-add',
label: '#actions_create',
},
},
];
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { UMB_MEDIA_TYPE_FOLDER_ENTITY_TYPE, UMB_MEDIA_TYPE_ROOT_ENTITY_TYPE } from '../../../entity.js';
import { UMB_MEDIA_TYPE_FOLDER_REPOSITORY_ALIAS } from '../../../constants.js';
import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry';

export const manifests: Array<UmbExtensionManifest | UmbExtensionManifestKind> = [
{
type: 'entityCreateOptionAction',
kind: 'folder',
alias: 'Umb.EntityCreateOptionAction.MediaType.Folder',
name: 'Media Type Folder Entity Create Option Action',
forEntityTypes: [UMB_MEDIA_TYPE_ROOT_ENTITY_TYPE, UMB_MEDIA_TYPE_FOLDER_ENTITY_TYPE],
meta: {
icon: 'icon-folder',
label: '#create_folder',
description: '#create_folderDescription',
folderRepositoryAlias: UMB_MEDIA_TYPE_FOLDER_REPOSITORY_ALIAS,
},
},
];
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,26 @@ import {
UMB_MEDIA_TYPE_ROOT_ENTITY_TYPE,
} from '../../entity.js';

export const manifests: Array<UmbExtensionManifest> = [
import { manifests as defaultManifests } from './default/manifests.js';
import { manifests as folderManifests } from './folder/manifests.js';
import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry';

export const manifests: Array<UmbExtensionManifest | UmbExtensionManifestKind> = [
{
type: 'entityAction',
kind: 'default',
kind: 'create',
alias: 'Umb.EntityAction.MediaType.Create',
name: 'Create Media Type Entity Action',
weight: 1200,
api: () => import('./create.action.js'),
forEntityTypes: [UMB_MEDIA_TYPE_ENTITY_TYPE, UMB_MEDIA_TYPE_ROOT_ENTITY_TYPE, UMB_MEDIA_TYPE_FOLDER_ENTITY_TYPE],
meta: {
icon: 'icon-add',
label: '#actions_create',
additionalOptions: true,
},
},
// TODO: Deprecated: Will be removed in 17.0.0
{
type: 'modal',
alias: 'Umb.Modal.MediaTypeCreateOptions',
name: 'Media Type Create Options Modal',
element: () => import('./modal/media-type-create-options-modal.element.js'),
},
...defaultManifests,
...folderManifests,
];
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,29 @@ import type { UmbMediaTypeCreateOptionsModalData } from './constants.js';
import { html, customElement } from '@umbraco-cms/backoffice/external/lit';
import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal';
import { UmbCreateFolderEntityAction } from '@umbraco-cms/backoffice/tree';
import { UmbDeprecation } from '@umbraco-cms/backoffice/utils';

/**
* @deprecated This element is deprecated and will be removed in v.17.0.0.
* Please use the UMB_ENTITY_CREATE_OPTION_ACTION_LIST_MODAL instead.
* @exports
* @class UmbMediaTypeCreateOptionsModalElement
* @augments {UmbModalBaseElement<UmbDataTypeCreateOptionsModalData>}
*/
@customElement('umb-media-type-create-options-modal')
export class UmbDataTypeCreateOptionsModalElement extends UmbModalBaseElement<UmbMediaTypeCreateOptionsModalData> {
export class UmbMediaTypeCreateOptionsModalElement extends UmbModalBaseElement<UmbMediaTypeCreateOptionsModalData> {
#createFolderAction?: UmbCreateFolderEntityAction;

override connectedCallback(): void {
super.connectedCallback();
if (!this.data?.parent) throw new Error('A parent is required to create a folder');

new UmbDeprecation({
deprecated: 'umb-media-type-create-options-modal',
removeInVersion: '17.0.0',
solution: 'Use UMB_ENTITY_CREATE_OPTION_ACTION_LIST_MODAL instead',
}).warn();

// TODO: render the info from this instance in the list of actions
this.#createFolderAction = new UmbCreateFolderEntityAction(this, {
unique: this.data.parent.unique,
Expand Down Expand Up @@ -68,10 +82,10 @@ export class UmbDataTypeCreateOptionsModalElement extends UmbModalBaseElement<Um
}
}

export default UmbDataTypeCreateOptionsModalElement;
export default UmbMediaTypeCreateOptionsModalElement;

declare global {
interface HTMLElementTagNameMap {
'umb-media-type-create-options-modal': UmbDataTypeCreateOptionsModalElement;
'umb-media-type-create-options-modal': UmbMediaTypeCreateOptionsModalElement;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@ import { manifests as moveManifests } from './move-to/manifests.js';
import { manifests as duplicateManifests } from './duplicate/manifests.js';
import { manifests as exportManifests } from './export/manifests.js';
import { manifests as importManifests } from './import/manifests.js';
import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry';

export const manifests: Array<UmbExtensionManifest> = [
export const manifests: Array<UmbExtensionManifest | UmbExtensionManifestKind> = [
{
type: 'entityAction',
kind: 'delete',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@ import { manifests as treeManifests } from './tree/manifests.js';
import { manifests as workspaceManifests } from './workspace/manifests.js';
import { manifests as propertyEditorUiManifests } from './property-editors/manifests.js';
import { manifests as searchManifests } from './search/manifests.js';
import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry';

export const manifests: Array<UmbExtensionManifest> = [
export const manifests: Array<UmbExtensionManifest | UmbExtensionManifestKind> = [
...entityActionsManifests,
...menuManifests,
...repositoryManifests,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { UMB_MEDIA_TYPE_TREE_ITEM_CHILDREN_COLLECTION_ALIAS } from '../constants.js';
import { UMB_COLLECTION_ALIAS_CONDITION } from '@umbraco-cms/backoffice/collection';

export const manifests: Array<UmbExtensionManifest> = [
{
type: 'collectionAction',
kind: 'create',
name: 'Media Type Tree Item Children Collection Create Action',
alias: 'Umb.CollectionAction.MediaTypeTreeItemChildren.Create',
conditions: [
{
alias: UMB_COLLECTION_ALIAS_CONDITION,
match: UMB_MEDIA_TYPE_TREE_ITEM_CHILDREN_COLLECTION_ALIAS,
},
],
},
];
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { manifests as viewManifests } from './views/manifests.js';
import { manifests as actionManifests } from './action/manifests.js';
import { manifests as repositoryManifests } from './repository/manifests.js';
import { manifests as viewManifests } from './views/manifests.js';
import { UMB_MEDIA_TYPE_TREE_ITEM_CHILDREN_COLLECTION_ALIAS } from './constants.js';
import { UMB_MEDIA_TYPE_TREE_ITEM_CHILDREN_COLLECTION_REPOSITORY_ALIAS } from './repository/index.js';

Expand All @@ -13,6 +14,7 @@ export const manifests: Array<UmbExtensionManifest> = [
repositoryAlias: UMB_MEDIA_TYPE_TREE_ITEM_CHILDREN_COLLECTION_REPOSITORY_ALIAS,
},
},
...viewManifests,
...actionManifests,
...repositoryManifests,
...viewManifests,
];
Loading