encode and decode udi
This commit is contained in:
@@ -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 = [
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user