add isTrashed to node and entity
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { entities } from './entities';
|
||||
|
||||
// Temp mocked database
|
||||
export class UmbData<T extends { id: number; key: string }> {
|
||||
export class UmbData<T extends { id: number; key: string; isTrashed: boolean }> {
|
||||
private _data: Array<T> = [];
|
||||
|
||||
constructor(data: Array<T>) {
|
||||
@@ -32,6 +32,15 @@ export class UmbData<T extends { id: number; key: string }> {
|
||||
return saveItems;
|
||||
}
|
||||
|
||||
trash(key: string) {
|
||||
const item = this.getByKey(key);
|
||||
if (!item) return;
|
||||
|
||||
item.isTrashed = true;
|
||||
this._updateEntity(item);
|
||||
return item;
|
||||
}
|
||||
|
||||
private _updateEntity(saveItem: T) {
|
||||
// TODO consider deep merge
|
||||
const entityIndex = entities.findIndex((item) => item.key === saveItem.key);
|
||||
|
||||
@@ -8,6 +8,7 @@ export const entities: Array<Entity> = [
|
||||
parentKey: '24fcd88a-d1bb-423b-b794-8a94dcddcb6a',
|
||||
name: 'Member 1',
|
||||
hasChildren: false,
|
||||
isTrashed: false,
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
@@ -16,6 +17,7 @@ export const entities: Array<Entity> = [
|
||||
parentKey: '24fcd88a-d1bb-423b-b794-8a94dcddcb6a',
|
||||
name: 'Member 2',
|
||||
hasChildren: true,
|
||||
isTrashed: false,
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
@@ -24,6 +26,7 @@ export const entities: Array<Entity> = [
|
||||
parentKey: '06c6919c-6fa7-4aa5-8214-0582c721c472',
|
||||
name: 'Member 3',
|
||||
hasChildren: false,
|
||||
isTrashed: false,
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
@@ -32,6 +35,7 @@ export const entities: Array<Entity> = [
|
||||
type: 'memberGroup',
|
||||
name: 'Member Group 1',
|
||||
hasChildren: false,
|
||||
isTrashed: false,
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
@@ -40,6 +44,7 @@ export const entities: Array<Entity> = [
|
||||
type: 'memberGroup',
|
||||
name: 'Member Group 2',
|
||||
hasChildren: false,
|
||||
isTrashed: false,
|
||||
},
|
||||
{
|
||||
id: 1245,
|
||||
@@ -47,6 +52,7 @@ export const entities: Array<Entity> = [
|
||||
parentKey: '3fd3eba5-c893-4d3c-af67-f574e6eded38',
|
||||
name: 'Text',
|
||||
hasChildren: false,
|
||||
isTrashed: false,
|
||||
type: 'dataType',
|
||||
},
|
||||
{
|
||||
@@ -55,6 +61,7 @@ export const entities: Array<Entity> = [
|
||||
parentKey: '3fd3eba5-c893-4d3c-af67-f574e6eded38',
|
||||
name: 'Textarea',
|
||||
hasChildren: false,
|
||||
isTrashed: false,
|
||||
type: 'dataType',
|
||||
},
|
||||
{
|
||||
@@ -63,6 +70,7 @@ export const entities: Array<Entity> = [
|
||||
parentKey: '3fd3eba5-c893-4d3c-af67-f574e6eded38',
|
||||
name: 'My JS Property Editor',
|
||||
hasChildren: false,
|
||||
isTrashed: false,
|
||||
type: 'dataType',
|
||||
},
|
||||
{
|
||||
@@ -71,6 +79,7 @@ export const entities: Array<Entity> = [
|
||||
parentKey: '3fd3eba5-c893-4d3c-af67-f574e6eded38',
|
||||
name: 'Context Example',
|
||||
hasChildren: false,
|
||||
isTrashed: false,
|
||||
type: 'dataType',
|
||||
},
|
||||
{
|
||||
@@ -79,6 +88,7 @@ export const entities: Array<Entity> = [
|
||||
parentKey: '3fd3eba5-c893-4d3c-af67-f574e6eded38',
|
||||
name: 'Content Picker (DataType)',
|
||||
hasChildren: false,
|
||||
isTrashed: false,
|
||||
type: 'dataType',
|
||||
},
|
||||
{
|
||||
@@ -87,6 +97,7 @@ export const entities: Array<Entity> = [
|
||||
name: 'Document Type 1',
|
||||
type: 'documentType',
|
||||
hasChildren: false,
|
||||
isTrashed: false,
|
||||
parentKey: '055a17d0-525a-4d06-9f75-92dc174ab0bd',
|
||||
},
|
||||
{
|
||||
@@ -95,6 +106,7 @@ export const entities: Array<Entity> = [
|
||||
name: 'Document Type 2',
|
||||
type: 'documentType',
|
||||
hasChildren: false,
|
||||
isTrashed: false,
|
||||
parentKey: '055a17d0-525a-4d06-9f75-92dc174ab0bd',
|
||||
},
|
||||
{
|
||||
@@ -104,6 +116,7 @@ export const entities: Array<Entity> = [
|
||||
type: 'media',
|
||||
icon: 'picture',
|
||||
hasChildren: false,
|
||||
isTrashed: false,
|
||||
parentKey: '',
|
||||
},
|
||||
{
|
||||
@@ -113,6 +126,7 @@ export const entities: Array<Entity> = [
|
||||
name: 'Media 2',
|
||||
icon: 'picture',
|
||||
hasChildren: false,
|
||||
isTrashed: false,
|
||||
parentKey: '',
|
||||
},
|
||||
{
|
||||
@@ -122,6 +136,7 @@ export const entities: Array<Entity> = [
|
||||
type: 'document',
|
||||
icon: 'document',
|
||||
hasChildren: false,
|
||||
isTrashed: false,
|
||||
parentKey: '',
|
||||
},
|
||||
{
|
||||
@@ -131,6 +146,7 @@ export const entities: Array<Entity> = [
|
||||
type: 'document',
|
||||
icon: 'favorite',
|
||||
hasChildren: false,
|
||||
isTrashed: false,
|
||||
parentKey: '',
|
||||
},
|
||||
{
|
||||
@@ -140,6 +156,7 @@ export const entities: Array<Entity> = [
|
||||
type: 'document',
|
||||
icon: 'document',
|
||||
hasChildren: false,
|
||||
isTrashed: false,
|
||||
parentKey: '',
|
||||
},
|
||||
];
|
||||
|
||||
@@ -9,6 +9,7 @@ export interface Entity {
|
||||
type: string;
|
||||
hasChildren: boolean; // TODO: Should this be here?
|
||||
parentKey: string;
|
||||
isTrashed: boolean;
|
||||
}
|
||||
|
||||
// Temp mocked database
|
||||
|
||||
@@ -9,6 +9,7 @@ export interface NodeEntity {
|
||||
properties: Array<NodeProperty>;
|
||||
data: Array<NodePropertyData>;
|
||||
variants: Array<any>; // TODO: define variant data
|
||||
isTrashed: boolean;
|
||||
//layout?: any; // TODO: define layout type - make it non-optional
|
||||
}
|
||||
|
||||
@@ -35,6 +36,7 @@ export const data: Array<NodeEntity> = [
|
||||
{
|
||||
id: 1,
|
||||
key: '74e4008a-ea4f-4793-b924-15e02fd380d1',
|
||||
isTrashed: false,
|
||||
name: 'Document 1',
|
||||
type: 'document',
|
||||
icon: 'document',
|
||||
@@ -85,6 +87,7 @@ export const data: Array<NodeEntity> = [
|
||||
{
|
||||
id: 2,
|
||||
key: '74e4008a-ea4f-4793-b924-15e02fd380d2',
|
||||
isTrashed: false,
|
||||
name: 'Document 2',
|
||||
type: 'document',
|
||||
icon: 'favorite',
|
||||
@@ -148,6 +151,7 @@ export const data: Array<NodeEntity> = [
|
||||
{
|
||||
id: 3,
|
||||
key: 'cdd30288-2d1c-41b4-89a9-61647b4a10d5',
|
||||
isTrashed: false,
|
||||
name: 'Document 3',
|
||||
type: 'document',
|
||||
icon: 'document',
|
||||
@@ -170,6 +174,7 @@ export const data: Array<NodeEntity> = [
|
||||
{
|
||||
id: 2001,
|
||||
key: 'f2f81a40-c989-4b6b-84e2-057cecd3adc1',
|
||||
isTrashed: false,
|
||||
name: 'Media 1',
|
||||
type: 'media',
|
||||
icon: 'picture',
|
||||
@@ -192,6 +197,7 @@ export const data: Array<NodeEntity> = [
|
||||
{
|
||||
id: 2002,
|
||||
key: '69431027-8867-45bf-a93b-72bbdabfb177',
|
||||
isTrashed: false,
|
||||
type: 'media',
|
||||
name: 'Media 2',
|
||||
icon: 'picture',
|
||||
|
||||
Reference in New Issue
Block a user