mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-05-10 07:59:25 +08:00
* feat: new block template plugin * fix: build error * fix: support nested template in blocks * fix: remove undefined x-component properties from schema during template processing [skip ci] * feat: reset action for template block * fix: skip dnd error[skip ci] * fix: dupliate template action[skip ci] * fix: plugin not shown in test env * fix: reset action not been shown * fix: no permission error * fix: loading error in production env * fix: cross env dev error * fix: blocks not shown in production env * fix: insert template failing for the first time * chore: merge * fix: association record option not working correctly * fix: setting error * fix: setting * fix: linkage error * fix: association settings error * fix: association record error * feat: support edit form tpl * fix: support more blocks * fix: avoid nested template * chore: re org codes * chore: refactor[skip ci] * chore: required comment for loading template [skip ci] * refactor: simplify schema handling and add axios interceptors for template blocks[skip ci] * fix: i18n [skip ci] * feat: support showing template title in block * fix: revert to template will lost the template title * fix: delete operation removing blocks not working * fix: template label * fix: i18n error * fix: form type should be shown only when current record * feat: show template in the add new popup * fix: form type switch should not be shown in add new block popup * fix: missing i18n * fix: associate fields should be shown only having current record * fix: switching form not working in cn * fix: incorrect form associate setting * fix: uniq action issue * fix: uniq fields/actions[skip ci] * fix: style issue * fix: error in configure actions * fix: bulk destroy when no records selected * fix: only show revert to template config in the block level * fix: table refresh pagination incorrect after deletion * fix: be able to input name of template * fix: bulk destroy * fix: reset setting will sync with template * fix: block template table style * fix: missing translatation * fix: cache issue * fix: blocks not shown in the popup after modifing the template * feat: add search for template initializers * fix: some blocks are missing template related setting * fix: hide save as template in template configure view * chore: revert incorrect commit * fix: batchpatch error * fix: mobile support * fix: build error * fix: limit one template one block * feat: show revert to template for fields and actions * fix: build error * fix: revert to template not refreshing the ui for actions * fix: revert to template not working for form * fix: duplicate revert to setting setting item * chore: rename reset to revert * feat: disallow delete template's blocks in page * feat: add colorTemplateBgSettingsHover for template block hover state * fix: build error * chore: hide convert to block template setting item for page * fix: data template should be hidden in edit form * fix: fields switch should be disabled * chore: rename var [skip ci] * fix: should not be able remove field in block * fix: after revert settings, is able to remove block in template * fix: revert settings * fix: nested template block error * refactor: cache * fix: template key has not been validated in client side * fix: only show template that has been configured * feat: show template name in edit form * chore: update package.json * fix: duplicated fields after dnd in form * fix: duplicated fields shown in form * chore: hide old block template menu * feat: support mobile block template [skip ci] * fix: filter for type options [skip ci] * fix: incorrect create new button style [skip ci] * feat: add mobile block support * fix: can't restrict one template one block [skip ci] * fix: template title not synced after editing template * fix: keep block deletion should transform the template block to normal block * fix: insert template fails for the first time * fix: destroy error * fix: deploy failure [skip ci] * fix: destory error in subapp with sub domain * fix: destroy error * fix: popup action should be hidden in create new form [skip ci] * fix: possible crash when converting template to block [skip ci] * fix: some properties have not been revert in real time * fix: fitler action condition error * fix: useDataBlockResource error * fix: revert settings not refresh filter action form [skip ci] * fix: new template properties clear * fix: custom request action can't be shown * fix: template tab should not be removable * fix: duplicated delete action in table column * fix: field link popup not shown in block template page * fix: page configure link not working correctly * chore: revert useContextVaraible [skip ci] * fix(popup): fix configured page not taking effect * fix: add blocks button shown in block settings * fix: only loading 20 templates * fix: add block icon has been shown [skip ci] * fix: association not shown in block template configure page * fix: edit association form error [skip ci] * fix: console error [skip ci] * fix: only current field has been refreshed after revert to template [skip ci] * chore: remove incorrect commit file [skip ci] * fix: some action delete action still be shown for template block [skip ci] * fix: template block style[skip ci] * fix: keep position when rever setting[skip ci] * fix: revert to template error when already deleted from block [skip ci] * fix: revert still works even the template has been deleted * fix: popup not shown as template block [skip ci] * fix: bulk destory can't keep blocks[skip ci] * fix: after dnd some unique blocks may be duplicated in the client [skip ci] * fix: duplicate fields error in form * fix: revert setting incorrect [skip ci] * fix: duplicated sub form * refactor: simplify by moving template loading to backend [skip ci] * fix: failing to add template block [skip ci] * fix: assign fields values in bulk update action [skip ci] * fix: can't add fields in nester popup subform [skip ci] * fix: sub-table sub-form not merged correctly [skip ci] * fix: subtable not highlight unique fields correctly [skip ci] * fix: block title will not be synced correctly [skip ci] * fix: can't add block into template [skip ci] * fix: revert setting not refreshed [skip ci] * fix: block template title not correct in some cases [skip ci] * fix: field link's popup merge[skip ci] * fix: cannot read properties of null in some popup [skip ci] * fix: position of ui components have not been saved after dnd [skip ci] * fix: dnd position not saved correctly in some cases [skip ci] * fix: dnd undefined type error [skip ci] * fix: can't swtich form type * fix: some form type switch error [skip ci] * fix: hide chart block from templates [skip ci] * feat: support hide some blocks from template [skip ci] * fix: react error for revert submit button of edit form [skip ci] * fix: hide workflow and approvar block from template * fix: hide connect data block from template [skip ci] * fix: error [skip ci] * fix: associate record options have not been shown for create form [skip ci] * fix: creat form popup will be shown after refresh if switch form type [skip ci] * fix: associate record settings error [skip ci] * fix: mobile template setting page can not open popup [skip ci] * fix: mobile content overflow [skip ci] * chore: update templates menu style [skip ci] * fix: unique disassociate btn [skip ci] * feat: save collection and component info while update template * fix: clear template context info after remove block * chore: update template block entry point * fix: incorrect association field template block [skip ci] * fix: template title only shown after refresh * fix: tooltip can't be revert correctly after moving entry to submenu [skip ci] * fix: incorrect behavior after adding collection submenu entries [skip ci] * fix: edit form support * fix: support current details [skip ci] * fix: edit form btn not correct [skip ci] * fix: create form action params [skip ci] * fix: hide template menu entry in block template configure page [skip ci] * fix: incorrect association [skip ci] * fix: nested template [skip ci] * fix: can't insert template in mobile [skip ci] * fix: association title not correct for details block [skip ci] * chore: remove incorrect submodules commit [skip ci] * fix: create form is using post method [skip ci] * fix: association hasone and belongsto details block error [skip ci] * fix: edit form not able load data [skip ci] * chore: hide tab bar in mobile template configure page [skip ci] * fix: don't show no accessible pages for template configure page [skip ci] * fix: not able to see template list on the first time opening popup [skip ci] * fix: able to remove related approvals template block [skip ci] * fix: data not loading for details hasone relationship [skip ci] * fix: dnd position may not be saved [skip ci] * fix: multi-step-form is able to delete template step[skip ci] * fix: hide rever setting in multi step form step name [skip ci] * fix: extrol wrap when adding blocks from template [skip ci] * fix: nested schema patch [skip ci] * fix: x-acl-action not correct[skip ci] * fix: diassociate action should be unique [skip ci] * fix: disassociate action not unique [skip ci] * fix: mobile popup by url not working [skip ci] * chore: code clean * chore: update delete setting position [skip ci] * chore: keep revert btn position consistant in all places [skip ci] * chore: hide template from workflow setting page [skip ci] * chore: update setting menu icon [skip ci] * chore: rename provider name to avoid duplicated with core [skip ci] * chore: move block template menu to an upper level [skip ci] * fix: hide other block templates menu [skip ci] * fix: hide other blocks when creating template * fix: duplicate revert to template option * fix: mail manager template block not shown in popup * fix: main block not showing in popup * chore: mark old template features as deprecated * chore: hide deprecated templates in block template configure page * fix: read x-virtual from null * fix: ci test error * fix: skip old templates e2e test cases * fix: skip old templates e2e test cases --------- Co-authored-by: Zeke Zhang <958414905@qq.com>
249 lines
13 KiB
TypeScript
249 lines
13 KiB
TypeScript
/**
|
|
* This file is part of the NocoBase (R) project.
|
|
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
* Authors: NocoBase Team.
|
|
*
|
|
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
*/
|
|
|
|
import { Plugin } from '../application/Plugin';
|
|
import { CreateChildInitializer } from '../modules/actions/add-child/CreateChildInitializer';
|
|
import { CreateActionInitializer } from '../modules/actions/add-new/CreateActionInitializer';
|
|
import {
|
|
createFormBlockInitializers,
|
|
createFormBlockInitializers_deprecated,
|
|
} from '../modules/actions/add-new/createFormBlockInitializers';
|
|
import {
|
|
customizeCreateFormBlockInitializers,
|
|
customizeCreateFormBlockInitializers_deprecated,
|
|
} from '../modules/actions/add-record/customizeCreateFormBlockInitializers';
|
|
import { BulkDestroyActionInitializer } from '../modules/actions/bulk-destroy/BulkDestroyActionInitializer';
|
|
import { DestroyActionInitializer } from '../modules/actions/delete/DestroyActionInitializer';
|
|
import { DisassociateActionInitializer } from '../modules/actions/disassociate/DisassociateActionInitializer';
|
|
import { ExpandableActionInitializer } from '../modules/actions/expand-collapse/ExpandableActionInitializer';
|
|
import { FilterActionInitializer } from '../modules/actions/filter/FilterActionInitializer';
|
|
import { RefreshActionInitializer } from '../modules/actions/refresh/RefreshActionInitializer';
|
|
import { CreateSubmitActionInitializer } from '../modules/actions/submit/CreateSubmitActionInitializer';
|
|
import { UpdateSubmitActionInitializer } from '../modules/actions/submit/UpdateSubmitActionInitializer';
|
|
import { UpdateRecordActionInitializer } from '../modules/actions/update-record/UpdateRecordActionInitializer';
|
|
import { PopupActionInitializer } from '../modules/actions/view-edit-popup/PopupActionInitializer';
|
|
import { LinkActionInitializer } from '../modules/actions/link/LinkActionInitializer';
|
|
|
|
import { recordFormBlockInitializers } from '../modules/actions/view-edit-popup/RecordFormBlockInitializers';
|
|
import { UpdateActionInitializer } from '../modules/actions/view-edit-popup/UpdateActionInitializer';
|
|
import { ViewActionInitializer } from '../modules/actions/view-edit-popup/ViewActionInitializer';
|
|
import {
|
|
detailsActionInitializers,
|
|
detailsActionInitializers_deprecated,
|
|
} from '../modules/blocks/data-blocks/details-multi/DetailsActionInitializers';
|
|
import { DetailsBlockInitializer } from '../modules/blocks/data-blocks/details-multi/DetailsBlockInitializer';
|
|
import {
|
|
readPrettyFormActionInitializers,
|
|
readPrettyFormActionInitializers_deprecated,
|
|
} from '../modules/blocks/data-blocks/details-single/ReadPrettyFormActionInitializers';
|
|
import {
|
|
readPrettyFormItemInitializers,
|
|
readPrettyFormItemInitializers_deprecated,
|
|
} from '../modules/blocks/data-blocks/details-single/ReadPrettyFormItemInitializers';
|
|
import { RecordReadPrettyFormBlockInitializer } from '../modules/blocks/data-blocks/details-single/RecordReadPrettyFormBlockInitializer';
|
|
import { FormBlockInitializer } from '../modules/blocks/data-blocks/form/FormBlockInitializer';
|
|
import { RecordFormBlockInitializer } from '../modules/blocks/data-blocks/form/RecordFormBlockInitializer';
|
|
import {
|
|
createFormActionInitializers,
|
|
createFormActionInitializers_deprecated,
|
|
} from '../modules/blocks/data-blocks/form/createFormActionInitializers';
|
|
import { formActionInitializers } from '../modules/blocks/data-blocks/form/formActionInitializers';
|
|
import {
|
|
formItemInitializers,
|
|
formItemInitializers_deprecated,
|
|
} from '../modules/blocks/data-blocks/form/formItemInitializers';
|
|
import {
|
|
updateFormActionInitializers,
|
|
updateFormActionInitializers_deprecated,
|
|
} from '../modules/blocks/data-blocks/form/updateFormActionInitializers';
|
|
import {
|
|
gridCardActionInitializers,
|
|
gridCardActionInitializers_deprecated,
|
|
} from '../modules/blocks/data-blocks/grid-card/GridCardActionInitializers';
|
|
import { GridCardBlockInitializer } from '../modules/blocks/data-blocks/grid-card/GridCardBlockInitializer';
|
|
import {
|
|
gridCardItemActionInitializers,
|
|
gridCardItemActionInitializers_deprecated,
|
|
} from '../modules/blocks/data-blocks/grid-card/gridCardItemActionInitializers';
|
|
import {
|
|
listActionInitializers,
|
|
listActionInitializers_deprecated,
|
|
} from '../modules/blocks/data-blocks/list/ListActionInitializers';
|
|
import { ListBlockInitializer } from '../modules/blocks/data-blocks/list/ListBlockInitializer';
|
|
import {
|
|
listItemActionInitializers,
|
|
listItemActionInitializers_deprecated,
|
|
} from '../modules/blocks/data-blocks/list/listItemActionInitializers';
|
|
import { TableSelectorInitializer } from '../modules/blocks/data-blocks/table-selector/TableSelectorInitializer';
|
|
import {
|
|
tableActionColumnInitializers,
|
|
tableActionColumnInitializers_deprecated,
|
|
} from '../modules/blocks/data-blocks/table/TableActionColumnInitializers';
|
|
import {
|
|
tableActionInitializers,
|
|
tableActionInitializers_deprecated,
|
|
} from '../modules/blocks/data-blocks/table/TableActionInitializers';
|
|
import { TableBlockInitializer } from '../modules/blocks/data-blocks/table/TableBlockInitializer';
|
|
import {
|
|
tableColumnInitializers,
|
|
tableColumnInitializers_deprecated,
|
|
} from '../modules/blocks/data-blocks/table/TableColumnInitializers';
|
|
import { FilterCollapseBlockInitializer } from '../modules/blocks/filter-blocks/collapse/FilterCollapseBlockInitializer';
|
|
import {
|
|
filterFormActionInitializers,
|
|
filterFormActionInitializers_deprecated,
|
|
} from '../modules/blocks/filter-blocks/form/FilterFormActionInitializers';
|
|
import { FilterFormBlockInitializer } from '../modules/blocks/filter-blocks/form/FilterFormBlockInitializer';
|
|
import {
|
|
filterFormItemInitializers,
|
|
filterFormItemInitializers_deprecated,
|
|
} from '../modules/blocks/filter-blocks/form/filterFormItemInitializers';
|
|
import { MarkdownBlockInitializer } from '../modules/blocks/other-blocks/markdown/MarkdownBlockInitializer';
|
|
import { MarkdownFormItemInitializer } from '../modules/blocks/other-blocks/markdown/MarkdownFormItemInitializer';
|
|
import {
|
|
tableSelectorInitializers,
|
|
tableSelectorInitializers_deprecated,
|
|
} from '../modules/fields/component/Picker/TableSelectorInitializers';
|
|
import { CollectionFieldInitializer } from '../modules/fields/initializer/CollectionFieldInitializer';
|
|
import { TableCollectionFieldInitializer } from '../modules/fields/initializer/TableCollectionFieldInitializer';
|
|
import { menuItemInitializer, menuItemInitializer_deprecated } from '../modules/menu/menuItemInitializer';
|
|
import { blockInitializers, blockInitializers_deprecated } from '../modules/page/BlockInitializers';
|
|
import { DividerFormItemInitializer } from '../modules/blocks/other-blocks/divider/DividerFormItemInitializer';
|
|
import { AssociateActionInitializer } from '../modules/actions/associate/AssociateActionInitializer';
|
|
import { AssociateActionProvider } from '../modules/actions/associate/AssociateActionProvider';
|
|
import {
|
|
customFormItemInitializers,
|
|
customFormItemInitializers_deprecated,
|
|
recordBlockInitializers,
|
|
recordBlockInitializers_deprecated,
|
|
subTableActionInitializers,
|
|
subTableActionInitializers_deprecated,
|
|
tabPaneInitializers,
|
|
tabPaneInitializersForBulkEditFormBlock,
|
|
tabPaneInitializersForRecordBlock,
|
|
tabPaneInitializers_deprecated,
|
|
} from './buttons';
|
|
import * as initializerComponents from './components';
|
|
import * as items from './items';
|
|
export * from './buttons';
|
|
export * from './items';
|
|
export {
|
|
createDetailsBlockSchema,
|
|
createFormBlockSchema,
|
|
createReadPrettyFormBlockSchema,
|
|
createTableBlockSchema,
|
|
gridRowColWrap,
|
|
itemsMerge,
|
|
useAssociatedFormItemInitializerFields,
|
|
useAssociatedTableColumnInitializerFields,
|
|
useCollectionDataSourceItems,
|
|
useCurrentSchema,
|
|
useFormItemInitializerFields,
|
|
useInheritsTableColumnInitializerFields,
|
|
useRecordCollectionDataSourceItems,
|
|
useRemoveGridFormItem,
|
|
useTableColumnInitializerFields,
|
|
registerInitializerMenusGenerator,
|
|
} from './utils';
|
|
|
|
export class SchemaInitializerPlugin extends Plugin {
|
|
async load() {
|
|
this.app.addComponents({
|
|
...initializerComponents,
|
|
...items,
|
|
DestroyActionInitializer,
|
|
FormBlockInitializer,
|
|
RecordFormBlockInitializer,
|
|
TableBlockInitializer,
|
|
TableSelectorInitializer,
|
|
RecordReadPrettyFormBlockInitializer,
|
|
DetailsBlockInitializer,
|
|
ListBlockInitializer,
|
|
GridCardBlockInitializer,
|
|
FilterFormBlockInitializer,
|
|
FilterCollapseBlockInitializer,
|
|
MarkdownBlockInitializer,
|
|
MarkdownFormItemInitializer,
|
|
TableCollectionFieldInitializer,
|
|
CollectionFieldInitializer,
|
|
CreateActionInitializer,
|
|
CreateChildInitializer,
|
|
ViewActionInitializer,
|
|
UpdateActionInitializer,
|
|
PopupActionInitializer,
|
|
LinkActionInitializer,
|
|
UpdateRecordActionInitializer,
|
|
CreateSubmitActionInitializer,
|
|
UpdateSubmitActionInitializer,
|
|
BulkDestroyActionInitializer,
|
|
ExpandableActionInitializer,
|
|
DisassociateActionInitializer,
|
|
FilterActionInitializer,
|
|
RefreshActionInitializer,
|
|
DividerFormItemInitializer,
|
|
AssociateActionInitializer,
|
|
AssociateActionProvider,
|
|
} as any);
|
|
|
|
this.app.schemaInitializerManager.add(blockInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(blockInitializers);
|
|
this.app.schemaInitializerManager.add(tableActionInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(tableActionInitializers);
|
|
this.app.schemaInitializerManager.add(tableColumnInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(tableColumnInitializers);
|
|
this.app.schemaInitializerManager.add(tableActionColumnInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(tableActionColumnInitializers);
|
|
this.app.schemaInitializerManager.add(formItemInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(formItemInitializers);
|
|
this.app.schemaInitializerManager.add(formActionInitializers);
|
|
this.app.schemaInitializerManager.add(detailsActionInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(detailsActionInitializers);
|
|
this.app.schemaInitializerManager.add(readPrettyFormItemInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(readPrettyFormItemInitializers);
|
|
this.app.schemaInitializerManager.add(readPrettyFormActionInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(readPrettyFormActionInitializers);
|
|
this.app.schemaInitializerManager.add(createFormBlockInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(createFormBlockInitializers);
|
|
this.app.schemaInitializerManager.add(customizeCreateFormBlockInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(customizeCreateFormBlockInitializers);
|
|
this.app.schemaInitializerManager.add(customFormItemInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(customFormItemInitializers);
|
|
this.app.schemaInitializerManager.add(filterFormActionInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(filterFormActionInitializers);
|
|
this.app.schemaInitializerManager.add(createFormActionInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(createFormActionInitializers);
|
|
this.app.schemaInitializerManager.add(updateFormActionInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(updateFormActionInitializers);
|
|
this.app.schemaInitializerManager.add(filterFormItemInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(filterFormItemInitializers);
|
|
this.app.schemaInitializerManager.add(gridCardActionInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(gridCardActionInitializers);
|
|
this.app.schemaInitializerManager.add(gridCardItemActionInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(gridCardItemActionInitializers);
|
|
|
|
this.app.schemaInitializerManager.add(listActionInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(listActionInitializers);
|
|
this.app.schemaInitializerManager.add(listItemActionInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(listItemActionInitializers);
|
|
this.app.schemaInitializerManager.add(recordBlockInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(recordBlockInitializers);
|
|
this.app.schemaInitializerManager.add(recordFormBlockInitializers);
|
|
this.app.schemaInitializerManager.add(subTableActionInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(subTableActionInitializers);
|
|
this.app.schemaInitializerManager.add(tableSelectorInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(tableSelectorInitializers);
|
|
this.app.schemaInitializerManager.add(tabPaneInitializers_deprecated);
|
|
this.app.schemaInitializerManager.add(tabPaneInitializers);
|
|
this.app.schemaInitializerManager.add(tabPaneInitializersForRecordBlock);
|
|
this.app.schemaInitializerManager.add(tabPaneInitializersForBulkEditFormBlock);
|
|
this.app.schemaInitializerManager.add(menuItemInitializer_deprecated);
|
|
this.app.schemaInitializerManager.add(menuItemInitializer);
|
|
}
|
|
}
|