diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/content-type/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/content-type/index.ts index f2eddad99c..944a60f9d3 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/content-type/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/content-type/index.ts @@ -1,6 +1,6 @@ +export * from './components/index.js'; export * from './content-type-container-structure-helper.class.js'; export * from './content-type-property-structure-helper.class.js'; export * from './content-type-structure-manager.class.js'; +export * from './repository/index.js'; export * from './types.js'; -export * from './components/index.js'; -export * from './structure/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/content-type/structure/content-type-structure-data-source.interface.ts b/src/Umbraco.Web.UI.Client/src/packages/core/content-type/repository/content-type-structure-data-source.interface.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/core/content-type/structure/content-type-structure-data-source.interface.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/content-type/repository/content-type-structure-data-source.interface.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/content-type/structure/content-type-structure-repository-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/content-type/repository/content-type-structure-repository-base.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/core/content-type/structure/content-type-structure-repository-base.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/content-type/repository/content-type-structure-repository-base.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/content-type/structure/content-type-structure-repository.interface.ts b/src/Umbraco.Web.UI.Client/src/packages/core/content-type/repository/content-type-structure-repository.interface.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/core/content-type/structure/content-type-structure-repository.interface.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/content-type/repository/content-type-structure-repository.interface.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/content-type/structure/content-type-structure-server-data-source-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/content-type/repository/content-type-structure-server-data-source-base.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/core/content-type/structure/content-type-structure-server-data-source-base.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/content-type/repository/content-type-structure-server-data-source-base.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/content-type/structure/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/content-type/repository/index.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/core/content-type/structure/index.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/content-type/repository/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/router/route.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/router/route.context.ts index 70a2198629..d7f41278b7 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/router/route.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/router/route.context.ts @@ -149,7 +149,6 @@ export class UmbRouteContext extends UmbControllerBase { : this.#routerActiveLocalPath + '/' : ''; const localPath = routeBasePath + routeActiveLocalPath + modalRegistration.generateModalPath(); - const urlBuilder = createRoutePathBuilder(localPath); modalRegistration._internal_setRouteBuilder(urlBuilder); diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/router/router-slot.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/router/router-slot.element.ts index 50e54d418f..7ec328256a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/router/router-slot.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/router/router-slot.element.ts @@ -70,6 +70,10 @@ export class UmbRouterSlotElement extends UmbLitElement { return this.#router.constructAbsolutePath('') || ''; } + protected _constructLocalRouterPath() { + return this.#router.match?.fragments.consumed ?? ''; + } + connectedCallback() { super.connectedCallback(); // Currently we have to set this every time as RouteSlot looks for its parent every-time it is connected. Aka it has not way to explicitly set the parent. @@ -101,7 +105,7 @@ export class UmbRouterSlotElement extends UmbLitElement { this.#routeContext._internal_routerGotBasePath(this._routerPath); this.dispatchEvent(new UmbRouterSlotInitEvent()); - const newActiveLocalPath = this.#router.match?.route.path; + const newActiveLocalPath = this._constructLocalRouterPath(); if (this._activeLocalPath !== newActiveLocalPath) { this._activeLocalPath = newActiveLocalPath; this.#routeContext._internal_routerGotActiveLocalPath(this._activeLocalPath); @@ -112,11 +116,14 @@ export class UmbRouterSlotElement extends UmbLitElement { private _onNavigationChanged = (event?: any) => { if (event.detail.slot === this.#router) { - this._activeLocalPath = event.detail.match.route.path; - this.#routeContext._internal_routerGotActiveLocalPath(this._activeLocalPath); - this.dispatchEvent(new UmbRouterSlotChangeEvent()); + const newActiveLocalPath = this._constructLocalRouterPath(); + if (this._activeLocalPath !== newActiveLocalPath) { + this._activeLocalPath = newActiveLocalPath; + this.#routeContext._internal_routerGotActiveLocalPath(newActiveLocalPath); + this.dispatchEvent(new UmbRouterSlotChangeEvent()); + } } else if (event.detail.slot === this.#modalRouter) { - const newActiveModalLocalPath = event.detail.match.route.path; + const newActiveModalLocalPath = this.#modalRouter.match?.fragments.consumed ?? ''; this.#routeContext._internal_modalRouterChanged(newActiveModalLocalPath); } };