diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/trees/actions/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/trees/actions/index.ts
index 3fdccd39ae..413ab5fb33 100644
--- a/src/Umbraco.Web.UI.Client/src/backoffice/trees/actions/index.ts
+++ b/src/Umbraco.Web.UI.Client/src/backoffice/trees/actions/index.ts
@@ -3,7 +3,6 @@ export * from './action-page.service';
export * from './actions.service';
export * from './tree-action.element';
-export * from './tree-action-create-page.element';
-export * from './tree-action-create-page-2.element';
-export * from './tree-action-create.element';
-export * from './tree-action-delete.element';
+export * from '../documents/actions/action-document-paged-page.element';
+export * from '../documents/actions/action-document-paged-page-2.element';
+export * from '../documents/actions/action-document-paged.element';
diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/trees/actions/tree-action-delete.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/trees/actions/tree-action-delete.element.ts
deleted file mode 100644
index bc2b527ef5..0000000000
--- a/src/Umbraco.Web.UI.Client/src/backoffice/trees/actions/tree-action-delete.element.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { UUITextStyles } from '@umbraco-ui/uui-css';
-import { css, html } from 'lit';
-import { customElement } from 'lit/decorators.js';
-import { UmbModalService } from '../../../core/services/modal';
-import { UmbNodeStore } from '../../../core/stores/node.store';
-import UmbActionElement from './action.element';
-
-@customElement('umb-tree-action-delete')
-export class UmbTreeActionDeleteElement extends UmbActionElement {
- static styles = [UUITextStyles, css``];
-
- private _modalService?: UmbModalService;
- private _nodeStore?: UmbNodeStore;
-
- constructor() {
- super();
-
- this.consumeContext('umbModalService', (modalService: UmbModalService) => {
- this._modalService = modalService;
- });
-
- this.consumeContext('umbNodeStore', (nodeStore: UmbNodeStore) => {
- this._nodeStore = nodeStore;
- });
- }
-
- private _handleLabelClick() {
- const modalHandler = this._modalService?.confirm({
- headline: 'Delete page 1',
- content: 'Are you sure you want to delete this page?',
- color: 'danger',
- });
-
- modalHandler?.onClose.then(({ confirmed }: any) => {
- if (confirmed && this._actionService) {
- this._nodeStore?.trash(this._entity.key);
- this._actionService.close();
- }
- });
- }
-
- render() {
- return html`
-
- `;
- }
-}
-
-export default UmbTreeActionDeleteElement;
-
-declare global {
- interface HTMLElementTagNameMap {
- 'umb-tree-action-delete': UmbTreeActionDeleteElement;
- }
-}
diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/trees/documents/actions/action-document-create.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/trees/documents/actions/action-document-create.element.ts
new file mode 100644
index 0000000000..9a3c72e954
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/backoffice/trees/documents/actions/action-document-create.element.ts
@@ -0,0 +1,34 @@
+import { UUITextStyles } from '@umbraco-ui/uui-css';
+import { css, html } from 'lit';
+import { customElement } from 'lit/decorators.js';
+import UmbActionElement from '../../actions/action.element';
+
+@customElement('umb-tree-action-document-create')
+export default class UmbTreeActionDocumentCreateElement extends UmbActionElement {
+ static styles = [UUITextStyles, css``];
+
+ // TODO: how do we handle the href?
+ private _constructUrl() {
+ return `/section/content/${this._activeTreeItem?.type}/${this._activeTreeItem?.key}/view/content?create=true`;
+ }
+
+ // TODO: change to href. This is a temporary solution to get the link to work. For some reason query params gets removed when using href.
+ private _handleLabelClick() {
+ if (!this._actionService) return;
+ const href = this._constructUrl();
+ history.pushState(null, '', href);
+ this._actionService.close();
+ }
+
+ render() {
+ return html`
+
+ `;
+ }
+}
+
+declare global {
+ interface HTMLElementTagNameMap {
+ 'umb-tree-action-document-create': UmbTreeActionDocumentCreateElement;
+ }
+}
diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/trees/documents/actions/action-document-delete.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/trees/documents/actions/action-document-delete.element.ts
new file mode 100644
index 0000000000..be0e6e7b31
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/backoffice/trees/documents/actions/action-document-delete.element.ts
@@ -0,0 +1,55 @@
+import { UUITextStyles } from '@umbraco-ui/uui-css';
+import { css, html } from 'lit';
+import { customElement } from 'lit/decorators.js';
+import { UmbContextConsumerMixin } from '../../../../core/context';
+import { UmbModalService } from '../../../../core/services/modal';
+import { UmbNodeStore } from '../../../../core/stores/node.store';
+import UmbActionElement from '../../actions/action.element';
+
+@customElement('umb-tree-action-document-delete')
+export default class UmbTreeActionDocumentDeleteElement extends UmbContextConsumerMixin(UmbActionElement) {
+ static styles = [UUITextStyles, css``];
+
+ private _modalService?: UmbModalService;
+ private _nodeStore?: UmbNodeStore;
+
+ connectedCallback(): void {
+ super.connectedCallback();
+
+ this.consumeContext('umbModalService', (modalService: UmbModalService) => {
+ this._modalService = modalService;
+ });
+
+ this.consumeContext('umbNodeStore', (nodeStore: UmbNodeStore) => {
+ this._nodeStore = nodeStore;
+ });
+ }
+
+ private _handleLabelClick() {
+ const modalHandler = this._modalService?.confirm({
+ headline: `Delete ${this._activeTreeItem?.name ?? 'item'}`,
+ content: 'Are you sure you want to delete this item?',
+ color: 'danger',
+ confirmLabel: 'Delete',
+ });
+
+ modalHandler?.onClose.then(({ confirmed }: any) => {
+ if (confirmed && this._actionService && this._nodeStore && this._activeTreeItem) {
+ this._nodeStore?.trash(this._activeTreeItem.key);
+ this._actionService.close();
+ }
+ });
+ }
+
+ render() {
+ return html`
+
+ `;
+ }
+}
+
+declare global {
+ interface HTMLElementTagNameMap {
+ 'umb-tree-action-document-delete': UmbTreeActionDocumentDeleteElement;
+ }
+}
diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/trees/actions/tree-action-create-page-2.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/trees/documents/actions/action-document-paged-page-2.element.ts
similarity index 93%
rename from src/Umbraco.Web.UI.Client/src/backoffice/trees/actions/tree-action-create-page-2.element.ts
rename to src/Umbraco.Web.UI.Client/src/backoffice/trees/documents/actions/action-document-paged-page-2.element.ts
index daf4d79eb6..8f8dd15fb9 100644
--- a/src/Umbraco.Web.UI.Client/src/backoffice/trees/actions/tree-action-create-page-2.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/backoffice/trees/documents/actions/action-document-paged-page-2.element.ts
@@ -1,7 +1,7 @@
import { UUITextStyles } from '@umbraco-ui/uui-css';
import { css, html } from 'lit';
import { customElement } from 'lit/decorators.js';
-import UmbActionElement from './action.element';
+import UmbActionElement from '../../actions/action.element';
@customElement('umb-tree-action-create-page-2')
export class UmbTreeActionCreatePage2Element extends UmbActionElement {
diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/trees/actions/tree-action-create-page.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/trees/documents/actions/action-document-paged-page.element.ts
similarity index 93%
rename from src/Umbraco.Web.UI.Client/src/backoffice/trees/actions/tree-action-create-page.element.ts
rename to src/Umbraco.Web.UI.Client/src/backoffice/trees/documents/actions/action-document-paged-page.element.ts
index 5aa29fe437..f7560e902f 100644
--- a/src/Umbraco.Web.UI.Client/src/backoffice/trees/actions/tree-action-create-page.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/backoffice/trees/documents/actions/action-document-paged-page.element.ts
@@ -1,7 +1,7 @@
import { UUITextStyles } from '@umbraco-ui/uui-css';
import { css, html } from 'lit';
import { customElement } from 'lit/decorators.js';
-import UmbActionElement from './action.element';
+import UmbActionElement from '../../actions/action.element';
@customElement('umb-tree-action-create-page')
export class UmbTreeActionCreatePageElement extends UmbActionElement {
diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/trees/actions/tree-action-create.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/trees/documents/actions/action-document-paged.element.ts
similarity index 92%
rename from src/Umbraco.Web.UI.Client/src/backoffice/trees/actions/tree-action-create.element.ts
rename to src/Umbraco.Web.UI.Client/src/backoffice/trees/documents/actions/action-document-paged.element.ts
index a56581667c..019d67beb7 100644
--- a/src/Umbraco.Web.UI.Client/src/backoffice/trees/actions/tree-action-create.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/backoffice/trees/documents/actions/action-document-paged.element.ts
@@ -1,7 +1,7 @@
import { UUITextStyles } from '@umbraco-ui/uui-css';
import { css, html } from 'lit';
import { customElement } from 'lit/decorators.js';
-import UmbActionElement from './action.element';
+import UmbActionElement from '../../actions/action.element';
@customElement('umb-tree-action-create')
export class UmbTreeActionCreateElement extends UmbActionElement {
diff --git a/src/Umbraco.Web.UI.Client/src/temp-internal-manifests.ts b/src/Umbraco.Web.UI.Client/src/temp-internal-manifests.ts
index 0590517110..ed11727d90 100644
--- a/src/Umbraco.Web.UI.Client/src/temp-internal-manifests.ts
+++ b/src/Umbraco.Web.UI.Client/src/temp-internal-manifests.ts
@@ -386,12 +386,11 @@ export const internalManifests: Array Promise import('./backoffice/trees/actions/tree-action-create.element'),
+ name: 'Document Tree Item Action Create',
+ loader: () => import('./backoffice/trees/documents/actions/action-document-create.element'),
meta: {
trees: ['Umb.Tree.Content'],
label: 'Create',
@@ -402,8 +401,8 @@ export const internalManifests: Array Promise import('./backoffice/trees/actions/tree-action-delete.element'),
+ name: 'Document Tree Item Action Delete',
+ loader: () => import('./backoffice/trees/documents/actions/action-document-delete.element'),
meta: {
trees: ['Umb.Tree.Content'],
label: 'Delete',
@@ -411,7 +410,18 @@ export const internalManifests: Array Promise import('./backoffice/trees/documents/actions/action-document-paged.element'),
+ meta: {
+ trees: ['Umb.Tree.Content'],
+ label: 'Paged',
+ icon: 'favorite',
+ weight: 100,
+ },
+ },
{
type: 'treeItemAction',
alias: 'Umb.TreeItemAction.DataType.Create',