remove stylesheet overview logic

This commit is contained in:
Mads Rasmussen
2024-01-15 15:52:56 +01:00
parent f1b01f456a
commit 117f80806a
11 changed files with 1 additions and 157 deletions

View File

@@ -3,14 +3,7 @@ import { UmbMockFileSystemDetailManager } from '../file-system/file-system-detai
import { UmbMockFileSystemFolderManager } from '../file-system/file-system-folder.manager.js';
import { UmbMockFileSystemItemManager } from '../file-system/file-system-item.manager.js';
import { UmbMockFileSystemTreeManager } from '../file-system/file-system-tree.manager.js';
import { textFileItemMapper } from '../utils.js';
import { UmbMockStylesheetModel, data } from './stylesheet.data.js';
import { PagedStylesheetOverviewResponseModel } from '@umbraco-cms/backoffice/backend-api';
interface UmbMockPaginationModel {
skip?: number;
take?: number;
}
class UmbStylesheetMockDb extends UmbFileSystemMockDbBase<UmbMockStylesheetModel> {
tree = new UmbMockFileSystemTreeManager<UmbMockStylesheetModel>(this);
@@ -21,20 +14,6 @@ class UmbStylesheetMockDb extends UmbFileSystemMockDbBase<UmbMockStylesheetModel
constructor(data: Array<UmbMockStylesheetModel>) {
super(data);
}
getOverview(filterOptions: UmbMockPaginationModel = { skip: 0, take: 100 }): PagedStylesheetOverviewResponseModel {
const mockItems = this.getData();
const files = mockItems.filter((item) => item.isFolder === false);
const paginatedFiles = files.slice(filterOptions.skip, filterOptions.skip! + filterOptions.take!);
const responseItems = paginatedFiles.map((item) => {
return {
name: item.name,
path: item.path,
};
});
return { items: responseItems, total: mockItems.length };
}
}
export const umbStylesheetMockDb = new UmbStylesheetMockDb(data);

View File

@@ -2,14 +2,6 @@ import { folderHandlers } from './folder.handlers.js';
import { treeHandlers } from './tree.handlers.js';
import { detailHandlers } from './detail.handlers.js';
import { itemHandlers } from './item.handlers.js';
import { overviewHandlers } from './overview.handlers.js';
import { renameHandlers } from './rename.handlers.js';
export const handlers = [
...treeHandlers,
...itemHandlers,
...folderHandlers,
...overviewHandlers,
...renameHandlers,
...detailHandlers,
];
export const handlers = [...treeHandlers, ...itemHandlers, ...folderHandlers, ...renameHandlers, ...detailHandlers];

View File

@@ -1,16 +0,0 @@
const { rest } = window.MockServiceWorker;
import { umbStylesheetMockDb } from '../../data/stylesheet/stylesheet.db.js';
import { UMB_SLUG } from './slug.js';
import { umbracoPath } from '@umbraco-cms/backoffice/utils';
export const overviewHandlers = [
rest.get(umbracoPath(`${UMB_SLUG}/overview`), async (req, res, ctx) => {
const skipParam = req.url.searchParams.get('skip');
const takeParam = req.url.searchParams.get('take');
const response = umbStylesheetMockDb.getOverview({
skip: skipParam ? parseInt(skipParam) : undefined,
take: takeParam ? parseInt(takeParam) : undefined,
});
return res(ctx.status(200), ctx.json(response));
}),
];

View File

@@ -1 +0,0 @@
export * from './repository/index.js';

View File

@@ -1,3 +0,0 @@
import { manifests as repositoryManifests } from './repository/manifests.js';
export const manifests = [...repositoryManifests];

View File

@@ -1 +0,0 @@
export * from './stylesheet-collection.repository.js';

View File

@@ -1,13 +0,0 @@
import { UmbStylesheetCollectionRepository } from './stylesheet-collection.repository.js';
import { ManifestRepository } from '@umbraco-cms/backoffice/extension-registry';
export const UMB_STYLESHEET_COLLECTION_REPOSITORY_ALIAS = 'Umb.Repository.Stylesheet.Collection';
const repository: ManifestRepository = {
type: 'repository',
alias: UMB_STYLESHEET_COLLECTION_REPOSITORY_ALIAS,
name: 'Stylesheet Collection Repository',
api: UmbStylesheetCollectionRepository,
};
export const manifests = [repository];

View File

@@ -1,24 +0,0 @@
import { UmbStylesheetCollectionFilterModel, UmbStylesheetCollectionItemModel } from '../types.js';
import { UmbStylesheetCollectionServerDataSource } from './stylesheet-collection.server.data-source.js';
import { UmbCollectionDataSource, UmbCollectionRepository } from '@umbraco-cms/backoffice/repository';
import { type UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
import { UmbBaseController } from '@umbraco-cms/backoffice/class-api';
export class UmbStylesheetCollectionRepository extends UmbBaseController implements UmbCollectionRepository {
#collectionSource: UmbCollectionDataSource<UmbStylesheetCollectionItemModel>;
constructor(host: UmbControllerHost) {
super(host);
this.#collectionSource = new UmbStylesheetCollectionServerDataSource(this._host);
}
/**
* Requests the stylesheet collection
* @param {UmbStylesheetCollectionFilterModel} [filter={ take: 100, skip: 0 }]
* @return {*}
* @memberof UmbStylesheetCollectionRepository
*/
requestCollection(filter: UmbStylesheetCollectionFilterModel = { take: 100, skip: 0 }) {
return this.#collectionSource.getCollection(filter);
}
}

View File

@@ -1,51 +0,0 @@
import { UmbServerFilePathUniqueSerializer } from '@umbraco-cms/backoffice/server-file-system';
import { UmbStylesheetCollectionFilterModel, UmbStylesheetCollectionItemModel } from '../types.js';
import type { UmbCollectionDataSource } from '@umbraco-cms/backoffice/repository';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources';
import { StylesheetResource } from '@umbraco-cms/backoffice/backend-api';
/**
* A data source for the Stylesheet collection that fetches data from the server
* @export
* @class UmbStylesheetCollectionServerDataSource
* @implements {RepositoryDetailDataSource}
*/
export class UmbStylesheetCollectionServerDataSource
implements UmbCollectionDataSource<UmbStylesheetCollectionItemModel>
{
#host: UmbControllerHost;
#serverFilePathUniqueSerializer = new UmbServerFilePathUniqueSerializer();
/**
* Creates an instance of UmbStylesheetCollectionServerDataSource.
* @param {UmbControllerHost} host
* @memberof UmbStylesheetCollectionServerDataSource
*/
constructor(host: UmbControllerHost) {
this.#host = host;
}
/**
* Gets the stylesheet collection items from the server
* @param {UmbStylesheetCollectionFilterModel} filter
* @return {*}
* @memberof UmbStylesheetCollectionServerDataSource
*/
async getCollection(filter: UmbStylesheetCollectionFilterModel) {
const { data, error } = await tryExecuteAndNotify(this.#host, StylesheetResource.getStylesheetOverview(filter));
if (data) {
const items: Array<UmbStylesheetCollectionItemModel> = data.items.map((item) => {
return {
name: item.name,
unique: this.#serverFilePathUniqueSerializer.toUnique(item.path),
};
});
return { data: { items, total: data.total } };
}
return { error };
}
}

View File

@@ -1,16 +0,0 @@
export interface UmbStylesheetCollectionFilterModel {
/**
* The number of items to take.
*/
take?: number;
/**
* The number of items to skip.
*/
skip?: number;
}
export interface UmbStylesheetCollectionItemModel {
name: string;
unique: string;
}

View File

@@ -3,7 +3,6 @@ import { manifests as menuItemManifests } from './menu-item/manifests.js';
import { manifests as treeManifests } from './tree/manifests.js';
import { manifests as workspaceManifests } from './workspace/manifests.js';
import { manifests as entityActionManifests } from './entity-actions/manifests.js';
import { manifests as collectionManifests } from './collection/manifests.js';
import { manifests as componentManifests } from './components/manifests.js';
export const manifests = [
@@ -12,6 +11,5 @@ export const manifests = [
...treeManifests,
...workspaceManifests,
...entityActionManifests,
...collectionManifests,
...componentManifests,
];