import { UmbControllerBase } from "@umbraco-cms/backoffice/class-api";
import type { UmbApi } from "@umbraco-cms/backoffice/extension-api";
import type { UmbTreeRepository } from "@umbraco-cms/backoffice/tree";
const staticItems = [
{
unique: "1",
entityType: "my-item",
parent: { unique: null, entityType: "my-root" },
name: "First Item",
hasChildren: false,
isFolder: false,
icon: "icon-document",
},
{
unique: "2",
entityType: "my-item",
parent: { unique: null, entityType: "my-root" },
name: "Second Item",
hasChildren: false,
isFolder: false,
icon: "icon-document",
},
];
export class MyStaticTreeRepository
extends UmbControllerBase
implements UmbTreeRepository, UmbApi
{
async requestTreeRoot() {
return {
data: {
unique: null,
entityType: "my-root",
name: "My Static Tree",
hasChildren: true,
isFolder: true,
icon: "icon-folder",
},
};
}
async requestTreeRootItems() {
const items = staticItems.filter((item) => item.parent.unique === null);
return { data: { items, total: items.length } };
}
async requestTreeItemsOf(args) {
const items = staticItems.filter(
(item) => item.parent.unique === args.parent.unique
);
return { data: { items, total: items.length } };
}
async requestTreeItemAncestors() {
// Implement as needed
return { data: [] };
}
}
export { MyStaticTreeRepository as api };