fix manifest kind, rename repository class, add tree root

This commit is contained in:
Julia Gru
2023-07-17 12:41:30 +02:00
parent 2ef5757825
commit 56ad30b6c8
4 changed files with 34 additions and 15 deletions

View File

@@ -1,4 +1,4 @@
import { UmbTemplateRepository } from '../repository/partial-views.repository.js';
import { UmbPartialViewsRepository } from '../repository/partial-views.repository.js';
import { PARTIAL_VIEW_REPOSITORY_ALIAS } from '../config.js';
import { UmbPartialViewsTreeStore } from './partial-views.tree.store.js';
import { UmbPartialViewsStore } from './partial-views.store.js';
@@ -8,7 +8,7 @@ const repository: ManifestRepository = {
type: 'repository',
alias: PARTIAL_VIEW_REPOSITORY_ALIAS,
name: 'Partial Views Repository',
class: UmbTemplateRepository,
class: UmbPartialViewsRepository,
};
export const PARTIAL_VIEW_STORE_ALIAS = 'Umb.Store.PartialViews';

View File

@@ -4,11 +4,14 @@ import { UmbPartialViewsTreeStore, UMB_PARTIAL_VIEW_TREE_STORE_CONTEXT_TOKEN } f
import { Observable } from '@umbraco-cms/backoffice/external/rxjs';
import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api';
import { ProblemDetails } from '@umbraco-cms/backoffice/backend-api';
import { EntityTreeItemResponseModel, ProblemDetails } from '@umbraco-cms/backoffice/backend-api';
import { UmbDetailRepository, UmbTreeRepository } from '@umbraco-cms/backoffice/repository';
import { UmbTreeRootEntityModel } from '@umbraco-cms/backoffice/tree';
import { PARTIAL_VIEW_ROOT_ENTITY_TYPE } from '../config.js';
export class UmbTemplateRepository implements UmbTreeRepository<any>, UmbDetailRepository<any> {
export class UmbPartialViewsRepository
implements UmbTreeRepository<EntityTreeItemResponseModel>, UmbDetailRepository<any>
{
#init;
#host: UmbControllerHostElement;
@@ -30,11 +33,6 @@ export class UmbTemplateRepository implements UmbTreeRepository<any>, UmbDetailR
]);
}
requestTreeRoot(): Promise<{ data?: UmbTreeRootEntityModel | undefined; error?: ProblemDetails | undefined }> {
//throw new Error('Method not implemented.');
return { data: undefined, error: undefined } as any;
}
requestItemsLegacy?:
| ((uniques: string[]) => Promise<{
data?: any[] | undefined;
@@ -58,6 +56,19 @@ export class UmbTemplateRepository implements UmbTreeRepository<any>, UmbDetailR
// TREE:
async requestTreeRoot() {
await this.#init;
const data = {
id: null,
type: PARTIAL_VIEW_ROOT_ENTITY_TYPE,
name: 'Partial Views',
icon: 'umb:folder',
hasChildren: true,
};
return { data };
}
async requestRootTreeItems() {
await this.#init;

View File

@@ -1,4 +1,9 @@
import { PARTIAL_VIEW_ENTITY_TYPE, PARTIAL_VIEW_REPOSITORY_ALIAS, PARTIAL_VIEW_TREE_ALIAS } from '../config.js';
import {
PARTIAL_VIEW_ENTITY_TYPE,
PARTIAL_VIEW_REPOSITORY_ALIAS,
PARTIAL_VIEW_ROOT_ENTITY_TYPE,
PARTIAL_VIEW_TREE_ALIAS,
} from '../config.js';
import type { ManifestTree, ManifestTreeItem } from '@umbraco-cms/backoffice/extension-registry';
const tree: ManifestTree = {
@@ -12,11 +17,11 @@ const tree: ManifestTree = {
const treeItem: ManifestTreeItem = {
type: 'treeItem',
kind: 'fileSystem',
kind: 'entity',
alias: 'Umb.TreeItem.PartialViews',
name: 'Partial Views Tree Item',
conditions: {
entityTypes: [PARTIAL_VIEW_ENTITY_TYPE],
entityTypes: [PARTIAL_VIEW_ENTITY_TYPE, PARTIAL_VIEW_ROOT_ENTITY_TYPE],
},
};

View File

@@ -1,10 +1,13 @@
import { UmbTemplateRepository } from '../repository/partial-views.repository.js';
import { UmbPartialViewsRepository } from '../repository/partial-views.repository.js';
import { createObservablePart, UmbDeepState } from '@umbraco-cms/backoffice/observable-api';
import { TemplateResponseModel } from '@umbraco-cms/backoffice/backend-api';
import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
import { UmbWorkspaceContext } from '@umbraco-cms/backoffice/workspace';
export class UmbPartialViewsWorkspaceContext extends UmbWorkspaceContext<UmbTemplateRepository, TemplateResponseModel> {
export class UmbPartialViewsWorkspaceContext extends UmbWorkspaceContext<
UmbPartialViewsRepository,
TemplateResponseModel
> {
getEntityId(): string | undefined {
throw new Error('Method not implemented.');
}
@@ -23,7 +26,7 @@ export class UmbPartialViewsWorkspaceContext extends UmbWorkspaceContext<UmbTemp
content = createObservablePart(this.#data, (data) => data?.content);
constructor(host: UmbControllerHostElement) {
super(host, new UmbTemplateRepository(host));
super(host, new UmbPartialViewsRepository(host));
}
getData() {