encode and decode udi

This commit is contained in:
Niels Lyngsø
2024-01-18 10:03:35 +01:00
parent 1d242bced3
commit 6ab8eb4242
3 changed files with 15 additions and 9 deletions

View File

@@ -5,6 +5,7 @@ import { type UmbBlockLayoutBaseModel } from '@umbraco-cms/backoffice/block';
import '../ref-list-block/index.js';
import { UmbBlockContext } from '@umbraco-cms/backoffice/block';
import { UMB_CONFIRM_MODAL, UMB_MODAL_MANAGER_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal';
import { encodeFilePath } from '@umbraco-cms/backoffice/utils';
/**
* @element umb-property-editor-ui-block-list-block
@@ -45,9 +46,9 @@ export class UmbPropertyEditorUIBlockListBlockElement extends UmbLitElement impl
this.observe(this.#context.label, (label) => {
this._label = label;
});
this.observe(this.#context.layout, (layout) => {
/*this.observe(this.#context.layout, (layout) => {
console.log('layout', layout);
});
});*/
}
#requestDelete() {
@@ -78,7 +79,10 @@ export class UmbPropertyEditorUIBlockListBlockElement extends UmbLitElement impl
${this.#renderRefBlock()}
<uui-action-bar>
${this._workspacePath
? html`<uui-button label="edit" compact href=${this._workspacePath + 'edit/' + this._contentUdi}>
? html`<uui-button
label="edit"
compact
href=${this._workspacePath + 'edit/' + encodeFilePath(this._contentUdi!)}>
<uui-icon name="icon-edit"></uui-icon>
</uui-button>`
: ''}
@@ -90,7 +94,7 @@ export class UmbPropertyEditorUIBlockListBlockElement extends UmbLitElement impl
}
render() {
return this.layout ? this.#renderBlock() : '';
return this.layout && this._contentUdi ? this.#renderBlock() : '';
}
static styles = [

View File

@@ -1,8 +1,9 @@
import { UmbBlockManagerContext } from '@umbraco-cms/backoffice/block';
import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
import { UmbId } from '@umbraco-cms/backoffice/id';
import { buildUdi } from '@umbraco-cms/backoffice/utils';
/**
* A implementation of the Block Manager specifically for the Block List.
*/
export class UmbBlockListManagerContext extends UmbBlockManagerContext {
createBlock(contentElementTypeKey: string) {
return super._createBlockData({}, contentElementTypeKey);

View File

@@ -8,6 +8,7 @@ import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { UmbWorkspaceIsNewRedirectController } from '@umbraco-cms/backoffice/workspace';
import { UmbApi, UmbExtensionsApiInitializer, createExtensionApi } from '@umbraco-cms/backoffice/extension-api';
import { ManifestWorkspace, umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
import { decodeFilePath } from '@umbraco-cms/backoffice/utils';
@customElement('umb-block-workspace')
export class UmbBlockWorkspaceElement extends UmbLitElement {
@@ -51,11 +52,11 @@ export class UmbBlockWorkspaceElement extends UmbLitElement {
},
},
{
path: 'edit/:id',
path: 'edit/:udi',
component: this.#editorElement,
setup: (_component, info) => {
const id = info.match.params.id;
this.#workspaceContext!.load(id);
const udi = decodeFilePath(info.match.params.udi);
this.#workspaceContext!.load(udi);
},
},
];