nocobase/packages/core/client/src/schema-settings/SchemaSettingsPlugin.ts
Zeke Zhang 2468caeeb9
refactor(DataBlock): details block (#3776)
* refactor: remove useless code related 'TableField'

* refactor: add details block UI schema and hooks

* refactor: update details block schema and create new hook for details block without paging props

* refactor: add useDetailsBlockWithoutPagingDecoratorProps and useDetailsBlockWithPagingDecoratorProps

* test: add unit tests

* chore: fix build

* chore: fix import path for withDynamicSchemaProps

* fix: fix import typo in createDetailsBlockWithoutPagingUISchema test

* chore: fix unit test

* refactor: should not get collection on getting association in UISchema

* chore: fix unit test

* refactor: use x-use-component-props instead of useProps

* chore: fix Pagination

* chore: skip weird tests

* chore: remove weird test

* refactor: update details block initializers and associated schemas

* refactor: rename to useDetailsWithPaginationProps

* refactor: rename to useDetailsWithPaginationDecoratorProps

* refactor: rename to createDetailsWithPaginationUISchema

* chore: fix unit test

* refactor: rename to createDetailsUISchema

* refactor: rename to useDetailsDecoratorProps

* refactor: rename to useDetailsProps

* refactor: rename to 'blockSettings:details'

* chore: fix e2e
2024-03-28 08:48:58 +08:00

114 lines
7.9 KiB
TypeScript

import { Plugin } from '../application/Plugin';
import { addChildActionSettings } from '../modules/actions/add-child/addChildActionSettings';
import { addNewActionSettings } from '../modules/actions/add-new/addNewActionSettings';
import { customizeAddRecordActionSettings } from '../modules/actions/add-record/customizeAddRecordActionSettings';
import { bulkDeleteActionSettings } from '../modules/actions/bulk-destroy/bulkDeleteActionSettings';
import { deleteActionSettings } from '../modules/actions/delete/deleteActionSettings';
import { disassociateActionSettings } from '../modules/actions/disassociate/disassociateActionSettings';
import { expendableActionSettings } from '../modules/actions/expand-collapse/expendableActionSettings';
import { filterActionSettings } from '../modules/actions/filter/filterActionSettings';
import { refreshActionSettings } from '../modules/actions/refresh/refreshActionSettings';
import { customizeSaveRecordActionSettings } from '../modules/actions/save-record/customizeSaveRecordActionSettings';
import { createSubmitActionSettings } from '../modules/actions/submit/createSubmitActionSettings';
import { submitActionSettings, updateSubmitActionSettings } from '../modules/actions/submit/updateSubmitActionSettings';
import { customizeUpdateRecordActionSettings } from '../modules/actions/update-record/customizeUpdateRecordActionSettings';
import { customizePopupActionSettings } from '../modules/actions/view-edit-popup/customizePopupActionSettings';
import { editActionSettings } from '../modules/actions/view-edit-popup/editActionSettings';
import { viewActionSettings } from '../modules/actions/view-edit-popup/viewActionSettings';
import {
detailsWithPaginationSettings,
multiDataDetailsBlockSettings,
} from '../modules/blocks/data-blocks/details-multi/detailsWithPaginationSettings';
import {
detailsBlockSettings,
singleDataDetailsBlockSettings,
} from '../modules/blocks/data-blocks/details-single/detailsBlockSettings';
import {
createFormBlockSettings,
creationFormBlockSettings,
} from '../modules/blocks/data-blocks/form/createFormBlockSettings';
import { editFormBlockSettings } from '../modules/blocks/data-blocks/form/editFormBlockSettings';
import { fieldSettingsFormItem } from '../modules/blocks/data-blocks/form/fieldSettingsFormItem';
import { gridCardBlockSettings } from '../modules/blocks/data-blocks/grid-card/gridCardBlockSettings';
import { listBlockSettings } from '../modules/blocks/data-blocks/list/listBlockSettings';
import { tableSelectorBlockSettings } from '../modules/blocks/data-blocks/table-selector/tableSelectorBlockSettings';
import { tableBlockSettings } from '../modules/blocks/data-blocks/table/tableBlockSettings';
import { tableColumnSettings } from '../modules/blocks/data-blocks/table/tableColumnSettings';
import { filterCollapseBlockSettings } from '../modules/blocks/filter-blocks/collapse/filterCollapseBlockSettings';
import { filterCollapseItemFieldSettings } from '../modules/blocks/filter-blocks/collapse/filterCollapseItemFieldSettings';
import { filterFormBlockSettings } from '../modules/blocks/filter-blocks/form/filterFormBlockSettings';
import { filterFormItemFieldSettings } from '../modules/blocks/filter-blocks/form/filterFormItemFieldSettings';
import { markdownBlockSettings } from '../modules/blocks/other-blocks/markdown/markdownBlockSettings';
import { cascadeSelectComponentFieldSettings } from '../modules/fields/component/CascadeSelect/cascadeSelectComponentFieldSettings';
import { datePickerComponentFieldSettings } from '../modules/fields/component/DatePicker/datePickerComponentFieldSettings';
import { fileManagerComponentFieldSettings } from '../modules/fields/component/FileManager/fileManagerComponentFieldSettings';
import { uploadAttachmentComponentFieldSettings } from '../modules/fields/component/FileManager/uploadAttachmentComponentFieldSettings';
import { subformComponentFieldSettings } from '../modules/fields/component/Nester/subformComponentFieldSettings';
import { recordPickerComponentFieldSettings } from '../modules/fields/component/Picker/recordPickerComponentFieldSettings';
import { subformPopoverComponentFieldSettings } from '../modules/fields/component/PopoverNester/subformPopoverComponentFieldSettings';
import { selectComponentFieldSettings } from '../modules/fields/component/Select/selectComponentFieldSettings';
import { subTablePopoverComponentFieldSettings } from '../modules/fields/component/SubTable/subTablePopoverComponentFieldSettings';
import { tagComponentFieldSettings } from '../modules/fields/component/Tag/tagComponentFieldSettings';
import { unixTimestampComponentFieldSettings } from '../modules/fields/component/UnixTimestamp/unixTimestampComponentFieldSettings';
import { inputNumberComponentFieldSettings } from '../modules/fields/component/InputNumber/inputNumberComponentFieldSettings';
export class SchemaSettingsPlugin extends Plugin {
async load() {
// block settings
this.schemaSettingsManager.add(tableBlockSettings);
this.schemaSettingsManager.add(creationFormBlockSettings);
this.schemaSettingsManager.add(createFormBlockSettings);
this.schemaSettingsManager.add(editFormBlockSettings);
this.schemaSettingsManager.add(filterFormBlockSettings);
this.schemaSettingsManager.add(filterFormItemFieldSettings);
this.schemaSettingsManager.add(multiDataDetailsBlockSettings);
this.schemaSettingsManager.add(detailsWithPaginationSettings);
this.schemaSettingsManager.add(singleDataDetailsBlockSettings);
this.schemaSettingsManager.add(detailsBlockSettings);
this.schemaSettingsManager.add(tableSelectorBlockSettings);
this.schemaSettingsManager.add(listBlockSettings);
this.schemaSettingsManager.add(gridCardBlockSettings);
this.schemaSettingsManager.add(filterCollapseBlockSettings);
this.schemaSettingsManager.add(markdownBlockSettings);
// action settings
this.schemaSettingsManager.add(addNewActionSettings);
this.schemaSettingsManager.add(filterActionSettings);
this.schemaSettingsManager.add(refreshActionSettings);
this.schemaSettingsManager.add(viewActionSettings);
this.schemaSettingsManager.add(editActionSettings);
this.schemaSettingsManager.add(deleteActionSettings);
this.schemaSettingsManager.add(disassociateActionSettings);
this.schemaSettingsManager.add(bulkDeleteActionSettings);
this.schemaSettingsManager.add(customizeAddRecordActionSettings);
this.schemaSettingsManager.add(customizePopupActionSettings);
this.schemaSettingsManager.add(customizeUpdateRecordActionSettings);
this.schemaSettingsManager.add(createSubmitActionSettings);
this.schemaSettingsManager.add(updateSubmitActionSettings);
this.schemaSettingsManager.add(submitActionSettings);
this.schemaSettingsManager.add(customizeSaveRecordActionSettings);
this.schemaSettingsManager.add(addChildActionSettings);
this.schemaSettingsManager.add(expendableActionSettings);
// field settings
this.schemaSettingsManager.add(fieldSettingsFormItem);
this.schemaSettingsManager.add(tableColumnSettings);
this.schemaSettingsManager.add(filterCollapseItemFieldSettings);
// field component settings
this.schemaSettingsManager.add(selectComponentFieldSettings);
this.schemaSettingsManager.add(recordPickerComponentFieldSettings);
this.schemaSettingsManager.add(subformComponentFieldSettings);
this.schemaSettingsManager.add(subformPopoverComponentFieldSettings);
this.schemaSettingsManager.add(subTablePopoverComponentFieldSettings);
this.schemaSettingsManager.add(datePickerComponentFieldSettings);
this.schemaSettingsManager.add(unixTimestampComponentFieldSettings);
this.schemaSettingsManager.add(inputNumberComponentFieldSettings);
this.schemaSettingsManager.add(fileManagerComponentFieldSettings);
this.schemaSettingsManager.add(tagComponentFieldSettings);
this.schemaSettingsManager.add(cascadeSelectComponentFieldSettings);
this.schemaSettingsManager.add(uploadAttachmentComponentFieldSettings);
}
}