diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/content.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/content.data.ts index e17c80749d..8a4a483e18 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/content.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/content.data.ts @@ -1,3 +1,5 @@ +import { UmbData } from './data'; + export interface DocumentNode { id: number; key: string; @@ -133,30 +135,9 @@ export const data: Array = [ ]; // Temp mocked database -class UmbContentData { - private _data: Array = []; - +class UmbContentData extends UmbData { constructor() { - this._data = data; - } - - getById(id: number) { - return this._data.find((item) => item.id === id); - } - - save(nodes: DocumentNode[]) { - nodes.forEach((node) => { - const foundIndex = this._data.findIndex((item) => item.id === node.id); - if (foundIndex !== -1) { - // replace - this._data[foundIndex] = node; - } else { - // new - this._data.push(node); - } - }); - //console.log('save:', nodes); - return nodes; + super(data); } } diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/data-type.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/data-type.data.ts index d02d6bb1e3..2366a18730 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/data-type.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/data-type.data.ts @@ -1,3 +1,5 @@ +import { UmbData } from './data'; + export interface DataTypeEntity { id: number; key: string; @@ -34,34 +36,9 @@ export const data: Array = [ ]; // Temp mocked database -class UmbDataTypeData { - private _data: Array = []; - +class UmbDataTypeData extends UmbData { constructor() { - this._data = data; - } - - getById(id: number) { - return this._data.find((item) => item.id === id); - } - - getByKey(key: string) { - return this._data.find((item) => item.key === key); - } - - save(nodes: DataTypeEntity[]) { - nodes.forEach((node) => { - const foundIndex = this._data.findIndex((item) => item.id === node.id); - if (foundIndex !== -1) { - // replace - this._data[foundIndex] = node; - } else { - // new - this._data.push(node); - } - }); - //console.log('save:', nodes); - return nodes; + super(data); } } diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/data.ts new file mode 100644 index 0000000000..7d7bb1f3dc --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/data.ts @@ -0,0 +1,31 @@ +// Temp mocked database +export class UmbData { + private _data: Array = []; + + constructor(data: Array) { + this._data = data; + } + + getById(id: number) { + return this._data.find((item) => item.id === id); + } + + getByKey(key: string) { + return this._data.find((item) => item.key === key); + } + + save(data: Array) { + data.forEach((storedItem) => { + const foundIndex = this._data.findIndex((item) => item.id === storedItem.id); + if (foundIndex !== -1) { + // replace + this._data[foundIndex] = storedItem; + } else { + // new + this._data.push(storedItem); + } + }); + + return data; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/document-type.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/document-type.data.ts index d30542e212..6aed457c9a 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/document-type.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/document-type.data.ts @@ -1,3 +1,5 @@ +import { UmbData } from './data'; + export interface DocumentTypeEntity { id: number; key: string; @@ -21,29 +23,9 @@ export const data: Array = [ ]; // Temp mocked database -class UmbDocumentTypeData { - private _data: Array = []; - +class UmbDocumentTypeData extends UmbData { constructor() { - this._data = data; - } - - getById(id: number) { - return this._data.find((item) => item.id === id); - } - - save(nodes: DocumentTypeEntity[]) { - nodes.forEach((node) => { - const foundIndex = this._data.findIndex((item) => item.id === node.id); - if (foundIndex !== -1) { - // replace - this._data[foundIndex] = node; - } else { - // new - this._data.push(node); - } - }); - return nodes; + super(data); } } diff --git a/src/Umbraco.Web.UI.Client/src/mocks/domains/data-type.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/domains/data-type.handlers.ts index c24d57d02d..8fde9c760d 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/domains/data-type.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/domains/data-type.handlers.ts @@ -9,18 +9,18 @@ export const handlers = [ if (!id) return; const int = parseInt(id); - const document = umbDataTypeData.getById(int); + const dataType = umbDataTypeData.getById(int); - return res(ctx.status(200), ctx.json([document])); + return res(ctx.status(200), ctx.json([dataType])); }), rest.get('/umbraco/backoffice/data-type/by-key/:key', (req, res, ctx) => { const key = req.params.key as string; if (!key) return; - const document = umbDataTypeData.getByKey(key); + const dataType = umbDataTypeData.getByKey(key); - return res(ctx.status(200), ctx.json([document])); + return res(ctx.status(200), ctx.json([dataType])); }), rest.post('/umbraco/backoffice/data-type/save', (req, res, ctx) => {