move model mapping
This commit is contained in:
@@ -28,7 +28,7 @@ export class UmbMockDocumentPublishingManager {
|
||||
const document: UmbMockDocumentModel = this.#documentDb.detail.read(id);
|
||||
|
||||
document?.variants?.forEach((variant) => {
|
||||
const hasCulture = variant.culture && data.cultures?.includes(variant.culture);
|
||||
const hasCulture = variant.culture && data.culture === variant.culture;
|
||||
|
||||
if (hasCulture) {
|
||||
variant.state = ContentStateModel.DRAFT;
|
||||
|
||||
@@ -55,7 +55,7 @@ export class UmbMockEntityFolderManager<MockItemType extends Omit<FolderTreeItem
|
||||
return {
|
||||
name: item.name,
|
||||
id: item.id,
|
||||
parentId: item.parentId,
|
||||
parentId: item.parent ? item.parent.id : null,
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { UmbEntityMockDbBase } from './entity-base.js';
|
||||
import { UmbMockEntityTreeManager } from './entity-tree.manager.js';
|
||||
import type { EntityTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api';
|
||||
import type { ContentTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api';
|
||||
|
||||
export class UmbEntityRecycleBin<
|
||||
MockType extends Omit<EntityTreeItemResponseModel, 'type'>,
|
||||
MockType extends Omit<ContentTreeItemResponseModel, 'type'>,
|
||||
> extends UmbEntityMockDbBase<MockType> {
|
||||
tree;
|
||||
|
||||
|
||||
@@ -12,14 +12,14 @@ export class UmbMockEntityTreeManager<T extends Omit<EntityTreeItemResponseModel
|
||||
}
|
||||
|
||||
getRoot() {
|
||||
const items = this.#db.getData().filter((item) => item.parentId === null);
|
||||
const items = this.#db.getData().filter((item) => item.parent === null);
|
||||
const treeItems = items.map((item) => this.#treeItemMapper(item));
|
||||
const total = items.length;
|
||||
return { items: treeItems, total };
|
||||
}
|
||||
|
||||
getChildrenOf(parentId: string) {
|
||||
const items = this.#db.getData().filter((item) => item.parentId === parentId);
|
||||
const items = this.#db.getData().filter((item) => item.parent?.id === parentId);
|
||||
const treeItems = items.map((item) => this.#treeItemMapper(item));
|
||||
const total = items.length;
|
||||
return { items: treeItems, total };
|
||||
|
||||
@@ -14,7 +14,7 @@ export class UmbBlockTypeCardElement extends UmbLitElement {
|
||||
#itemManager = new UmbRepositoryItemsManager<UmbDocumentTypeItemModel>(
|
||||
this,
|
||||
DOCUMENT_TYPE_ITEM_REPOSITORY_ALIAS,
|
||||
(x) => x.id,
|
||||
(x) => x.unique,
|
||||
);
|
||||
|
||||
@property({ type: String, attribute: false })
|
||||
|
||||
@@ -12,7 +12,7 @@ export class UmbBlockTypeWorkspaceEditorElement extends UmbLitElement {
|
||||
#itemManager = new UmbRepositoryItemsManager<UmbDocumentTypeItemModel>(
|
||||
this,
|
||||
DOCUMENT_TYPE_ITEM_REPOSITORY_ALIAS,
|
||||
(x) => x.id,
|
||||
(x) => x.unique,
|
||||
);
|
||||
|
||||
#workspaceContext?: typeof UMB_BLOCK_TYPE_WORKSPACE_CONTEXT.TYPE;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { UmbDataTypeItemServerDataSource } from './data-type-item.server.data.js';
|
||||
import { UMB_DATA_TYPE_ITEM_STORE_CONTEXT } from './data-type-item.store.js';
|
||||
import type { UmbDataTypeItemModel } from './types.js';
|
||||
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
|
||||
import { UmbItemRepositoryBase } from '@umbraco-cms/backoffice/repository';
|
||||
import type { DataTypeItemResponseModel } from '@umbraco-cms/backoffice/backend-api';
|
||||
|
||||
export class UmbDataTypeItemRepository extends UmbItemRepositoryBase<DataTypeItemResponseModel> {
|
||||
export class UmbDataTypeItemRepository extends UmbItemRepositoryBase<UmbDataTypeItemModel> {
|
||||
constructor(host: UmbControllerHost) {
|
||||
super(host, UmbDataTypeItemServerDataSource, UMB_DATA_TYPE_ITEM_STORE_CONTEXT);
|
||||
}
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
export { UmbDataTypeItemRepository } from './data-type-item.repository.js';
|
||||
export { UMB_DATA_TYPE_ITEM_REPOSITORY_ALIAS as DATA_TYPE_ITEM_REPOSITORY_ALIAS } from './manifests.js';
|
||||
export type { UmbDataTypeItemModel } from './types.js';
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
export interface UmbDataTypeItemModel {
|
||||
unique: string;
|
||||
name: string;
|
||||
propertyEditorUiAlias: string;
|
||||
}
|
||||
@@ -10,8 +10,6 @@ import { css, html, nothing, customElement, state } from '@umbraco-cms/backoffic
|
||||
import type { UmbPropertySettingsModalValue, UmbPropertySettingsModalData } from '@umbraco-cms/backoffice/modal';
|
||||
import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal';
|
||||
import { generateAlias } from '@umbraco-cms/backoffice/utils';
|
||||
import { DocumentTypeResponseModel } from '@umbraco-cms/backoffice/backend-api';
|
||||
import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api';
|
||||
// TODO: Could base take a token to get its types?.
|
||||
@customElement('umb-property-settings-modal')
|
||||
export class UmbPropertySettingsModalElement extends UmbModalBaseElement<
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
import type { DocumentTypeItemResponseModel } from '@umbraco-cms/backoffice/backend-api';
|
||||
|
||||
export type UmbDocumentTypeItemModel = DocumentTypeItemResponseModel;
|
||||
export type UmbDocumentTypeItemModel = {
|
||||
unique: string;
|
||||
name: string;
|
||||
isElement: boolean;
|
||||
icon?: string | null;
|
||||
};
|
||||
|
||||
@@ -21,7 +21,6 @@ export class UmbDocumentTypeTreeRepository
|
||||
name: 'Document Types',
|
||||
icon: 'icon-folder',
|
||||
hasChildren: true,
|
||||
isContainer: false,
|
||||
isFolder: true,
|
||||
};
|
||||
|
||||
|
||||
@@ -46,10 +46,9 @@ const getChildrenOf = (parentUnique: string | null) => {
|
||||
const mapper = (item: DocumentTypeTreeItemResponseModel): UmbDocumentTypeTreeItemModel => {
|
||||
return {
|
||||
unique: item.id,
|
||||
parentUnique: item.parentId || null,
|
||||
parentUnique: item.parent ? item.parent.id : null,
|
||||
name: item.name,
|
||||
entityType: item.isFolder ? UMB_DOCUMENT_TYPE_FOLDER_ENTITY_TYPE : UMB_DOCUMENT_TYPE_ENTITY_TYPE,
|
||||
isContainer: item.isContainer,
|
||||
hasChildren: item.hasChildren,
|
||||
isFolder: item.isFolder,
|
||||
icon: item.icon,
|
||||
|
||||
@@ -39,7 +39,6 @@ export class UmbDocumentTypeTreeStore extends UmbUniqueTreeStore {
|
||||
entityType: item.entityType,
|
||||
isElement: item.isElement,
|
||||
isFolder: false,
|
||||
isContainer: false,
|
||||
hasChildren: false,
|
||||
};
|
||||
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
import { UmbDocumentTypeDetailRepository } from '../repository/detail/document-type-detail.repository.js';
|
||||
import type { UmbDocumentTypeDetailModel } from '../types.js';
|
||||
import type { UmbContentTypeCompositionModel, UmbContentTypeSortModel } from '@umbraco-cms/backoffice/content-type';
|
||||
import { UmbContentTypePropertyStructureManager } from '@umbraco-cms/backoffice/content-type';
|
||||
import type {
|
||||
UmbSaveableWorkspaceContextInterface} from '@umbraco-cms/backoffice/workspace';
|
||||
import {
|
||||
UmbEditableWorkspaceContextBase
|
||||
} from '@umbraco-cms/backoffice/workspace';
|
||||
import type { ContentTypeCompositionModel, ContentTypeSortModel } from '@umbraco-cms/backoffice/backend-api';
|
||||
import type { UmbSaveableWorkspaceContextInterface } from '@umbraco-cms/backoffice/workspace';
|
||||
import { UmbEditableWorkspaceContextBase } from '@umbraco-cms/backoffice/workspace';
|
||||
import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
|
||||
import { UmbBooleanState } from '@umbraco-cms/backoffice/observable-api';
|
||||
|
||||
@@ -60,9 +57,9 @@ export class UmbDocumentTypeWorkspaceContext
|
||||
this.compositions = this.structure.ownerContentTypeObservablePart((data) => data?.compositions);
|
||||
|
||||
// Document type specific:
|
||||
this.allowedTemplateIds = this.structure.ownerContentTypeObservablePart((data) => data?.allowedTemplateIds);
|
||||
this.defaultTemplateId = this.structure.ownerContentTypeObservablePart((data) => data?.defaultTemplateId);
|
||||
this.cleanup = this.structure.ownerContentTypeObservablePart((data) => data?.defaultTemplateId);
|
||||
this.allowedTemplateIds = this.structure.ownerContentTypeObservablePart((data) => data?.allowedTemplates);
|
||||
this.defaultTemplateId = this.structure.ownerContentTypeObservablePart((data) => data?.defaultTemplate);
|
||||
this.cleanup = this.structure.ownerContentTypeObservablePart((data) => data?.defaultTemplate);
|
||||
}
|
||||
|
||||
getIsSorting() {
|
||||
@@ -112,19 +109,19 @@ export class UmbDocumentTypeWorkspaceContext
|
||||
setIsElement(isElement: boolean) {
|
||||
this.structure.updateOwnerContentType({ isElement });
|
||||
}
|
||||
setAllowedContentTypes(allowedContentTypes: Array<ContentTypeSortModel>) {
|
||||
setAllowedContentTypes(allowedContentTypes: Array<UmbContentTypeSortModel>) {
|
||||
this.structure.updateOwnerContentType({ allowedContentTypes });
|
||||
}
|
||||
setCompositions(compositions: Array<ContentTypeCompositionModel>) {
|
||||
setCompositions(compositions: Array<UmbContentTypeCompositionModel>) {
|
||||
this.structure.updateOwnerContentType({ compositions });
|
||||
}
|
||||
|
||||
// Document type specific:
|
||||
setAllowedTemplateIds(allowedTemplateIds: Array<string>) {
|
||||
this.structure.updateOwnerContentType({ allowedTemplateIds });
|
||||
setAllowedTemplateIds(allowedTemplates: Array<string>) {
|
||||
this.structure.updateOwnerContentType({ allowedTemplates });
|
||||
}
|
||||
setDefaultTemplateId(defaultTemplateId: string) {
|
||||
this.structure.updateOwnerContentType({ defaultTemplateId });
|
||||
setDefaultTemplateId(defaultTemplate: string) {
|
||||
this.structure.updateOwnerContentType({ defaultTemplate });
|
||||
}
|
||||
|
||||
async create(parentUnique: string | null) {
|
||||
|
||||
@@ -31,7 +31,7 @@ export class UmbDocumentTypeWorkspaceViewTemplatesElement extends UmbLitElement
|
||||
this.#workspaceContext.defaultTemplateId,
|
||||
(defaultTemplateId) => {
|
||||
const oldValue = this._defaultTemplateId;
|
||||
this._defaultTemplateId = defaultTemplateId;
|
||||
this._defaultTemplate = defaultTemplateId;
|
||||
this.requestUpdate('_defaultTemplateId', oldValue);
|
||||
},
|
||||
'defaultTemplate',
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
import { UmbDocumentItemRepository } from '../../repository/index.js';
|
||||
import type { PropertyValueMap } from '@umbraco-cms/backoffice/external/lit';
|
||||
import { css, html, customElement, property, state } from '@umbraco-cms/backoffice/external/lit';
|
||||
import { FormControlMixin } from '@umbraco-cms/backoffice/external/uui';
|
||||
import type {
|
||||
UmbModalManagerContext} from '@umbraco-cms/backoffice/modal';
|
||||
import {
|
||||
UMB_MODAL_MANAGER_CONTEXT,
|
||||
UMB_CONFIRM_MODAL,
|
||||
UMB_DOCUMENT_PICKER_MODAL,
|
||||
} from '@umbraco-cms/backoffice/modal';
|
||||
import type { UmbModalManagerContext } from '@umbraco-cms/backoffice/modal';
|
||||
import { UMB_MODAL_MANAGER_CONTEXT, UMB_CONFIRM_MODAL, UMB_DOCUMENT_PICKER_MODAL } from '@umbraco-cms/backoffice/modal';
|
||||
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
|
||||
import type { DocumentItemResponseModel } from '@umbraco-cms/backoffice/backend-api';
|
||||
import { UmbDocumentRepository } from '@umbraco-cms/backoffice/document';
|
||||
import { UmbChangeEvent } from '@umbraco-cms/backoffice/event';
|
||||
import type { UmbObserverController } from '@umbraco-cms/backoffice/observable-api';
|
||||
import { splitStringToArray } from '@umbraco-cms/backoffice/utils';
|
||||
@@ -37,7 +32,7 @@ export class UmbInputDocumentGranularPermissionElement extends FormControlMixin(
|
||||
@state()
|
||||
private _items?: Array<DocumentItemResponseModel>;
|
||||
|
||||
#documentRepository = new UmbDocumentRepository(this);
|
||||
#documentItemRepository = new UmbDocumentItemRepository(this);
|
||||
#modalContext?: UmbModalManagerContext;
|
||||
#pickedItemsObserver?: UmbObserverController<Array<DocumentItemResponseModel>>;
|
||||
|
||||
@@ -58,7 +53,7 @@ export class UmbInputDocumentGranularPermissionElement extends FormControlMixin(
|
||||
async #observePickedDocuments() {
|
||||
this.#pickedItemsObserver?.destroy();
|
||||
|
||||
const { asObservable } = await this.#documentRepository.requestItems(this._selectedIds);
|
||||
const { asObservable } = await this.#documentItemRepository.requestItems(this._selectedIds);
|
||||
this.#pickedItemsObserver = this.observe(asObservable(), (items) => (this._items = items));
|
||||
}
|
||||
|
||||
|
||||
@@ -140,7 +140,7 @@ export class UmbInputDocumentElement extends FormControlMixin(UmbLitElement) {
|
||||
|
||||
#pickableFilter: (item: DocumentTreeItemResponseModel) => boolean = (item) => {
|
||||
if (this.allowedContentTypeIds && this.allowedContentTypeIds.length > 0) {
|
||||
return this.allowedContentTypeIds.includes(item.contentTypeId);
|
||||
return this.allowedContentTypeIds.includes(item.documentType.id);
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
@@ -46,19 +46,14 @@ const getChildrenOf = (parentUnique: string | null) => {
|
||||
const mapper = (item: DocumentTreeItemResponseModel): UmbDocumentTreeItemModel => {
|
||||
return {
|
||||
unique: item.id,
|
||||
parentUnique: item.parentId ? item.parentId : null,
|
||||
name: item.name,
|
||||
parentUnique: item.parent ? item.parent.id : null,
|
||||
entityType: UMB_DOCUMENT_ENTITY_TYPE,
|
||||
noAccess: item.noAccess,
|
||||
isTrashed: item.isTrashed,
|
||||
isContainer: item.isContainer,
|
||||
hasChildren: item.hasChildren,
|
||||
isProtected: item.isProtected,
|
||||
isPublished: item.isPublished,
|
||||
isEdited: item.isEdited,
|
||||
contentTypeId: item.contentTypeId,
|
||||
documentType: item.documentType,
|
||||
variants: item.variants,
|
||||
icon: item.icon,
|
||||
isFolder: false,
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { UmbDocumentEntityType } from './entity.js';
|
||||
import { ContentStateModel, ContentUrlInfoModel, DocumentValueModel } from '@umbraco-cms/backoffice/backend-api';
|
||||
import type { UmbDocumentEntityType } from './entity.js';
|
||||
import type { ContentStateModel, ContentUrlInfoModel, DocumentValueModel } from '@umbraco-cms/backoffice/backend-api';
|
||||
|
||||
export interface UmbDocumentDetailModel {
|
||||
contentTypeId: string;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { UmbDocumentRepository } from '../repository/document.repository.js';
|
||||
import { UmbDocumentTypeDetailRepository } from '../../document-types/repository/detail/document-type-detail.repository.js';
|
||||
import { UmbDocumentPropertyDataContext } from '../property-dataset-context/document-property-dataset-context.js';
|
||||
import { UMB_DOCUMENT_ENTITY_TYPE } from '../entity.js';
|
||||
import { UmbDocumentDetailRepository } from '../repository/index.js';
|
||||
import { UmbVariantId } from '@umbraco-cms/backoffice/variant';
|
||||
import { UmbContentTypePropertyStructureManager } from '@umbraco-cms/backoffice/content-type';
|
||||
import {
|
||||
@@ -20,7 +20,7 @@ export class UmbDocumentWorkspaceContext
|
||||
implements UmbVariantableWorkspaceContextInterface, UmbPublishableWorkspaceContextInterface
|
||||
{
|
||||
//
|
||||
public readonly repository: UmbDocumentRepository = new UmbDocumentRepository(this);
|
||||
public readonly repository: UmbDocumentDetailRepository = new UmbDocumentDetailRepository(this);
|
||||
/**
|
||||
* The document is the current state/draft version of the document.
|
||||
*/
|
||||
@@ -31,11 +31,11 @@ export class UmbDocumentWorkspaceContext
|
||||
}
|
||||
|
||||
readonly unique = this.#currentData.asObservablePart((data) => data?.id);
|
||||
readonly contentTypeId = this.#currentData.asObservablePart((data) => data?.contentTypeId);
|
||||
readonly contentTypeId = this.#currentData.asObservablePart((data) => data?.documentType.id);
|
||||
|
||||
readonly variants = this.#currentData.asObservablePart((data) => data?.variants || []);
|
||||
readonly urls = this.#currentData.asObservablePart((data) => data?.urls || []);
|
||||
readonly templateId = this.#currentData.asObservablePart((data) => data?.templateId || null);
|
||||
readonly templateId = this.#currentData.asObservablePart((data) => data?.template?.id || null);
|
||||
|
||||
readonly structure = new UmbContentTypePropertyStructureManager(this, new UmbDocumentTypeDetailRepository(this));
|
||||
readonly splitView = new UmbWorkspaceSplitViewManager();
|
||||
@@ -51,8 +51,8 @@ export class UmbDocumentWorkspaceContext
|
||||
*/
|
||||
}
|
||||
|
||||
async load(entityId: string) {
|
||||
this.#getDataPromise = this.repository.requestById(entityId);
|
||||
async load(unique: string) {
|
||||
this.#getDataPromise = this.repository.requestByUnique(unique);
|
||||
const { data } = await this.#getDataPromise;
|
||||
if (!data) return undefined;
|
||||
|
||||
@@ -62,8 +62,8 @@ export class UmbDocumentWorkspaceContext
|
||||
return data || undefined;
|
||||
}
|
||||
|
||||
async create(documentTypeKey: string, parentId: string | null) {
|
||||
this.#getDataPromise = this.repository.createScaffold(documentTypeKey, { parentId });
|
||||
async create(unique: string, parentUnique: string | null) {
|
||||
this.#getDataPromise = this.repository.createScaffold(unique, { parentUnique });
|
||||
const { data } = await this.#getDataPromise;
|
||||
if (!data) return undefined;
|
||||
|
||||
@@ -91,7 +91,7 @@ export class UmbDocumentWorkspaceContext
|
||||
}
|
||||
|
||||
getContentTypeId() {
|
||||
return this.getData()?.contentTypeId;
|
||||
return this.getData()?.documentType.id;
|
||||
}
|
||||
|
||||
variantById(variantId: UmbVariantId) {
|
||||
|
||||
@@ -8,7 +8,10 @@ import { UmbContentTypePropertyStructureHelper } from '@umbraco-cms/backoffice/c
|
||||
import type { UmbSorterConfig } from '@umbraco-cms/backoffice/sorter';
|
||||
import { UmbSorterController } from '@umbraco-cms/backoffice/sorter';
|
||||
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
|
||||
import type { MediaTypePropertyTypeResponseModel, PropertyTypeModelBaseModel } from '@umbraco-cms/backoffice/backend-api';
|
||||
import type {
|
||||
MediaTypePropertyTypeResponseModel,
|
||||
PropertyTypeModelBaseModel,
|
||||
} from '@umbraco-cms/backoffice/backend-api';
|
||||
import { UMB_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace';
|
||||
import { UMB_PROPERTY_SETTINGS_MODAL, UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/modal';
|
||||
|
||||
@@ -172,18 +175,18 @@ export class UmbMediaTypeWorkspaceViewEditPropertiesElement extends UmbLitElemen
|
||||
return html`<div id="property-list">
|
||||
${repeat(
|
||||
this._propertyStructure,
|
||||
(property) => property.id ?? '' + property.containerId ?? '' + property.sortOrder ?? '',
|
||||
(property) => property.id ?? '' + property.container.id ?? '' + property.sortOrder ?? '',
|
||||
(property) => {
|
||||
// Note: This piece might be moved into the property component
|
||||
const inheritedFromMedia = this._ownerMediaTypes?.find(
|
||||
(types) => types.containers?.find((containers) => containers.id === property.containerId),
|
||||
(types) => types.containers?.find((containers) => containers.id === property.container.id),
|
||||
);
|
||||
|
||||
return html`<umb-media-type-workspace-view-edit-property
|
||||
data-umb-property-id=${ifDefined(property.id)}
|
||||
owner-media-type-id=${ifDefined(inheritedFromMedia?.unique)}
|
||||
owner-media-type-name=${ifDefined(inheritedFromMedia?.name)}
|
||||
?inherited=${property.containerId !== this.containerId}
|
||||
?inherited=${property.container.id !== this.containerId}
|
||||
?sort-mode-active=${this._sortModeActive}
|
||||
.property=${property}
|
||||
@partial-property-update=${(event: CustomEvent) => {
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import { UmbDataTypeDetailRepository } from '@umbraco-cms/backoffice/data-type';
|
||||
import type { UUIInputElement} from '@umbraco-cms/backoffice/external/uui';
|
||||
import type { UUIInputElement } from '@umbraco-cms/backoffice/external/uui';
|
||||
import { UUIInputEvent } from '@umbraco-cms/backoffice/external/uui';
|
||||
import { css, html, customElement, property, state, ifDefined, nothing } from '@umbraco-cms/backoffice/external/lit';
|
||||
import type { PropertyTypeModelBaseModel } from '@umbraco-cms/backoffice/backend-api';
|
||||
import type {
|
||||
UmbConfirmModalData} from '@umbraco-cms/backoffice/modal';
|
||||
import type { UmbConfirmModalData } from '@umbraco-cms/backoffice/modal';
|
||||
import {
|
||||
UMB_CONFIRM_MODAL,
|
||||
UMB_MODAL_MANAGER_CONTEXT,
|
||||
@@ -38,7 +37,7 @@ export class UmbMediaTypeWorkspacePropertyElement extends UmbLitElement {
|
||||
const oldValue = this._property;
|
||||
this._property = value;
|
||||
this.#modalRegistration.setUniquePathValue('propertyId', value?.id?.toString());
|
||||
this.setDataType(this._property?.dataTypeId);
|
||||
this.setDataType(this._property?.dataType.id);
|
||||
this.requestUpdate('property', oldValue);
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import { UmbContentTypeContainerStructureHelper } from '@umbraco-cms/backoffice/
|
||||
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
|
||||
import type { PropertyTypeContainerModelBaseModel } from '@umbraco-cms/backoffice/backend-api';
|
||||
import { UMB_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace';
|
||||
import type { UmbSorterConfig} from '@umbraco-cms/backoffice/sorter';
|
||||
import type { UmbSorterConfig } from '@umbraco-cms/backoffice/sorter';
|
||||
import { UmbSorterController } from '@umbraco-cms/backoffice/sorter';
|
||||
|
||||
import './media-type-workspace-view-edit-properties.element.js';
|
||||
@@ -172,7 +172,11 @@ export class UmbMediaTypeWorkspaceViewEditTabElement extends UmbLitElement {
|
||||
value=${group.name ?? ''}
|
||||
@change=${(e: InputEvent) => {
|
||||
const newName = (e.target as HTMLInputElement).value;
|
||||
this._groupStructureHelper.updateContainerName(group.id!, group.parentId ?? null, newName);
|
||||
this._groupStructureHelper.updateContainerName(
|
||||
group.id!,
|
||||
group.parent?.id ?? null,
|
||||
newName,
|
||||
);
|
||||
}}>
|
||||
</uui-input>
|
||||
</div>
|
||||
|
||||
@@ -3,19 +3,18 @@ import { localizePropertyType, localizeSort } from './utils.js';
|
||||
import type { UmbQueryBuilderFilterElement } from './query-builder-filter.element.js';
|
||||
import type { UUIComboboxListElement } from '@umbraco-cms/backoffice/external/uui';
|
||||
import { css, html, customElement, state, query, queryAll, ifDefined } from '@umbraco-cms/backoffice/external/lit';
|
||||
import type {
|
||||
UmbModalManagerContext} from '@umbraco-cms/backoffice/modal';
|
||||
import type { UmbModalManagerContext } from '@umbraco-cms/backoffice/modal';
|
||||
import {
|
||||
UmbModalBaseElement,
|
||||
UMB_DOCUMENT_PICKER_MODAL,
|
||||
UMB_MODAL_MANAGER_CONTEXT
|
||||
UMB_MODAL_MANAGER_CONTEXT,
|
||||
} from '@umbraco-cms/backoffice/modal';
|
||||
import type {
|
||||
TemplateQueryExecuteModel,
|
||||
TemplateQueryResultResponseModel,
|
||||
TemplateQuerySettingsResponseModel,
|
||||
} from '@umbraco-cms/backoffice/backend-api';
|
||||
import { UmbDocumentRepository } from '@umbraco-cms/backoffice/document';
|
||||
import { UmbDocumentItemRepository } from '@umbraco-cms/backoffice/document';
|
||||
import './query-builder-filter.element.js';
|
||||
|
||||
export interface TemplateQueryBuilderModalData {
|
||||
@@ -57,14 +56,14 @@ export default class UmbChooseInsertTypeModalElement extends UmbModalBaseElement
|
||||
@state()
|
||||
private _defaultSortDirection: SortOrder = SortOrder.Ascending;
|
||||
|
||||
#documentRepository: UmbDocumentRepository;
|
||||
#documentItemRepository: UmbDocumentItemRepository;
|
||||
#modalManagerContext?: UmbModalManagerContext;
|
||||
#templateRepository: UmbTemplateRepository;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.#templateRepository = new UmbTemplateRepository(this);
|
||||
this.#documentRepository = new UmbDocumentRepository(this);
|
||||
this.#documentItemRepository = new UmbDocumentItemRepository(this);
|
||||
|
||||
this.consumeContext(UMB_MODAL_MANAGER_CONTEXT, (instance) => {
|
||||
this.#modalManagerContext = instance;
|
||||
@@ -127,7 +126,7 @@ export default class UmbChooseInsertTypeModalElement extends UmbModalBaseElement
|
||||
};
|
||||
|
||||
async #getDocumentItem(ids: string[]) {
|
||||
const { data, error } = await this.#documentRepository.requestItems(ids);
|
||||
const { data, error } = await this.#documentItemRepository.requestItems(ids);
|
||||
if (data) {
|
||||
this._selectedRootContentName = data[0].name;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@ export class UmbTemplateTreeRepository
|
||||
name: 'Templates',
|
||||
icon: 'icon-folder',
|
||||
hasChildren: true,
|
||||
isContainer: false,
|
||||
isFolder: true,
|
||||
};
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
|
||||
* @implements {UmbTreeDataSource}
|
||||
*/
|
||||
export class UmbTemplateTreeServerDataSource extends UmbTreeServerDataSourceBase<
|
||||
EntityTreeItemResponseModel,
|
||||
NamedEntityTreeItemResponseModel,
|
||||
UmbTemplateTreeItemModel
|
||||
> {
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user