From 1d82901e6f4a44f59b6204d0fd0ea0a5e9460ff3 Mon Sep 17 00:00:00 2001 From: Lone Iversen <108085781+loivsen@users.noreply.github.com> Date: Mon, 17 Jun 2024 10:52:36 +0200 Subject: [PATCH 1/2] user group and user start node links --- .../user-group-input.element.ts | 18 +++++++++++++++++- .../user-document-start-node.element.ts | 13 +++++++++++-- .../user-media-start-node.element.ts | 13 +++++++++++-- .../user-workspace-access.element.ts | 2 ++ 4 files changed, 41 insertions(+), 5 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user-group/components/input-user-group/user-group-input.element.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user-group/components/input-user-group/user-group-input.element.ts index 301e72db65..0124f429b9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user-group/components/input-user-group/user-group-input.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user-group/components/input-user-group/user-group-input.element.ts @@ -1,8 +1,11 @@ +import { UMB_USER_GROUP_ENTITY_TYPE } from '../../entity.js'; import type { UmbUserGroupItemModel } from '../../repository/index.js'; import { UmbUserGroupPickerContext } from './user-group-input.context.js'; import { css, html, customElement, property, state, ifDefined, nothing } from '@umbraco-cms/backoffice/external/lit'; import { UUIFormControlMixin } from '@umbraco-cms/backoffice/external/uui'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; +import { UMB_WORKSPACE_MODAL } from '@umbraco-cms/backoffice/modal'; +import { UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/router'; import { splitStringToArray } from '@umbraco-cms/backoffice/utils'; @customElement('umb-user-group-input') @@ -74,6 +77,9 @@ export class UmbUserGroupInputElement extends UUIFormControlMixin(UmbLitElement, #pickerContext = new UmbUserGroupPickerContext(this); + @state() + private _editUserGroupPath = ''; + constructor() { super(); @@ -91,6 +97,15 @@ export class UmbUserGroupInputElement extends UUIFormControlMixin(UmbLitElement, this.observe(this.#pickerContext.selection, (selection) => (this.value = selection.join(',')), '_observeSelection'); this.observe(this.#pickerContext.selectedItems, (selectedItems) => (this._items = selectedItems), '_observerItems'); + + new UmbModalRouteRegistrationController(this, UMB_WORKSPACE_MODAL) + .addAdditionalPath(UMB_USER_GROUP_ENTITY_TYPE) + .onSetup(async () => { + return { data: { entityType: UMB_USER_GROUP_ENTITY_TYPE, preset: {} } }; + }) + .observeRouteBuilder((routeBuilder) => { + this._editUserGroupPath = routeBuilder({}); + }); } protected getFormElement() { @@ -110,8 +125,9 @@ export class UmbUserGroupInputElement extends UUIFormControlMixin(UmbLitElement, private _renderItem(item: UmbUserGroupItemModel) { if (!item.unique) return; + const href = `${this._editUserGroupPath}edit/${item.unique}`; return html` - + ${item.icon ? html`` : nothing} = []; + @property({ type: Boolean }) + readonly = false; + @state() _displayValue: Array = []; @@ -22,7 +25,10 @@ export class UmbUserDocumentStartNodeElement extends UmbLitElement { render() { if (this.uniques.length < 1) { return html` - + `; @@ -34,7 +40,10 @@ export class UmbUserDocumentStartNodeElement extends UmbLitElement { (item) => { return html` - + `; diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/components/user-media-start-node/user-media-start-node.element.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/components/user-media-start-node/user-media-start-node.element.ts index 5a6912e24c..c8a9669de6 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user/components/user-media-start-node/user-media-start-node.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user/components/user-media-start-node/user-media-start-node.element.ts @@ -8,6 +8,9 @@ export class UmbUserMediaStartNodeElement extends UmbLitElement { @property({ type: Array, attribute: false }) uniques: Array = []; + @property({ type: Boolean }) + readonly = false; + @state() _displayValue: Array = []; @@ -22,7 +25,10 @@ export class UmbUserMediaStartNodeElement extends UmbLitElement { render() { if (this.uniques.length < 1) { return html` - + `; @@ -34,7 +40,10 @@ export class UmbUserMediaStartNodeElement extends UmbLitElement { (item) => { return html` - + `; diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/workspace/components/user-workspace-access/user-workspace-access.element.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/workspace/components/user-workspace-access/user-workspace-access.element.ts index d303ea8569..ecf6c1307d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user/workspace/components/user-workspace-access/user-workspace-access.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user/workspace/components/user-workspace-access/user-workspace-access.element.ts @@ -40,6 +40,7 @@ export class UmbUserWorkspaceAccessElement extends UmbLitElement { #renderDocumentStartNodes() { return html` Content reference.unique) || []}>`; } @@ -47,6 +48,7 @@ export class UmbUserWorkspaceAccessElement extends UmbLitElement { #renderMediaStartNodes() { return html` Media reference.unique) || []}>`; } From 5e8b9a934e4193de0579a8a3cc432fcc5aa0316d Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 17 Jun 2024 11:07:33 +0200 Subject: [PATCH 2/2] remove arg --- .../src/libs/context-api/consume/context-consumer.test.ts | 4 ++-- .../property-dataset/property-dataset.element.test.ts | 4 ++-- .../core/utils/pagination-manager/pagination.manager.test.ts | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-consumer.test.ts b/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-consumer.test.ts index e90a1d50ea..bd14391528 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-consumer.test.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-consumer.test.ts @@ -2,7 +2,7 @@ import { expect, oneEvent } from '@open-wc/testing'; import { UmbContextProvider } from '../provide/context-provider.js'; import { UmbContextToken } from '../token/context-token.js'; import { UmbContextConsumer } from './context-consumer.js'; -import type { UmbContextRequestEventImplementation} from './context-request.event.js'; +import type { UmbContextRequestEventImplementation } from './context-request.event.js'; import { UMB_CONTENT_REQUEST_EVENT_TYPE } from './context-request.event.js'; const testContextAlias = 'my-test-context'; @@ -39,7 +39,7 @@ describe('UmbContextConsumer', () => { describe('events', () => { it('dispatches context request event when constructed', async () => { - const listener = oneEvent(window, UMB_CONTENT_REQUEST_EVENT_TYPE, false); + const listener = oneEvent(window, UMB_CONTENT_REQUEST_EVENT_TYPE); consumer.hostConnected(); diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/property/property-dataset/property-dataset.element.test.ts b/src/Umbraco.Web.UI.Client/src/packages/core/property/property-dataset/property-dataset.element.test.ts index 870a1a2b0d..70401d924f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/property/property-dataset/property-dataset.element.test.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/property/property-dataset/property-dataset.element.test.ts @@ -133,7 +133,7 @@ describe('UmbBasicVariantElement', () => { }); it('fires change event', async () => { - const listener = oneEvent(datasetElement, UmbChangeEvent.TYPE, false); + const listener = oneEvent(datasetElement, UmbChangeEvent.TYPE); expect(propertyEditor.alias).to.eq('testAlias'); propertyEditor.setValue('testValue3'); @@ -153,7 +153,7 @@ describe('UmbBasicVariantElement', () => { adapterPropertyEditor.alias = 'testAdapterAlias'; datasetElement.appendChild(adapterPropertyEditor); - const listener = oneEvent(datasetElement, UmbChangeEvent.TYPE, false); + const listener = oneEvent(datasetElement, UmbChangeEvent.TYPE); // The alias of the original property editor must be 'testAlias' for the adapter to set the value of it. expect(propertyEditor.alias).to.eq('testAlias'); diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/utils/pagination-manager/pagination.manager.test.ts b/src/Umbraco.Web.UI.Client/src/packages/core/utils/pagination-manager/pagination.manager.test.ts index 3d2fe4f7a2..b18c0c2d30 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/utils/pagination-manager/pagination.manager.test.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/utils/pagination-manager/pagination.manager.test.ts @@ -141,7 +141,7 @@ describe('UmbPaginationManager', () => { }); it('dispatches a change event', async () => { - const listener = oneEvent(manager, UmbChangeEvent.TYPE, false); + const listener = oneEvent(manager, UmbChangeEvent.TYPE); manager.setCurrentPageNumber(2); const event = (await listener) as unknown as UmbChangeEvent; const target = event.target as UmbPaginationManager;