remove entity tree
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
import type { UmbPickerModalValue, UmbTreePickerModalData } from '../modal.interfaces.js';
|
||||
import { UmbModalToken } from './modal-token.js';
|
||||
import type { UmbEntityTreeItemModel } from '@umbraco-cms/backoffice/tree';
|
||||
import type { UmbUniqueTreeItemModel } from '@umbraco-cms/backoffice/tree';
|
||||
|
||||
export type UmbDataTypePickerModalData = UmbTreePickerModalData<UmbEntityTreeItemModel>;
|
||||
export type UmbDataTypePickerModalData = UmbTreePickerModalData<UmbUniqueTreeItemModel>;
|
||||
export type UmbDataTypePickerModalValue = UmbPickerModalValue;
|
||||
|
||||
export const UMB_DATA_TYPE_PICKER_MODAL = new UmbModalToken<UmbDataTypePickerModalData, UmbDataTypePickerModalValue>(
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import type { UmbEntityTreeItemModel } from '../../tree/types.js';
|
||||
import type { UmbUniqueTreeItemModel } from '../../tree/types.js';
|
||||
import { UmbModalToken } from './modal-token.js';
|
||||
import type { UmbPickerModalValue, UmbTreePickerModalData } from '@umbraco-cms/backoffice/modal';
|
||||
|
||||
export type UmbDictionaryItemPickerModalData = UmbTreePickerModalData<UmbEntityTreeItemModel>;
|
||||
export type UmbDictionaryItemPickerModalData = UmbTreePickerModalData<UmbUniqueTreeItemModel>;
|
||||
export type UmbDictionaryItemPickerModalValue = UmbPickerModalValue;
|
||||
|
||||
export const UMB_DICTIONARY_ITEM_PICKER_MODAL = new UmbModalToken<
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { UmbModalToken } from './modal-token.js';
|
||||
import type { UmbPickerModalValue, UmbTreePickerModalData } from '@umbraco-cms/backoffice/modal';
|
||||
import type { UmbEntityTreeItemModel } from '@umbraco-cms/backoffice/tree';
|
||||
import type { UmbUniqueTreeItemModel } from '@umbraco-cms/backoffice/tree';
|
||||
|
||||
export type UmbMediaTypePickerModalData = UmbTreePickerModalData<UmbEntityTreeItemModel>;
|
||||
export type UmbMediaTypePickerModalData = UmbTreePickerModalData<UmbUniqueTreeItemModel>;
|
||||
export type UmbMediaTypePickerModalValue = UmbPickerModalValue;
|
||||
|
||||
export const UMB_MEDIA_TYPE_PICKER_MODAL = new UmbModalToken<UmbMediaTypePickerModalData, UmbMediaTypePickerModalValue>(
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
import { UmbTreeItemContextBase } from '../tree-item-base/tree-item-base.context.js';
|
||||
import type { UmbEntityTreeItemModel } from '../types.js';
|
||||
import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
|
||||
|
||||
export class UmbEntityTreeItemContext extends UmbTreeItemContextBase<UmbEntityTreeItemModel> {
|
||||
constructor(host: UmbControllerHostElement) {
|
||||
super(host, (x: UmbEntityTreeItemModel) => x.id);
|
||||
}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
import type { UmbEntityTreeItemModel } from '../types.js';
|
||||
import { UmbEntityTreeItemContext } from './entity-tree-item.context.js';
|
||||
import { css, html, nothing, customElement, property } from '@umbraco-cms/backoffice/external/lit';
|
||||
import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
|
||||
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
|
||||
import type { UmbBackofficeManifestKind, UmbTreeItemElement } from '@umbraco-cms/backoffice/extension-registry';
|
||||
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
|
||||
|
||||
// TODO: Move to separate file:
|
||||
const manifest: UmbBackofficeManifestKind = {
|
||||
type: 'kind',
|
||||
alias: 'Umb.Kind.EntityTreeItem',
|
||||
matchKind: 'entity',
|
||||
matchType: 'treeItem',
|
||||
manifest: {
|
||||
type: 'treeItem',
|
||||
elementName: 'umb-entity-tree-item',
|
||||
},
|
||||
};
|
||||
umbExtensionsRegistry.register(manifest);
|
||||
|
||||
@customElement('umb-entity-tree-item')
|
||||
export class UmbEntityTreeItemElement extends UmbLitElement implements UmbTreeItemElement {
|
||||
private _item?: UmbEntityTreeItemModel;
|
||||
@property({ type: Object, attribute: false })
|
||||
public get item() {
|
||||
return this._item;
|
||||
}
|
||||
public set item(value: UmbEntityTreeItemModel | undefined) {
|
||||
this._item = value;
|
||||
this.#context.setTreeItem(value);
|
||||
}
|
||||
|
||||
#context = new UmbEntityTreeItemContext(this);
|
||||
|
||||
render() {
|
||||
if (!this.item) return nothing;
|
||||
return html`<umb-tree-item-base></umb-tree-item-base>`;
|
||||
}
|
||||
|
||||
static styles = [UmbTextStyles, css``];
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'umb-entity-tree-item': UmbEntityTreeItemElement;
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
export * from './entity-tree-item.context.js';
|
||||
export * from './entity-tree-item.element.js';
|
||||
@@ -1,46 +0,0 @@
|
||||
import type { UmbTreeStore } from './tree-store.interface.js';
|
||||
import type { UmbEntityTreeItemModel } from './types.js';
|
||||
import { UmbStoreBase } from '@umbraco-cms/backoffice/store';
|
||||
import { UmbArrayState } from '@umbraco-cms/backoffice/observable-api';
|
||||
import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
|
||||
|
||||
/**
|
||||
* @export
|
||||
* @class UmbEntityTreeStore
|
||||
* @extends {UmbStoreBase}
|
||||
* @description - Entity Tree Store
|
||||
*/
|
||||
export class UmbEntityTreeStore
|
||||
extends UmbStoreBase<UmbEntityTreeItemModel>
|
||||
implements UmbTreeStore<UmbEntityTreeItemModel>
|
||||
{
|
||||
constructor(host: UmbControllerHostElement, storeAlias: string) {
|
||||
super(host, storeAlias, new UmbArrayState<UmbEntityTreeItemModel>([], (x) => x.id));
|
||||
}
|
||||
|
||||
/**
|
||||
* An observable to observe the root items
|
||||
* @memberof UmbEntityTreeStore
|
||||
*/
|
||||
rootItems = this._data.asObservablePart((items) => items.filter((item) => item.parentId === null));
|
||||
|
||||
/**
|
||||
* Returns an observable to observe the children of a given parent
|
||||
* @param {(string | null)} parentId
|
||||
* @return {*}
|
||||
* @memberof UmbEntityTreeStore
|
||||
*/
|
||||
childrenOf(parentId: string | null) {
|
||||
return this._data.asObservablePart((items) => items.filter((item) => item.parentId === parentId));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an observable to observe the items with the given ids
|
||||
* @param {Array<string>} ids
|
||||
* @return {*}
|
||||
* @memberof UmbEntityTreeStore
|
||||
*/
|
||||
items(ids: Array<string | null>) {
|
||||
return this._data.asObservablePart((items) => items.filter((item) => ids.includes(item.id ?? '')));
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
export * from './components/index.js';
|
||||
export * from './entity-tree-item/index.js';
|
||||
export * from './tree-item-default/index.js';
|
||||
export * from './tree-item-base/index.js';
|
||||
export * from './tree-menu-item-default/index.js';
|
||||
@@ -8,7 +7,6 @@ export * from './tree.element.js';
|
||||
export * from './types.js';
|
||||
export * from './tree-repository.interface.js';
|
||||
export * from './tree-store.interface.js';
|
||||
export * from './entity-tree-store.js';
|
||||
|
||||
// Unique
|
||||
export * from './unique-tree-store.js';
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
import type { UmbTreeStore } from './tree-store.interface.js';
|
||||
import type {
|
||||
UmbEntityTreeItemModel,
|
||||
UmbEntityTreeRootModel,
|
||||
UmbUniqueTreeItemModel,
|
||||
UmbUniqueTreeRootModel,
|
||||
} from './types.js';
|
||||
import type { UmbUniqueTreeItemModel, UmbUniqueTreeRootModel } from './types.js';
|
||||
import type { UmbTreeRepository } from './tree-repository.interface.js';
|
||||
import type { UmbTreeDataSource, UmbTreeDataSourceConstructor } from './data-source/tree-data-source.interface.js';
|
||||
import { UmbRepositoryBase } from '@umbraco-cms/backoffice/repository';
|
||||
@@ -24,9 +19,8 @@ import type { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
|
||||
* @template TreeRootType
|
||||
*/
|
||||
export abstract class UmbTreeRepositoryBase<
|
||||
// TODO: remove UmbEntityTreeItemModel when we have unique in place
|
||||
TreeItemType extends UmbUniqueTreeItemModel | UmbEntityTreeItemModel,
|
||||
TreeRootType extends UmbUniqueTreeRootModel | UmbEntityTreeRootModel,
|
||||
TreeItemType extends UmbUniqueTreeItemModel,
|
||||
TreeRootType extends UmbUniqueTreeRootModel,
|
||||
>
|
||||
extends UmbRepositoryBase
|
||||
implements UmbTreeRepository<TreeItemType, TreeRootType>, UmbApi
|
||||
|
||||
@@ -11,20 +11,6 @@ export interface UmbUniqueTreeItemModel extends UmbTreeItemModelBase {
|
||||
parentUnique: string | null;
|
||||
}
|
||||
|
||||
// Root
|
||||
export interface UmbUniqueTreeRootModel extends UmbTreeItemModelBase {
|
||||
unique: null;
|
||||
}
|
||||
|
||||
// ------------------------------------
|
||||
|
||||
// TODO: remove this when we have unique for everything
|
||||
export interface UmbEntityTreeItemModel extends UmbTreeItemModelBase {
|
||||
id: string;
|
||||
parentId: string | null;
|
||||
}
|
||||
|
||||
// TODO: remove this when we have unique for everything
|
||||
export interface UmbEntityTreeRootModel extends UmbTreeItemModelBase {
|
||||
id: null;
|
||||
}
|
||||
|
||||
@@ -42,6 +42,6 @@ export class UmbUniqueTreeStore
|
||||
* @memberof UmbUniqueTreeStore
|
||||
*/
|
||||
items(uniques: Array<string | null>) {
|
||||
return this._data.asObservablePart((items) => items.filter((item) => uniques.includes(item.unique ?? '')));
|
||||
return this._data.asObservablePart((items) => items.filter((item) => uniques.includes(item.unique)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,21 +2,17 @@ import { UmbId } from '@umbraco-cms/backoffice/id';
|
||||
import type { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
|
||||
import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api';
|
||||
import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
|
||||
import type {
|
||||
UmbNotificationDefaultData,
|
||||
UmbNotificationContext} from '@umbraco-cms/backoffice/notification';
|
||||
import {
|
||||
UMB_NOTIFICATION_CONTEXT,
|
||||
} from '@umbraco-cms/backoffice/notification';
|
||||
import type { UmbNotificationDefaultData, UmbNotificationContext } from '@umbraco-cms/backoffice/notification';
|
||||
import { UMB_NOTIFICATION_CONTEXT } from '@umbraco-cms/backoffice/notification';
|
||||
import { UmbObjectState, UmbObserverController } from '@umbraco-cms/backoffice/observable-api';
|
||||
import type { UmbEntityDetailStore } from '@umbraco-cms/backoffice/store';
|
||||
import type { UmbEntityTreeItemModel } from '@umbraco-cms/backoffice/tree';
|
||||
import type { UmbUniqueTreeItemModel } from '@umbraco-cms/backoffice/tree';
|
||||
|
||||
// Extend entityType base type?, so we are sure to have parentId?
|
||||
// TODO: switch to use EntityDetailItem ? if we can have such type?
|
||||
export class UmbEntityWorkspaceManager<
|
||||
StoreType extends UmbEntityDetailStore<EntityDetailsType>,
|
||||
EntityDetailsType extends UmbEntityTreeItemModel = ReturnType<StoreType['getScaffold']>,
|
||||
EntityDetailsType extends UmbUniqueTreeItemModel = ReturnType<StoreType['getScaffold']>,
|
||||
> {
|
||||
private _host;
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ export class UmbDocumentRecycleBinTreeRepository
|
||||
|
||||
async requestTreeRoot() {
|
||||
const data = {
|
||||
id: null,
|
||||
unique: null,
|
||||
entityType: UMB_DOCUMENT_RECYCLE_BIN_ROOT_ENTITY_TYPE,
|
||||
name: 'Recycle Bin',
|
||||
icon: 'icon-trash',
|
||||
|
||||
@@ -44,8 +44,8 @@ const getChildrenOf = (parentUnique: string | null) => {
|
||||
|
||||
const mapper = (item: DocumentRecycleBinItemResponseModel): UmbDocumentRecycleBinTreeItemModel => {
|
||||
return {
|
||||
id: item.id,
|
||||
parentId: item.parent ? item.parent.id : null,
|
||||
unique: item.id,
|
||||
parentUnique: item.parent ? item.parent.id : null,
|
||||
entityType: 'document-recycle-bin',
|
||||
hasChildren: item.hasChildren,
|
||||
isFolder: false,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
|
||||
import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
|
||||
import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/tree';
|
||||
import { UmbUniqueTreeStore } from '@umbraco-cms/backoffice/tree';
|
||||
|
||||
/**
|
||||
* @export
|
||||
@@ -8,7 +8,7 @@ import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/tree';
|
||||
* @extends {UmbStoreBase}
|
||||
* @description - Tree Data Store for Document Recycle Bin Tree Items
|
||||
*/
|
||||
export class UmbDocumentRecycleBinTreeStore extends UmbEntityTreeStore {
|
||||
export class UmbDocumentRecycleBinTreeStore extends UmbUniqueTreeStore {
|
||||
/**
|
||||
* Creates an instance of UmbDocumentRecycleBinTreeStore.
|
||||
* @param {UmbControllerHostElement} host
|
||||
|
||||
@@ -38,7 +38,7 @@ const tree: ManifestTree = {
|
||||
|
||||
const treeItem: ManifestTreeItem = {
|
||||
type: 'treeItem',
|
||||
kind: 'entity',
|
||||
kind: 'unique',
|
||||
alias: 'Umb.TreeItem.DocumentRecycleBin',
|
||||
name: 'DocumentRecycleBin Tree Item',
|
||||
meta: {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { UmbEntityTreeItemModel, UmbEntityTreeRootModel } from '@umbraco-cms/backoffice/tree';
|
||||
import { UmbUniqueTreeItemModel, UmbUniqueTreeRootModel } from '@umbraco-cms/backoffice/tree';
|
||||
|
||||
export interface UmbDocumentRecycleBinTreeItemModel extends UmbEntityTreeItemModel {}
|
||||
export interface UmbDocumentRecycleBinTreeItemModel extends UmbUniqueTreeItemModel {}
|
||||
|
||||
export interface UmbDocumentRecycleBinTreeRootModel extends UmbEntityTreeRootModel {}
|
||||
export interface UmbDocumentRecycleBinTreeRootModel extends UmbUniqueTreeRootModel {}
|
||||
|
||||
@@ -3,17 +3,17 @@ import { css, html, customElement, state, repeat } from '@umbraco-cms/backoffice
|
||||
import type { UmbDefaultCollectionContext } from '@umbraco-cms/backoffice/collection';
|
||||
import { UMB_DEFAULT_COLLECTION_CONTEXT } from '@umbraco-cms/backoffice/collection';
|
||||
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
|
||||
import type { UmbEntityTreeItemModel } from '@umbraco-cms/backoffice/tree';
|
||||
import type { UmbUniqueTreeItemModel } from '@umbraco-cms/backoffice/tree';
|
||||
|
||||
@customElement('umb-media-grid-collection-view')
|
||||
export class UmbMediaGridCollectionViewElement extends UmbLitElement {
|
||||
@state()
|
||||
private _mediaItems?: Array<UmbEntityTreeItemModel>;
|
||||
private _mediaItems?: Array<UmbUniqueTreeItemModel>;
|
||||
|
||||
@state()
|
||||
private _selection: Array<string | null> = [];
|
||||
|
||||
private _collectionContext?: UmbDefaultCollectionContext<UmbEntityTreeItemModel, any>;
|
||||
private _collectionContext?: UmbDefaultCollectionContext<UmbUniqueTreeItemModel, any>;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
@@ -58,31 +58,31 @@ export class UmbMediaGridCollectionViewElement extends UmbLitElement {
|
||||
});
|
||||
}
|
||||
|
||||
private _handleOpenItem(mediaItem: UmbEntityTreeItemModel) {
|
||||
private _handleOpenItem(mediaItem: UmbUniqueTreeItemModel) {
|
||||
//TODO: Fix when we have dynamic routing
|
||||
history.pushState(null, '', 'section/media/media/edit/' + mediaItem.id);
|
||||
history.pushState(null, '', 'section/media/media/edit/' + mediaItem.unique);
|
||||
}
|
||||
|
||||
private _handleSelect(mediaItem: UmbEntityTreeItemModel) {
|
||||
if (mediaItem.id) {
|
||||
this._collectionContext?.selection.select(mediaItem.id);
|
||||
private _handleSelect(mediaItem: UmbUniqueTreeItemModel) {
|
||||
if (mediaItem.unique) {
|
||||
this._collectionContext?.selection.select(mediaItem.unique);
|
||||
}
|
||||
}
|
||||
|
||||
private _handleDeselect(mediaItem: UmbEntityTreeItemModel) {
|
||||
if (mediaItem.id) {
|
||||
this._collectionContext?.selection.deselect(mediaItem.id);
|
||||
private _handleDeselect(mediaItem: UmbUniqueTreeItemModel) {
|
||||
if (mediaItem.unique) {
|
||||
this._collectionContext?.selection.deselect(mediaItem.unique);
|
||||
}
|
||||
}
|
||||
|
||||
private _isSelected(mediaItem: UmbEntityTreeItemModel) {
|
||||
if (mediaItem.id) {
|
||||
return this._selection.includes(mediaItem.id);
|
||||
private _isSelected(mediaItem: UmbUniqueTreeItemModel) {
|
||||
if (mediaItem.unique) {
|
||||
return this._selection.includes(mediaItem.unique);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private _renderMediaItem(item: UmbEntityTreeItemModel) {
|
||||
private _renderMediaItem(item: UmbUniqueTreeItemModel) {
|
||||
const name = item.name || '';
|
||||
//TODO: fix the file extension when media items have a file extension.
|
||||
return html`<uui-card-media
|
||||
@@ -109,7 +109,7 @@ export class UmbMediaGridCollectionViewElement extends UmbLitElement {
|
||||
${this._mediaItems
|
||||
? repeat(
|
||||
this._mediaItems,
|
||||
(file, index) => (file.id || '') + index,
|
||||
(file, index) => (file.unique || '') + index,
|
||||
(file) => this._renderMediaItem(file),
|
||||
)
|
||||
: ''}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { UmbUniqueTreeItemModel } from '@umbraco-cms/backoffice/tree';
|
||||
import { UmbModalToken } from '../../../core/modal/token/modal-token.js';
|
||||
import type { UmbPickerModalValue, UmbTreePickerModalData } from '@umbraco-cms/backoffice/modal';
|
||||
import type { UmbEntityTreeItemModel } from '@umbraco-cms/backoffice/tree';
|
||||
|
||||
export type UmbMemberTypePickerModalData = UmbTreePickerModalData<UmbEntityTreeItemModel>;
|
||||
export type UmbMemberTypePickerModalData = UmbTreePickerModalData<UmbUniqueTreeItemModel>;
|
||||
export type UmbMemberTypePickerModalValue = UmbPickerModalValue;
|
||||
|
||||
export const UMB_MEMBER_TYPE_PICKER_MODAL = new UmbModalToken<
|
||||
|
||||
@@ -38,7 +38,7 @@ const tree: ManifestTree = {
|
||||
|
||||
const treeItem: ManifestTreeItem = {
|
||||
type: 'treeItem',
|
||||
kind: 'entity',
|
||||
kind: 'unique',
|
||||
alias: 'Umb.TreeItem.RelationType',
|
||||
name: 'RelationType Tree Item',
|
||||
meta: {
|
||||
|
||||
@@ -16,7 +16,7 @@ export class UmbRelationTypeTreeRepository
|
||||
|
||||
async requestTreeRoot() {
|
||||
const data = {
|
||||
id: null,
|
||||
unique: null,
|
||||
entityType: UMB_RELATION_TYPE_ROOT_ENTITY_TYPE,
|
||||
name: 'Relation Types',
|
||||
hasChildren: true,
|
||||
|
||||
@@ -41,8 +41,8 @@ const getChildrenOf = (parentUnique: string | null) => {
|
||||
|
||||
const mapper = (item: NamedEntityTreeItemResponseModel): UmbRelationTypeTreeItemModel => {
|
||||
return {
|
||||
id: item.id,
|
||||
parentId: item.parent ? item.parent.id : null,
|
||||
unique: item.id,
|
||||
parentUnique: item.parent ? item.parent.id : null,
|
||||
name: item.name,
|
||||
entityType: 'relation-type',
|
||||
hasChildren: item.hasChildren,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
|
||||
import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
|
||||
import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/tree';
|
||||
import { UmbUniqueTreeStore } from '@umbraco-cms/backoffice/tree';
|
||||
|
||||
/**
|
||||
* @export
|
||||
@@ -8,7 +8,7 @@ import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/tree';
|
||||
* @extends {UmbStoreBase}
|
||||
* @description - Tree Data Store for Relation Type Items
|
||||
*/
|
||||
export class UmbRelationTypeTreeStore extends UmbEntityTreeStore {
|
||||
export class UmbRelationTypeTreeStore extends UmbUniqueTreeStore {
|
||||
/**
|
||||
* Creates an instance of UmbRelationTypeTreeStore.
|
||||
* @param {UmbControllerHostElement} host
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import type { UmbEntityTreeItemModel, UmbEntityTreeRootModel } from '@umbraco-cms/backoffice/tree';
|
||||
import { UmbUniqueTreeItemModel, UmbUniqueTreeRootModel } from '@umbraco-cms/backoffice/tree';
|
||||
|
||||
export interface UmbRelationTypeTreeItemModel extends UmbEntityTreeItemModel {}
|
||||
// TODO: TREE STORE TYPE PROBLEM:
|
||||
export interface UmbRelationTypeTreeRootModel extends UmbEntityTreeRootModel {}
|
||||
export interface UmbRelationTypeTreeItemModel extends UmbUniqueTreeItemModel {}
|
||||
export interface UmbRelationTypeTreeRootModel extends UmbUniqueTreeRootModel {}
|
||||
|
||||
@@ -98,7 +98,7 @@ export class UmbTemplatingInsertMenuElement extends UmbLitElement {
|
||||
#openInsertDictionaryItemModal() {
|
||||
this.#openModal = this._modalContext?.open(UMB_DICTIONARY_ITEM_PICKER_MODAL, {
|
||||
data: {
|
||||
pickableFilter: (item) => item.id !== null,
|
||||
pickableFilter: (item) => item.unique !== null,
|
||||
},
|
||||
});
|
||||
this.#openModal?.onSubmit().then((value) => {
|
||||
|
||||
@@ -61,7 +61,7 @@ export default class UmbChooseInsertTypeModalElement extends UmbModalBaseElement
|
||||
#openInsertDictionaryItemModal() {
|
||||
this.#openModal = this._modalContext?.open(UMB_DICTIONARY_ITEM_PICKER_MODAL, {
|
||||
data: {
|
||||
pickableFilter: (item) => item.id !== null,
|
||||
pickableFilter: (item) => item.unique !== null,
|
||||
},
|
||||
});
|
||||
this.#openModal?.onSubmit().then((dictionaryItemPickerModalValue) => {
|
||||
|
||||
Reference in New Issue
Block a user