diff --git a/packages/core/client/src/schema-initializer/demos/dynamic-visible-children.tsx b/packages/core/client/src/schema-initializer/demos/dynamic-visible-children.tsx
index 94c04554d..eac229826 100644
--- a/packages/core/client/src/schema-initializer/demos/dynamic-visible-children.tsx
+++ b/packages/core/client/src/schema-initializer/demos/dynamic-visible-children.tsx
@@ -8,7 +8,7 @@ import {
import React from 'react';
const myInitializer = new SchemaInitializer({
- name: 'MyInitializer',
+ name: 'myInitializer',
designable: true,
title: 'Button Text',
items: [
@@ -59,7 +59,7 @@ const myInitializer = new SchemaInitializer({
});
const Root = () => {
- const { render } = useSchemaInitializerRender('MyInitializer');
+ const { render } = useSchemaInitializerRender('myInitializer');
return
{render()}
;
};
diff --git a/packages/core/client/src/schema-initializer/demos/insert-schema-action.tsx b/packages/core/client/src/schema-initializer/demos/insert-schema-action.tsx
index 7a273c084..0ee7db75d 100644
--- a/packages/core/client/src/schema-initializer/demos/insert-schema-action.tsx
+++ b/packages/core/client/src/schema-initializer/demos/insert-schema-action.tsx
@@ -12,7 +12,7 @@ import {
import React from 'react';
const addActionInitializer = new SchemaInitializer({
- name: 'AddAction',
+ name: 'addAction',
title: 'Configure actions',
// 插入位置
insertPosition: 'beforeEnd',
@@ -65,7 +65,7 @@ const Root = () => {
// 指定初始化的按钮组件,
// Table、Form、Details、Calendar、Kanban 等等不同区块
// 可以根据情况组装自己的 initializer
- 'x-initializer': 'AddAction',
+ 'x-initializer': 'addAction',
properties: {
action1: {
type: 'void',
diff --git a/packages/core/client/src/schema-initializer/demos/insert-schema-basic.tsx b/packages/core/client/src/schema-initializer/demos/insert-schema-basic.tsx
index 6da9a5cdc..53f7ee5fb 100644
--- a/packages/core/client/src/schema-initializer/demos/insert-schema-basic.tsx
+++ b/packages/core/client/src/schema-initializer/demos/insert-schema-basic.tsx
@@ -36,7 +36,7 @@ function Demo() {
}
const myInitializer = new SchemaInitializer({
- name: 'MyInitializer',
+ name: 'myInitializer',
title: 'Add Block',
// 插入位置
insertPosition: 'beforeEnd',
@@ -55,7 +55,7 @@ const myInitializer = new SchemaInitializer({
});
const AddBlockButton = observer(() => {
- const { render } = useSchemaInitializerRender('MyInitializer');
+ const { render } = useSchemaInitializerRender('myInitializer');
return render();
});
diff --git a/packages/core/client/src/schema-initializer/demos/insert-schema-form-item.tsx b/packages/core/client/src/schema-initializer/demos/insert-schema-form-item.tsx
index 9368462c9..a7c9c5b55 100644
--- a/packages/core/client/src/schema-initializer/demos/insert-schema-form-item.tsx
+++ b/packages/core/client/src/schema-initializer/demos/insert-schema-form-item.tsx
@@ -67,7 +67,7 @@ const TextInitializer: FC = () => {
};
const addFormItemInitializer = new SchemaInitializer({
- name: 'AddFormItem',
+ name: 'addFormItem',
title: 'Configure actions',
insertPosition: 'beforeEnd',
items: [
@@ -91,7 +91,7 @@ const addFormItemInitializer = new SchemaInitializer({
});
const Page = (props) => {
- const { render } = useSchemaInitializerRender('AddFormItem');
+ const { render } = useSchemaInitializerRender('addFormItem');
return (
{props.children}
diff --git a/packages/core/client/src/schema-initializer/demos/nested-items.tsx b/packages/core/client/src/schema-initializer/demos/nested-items.tsx
index 187eb5fac..0ff86b6a7 100644
--- a/packages/core/client/src/schema-initializer/demos/nested-items.tsx
+++ b/packages/core/client/src/schema-initializer/demos/nested-items.tsx
@@ -69,7 +69,7 @@ const Demo = () => {
};
const myInitializer = new SchemaInitializer({
- name: 'MyInitializer',
+ name: 'myInitializer',
designable: true,
title: 'Button Text',
items: [
@@ -99,7 +99,7 @@ const myInitializer = new SchemaInitializer({
});
const Root = () => {
- const { render } = useSchemaInitializerRender('MyInitializer');
+ const { render } = useSchemaInitializerRender('myInitializer');
return
{render()}
;
};
@@ -115,7 +115,7 @@ class MyPlugin extends Plugin {
class MyPlugin2 extends Plugin {
async load() {
- const myInitializer = this.app.schemaInitializerManager.get('MyInitializer');
+ const myInitializer = this.app.schemaInitializerManager.get('myInitializer');
// 嵌套添加
myInitializer.add('a.a4', {
diff --git a/packages/core/client/src/schema-initializer/index.ts b/packages/core/client/src/schema-initializer/index.ts
index ee6d1f2ef..cc68d9725 100644
--- a/packages/core/client/src/schema-initializer/index.ts
+++ b/packages/core/client/src/schema-initializer/index.ts
@@ -1,9 +1,15 @@
import { Plugin } from '../application/Plugin';
import { CreateChildInitializer } from '../modules/actions/add-child/CreateChildInitializer';
import { CreateActionInitializer } from '../modules/actions/add-new/CreateActionInitializer';
-import { createFormBlockInitializers } from '../modules/actions/add-new/createFormBlockInitializers';
+import {
+ createFormBlockInitializers,
+ createFormBlockInitializers_deprecated,
+} from '../modules/actions/add-new/createFormBlockInitializers';
import { CustomizeAddRecordActionInitializer } from '../modules/actions/add-record/CustomizeAddRecordActionInitializer';
-import { customizeCreateFormBlockInitializers } from '../modules/actions/add-record/customizeCreateFormBlockInitializers';
+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 { ExpandableActionInitializer } from '../modules/actions/expand-collapse/ExpandableActionInitializer';
@@ -17,47 +23,98 @@ import { PopupActionInitializer } from '../modules/actions/view-edit-popup/Popup
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 } from '../modules/blocks/data-blocks/details-multi/DetailsActionInitializers';
+import {
+ detailsActionInitializers,
+ detailsActionInitializers_deprecated,
+} from '../modules/blocks/data-blocks/details-multi/DetailsActionInitializers';
import { DetailsBlockInitializer } from '../modules/blocks/data-blocks/details-multi/DetailsBlockInitializer';
-import { readPrettyFormActionInitializers } from '../modules/blocks/data-blocks/details-single/ReadPrettyFormActionInitializers';
-import { readPrettyFormItemInitializers } from '../modules/blocks/data-blocks/details-single/ReadPrettyFormItemInitializers';
+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 { CreateFormBlockInitializer } from '../modules/blocks/data-blocks/form/CreateFormBlockInitializer';
import { FormBlockInitializer } from '../modules/blocks/data-blocks/form/FormBlockInitializer';
import { RecordFormBlockInitializer } from '../modules/blocks/data-blocks/form/RecordFormBlockInitializer';
-import { createFormActionInitializers } from '../modules/blocks/data-blocks/form/createFormActionInitializers';
+import {
+ createFormActionInitializers,
+ createFormActionInitializers_deprecated,
+} from '../modules/blocks/data-blocks/form/createFormActionInitializers';
import { formActionInitializers } from '../modules/blocks/data-blocks/form/formActionInitializers';
-import { formItemInitializers } from '../modules/blocks/data-blocks/form/formItemInitializers';
-import { updateFormActionInitializers } from '../modules/blocks/data-blocks/form/updateFormActionInitializers';
-import { gridCardActionInitializers } from '../modules/blocks/data-blocks/grid-card/GridCardActionInitializers';
+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 } from '../modules/blocks/data-blocks/grid-card/gridCardItemActionInitializers';
-import { listActionInitializers } from '../modules/blocks/data-blocks/list/ListActionInitializers';
+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 } from '../modules/blocks/data-blocks/list/listItemActionInitializers';
+import {
+ listItemActionInitializers,
+ listItemActionInitializers_deprecated,
+} from '../modules/blocks/data-blocks/list/listItemActionInitializers';
import { TableSelectorInitializer } from '../modules/blocks/data-blocks/table-selector/TableSelectorInitializer';
-import { tableActionColumnInitializers } from '../modules/blocks/data-blocks/table/TableActionColumnInitializers';
-import { tableActionInitializers } from '../modules/blocks/data-blocks/table/TableActionInitializers';
+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 } from '../modules/blocks/data-blocks/table/TableColumnInitializers';
+import {
+ tableColumnInitializers,
+ tableColumnInitializers_deprecated,
+} from '../modules/blocks/data-blocks/table/TableColumnInitializers';
import { FilterCollapseBlockInitializer } from '../modules/blocks/filter-blocks/collapse/FilterCollapseBlockInitializer';
-import { filterFormActionInitializers } from '../modules/blocks/filter-blocks/form/FilterFormActionInitializers';
+import {
+ filterFormActionInitializers,
+ filterFormActionInitializers_deprecated,
+} from '../modules/blocks/filter-blocks/form/FilterFormActionInitializers';
import { FilterFormBlockInitializer } from '../modules/blocks/filter-blocks/form/FilterFormBlockInitializer';
-import { filterFormItemInitializers } from '../modules/blocks/filter-blocks/form/filterFormItemInitializers';
+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 } from '../modules/fields/component/Picker/TableSelectorInitializers';
+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 } from '../modules/menu/menuItemInitializer';
-import { blockInitializers } from '../modules/page/BlockInitializers';
+import { menuItemInitializer, menuItemInitializer_deprecated } from '../modules/menu/menuItemInitializer';
+import { blockInitializers, blockInitializers_deprecated } from '../modules/page/BlockInitializers';
import {
customFormItemInitializers,
+ customFormItemInitializers_deprecated,
recordBlockInitializers,
+ recordBlockInitializers_deprecated,
subTableActionInitializers,
- tabPaneInitializers,
+ subTableActionInitializers_deprecated,
tabPaneInitializersForBulkEditFormBlock,
tabPaneInitializersForRecordBlock,
+ tabPaneInitializers_deprecated,
} from './buttons';
import * as initializerComponents from './components';
import * as items from './items';
@@ -118,35 +175,57 @@ export class SchemaInitializerPlugin extends Plugin {
RefreshActionInitializer,
} 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);
+ this.app.schemaInitializerManager.add(tabPaneInitializers_deprecated);
this.app.schemaInitializerManager.add(tabPaneInitializersForRecordBlock);
this.app.schemaInitializerManager.add(tabPaneInitializersForBulkEditFormBlock);
- this.app.schemaInitializerManager.add(createFormBlockInitializers);
+ this.app.schemaInitializerManager.add(menuItemInitializer_deprecated);
this.app.schemaInitializerManager.add(menuItemInitializer);
}
}
diff --git a/packages/core/client/src/schema-initializer/items/RecordAssociationFormBlockInitializer.tsx b/packages/core/client/src/schema-initializer/items/RecordAssociationFormBlockInitializer.tsx
index 0d22eec64..274f94941 100644
--- a/packages/core/client/src/schema-initializer/items/RecordAssociationFormBlockInitializer.tsx
+++ b/packages/core/client/src/schema-initializer/items/RecordAssociationFormBlockInitializer.tsx
@@ -23,8 +23,8 @@ export const RecordAssociationFormBlockInitializer = () => {
onClick={async ({ item }) => {
const action = ['hasOne', 'belongsTo'].includes(field.type) ? 'get' : null;
const actionInitializers = ['hasOne', 'belongsTo'].includes(field.type)
- ? 'UpdateFormActionInitializers'
- : 'CreateFormActionInitializers';
+ ? 'editForm:configureActions'
+ : 'createForm:configureActions';
if (item.template) {
const s = await getTemplateSchemaByMode(item);
diff --git a/packages/core/client/src/schema-initializer/items/RecordReadPrettyAssociationFormBlockInitializer.tsx b/packages/core/client/src/schema-initializer/items/RecordReadPrettyAssociationFormBlockInitializer.tsx
index 503c1c7b2..83b662f17 100644
--- a/packages/core/client/src/schema-initializer/items/RecordReadPrettyAssociationFormBlockInitializer.tsx
+++ b/packages/core/client/src/schema-initializer/items/RecordReadPrettyAssociationFormBlockInitializer.tsx
@@ -20,7 +20,7 @@ export const RecordReadPrettyAssociationFormBlockInitializer = () => {
const resource = `${field.collectionName}.${field.name}`;
const { block } = useBlockRequestContext();
- const actionInitializers = block !== 'TableField' ? 'ReadPrettyFormActionInitializers' : null;
+ const actionInitializers = block !== 'TableField' ? 'details:configureActions' : null;
return (
{
grid: {
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'TableSelectorInitializers',
+ 'x-initializer': 'popup:tableSelector:addBlock',
properties: {},
},
footer: {
@@ -41,7 +41,7 @@ export const SelectActionInitializer = (props) => {
'x-component': 'Action',
// 'x-designer': 'Action.Designer',
'x-toolbar': 'ActionSchemaToolbar',
- 'x-settings': 'actionSettings:updateSubmit',
+ 'x-settings': 'actionSettings:submit',
'x-component-props': {
type: 'primary',
htmlType: 'submit',
diff --git a/packages/core/client/src/schema-initializer/items/SubmitActionInitializer.tsx b/packages/core/client/src/schema-initializer/items/SubmitActionInitializer.tsx
index f3f0afb84..c0edbf266 100644
--- a/packages/core/client/src/schema-initializer/items/SubmitActionInitializer.tsx
+++ b/packages/core/client/src/schema-initializer/items/SubmitActionInitializer.tsx
@@ -9,7 +9,7 @@ export const SubmitActionInitializer = (props) => {
'x-component': 'Action',
// 'x-designer': 'Action.Designer',
'x-toolbar': 'ActionSchemaToolbar',
- 'x-settings': 'actionSettings:updateSubmit',
+ 'x-settings': 'actionSettings:submit',
'x-component-props': {
type: 'primary',
htmlType: 'submit',
diff --git a/packages/core/client/src/schema-initializer/items/TableActionColumnInitializer.tsx b/packages/core/client/src/schema-initializer/items/TableActionColumnInitializer.tsx
index 604c77935..33d833d6b 100644
--- a/packages/core/client/src/schema-initializer/items/TableActionColumnInitializer.tsx
+++ b/packages/core/client/src/schema-initializer/items/TableActionColumnInitializer.tsx
@@ -10,7 +10,7 @@ export const TableActionColumnInitializer = () => {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
'x-action-column': 'actions',
properties: {
[uid()]: {
diff --git a/packages/core/client/src/schema-initializer/utils.ts b/packages/core/client/src/schema-initializer/utils.ts
index 5640e698b..34411a58e 100644
--- a/packages/core/client/src/schema-initializer/utils.ts
+++ b/packages/core/client/src/schema-initializer/utils.ts
@@ -857,8 +857,8 @@ export const useCollectionDataSourceItems = (
export const createDetailsBlockSchema = (options) => {
const {
- formItemInitializers = 'ReadPrettyFormItemInitializers',
- actionInitializers = 'DetailsActionInitializers',
+ formItemInitializers = 'details:configureFields',
+ actionInitializers = 'detailsWithPaging:configureActions',
collection,
dataSource,
association,
@@ -930,9 +930,9 @@ export const createDetailsBlockSchema = (options) => {
export const createListBlockSchema = (options) => {
const {
- formItemInitializers = 'ReadPrettyFormItemInitializers',
- actionInitializers = 'ListActionInitializers',
- itemActionInitializers = 'ListItemActionInitializers',
+ formItemInitializers = 'details:configureFields',
+ actionInitializers = 'list:configureActions',
+ itemActionInitializers = 'list:configureItemActions',
collection,
dataSource,
association,
@@ -1020,9 +1020,9 @@ export const createListBlockSchema = (options) => {
export const createGridCardBlockSchema = (options) => {
const {
- formItemInitializers = 'ReadPrettyFormItemInitializers',
- actionInitializers = 'GridCardActionInitializers',
- itemActionInitializers = 'GridCardItemActionInitializers',
+ formItemInitializers = 'details:configureFields',
+ actionInitializers = 'gridCard:configureActions',
+ itemActionInitializers = 'gridCard:configureItemActions',
collection,
association,
resource,
@@ -1112,8 +1112,8 @@ export const createGridCardBlockSchema = (options) => {
};
export const createFormBlockSchema = (options) => {
const {
- formItemInitializers = 'FormItemInitializers',
- actionInitializers = 'FormActionInitializers',
+ formItemInitializers = 'form:configureFields',
+ actionInitializers = 'createForm:configureActions',
collection,
resource,
dataSource,
@@ -1185,8 +1185,8 @@ export const createFormBlockSchema = (options) => {
export const createFilterFormBlockSchema = (options) => {
const {
- formItemInitializers = 'FilterFormItemInitializers',
- actionInitializers = 'FilterFormActionInitializers',
+ formItemInitializers = 'filterForm:configureFields',
+ actionInitializers = 'filterForm:configureActions',
collection,
resource,
association,
@@ -1250,8 +1250,8 @@ export const createFilterFormBlockSchema = (options) => {
export const createReadPrettyFormBlockSchema = (options) => {
const {
- formItemInitializers = 'ReadPrettyFormItemInitializers',
- actionInitializers = 'ReadPrettyFormActionInitializers',
+ formItemInitializers = 'details:configureFields',
+ actionInitializers = 'details:configureActions',
collection,
association,
dataSource,
@@ -1353,7 +1353,7 @@ export const createTableBlockSchema = (options) => {
properties: {
actions: {
type: 'void',
- 'x-initializer': tableActionInitializers ?? 'TableActionInitializers',
+ 'x-initializer': tableActionInitializers ?? 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -1364,7 +1364,7 @@ export const createTableBlockSchema = (options) => {
},
[uid()]: {
type: 'array',
- 'x-initializer': tableColumnInitializers ?? 'TableColumnInitializers',
+ 'x-initializer': tableColumnInitializers ?? 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -1381,7 +1381,7 @@ export const createTableBlockSchema = (options) => {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': tableActionColumnInitializers ?? 'TableActionColumnInitializers',
+ 'x-initializer': tableActionColumnInitializers ?? 'table:configureItemActions',
properties: {
[uid()]: {
type: 'void',
@@ -1424,7 +1424,7 @@ export const createCollapseBlockSchema = (options) => {
[uid()]: {
type: 'void',
'x-action': 'associateFilter',
- 'x-initializer': 'AssociationFilterInitializers',
+ 'x-initializer': 'filterCollapse:configureFields',
'x-component': 'AssociationFilter',
properties: {},
},
@@ -1457,7 +1457,7 @@ export const createTableSelectorSchema = (options) => {
properties: {
[uid()]: {
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -1468,7 +1468,7 @@ export const createTableSelectorSchema = (options) => {
},
value: {
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2.Selector',
'x-component-props': {
rowSelection: {
diff --git a/packages/core/client/src/schema-settings/demos/demo3.tsx b/packages/core/client/src/schema-settings/demos/demo3.tsx
index 4a6d52d53..0161c525c 100644
--- a/packages/core/client/src/schema-settings/demos/demo3.tsx
+++ b/packages/core/client/src/schema-settings/demos/demo3.tsx
@@ -28,7 +28,7 @@ const mySettings = new SchemaSettings({
});
const myInitializer = new SchemaInitializer({
- name: 'MyInitializer',
+ name: 'myInitializer',
// 按钮标题标题
title: 'Button Text',
wrap: Grid.wrap,
@@ -80,7 +80,7 @@ const HelloPage = () => {
name: 'hello',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'MyInitializer',
+ 'x-initializer': 'myInitializer',
}}
/>
diff --git a/packages/core/test/src/e2e/e2eUtils.ts b/packages/core/test/src/e2e/e2eUtils.ts
index b6409575f..1dc9fe9c0 100644
--- a/packages/core/test/src/e2e/e2eUtils.ts
+++ b/packages/core/test/src/e2e/e2eUtils.ts
@@ -526,7 +526,7 @@ const createPage = async (options?: CreatePageOptions) => {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
'x-uid': uid(),
name: gridName,
},
@@ -864,7 +864,7 @@ export async function expectInitializerMenu({ showMenu, supportedOptions, page }
* @param name
*/
export const createBlockInPage = async (page: Page, name: string) => {
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
if (name === 'Form') {
await page.getByText('Form', { exact: true }).first().hover();
diff --git a/packages/core/test/src/e2e/templatesOfPage.ts b/packages/core/test/src/e2e/templatesOfPage.ts
index a87be8b28..1273488fd 100644
--- a/packages/core/test/src/e2e/templatesOfPage.ts
+++ b/packages/core/test/src/e2e/templatesOfPage.ts
@@ -56,7 +56,7 @@ export const tabPageEmpty: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
'x-uid': 'ir8tvhr1xqi',
'x-async': false,
'x-index': 1,
@@ -153,7 +153,7 @@ export const oneEmptyTable: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
fdkznek8n9o: {
_isJSONSchemaObject: true,
@@ -193,7 +193,7 @@ export const oneEmptyTable: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -208,7 +208,7 @@ export const oneEmptyTable: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -227,7 +227,7 @@ export const oneEmptyTable: PageConfig = {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -295,7 +295,7 @@ export const oneEmptyForm: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
cxk2aa058lc: {
_isJSONSchemaObject: true,
@@ -340,7 +340,7 @@ export const oneEmptyForm: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
'x-uid': 'y6qzidbf0lm',
'x-async': false,
'x-index': 1,
@@ -349,7 +349,7 @@ export const oneEmptyForm: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'FormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -405,7 +405,7 @@ export const oneEmptyFormWithActions: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
ybhtsluv6ay: {
_isJSONSchemaObject: true,
@@ -450,7 +450,7 @@ export const oneEmptyFormWithActions: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
'x-uid': '9gcg27ewld4',
'x-async': false,
'x-index': 1,
@@ -459,7 +459,7 @@ export const oneEmptyFormWithActions: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'FormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -571,7 +571,7 @@ export const oneEmptyDetailsBlock: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
'x-index': 1,
properties: {
cnp4fnntodr: {
@@ -619,7 +619,7 @@ export const oneEmptyDetailsBlock: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'DetailsActionInitializers',
+ 'x-initializer': 'detailsWithPaging:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -635,7 +635,7 @@ export const oneEmptyDetailsBlock: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
'x-uid': 'sldwwd6jq6g',
'x-async': false,
'x-index': 2,
@@ -699,7 +699,7 @@ export const oneEmptyListBlock: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
'x-index': 1,
properties: {
wpm7v8svnpo: {
@@ -738,7 +738,7 @@ export const oneEmptyListBlock: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'ListActionInitializers',
+ 'x-initializer': 'list:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -773,7 +773,7 @@ export const oneEmptyListBlock: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
'x-initializer-props': {
useProps: '{{ useListItemInitializerProps }}',
},
@@ -786,7 +786,7 @@ export const oneEmptyListBlock: PageConfig = {
version: '2.0',
type: 'void',
'x-align': 'left',
- 'x-initializer': 'ListItemActionInitializers',
+ 'x-initializer': 'list:configureItemActions',
'x-component': 'ActionBar',
'x-component-props': {
useProps: '{{ useListActionBarProps }}',
@@ -848,7 +848,7 @@ export const oneEmptyGridCardBlock: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
'x-index': 1,
properties: {
x22u60kld4t: {
@@ -890,7 +890,7 @@ export const oneEmptyGridCardBlock: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'GridCardActionInitializers',
+ 'x-initializer': 'gridCard:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -925,7 +925,7 @@ export const oneEmptyGridCardBlock: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
'x-initializer-props': {
useProps: '{{ useGridCardItemInitializerProps }}',
},
@@ -938,7 +938,7 @@ export const oneEmptyGridCardBlock: PageConfig = {
version: '2.0',
type: 'void',
'x-align': 'left',
- 'x-initializer': 'GridCardItemActionInitializers',
+ 'x-initializer': 'gridCard:configureItemActions',
'x-component': 'ActionBar',
'x-component-props': {
useProps: '{{ useGridCardActionBarProps }}',
@@ -1000,7 +1000,7 @@ export const oneEmptyFilterFormBlock: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
'x-index': 1,
properties: {
mk7wdkfacfo: {
@@ -1043,7 +1043,7 @@ export const oneEmptyFilterFormBlock: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FilterFormItemInitializers',
+ 'x-initializer': 'filterForm:configureFields',
'x-uid': 'yls3c6j92ex',
'x-async': false,
'x-index': 1,
@@ -1052,7 +1052,7 @@ export const oneEmptyFilterFormBlock: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'FilterFormActionInitializers',
+ 'x-initializer': 'filterForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -1111,7 +1111,7 @@ export const oneEmptyFilterCollapseBlock: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
'x-index': 1,
properties: {
vnikc8bt477: {
@@ -1196,7 +1196,7 @@ export const oneEmptyTableBlockWithActions: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
'x-index': 1,
properties: {
'1m4gz110aaw': {
@@ -1237,7 +1237,7 @@ export const oneEmptyTableBlockWithActions: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -1315,7 +1315,7 @@ export const oneEmptyTableBlockWithActions: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'CreateFormBlockInitializers',
+ 'x-initializer': 'popup:addNew:addBlock',
'x-uid': 'k0zm3uifn6v',
'x-async': false,
'x-index': 1,
@@ -1434,7 +1434,7 @@ export const oneEmptyTableBlockWithActions: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'CusomeizeCreateFormBlockInitializers',
+ 'x-initializer': 'popup:addRecord:addBlock',
'x-uid': '60wmk833o7b',
'x-async': false,
'x-index': 1,
@@ -1468,7 +1468,7 @@ export const oneEmptyTableBlockWithActions: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -1487,7 +1487,7 @@ export const oneEmptyTableBlockWithActions: PageConfig = {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -1547,7 +1547,7 @@ export const oneEmptyTableBlockWithActions: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
'x-uid': '1m4fg88bmp6',
'x-async': false,
'x-index': 1,
@@ -1621,7 +1621,7 @@ export const oneEmptyTableBlockWithActions: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
'x-uid': 'zjv8mf85knj',
'x-async': false,
'x-index': 1,
@@ -1720,7 +1720,7 @@ export const oneEmptyTableBlockWithActions: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'CreateFormBlockInitializers',
+ 'x-initializer': 'popup:addNew:addBlock',
'x-uid': 'vtcnkzcaeec',
'x-async': false,
'x-index': 1,
@@ -1804,7 +1804,7 @@ export const oneTableBlockWithActionsAndFormBlocks: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
n6xy1x7hh3l: {
_isJSONSchemaObject: true,
@@ -1844,7 +1844,7 @@ export const oneTableBlockWithActionsAndFormBlocks: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -1922,7 +1922,7 @@ export const oneTableBlockWithActionsAndFormBlocks: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'CreateFormBlockInitializers',
+ 'x-initializer': 'popup:addNew:addBlock',
properties: {
'7tcjyx5gipn': {
_isJSONSchemaObject: true,
@@ -1967,7 +1967,7 @@ export const oneTableBlockWithActionsAndFormBlocks: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
'x-uid': '3h8z0005y9o',
'x-async': false,
'x-index': 1,
@@ -1976,7 +1976,7 @@ export const oneTableBlockWithActionsAndFormBlocks: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'CreateFormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -2127,7 +2127,7 @@ export const oneTableBlockWithActionsAndFormBlocks: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'CusomeizeCreateFormBlockInitializers',
+ 'x-initializer': 'popup:addRecord:addBlock',
properties: {
vdhd3r5uw3r: {
_isJSONSchemaObject: true,
@@ -2173,7 +2173,7 @@ export const oneTableBlockWithActionsAndFormBlocks: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
'x-uid': 'kin1do2rmxl',
'x-async': false,
'x-index': 1,
@@ -2182,7 +2182,7 @@ export const oneTableBlockWithActionsAndFormBlocks: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'FormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -2248,7 +2248,7 @@ export const oneTableBlockWithActionsAndFormBlocks: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -2267,7 +2267,7 @@ export const oneTableBlockWithActionsAndFormBlocks: PageConfig = {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -2327,7 +2327,7 @@ export const oneTableBlockWithActionsAndFormBlocks: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
tg0zrjeg91v: {
_isJSONSchemaObject: true,
@@ -2372,8 +2372,7 @@ export const oneTableBlockWithActionsAndFormBlocks: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer':
- 'ReadPrettyFormActionInitializers',
+ 'x-initializer': 'details:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -2389,8 +2388,7 @@ export const oneTableBlockWithActionsAndFormBlocks: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer':
- 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
'x-uid': 'cbavg5h8yd3',
'x-async': false,
'x-index': 2,
@@ -2489,7 +2487,7 @@ export const oneTableBlockWithActionsAndFormBlocks: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
kvt96oyiaij: {
_isJSONSchemaObject: true,
@@ -2537,7 +2535,7 @@ export const oneTableBlockWithActionsAndFormBlocks: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
'x-uid': 'mlnbbyffhjc',
'x-async': false,
'x-index': 1,
@@ -2546,7 +2544,7 @@ export const oneTableBlockWithActionsAndFormBlocks: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'UpdateFormActionInitializers',
+ 'x-initializer': 'editForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -2662,7 +2660,7 @@ export const oneEmptyTableBlockWithCustomizeActions: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
'x-index': 1,
properties: {
'1m4gz110aaw': {
@@ -2703,7 +2701,7 @@ export const oneEmptyTableBlockWithCustomizeActions: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -2765,7 +2763,7 @@ export const oneEmptyTableBlockWithCustomizeActions: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BulkEditBlockInitializers',
+ 'x-initializer': 'popup:bulkEdit:addBlock',
'x-uid': '3gjmo60w4de',
'x-async': false,
'x-index': 1,
@@ -2799,7 +2797,7 @@ export const oneEmptyTableBlockWithCustomizeActions: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -2818,7 +2816,7 @@ export const oneEmptyTableBlockWithCustomizeActions: PageConfig = {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -2884,7 +2882,7 @@ export const oneFormBlockWithRolesFieldBasedUsers: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
'x-index': 1,
properties: {
f998lh2qg2h: {
@@ -2930,7 +2928,7 @@ export const oneFormBlockWithRolesFieldBasedUsers: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
'91d8jzkh9r5': {
_isJSONSchemaObject: true,
@@ -2973,7 +2971,7 @@ export const oneFormBlockWithRolesFieldBasedUsers: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'TableSelectorInitializers',
+ 'x-initializer': 'popup:tableSelector:addBlock',
'x-uid': 'lzt548tlewj',
'x-async': false,
'x-index': 1,
@@ -3044,7 +3042,7 @@ export const oneFormBlockWithRolesFieldBasedUsers: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'FormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -3102,7 +3100,7 @@ export const oneFormBlockWithAllAssociationFieldsAndSelectorMode: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
f3fq1mwccgr: {
_isJSONSchemaObject: true,
@@ -3147,7 +3145,7 @@ export const oneFormBlockWithAllAssociationFieldsAndSelectorMode: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
'7dnk9dcjavn': {
_isJSONSchemaObject: true,
@@ -3190,7 +3188,7 @@ export const oneFormBlockWithAllAssociationFieldsAndSelectorMode: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'TableSelectorInitializers',
+ 'x-initializer': 'popup:tableSelector:addBlock',
'x-uid': 'dge1apckyd3',
'x-async': false,
'x-index': 1,
@@ -3293,7 +3291,7 @@ export const oneFormBlockWithAllAssociationFieldsAndSelectorMode: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'TableSelectorInitializers',
+ 'x-initializer': 'popup:tableSelector:addBlock',
'x-uid': 'k6nd50abevi',
'x-async': false,
'x-index': 1,
@@ -3396,7 +3394,7 @@ export const oneFormBlockWithAllAssociationFieldsAndSelectorMode: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'TableSelectorInitializers',
+ 'x-initializer': 'popup:tableSelector:addBlock',
'x-uid': '2i6td26ppt2',
'x-async': false,
'x-index': 1,
@@ -3499,7 +3497,7 @@ export const oneFormBlockWithAllAssociationFieldsAndSelectorMode: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'TableSelectorInitializers',
+ 'x-initializer': 'popup:tableSelector:addBlock',
'x-uid': 'zlj99lap4yq',
'x-async': false,
'x-index': 1,
@@ -3602,7 +3600,7 @@ export const oneFormBlockWithAllAssociationFieldsAndSelectorMode: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'TableSelectorInitializers',
+ 'x-initializer': 'popup:tableSelector:addBlock',
'x-uid': 'ssclmlysxxl',
'x-async': false,
'x-index': 1,
@@ -3673,7 +3671,7 @@ export const oneFormBlockWithAllAssociationFieldsAndSelectorMode: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'FormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -3733,7 +3731,7 @@ export const oneDetailBlockWithM2oFieldToGeneral: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
'40g1gedv1hg': {
_isJSONSchemaObject: true,
@@ -3780,7 +3778,7 @@ export const oneDetailBlockWithM2oFieldToGeneral: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'DetailsActionInitializers',
+ 'x-initializer': 'detailsWithPaging:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -3796,7 +3794,7 @@ export const oneDetailBlockWithM2oFieldToGeneral: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
properties: {
rp7rbwiym41: {
_isJSONSchemaObject: true,
@@ -3902,7 +3900,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
'2i2th7yfrlz': {
_isJSONSchemaObject: true,
@@ -3942,7 +3940,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -4003,7 +4001,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'CreateFormBlockInitializers',
+ 'x-initializer': 'popup:addNew:addBlock',
properties: {
'7soqvrflnps': {
_isJSONSchemaObject: true,
@@ -4048,7 +4046,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
s251k4sz6zy: {
_isJSONSchemaObject: true,
@@ -4449,7 +4447,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'CreateFormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -4537,7 +4535,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -4556,7 +4554,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFields: PageConfig = {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -4616,7 +4614,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
'1yv7y62q3u0': {
_isJSONSchemaObject: true,
@@ -4661,8 +4659,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer':
- 'ReadPrettyFormActionInitializers',
+ 'x-initializer': 'details:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -4719,7 +4716,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFields: PageConfig = {
type: 'void',
'x-component': 'Grid',
'x-initializer':
- 'RecordBlockInitializers',
+ 'popup:common:addBlock',
'x-uid': 'dz4i8jw4kqz',
'x-async': false,
'x-index': 1,
@@ -4754,8 +4751,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer':
- 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
properties: {
kdxsyya4m45: {
_isJSONSchemaObject: true,
@@ -5255,7 +5251,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
cw6dlprjcwy: {
_isJSONSchemaObject: true,
@@ -5303,7 +5299,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
'9uqlmdu75wk': {
_isJSONSchemaObject: true,
@@ -5713,7 +5709,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'UpdateFormActionInitializers',
+ 'x-initializer': 'editForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -5871,7 +5867,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFieldsAndSubTable: Pag
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
mbtse8e9kap: {
_isJSONSchemaObject: true,
@@ -5911,7 +5907,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFieldsAndSubTable: Pag
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -5926,7 +5922,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFieldsAndSubTable: Pag
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -5945,7 +5941,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFieldsAndSubTable: Pag
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -6007,7 +6003,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFieldsAndSubTable: Pag
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
trny88kf0bk: {
_isJSONSchemaObject: true,
@@ -6055,7 +6051,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFieldsAndSubTable: Pag
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
'7mwkv9h74ki': {
_isJSONSchemaObject: true,
@@ -6090,7 +6086,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFieldsAndSubTable: Pag
'x-component':
'AssociationField.SubTable',
'x-initializer':
- 'TableColumnInitializers',
+ 'table:configureColumns',
'x-initializer-props': {
action: false,
},
@@ -6162,7 +6158,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndBasicFieldsAndSubTable: Pag
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'UpdateFormActionInitializers',
+ 'x-initializer': 'editForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -6280,7 +6276,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndChoicesFields: PageConfig =
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
bjxj2sjr36f: {
_isJSONSchemaObject: true,
@@ -6320,7 +6316,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndChoicesFields: PageConfig =
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -6381,7 +6377,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndChoicesFields: PageConfig =
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'CreateFormBlockInitializers',
+ 'x-initializer': 'popup:addNew:addBlock',
properties: {
xgwlijx7tl0: {
_isJSONSchemaObject: true,
@@ -6426,7 +6422,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndChoicesFields: PageConfig =
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
'0k83zkmy257': {
_isJSONSchemaObject: true,
@@ -6661,7 +6657,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndChoicesFields: PageConfig =
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'CreateFormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -6749,7 +6745,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndChoicesFields: PageConfig =
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -6768,7 +6764,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndChoicesFields: PageConfig =
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -6830,7 +6826,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndChoicesFields: PageConfig =
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
'1xwjbso8iwl': {
_isJSONSchemaObject: true,
@@ -6875,8 +6871,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndChoicesFields: PageConfig =
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer':
- 'ReadPrettyFormActionInitializers',
+ 'x-initializer': 'details:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -6933,7 +6928,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndChoicesFields: PageConfig =
type: 'void',
'x-component': 'Grid',
'x-initializer':
- 'RecordBlockInitializers',
+ 'popup:common:addBlock',
'x-uid': 'wbrtmx39s4q',
'x-async': false,
'x-index': 1,
@@ -6968,8 +6963,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndChoicesFields: PageConfig =
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer':
- 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
properties: {
u1uz4vfwcd7: {
_isJSONSchemaObject: true,
@@ -7294,7 +7288,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndChoicesFields: PageConfig =
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
t2x4eztgl9z: {
_isJSONSchemaObject: true,
@@ -7342,7 +7336,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndChoicesFields: PageConfig =
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
lq1mdgniw87: {
_isJSONSchemaObject: true,
@@ -7577,7 +7571,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndChoicesFields: PageConfig =
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'UpdateFormActionInitializers',
+ 'x-initializer': 'editForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -7717,7 +7711,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndMediaFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
kworhysix0k: {
_isJSONSchemaObject: true,
@@ -7757,7 +7751,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndMediaFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -7818,7 +7812,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndMediaFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'CreateFormBlockInitializers',
+ 'x-initializer': 'popup:addNew:addBlock',
properties: {
q5fy0fkcotq: {
_isJSONSchemaObject: true,
@@ -7863,7 +7857,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndMediaFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
j8pqhlswvky: {
_isJSONSchemaObject: true,
@@ -7981,7 +7975,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndMediaFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'CreateFormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -8069,7 +8063,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndMediaFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -8088,7 +8082,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndMediaFields: PageConfig = {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -8150,7 +8144,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndMediaFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
rqr8ymho8qk: {
_isJSONSchemaObject: true,
@@ -8195,8 +8189,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndMediaFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer':
- 'ReadPrettyFormActionInitializers',
+ 'x-initializer': 'details:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -8253,7 +8246,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndMediaFields: PageConfig = {
type: 'void',
'x-component': 'Grid',
'x-initializer':
- 'RecordBlockInitializers',
+ 'popup:common:addBlock',
'x-uid': 'nzgpjel7gnt',
'x-async': false,
'x-index': 1,
@@ -8288,8 +8281,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndMediaFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer':
- 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
properties: {
gm9h65g0rrf: {
_isJSONSchemaObject: true,
@@ -8500,7 +8492,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndMediaFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
i0qbr8outk2: {
_isJSONSchemaObject: true,
@@ -8548,7 +8540,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndMediaFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
dho8aesxv5r: {
_isJSONSchemaObject: true,
@@ -8669,7 +8661,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndMediaFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'UpdateFormActionInitializers',
+ 'x-initializer': 'editForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -8809,7 +8801,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndDatetimeFields: PageConfig
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
'0wtvsmu7fgy': {
_isJSONSchemaObject: true,
@@ -8849,7 +8841,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndDatetimeFields: PageConfig
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -8910,7 +8902,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndDatetimeFields: PageConfig
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'CreateFormBlockInitializers',
+ 'x-initializer': 'popup:addNew:addBlock',
properties: {
'54z7u3t354f': {
_isJSONSchemaObject: true,
@@ -8955,7 +8947,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndDatetimeFields: PageConfig
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
'9tn7mmv6q2j': {
_isJSONSchemaObject: true,
@@ -9036,7 +9028,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndDatetimeFields: PageConfig
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'CreateFormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -9124,7 +9116,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndDatetimeFields: PageConfig
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -9143,7 +9135,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndDatetimeFields: PageConfig
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -9205,7 +9197,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndDatetimeFields: PageConfig
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
'5oesm2w11p1': {
_isJSONSchemaObject: true,
@@ -9250,8 +9242,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndDatetimeFields: PageConfig
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer':
- 'ReadPrettyFormActionInitializers',
+ 'x-initializer': 'details:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -9308,7 +9299,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndDatetimeFields: PageConfig
type: 'void',
'x-component': 'Grid',
'x-initializer':
- 'RecordBlockInitializers',
+ 'popup:common:addBlock',
'x-uid': 'o61euxh6r2l',
'x-async': false,
'x-index': 1,
@@ -9343,8 +9334,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndDatetimeFields: PageConfig
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer':
- 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
properties: {
f88bpjnnp8b: {
_isJSONSchemaObject: true,
@@ -9517,7 +9507,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndDatetimeFields: PageConfig
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
itbs2k3vnwh: {
_isJSONSchemaObject: true,
@@ -9565,7 +9555,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndDatetimeFields: PageConfig
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
nx1dw628ww8: {
_isJSONSchemaObject: true,
@@ -9648,7 +9638,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndDatetimeFields: PageConfig
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'UpdateFormActionInitializers',
+ 'x-initializer': 'editForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -9788,7 +9778,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAssociationFields: PageConf
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
'31trec6eh60': {
_isJSONSchemaObject: true,
@@ -9828,7 +9818,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAssociationFields: PageConf
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -9889,7 +9879,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAssociationFields: PageConf
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'CreateFormBlockInitializers',
+ 'x-initializer': 'popup:addNew:addBlock',
properties: {
'8yo09nilrra': {
_isJSONSchemaObject: true,
@@ -9934,7 +9924,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAssociationFields: PageConf
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
'08iltavqcsw': {
_isJSONSchemaObject: true,
@@ -10122,7 +10112,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAssociationFields: PageConf
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'CreateFormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -10210,7 +10200,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAssociationFields: PageConf
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -10229,7 +10219,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAssociationFields: PageConf
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -10291,7 +10281,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAssociationFields: PageConf
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
'53lam282m0w': {
_isJSONSchemaObject: true,
@@ -10336,8 +10326,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAssociationFields: PageConf
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer':
- 'ReadPrettyFormActionInitializers',
+ 'x-initializer': 'details:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -10394,7 +10383,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAssociationFields: PageConf
type: 'void',
'x-component': 'Grid',
'x-initializer':
- 'RecordBlockInitializers',
+ 'popup:common:addBlock',
'x-uid': 'vgnlbwsjqbx',
'x-async': false,
'x-index': 1,
@@ -10429,8 +10418,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAssociationFields: PageConf
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer':
- 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
properties: {
ee8my5o19ku: {
_isJSONSchemaObject: true,
@@ -10711,7 +10699,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAssociationFields: PageConf
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
ik4xkal0fk3: {
_isJSONSchemaObject: true,
@@ -10759,7 +10747,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAssociationFields: PageConf
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
'5rcq2dnzpvl': {
_isJSONSchemaObject: true,
@@ -10950,7 +10938,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAssociationFields: PageConf
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'UpdateFormActionInitializers',
+ 'x-initializer': 'editForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -11086,7 +11074,7 @@ export const oneFilterFormBlockWithAllAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
oogm3hoka7c: {
_isJSONSchemaObject: true,
@@ -11128,7 +11116,7 @@ export const oneFilterFormBlockWithAllAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FilterFormItemInitializers',
+ 'x-initializer': 'filterForm:configureFields',
properties: {
y5gw4zxp20e: {
_isJSONSchemaObject: true,
@@ -11349,7 +11337,7 @@ export const oneFilterFormBlockWithAllAssociationFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'FilterFormActionInitializers',
+ 'x-initializer': 'filterForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -11413,7 +11401,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAdvancedFields: PageConfig
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
jp9qjk95sgp: {
_isJSONSchemaObject: true,
@@ -11453,7 +11441,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAdvancedFields: PageConfig
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -11514,7 +11502,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAdvancedFields: PageConfig
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'CreateFormBlockInitializers',
+ 'x-initializer': 'popup:addNew:addBlock',
properties: {
jykx4mc4tan: {
_isJSONSchemaObject: true,
@@ -11559,7 +11547,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAdvancedFields: PageConfig
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
o59i5tuhrf9: {
_isJSONSchemaObject: true,
@@ -11717,7 +11705,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAdvancedFields: PageConfig
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'CreateFormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -11805,7 +11793,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAdvancedFields: PageConfig
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -11824,7 +11812,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAdvancedFields: PageConfig
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -11886,7 +11874,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAdvancedFields: PageConfig
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
'1sdc9mt382r': {
_isJSONSchemaObject: true,
@@ -11931,8 +11919,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAdvancedFields: PageConfig
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer':
- 'ReadPrettyFormActionInitializers',
+ 'x-initializer': 'details:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -11989,7 +11976,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAdvancedFields: PageConfig
type: 'void',
'x-component': 'Grid',
'x-initializer':
- 'RecordBlockInitializers',
+ 'popup:common:addBlock',
'x-uid': 'hku8pm0hkmc',
'x-async': false,
'x-index': 1,
@@ -12024,8 +12011,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAdvancedFields: PageConfig
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer':
- 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
properties: {
'7243zv6k16f': {
_isJSONSchemaObject: true,
@@ -12277,7 +12263,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAdvancedFields: PageConfig
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
'873tavkmkob': {
_isJSONSchemaObject: true,
@@ -12325,7 +12311,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAdvancedFields: PageConfig
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
q4u8z9fymes: {
_isJSONSchemaObject: true,
@@ -12487,7 +12473,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndAdvancedFields: PageConfig
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'UpdateFormActionInitializers',
+ 'x-initializer': 'editForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -12627,7 +12613,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
epqxqgug6qx: {
_isJSONSchemaObject: true,
@@ -12667,7 +12653,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -12728,7 +12714,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'CreateFormBlockInitializers',
+ 'x-initializer': 'popup:addNew:addBlock',
properties: {
zmbofsdker4: {
_isJSONSchemaObject: true,
@@ -12773,7 +12759,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
f6yjc0sfg5k: {
_isJSONSchemaObject: true,
@@ -12905,7 +12891,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
type: 'void',
'x-component': 'Grid',
'x-initializer':
- 'RecordBlockInitializers',
+ 'popup:common:addBlock',
'x-uid': 'i4pbty5jkhr',
'x-async': false,
'x-index': 1,
@@ -12997,7 +12983,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
type: 'void',
'x-component': 'Grid',
'x-initializer':
- 'RecordBlockInitializers',
+ 'popup:common:addBlock',
'x-uid': 'ofz5idx9716',
'x-async': false,
'x-index': 1,
@@ -13113,7 +13099,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'CreateFormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -13201,7 +13187,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -13220,7 +13206,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -13282,7 +13268,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
'5g4hlzrrkbh': {
_isJSONSchemaObject: true,
@@ -13327,8 +13313,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer':
- 'ReadPrettyFormActionInitializers',
+ 'x-initializer': 'details:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -13385,7 +13370,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
type: 'void',
'x-component': 'Grid',
'x-initializer':
- 'RecordBlockInitializers',
+ 'popup:common:addBlock',
'x-uid': '5v2mpey52su',
'x-async': false,
'x-index': 1,
@@ -13420,8 +13405,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer':
- 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
properties: {
qe2nm5ot23c: {
_isJSONSchemaObject: true,
@@ -13562,7 +13546,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
'x-component':
'Grid',
'x-initializer':
- 'RecordBlockInitializers',
+ 'popup:common:addBlock',
'x-uid':
'eno5ymv0s21',
'x-async': false,
@@ -13663,7 +13647,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
'x-component':
'Grid',
'x-initializer':
- 'RecordBlockInitializers',
+ 'popup:common:addBlock',
'x-uid':
'cpoo628xa2y',
'x-async': false,
@@ -13871,7 +13855,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
f4262c4203q: {
_isJSONSchemaObject: true,
@@ -13919,7 +13903,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
fr6gmmxwxm6: {
_isJSONSchemaObject: true,
@@ -14060,7 +14044,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
'x-component':
'Grid',
'x-initializer':
- 'RecordBlockInitializers',
+ 'popup:common:addBlock',
'x-uid':
'y3qxvvkexzc',
'x-async': false,
@@ -14161,7 +14145,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
'x-component':
'Grid',
'x-initializer':
- 'RecordBlockInitializers',
+ 'popup:common:addBlock',
'x-uid':
'8voz33qzsh8',
'x-async': false,
@@ -14279,7 +14263,7 @@ export const oneTableBlockWithAddNewAndViewAndEditAndSystemInfoFields: PageConfi
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'UpdateFormActionInitializers',
+ 'x-initializer': 'editForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -14412,7 +14396,7 @@ export const oneEmptyTableWithTreeCollection: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
tt9ipsm1wb7: {
_isJSONSchemaObject: true,
@@ -14452,7 +14436,7 @@ export const oneEmptyTableWithTreeCollection: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -14467,7 +14451,7 @@ export const oneEmptyTableWithTreeCollection: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -14486,7 +14470,7 @@ export const oneEmptyTableWithTreeCollection: PageConfig = {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -14550,7 +14534,7 @@ export const oneEmptyMarkdown: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
eocwxdkmped: {
_isJSONSchemaObject: true,
@@ -14620,7 +14604,7 @@ export const oneCollapseAndOneTableWithSameCollection: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
xxnsq3r1w5u: {
_isJSONSchemaObject: true,
@@ -14735,7 +14719,7 @@ export const oneCollapseAndOneTableWithSameCollection: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -14750,7 +14734,7 @@ export const oneCollapseAndOneTableWithSameCollection: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -14844,7 +14828,7 @@ export const oneFormWithMultiLevelAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
djjvozyzzha: {
_isJSONSchemaObject: true,
@@ -14889,7 +14873,7 @@ export const oneFormWithMultiLevelAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
grgso6wba2b: {
_isJSONSchemaObject: true,
@@ -15015,7 +14999,7 @@ export const oneFormWithMultiLevelAssociationFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'FormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -15098,7 +15082,7 @@ export const oneSubformWithMultiLevelAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
mxqswxl18hb: {
_isJSONSchemaObject: true,
@@ -15143,7 +15127,7 @@ export const oneSubformWithMultiLevelAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
'6k12v33b6j3': {
_isJSONSchemaObject: true,
@@ -15183,7 +15167,7 @@ export const oneSubformWithMultiLevelAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
'9c4mwdnt1kf': {
_isJSONSchemaObject: true,
@@ -15332,7 +15316,7 @@ export const oneSubformWithMultiLevelAssociationFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'FormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -15415,7 +15399,7 @@ export const oneTableSubformWithMultiLevelAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
spt3dncqt6g: {
_isJSONSchemaObject: true,
@@ -15455,7 +15439,7 @@ export const oneTableSubformWithMultiLevelAssociationFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -15516,7 +15500,7 @@ export const oneTableSubformWithMultiLevelAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'CreateFormBlockInitializers',
+ 'x-initializer': 'popup:addNew:addBlock',
'x-uid': 'ezrqm7whaxk',
'x-async': false,
'x-index': 1,
@@ -15550,7 +15534,7 @@ export const oneTableSubformWithMultiLevelAssociationFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -15569,7 +15553,7 @@ export const oneTableSubformWithMultiLevelAssociationFields: PageConfig = {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -15631,7 +15615,7 @@ export const oneTableSubformWithMultiLevelAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
rxh2yo159ct: {
_isJSONSchemaObject: true,
@@ -15676,8 +15660,7 @@ export const oneTableSubformWithMultiLevelAssociationFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer':
- 'ReadPrettyFormActionInitializers',
+ 'x-initializer': 'details:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -15693,8 +15676,7 @@ export const oneTableSubformWithMultiLevelAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer':
- 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
properties: {
h091lw5s3ot: {
_isJSONSchemaObject: true,
@@ -15772,7 +15754,7 @@ export const oneTableSubformWithMultiLevelAssociationFields: PageConfig = {
type: 'void',
'x-component': 'Grid',
'x-initializer':
- 'FormItemInitializers',
+ 'form:configureFields',
properties: {
'7gni7kgrxc6': {
_isJSONSchemaObject:
@@ -15880,7 +15862,7 @@ export const oneTableSubformWithMultiLevelAssociationFields: PageConfig = {
'x-component':
'Grid',
'x-initializer':
- 'FormItemInitializers',
+ 'form:configureFields',
properties:
{
wfis8uozy45:
@@ -16009,7 +15991,7 @@ export const oneTableSubformWithMultiLevelAssociationFields: PageConfig = {
'x-component':
'Grid',
'x-initializer':
- 'FormItemInitializers',
+ 'form:configureFields',
properties:
{
'8ga4k036hkh':
@@ -16314,7 +16296,7 @@ export const oneTableSubformWithMultiLevelAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
scqusdl60dp: {
_isJSONSchemaObject: true,
@@ -16362,7 +16344,7 @@ export const oneTableSubformWithMultiLevelAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
row_x1kzwaop93e: {
_isJSONSchemaObject: true,
@@ -16440,7 +16422,7 @@ export const oneTableSubformWithMultiLevelAssociationFields: PageConfig = {
type: 'void',
'x-component': 'Grid',
'x-initializer':
- 'FormItemInitializers',
+ 'form:configureFields',
properties: {
'0o134mwdmzm': {
_isJSONSchemaObject:
@@ -16548,7 +16530,7 @@ export const oneTableSubformWithMultiLevelAssociationFields: PageConfig = {
'x-component':
'Grid',
'x-initializer':
- 'FormItemInitializers',
+ 'form:configureFields',
properties:
{
'2eg7xlliyk0':
@@ -16677,7 +16659,7 @@ export const oneTableSubformWithMultiLevelAssociationFields: PageConfig = {
'x-component':
'Grid',
'x-initializer':
- 'FormItemInitializers',
+ 'form:configureFields',
properties:
{
wca260ji2ih:
@@ -16806,7 +16788,7 @@ export const oneTableSubformWithMultiLevelAssociationFields: PageConfig = {
'x-component':
'Grid',
'x-initializer':
- 'FormItemInitializers',
+ 'form:configureFields',
properties:
{
'9xq8mnnzyrw':
@@ -16994,7 +16976,7 @@ export const oneTableSubformWithMultiLevelAssociationFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'UpdateFormActionInitializers',
+ 'x-initializer': 'editForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -17131,7 +17113,7 @@ export const oneTableSubtableWithMultiLevelAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
vp7c9oaymjr: {
_isJSONSchemaObject: true,
@@ -17171,7 +17153,7 @@ export const oneTableSubtableWithMultiLevelAssociationFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -17232,7 +17214,7 @@ export const oneTableSubtableWithMultiLevelAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'CreateFormBlockInitializers',
+ 'x-initializer': 'popup:addNew:addBlock',
'x-uid': 'hhhjt2axsd2',
'x-async': false,
'x-index': 1,
@@ -17266,7 +17248,7 @@ export const oneTableSubtableWithMultiLevelAssociationFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -17285,7 +17267,7 @@ export const oneTableSubtableWithMultiLevelAssociationFields: PageConfig = {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -17347,7 +17329,7 @@ export const oneTableSubtableWithMultiLevelAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
qd1exa12t8i: {
_isJSONSchemaObject: true,
@@ -17392,8 +17374,7 @@ export const oneTableSubtableWithMultiLevelAssociationFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer':
- 'ReadPrettyFormActionInitializers',
+ 'x-initializer': 'details:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -17450,7 +17431,7 @@ export const oneTableSubtableWithMultiLevelAssociationFields: PageConfig = {
type: 'void',
'x-component': 'Grid',
'x-initializer':
- 'RecordBlockInitializers',
+ 'popup:common:addBlock',
'x-uid': 'y94je87dtvs',
'x-async': false,
'x-index': 1,
@@ -17485,8 +17466,7 @@ export const oneTableSubtableWithMultiLevelAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer':
- 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
properties: {
czwqhu0r4kn: {
_isJSONSchemaObject: true,
@@ -17557,7 +17537,7 @@ export const oneTableSubtableWithMultiLevelAssociationFields: PageConfig = {
'x-component':
'AssociationField.SubTable',
'x-initializer':
- 'TableColumnInitializers',
+ 'table:configureColumns',
'x-initializer-props': {
action: false,
},
@@ -17658,7 +17638,7 @@ export const oneTableSubtableWithMultiLevelAssociationFields: PageConfig = {
type: 'void',
'x-component': 'Grid',
'x-initializer':
- 'FormItemInitializers',
+ 'form:configureFields',
'x-uid': 'gf8iixoigrh',
'x-async': false,
'x-index': 1,
@@ -17780,7 +17760,7 @@ export const oneTableSubtableWithMultiLevelAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {
a7fabwj9osd: {
_isJSONSchemaObject: true,
@@ -17828,7 +17808,7 @@ export const oneTableSubtableWithMultiLevelAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
beh7yt0xrkh: {
_isJSONSchemaObject: true,
@@ -17899,7 +17879,7 @@ export const oneTableSubtableWithMultiLevelAssociationFields: PageConfig = {
'x-component':
'AssociationField.SubTable',
'x-initializer':
- 'TableColumnInitializers',
+ 'table:configureColumns',
'x-initializer-props': {
action: false,
},
@@ -18008,7 +17988,7 @@ export const oneTableSubtableWithMultiLevelAssociationFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'UpdateFormActionInitializers',
+ 'x-initializer': 'editForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -18145,7 +18125,7 @@ export const formBlockDefaultValueTemplate: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
i7hhy9qt3vm: {
_isJSONSchemaObject: true,
@@ -18185,7 +18165,7 @@ export const formBlockDefaultValueTemplate: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -18246,7 +18226,7 @@ export const formBlockDefaultValueTemplate: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'CreateFormBlockInitializers',
+ 'x-initializer': 'popup:addNew:addBlock',
properties: {
ec8k6t8hyfd: {
_isJSONSchemaObject: true,
@@ -18291,7 +18271,7 @@ export const formBlockDefaultValueTemplate: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
properties: {
'11k61q066eh': {
_isJSONSchemaObject: true,
@@ -18375,7 +18355,7 @@ export const formBlockDefaultValueTemplate: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'CreateFormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -18441,7 +18421,7 @@ export const formBlockDefaultValueTemplate: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -18460,7 +18440,7 @@ export const formBlockDefaultValueTemplate: PageConfig = {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -18522,7 +18502,7 @@ export const formBlockDefaultValueTemplate: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
'x-uid': '6k8q5pvnbjg',
'x-async': false,
'x-index': 1,
@@ -18596,7 +18576,7 @@ export const formBlockDefaultValueTemplate: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
'x-uid': 'yqsyvw7utn4',
'x-async': false,
'x-index': 1,
@@ -18678,7 +18658,7 @@ export const oneFormBlockBasedOnUsers: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
skmxkfr67em: {
_isJSONSchemaObject: true,
@@ -18723,7 +18703,7 @@ export const oneFormBlockBasedOnUsers: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
'x-uid': '66dozhzo5ld',
'x-async': false,
'x-index': 1,
@@ -18732,7 +18712,7 @@ export const oneFormBlockBasedOnUsers: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'FormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -18793,7 +18773,7 @@ export const oneFormAndOneTableWithSameCollection: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
'0qplm51g52v': {
_isJSONSchemaObject: true,
@@ -18835,7 +18815,7 @@ export const oneFormAndOneTableWithSameCollection: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FilterFormItemInitializers',
+ 'x-initializer': 'filterForm:configureFields',
properties: {
'0k8y0nlffht': {
_isJSONSchemaObject: true,
@@ -18882,7 +18862,7 @@ export const oneFormAndOneTableWithSameCollection: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'FilterFormActionInitializers',
+ 'x-initializer': 'filterForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
@@ -18986,7 +18966,7 @@ export const oneFormAndOneTableWithSameCollection: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -19001,7 +18981,7 @@ export const oneFormAndOneTableWithSameCollection: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -19095,7 +19075,7 @@ export const twoTabsPage = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
title: 'tab 1',
'x-async': false,
'x-index': 1,
@@ -19106,7 +19086,7 @@ export const twoTabsPage = {
type: 'void',
title: 'tab 2',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
'x-uid': 'o5vp90rqsjx',
'x-async': false,
'x-index': 2,
@@ -19133,7 +19113,7 @@ export const twoTableWithSameCollection: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
jkcte869qpa: {
_isJSONSchemaObject: true,
@@ -19177,7 +19157,7 @@ export const twoTableWithSameCollection: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -19192,7 +19172,7 @@ export const twoTableWithSameCollection: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -19285,7 +19265,7 @@ export const twoTableWithSameCollection: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -19300,7 +19280,7 @@ export const twoTableWithSameCollection: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -19397,7 +19377,7 @@ export const twoTableWithAssociationFields: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
qtp19qlje2y: {
_isJSONSchemaObject: true,
@@ -19442,7 +19422,7 @@ export const twoTableWithAssociationFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -19457,7 +19437,7 @@ export const twoTableWithAssociationFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -19549,7 +19529,7 @@ export const twoTableWithAssociationFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -19564,7 +19544,7 @@ export const twoTableWithAssociationFields: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -19667,7 +19647,7 @@ export const oneEmptyTableBlockBasedOnUsers = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
vduni5v1u2v: {
_isJSONSchemaObject: true,
@@ -19707,7 +19687,7 @@ export const oneEmptyTableBlockBasedOnUsers = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -19722,7 +19702,7 @@ export const oneEmptyTableBlockBasedOnUsers = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -19741,7 +19721,7 @@ export const oneEmptyTableBlockBasedOnUsers = {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -19820,7 +19800,7 @@ export const checkboxForTableRow = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
w85tu6tnlfp: {
_isJSONSchemaObject: true,
@@ -19860,7 +19840,7 @@ export const checkboxForTableRow = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -19903,7 +19883,7 @@ export const checkboxForTableRow = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -19922,7 +19902,7 @@ export const checkboxForTableRow = {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
diff --git a/packages/plugins/@nocobase/plugin-acl/src/client/__e2e__/utils.ts b/packages/plugins/@nocobase/plugin-acl/src/client/__e2e__/utils.ts
index 216e4e0f1..d61e9c282 100644
--- a/packages/plugins/@nocobase/plugin-acl/src/client/__e2e__/utils.ts
+++ b/packages/plugins/@nocobase/plugin-acl/src/client/__e2e__/utils.ts
@@ -14,7 +14,7 @@ export const oneTableBlock: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
_isJSONSchemaObject: true,
properties: {
hxf5h572bwc: {
@@ -56,7 +56,7 @@ export const oneTableBlock: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'ActionBar',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component-props': {
style: {
marginBottom: 'var(--nb-spacing)',
@@ -116,7 +116,7 @@ export const oneTableBlock: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer': 'CreateFormBlockInitializers',
+ 'x-initializer': 'popup:addNew:addBlock',
_isJSONSchemaObject: true,
properties: {
f3q7xmyiyl4: {
@@ -161,7 +161,7 @@ export const oneTableBlock: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
_isJSONSchemaObject: true,
properties: {
ddz3kqt5kpf: {
@@ -240,7 +240,7 @@ export const oneTableBlock: PageConfig = {
version: '2.0',
'x-component': 'Grid',
'x-initializer':
- 'FormItemInitializers',
+ 'form:configureFields',
_isJSONSchemaObject: true,
properties: {
yhxqnl03mak: {
@@ -435,7 +435,7 @@ export const oneTableBlock: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'ActionBar',
- 'x-initializer': 'CreateFormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component-props': {
style: {
marginTop: 24,
@@ -767,7 +767,7 @@ export const oneTableBlock: PageConfig = {
type: 'array',
version: '2.0',
'x-component': 'TableV2',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component-props': {
rowKey: 'id',
useProps: '{{ useTableBlockProps }}',
@@ -785,7 +785,7 @@ export const oneTableBlock: PageConfig = {
'x-designer': 'TableV2.ActionColumnDesigner',
'x-component': 'TableV2.Column',
'x-decorator': 'TableV2.Column.ActionBar',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
'x-action-column': 'actions',
'x-component-props': {
width: 400,
@@ -850,7 +850,7 @@ export const oneTableBlock: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
_isJSONSchemaObject: true,
properties: {
yyehsjjoo8e: {
@@ -898,7 +898,7 @@ export const oneTableBlock: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
_isJSONSchemaObject: true,
properties: {
q3s02k44o3o: {
@@ -1054,7 +1054,7 @@ export const oneTableBlock: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'ActionBar',
- 'x-initializer': 'UpdateFormActionInitializers',
+ 'x-initializer': 'editForm:configureActions',
'x-component-props': {
style: {
marginTop: 24,
@@ -1180,7 +1180,7 @@ export const oneTableBlock: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
_isJSONSchemaObject: true,
'x-uid': '9be5zlgowvl',
'x-async': false,
@@ -1254,7 +1254,7 @@ export const oneTableBlock: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
_isJSONSchemaObject: true,
properties: {
pk40wwnw0cp: {
@@ -1302,7 +1302,7 @@ export const oneTableBlock: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
_isJSONSchemaObject: true,
properties: {
'7043nizntd8': {
@@ -1344,7 +1344,7 @@ export const oneTableBlock: PageConfig = {
version: '2.0',
'x-component': 'Grid',
'x-initializer':
- 'FormItemInitializers',
+ 'form:configureFields',
_isJSONSchemaObject: true,
properties: {
dtxjb31ls31: {
@@ -1739,7 +1739,7 @@ export const oneTableBlock: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'ActionBar',
- 'x-initializer': 'UpdateFormActionInitializers',
+ 'x-initializer': 'editForm:configureActions',
'x-component-props': {
style: {
marginTop: 24,
@@ -1843,7 +1843,7 @@ export const oneTableBlock: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
_isJSONSchemaObject: true,
properties: {
h9gq1awpz33: {
@@ -1890,8 +1890,7 @@ export const oneTableBlock: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'ActionBar',
- 'x-initializer':
- 'ReadPrettyFormActionInitializers',
+ 'x-initializer': 'details:configureActions',
'x-component-props': {
style: {
marginBottom: 24,
@@ -1906,8 +1905,7 @@ export const oneTableBlock: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer':
- 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
_isJSONSchemaObject: true,
properties: {
hnzs6hajxl8: {
diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/BulkEditActionInitializer.tsx b/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/BulkEditActionInitializer.tsx
index 439ad79db..581a8ed49 100644
--- a/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/BulkEditActionInitializer.tsx
+++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/BulkEditActionInitializer.tsx
@@ -39,7 +39,7 @@ export const BulkEditActionInitializer = () => {
grid: {
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BulkEditBlockInitializers',
+ 'x-initializer': 'popup:bulkEdit:addBlock',
properties: {},
},
},
diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/BulkEditBlockInitializers.tsx b/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/BulkEditBlockInitializers.tsx
index 860ce737d..61607416c 100644
--- a/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/BulkEditBlockInitializers.tsx
+++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/BulkEditBlockInitializers.tsx
@@ -1,4 +1,4 @@
-import { SchemaInitializer, gridRowColWrap } from '@nocobase/client';
+import { CompatibleSchemaInitializer, SchemaInitializer, gridRowColWrap } from '@nocobase/client';
import { CreateFormBulkEditBlockInitializer } from './CreateFormBulkEditBlockInitializer';
/**
@@ -38,7 +38,10 @@ export const CreateFormBulkEditBlockInitializers: SchemaInitializer = new Schema
],
});
-export const BulkEditBlockInitializers: SchemaInitializer = new SchemaInitializer({
+/**
+ * @deprecated
+ */
+export const BulkEditBlockInitializers_deprecated = new CompatibleSchemaInitializer({
name: 'BulkEditBlockInitializers',
wrap: gridRowColWrap,
title: '{{t("Add block")}}',
@@ -70,3 +73,39 @@ export const BulkEditBlockInitializers: SchemaInitializer = new SchemaInitialize
},
],
});
+
+export const bulkEditBlockInitializers = new CompatibleSchemaInitializer(
+ {
+ name: 'popup:bulkEdit:addBlock',
+ wrap: gridRowColWrap,
+ title: '{{t("Add block")}}',
+ icon: 'PlusOutlined',
+ items: [
+ {
+ type: 'itemGroup',
+ title: '{{t("Data blocks")}}',
+ name: 'dataBlocks',
+ children: [
+ {
+ name: 'form',
+ title: '{{t("Form")}}',
+ Component: CreateFormBulkEditBlockInitializer,
+ },
+ ],
+ },
+ {
+ type: 'itemGroup',
+ title: '{{t("Other blocks")}}',
+ name: 'otherBlocks',
+ children: [
+ {
+ name: 'markdown',
+ title: '{{t("Markdown")}}',
+ Component: 'MarkdownBlockInitializer',
+ },
+ ],
+ },
+ ],
+ },
+ BulkEditBlockInitializers_deprecated,
+);
diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/BulkEditFormActionInitializers.tsx b/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/BulkEditFormActionInitializers.tsx
index 4158fe8c8..2b5257745 100644
--- a/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/BulkEditFormActionInitializers.tsx
+++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/BulkEditFormActionInitializers.tsx
@@ -1,6 +1,10 @@
-import { SchemaInitializer } from '@nocobase/client';
+import { CompatibleSchemaInitializer, SchemaInitializer } from '@nocobase/client';
import { BulkEditSubmitActionInitializer } from './BulkEditSubmitActionInitializer';
-export const BulkEditFormActionInitializers = new SchemaInitializer({
+
+/**
+ * @deprecated
+ */
+export const BulkEditFormActionInitializers_deprecated = new CompatibleSchemaInitializer({
name: 'BulkEditFormActionInitializers',
title: '{{t("Configure actions")}}',
icon: 'SettingOutlined',
@@ -22,3 +26,29 @@ export const BulkEditFormActionInitializers = new SchemaInitializer({
},
],
});
+
+export const bulkEditFormActionInitializers = new CompatibleSchemaInitializer(
+ {
+ name: 'bulkEditForm:configureActions',
+ title: '{{t("Configure actions")}}',
+ icon: 'SettingOutlined',
+ items: [
+ {
+ type: 'itemGroup',
+ title: '{{t("Enable actions")}}',
+ name: 'enableActions',
+ children: [
+ {
+ name: 'submit',
+ title: '{{t("Submit")}}',
+ Component: BulkEditSubmitActionInitializer,
+ schema: {
+ 'x-action-settings': {},
+ },
+ },
+ ],
+ },
+ ],
+ },
+ BulkEditFormActionInitializers_deprecated,
+);
diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/BulkEditFormItemInitializers.tsx b/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/BulkEditFormItemInitializers.tsx
index 8f3fbd53f..9f42168e4 100644
--- a/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/BulkEditFormItemInitializers.tsx
+++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/BulkEditFormItemInitializers.tsx
@@ -1,7 +1,10 @@
-import { SchemaInitializer, gridRowColWrap } from '@nocobase/client';
+import { CompatibleSchemaInitializer, gridRowColWrap } from '@nocobase/client';
import { useCustomBulkEditFormItemInitializerFields } from './utils';
-export const BulkEditFormItemInitializers: SchemaInitializer = new SchemaInitializer({
+/**
+ * @deprecated
+ */
+export const BulkEditFormItemInitializers_deprecated = new CompatibleSchemaInitializer({
name: 'BulkEditFormItemInitializers',
wrap: gridRowColWrap,
icon: 'SettingOutlined',
@@ -36,3 +39,42 @@ export const BulkEditFormItemInitializers: SchemaInitializer = new SchemaInitial
},
],
});
+
+export const bulkEditFormItemInitializers = new CompatibleSchemaInitializer(
+ {
+ name: 'bulkEditForm:configureFields',
+ wrap: gridRowColWrap,
+ icon: 'SettingOutlined',
+ title: '{{t("Configure fields")}}',
+ items: [
+ {
+ name: 'displayFields',
+ type: 'itemGroup',
+ title: '{{t("Display fields")}}',
+ useChildren: useCustomBulkEditFormItemInitializerFields,
+ },
+ {
+ name: 'divider',
+ type: 'divider',
+ },
+ {
+ name: 'addText',
+ title: '{{t("Add text")}}',
+ Component: 'BlockItemInitializer',
+ schema: {
+ type: 'void',
+ 'x-editable': false,
+ 'x-decorator': 'FormItem',
+ // 'x-designer': 'Markdown.Void.Designer',
+ 'x-toolbar': 'BlockSchemaToolbar',
+ 'x-settings': 'blockSettings:markdown',
+ 'x-component': 'Markdown.Void',
+ 'x-component-props': {
+ content: '{{t("This is a demo text, **supports Markdown syntax**.")}}',
+ },
+ },
+ },
+ ],
+ },
+ BulkEditFormItemInitializers_deprecated,
+);
diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/CreateFormBulkEditBlockInitializer.tsx b/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/CreateFormBulkEditBlockInitializer.tsx
index 6dab74057..f5afd1b22 100644
--- a/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/CreateFormBulkEditBlockInitializer.tsx
+++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/CreateFormBulkEditBlockInitializer.tsx
@@ -27,7 +27,7 @@ export const CreateFormBulkEditBlockInitializer = () => {
const s = await getTemplateSchemaByMode(item);
if (item.template.componentName === 'FormItem') {
const blockSchema = createFormBlockSchema({
- actionInitializers: 'CreateFormActionInitializers',
+ actionInitializers: 'createForm:configureActions',
association,
collection: collection.name,
dataSource: collection.dataSource,
@@ -43,8 +43,8 @@ export const CreateFormBulkEditBlockInitializer = () => {
} else {
insert(
createFormBlockSchema({
- formItemInitializers: 'BulkEditFormItemInitializers',
- actionInitializers: 'BulkEditFormActionInitializers',
+ formItemInitializers: 'bulkEditForm:configureFields',
+ actionInitializers: 'bulkEditForm:configureActions',
association,
collection: collection.name,
dataSource: collection.dataSource,
diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/__e2e__/schemaInitailizer.test.ts b/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/__e2e__/schemaInitailizer.test.ts
index df47a471d..248b13c7b 100644
--- a/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/__e2e__/schemaInitailizer.test.ts
+++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/__e2e__/schemaInitailizer.test.ts
@@ -4,7 +4,7 @@ import { oneEmptyGantt } from './utils';
test.describe('TableActionInitializers & GanttActionInitializers & MapActionInitializers should add bulk edit action', () => {
test('bulk edit in TableActionInitializers', async ({ page, mockPage }) => {
await mockPage(oneEmptyTableBlockWithActions).goto();
- await page.getByLabel('schema-initializer-ActionBar-TableActionInitializers-general').hover();
+ await page.getByLabel('schema-initializer-ActionBar-table:configureActions-general').hover();
await page.getByRole('menuitem', { name: 'Customize right' }).click();
await page.getByRole('menuitem', { name: 'Bulk edit' }).click();
await page.mouse.move(300, 0);
@@ -14,7 +14,7 @@ test.describe('TableActionInitializers & GanttActionInitializers & MapActionInit
const nocoPage = await mockPage(oneEmptyGantt).waitForInit();
await mockRecords('general', 3);
await nocoPage.goto();
- await page.getByLabel('schema-initializer-ActionBar-GanttActionInitializers-general').hover();
+ await page.getByLabel('schema-initializer-ActionBar-gantt:configureActions-general').hover();
await page.getByRole('menuitem', { name: 'Customize right' }).click();
await page.getByRole('menuitem', { name: 'Bulk edit' }).click();
await expect(page.getByLabel('Bulk edit')).toBeVisible();
diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/__e2e__/schemaSettings.test.ts b/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/__e2e__/schemaSettings.test.ts
index 3dd1bae22..9e424c76b 100644
--- a/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/__e2e__/schemaSettings.test.ts
+++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/__e2e__/schemaSettings.test.ts
@@ -15,10 +15,10 @@ test.describe('bulk edit action setting', () => {
await page.getByRole('option', { name: 'All' }).click();
//配置更新规则
await page.getByLabel('Bulk edit').click();
- await page.getByLabel('schema-initializer-Grid-BulkEditBlockInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-popup:bulkEdit:addBlock-general').hover();
await page.getByRole('menuitem', { name: 'form Form' }).click();
await page.mouse.move(300, 0);
- await page.getByLabel('schema-initializer-Grid-BulkEditFormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-bulkEditForm:configureFields-general').hover();
await page.getByRole('menuitem', { name: 'Single line text' }).click();
await page.getByRole('menuitem', { name: 'Start date time' }).click();
await page.getByRole('menuitem', { name: 'Percent' }).click();
@@ -30,7 +30,7 @@ test.describe('bulk edit action setting', () => {
await page.getByRole('option', { name: 'Changed to' }).locator('div').click();
await page.getByRole('spinbutton').click();
await page.getByRole('spinbutton').fill('0');
- await page.getByLabel('schema-initializer-ActionBar-BulkEditFormActionInitializers-general').click();
+ await page.getByLabel('schema-initializer-ActionBar-bulkEditForm:configureActions-general').click();
await page.getByRole('menuitem', { name: 'Submit' }).click();
//更新提交的数据符合预期
const [request] = await Promise.all([
diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/__e2e__/utils.ts b/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/__e2e__/utils.ts
index 6233fa049..75af4dd96 100644
--- a/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/__e2e__/utils.ts
+++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/__e2e__/utils.ts
@@ -97,7 +97,7 @@ export const oneEmptyGantt: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
gl57m4hyewf: {
_isJSONSchemaObject: true,
@@ -154,7 +154,7 @@ export const oneEmptyGantt: PageConfig = {
marginBottom: 24,
},
},
- 'x-initializer': 'GanttActionInitializers',
+ 'x-initializer': 'gantt:configureActions',
'x-uid': 'guwovmwt4c0',
'x-async': false,
'x-index': 1,
@@ -170,7 +170,7 @@ export const oneEmptyGantt: PageConfig = {
maxWidth: '35%',
},
},
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -190,7 +190,7 @@ export const oneEmptyGantt: PageConfig = {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -253,7 +253,7 @@ export const oneEmptyGantt: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
'x-uid': 'gxtfjqzxbfu',
'x-async': false,
'x-index': 1,
@@ -327,7 +327,7 @@ export const oneEmptyTableBlockWithCustomizeActions: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
'x-index': 1,
properties: {
'1m4gz110aaw': {
@@ -368,7 +368,7 @@ export const oneEmptyTableBlockWithCustomizeActions: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -430,7 +430,7 @@ export const oneEmptyTableBlockWithCustomizeActions: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BulkEditBlockInitializers',
+ 'x-initializer': 'popup:bulkEdit:addBlock',
'x-uid': '3gjmo60w4de',
'x-async': false,
'x-index': 1,
@@ -464,7 +464,7 @@ export const oneEmptyTableBlockWithCustomizeActions: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -483,7 +483,7 @@ export const oneEmptyTableBlockWithCustomizeActions: PageConfig = {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/index.tsx b/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/index.tsx
index 41ae1d0ca..fe337eafc 100644
--- a/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/index.tsx
+++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/index.tsx
@@ -1,8 +1,15 @@
import { Plugin, useCollection_deprecated } from '@nocobase/client';
import { bulkEditActionSettings, deprecatedBulkEditActionSettings } from './BulkEditAction.Settings';
-import { BulkEditFormItemInitializers } from './BulkEditFormItemInitializers';
-import { CreateFormBulkEditBlockInitializers, BulkEditBlockInitializers } from './BulkEditBlockInitializers';
-import { BulkEditFormActionInitializers } from './BulkEditFormActionInitializers';
+import { BulkEditFormItemInitializers_deprecated, bulkEditFormItemInitializers } from './BulkEditFormItemInitializers';
+import {
+ CreateFormBulkEditBlockInitializers,
+ BulkEditBlockInitializers_deprecated,
+ bulkEditBlockInitializers,
+} from './BulkEditBlockInitializers';
+import {
+ BulkEditFormActionInitializers_deprecated,
+ bulkEditFormActionInitializers,
+} from './BulkEditFormActionInitializers';
import { BulkEditActionInitializer } from './BulkEditActionInitializer';
import { bulkEditFormItemSettings } from './bulkEditFormItemSettings';
import { BulkEditField } from './component/BulkEditField';
@@ -14,10 +21,13 @@ export class BulkEditPlugin extends Plugin {
this.app.schemaSettingsManager.add(deprecatedBulkEditActionSettings);
this.app.schemaSettingsManager.add(bulkEditActionSettings);
this.app.schemaSettingsManager.add(bulkEditFormItemSettings);
- this.app.schemaInitializerManager.add(BulkEditFormItemInitializers);
+ this.app.schemaInitializerManager.add(BulkEditFormItemInitializers_deprecated);
+ this.app.schemaInitializerManager.add(bulkEditFormItemInitializers);
this.app.schemaInitializerManager.add(CreateFormBulkEditBlockInitializers);
- this.app.schemaInitializerManager.add(BulkEditBlockInitializers);
- this.app.schemaInitializerManager.add(BulkEditFormActionInitializers);
+ this.app.schemaInitializerManager.add(BulkEditBlockInitializers_deprecated);
+ this.app.schemaInitializerManager.add(bulkEditBlockInitializers);
+ this.app.schemaInitializerManager.add(BulkEditFormActionInitializers_deprecated);
+ this.app.schemaInitializerManager.add(bulkEditFormActionInitializers);
const initializerData = {
type: 'item',
@@ -45,9 +55,9 @@ export class BulkEditPlugin extends Plugin {
},
};
- this.app.schemaInitializerManager.addItem('TableActionInitializers', 'customize.bulkEdit', initializerData);
- this.app.schemaInitializerManager.addItem('GanttActionInitializers', 'customize.bulkEdit', initializerData);
- this.app.schemaInitializerManager.addItem('MapActionInitializers', 'customize.bulkEdit', initializerData);
+ this.app.schemaInitializerManager.addItem('table:configureActions', 'customize.bulkEdit', initializerData);
+ this.app.schemaInitializerManager.addItem('gantt:configureActions', 'customize.bulkEdit', initializerData);
+ this.app.schemaInitializerManager.addItem('map:configureActions', 'customize.bulkEdit', initializerData);
}
}
diff --git a/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/__e2e__/schemaInitailizer.test.ts b/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/__e2e__/schemaInitailizer.test.ts
index bcec7f689..d29899c60 100644
--- a/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/__e2e__/schemaInitailizer.test.ts
+++ b/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/__e2e__/schemaInitailizer.test.ts
@@ -4,7 +4,7 @@ import { oneEmptyGantt } from './utils';
test.describe('TableActionInitializers & GanttActionInitializers & MapActionInitializers ', () => {
test('TableActionInitializers should add bulk update', async ({ page, mockPage }) => {
await mockPage(oneEmptyTableBlockWithCustomizeActions).goto();
- await page.getByLabel('schema-initializer-ActionBar-TableActionInitializers-general').hover();
+ await page.getByLabel('schema-initializer-ActionBar-table:configureActions-general').hover();
await page.getByRole('menuitem', { name: 'Customize right' }).click();
await page.getByRole('menuitem', { name: 'Bulk update' }).click();
await expect(page.getByLabel('action-Action-Bulk update-customize:bulkUpdate-general-table')).toBeVisible();
@@ -13,7 +13,7 @@ test.describe('TableActionInitializers & GanttActionInitializers & MapActionInit
const nocoPage = await mockPage(oneEmptyGantt).waitForInit();
await mockRecords('general', 3);
await nocoPage.goto();
- await page.getByLabel('schema-initializer-ActionBar-GanttActionInitializers-general').hover();
+ await page.getByLabel('schema-initializer-ActionBar-gantt:configureActions-general').hover();
await page.getByRole('menuitem', { name: 'Customize right' }).click();
await page.getByRole('menuitem', { name: 'Bulk update' }).click();
await page.mouse.move(300, 0);
diff --git a/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/__e2e__/schemaSettings.test.ts b/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/__e2e__/schemaSettings.test.ts
index e30ced60c..af5097940 100644
--- a/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/__e2e__/schemaSettings.test.ts
+++ b/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/__e2e__/schemaSettings.test.ts
@@ -18,7 +18,7 @@ test.describe('data will be updated && Assign field values && after successful s
await page.getByRole('option', { name: 'All' }).click();
//字段赋值
await page.getByRole('menuitem', { name: 'Assign field values' }).click();
- await page.getByLabel('schema-initializer-Grid-CustomFormItemInitializers-general').click();
+ await page.getByLabel('schema-initializer-Grid-assignFieldValuesForm:configureFields-general').click();
await page.getByRole('menuitem', { name: 'Single select' }).click();
await page.getByTestId('select-single').click();
await page.getByText('option3').click();
diff --git a/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/__e2e__/utils.ts b/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/__e2e__/utils.ts
index b145cb2bc..61f7aaae9 100644
--- a/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/__e2e__/utils.ts
+++ b/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/__e2e__/utils.ts
@@ -140,7 +140,7 @@ export const oneEmptyGantt: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
gl57m4hyewf: {
_isJSONSchemaObject: true,
@@ -197,7 +197,7 @@ export const oneEmptyGantt: PageConfig = {
marginBottom: 24,
},
},
- 'x-initializer': 'GanttActionInitializers',
+ 'x-initializer': 'gantt:configureActions',
'x-uid': 'guwovmwt4c0',
'x-async': false,
'x-index': 1,
@@ -213,7 +213,7 @@ export const oneEmptyGantt: PageConfig = {
maxWidth: '35%',
},
},
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -233,7 +233,7 @@ export const oneEmptyGantt: PageConfig = {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -296,7 +296,7 @@ export const oneEmptyGantt: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
'x-uid': 'gxtfjqzxbfu',
'x-async': false,
'x-index': 1,
@@ -367,7 +367,7 @@ export const oneEmptyTableBlockWithCustomizeUpdate: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
_isJSONSchemaObject: true,
properties: {
btrf53i4lpi: {
@@ -408,7 +408,7 @@ export const oneEmptyTableBlockWithCustomizeUpdate: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'ActionBar',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component-props': {
style: {
marginBottom: 'var(--nb-spacing)',
@@ -457,7 +457,7 @@ export const oneEmptyTableBlockWithCustomizeUpdate: PageConfig = {
type: 'array',
version: '2.0',
'x-component': 'TableV2',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component-props': {
rowKey: 'id',
useProps: '{{ useTableBlockProps }}',
@@ -474,7 +474,7 @@ export const oneEmptyTableBlockWithCustomizeUpdate: PageConfig = {
'x-designer': 'TableV2.ActionColumnDesigner',
'x-component': 'TableV2.Column',
'x-decorator': 'TableV2.Column.ActionBar',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
'x-action-column': 'actions',
_isJSONSchemaObject: true,
properties: {
diff --git a/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/index.tsx b/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/index.tsx
index 4340f6e90..360b12649 100644
--- a/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/index.tsx
+++ b/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/index.tsx
@@ -25,9 +25,9 @@ export class PluginBulkUpdateClient extends Plugin {
},
};
- this.app.schemaInitializerManager.addItem('TableActionInitializers', 'customize.bulkUpdate', initializerData);
- this.app.schemaInitializerManager.addItem('GanttActionInitializers', 'customize.bulkUpdate', initializerData);
- this.app.schemaInitializerManager.addItem('MapActionInitializers', 'customize.bulkUpdate', initializerData);
+ this.app.schemaInitializerManager.addItem('table:configureActions', 'customize.bulkUpdate', initializerData);
+ this.app.schemaInitializerManager.addItem('gantt:configureActions', 'customize.bulkUpdate', initializerData);
+ this.app.schemaInitializerManager.addItem('map:configureActions', 'customize.bulkUpdate', initializerData);
}
}
diff --git a/packages/plugins/@nocobase/plugin-action-duplicate/src/client/DuplicateActionInitializer.tsx b/packages/plugins/@nocobase/plugin-action-duplicate/src/client/DuplicateActionInitializer.tsx
index e70d18f8f..917c9e641 100644
--- a/packages/plugins/@nocobase/plugin-action-duplicate/src/client/DuplicateActionInitializer.tsx
+++ b/packages/plugins/@nocobase/plugin-action-duplicate/src/client/DuplicateActionInitializer.tsx
@@ -38,7 +38,7 @@ export const DuplicateActionInitializer = (props) => {
grid: {
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'CreateFormBlockInitializers',
+ 'x-initializer': 'popup:addNew:addBlock',
properties: {},
},
},
diff --git a/packages/plugins/@nocobase/plugin-action-duplicate/src/client/__e2e__/schemaInitailizer.test.ts b/packages/plugins/@nocobase/plugin-action-duplicate/src/client/__e2e__/schemaInitailizer.test.ts
index 000201fbe..a9d77f2d6 100644
--- a/packages/plugins/@nocobase/plugin-action-duplicate/src/client/__e2e__/schemaInitailizer.test.ts
+++ b/packages/plugins/@nocobase/plugin-action-duplicate/src/client/__e2e__/schemaInitailizer.test.ts
@@ -11,7 +11,7 @@ test.describe('TableActionColumnInitializers & DetailsActionInitializers & ReadP
const nocoPage = await mockPage(oneEmptyTableBlockWithCustomizeActions).waitForInit();
await mockRecords('general', 3);
await nocoPage.goto();
- await page.getByRole('button', { name: 'Actions' }).hover();
+ await page.getByRole('button', { name: 'Actions', exact: true }).hover();
await page.getByLabel('designer-schema-settings-TableV2.Column-TableV2.ActionColumnDesigner-general').hover();
await page.getByRole('menuitem', { name: 'Duplicate' }).click();
await expect(page.getByLabel('action-Action.Link-Duplicate-duplicate-general-table-0')).toBeVisible();
diff --git a/packages/plugins/@nocobase/plugin-action-duplicate/src/client/__e2e__/schemaSettings.test.ts b/packages/plugins/@nocobase/plugin-action-duplicate/src/client/__e2e__/schemaSettings.test.ts
index 337d56b24..d74999e27 100644
--- a/packages/plugins/@nocobase/plugin-action-duplicate/src/client/__e2e__/schemaSettings.test.ts
+++ b/packages/plugins/@nocobase/plugin-action-duplicate/src/client/__e2e__/schemaSettings.test.ts
@@ -34,18 +34,18 @@ test.describe('direct duplicate & copy into the form and continue to fill in', (
await page.getByRole('button', { name: 'singleLineText (Duplicate)' }).click();
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page.getByLabel('action-Action.Link-Duplicate-duplicate-general-table-0').click();
- await page.getByLabel('schema-initializer-Grid-CreateFormBlockInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-popup:addNew:addBlock-general').hover();
//配置表单区块
await page.getByRole('menuitem', { name: 'form Form' }).click();
await page.mouse.move(300, 0);
- await page.getByLabel('schema-initializer-Grid-FormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-form:configureFields-general').hover();
await page.getByRole('menuitem', { name: 'singleLineText' }).click();
await page.getByRole('menuitem', { name: 'oneToOneBelongsTo' }).click();
await page.getByRole('menuitem', { name: 'oneToOneHasOne' }).click();
await page.getByRole('menuitem', { name: 'oneToMany' }).click();
await page.getByRole('menuitem', { name: 'manyToOne', exact: true }).click();
await page.getByRole('menuitem', { name: 'manyToMany' }).click();
- await page.getByLabel('schema-initializer-ActionBar-CreateFormActionInitializers-general').click();
+ await page.getByLabel('schema-initializer-ActionBar-createForm:configureActions-general').click();
await page.getByRole('menuitem', { name: 'Submit' }).click();
await page.getByLabel('drawer-Action.Container-general-Duplicate-mask').click();
//同步表单字段
diff --git a/packages/plugins/@nocobase/plugin-action-duplicate/src/client/__e2e__/utils.ts b/packages/plugins/@nocobase/plugin-action-duplicate/src/client/__e2e__/utils.ts
index e85717235..19c0498c1 100644
--- a/packages/plugins/@nocobase/plugin-action-duplicate/src/client/__e2e__/utils.ts
+++ b/packages/plugins/@nocobase/plugin-action-duplicate/src/client/__e2e__/utils.ts
@@ -97,7 +97,7 @@ export const oneEmptyGantt: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
gl57m4hyewf: {
_isJSONSchemaObject: true,
@@ -154,7 +154,7 @@ export const oneEmptyGantt: PageConfig = {
marginBottom: 24,
},
},
- 'x-initializer': 'GanttActionInitializers',
+ 'x-initializer': 'gantt:configureActions',
'x-uid': 'guwovmwt4c0',
'x-async': false,
'x-index': 1,
@@ -170,7 +170,7 @@ export const oneEmptyGantt: PageConfig = {
maxWidth: '35%',
},
},
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -190,7 +190,7 @@ export const oneEmptyGantt: PageConfig = {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -253,7 +253,7 @@ export const oneEmptyGantt: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
'x-uid': 'gxtfjqzxbfu',
'x-async': false,
'x-index': 1,
@@ -327,7 +327,7 @@ export const oneEmptyTableBlockWithDuplicateActions: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
'x-index': 1,
properties: {
'1m4gz110aaw': {
@@ -368,7 +368,7 @@ export const oneEmptyTableBlockWithDuplicateActions: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -384,7 +384,7 @@ export const oneEmptyTableBlockWithDuplicateActions: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'array',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -403,7 +403,7 @@ export const oneEmptyTableBlockWithDuplicateActions: PageConfig = {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -465,7 +465,7 @@ export const oneEmptyTableBlockWithDuplicateActions: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'CreateFormBlockInitializers',
+ 'x-initializer': 'popup:addNew:addBlock',
'x-uid': 'vtcnkzcaeec',
'x-async': false,
'x-index': 1,
diff --git a/packages/plugins/@nocobase/plugin-action-duplicate/src/client/index.ts b/packages/plugins/@nocobase/plugin-action-duplicate/src/client/index.ts
index 3a2abcf9c..072d681d8 100644
--- a/packages/plugins/@nocobase/plugin-action-duplicate/src/client/index.ts
+++ b/packages/plugins/@nocobase/plugin-action-duplicate/src/client/index.ts
@@ -60,11 +60,7 @@ export class PluginDuplicateClient extends Plugin {
},
};
- this.app.schemaInitializerManager.addItem(
- 'TableActionColumnInitializers',
- 'actions.duplicate',
- initializerTableData,
- );
+ this.app.schemaInitializerManager.addItem('table:configureItemActions', 'actions.duplicate', initializerTableData);
}
}
diff --git a/packages/plugins/@nocobase/plugin-action-print/src/client/__e2e__/schemaInitailizer.test.ts b/packages/plugins/@nocobase/plugin-action-print/src/client/__e2e__/schemaInitailizer.test.ts
index abe84dde0..16182a2ab 100644
--- a/packages/plugins/@nocobase/plugin-action-print/src/client/__e2e__/schemaInitailizer.test.ts
+++ b/packages/plugins/@nocobase/plugin-action-print/src/client/__e2e__/schemaInitailizer.test.ts
@@ -8,7 +8,7 @@ test.describe('ReadPrettyFormActionInitializers & CalendarFormActionInitializers
await nocoPage.goto();
await page.getByLabel('block-item-CardItem-general-table').hover();
await page.getByLabel('action-Action.Link-View-view-general').click();
- await page.getByLabel('schema-initializer-ActionBar-ReadPrettyFormActionInitializers-general').hover();
+ await page.getByLabel('schema-initializer-ActionBar-details:configureActions-general').hover();
await page.getByRole('menuitem', { name: 'Print' }).click();
await expect(page.getByLabel('action-Action-Print-print-general-form')).toBeVisible();
});
@@ -17,7 +17,7 @@ test.describe('ReadPrettyFormActionInitializers & CalendarFormActionInitializers
await mockRecord('general', { singleLineText: 'test' });
await nocoPage.goto();
await page.getByTitle('test').click();
- await page.getByLabel('schema-initializer-ActionBar-CalendarFormActionInitializers-general').hover();
+ await page.getByLabel('schema-initializer-ActionBar-details:configureActions-general').hover();
await page.getByRole('menuitem', { name: 'Print' }).click();
await page.getByLabel('action-Action-Print-print-general-form').click();
});
diff --git a/packages/plugins/@nocobase/plugin-action-print/src/client/__e2e__/utils.ts b/packages/plugins/@nocobase/plugin-action-print/src/client/__e2e__/utils.ts
index 51debcd72..84ab88f58 100644
--- a/packages/plugins/@nocobase/plugin-action-print/src/client/__e2e__/utils.ts
+++ b/packages/plugins/@nocobase/plugin-action-print/src/client/__e2e__/utils.ts
@@ -96,7 +96,7 @@ export const oneTableWithViewAction: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
_isJSONSchemaObject: true,
properties: {
'8xj4v8eg792': {
@@ -137,7 +137,7 @@ export const oneTableWithViewAction: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'ActionBar',
- 'x-initializer': 'TableActionInitializers',
+ 'x-initializer': 'table:configureActions',
'x-component-props': {
style: {
marginBottom: 'var(--nb-spacing)',
@@ -152,7 +152,7 @@ export const oneTableWithViewAction: PageConfig = {
type: 'array',
version: '2.0',
'x-component': 'TableV2',
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component-props': {
rowKey: 'id',
useProps: '{{ useTableBlockProps }}',
@@ -169,7 +169,7 @@ export const oneTableWithViewAction: PageConfig = {
'x-designer': 'TableV2.ActionColumnDesigner',
'x-component': 'TableV2.Column',
'x-decorator': 'TableV2.Column.ActionBar',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
'x-action-column': 'actions',
_isJSONSchemaObject: true,
properties: {
@@ -230,7 +230,7 @@ export const oneTableWithViewAction: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
_isJSONSchemaObject: true,
properties: {
v9jpx7749ok: {
@@ -276,8 +276,7 @@ export const oneTableWithViewAction: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'ActionBar',
- 'x-initializer':
- 'ReadPrettyFormActionInitializers',
+ 'x-initializer': 'details:configureActions',
'x-component-props': {
style: {
marginBottom: 24,
@@ -292,8 +291,7 @@ export const oneTableWithViewAction: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer':
- 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
_isJSONSchemaObject: true,
'x-uid': 'kum0xpsh9se',
'x-async': false,
@@ -392,7 +390,7 @@ export const oneCalenderWithViewAction: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
_isJSONSchemaObject: true,
properties: {
'8er4x7qwc0p': {
@@ -443,7 +441,7 @@ export const oneCalenderWithViewAction: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'CalendarV2.ActionBar',
- 'x-initializer': 'CalendarActionInitializers',
+ 'x-initializer': 'calendar:configureActions',
'x-component-props': {
style: {
marginBottom: 24,
@@ -503,7 +501,7 @@ export const oneCalenderWithViewAction: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer': 'CreateFormBlockInitializers',
+ 'x-initializer': 'popup:addNew:addBlock',
_isJSONSchemaObject: true,
properties: {
'7e9xtqdm96x': {
@@ -548,7 +546,7 @@ export const oneCalenderWithViewAction: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
_isJSONSchemaObject: true,
properties: {
ikh538659hb: {
@@ -668,7 +666,7 @@ export const oneCalenderWithViewAction: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'ActionBar',
- 'x-initializer': 'CreateFormActionInitializers',
+ 'x-initializer': 'createForm:configureActions',
'x-component-props': {
style: {
marginTop: 24,
@@ -776,7 +774,7 @@ export const oneCalenderWithViewAction: PageConfig = {
'x-component-props': {},
_isJSONSchemaObject: true,
'x-initializer-props': {
- gridInitializer: 'RecordBlockInitializers',
+ gridInitializer: 'popup:common:addBlock',
},
properties: {
tab1: {
@@ -792,10 +790,10 @@ export const oneCalenderWithViewAction: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
_isJSONSchemaObject: true,
'x-initializer-props': {
- actionInitializers: 'CalendarFormActionInitializers',
+ actionInitializers: 'details:configureActions',
},
properties: {
'0j7rb0bivys': {
@@ -841,7 +839,7 @@ export const oneCalenderWithViewAction: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'ActionBar',
- 'x-initializer': 'CalendarFormActionInitializers',
+ 'x-initializer': 'details:configureActions',
'x-component-props': {
style: {
marginBottom: 24,
@@ -856,7 +854,7 @@ export const oneCalenderWithViewAction: PageConfig = {
type: 'void',
version: '2.0',
'x-component': 'Grid',
- 'x-initializer': 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
_isJSONSchemaObject: true,
'x-uid': 'br7bq2ddccy',
'x-async': false,
diff --git a/packages/plugins/@nocobase/plugin-action-print/src/client/index.tsx b/packages/plugins/@nocobase/plugin-action-print/src/client/index.tsx
index 89e15fff0..3730092f6 100644
--- a/packages/plugins/@nocobase/plugin-action-print/src/client/index.tsx
+++ b/packages/plugins/@nocobase/plugin-action-print/src/client/index.tsx
@@ -18,11 +18,7 @@ export class PrintPlugin extends Plugin {
},
};
- this.app.schemaInitializerManager.addItem(
- 'ReadPrettyFormActionInitializers',
- 'enableActions.print',
- initializerData,
- );
+ this.app.schemaInitializerManager.addItem('details:configureActions', 'enableActions.print', initializerData);
this.app.schemaInitializerManager.addItem('CalendarFormActionInitializers', 'enableActions.print', initializerData);
}
}
diff --git a/packages/plugins/@nocobase/plugin-audit-logs/src/client/AuditLogsBlockInitializer.tsx b/packages/plugins/@nocobase/plugin-audit-logs/src/client/AuditLogsBlockInitializer.tsx
index 440a694f9..6752dcf10 100644
--- a/packages/plugins/@nocobase/plugin-audit-logs/src/client/AuditLogsBlockInitializer.tsx
+++ b/packages/plugins/@nocobase/plugin-audit-logs/src/client/AuditLogsBlockInitializer.tsx
@@ -17,9 +17,9 @@ export const AuditLogsBlockInitializer = () => {
const schema = createTableBlockSchema({
collection: 'auditLogs',
rowKey: 'id',
- tableActionInitializers: 'AuditLogsTableActionInitializers',
- tableColumnInitializers: 'AuditLogsTableColumnInitializers',
- tableActionColumnInitializers: 'AuditLogsTableActionColumnInitializers',
+ tableActionInitializers: 'auditLogsTable:configureActions',
+ tableColumnInitializers: 'auditLogsTable:configureColumns',
+ tableActionColumnInitializers: 'auditLogsTable:configureItemActions',
tableBlockProvider: 'AuditLogsBlockProvider',
disableTemplate: true,
});
diff --git a/packages/plugins/@nocobase/plugin-audit-logs/src/client/components/AuditLogsViewActionInitializer.tsx b/packages/plugins/@nocobase/plugin-audit-logs/src/client/components/AuditLogsViewActionInitializer.tsx
index 3802544d1..2ab850ef3 100644
--- a/packages/plugins/@nocobase/plugin-audit-logs/src/client/components/AuditLogsViewActionInitializer.tsx
+++ b/packages/plugins/@nocobase/plugin-audit-logs/src/client/components/AuditLogsViewActionInitializer.tsx
@@ -206,7 +206,7 @@ export const AuditLogsViewActionInitializer = () => {
grid: {
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
},
},
},
diff --git a/packages/plugins/@nocobase/plugin-audit-logs/src/client/deplicated/AuditLogs.tsx b/packages/plugins/@nocobase/plugin-audit-logs/src/client/deplicated/AuditLogs.tsx
index f502bc7d3..54e62873d 100644
--- a/packages/plugins/@nocobase/plugin-audit-logs/src/client/deplicated/AuditLogs.tsx
+++ b/packages/plugins/@nocobase/plugin-audit-logs/src/client/deplicated/AuditLogs.tsx
@@ -171,7 +171,7 @@ export const AuditLogs: any = () => {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
type: 'void',
diff --git a/packages/plugins/@nocobase/plugin-audit-logs/src/client/index.ts b/packages/plugins/@nocobase/plugin-audit-logs/src/client/index.ts
index afee90c42..3cb402f30 100644
--- a/packages/plugins/@nocobase/plugin-audit-logs/src/client/index.ts
+++ b/packages/plugins/@nocobase/plugin-audit-logs/src/client/index.ts
@@ -1,20 +1,32 @@
import { Plugin, SchemaInitializerItemType } from '@nocobase/client';
import { AuditLogsProvider } from './AuditLogsProvider';
-import { auditLogsTableActionColumnInitializers } from './initializers/AuditLogsTableActionColumnInitializers';
-import { auditLogsTableActionInitializers } from './initializers/AuditLogsTableActionInitializers';
-import { auditLogsTableColumnInitializers } from './initializers/AuditLogsTableColumnInitializers';
+import {
+ auditLogsTableActionColumnInitializers,
+ auditLogsTableActionColumnInitializers_deprecated,
+} from './initializers/AuditLogsTableActionColumnInitializers';
+import {
+ auditLogsTableActionInitializers,
+ auditLogsTableActionInitializers_deprecated,
+} from './initializers/AuditLogsTableActionInitializers';
+import {
+ auditLogsTableColumnInitializers,
+ auditLogsTableColumnInitializers_deprecated,
+} from './initializers/AuditLogsTableColumnInitializers';
export * from './AuditLogsBlockInitializer';
export * from './AuditLogsProvider';
export class AuditLogsPlugin extends Plugin {
async load() {
this.app.use(AuditLogsProvider);
+ this.app.schemaInitializerManager.add(auditLogsTableActionInitializers_deprecated);
this.app.schemaInitializerManager.add(auditLogsTableActionInitializers);
+ this.app.schemaInitializerManager.add(auditLogsTableActionColumnInitializers_deprecated);
this.app.schemaInitializerManager.add(auditLogsTableActionColumnInitializers);
+ this.app.schemaInitializerManager.add(auditLogsTableColumnInitializers_deprecated);
this.app.schemaInitializerManager.add(auditLogsTableColumnInitializers);
- const blockInitializers = this.app.schemaInitializerManager.get('BlockInitializers');
- const recordBlockInitializers = this.app.schemaInitializerManager.get('RecordBlockInitializers');
+ const blockInitializers = this.app.schemaInitializerManager.get('page:addBlock');
+ const recordBlockInitializers = this.app.schemaInitializerManager.get('popup:common:addBlock');
const auditLogs: Omit
= {
title: '{{t("Audit logs")}}',
Component: 'AuditLogsBlockInitializer',
diff --git a/packages/plugins/@nocobase/plugin-audit-logs/src/client/initializers/AuditLogsTableActionColumnInitializer.tsx b/packages/plugins/@nocobase/plugin-audit-logs/src/client/initializers/AuditLogsTableActionColumnInitializer.tsx
index 5ec9f3719..a045445a7 100644
--- a/packages/plugins/@nocobase/plugin-audit-logs/src/client/initializers/AuditLogsTableActionColumnInitializer.tsx
+++ b/packages/plugins/@nocobase/plugin-audit-logs/src/client/initializers/AuditLogsTableActionColumnInitializer.tsx
@@ -8,7 +8,7 @@ export const AuditLogsTableActionColumnInitializer = () => {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'AuditLogsTableActionColumnInitializers',
+ 'x-initializer': 'auditLogsTable:configureItemActions',
'x-action-column': 'actions',
properties: {
actions: {
diff --git a/packages/plugins/@nocobase/plugin-audit-logs/src/client/initializers/AuditLogsTableActionColumnInitializers.tsx b/packages/plugins/@nocobase/plugin-audit-logs/src/client/initializers/AuditLogsTableActionColumnInitializers.tsx
index 2026e5397..437f47899 100644
--- a/packages/plugins/@nocobase/plugin-audit-logs/src/client/initializers/AuditLogsTableActionColumnInitializers.tsx
+++ b/packages/plugins/@nocobase/plugin-audit-logs/src/client/initializers/AuditLogsTableActionColumnInitializers.tsx
@@ -1,10 +1,19 @@
import { MenuOutlined } from '@ant-design/icons';
import { useFieldSchema } from '@formily/react';
-import { createDesignable, Resizable, SchemaInitializer, useAPIClient, useDesignable } from '@nocobase/client';
+import {
+ CompatibleSchemaInitializer,
+ createDesignable,
+ Resizable,
+ useAPIClient,
+ useDesignable,
+} from '@nocobase/client';
import React from 'react';
import { useTranslation } from 'react-i18next';
-export const auditLogsTableActionColumnInitializers = new SchemaInitializer({
+/**
+ * @deprecated
+ */
+export const auditLogsTableActionColumnInitializers_deprecated = new CompatibleSchemaInitializer({
name: 'AuditLogsTableActionColumnInitializers',
insertPosition: 'beforeEnd',
Component: (props: any) => ,
@@ -65,3 +74,68 @@ export const auditLogsTableActionColumnInitializers = new SchemaInitializer({
},
],
});
+
+export const auditLogsTableActionColumnInitializers = new CompatibleSchemaInitializer(
+ {
+ name: 'auditLogsTable:configureItemActions',
+ insertPosition: 'beforeEnd',
+ Component: (props: any) => ,
+ useInsert() {
+ const fieldSchema = useFieldSchema();
+ const api = useAPIClient();
+ const { refresh } = useDesignable();
+ const { t } = useTranslation();
+
+ return (schema) => {
+ const spaceSchema = fieldSchema.reduceProperties((buf, schema) => {
+ if (schema['x-component'] === 'Space') {
+ return schema;
+ }
+ return buf;
+ }, null);
+ if (!spaceSchema) {
+ return;
+ }
+ const dn = createDesignable({
+ t,
+ api,
+ refresh,
+ current: spaceSchema,
+ });
+ dn.loadAPIClientEvents();
+ dn.insertBeforeEnd(schema);
+ };
+ },
+ items: [
+ {
+ name: 'enableActions',
+ type: 'itemGroup',
+ title: '{{t("Enable actions")}}',
+ children: [
+ {
+ name: 'view',
+ type: 'item',
+ title: '{{t("View")}}',
+ Component: 'AuditLogsViewActionInitializer',
+ schema: {
+ 'x-component': 'Action.Link',
+ 'x-action': 'view',
+ 'x-decorator': 'ACLActionProvider',
+ },
+ },
+ ],
+ },
+ {
+ name: 'divider',
+ type: 'divider',
+ },
+ {
+ name: 'columnWidth',
+ type: 'item',
+ title: '{{t("Column width")}}',
+ Component: Resizable,
+ },
+ ],
+ },
+ auditLogsTableActionColumnInitializers_deprecated,
+);
diff --git a/packages/plugins/@nocobase/plugin-audit-logs/src/client/initializers/AuditLogsTableActionInitializers.tsx b/packages/plugins/@nocobase/plugin-audit-logs/src/client/initializers/AuditLogsTableActionInitializers.tsx
index 2fe57c478..41b74bec4 100644
--- a/packages/plugins/@nocobase/plugin-audit-logs/src/client/initializers/AuditLogsTableActionInitializers.tsx
+++ b/packages/plugins/@nocobase/plugin-audit-logs/src/client/initializers/AuditLogsTableActionInitializers.tsx
@@ -1,7 +1,10 @@
-import { SchemaInitializer } from '@nocobase/client';
+import { CompatibleSchemaInitializer } from '@nocobase/client';
-// 操作记录表格操作配置
-export const auditLogsTableActionInitializers: SchemaInitializer = new SchemaInitializer({
+/**
+ * @deprecated
+ * 操作记录表格操作配置
+ */
+export const auditLogsTableActionInitializers_deprecated = new CompatibleSchemaInitializer({
name: 'AuditLogsTableActionInitializers',
title: "{{t('Configure actions')}}",
icon: 'SettingOutlined',
@@ -34,3 +37,40 @@ export const auditLogsTableActionInitializers: SchemaInitializer = new SchemaIni
},
],
});
+
+export const auditLogsTableActionInitializers = new CompatibleSchemaInitializer(
+ {
+ name: 'auditLogsTable:configureActions',
+ title: "{{t('Configure actions')}}",
+ icon: 'SettingOutlined',
+ style: {
+ marginLeft: 8,
+ },
+ items: [
+ {
+ type: 'itemGroup',
+ title: "{{t('Enable actions')}}",
+ name: 'enableActions',
+ children: [
+ {
+ name: 'filter',
+ title: "{{t('Filter')}}",
+ Component: 'FilterActionInitializer',
+ schema: {
+ 'x-align': 'left',
+ },
+ },
+ {
+ name: 'refresh',
+ title: "{{t('Refresh')}}",
+ Component: 'RefreshActionInitializer',
+ schema: {
+ 'x-align': 'right',
+ },
+ },
+ ],
+ },
+ ],
+ },
+ auditLogsTableActionInitializers_deprecated,
+);
diff --git a/packages/plugins/@nocobase/plugin-audit-logs/src/client/initializers/AuditLogsTableColumnInitializers.tsx b/packages/plugins/@nocobase/plugin-audit-logs/src/client/initializers/AuditLogsTableColumnInitializers.tsx
index d285ca29e..81ae12a81 100644
--- a/packages/plugins/@nocobase/plugin-audit-logs/src/client/initializers/AuditLogsTableColumnInitializers.tsx
+++ b/packages/plugins/@nocobase/plugin-audit-logs/src/client/initializers/AuditLogsTableColumnInitializers.tsx
@@ -1,5 +1,5 @@
import {
- SchemaInitializer,
+ CompatibleSchemaInitializer,
SchemaInitializerChildren,
useAssociatedTableColumnInitializerFields,
useCompile,
@@ -44,7 +44,10 @@ const AssociatedFields = () => {
return {schema};
};
-export const auditLogsTableColumnInitializers: SchemaInitializer = new SchemaInitializer({
+/**
+ * @deprecated
+ */
+export const auditLogsTableColumnInitializers_deprecated = new CompatibleSchemaInitializer({
name: 'AuditLogsTableColumnInitializers',
insertPosition: 'beforeEnd',
icon: 'SettingOutlined',
@@ -87,3 +90,50 @@ export const auditLogsTableColumnInitializers: SchemaInitializer = new SchemaIni
},
],
});
+
+export const auditLogsTableColumnInitializers = new CompatibleSchemaInitializer(
+ {
+ name: 'auditLogsTable:configureColumns',
+ insertPosition: 'beforeEnd',
+ icon: 'SettingOutlined',
+ title: '{{t("Configure columns")}}',
+ wrap(s) {
+ if (s['x-action-column']) {
+ return s;
+ }
+ return {
+ type: 'void',
+ 'x-decorator': 'TableV2.Column.Decorator',
+ 'x-designer': 'TableV2.Column.Designer',
+ 'x-component': 'TableV2.Column',
+ properties: {
+ [s.name]: {
+ ...s,
+ },
+ },
+ };
+ },
+ items: [
+ {
+ name: 'displayFields',
+ type: 'itemGroup',
+ title: '{{t("Display fields")}}',
+ useChildren: useTableColumnInitializerFields,
+ },
+ {
+ name: 'parentCollectionFields',
+ Component: ParentCollectionFields,
+ },
+ {
+ name: 'associationFields',
+ Component: AssociatedFields,
+ },
+ {
+ name: 'actionColumn',
+ title: '{{t("Action column")}}',
+ Component: 'AuditLogsTableActionColumnInitializer',
+ },
+ ],
+ },
+ auditLogsTableColumnInitializers_deprecated,
+);
diff --git a/packages/plugins/@nocobase/plugin-calendar/src/client/calendar/DeleteEvent.tsx b/packages/plugins/@nocobase/plugin-calendar/src/client/calendar/DeleteEvent.tsx
index fdadf924f..2a3348737 100644
--- a/packages/plugins/@nocobase/plugin-calendar/src/client/calendar/DeleteEvent.tsx
+++ b/packages/plugins/@nocobase/plugin-calendar/src/client/calendar/DeleteEvent.tsx
@@ -14,7 +14,7 @@ export const DeleteEvent = observer(
const { visible, setVisible } = useActionContext();
const { exclude = [], cron, ...record } = useRecord();
const { close } = useContext(DeleteEventContext);
- const startDate = formatDate(dayjs(record.__parent.__event.start));
+ const startDate = formatDate(dayjs(record.__parent?.__event.start));
const filterByTk = useFilterByTk();
const { resource, service, __parent } = useBlockRequestContext();
const [value, onChange] = useState(startDate);
diff --git a/packages/plugins/@nocobase/plugin-calendar/src/client/index.tsx b/packages/plugins/@nocobase/plugin-calendar/src/client/index.tsx
index 4119903e6..de7d6fbd1 100644
--- a/packages/plugins/@nocobase/plugin-calendar/src/client/index.tsx
+++ b/packages/plugins/@nocobase/plugin-calendar/src/client/index.tsx
@@ -1,16 +1,21 @@
import { Plugin } from '@nocobase/client';
import { generateNTemplate } from '../locale';
import { CalendarV2 } from './calendar';
+import { calendarBlockSettings } from './calendar/Calender.Settings';
import { CalendarCollectionTemplate } from './collection-templates/calendar';
import { CalendarBlockProvider, useCalendarBlockProps } from './schema-initializer/CalendarBlockProvider';
-import { CalendarActionInitializers, CalendarFormActionInitializers } from './schema-initializer/initializers';
+import {
+ CalendarActionInitializers_deprecated,
+ CalendarFormActionInitializers,
+ calendarActionInitializers,
+ deleteEventActionInitializer,
+} from './schema-initializer/initializers';
import { CalendarBlockInitializer, RecordAssociationCalendarBlockInitializer } from './schema-initializer/items';
-import { calendarBlockSettings } from './calendar/Calender.Settings';
export class PluginCalendarClient extends Plugin {
async load() {
this.app.dataSourceManager.addCollectionTemplates([CalendarCollectionTemplate]);
- this.app.schemaInitializerManager.addItem('BlockInitializers', 'dataBlocks.calendar', {
+ this.app.schemaInitializerManager.addItem('page:addBlock', 'dataBlocks.calendar', {
title: generateNTemplate('Calendar'),
Component: 'CalendarBlockInitializer',
});
@@ -22,8 +27,12 @@ export class PluginCalendarClient extends Plugin {
});
this.app.addScopes({ useCalendarBlockProps });
this.schemaSettingsManager.add(calendarBlockSettings);
- this.app.schemaInitializerManager.add(CalendarActionInitializers);
+ this.app.schemaInitializerManager.add(CalendarActionInitializers_deprecated);
+ this.app.schemaInitializerManager.add(calendarActionInitializers);
this.app.schemaInitializerManager.add(CalendarFormActionInitializers);
+ this.app.schemaInitializerManager
+ .get('details:configureActions')
+ .add('enableActions.deleteEvent', deleteEventActionInitializer);
}
}
diff --git a/packages/plugins/@nocobase/plugin-calendar/src/client/schema-initializer/initializers/CalendarActionInitializers.tsx b/packages/plugins/@nocobase/plugin-calendar/src/client/schema-initializer/initializers/CalendarActionInitializers.tsx
index 1da7aa53f..23df1f694 100644
--- a/packages/plugins/@nocobase/plugin-calendar/src/client/schema-initializer/initializers/CalendarActionInitializers.tsx
+++ b/packages/plugins/@nocobase/plugin-calendar/src/client/schema-initializer/initializers/CalendarActionInitializers.tsx
@@ -1,8 +1,11 @@
-import { SchemaInitializer, useCollection_deprecated } from '@nocobase/client';
+import { CompatibleSchemaInitializer, useCollection_deprecated } from '@nocobase/client';
import { generateNTemplate } from '../../../locale';
-// 日历的操作配置
-export const CalendarActionInitializers: SchemaInitializer = new SchemaInitializer({
+/**
+ * @deprecated
+ * 日历的操作配置
+ */
+export const CalendarActionInitializers_deprecated = new CompatibleSchemaInitializer({
title: generateNTemplate('Configure actions'),
icon: 'SettingOutlined',
name: 'CalendarActionInitializers',
@@ -86,3 +89,91 @@ export const CalendarActionInitializers: SchemaInitializer = new SchemaInitializ
},
],
});
+
+export const calendarActionInitializers = new CompatibleSchemaInitializer(
+ {
+ title: generateNTemplate('Configure actions'),
+ icon: 'SettingOutlined',
+ name: 'calendar:configureActions',
+ style: { marginLeft: 8 },
+ items: [
+ {
+ type: 'itemGroup',
+ name: 'enableActions',
+ title: generateNTemplate('Enable actions'),
+ children: [
+ {
+ name: 'today',
+ title: generateNTemplate('Today'),
+ Component: 'ActionInitializer',
+ schema: {
+ title: generateNTemplate('Today'),
+ 'x-component': 'CalendarV2.Today',
+ 'x-action': `calendar:today`,
+ 'x-align': 'left',
+ },
+ },
+ {
+ name: 'turnPages',
+ title: generateNTemplate('Turn pages'),
+ Component: 'ActionInitializer',
+ schema: {
+ title: generateNTemplate('Turn pages'),
+ 'x-component': 'CalendarV2.Nav',
+ 'x-action': `calendar:nav`,
+ 'x-align': 'left',
+ },
+ },
+ {
+ name: 'title',
+ title: generateNTemplate('Title'),
+ Component: 'ActionInitializer',
+ schema: {
+ title: generateNTemplate('Title'),
+ 'x-component': 'CalendarV2.Title',
+ 'x-action': `calendar:title`,
+ 'x-align': 'left',
+ },
+ },
+ {
+ name: 'selectView',
+ title: generateNTemplate('Select view'),
+ Component: 'ActionInitializer',
+ schema: {
+ title: generateNTemplate('Select view'),
+ 'x-component': 'CalendarV2.ViewSelect',
+ 'x-action': `calendar:viewSelect`,
+ 'x-align': 'right',
+ 'x-designer': 'Action.Designer',
+ },
+ },
+ {
+ name: 'filter',
+ title: generateNTemplate('Filter'),
+ Component: 'FilterActionInitializer',
+ schema: {
+ 'x-align': 'right',
+ },
+ },
+ {
+ name: 'addNew',
+ title: generateNTemplate('Add new'),
+ Component: 'CreateActionInitializer',
+ schema: {
+ 'x-align': 'right',
+ 'x-decorator': 'ACLActionProvider',
+ 'x-acl-action-props': {
+ skipScopeCheck: true,
+ },
+ },
+ useVisible() {
+ const collection = useCollection_deprecated();
+ return (collection.template !== 'view' || collection?.writableView) && collection.template !== 'sql';
+ },
+ },
+ ],
+ },
+ ],
+ },
+ CalendarActionInitializers_deprecated,
+);
diff --git a/packages/plugins/@nocobase/plugin-calendar/src/client/schema-initializer/initializers/CalendarFormActionInitializers.tsx b/packages/plugins/@nocobase/plugin-calendar/src/client/schema-initializer/initializers/CalendarFormActionInitializers.tsx
index 97832dea4..67bea5c3f 100644
--- a/packages/plugins/@nocobase/plugin-calendar/src/client/schema-initializer/initializers/CalendarFormActionInitializers.tsx
+++ b/packages/plugins/@nocobase/plugin-calendar/src/client/schema-initializer/initializers/CalendarFormActionInitializers.tsx
@@ -1,8 +1,25 @@
-import { SchemaInitializer, useCollection_deprecated } from '@nocobase/client';
+import { SchemaInitializer, SchemaInitializerItemType, useCollection_deprecated } from '@nocobase/client';
import { generateNTemplate } from '../../../locale';
-// 表单的操作配置
-export const CalendarFormActionInitializers: SchemaInitializer = new SchemaInitializer({
+export const deleteEventActionInitializer: SchemaInitializerItemType = {
+ name: 'deleteEvent',
+ title: generateNTemplate('Delete Event'),
+ Component: 'DeleteEventActionInitializer',
+ schema: {
+ 'x-component': 'Action',
+ 'x-decorator': 'ACLActionProvider',
+ },
+ useVisible() {
+ const collection = useCollection_deprecated();
+ return collection.template === 'calendar';
+ },
+};
+
+/**
+ * @deprecated
+ * 表单的操作配置
+ */
+export const CalendarFormActionInitializers = new SchemaInitializer({
title: generateNTemplate('Configure actions'),
name: 'CalendarFormActionInitializers',
icon: 'SettingOutlined',
@@ -44,19 +61,7 @@ export const CalendarFormActionInitializers: SchemaInitializer = new SchemaIniti
return (collection.template !== 'view' || collection?.writableView) && collection.template !== 'sql';
},
},
- {
- name: 'deleteEvent',
- title: generateNTemplate('Delete Event'),
- Component: 'DeleteEventActionInitializer',
- schema: {
- 'x-component': 'Action',
- 'x-decorator': 'ACLActionProvider',
- },
- useVisible() {
- const collection = useCollection_deprecated();
- return (collection.template !== 'view' || collection?.writableView) && collection.template !== 'sql';
- },
- },
+ deleteEventActionInitializer,
],
},
{
@@ -108,7 +113,7 @@ export const CalendarFormActionInitializers: SchemaInitializer = new SchemaIniti
grid: {
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {},
},
},
diff --git a/packages/plugins/@nocobase/plugin-calendar/src/client/schema-initializer/utils.ts b/packages/plugins/@nocobase/plugin-calendar/src/client/schema-initializer/utils.ts
index a358c922b..2cfced89a 100644
--- a/packages/plugins/@nocobase/plugin-calendar/src/client/schema-initializer/utils.ts
+++ b/packages/plugins/@nocobase/plugin-calendar/src/client/schema-initializer/utils.ts
@@ -41,7 +41,7 @@ export const createCalendarBlockSchema = (options) => {
marginBottom: 24,
},
},
- 'x-initializer': 'CalendarActionInitializers',
+ 'x-initializer': 'calendar:configureActions',
properties: {},
},
event: {
@@ -62,7 +62,7 @@ export const createCalendarBlockSchema = (options) => {
'x-component-props': {},
'x-initializer': 'TabPaneInitializers',
'x-initializer-props': {
- gridInitializer: 'RecordBlockInitializers',
+ gridInitializer: 'popup:common:addBlock',
},
properties: {
tab1: {
@@ -76,9 +76,9 @@ export const createCalendarBlockSchema = (options) => {
type: 'void',
'x-component': 'Grid',
'x-initializer-props': {
- actionInitializers: 'CalendarFormActionInitializers',
+ actionInitializers: 'details:configureActions',
},
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {},
},
},
diff --git a/packages/plugins/@nocobase/plugin-charts/src/client/index.tsx b/packages/plugins/@nocobase/plugin-charts/src/client/index.tsx
index 9265307db..0eff99b25 100644
--- a/packages/plugins/@nocobase/plugin-charts/src/client/index.tsx
+++ b/packages/plugins/@nocobase/plugin-charts/src/client/index.tsx
@@ -6,7 +6,7 @@ import { ChartBlockEngine } from './ChartBlockEngine';
import { ChartBlockInitializer } from './ChartBlockInitializer';
import { ChartQueryMetadataProvider } from './ChartQueryMetadataProvider';
import './Icons';
-import { lang, NAMESPACE } from './locale';
+import { NAMESPACE, lang } from './locale';
import { CustomSelect } from './select';
import { QueriesTable } from './settings/QueriesTable';
@@ -73,7 +73,7 @@ export class ChartsPlugin extends Plugin {
}
async load() {
// Chart (Old) 老的不需要了
- // const blockInitializers = this.app.schemaInitializerManager.get('BlockInitializers');
+ // const blockInitializers = this.app.schemaInitializerManager.get('page:addBlock');
// blockInitializers?.add('data-blocks.chart-old', {
// icon: 'PieChartOutlined',
// title: '{{t("Chart (Old)",{ns:"charts"})}}',
diff --git a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/attachment/schemaInitializer.test.ts b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/attachment/schemaInitializer.test.ts
index 4275cb470..c5d23c6e1 100644
--- a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/attachment/schemaInitializer.test.ts
+++ b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/attachment/schemaInitializer.test.ts
@@ -9,7 +9,7 @@ test.describe('form item & create form', () => {
page,
showMenu: async () => {
await page.getByRole('button', { name: 'Add new' }).click();
- await page.getByLabel('schema-initializer-Grid-FormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-form:configureFields-general').hover();
},
supportedOptions: ['markdown', 'richtext', 'attachment'],
});
@@ -28,7 +28,7 @@ test.describe('form item & edit form', () => {
await page.getByLabel('action-Action.Link-Edit record-update-general-table-0').click();
// 等待弹窗内容渲染完成
await page.waitForTimeout(1000);
- await page.getByLabel('schema-initializer-Grid-FormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-form:configureFields-general').hover();
},
supportedOptions: ['markdown', 'richtext', 'attachment'],
});
@@ -47,7 +47,7 @@ test.describe('form item & view form', () => {
await page.getByLabel('action-Action.Link-View record-view-general-table-0').click();
// 等待弹窗内容渲染完成
await page.waitForTimeout(1000);
- await page.getByLabel('schema-initializer-Grid-ReadPrettyFormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-details:configureFields-general').hover();
},
supportedOptions: ['markdown', 'richtext', 'attachment'],
});
diff --git a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/belongsTo/schemaInitializer.test.ts b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/belongsTo/schemaInitializer.test.ts
index 7a92dab3f..dd3f791ac 100644
--- a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/belongsTo/schemaInitializer.test.ts
+++ b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/belongsTo/schemaInitializer.test.ts
@@ -14,7 +14,7 @@ test.describe('form item & create form', () => {
page,
showMenu: async () => {
await page.getByRole('button', { name: 'Add new' }).click();
- await page.getByLabel('schema-initializer-Grid-FormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-form:configureFields-general').hover();
},
supportedOptions: ['oneToMany', 'manyToOne', 'manyToMany', 'oneToOneBelongsTo', 'oneToOneHasOne'],
});
@@ -32,7 +32,7 @@ test.describe('form item & edit form', () => {
page,
showMenu: async () => {
await page.getByLabel('action-Action.Link-Edit record-update-general-table-0').click();
- await page.getByLabel('schema-initializer-Grid-FormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-form:configureFields-general').hover();
},
supportedOptions: ['oneToMany', 'manyToOne', 'manyToMany', 'oneToOneBelongsTo', 'oneToOneHasOne'],
});
@@ -49,7 +49,7 @@ test.describe('form item & view form', () => {
page,
showMenu: async () => {
await page.getByLabel('action-Action.Link-View record-view-general-table-0').click();
- await page.getByLabel('schema-initializer-Grid-ReadPrettyFormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-details:configureFields-general').hover();
},
supportedOptions: ['oneToMany', 'manyToOne', 'manyToMany', 'oneToOneBelongsTo', 'oneToOneHasOne'],
});
diff --git a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/checkbox/schemaInitializer.test.ts b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/checkbox/schemaInitializer.test.ts
index 0e534358f..ab83df419 100644
--- a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/checkbox/schemaInitializer.test.ts
+++ b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/checkbox/schemaInitializer.test.ts
@@ -9,7 +9,7 @@ test.describe('form item & create form', () => {
page,
showMenu: async () => {
await page.getByRole('button', { name: 'Add new' }).click();
- await page.getByLabel('schema-initializer-Grid-FormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-form:configureFields-general').hover();
},
supportedOptions: ['checkbox', 'chinaRegion', 'multipleSelect', 'radioGroup', 'singleSelect', 'checkboxGroup'],
});
@@ -26,7 +26,7 @@ test.describe('form item & edit form', () => {
page,
showMenu: async () => {
await page.getByLabel('action-Action.Link-Edit record-update-general-table-0').click();
- await page.getByLabel('schema-initializer-Grid-FormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-form:configureFields-general').hover();
},
supportedOptions: ['checkbox', 'chinaRegion', 'multipleSelect', 'radioGroup', 'singleSelect', 'checkboxGroup'],
});
@@ -43,7 +43,7 @@ test.describe('form item & view form', () => {
page,
showMenu: async () => {
await page.getByLabel('action-Action.Link-View record-view-general-table-0').click();
- await page.getByLabel('schema-initializer-Grid-ReadPrettyFormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-details:configureFields-general').hover();
},
supportedOptions: ['checkbox', 'chinaRegion', 'multipleSelect', 'radioGroup', 'singleSelect', 'checkboxGroup'],
});
diff --git a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/collection/schemaInitializer.test.ts b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/collection/schemaInitializer.test.ts
index a8f460d07..90ceb02b6 100644
--- a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/collection/schemaInitializer.test.ts
+++ b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/collection/schemaInitializer.test.ts
@@ -13,7 +13,7 @@ test.describe('form item & create form', () => {
page,
showMenu: async () => {
await page.getByRole('button', { name: 'Add new' }).click();
- await page.getByLabel('schema-initializer-Grid-FormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-form:configureFields-general').hover();
},
supportedOptions: ['formula', 'sequence', 'JSON', 'collection'],
});
@@ -30,7 +30,7 @@ test.describe('form item & edit form', () => {
page,
showMenu: async () => {
await page.getByLabel('action-Action.Link-Edit record-update-general-table-0').click();
- await page.getByLabel('schema-initializer-Grid-FormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-form:configureFields-general').hover();
},
supportedOptions: ['formula', 'sequence', 'JSON', 'collection'],
});
@@ -47,7 +47,7 @@ test.describe('form item & view form', () => {
page,
showMenu: async () => {
await page.getByLabel('action-Action.Link-View record-view-general-table-0').click();
- await page.getByLabel('schema-initializer-Grid-ReadPrettyFormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-details:configureFields-general').hover();
},
supportedOptions: ['formula', 'sequence', 'JSON', 'collection'],
});
diff --git a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/color/schemaInitializer.test.ts b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/color/schemaInitializer.test.ts
index dd82910d1..363c198af 100644
--- a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/color/schemaInitializer.test.ts
+++ b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/color/schemaInitializer.test.ts
@@ -9,7 +9,7 @@ test.describe('form item & create form', () => {
page,
showMenu: async () => {
await page.getByRole('button', { name: 'Add new' }).click();
- await page.getByLabel('schema-initializer-Grid-FormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-form:configureFields-general').hover();
},
supportedOptions: [
'color',
@@ -38,7 +38,7 @@ test.describe('form item & edit form', () => {
page,
showMenu: async () => {
await page.getByLabel('action-Action.Link-Edit record-update-general-table-0').click();
- await page.getByLabel('schema-initializer-Grid-FormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-form:configureFields-general').hover();
},
supportedOptions: [
'color',
@@ -67,7 +67,7 @@ test.describe('form item & view form', () => {
page,
showMenu: async () => {
await page.getByLabel('action-Action.Link-View record-view-general-table-0').click();
- await page.getByLabel('schema-initializer-Grid-ReadPrettyFormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-details:configureFields-general').hover();
},
supportedOptions: [
'color',
diff --git a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/createdAt/schemaInitializer.test.ts b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/createdAt/schemaInitializer.test.ts
index 60dc80d84..cc3df5e70 100644
--- a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/createdAt/schemaInitializer.test.ts
+++ b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/createdAt/schemaInitializer.test.ts
@@ -13,7 +13,7 @@ test.describe('form item & create form', () => {
page,
showMenu: async () => {
await page.getByRole('button', { name: 'Add new' }).click();
- await page.getByLabel('schema-initializer-Grid-FormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-form:configureFields-general').hover();
},
supportedOptions: ['Created at', 'Last updated at', 'Created by', 'Last updated by', 'ID', 'Table OID'],
});
@@ -30,7 +30,7 @@ test.describe('form item & edit form', () => {
page,
showMenu: async () => {
await page.getByLabel('action-Action.Link-Edit record-update-general-table-0').click();
- await page.getByLabel('schema-initializer-Grid-FormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-form:configureFields-general').hover();
},
supportedOptions: ['Created at', 'Last updated at', 'Created by', 'Last updated by', 'ID', 'Table OID'],
});
@@ -47,7 +47,7 @@ test.describe('form item & view form', () => {
page,
showMenu: async () => {
await page.getByLabel('action-Action.Link-View').click();
- await page.getByLabel('schema-initializer-Grid-ReadPrettyFormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-details:configureFields-general').hover();
},
supportedOptions: ['Created at', 'Last updated at', 'Created by', 'Last updated by', 'ID', 'Table OID'],
});
diff --git a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/datetime/schemaInitializer.test.ts b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/datetime/schemaInitializer.test.ts
index 0f982e116..1ef8819d9 100644
--- a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/datetime/schemaInitializer.test.ts
+++ b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/datetime/schemaInitializer.test.ts
@@ -13,7 +13,7 @@ test.describe('form item & create form', () => {
page,
showMenu: async () => {
await page.getByRole('button', { name: 'Add new' }).click();
- await page.getByLabel('schema-initializer-Grid-FormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-form:configureFields-general').hover();
},
supportedOptions: ['datetime', 'time'],
});
@@ -30,7 +30,7 @@ test.describe('form item & edit form', () => {
page,
showMenu: async () => {
await page.getByLabel('action-Action.Link-Edit record-update-general-table-0').click();
- await page.getByLabel('schema-initializer-Grid-FormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-form:configureFields-general').hover();
},
supportedOptions: ['datetime', 'time'],
});
@@ -47,7 +47,7 @@ test.describe('form item & view form', () => {
page,
showMenu: async () => {
await page.getByLabel('action-Action.Link-View record-view-general-table-0').click();
- await page.getByLabel('schema-initializer-Grid-ReadPrettyFormItemInitializers-general').hover();
+ await page.getByLabel('schema-initializer-Grid-details:configureFields-general').hover();
},
supportedOptions: ['datetime', 'time'],
});
diff --git a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/manyToMany/schemaSettings.test.ts b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/manyToMany/schemaSettings.test.ts
index 8ab817f29..87b53d701 100644
--- a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/manyToMany/schemaSettings.test.ts
+++ b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/manyToMany/schemaSettings.test.ts
@@ -260,7 +260,7 @@ test.describe('form item & create form', () => {
await expect(
page
.getByLabel('block-item-CollectionField-general-form-general.manyToMany-manyToMany')
- .getByLabel('schema-initializer-AssociationField.SubTable-TableColumnInitializers-users'),
+ .getByLabel('schema-initializer-AssociationField.SubTable-table:configureColumns-users'),
).toBeVisible();
// 选择 Sub-form
@@ -275,7 +275,7 @@ test.describe('form item & create form', () => {
await expect(
page
.getByLabel('block-item-CollectionField-general-form-general.manyToMany-manyToMany')
- .getByLabel('schema-initializer-Grid-FormItemInitializers-users'),
+ .getByLabel('schema-initializer-Grid-form:configureFields-users'),
).toBeVisible();
// 选择 Sub-form(Popover)
diff --git a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/utils.ts b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/utils.ts
index 616c47b33..97b646c26 100644
--- a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/utils.ts
+++ b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/utils.ts
@@ -6,7 +6,7 @@ export async function showSettingsMenu(page: Page, fieldName: string) {
}
export async function createColumnItem(page: Page, fieldName: string) {
- await page.getByLabel('schema-initializer-TableV2-TableColumnInitializers-general').hover();
+ await page.getByLabel('schema-initializer-TableV2-table:configureColumns-general').hover();
await page.getByRole('menuitem', { name: fieldName, exact: true }).click();
await page.mouse.move(300, 0);
}
diff --git a/packages/plugins/@nocobase/plugin-custom-request/src/client/__e2e__/schemaSettings.test.ts b/packages/plugins/@nocobase/plugin-custom-request/src/client/__e2e__/schemaSettings.test.ts
index a3bd9265b..bb4a46bc2 100644
--- a/packages/plugins/@nocobase/plugin-custom-request/src/client/__e2e__/schemaSettings.test.ts
+++ b/packages/plugins/@nocobase/plugin-custom-request/src/client/__e2e__/schemaSettings.test.ts
@@ -5,7 +5,7 @@ test('edit button', async ({ page, mockPage, mockRecord }) => {
await mockRecord('t_unp4scqamw9');
// 新建一个 custom request action
- await page.getByRole('button', { name: 'Actions' }).hover();
+ await page.getByRole('button', { name: 'Actions', exact: true }).hover();
await page.getByLabel('designer-schema-settings-TableV2.Column-TableV2.ActionColumnDesigner-').hover();
await page.getByRole('menuitem', { name: 'Customize right' }).hover();
await page.getByRole('menuitem', { name: 'Custom request' }).click();
diff --git a/packages/plugins/@nocobase/plugin-data-visualization/src/client/block/ChartBlockInitializer.tsx b/packages/plugins/@nocobase/plugin-data-visualization/src/client/block/ChartBlockInitializer.tsx
index 7683f1327..07ebb20af 100644
--- a/packages/plugins/@nocobase/plugin-data-visualization/src/client/block/ChartBlockInitializer.tsx
+++ b/packages/plugins/@nocobase/plugin-data-visualization/src/client/block/ChartBlockInitializer.tsx
@@ -1,8 +1,8 @@
import { BarChartOutlined, LineChartOutlined } from '@ant-design/icons';
import { uid } from '@formily/shared';
import {
+ CompatibleSchemaInitializer,
DataBlockInitializer,
- SchemaInitializer,
SchemaInitializerItem,
useACLRoleContext,
useSchemaInitializer,
@@ -46,7 +46,10 @@ const ChartInitializer = () => {
);
};
-export const chartInitializers: SchemaInitializer = new SchemaInitializer({
+/**
+ * @deprecated
+ */
+export const chartInitializers_deprecated = new CompatibleSchemaInitializer({
name: 'ChartInitializers',
icon: 'PlusOutlined',
title: '{{t("Add block")}}',
@@ -71,6 +74,34 @@ export const chartInitializers: SchemaInitializer = new SchemaInitializer({
],
});
+export const chartInitializers = new CompatibleSchemaInitializer(
+ {
+ name: 'charts:addBlock',
+ icon: 'PlusOutlined',
+ title: '{{t("Add block")}}',
+ items: [
+ {
+ name: 'chart',
+ title: lang('Chart'),
+ Component: ChartInitializer,
+ },
+ {
+ name: 'otherBlocks',
+ type: 'itemGroup',
+ title: lang('Other blocks'),
+ children: [
+ {
+ name: 'filter',
+ title: lang('Filter'),
+ Component: FilterBlockInitializer,
+ },
+ ],
+ },
+ ],
+ },
+ chartInitializers_deprecated,
+);
+
export const ChartV2BlockInitializer: React.FC = () => {
const itemConfig = useSchemaInitializerItem();
const { insert } = useSchemaInitializer();
@@ -91,7 +122,7 @@ export const ChartV2BlockInitializer: React.FC = () => {
type: 'void',
'x-component': 'Grid',
'x-decorator': 'ChartV2Block',
- 'x-initializer': 'ChartInitializers',
+ 'x-initializer': 'charts:addBlock',
},
},
});
diff --git a/packages/plugins/@nocobase/plugin-data-visualization/src/client/filter/FilterActionInitializers.tsx b/packages/plugins/@nocobase/plugin-data-visualization/src/client/filter/FilterActionInitializers.tsx
index 15c7e4a53..7e400fc47 100644
--- a/packages/plugins/@nocobase/plugin-data-visualization/src/client/filter/FilterActionInitializers.tsx
+++ b/packages/plugins/@nocobase/plugin-data-visualization/src/client/filter/FilterActionInitializers.tsx
@@ -3,8 +3,8 @@ import { useForm } from '@formily/react';
import {
Action,
ActionInitializer,
+ CompatibleSchemaInitializer,
GeneralSchemaDesigner,
- SchemaInitializer,
SchemaSettingsDivider,
SchemaSettingsRemove,
} from '@nocobase/client';
@@ -125,7 +125,10 @@ const ChartFilterCollapseInitializer = (props) => {
return ;
};
-export const chartFilterActionInitializers: SchemaInitializer = new SchemaInitializer({
+/**
+ * @deprecated
+ */
+export const chartFilterActionInitializers_deprecated = new CompatibleSchemaInitializer({
name: 'ChartFilterActionInitializers',
'data-testid': 'configure-actions-button-of-chart-filter',
title: '{{t("Configure actions")}}',
@@ -167,3 +170,49 @@ export const chartFilterActionInitializers: SchemaInitializer = new SchemaInitia
},
],
});
+
+export const chartFilterActionInitializers = new CompatibleSchemaInitializer(
+ {
+ name: 'chartFilterForm:configureActions',
+ 'data-testid': 'configure-actions-button-of-chart-filter',
+ title: '{{t("Configure actions")}}',
+ icon: 'SettingOutlined',
+ items: [
+ {
+ name: 'enbaleActions',
+ type: 'itemGroup',
+ title: '{{t("Enable actions")}}',
+ children: [
+ {
+ name: 'filter',
+ type: 'item',
+ title: '{{t("Filter")}}',
+ component: ChartFilterActionInitializer,
+ schema: {
+ 'x-action-settings': {},
+ },
+ },
+ {
+ name: 'reset',
+ type: 'item',
+ title: '{{t("Reset")}}',
+ component: ChartFilterResetInitializer,
+ schema: {
+ 'x-action-settings': {},
+ },
+ },
+ {
+ name: 'collapse',
+ type: 'item',
+ title: '{{t("Collapse")}}',
+ component: ChartFilterCollapseInitializer,
+ schema: {
+ 'x-action-settings': {},
+ },
+ },
+ ],
+ },
+ ],
+ },
+ chartFilterActionInitializers_deprecated,
+);
diff --git a/packages/plugins/@nocobase/plugin-data-visualization/src/client/filter/FilterBlockInitializer.tsx b/packages/plugins/@nocobase/plugin-data-visualization/src/client/filter/FilterBlockInitializer.tsx
index f85276afa..56cdb3cfb 100644
--- a/packages/plugins/@nocobase/plugin-data-visualization/src/client/filter/FilterBlockInitializer.tsx
+++ b/packages/plugins/@nocobase/plugin-data-visualization/src/client/filter/FilterBlockInitializer.tsx
@@ -31,12 +31,12 @@ const createFilterSchema = () => {
grid: {
type: 'void',
'x-component': 'ChartFilterGrid',
- 'x-initializer': 'ChartFilterItemInitializers',
+ 'x-initializer': 'chartFilterForm:configureFields',
properties: {},
},
actions: {
type: 'void',
- 'x-initializer': 'ChartFilterActionInitializers',
+ 'x-initializer': 'chartFilterForm:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
diff --git a/packages/plugins/@nocobase/plugin-data-visualization/src/client/filter/FilterItemInitializers.tsx b/packages/plugins/@nocobase/plugin-data-visualization/src/client/filter/FilterItemInitializers.tsx
index baa269873..6fa6c3fc8 100644
--- a/packages/plugins/@nocobase/plugin-data-visualization/src/client/filter/FilterItemInitializers.tsx
+++ b/packages/plugins/@nocobase/plugin-data-visualization/src/client/filter/FilterItemInitializers.tsx
@@ -8,11 +8,11 @@ import {
BlockItem,
CollectionFieldProvider,
CollectionProvider,
+ CompatibleSchemaInitializer,
FormDialog,
HTMLEncode,
SchemaComponent,
SchemaComponentOptions,
- SchemaInitializer,
SchemaInitializerItem,
gridRowColWrap,
useCollectionManager_deprecated,
@@ -227,7 +227,10 @@ export const ChartFilterCustomItemInitializer: React.FC<{
});
ChartFilterCustomItemInitializer.displayName = 'ChartFilterCustomItemInitializer';
-export const chartFilterItemInitializers: SchemaInitializer = new SchemaInitializer({
+/**
+ * @deprecated
+ */
+export const chartFilterItemInitializers_deprecated = new CompatibleSchemaInitializer({
name: 'ChartFilterItemInitializers',
'data-testid': 'configure-fields-button-of-chart-filter-item',
wrap: gridRowColWrap,
@@ -273,3 +276,53 @@ export const chartFilterItemInitializers: SchemaInitializer = new SchemaInitiali
},
],
});
+
+export const chartFilterItemInitializers = new CompatibleSchemaInitializer(
+ {
+ name: 'chartFilterForm:configureFields',
+ 'data-testid': 'configure-fields-button-of-chart-filter-item',
+ wrap: gridRowColWrap,
+ icon: 'SettingOutlined',
+ title: '{{ t("Configure fields") }}',
+ items: [
+ {
+ type: 'itemGroup',
+ name: 'displayFields',
+ title: '{{ t("Display fields") }}',
+ useChildren: () => {
+ const { getCollection } = useCollectionManager_deprecated();
+ const { getChartCollections } = useChartData();
+ const { getChartFilterFields } = useChartFilter();
+ const collections = getChartCollections();
+
+ return useMemo(() => {
+ return collections.map((name: any) => {
+ const collection = getCollection(name);
+ const fields = getChartFilterFields(collection);
+ return {
+ name: collection.key,
+ type: 'subMenu',
+ title: collection.title,
+ children: fields,
+ };
+ });
+ }, [collections]);
+ },
+ },
+ {
+ name: 'divider',
+ type: 'divider',
+ },
+ {
+ name: 'custom',
+ type: 'item',
+ title: lang('Custom'),
+ Component: () => {
+ const { insertAdjacent } = useDesignable();
+ return insertAdjacent('beforeEnd', s)} />;
+ },
+ },
+ ],
+ },
+ chartFilterItemInitializers_deprecated,
+);
diff --git a/packages/plugins/@nocobase/plugin-data-visualization/src/client/index.tsx b/packages/plugins/@nocobase/plugin-data-visualization/src/client/index.tsx
index 793222d4a..b311511f5 100644
--- a/packages/plugins/@nocobase/plugin-data-visualization/src/client/index.tsx
+++ b/packages/plugins/@nocobase/plugin-data-visualization/src/client/index.tsx
@@ -1,10 +1,21 @@
import { Plugin } from '@nocobase/client';
-import { ChartV2Block, ChartV2BlockDesigner, ChartV2BlockInitializer, chartInitializers } from './block';
+import {
+ ChartV2Block,
+ ChartV2BlockDesigner,
+ ChartV2BlockInitializer,
+ chartInitializers,
+ chartInitializers_deprecated,
+} from './block';
import antd from './chart/antd';
import g2plot from './chart/g2plot';
import { ChartGroup } from './chart/group';
+import {
+ chartFilterActionInitializers,
+ chartFilterActionInitializers_deprecated,
+ chartFilterItemInitializers,
+ chartFilterItemInitializers_deprecated,
+} from './filter';
import { lang } from './locale';
-import { chartFilterActionInitializers, chartFilterItemInitializers } from './filter';
class DataVisualizationPlugin extends Plugin {
public charts: ChartGroup = new ChartGroup();
@@ -18,11 +29,14 @@ class DataVisualizationPlugin extends Plugin {
ChartV2Block,
});
+ this.app.schemaInitializerManager.add(chartInitializers_deprecated);
this.app.schemaInitializerManager.add(chartInitializers);
+ this.app.schemaInitializerManager.add(chartFilterItemInitializers_deprecated);
this.app.schemaInitializerManager.add(chartFilterItemInitializers);
+ this.app.schemaInitializerManager.add(chartFilterActionInitializers_deprecated);
this.app.schemaInitializerManager.add(chartFilterActionInitializers);
- const blockInitializers = this.app.schemaInitializerManager.get('BlockInitializers');
+ const blockInitializers = this.app.schemaInitializerManager.get('page:addBlock');
blockInitializers?.add('dataBlocks.chartV2', {
title: lang('Charts'),
Component: 'ChartV2BlockInitializer',
@@ -33,6 +47,6 @@ class DataVisualizationPlugin extends Plugin {
export default DataVisualizationPlugin;
export { Chart } from './chart/chart';
export type { ChartProps, ChartType, RenderProps } from './chart/chart';
+export { ChartConfigContext } from './configure';
export type { FieldOption } from './hooks';
export type { QueryProps } from './renderer';
-export { ChartConfigContext } from './configure';
diff --git a/packages/plugins/@nocobase/plugin-data-visualization/src/client/utils.ts b/packages/plugins/@nocobase/plugin-data-visualization/src/client/utils.ts
index 2e8e842d0..0d6d4d98b 100644
--- a/packages/plugins/@nocobase/plugin-data-visualization/src/client/utils.ts
+++ b/packages/plugins/@nocobase/plugin-data-visualization/src/client/utils.ts
@@ -1,9 +1,9 @@
import { Schema } from '@formily/react';
import { uid } from '@formily/shared';
+import lodash from 'lodash';
import { SelectedField } from './configure';
import { FieldOption } from './hooks';
import { QueryProps } from './renderer';
-import lodash from 'lodash';
export const createRendererSchema = (decoratorProps: any, componentProps = {}) => {
const { collection } = decoratorProps;
@@ -17,7 +17,7 @@ export const createRendererSchema = (decoratorProps: any, componentProps = {}) =
'x-component-props': {
size: 'small',
},
- 'x-initializer': 'ChartInitializers',
+ 'x-initializer': 'charts:addBlock',
properties: {
[uid()]: {
type: 'void',
diff --git a/packages/plugins/@nocobase/plugin-export/src/client/index.ts b/packages/plugins/@nocobase/plugin-export/src/client/index.ts
index 97ee42a6a..f503debb0 100644
--- a/packages/plugins/@nocobase/plugin-export/src/client/index.ts
+++ b/packages/plugins/@nocobase/plugin-export/src/client/index.ts
@@ -22,9 +22,9 @@ export class ExportPlugin extends Plugin {
},
};
- const tableActionInitializers = this.app.schemaInitializerManager.get('TableActionInitializers');
+ const tableActionInitializers = this.app.schemaInitializerManager.get('table:configureActions');
tableActionInitializers?.add('enableActions.export', initializerData);
- this.app.schemaInitializerManager.addItem('GanttActionInitializers', 'enableActions.export', initializerData);
+ this.app.schemaInitializerManager.addItem('gantt:configureActions', 'enableActions.export', initializerData);
this.app.schemaSettingsManager.add(exportActionSchemaSettings);
}
}
diff --git a/packages/plugins/@nocobase/plugin-file-manager/src/client/index.tsx b/packages/plugins/@nocobase/plugin-file-manager/src/client/index.tsx
index dff9a349d..f8bbea241 100644
--- a/packages/plugins/@nocobase/plugin-file-manager/src/client/index.tsx
+++ b/packages/plugins/@nocobase/plugin-file-manager/src/client/index.tsx
@@ -24,7 +24,7 @@ export class FileManagerPlugin extends Plugin {
this.registerStorageType(storageType.name, storageType);
});
- const tableActionInitializers = this.app.schemaInitializerManager.get('TableActionInitializers');
+ const tableActionInitializers = this.app.schemaInitializerManager.get('table:configureActions');
tableActionInitializers?.add('enableActions.upload', {
title: "{{t('Upload')}}",
Component: 'UploadActionInitializer',
diff --git a/packages/plugins/@nocobase/plugin-gantt/src/client/GanttActionInitializers.tsx b/packages/plugins/@nocobase/plugin-gantt/src/client/GanttActionInitializers.tsx
index d20332963..b7368dafa 100644
--- a/packages/plugins/@nocobase/plugin-gantt/src/client/GanttActionInitializers.tsx
+++ b/packages/plugins/@nocobase/plugin-gantt/src/client/GanttActionInitializers.tsx
@@ -1,7 +1,10 @@
import { useFieldSchema } from '@formily/react';
-import { SchemaInitializer, useCollection_deprecated } from '@nocobase/client';
+import { CompatibleSchemaInitializer, useCollection_deprecated } from '@nocobase/client';
-export const GanttActionInitializers: SchemaInitializer = new SchemaInitializer({
+/**
+ * @deprecated
+ */
+export const GanttActionInitializers_deprecated = new CompatibleSchemaInitializer({
name: 'GanttActionInitializers',
title: "{{t('Configure actions')}}",
icon: 'SettingOutlined',
@@ -146,3 +149,152 @@ export const GanttActionInitializers: SchemaInitializer = new SchemaInitializer(
},
],
});
+
+export const ganttActionInitializers = new CompatibleSchemaInitializer(
+ {
+ name: 'gantt:configureActions',
+ title: "{{t('Configure actions')}}",
+ icon: 'SettingOutlined',
+ style: {
+ marginLeft: 8,
+ },
+ items: [
+ {
+ type: 'itemGroup',
+ name: 'enableActions',
+ title: "{{t('Enable actions')}}",
+ children: [
+ {
+ type: 'item',
+ name: 'filter',
+ title: "{{t('Filter')}}",
+ Component: 'FilterActionInitializer',
+ schema: {
+ 'x-align': 'left',
+ },
+ },
+ {
+ type: 'item',
+ title: "{{t('Add new')}}",
+ name: 'addNew',
+ Component: 'CreateActionInitializer',
+ schema: {
+ 'x-align': 'right',
+ 'x-decorator': 'ACLActionProvider',
+ 'x-acl-action-props': {
+ skipScopeCheck: true,
+ },
+ },
+ useVisible() {
+ const collection = useCollection_deprecated();
+ return !['view', 'file', 'sql'].includes(collection.template) || collection?.writableView;
+ },
+ },
+ {
+ type: 'item',
+ title: "{{t('Delete')}}",
+ name: 'delete',
+ Component: 'BulkDestroyActionInitializer',
+ schema: {
+ 'x-align': 'right',
+ 'x-decorator': 'ACLActionProvider',
+ },
+ useVisible() {
+ const collection = useCollection_deprecated();
+ return !['view', 'sql'].includes(collection.template) || collection?.writableView;
+ },
+ },
+ {
+ type: 'item',
+ title: "{{t('Refresh')}}",
+ name: 'refresh',
+ Component: 'RefreshActionInitializer',
+ schema: {
+ 'x-align': 'right',
+ },
+ },
+ {
+ name: 'toggle',
+ title: "{{t('Expand/Collapse')}}",
+ Component: 'ExpandableActionInitializer',
+ schema: {
+ 'x-align': 'right',
+ },
+ useVisible() {
+ const schema = useFieldSchema();
+ const collection = useCollection_deprecated();
+ const { treeTable } = schema?.parent?.['x-decorator-props'] || {};
+ return collection.tree && treeTable !== false;
+ },
+ },
+ ],
+ },
+ {
+ name: 'divider',
+ type: 'divider',
+ useVisible() {
+ const collection = useCollection_deprecated();
+ return !['view', 'sql'].includes(collection.template) || collection?.writableView;
+ },
+ },
+ {
+ type: 'subMenu',
+ name: 'customize',
+ title: '{{t("Customize")}}',
+ children: [
+ // {
+ // type: 'item',
+ // title: '{{t("Bulk update")}}',
+ // Component: 'CustomizeActionInitializer',
+ // name: 'bulkUpdate',
+ // schema: {
+ // type: 'void',
+ // title: '{{ t("Bulk update") }}',
+ // 'x-component': 'Action',
+ // 'x-align': 'right',
+ // 'x-acl-action': 'update',
+ // 'x-decorator': 'ACLActionProvider',
+ // 'x-acl-action-props': {
+ // skipScopeCheck: true,
+ // },
+ // 'x-action': 'customize:bulkUpdate',
+ // 'x-designer': 'Action.Designer',
+ // 'x-action-settings': {
+ // assignedValues: {},
+ // updateMode: 'selected',
+ // onSuccess: {
+ // manualClose: true,
+ // redirecting: false,
+ // successMessage: '{{t("Updated successfully")}}',
+ // },
+ // },
+ // 'x-component-props': {
+ // icon: 'EditOutlined',
+ // useProps: '{{ useCustomizeBulkUpdateActionProps }}',
+ // },
+ // },
+ // },
+ {
+ type: 'item',
+ title: '{{t("Add record")}}',
+ name: 'addRecord',
+ Component: 'CustomizeAddRecordActionInitializer',
+ schema: {
+ 'x-align': 'right',
+ 'x-decorator': 'ACLActionProvider',
+ 'x-acl-action': 'create',
+ 'x-acl-action-props': {
+ skipScopeCheck: true,
+ },
+ },
+ },
+ ],
+ useVisible() {
+ const collection = useCollection_deprecated();
+ return !['view', 'sql'].includes(collection.template) || collection?.writableView;
+ },
+ },
+ ],
+ },
+ GanttActionInitializers_deprecated,
+);
diff --git a/packages/plugins/@nocobase/plugin-gantt/src/client/__e2e__/drag.test.ts b/packages/plugins/@nocobase/plugin-gantt/src/client/__e2e__/drag.test.ts
index 4874963eb..c054f0d15 100644
--- a/packages/plugins/@nocobase/plugin-gantt/src/client/__e2e__/drag.test.ts
+++ b/packages/plugins/@nocobase/plugin-gantt/src/client/__e2e__/drag.test.ts
@@ -16,7 +16,7 @@ test('drag and adjust start time, end time, and progress', async ({ page, mockPa
await page.getByRole('option', { name: 'Week' }).click();
await page.getByRole('menuitem', { name: 'Time scale' }).hover();
await page.mouse.move(300, 0);
- await page.getByRole('button', { name: 'Actions' }).click();
+ await page.getByRole('button', { name: 'Actions', exact: true }).click();
await expect(page.locator('.calendarBottomText').first()).toHaveText(/W/);
await page.locator('.bar ').hover();
const draggableElement = await page.getByLabel('task-bar').getByRole('button').first();
diff --git a/packages/plugins/@nocobase/plugin-gantt/src/client/__e2e__/schemaInitailizer.test.ts b/packages/plugins/@nocobase/plugin-gantt/src/client/__e2e__/schemaInitailizer.test.ts
index 880ecc635..5a5569ca4 100644
--- a/packages/plugins/@nocobase/plugin-gantt/src/client/__e2e__/schemaInitailizer.test.ts
+++ b/packages/plugins/@nocobase/plugin-gantt/src/client/__e2e__/schemaInitailizer.test.ts
@@ -4,7 +4,7 @@ import { generalWithDatetimeFields, oneEmptyGantt } from './utils';
test('BlockInitializers should add gantt block', async ({ page, mockPage, mockCollections }) => {
await mockCollections(generalWithDatetimeFields);
await mockPage().goto();
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').click();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').click();
await page.getByRole('menuitem', { name: 'form Gantt right' }).click();
await page.getByRole('menuitem', { name: 'General' }).click();
await page.getByLabel('block-item-Select-Title field').click();
@@ -25,7 +25,7 @@ test('BlockInitializers should add gantt block', async ({ page, mockPage, mockCo
test.describe('configure fields', () => {
test('add field,then remove field in gantt block', async ({ page, mockPage, mockRecord }) => {
await mockPage(oneEmptyGantt).goto();
- await page.getByLabel('schema-initializer-TableV2-TableColumnInitializers-general').hover();
+ await page.getByLabel('schema-initializer-TableV2-table:configureColumns-general').hover();
await page.getByRole('menuitem', { name: 'ID' }).click();
await page.getByRole('menuitem', { name: 'Single line text2' }).click();
//添加字段
@@ -43,7 +43,7 @@ test.describe('configure fields', () => {
test('add assciation field should appends association', async ({ page, mockPage, mockRecord }) => {
await mockPage(oneEmptyGantt).goto();
await mockRecord('general', { singleLineText: 'singleLineText', manyToOne: { id: 1 } });
- await page.getByLabel('schema-initializer-TableV2-TableColumnInitializers-general').hover();
+ await page.getByLabel('schema-initializer-TableV2-table:configureColumns-general').hover();
//关系字段,断言请求的appends是否符合预期
const [request] = await Promise.all([
@@ -75,7 +75,7 @@ test.describe('configure fields', () => {
test.describe('configure actions', () => {
test('configure button in gannt block', async ({ page, mockPage }) => {
await mockPage(oneEmptyGantt).goto();
- await page.getByLabel('schema-initializer-ActionBar-GanttActionInitializers-general').hover();
+ await page.getByLabel('schema-initializer-ActionBar-gantt:configureActions-general').hover();
await page.getByRole('menuitem', { name: 'Filter' }).getByRole('switch').click();
await page.getByRole('menuitem', { name: 'Add new' }).click();
await page.getByRole('menuitem', { name: 'Delete' }).click();
diff --git a/packages/plugins/@nocobase/plugin-gantt/src/client/__e2e__/schemaSettings.test.ts b/packages/plugins/@nocobase/plugin-gantt/src/client/__e2e__/schemaSettings.test.ts
index e57c90439..8db3544ba 100644
--- a/packages/plugins/@nocobase/plugin-gantt/src/client/__e2e__/schemaSettings.test.ts
+++ b/packages/plugins/@nocobase/plugin-gantt/src/client/__e2e__/schemaSettings.test.ts
@@ -43,7 +43,7 @@ test.describe('configure params in gantt block', () => {
await page.getByLabel('designer-schema-settings-CardItem-Gantt.Designer-general').hover();
await page.getByRole('menuitem', { name: 'Title field' }).click();
await page.getByRole('option', { name: 'Single line text2' }).locator('div').click();
- await page.getByRole('button', { name: 'Actions' }).click();
+ await page.getByRole('button', { name: 'Actions', exact: true }).click();
await page.mouse.move(300, 0);
const barLabel = page.getByLabel('block-item-gantt').locator('.barLabel');
await barLabel.hover();
@@ -57,7 +57,7 @@ test.describe('configure params in gantt block', () => {
await page.getByRole('menuitem', { name: 'Start date field' }).click();
await page.getByRole('option', { name: 'Start date time2' }).locator('div').click();
await page.mouse.move(300, 0);
- await page.getByRole('button', { name: 'Actions' }).click();
+ await page.getByRole('button', { name: 'Actions', exact: true }).click();
await page.locator('.bar').hover({ position: { x: 20, y: 10 } });
await expect(page.getByLabel('nb-gantt-tooltip')).toHaveText(
new RegExp(String(getYmd(new Date(mockData['startDatetime2'])))),
@@ -72,7 +72,7 @@ test.describe('configure params in gantt block', () => {
await page.getByRole('menuitem', { name: 'End date field' }).click();
await page.getByRole('option', { name: 'End date time2' }).locator('div').click();
await page.mouse.move(300, 0);
- await page.getByRole('button', { name: 'Actions' }).click();
+ await page.getByRole('button', { name: 'Actions', exact: true }).click();
await page.locator('.bar').hover({ position: { x: 20, y: 10 } });
await expect(page.getByLabel('nb-gantt-tooltip')).toHaveText(
new RegExp(String(getYmd(new Date(mockData['endDatetime2'])))),
@@ -88,7 +88,7 @@ test.describe('configure params in gantt block', () => {
await page.getByRole('option', { name: 'Week' }).click();
await page.getByRole('menuitem', { name: 'Time scale' }).hover();
await page.mouse.move(300, 0);
- await page.getByRole('button', { name: 'Actions' }).click();
+ await page.getByRole('button', { name: 'Actions', exact: true }).click();
await page.locator('.bar').hover({ position: { x: 20, y: 10 } });
await expect(page.locator('.calendarBottomText').first()).toHaveText(/W/);
});
diff --git a/packages/plugins/@nocobase/plugin-gantt/src/client/__e2e__/utils.ts b/packages/plugins/@nocobase/plugin-gantt/src/client/__e2e__/utils.ts
index 806fc3866..de81821fd 100644
--- a/packages/plugins/@nocobase/plugin-gantt/src/client/__e2e__/utils.ts
+++ b/packages/plugins/@nocobase/plugin-gantt/src/client/__e2e__/utils.ts
@@ -140,7 +140,7 @@ export const oneEmptyGantt: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
gl57m4hyewf: {
_isJSONSchemaObject: true,
@@ -197,7 +197,7 @@ export const oneEmptyGantt: PageConfig = {
marginBottom: 24,
},
},
- 'x-initializer': 'GanttActionInitializers',
+ 'x-initializer': 'gantt:configureActions',
'x-uid': 'guwovmwt4c0',
'x-async': false,
'x-index': 1,
@@ -213,7 +213,7 @@ export const oneEmptyGantt: PageConfig = {
maxWidth: '35%',
},
},
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -233,7 +233,7 @@ export const oneEmptyGantt: PageConfig = {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
_isJSONSchemaObject: true,
@@ -296,7 +296,7 @@ export const oneEmptyGantt: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
'x-uid': 'gxtfjqzxbfu',
'x-async': false,
'x-index': 1,
diff --git a/packages/plugins/@nocobase/plugin-gantt/src/client/index.tsx b/packages/plugins/@nocobase/plugin-gantt/src/client/index.tsx
index e2e963038..496f02507 100644
--- a/packages/plugins/@nocobase/plugin-gantt/src/client/index.tsx
+++ b/packages/plugins/@nocobase/plugin-gantt/src/client/index.tsx
@@ -2,7 +2,7 @@ import { ActionBar, CurrentAppInfoProvider, Plugin, SchemaComponentOptions } fro
import React from 'react';
import { GanttDesigner } from './Gantt.Designer';
import { ganttSettings, oldGanttSettings } from './Gantt.Settings';
-import { GanttActionInitializers } from './GanttActionInitializers';
+import { GanttActionInitializers_deprecated, ganttActionInitializers } from './GanttActionInitializers';
import { GanttBlockInitializer } from './GanttBlockInitializer';
import { GanttBlockProvider, useGanttBlockProps } from './GanttBlockProvider';
import { Event } from './components/gantt/Event';
@@ -34,8 +34,9 @@ export class GanttPlugin extends Plugin {
this.app.use(GanttProvider);
this.app.schemaSettingsManager.add(oldGanttSettings);
this.app.schemaSettingsManager.add(ganttSettings);
- this.app.schemaInitializerManager.add(GanttActionInitializers);
- const blockInitializers = this.app.schemaInitializerManager.get('BlockInitializers');
+ this.app.schemaInitializerManager.add(GanttActionInitializers_deprecated);
+ this.app.schemaInitializerManager.add(ganttActionInitializers);
+ const blockInitializers = this.app.schemaInitializerManager.get('page:addBlock');
blockInitializers?.add('dataBlocks.gantt', {
title: "{{t('Gantt')}}",
Component: 'GanttBlockInitializer',
diff --git a/packages/plugins/@nocobase/plugin-gantt/src/client/utils.tsx b/packages/plugins/@nocobase/plugin-gantt/src/client/utils.tsx
index c37497183..667011506 100644
--- a/packages/plugins/@nocobase/plugin-gantt/src/client/utils.tsx
+++ b/packages/plugins/@nocobase/plugin-gantt/src/client/utils.tsx
@@ -1,6 +1,6 @@
import { ISchema } from '@formily/react';
import { uid } from '@formily/shared';
-import { useCompile, useCollection_deprecated } from '@nocobase/client';
+import { useCollection_deprecated, useCompile } from '@nocobase/client';
import { useTranslation } from 'react-i18next';
export const useGanttTranslation = () => {
@@ -55,7 +55,7 @@ export const createGanttBlockSchema = (options) => {
marginBottom: 24,
},
},
- 'x-initializer': 'GanttActionInitializers',
+ 'x-initializer': 'gantt:configureActions',
properties: {},
},
table: {
@@ -68,7 +68,7 @@ export const createGanttBlockSchema = (options) => {
},
},
- 'x-initializer': 'TableColumnInitializers',
+ 'x-initializer': 'table:configureColumns',
'x-component': 'TableV2',
'x-component-props': {
rowKey: 'id',
@@ -86,7 +86,7 @@ export const createGanttBlockSchema = (options) => {
'x-decorator': 'TableV2.Column.ActionBar',
'x-component': 'TableV2.Column',
'x-designer': 'TableV2.ActionColumnDesigner',
- 'x-initializer': 'TableActionColumnInitializers',
+ 'x-initializer': 'table:configureItemActions',
properties: {
actions: {
type: 'void',
@@ -129,7 +129,7 @@ export const createGanttBlockSchema = (options) => {
grid: {
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {},
},
},
diff --git a/packages/plugins/@nocobase/plugin-iframe-block/src/client/IframeBlockInitializer.tsx b/packages/plugins/@nocobase/plugin-iframe-block/src/client/IframeBlockInitializer.tsx
index 9bc2742e5..54705ed47 100644
--- a/packages/plugins/@nocobase/plugin-iframe-block/src/client/IframeBlockInitializer.tsx
+++ b/packages/plugins/@nocobase/plugin-iframe-block/src/client/IframeBlockInitializer.tsx
@@ -12,7 +12,7 @@ export const IframeBlockInitializer = () => {
onClick={() => {
insert({
type: 'void',
- 'x-settings': 'iframeBlockSchemaSettings',
+ 'x-settings': 'blockSettings:iframe',
'x-decorator': 'BlockItem',
'x-decorator-props': {
name: 'iframe',
diff --git a/packages/plugins/@nocobase/plugin-iframe-block/src/client/index.ts b/packages/plugins/@nocobase/plugin-iframe-block/src/client/index.ts
index c19b0ab02..a30d4869d 100644
--- a/packages/plugins/@nocobase/plugin-iframe-block/src/client/index.ts
+++ b/packages/plugins/@nocobase/plugin-iframe-block/src/client/index.ts
@@ -1,24 +1,25 @@
import { Plugin } from '@nocobase/client';
import { IframeBlockProvider } from './IframeBlockProvider';
-import { iframeBlockSchemaSettings } from './schemaSettings';
+import { iframeBlockSchemaSettings, iframeBlockSchemaSettings_deprecated } from './schemaSettings';
export class IframeBlockPlugin extends Plugin {
async load() {
+ this.app.schemaSettingsManager.add(iframeBlockSchemaSettings_deprecated);
this.app.schemaSettingsManager.add(iframeBlockSchemaSettings);
this.app.use(IframeBlockProvider);
- const blockInitializers = this.app.schemaInitializerManager.get('BlockInitializers');
+ const blockInitializers = this.app.schemaInitializerManager.get('page:addBlock');
blockInitializers?.add('otherBlocks.iframe', {
title: '{{t("Iframe")}}',
Component: 'IframeBlockInitializer',
});
- const createFormBlockInitializers = this.app.schemaInitializerManager.get('CreateFormBlockInitializers');
+ const createFormBlockInitializers = this.app.schemaInitializerManager.get('popup:addNew:addBlock');
createFormBlockInitializers?.add('otherBlocks.iframe', {
title: '{{t("Iframe")}}',
Component: 'IframeBlockInitializer',
});
- const recordBlockInitializers = this.app.schemaInitializerManager.get('RecordBlockInitializers');
+ const recordBlockInitializers = this.app.schemaInitializerManager.get('popup:common:addBlock');
recordBlockInitializers?.add('otherBlocks.iframe', {
title: '{{t("Iframe")}}',
Component: 'IframeBlockInitializer',
diff --git a/packages/plugins/@nocobase/plugin-iframe-block/src/client/schemaSettings.ts b/packages/plugins/@nocobase/plugin-iframe-block/src/client/schemaSettings.ts
index d4141a7c9..771a14d6e 100644
--- a/packages/plugins/@nocobase/plugin-iframe-block/src/client/schemaSettings.ts
+++ b/packages/plugins/@nocobase/plugin-iframe-block/src/client/schemaSettings.ts
@@ -3,7 +3,10 @@ import { uid } from '@formily/shared';
import { SchemaSettings, useAPIClient, useDesignable } from '@nocobase/client';
import { useTranslation } from 'react-i18next';
-export const iframeBlockSchemaSettings = new SchemaSettings({
+/**
+ * @deprecated
+ */
+export const iframeBlockSchemaSettings_deprecated = new SchemaSettings({
name: 'iframeBlockSchemaSettings',
items: [
{
@@ -143,3 +146,144 @@ export const iframeBlockSchemaSettings = new SchemaSettings({
},
],
});
+
+export const iframeBlockSchemaSettings = new SchemaSettings({
+ name: 'blockSettings:iframe',
+ items: [
+ {
+ name: 'EditIframe',
+ type: 'modal',
+ useComponentProps() {
+ const field = useField();
+ const fieldSchema = useFieldSchema();
+ const { t } = useTranslation();
+ const { dn } = useDesignable();
+ const api = useAPIClient();
+ const { mode, url, htmlId, height = '60vh' } = fieldSchema['x-component-props'] || {};
+
+ const saveHtml = async (html: string) => {
+ const options = {
+ values: { html },
+ };
+ if (htmlId) {
+ // eslint-disable-next-line no-unsafe-optional-chaining
+ const { data } = await api.resource('iframeHtml').update?.({ ...options, filterByTk: htmlId });
+ return data?.data?.[0] || { id: htmlId };
+ } else {
+ // eslint-disable-next-line no-unsafe-optional-chaining
+ const { data } = await api.resource('iframeHtml').create?.(options);
+ return data?.data;
+ }
+ };
+
+ const submitHandler = async ({ mode, url, html, height }) => {
+ const componentProps = fieldSchema['x-component-props'] || {};
+ componentProps['mode'] = mode;
+ componentProps['height'] = height;
+ componentProps['url'] = url;
+ if (mode === 'html') {
+ const data = await saveHtml(html);
+ componentProps['htmlId'] = data.id;
+ }
+ fieldSchema['x-component-props'] = componentProps;
+ field.componentProps = { ...componentProps };
+ field.data = { v: uid() };
+ dn.emit('patch', {
+ schema: {
+ 'x-uid': fieldSchema['x-uid'],
+ 'x-component-props': componentProps,
+ },
+ });
+ };
+
+ return {
+ title: t('Edit iframe'),
+ asyncGetInitialValues: async () => {
+ const values = {
+ mode,
+ url,
+ height,
+ };
+ if (htmlId) {
+ // eslint-disable-next-line no-unsafe-optional-chaining
+ const { data } = await api.resource('iframeHtml').get?.({ filterByTk: htmlId });
+ values['html'] = data?.data?.html || '';
+ }
+ return values;
+ },
+ schema: {
+ type: 'object',
+ title: t('Edit iframe'),
+ properties: {
+ mode: {
+ title: '{{t("Mode")}}',
+ 'x-component': 'Radio.Group',
+ 'x-decorator': 'FormItem',
+ required: true,
+ default: 'url',
+ enum: [
+ { value: 'url', label: t('URL') },
+ { value: 'html', label: t('html') },
+ ],
+ },
+ url: {
+ title: t('URL'),
+ type: 'string',
+ 'x-decorator': 'FormItem',
+ 'x-component': 'Input',
+ required: true,
+ 'x-reactions': {
+ dependencies: ['mode'],
+ fulfill: {
+ state: {
+ hidden: '{{$deps[0] === "html"}}',
+ },
+ },
+ },
+ },
+ html: {
+ title: t('html'),
+ type: 'string',
+ 'x-decorator': 'FormItem',
+ 'x-component': 'Input.TextArea',
+ required: true,
+ 'x-reactions': {
+ dependencies: ['mode'],
+ fulfill: {
+ state: {
+ hidden: '{{$deps[0] === "url"}}',
+ },
+ },
+ },
+ },
+ height: {
+ title: t('Height'),
+ type: 'string',
+ 'x-decorator': 'FormItem',
+ 'x-component': 'Input',
+ required: true,
+ },
+ },
+ } as ISchema,
+ onSubmit: submitHandler,
+ };
+ },
+ },
+ {
+ name: 'divider',
+ type: 'divider',
+ },
+ {
+ name: 'delete',
+ type: 'remove',
+ useComponentProps() {
+ return {
+ removeParentsIfNoChildren: true,
+ breakRemoveOn: {
+ 'x-component': 'Grid',
+ },
+ };
+ },
+ },
+ ],
+});
diff --git a/packages/plugins/@nocobase/plugin-import/src/client/index.ts b/packages/plugins/@nocobase/plugin-import/src/client/index.ts
index eccd07d6e..b1922c29a 100644
--- a/packages/plugins/@nocobase/plugin-import/src/client/index.ts
+++ b/packages/plugins/@nocobase/plugin-import/src/client/index.ts
@@ -35,9 +35,9 @@ export class ImportPlugin extends Plugin {
},
};
- const tableActionInitializers = this.app.schemaInitializerManager.get('TableActionInitializers');
+ const tableActionInitializers = this.app.schemaInitializerManager.get('table:configureActions');
tableActionInitializers?.add('enableActions.import', initializerData);
- this.app.schemaInitializerManager.addItem('GanttActionInitializers', 'enableActions.import', initializerData);
+ this.app.schemaInitializerManager.addItem('gantt:configureActions', 'enableActions.import', initializerData);
this.app.schemaSettingsManager.add(importActionSchemaSettings);
}
}
diff --git a/packages/plugins/@nocobase/plugin-kanban/src/client/Kanban.Card.Designer.tsx b/packages/plugins/@nocobase/plugin-kanban/src/client/Kanban.Card.Designer.tsx
index 0ff5e8b56..1a51ce194 100644
--- a/packages/plugins/@nocobase/plugin-kanban/src/client/Kanban.Card.Designer.tsx
+++ b/packages/plugins/@nocobase/plugin-kanban/src/client/Kanban.Card.Designer.tsx
@@ -2,7 +2,7 @@ import { MenuOutlined } from '@ant-design/icons';
import { ISchema, useFieldSchema } from '@formily/react';
import { uid } from '@formily/shared';
import {
- SchemaInitializer,
+ CompatibleSchemaInitializer,
SchemaInitializerOpenModeSchemaItems,
createDesignable,
useAPIClient,
@@ -44,8 +44,7 @@ const gridRowColWrap = (schema: ISchema) => {
export const KanbanCardDesigner = () => {
const { designable } = useDesignable();
- const { getAriaLabel } = useGetAriaLabelOfDesigner();
- const { render } = useSchemaInitializerRender('KanbanCardInitializers');
+ const { render } = useSchemaInitializerRender('kanban:configureItemFields');
if (!designable) {
return null;
}
@@ -60,7 +59,10 @@ export const KanbanCardDesigner = () => {
);
};
-export const kanbanCardInitializers: SchemaInitializer = new SchemaInitializer({
+/**
+ * @deprecated
+ */
+export const kanbanCardInitializers_deprecated = new CompatibleSchemaInitializer({
name: 'KanbanCardInitializers',
wrap: gridRowColWrap,
useInsert() {
@@ -133,3 +135,80 @@ export const kanbanCardInitializers: SchemaInitializer = new SchemaInitializer({
},
],
});
+
+export const kanbanCardInitializers = new CompatibleSchemaInitializer(
+ {
+ name: 'kanban:configureItemFields',
+ wrap: gridRowColWrap,
+ useInsert() {
+ const fieldSchema = useFieldSchema();
+ const { t } = useTranslation();
+ const api = useAPIClient();
+ const { refresh } = useDesignable();
+
+ return (schema) => {
+ const gridSchema = fieldSchema.reduceProperties((buf, schema) => {
+ if (schema['x-component'] === 'Grid') {
+ return schema;
+ }
+ return buf;
+ }, null);
+
+ if (!gridSchema) {
+ return;
+ }
+
+ const dn = createDesignable({
+ t,
+ api,
+ refresh,
+ current: gridSchema,
+ });
+ dn.loadAPIClientEvents();
+ dn.insertBeforeEnd(schema);
+ };
+ },
+ Component: (props: any) => {
+ const { getAriaLabel } = useGetAriaLabelOfDesigner();
+ return (
+
+ );
+ },
+ items: [
+ {
+ type: 'itemGroup',
+ title: '{{t("Display fields")}}',
+ name: 'displayFields',
+ useChildren: useFormItemInitializerFields,
+ },
+ {
+ type: 'itemGroup',
+ divider: true,
+ title: '{{t("Display association fields")}}',
+ name: 'displayAssociationFields',
+ hideIfNoChildren: true,
+ useChildren() {
+ const associationFields = useAssociatedFormItemInitializerFields({
+ readPretty: true,
+ block: 'Kanban',
+ });
+ return associationFields;
+ },
+ },
+ {
+ name: 'divider',
+ type: 'divider',
+ },
+ {
+ name: 'openMode',
+ Component: SchemaInitializerOpenModeSchemaItems,
+ },
+ ],
+ },
+ kanbanCardInitializers_deprecated,
+);
diff --git a/packages/plugins/@nocobase/plugin-kanban/src/client/KanbanActionInitializers.tsx b/packages/plugins/@nocobase/plugin-kanban/src/client/KanbanActionInitializers.tsx
index 9dead418c..2864b7aca 100644
--- a/packages/plugins/@nocobase/plugin-kanban/src/client/KanbanActionInitializers.tsx
+++ b/packages/plugins/@nocobase/plugin-kanban/src/client/KanbanActionInitializers.tsx
@@ -1,6 +1,9 @@
-import { SchemaInitializer, useCollection_deprecated } from '@nocobase/client';
+import { CompatibleSchemaInitializer, useCollection_deprecated } from '@nocobase/client';
-export const kanbanActionInitializers: SchemaInitializer = new SchemaInitializer({
+/**
+ * @deprecated
+ */
+export const kanbanActionInitializers_deprecated = new CompatibleSchemaInitializer({
name: 'KanbanActionInitializers',
title: "{{t('Configure actions')}}",
icon: 'SettingOutlined',
@@ -41,3 +44,48 @@ export const kanbanActionInitializers: SchemaInitializer = new SchemaInitializer
},
],
});
+
+export const kanbanActionInitializers = new CompatibleSchemaInitializer(
+ {
+ name: 'kanban:configureActions',
+ title: "{{t('Configure actions')}}",
+ icon: 'SettingOutlined',
+ style: {
+ marginLeft: 8,
+ },
+ items: [
+ {
+ type: 'itemGroup',
+ title: "{{t('Enable actions')}}",
+ name: 'enableActions',
+ children: [
+ {
+ name: 'filter',
+ title: "{{t('Filter')}}",
+ Component: 'FilterActionInitializer',
+ schema: {
+ 'x-align': 'left',
+ },
+ },
+ {
+ name: 'addNew',
+ title: "{{t('Add new')}}",
+ Component: 'CreateActionInitializer',
+ schema: {
+ 'x-align': 'right',
+ 'x-decorator': 'ACLActionProvider',
+ 'x-acl-action-props': {
+ skipScopeCheck: true,
+ },
+ },
+ useVisible() {
+ const collection = useCollection_deprecated();
+ return (collection as any).template !== 'view' || collection?.writableView;
+ },
+ },
+ ],
+ },
+ ],
+ },
+ kanbanActionInitializers_deprecated,
+);
diff --git a/packages/plugins/@nocobase/plugin-kanban/src/client/__e2e__/schemaInitailizer.test.ts b/packages/plugins/@nocobase/plugin-kanban/src/client/__e2e__/schemaInitailizer.test.ts
index 4d368857f..aa79b8fd9 100644
--- a/packages/plugins/@nocobase/plugin-kanban/src/client/__e2e__/schemaInitailizer.test.ts
+++ b/packages/plugins/@nocobase/plugin-kanban/src/client/__e2e__/schemaInitailizer.test.ts
@@ -7,7 +7,7 @@ test.describe('blockInitializers should add kanban block', () => {
await mockCollections(generalWithSingleSelect);
await mockRecord('general');
await mockPage().goto();
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await expect(page.getByRole('menuitem', { name: 'form Kanban right' })).toBeVisible();
await page.getByRole('menuitem', { name: 'form Kanban right' }).click();
await page.getByRole('menuitem', { name: 'General' }).click();
@@ -62,7 +62,7 @@ test.describe('configure fields', () => {
expect(appends).toContain('manyToOne');
await expect(page.getByLabel('block-item-CollectionField-general-kanban-general.manyToOne')).toBeVisible();
//修改标题字段
- await page.getByLabel('schema-initializer-ActionBar-KanbanActionInitializers-general').click();
+ await page.getByLabel('schema-initializer-ActionBar-kanban:configureActions-general').click();
await page.getByLabel('block-item-CollectionField-general-kanban-general.manyToOne').hover();
await page.getByTestId('card-1').getByLabel('designer-schema-settings-').hover();
await page.getByText('Title field').click();
@@ -78,8 +78,8 @@ test.describe('configure actions', () => {
const nocoPage = await mockPage(oneEmptyKanbanBlock).waitForInit();
await nocoPage.goto();
await expect(page.getByLabel('block-item-CardItem-general-kanban')).toBeVisible();
- await expect(page.getByLabel('schema-initializer-ActionBar-KanbanActionInitializers-general')).toBeVisible();
- await page.getByLabel('schema-initializer-ActionBar-KanbanActionInitializers-general').click();
+ await expect(page.getByLabel('schema-initializer-ActionBar-kanban:configureActions-general')).toBeVisible();
+ await page.getByLabel('schema-initializer-ActionBar-kanban:configureActions-general').click();
await page.getByRole('menuitem', { name: 'Filter' }).getByRole('switch').click();
//按钮正常显示
await expect(page.getByLabel('action-Filter.Action-Filter-filter-general-kanban')).toBeVisible();
@@ -87,20 +87,20 @@ test.describe('configure actions', () => {
test('add new action in kanban', async ({ page, mockPage }) => {
const nocoPage = await mockPage(oneEmptyKanbanBlock).waitForInit();
await nocoPage.goto();
- await page.getByLabel('schema-initializer-ActionBar-KanbanActionInitializers-general').click();
+ await page.getByLabel('schema-initializer-ActionBar-kanban:configureActions-general').click();
await page.getByRole('menuitem', { name: 'Add new' }).getByRole('switch').click();
//按钮正常显示
await expect(page.getByLabel('action-Action-Add ')).toBeVisible();
//添加数据
await page.getByLabel('action-Action-Add new-create-general-kanban').click();
- await page.getByLabel('schema-initializer-Grid-CreateFormBlockInitializers-general').click();
+ await page.getByLabel('schema-initializer-Grid-popup:addNew:addBlock-general').click();
await page.getByRole('menuitem', { name: 'form Form' }).click();
await page.mouse.move(300, 0);
- await page.getByLabel('schema-initializer-Grid-FormItemInitializers-general').click();
+ await page.getByLabel('schema-initializer-Grid-form:configureFields-general').click();
await page.getByRole('menuitem', { name: 'Single Select' }).click();
await page.getByLabel('block-item-CollectionField-').locator('.ant-select').click();
await page.getByRole('option', { name: 'option1' }).click();
- await page.getByLabel('schema-initializer-ActionBar-CreateFormActionInitializers-general').hover();
+ await page.getByLabel('schema-initializer-ActionBar-createForm:configureActions-general').hover();
await page.getByRole('menuitem', { name: 'Submit' }).click();
await page.getByLabel('action-Action-Submit-submit-general-form').click();
await page.getByLabel('block-item-Kanban.Card-general-kanban').hover();
diff --git a/packages/plugins/@nocobase/plugin-kanban/src/client/__e2e__/utils.ts b/packages/plugins/@nocobase/plugin-kanban/src/client/__e2e__/utils.ts
index 853143df4..22dcb9ef3 100644
--- a/packages/plugins/@nocobase/plugin-kanban/src/client/__e2e__/utils.ts
+++ b/packages/plugins/@nocobase/plugin-kanban/src/client/__e2e__/utils.ts
@@ -96,7 +96,7 @@ export const oneEmptyKanbanBlock: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'BlockInitializers',
+ 'x-initializer': 'page:addBlock',
properties: {
'4io56n1mje4': {
_isJSONSchemaObject: true,
@@ -133,7 +133,7 @@ export const oneEmptyKanbanBlock: PageConfig = {
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'KanbanActionInitializers',
+ 'x-initializer': 'kanban:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -227,7 +227,7 @@ export const oneEmptyKanbanBlock: PageConfig = {
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
'x-uid': '2hsi7zy93g6',
'x-async': false,
'x-index': 1,
diff --git a/packages/plugins/@nocobase/plugin-kanban/src/client/index.tsx b/packages/plugins/@nocobase/plugin-kanban/src/client/index.tsx
index c4191a629..1538f1aa3 100644
--- a/packages/plugins/@nocobase/plugin-kanban/src/client/index.tsx
+++ b/packages/plugins/@nocobase/plugin-kanban/src/client/index.tsx
@@ -1,14 +1,14 @@
+import { Action, CurrentAppInfoProvider, Plugin, SchemaComponentOptions } from '@nocobase/client';
import React from 'react';
-import { Plugin, Action, CurrentAppInfoProvider, SchemaComponentOptions } from '@nocobase/client';
import { Kanban } from './Kanban';
import { KanbanCard } from './Kanban.Card';
-import { KanbanCardDesigner, kanbanCardInitializers } from './Kanban.Card.Designer';
+import { KanbanCardDesigner, kanbanCardInitializers, kanbanCardInitializers_deprecated } from './Kanban.Card.Designer';
import { KanbanCardViewer } from './Kanban.CardViewer';
import { KanbanDesigner } from './Kanban.Designer';
-import { kanbanActionInitializers } from './KanbanActionInitializers';
-import { KanbanBlockProvider, useKanbanBlockProps } from './KanbanBlockProvider';
-import { KanbanBlockInitializer } from './KanbanBlockInitializer';
import { kanbanSettings } from './Kanban.Settings';
+import { kanbanActionInitializers, kanbanActionInitializers_deprecated } from './KanbanActionInitializers';
+import { KanbanBlockInitializer } from './KanbanBlockInitializer';
+import { KanbanBlockProvider, useKanbanBlockProps } from './KanbanBlockProvider';
Kanban.Card = KanbanCard;
Kanban.CardAdder = Action;
@@ -35,11 +35,13 @@ KanbanPluginProvider.displayName = 'KanbanPluginProvider';
class KanbanPlugin extends Plugin {
async load() {
this.app.use(KanbanPluginProvider);
+ this.app.schemaInitializerManager.add(kanbanCardInitializers_deprecated);
this.app.schemaInitializerManager.add(kanbanCardInitializers);
+ this.app.schemaInitializerManager.add(kanbanActionInitializers_deprecated);
this.app.schemaInitializerManager.add(kanbanActionInitializers);
this.app.schemaSettingsManager.add(kanbanSettings);
- const blockInitializers = this.app.schemaInitializerManager.get('BlockInitializers');
+ const blockInitializers = this.app.schemaInitializerManager.get('page:addBlock');
blockInitializers?.add('dataBlocks.kanban', {
title: '{{t("Kanban")}}',
Component: 'KanbanBlockInitializer',
diff --git a/packages/plugins/@nocobase/plugin-kanban/src/client/utils.ts b/packages/plugins/@nocobase/plugin-kanban/src/client/utils.ts
index 9962a2484..3304820da 100644
--- a/packages/plugins/@nocobase/plugin-kanban/src/client/utils.ts
+++ b/packages/plugins/@nocobase/plugin-kanban/src/client/utils.ts
@@ -23,7 +23,7 @@ export const createKanbanBlockSchema = (options) => {
properties: {
actions: {
type: 'void',
- 'x-initializer': 'KanbanActionInitializers',
+ 'x-initializer': 'kanban:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -91,7 +91,7 @@ export const createKanbanBlockSchema = (options) => {
grid: {
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {},
},
},
diff --git a/packages/plugins/@nocobase/plugin-map/src/client/block/MapActionInitializers.tsx b/packages/plugins/@nocobase/plugin-map/src/client/block/MapActionInitializers.tsx
index 18a9433b6..16e645e56 100644
--- a/packages/plugins/@nocobase/plugin-map/src/client/block/MapActionInitializers.tsx
+++ b/packages/plugins/@nocobase/plugin-map/src/client/block/MapActionInitializers.tsx
@@ -1,7 +1,10 @@
-import { SchemaInitializer, useCollection_deprecated } from '@nocobase/client';
+import { CompatibleSchemaInitializer, useCollection_deprecated } from '@nocobase/client';
-// 表格操作配置
-export const mapActionInitializers: SchemaInitializer = new SchemaInitializer({
+/**
+ * @deprecated
+ * 表格操作配置
+ */
+export const mapActionInitializers_deprecated = new CompatibleSchemaInitializer({
name: 'MapActionInitializers',
title: "{{t('Configure actions')}}",
icon: 'SettingOutlined',
@@ -68,3 +71,74 @@ export const mapActionInitializers: SchemaInitializer = new SchemaInitializer({
},
],
});
+
+export const mapActionInitializers = new CompatibleSchemaInitializer(
+ {
+ name: 'map:configureActions',
+ title: "{{t('Configure actions')}}",
+ icon: 'SettingOutlined',
+ style: {
+ marginLeft: 8,
+ },
+ items: [
+ {
+ type: 'itemGroup',
+ title: "{{t('Enable actions')}}",
+ name: 'enableActions',
+ children: [
+ {
+ name: 'filter',
+ title: "{{t('Filter')}}",
+ Component: 'FilterActionInitializer',
+ schema: {
+ 'x-align': 'left',
+ },
+ },
+ {
+ name: 'addNew',
+ title: "{{t('Add new')}}",
+ Component: 'CreateActionInitializer',
+ schema: {
+ 'x-align': 'right',
+ 'x-decorator': 'ACLActionProvider',
+ 'x-acl-action-props': {
+ skipScopeCheck: true,
+ },
+ },
+ useVisible() {
+ const collection = useCollection_deprecated();
+ return collection.template !== 'sql';
+ },
+ },
+ {
+ name: 'refresh',
+ title: "{{t('Refresh')}}",
+ Component: 'RefreshActionInitializer',
+ schema: {
+ 'x-align': 'right',
+ },
+ },
+ ],
+ },
+ {
+ name: 'divider',
+ type: 'divider',
+ useVisible() {
+ const collection = useCollection_deprecated();
+ return collection.template !== 'sql';
+ },
+ },
+ {
+ type: 'subMenu',
+ title: '{{t("Customize")}}',
+ name: 'customize',
+ children: [],
+ useVisible() {
+ const collection = useCollection_deprecated();
+ return collection.template !== 'sql';
+ },
+ },
+ ],
+ },
+ mapActionInitializers_deprecated,
+);
diff --git a/packages/plugins/@nocobase/plugin-map/src/client/block/utils.ts b/packages/plugins/@nocobase/plugin-map/src/client/block/utils.ts
index 58e4f67d4..e6d92cd1c 100644
--- a/packages/plugins/@nocobase/plugin-map/src/client/block/utils.ts
+++ b/packages/plugins/@nocobase/plugin-map/src/client/block/utils.ts
@@ -25,7 +25,7 @@ export const createMapBlockSchema = (options) => {
properties: {
actions: {
type: 'void',
- 'x-initializer': 'MapActionInitializers',
+ 'x-initializer': 'map:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
style: {
@@ -65,7 +65,7 @@ export const createMapBlockSchema = (options) => {
grid: {
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'RecordBlockInitializers',
+ 'x-initializer': 'popup:common:addBlock',
properties: {},
},
},
diff --git a/packages/plugins/@nocobase/plugin-map/src/client/index.tsx b/packages/plugins/@nocobase/plugin-map/src/client/index.tsx
index d400d901d..66c64b054 100644
--- a/packages/plugins/@nocobase/plugin-map/src/client/index.tsx
+++ b/packages/plugins/@nocobase/plugin-map/src/client/index.tsx
@@ -1,12 +1,11 @@
import { CurrentAppInfoProvider, Plugin, SchemaComponentOptions } from '@nocobase/client';
import React from 'react';
import { MapBlockOptions } from './block';
-import { mapActionInitializers } from './block/MapActionInitializers';
+import { mapActionInitializers, mapActionInitializers_deprecated } from './block/MapActionInitializers';
+import { mapBlockSettings } from './block/MapBlock.Settings';
import { Configuration, Map } from './components';
import { fields } from './fields';
-import { generateNTemplate } from './locale';
-import { NAMESPACE } from './locale';
-import { mapBlockSettings } from './block/MapBlock.Settings';
+import { NAMESPACE, generateNTemplate } from './locale';
const MapProvider = React.memo((props) => {
return (
@@ -29,10 +28,11 @@ export class MapPlugin extends Plugin {
order: 51,
},
});
+ this.app.schemaInitializerManager.add(mapActionInitializers_deprecated);
this.app.schemaInitializerManager.add(mapActionInitializers);
this.schemaSettingsManager.add(mapBlockSettings);
- const blockInitializers = this.app.schemaInitializerManager.get('BlockInitializers');
+ const blockInitializers = this.app.schemaInitializerManager.get('page:addBlock');
blockInitializers?.add('dataBlocks.map', {
title: generateNTemplate('Map'),
Component: 'MapBlockInitializer',
diff --git a/packages/plugins/@nocobase/plugin-mobile-client/src/client/core/schema/common/page.ts b/packages/plugins/@nocobase/plugin-mobile-client/src/client/core/schema/common/page.ts
index a2335e96c..e2de8d88a 100644
--- a/packages/plugins/@nocobase/plugin-mobile-client/src/client/core/schema/common/page.ts
+++ b/packages/plugins/@nocobase/plugin-mobile-client/src/client/core/schema/common/page.ts
@@ -7,7 +7,7 @@ export const PageSchema = {
grid: {
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'MBlockInitializers',
+ 'x-initializer': 'mobilePage:addBlock',
'x-component-props': {
showDivider: false,
},
diff --git a/packages/plugins/@nocobase/plugin-mobile-client/src/client/core/schema/components/page/Page.Designer.tsx b/packages/plugins/@nocobase/plugin-mobile-client/src/client/core/schema/components/page/Page.Designer.tsx
index 6583ca489..5ab4834fe 100644
--- a/packages/plugins/@nocobase/plugin-mobile-client/src/client/core/schema/components/page/Page.Designer.tsx
+++ b/packages/plugins/@nocobase/plugin-mobile-client/src/client/core/schema/components/page/Page.Designer.tsx
@@ -77,7 +77,7 @@ export const PageDesigner = (props) => {
'x-component-props': {},
'x-initializer': 'TabPaneInitializers',
'x-initializer-props': {
- gridInitializer: 'MBlockInitializers',
+ gridInitializer: 'mobilePage:addBlock',
},
properties: {
tab1: {
diff --git a/packages/plugins/@nocobase/plugin-mobile-client/src/client/core/schema/initializers/BlockInitializers.ts b/packages/plugins/@nocobase/plugin-mobile-client/src/client/core/schema/initializers/BlockInitializers.ts
index 47db07d90..36f8b3169 100644
--- a/packages/plugins/@nocobase/plugin-mobile-client/src/client/core/schema/initializers/BlockInitializers.ts
+++ b/packages/plugins/@nocobase/plugin-mobile-client/src/client/core/schema/initializers/BlockInitializers.ts
@@ -1,7 +1,10 @@
-import { SchemaInitializer, gridRowColWrap } from '@nocobase/client';
+import { CompatibleSchemaInitializer, gridRowColWrap } from '@nocobase/client';
import { generateNTemplate } from '../../../locale';
-export const mBlockInitializers: SchemaInitializer = new SchemaInitializer({
+/**
+ * @deprecated
+ */
+export const mBlockInitializers_deprecated = new CompatibleSchemaInitializer({
name: 'MBlockInitializers',
title: '{{t("Add block")}}',
icon: 'PlusOutlined',
@@ -69,3 +72,75 @@ export const mBlockInitializers: SchemaInitializer = new SchemaInitializer({
},
],
});
+
+export const mBlockInitializers = new CompatibleSchemaInitializer(
+ {
+ name: 'mobilePage:addBlock',
+ title: '{{t("Add block")}}',
+ icon: 'PlusOutlined',
+ wrap: gridRowColWrap,
+ items: [
+ {
+ name: 'dataBlocks',
+ type: 'itemGroup',
+ title: '{{t("Data blocks")}}',
+ children: [
+ {
+ name: 'gridCard',
+ type: 'item',
+ title: '{{t("Grid Card")}}',
+ Component: 'GridCardBlockInitializer',
+ },
+ {
+ name: 'table',
+ title: '{{t("Table")}}',
+ Component: 'TableBlockInitializer',
+ },
+ {
+ name: 'form',
+ title: '{{t("Form")}}',
+ Component: 'FormBlockInitializer',
+ },
+ {
+ name: 'details',
+ title: '{{t("Details")}}',
+ Component: 'DetailsBlockInitializer',
+ },
+ {
+ name: 'calendar',
+ title: '{{t("Calendar")}}',
+ Component: 'CalendarBlockInitializer',
+ },
+ {
+ name: 'mapBlock',
+ title: generateNTemplate('Map'),
+ Component: 'MapBlockInitializer',
+ },
+ ],
+ },
+ {
+ name: 'otherBlocks',
+ type: 'itemGroup',
+ title: '{{t("Other blocks")}}',
+ children: [
+ {
+ name: 'menu',
+ title: generateNTemplate('Menu'),
+ Component: 'MMenuBlockInitializer',
+ },
+ {
+ name: 'markdown',
+ title: '{{t("Markdown")}}',
+ Component: 'MarkdownBlockInitializer',
+ },
+ {
+ name: 'settings',
+ title: generateNTemplate('Settings'),
+ Component: 'MSettingsBlockInitializer',
+ },
+ ],
+ },
+ ],
+ },
+ mBlockInitializers_deprecated,
+);
diff --git a/packages/plugins/@nocobase/plugin-mobile-client/src/client/index.tsx b/packages/plugins/@nocobase/plugin-mobile-client/src/client/index.tsx
index b900b50e1..0b54b8d78 100644
--- a/packages/plugins/@nocobase/plugin-mobile-client/src/client/index.tsx
+++ b/packages/plugins/@nocobase/plugin-mobile-client/src/client/index.tsx
@@ -3,7 +3,7 @@ import React from 'react';
import { Navigate, Outlet } from 'react-router-dom';
import { MobileClientProvider } from './MobileClientProvider';
import MApplication from './router/Application';
-import { mBlockInitializers } from './core/schema';
+import { mBlockInitializers, mBlockInitializers_deprecated } from './core/schema';
import { AppConfiguration, InterfaceConfiguration } from './configuration';
import { NAMESPACE } from './locale';
@@ -14,6 +14,7 @@ export class MobileClientPlugin extends Plugin {
this.addRoutes();
this.addSettings();
this.app.use(MobileClientProvider);
+ this.app.schemaInitializerManager.add(mBlockInitializers_deprecated);
this.app.schemaInitializerManager.add(mBlockInitializers);
}
diff --git a/packages/plugins/@nocobase/plugin-mobile-client/src/server/plugin.ts b/packages/plugins/@nocobase/plugin-mobile-client/src/server/plugin.ts
index 02aa05d55..a895263ae 100644
--- a/packages/plugins/@nocobase/plugin-mobile-client/src/server/plugin.ts
+++ b/packages/plugins/@nocobase/plugin-mobile-client/src/server/plugin.ts
@@ -32,7 +32,7 @@ export class MobileClientPlugin extends Plugin {
grid: {
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'MBlockInitializers',
+ 'x-initializer': 'mobilePage:addBlock',
'x-component-props': {
showDivider: false,
},
diff --git a/packages/plugins/@nocobase/plugin-mobile-client/src/server/routes.ts b/packages/plugins/@nocobase/plugin-mobile-client/src/server/routes.ts
index 3470f1170..dafca0988 100644
--- a/packages/plugins/@nocobase/plugin-mobile-client/src/server/routes.ts
+++ b/packages/plugins/@nocobase/plugin-mobile-client/src/server/routes.ts
@@ -18,7 +18,7 @@ export const routes = [
grid: {
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'MBlockInitializers',
+ 'x-initializer': 'mobilePage:addBlock',
'x-component-props': {
showDivider: false,
},
diff --git a/packages/plugins/@nocobase/plugin-sample-hello/src/client/index.tsx b/packages/plugins/@nocobase/plugin-sample-hello/src/client/index.tsx
index 7ec484b48..4e86e06b5 100644
--- a/packages/plugins/@nocobase/plugin-sample-hello/src/client/index.tsx
+++ b/packages/plugins/@nocobase/plugin-sample-hello/src/client/index.tsx
@@ -1,5 +1,5 @@
import { TableOutlined } from '@ant-design/icons';
-import { SchemaInitializerItem, Plugin, useSchemaInitializer, SchemaSettings } from '@nocobase/client';
+import { Plugin, SchemaInitializerItem, SchemaSettings, useSchemaInitializer } from '@nocobase/client';
import { Card } from 'antd';
import React from 'react';
import { useTranslation } from 'react-i18next';
@@ -50,7 +50,7 @@ const helloSettings = new SchemaSettings({
class HelloPlugin extends Plugin {
async load() {
- this.app.schemaInitializerManager.addItem('BlockInitializers', 'otherBlocks.hello', {
+ this.app.schemaInitializerManager.addItem('page:addBlock', 'otherBlocks.hello', {
title: '{{t("Hello block")}}',
Component: HelloBlockInitializer,
});
diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/src/client/SnapshotBlock/SnapshotBlockInitializers/SnapshotBlockInitializers.tsx b/packages/plugins/@nocobase/plugin-snapshot-field/src/client/SnapshotBlock/SnapshotBlockInitializers/SnapshotBlockInitializers.tsx
index 86a43a0a7..5991c94e9 100644
--- a/packages/plugins/@nocobase/plugin-snapshot-field/src/client/SnapshotBlock/SnapshotBlockInitializers/SnapshotBlockInitializers.tsx
+++ b/packages/plugins/@nocobase/plugin-snapshot-field/src/client/SnapshotBlock/SnapshotBlockInitializers/SnapshotBlockInitializers.tsx
@@ -1,7 +1,10 @@
-import { SchemaInitializer, gridRowColWrap } from '@nocobase/client';
+import { CompatibleSchemaInitializer, gridRowColWrap } from '@nocobase/client';
import { NAMESPACE } from '../../locale';
-export const snapshotBlockInitializers: SchemaInitializer = new SchemaInitializer({
+/**
+ * @deprecated
+ */
+export const snapshotBlockInitializers_deprecated = new CompatibleSchemaInitializer({
name: 'SnapshotBlockInitializers',
wrap: gridRowColWrap,
title: `{{t("Add block", { ns: "${NAMESPACE}" })}}`,
@@ -16,7 +19,7 @@ export const snapshotBlockInitializers: SchemaInitializer = new SchemaInitialize
name: 'details',
title: '{{t("Details")}}',
Component: 'SnapshotBlockInitializersDetailItem',
- actionInitializers: 'CalendarFormActionInitializers',
+ actionInitializers: 'details:configureActions',
},
],
},
@@ -34,3 +37,40 @@ export const snapshotBlockInitializers: SchemaInitializer = new SchemaInitialize
},
],
});
+
+export const snapshotBlockInitializers = new CompatibleSchemaInitializer(
+ {
+ name: 'popup:snapshot:addBlock',
+ wrap: gridRowColWrap,
+ title: `{{t("Add block", { ns: "${NAMESPACE}" })}}`,
+ icon: 'PlusOutlined',
+ items: [
+ {
+ type: 'itemGroup',
+ title: '{{t("Current record blocks")}}',
+ name: 'currentRecordBlocks',
+ children: [
+ {
+ name: 'details',
+ title: '{{t("Details")}}',
+ Component: 'SnapshotBlockInitializersDetailItem',
+ actionInitializers: 'details:configureActions',
+ },
+ ],
+ },
+ {
+ type: 'itemGroup',
+ title: '{{t("Other blocks")}}',
+ name: 'otherBlocks',
+ children: [
+ {
+ name: 'markdown',
+ title: '{{t("Markdown")}}',
+ Component: 'MarkdownBlockInitializer',
+ },
+ ],
+ },
+ ],
+ },
+ snapshotBlockInitializers_deprecated,
+);
diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/src/client/SnapshotBlock/SnapshotBlockInitializers/SnapshotBlockInitializersDetailItem.tsx b/packages/plugins/@nocobase/plugin-snapshot-field/src/client/SnapshotBlock/SnapshotBlockInitializers/SnapshotBlockInitializersDetailItem.tsx
index 244a2ac38..f7444dd30 100644
--- a/packages/plugins/@nocobase/plugin-snapshot-field/src/client/SnapshotBlock/SnapshotBlockInitializers/SnapshotBlockInitializersDetailItem.tsx
+++ b/packages/plugins/@nocobase/plugin-snapshot-field/src/client/SnapshotBlock/SnapshotBlockInitializers/SnapshotBlockInitializersDetailItem.tsx
@@ -15,8 +15,8 @@ import { uid } from '@formily/shared';
export const createSnapshotBlockSchema = (options) => {
const {
- formItemInitializers = 'ReadPrettyFormItemInitializers',
- actionInitializers = 'ReadPrettyFormActionInitializers',
+ formItemInitializers = 'details:configureFields',
+ actionInitializers = 'details:configureActions',
collection,
association,
resource,
@@ -78,7 +78,7 @@ export const SnapshotBlockInitializersDetailItem = () => {
const association = useBlockAssociationContext();
const { block } = useBlockRequestContext();
const actionInitializers =
- block !== 'TableField' ? itemConfig.actionInitializers || 'ReadPrettyFormActionInitializers' : null;
+ block !== 'TableField' ? itemConfig.actionInitializers || 'details:configureActions' : null;
return (
{
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'table Table' }).hover();
await page.getByRole('menuitem', { name: `${triggerNodeCollectionDisplayName}` }).click();
@@ -71,16 +71,16 @@ test.describe('Configuration page to configure the Trigger node', () => {
await page.getByRole('menuitem', { name: 'Add new' }).getByRole('switch').click();
await expect(page.getByRole('menuitem', { name: 'Add new' }).getByRole('switch')).toBeEnabled();
await page.getByLabel(`action-Action-Add new-create-${triggerNodeCollectionName}-table`).click();
- await page.getByLabel(`schema-initializer-Grid-CreateFormBlockInitializers-${triggerNodeCollectionName}`).hover();
+ await page.getByLabel(`schema-initializer-Grid-popup:addNew:addBlock-${triggerNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'form Form' }).click();
// 移开鼠标,关闭菜单
await page.mouse.move(300, 0);
await page
- .getByLabel(`schema-initializer-ActionBar-CreateFormActionInitializers-${triggerNodeCollectionName}`)
+ .getByLabel(`schema-initializer-ActionBar-createForm:configureActions-${triggerNodeCollectionName}`)
.hover();
await page.getByRole('menuitem', { name: 'Submit' }).click();
// 绑定工作流
- await page.getByLabel(`schema-initializer-Grid-FormItemInitializers-${triggerNodeCollectionName}`).hover();
+ await page.getByLabel(`schema-initializer-Grid-form:configureFields-${triggerNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: `${triggerNodeFieldDisplayName}` }).click();
await page.mouse.move(300, 0);
await page.getByLabel(`action-Action-Submit-submit-${triggerNodeCollectionName}-form`).hover();
@@ -150,7 +150,7 @@ test.describe('Configuration page to configure the Trigger node', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'table Table' }).hover();
await page.getByRole('menuitem', { name: `${triggerNodeCollectionDisplayName}` }).click();
@@ -164,7 +164,7 @@ test.describe('Configuration page to configure the Trigger node', () => {
await expect(page.getByRole('menuitem', { name: 'Add new' }).getByRole('switch')).toBeEnabled();
await page.getByLabel(`action-Action-Add new-create-${triggerNodeCollectionName}-table`).click();
- await page.getByLabel(`schema-initializer-Grid-CreateFormBlockInitializers-${triggerNodeCollectionName}`).hover();
+ await page.getByLabel(`schema-initializer-Grid-popup:addNew:addBlock-${triggerNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'form Form' }).click();
// 移开鼠标,关闭菜单
@@ -172,11 +172,11 @@ test.describe('Configuration page to configure the Trigger node', () => {
// 绑定工作流
await page
- .getByLabel(`schema-initializer-ActionBar-CreateFormActionInitializers-${triggerNodeCollectionName}`)
+ .getByLabel(`schema-initializer-ActionBar-createForm:configureActions-${triggerNodeCollectionName}`)
.hover();
await page.getByRole('menuitem', { name: 'Customize' }).hover();
await page.getByRole('menuitem', { name: 'Submit to workflow' }).click();
- await page.getByLabel(`schema-initializer-Grid-FormItemInitializers-${triggerNodeCollectionName}`).hover();
+ await page.getByLabel(`schema-initializer-Grid-form:configureFields-${triggerNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: `${triggerNodeFieldDisplayName}` }).click();
await page.mouse.move(300, 0);
await page.getByRole('button', { name: 'Submit to workflow' }).hover();
diff --git a/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/client/index.ts b/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/client/index.ts
index 8b02ac516..53af3ba02 100644
--- a/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/client/index.ts
+++ b/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/client/index.ts
@@ -1,7 +1,7 @@
import { Plugin, SchemaInitializerItemType } from '@nocobase/client';
import WorkflowPlugin, {
- useTriggerWorkflowsActionProps,
useRecordTriggerWorkflowsActionProps,
+ useTriggerWorkflowsActionProps,
} from '@nocobase/plugin-workflow/client';
import ActionTrigger from './ActionTrigger';
diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm.test.ts
index e2e5d5775..b1988c123 100644
--- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm.test.ts
+++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm.test.ts
@@ -1,31 +1,18 @@
import { faker } from '@faker-js/faker';
import {
CollectionTriggerNode,
- CreateWorkFlow,
- EditWorkFlow,
- WorkflowListRecords,
+ ManualNode,
apiCreateWorkflow,
apiDeleteWorkflow,
+ apiGetRecord,
apiGetWorkflow,
- apiUpdateRecord,
apiGetWorkflowNodeExecutions,
apiUpdateWorkflowTrigger,
appendJsonCollectionName,
generalWithNoRelationalFields,
- QueryRecordNode,
- ManualNode,
- apiGetRecord,
- apiCreateWorkflowNode,
- apiGetWorkflowNode,
- ClculationNode,
- CreateRecordNode,
- AggregateNode,
- apiGetList,
- apiFilterList,
} from '@nocobase/plugin-workflow-test/e2e';
import { expect, test } from '@nocobase/test/e2e';
import { dayjs } from '@nocobase/utils';
-import { Button } from 'antd';
test.describe('block configuration', () => {});
@@ -97,7 +84,7 @@ test.describe('field data entry', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -105,7 +92,7 @@ test.describe('field data entry', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -129,7 +116,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -232,7 +219,7 @@ test.describe('field data entry', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -240,7 +227,7 @@ test.describe('field data entry', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -264,7 +251,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -367,7 +354,7 @@ test.describe('field data entry', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -375,7 +362,7 @@ test.describe('field data entry', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -399,7 +386,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -502,7 +489,7 @@ test.describe('field data entry', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -510,7 +497,7 @@ test.describe('field data entry', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -534,7 +521,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -637,7 +624,7 @@ test.describe('field data entry', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -645,7 +632,7 @@ test.describe('field data entry', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -669,7 +656,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -772,7 +759,7 @@ test.describe('field data entry', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -780,7 +767,7 @@ test.describe('field data entry', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -804,7 +791,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -907,7 +894,7 @@ test.describe('field data entry', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -915,7 +902,7 @@ test.describe('field data entry', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -939,7 +926,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1043,7 +1030,7 @@ test.describe('field data entry', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -1051,7 +1038,7 @@ test.describe('field data entry', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -1075,7 +1062,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1178,7 +1165,7 @@ test.describe('field data entry', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -1186,7 +1173,7 @@ test.describe('field data entry', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -1210,7 +1197,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1313,7 +1300,7 @@ test.describe('field data entry', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -1321,7 +1308,7 @@ test.describe('field data entry', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -1345,7 +1332,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1456,7 +1443,7 @@ test.describe('field data entry', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -1464,7 +1451,7 @@ test.describe('field data entry', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -1488,7 +1475,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1590,7 +1577,7 @@ test.describe('field data entry', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -1598,7 +1585,7 @@ test.describe('field data entry', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -1622,7 +1609,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1731,7 +1718,7 @@ test.describe('field data entry', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -1739,7 +1726,7 @@ test.describe('field data entry', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -1763,7 +1750,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1881,7 +1868,7 @@ test.describe('action button', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -1889,7 +1876,7 @@ test.describe('action button', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -1913,7 +1900,7 @@ test.describe('action button', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -2016,7 +2003,7 @@ test.describe('action button', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -2024,12 +2011,14 @@ test.describe('action button', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
// await page.mouse.click(300, 0);
- await page.getByLabel(`schema-initializer-ActionBar-AddActionButton-${manualNodeCollectionName}`).hover();
+ await page
+ .getByLabel(`schema-initializer-ActionBar-workflowManual:form:configureActions-${manualNodeCollectionName}`)
+ .hover();
await page.getByRole('menuitem', { name: 'Terminate the process' }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
await page.mouse.click(300, 0);
@@ -2052,7 +2041,7 @@ test.describe('action button', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -2155,7 +2144,7 @@ test.describe('action button', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -2163,12 +2152,14 @@ test.describe('action button', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
// await page.mouse.click(300, 0);
- await page.getByLabel(`schema-initializer-ActionBar-AddActionButton-${manualNodeCollectionName}`).hover();
+ await page
+ .getByLabel(`schema-initializer-ActionBar-workflowManual:form:configureActions-${manualNodeCollectionName}`)
+ .hover();
await page.getByRole('menuitem', { name: 'Save temporarily' }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
await page.mouse.click(300, 0);
@@ -2191,7 +2182,7 @@ test.describe('action button', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks.test.ts
index a969e7ee3..cb4b1a46b 100644
--- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks.test.ts
+++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks.test.ts
@@ -1,27 +1,14 @@
import { faker } from '@faker-js/faker';
import {
CollectionTriggerNode,
- CreateWorkFlow,
- EditWorkFlow,
- WorkflowListRecords,
+ ManualNode,
apiCreateWorkflow,
apiDeleteWorkflow,
apiGetWorkflow,
- apiUpdateRecord,
apiGetWorkflowNodeExecutions,
apiUpdateWorkflowTrigger,
appendJsonCollectionName,
generalWithNoRelationalFields,
- QueryRecordNode,
- ManualNode,
- apiGetRecord,
- apiCreateWorkflowNode,
- apiGetWorkflowNode,
- ClculationNode,
- CreateRecordNode,
- AggregateNode,
- apiGetList,
- apiFilterList,
} from '@nocobase/plugin-workflow-test/e2e';
import { expect, test } from '@nocobase/test/e2e';
import { dayjs } from '@nocobase/utils';
@@ -95,17 +82,23 @@ test.describe('field data entry', () => {
await manualNode.customFormMenu.click();
await page.mouse.move(300, 0, { steps: 100 });
// 获取自定义表单的随机值
- const configureFieldsButton = page.locator('button[aria-label^="schema-initializer-Grid-AddCustomFormField-"]');
+ const configureFieldsButton = page.locator(
+ 'button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-"]',
+ );
const ariaLabel = await configureFieldsButton.getAttribute('aria-label');
const randomValue = ariaLabel.split('-').pop();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString();
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByRole('menuitem', { name: 'Single line text' }).click();
await page
.getByLabel(`block-item-Input-${randomValue}-Field display name`)
@@ -134,7 +127,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -232,17 +225,23 @@ test.describe('field data entry', () => {
await manualNode.customFormMenu.click();
await page.mouse.move(300, 0, { steps: 100 });
// 获取自定义表单的随机值
- const configureFieldsButton = page.locator('button[aria-label^="schema-initializer-Grid-AddCustomFormField-"]');
+ const configureFieldsButton = page.locator(
+ 'button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-"]',
+ );
const ariaLabel = await configureFieldsButton.getAttribute('aria-label');
const randomValue = ariaLabel.split('-').pop();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString();
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByRole('menuitem', { name: 'Long text' }).click();
await page
.getByLabel(`block-item-Input-${randomValue}-Field display name`)
@@ -271,7 +270,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -369,17 +368,23 @@ test.describe('field data entry', () => {
await manualNode.customFormMenu.click();
await page.mouse.move(300, 0, { steps: 100 });
// 获取自定义表单的随机值
- const configureFieldsButton = page.locator('button[aria-label^="schema-initializer-Grid-AddCustomFormField-"]');
+ const configureFieldsButton = page.locator(
+ 'button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-"]',
+ );
const ariaLabel = await configureFieldsButton.getAttribute('aria-label');
const randomValue = ariaLabel.split('-').pop();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString();
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByRole('menuitem', { name: 'Phone' }).click();
await page
.getByLabel(`block-item-Input-${randomValue}-Field display name`)
@@ -408,7 +413,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -506,17 +511,23 @@ test.describe('field data entry', () => {
await manualNode.customFormMenu.click();
await page.mouse.move(300, 0, { steps: 100 });
// 获取自定义表单的随机值
- const configureFieldsButton = page.locator('button[aria-label^="schema-initializer-Grid-AddCustomFormField-"]');
+ const configureFieldsButton = page.locator(
+ 'button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-"]',
+ );
const ariaLabel = await configureFieldsButton.getAttribute('aria-label');
const randomValue = ariaLabel.split('-').pop();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString();
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByRole('menuitem', { name: 'Email' }).click();
await page
.getByLabel(`block-item-Input-${randomValue}-Field display name`)
@@ -545,7 +556,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -643,17 +654,23 @@ test.describe('field data entry', () => {
await manualNode.customFormMenu.click();
await page.mouse.move(300, 0, { steps: 100 });
// 获取自定义表单的随机值
- const configureFieldsButton = page.locator('button[aria-label^="schema-initializer-Grid-AddCustomFormField-"]');
+ const configureFieldsButton = page.locator(
+ 'button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-"]',
+ );
const ariaLabel = await configureFieldsButton.getAttribute('aria-label');
const randomValue = ariaLabel.split('-').pop();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString();
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByRole('menuitem', { name: 'Integer' }).click();
await page
.getByLabel(`block-item-Input-${randomValue}-Field display name`)
@@ -682,7 +699,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -780,17 +797,23 @@ test.describe('field data entry', () => {
await manualNode.customFormMenu.click();
await page.mouse.move(300, 0, { steps: 100 });
// 获取自定义表单的随机值
- const configureFieldsButton = page.locator('button[aria-label^="schema-initializer-Grid-AddCustomFormField-"]');
+ const configureFieldsButton = page.locator(
+ 'button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-"]',
+ );
const ariaLabel = await configureFieldsButton.getAttribute('aria-label');
const randomValue = ariaLabel.split('-').pop();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString();
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByRole('menuitem', { name: 'Number' }).click();
await page
.getByLabel(`block-item-Input-${randomValue}-Field display name`)
@@ -819,7 +842,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -917,17 +940,23 @@ test.describe('field data entry', () => {
await manualNode.customFormMenu.click();
await page.mouse.move(300, 0, { steps: 100 });
// 获取自定义表单的随机值
- const configureFieldsButton = page.locator('button[aria-label^="schema-initializer-Grid-AddCustomFormField-"]');
+ const configureFieldsButton = page.locator(
+ 'button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-"]',
+ );
const ariaLabel = await configureFieldsButton.getAttribute('aria-label');
const randomValue = ariaLabel.split('-').pop();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString();
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByRole('menuitem', { name: 'Percent' }).click();
await page
.getByLabel(`block-item-Input-${randomValue}-Field display name`)
@@ -956,7 +985,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1054,17 +1083,23 @@ test.describe('field data entry', () => {
await manualNode.customFormMenu.click();
await page.mouse.move(300, 0, { steps: 100 });
// 获取自定义表单的随机值
- const configureFieldsButton = page.locator('button[aria-label^="schema-initializer-Grid-AddCustomFormField-"]');
+ const configureFieldsButton = page.locator(
+ 'button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-"]',
+ );
const ariaLabel = await configureFieldsButton.getAttribute('aria-label');
const randomValue = ariaLabel.split('-').pop();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString();
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByRole('menuitem', { name: 'Checkbox', exact: true }).click();
await page
.getByLabel(`block-item-Input-${randomValue}-Field display name`)
@@ -1093,7 +1128,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1191,17 +1226,23 @@ test.describe('field data entry', () => {
await manualNode.customFormMenu.click();
await page.mouse.move(300, 0, { steps: 100 });
// 获取自定义表单的随机值
- const configureFieldsButton = page.locator('button[aria-label^="schema-initializer-Grid-AddCustomFormField-"]');
+ const configureFieldsButton = page.locator(
+ 'button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-"]',
+ );
const ariaLabel = await configureFieldsButton.getAttribute('aria-label');
const randomValue = ariaLabel.split('-').pop();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString();
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByRole('menuitem', { name: 'Single select', exact: true }).click();
await page
.getByLabel(`block-item-Input-${randomValue}-Field display name`)
@@ -1236,7 +1277,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1335,17 +1376,23 @@ test.describe('field data entry', () => {
await manualNode.customFormMenu.click();
await page.mouse.move(300, 0, { steps: 100 });
// 获取自定义表单的随机值
- const configureFieldsButton = page.locator('button[aria-label^="schema-initializer-Grid-AddCustomFormField-"]');
+ const configureFieldsButton = page.locator(
+ 'button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-"]',
+ );
const ariaLabel = await configureFieldsButton.getAttribute('aria-label');
const randomValue = ariaLabel.split('-').pop();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString();
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByRole('menuitem', { name: 'Multiple select', exact: true }).click();
await page
.getByLabel(`block-item-Input-${randomValue}-Field display name`)
@@ -1380,7 +1427,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1486,17 +1533,23 @@ test.describe('field data entry', () => {
await manualNode.customFormMenu.click();
await page.mouse.move(300, 0, { steps: 100 });
// 获取自定义表单的随机值
- const configureFieldsButton = page.locator('button[aria-label^="schema-initializer-Grid-AddCustomFormField-"]');
+ const configureFieldsButton = page.locator(
+ 'button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-"]',
+ );
const ariaLabel = await configureFieldsButton.getAttribute('aria-label');
const randomValue = ariaLabel.split('-').pop();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString();
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByRole('menuitem', { name: 'Radio group', exact: true }).click();
await page
.getByLabel(`block-item-Input-${randomValue}-Field display name`)
@@ -1531,7 +1584,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1629,17 +1682,23 @@ test.describe('field data entry', () => {
await manualNode.customFormMenu.click();
await page.mouse.move(300, 0, { steps: 100 });
// 获取自定义表单的随机值
- const configureFieldsButton = page.locator('button[aria-label^="schema-initializer-Grid-AddCustomFormField-"]');
+ const configureFieldsButton = page.locator(
+ 'button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-"]',
+ );
const ariaLabel = await configureFieldsButton.getAttribute('aria-label');
const randomValue = ariaLabel.split('-').pop();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString();
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByRole('menuitem', { name: 'Checkbox group', exact: true }).click();
await page
.getByLabel(`block-item-Input-${randomValue}-Field display name`)
@@ -1674,7 +1733,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1778,17 +1837,23 @@ test.describe('field data entry', () => {
await manualNode.customFormMenu.click();
await page.mouse.move(300, 0, { steps: 100 });
// 获取自定义表单的随机值
- const configureFieldsButton = page.locator('button[aria-label^="schema-initializer-Grid-AddCustomFormField-"]');
+ const configureFieldsButton = page.locator(
+ 'button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-"]',
+ );
const ariaLabel = await configureFieldsButton.getAttribute('aria-label');
const randomValue = ariaLabel.split('-').pop();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString();
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByRole('menuitem', { name: 'Datetime', exact: true }).click();
await page
.getByLabel(`block-item-Input-${randomValue}-Field display name`)
@@ -1817,7 +1882,7 @@ test.describe('field data entry', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/datablocks.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/datablocks.test.ts
index 96c1b4608..447c4a3d8 100644
--- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/datablocks.test.ts
+++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/datablocks.test.ts
@@ -1,27 +1,21 @@
import { faker } from '@faker-js/faker';
import {
+ AggregateNode,
+ ClculationNode,
CollectionTriggerNode,
- CreateWorkFlow,
- EditWorkFlow,
- WorkflowListRecords,
+ CreateRecordNode,
+ ManualNode,
+ QueryRecordNode,
apiCreateWorkflow,
+ apiCreateWorkflowNode,
apiDeleteWorkflow,
+ apiFilterList,
+ apiGetList,
apiGetWorkflow,
- apiUpdateRecord,
- apiGetWorkflowNodeExecutions,
+ apiGetWorkflowNode,
apiUpdateWorkflowTrigger,
appendJsonCollectionName,
generalWithNoRelationalFields,
- QueryRecordNode,
- ManualNode,
- apiGetRecord,
- apiCreateWorkflowNode,
- apiGetWorkflowNode,
- ClculationNode,
- CreateRecordNode,
- AggregateNode,
- apiGetList,
- apiFilterList,
} from '@nocobase/plugin-workflow-test/e2e';
import { expect, test } from '@nocobase/test/e2e';
import { dayjs } from '@nocobase/utils';
@@ -111,7 +105,7 @@ test.describe('field data', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -223,7 +217,7 @@ test.describe('field data', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -346,7 +340,7 @@ test.describe('field data', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -474,7 +468,7 @@ test.describe('field data', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -634,7 +628,7 @@ test.describe('field data', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -733,17 +727,23 @@ test.describe('field data', () => {
await preManualNodePom.customFormMenu.click();
await page.mouse.move(300, 0, { steps: 100 });
// 获取自定义表单的随机值
- const configureFieldsButton = page.locator('button[aria-label^="schema-initializer-Grid-AddCustomFormField-"]');
+ const configureFieldsButton = page.locator(
+ 'button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-"]',
+ );
const ariaLabel = await configureFieldsButton.getAttribute('aria-label');
const randomValue = ariaLabel.split('-').pop();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString();
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
- await page.locator(`button[aria-label^="schema-initializer-Grid-AddCustomFormField-${randomValue}"]`).hover();
+ await page
+ .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`)
+ .hover();
await page.getByRole('menuitem', { name: 'Single line text' }).click();
await page
.getByLabel(`block-item-Input-${randomValue}-Field display name`)
@@ -793,7 +793,7 @@ test.describe('field data', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -902,7 +902,7 @@ test.describe('field data', () => {
await page.getByRole('menuitem', { name: preManualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${preManualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${preManualNodeCollectionName}"]`)
.hover();
await page
.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${preManualNodeCollectionName}`)
@@ -912,7 +912,7 @@ test.describe('field data', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${preManualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${preManualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: triggerNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -957,7 +957,7 @@ test.describe('field data', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1102,7 +1102,7 @@ test.describe('field data', () => {
await page.getByRole('menuitem', { name: preManualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${preManualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${preManualNodeCollectionName}"]`)
.hover();
await page
.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${preManualNodeCollectionName}`)
@@ -1112,7 +1112,7 @@ test.describe('field data', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${preManualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${preManualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: triggerNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -1157,7 +1157,7 @@ test.describe('field data', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm.test.ts
index 83fb84d85..ddff9eb21 100644
--- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm.test.ts
+++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm.test.ts
@@ -1,27 +1,15 @@
import { faker } from '@faker-js/faker';
import {
CollectionTriggerNode,
- CreateWorkFlow,
- EditWorkFlow,
- WorkflowListRecords,
+ ManualNode,
apiCreateWorkflow,
apiDeleteWorkflow,
+ apiFilterList,
apiGetWorkflow,
- apiUpdateRecord,
apiGetWorkflowNodeExecutions,
apiUpdateWorkflowTrigger,
appendJsonCollectionName,
generalWithNoRelationalFields,
- QueryRecordNode,
- ManualNode,
- apiGetRecord,
- apiCreateWorkflowNode,
- apiGetWorkflowNode,
- ClculationNode,
- CreateRecordNode,
- AggregateNode,
- apiGetList,
- apiFilterList,
} from '@nocobase/plugin-workflow-test/e2e';
import { expect, test } from '@nocobase/test/e2e';
import { dayjs } from '@nocobase/utils';
@@ -112,7 +100,7 @@ test.describe('field data update', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -120,7 +108,7 @@ test.describe('field data update', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -144,7 +132,7 @@ test.describe('field data update', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -264,7 +252,7 @@ test.describe('field data update', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -272,7 +260,7 @@ test.describe('field data update', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -296,7 +284,7 @@ test.describe('field data update', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -416,7 +404,7 @@ test.describe('field data update', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -424,7 +412,7 @@ test.describe('field data update', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -448,7 +436,7 @@ test.describe('field data update', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -568,7 +556,7 @@ test.describe('field data update', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -576,7 +564,7 @@ test.describe('field data update', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -600,7 +588,7 @@ test.describe('field data update', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -720,7 +708,7 @@ test.describe('field data update', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -728,7 +716,7 @@ test.describe('field data update', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -752,7 +740,7 @@ test.describe('field data update', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -872,7 +860,7 @@ test.describe('field data update', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -880,7 +868,7 @@ test.describe('field data update', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -904,7 +892,7 @@ test.describe('field data update', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1040,7 +1028,7 @@ test.describe('field data update', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -1048,7 +1036,7 @@ test.describe('field data update', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -1072,7 +1060,7 @@ test.describe('field data update', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1208,7 +1196,7 @@ test.describe('field data update', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -1216,7 +1204,7 @@ test.describe('field data update', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -1240,7 +1228,7 @@ test.describe('field data update', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1376,7 +1364,7 @@ test.describe('field data update', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -1384,7 +1372,7 @@ test.describe('field data update', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -1408,7 +1396,7 @@ test.describe('field data update', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1545,7 +1533,7 @@ test.describe('field data update', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -1553,7 +1541,7 @@ test.describe('field data update', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -1577,7 +1565,7 @@ test.describe('field data update', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1722,7 +1710,7 @@ test.describe('field data update', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -1730,7 +1718,7 @@ test.describe('field data update', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -1754,7 +1742,7 @@ test.describe('field data update', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -1890,7 +1878,7 @@ test.describe('field data update', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -1898,7 +1886,7 @@ test.describe('field data update', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -1922,7 +1910,7 @@ test.describe('field data update', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -2064,7 +2052,7 @@ test.describe('field data update', () => {
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -2072,7 +2060,7 @@ test.describe('field data update', () => {
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -2096,7 +2084,7 @@ test.describe('field data update', () => {
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/workflowTodo.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/workflowTodo.test.ts
index 6fa027703..672dd6e89 100644
--- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/workflowTodo.test.ts
+++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/workflowTodo.test.ts
@@ -1,13 +1,13 @@
import { faker } from '@faker-js/faker';
import {
CollectionTriggerNode,
+ ManualNode,
apiCreateWorkflow,
apiDeleteWorkflow,
apiGetWorkflow,
apiUpdateWorkflowTrigger,
appendJsonCollectionName,
generalWithNoRelationalFields,
- ManualNode,
} from '@nocobase/plugin-workflow-test/e2e';
import { expect, test } from '@nocobase/test/e2e';
import { dayjs } from '@nocobase/utils';
@@ -72,7 +72,7 @@ test('filter task node', async ({ page, mockPage, mockCollections, mockRecords }
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -80,7 +80,7 @@ test('filter task node', async ({ page, mockPage, mockCollections, mockRecords }
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -103,7 +103,7 @@ test('filter task node', async ({ page, mockPage, mockCollections, mockRecords }
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
@@ -182,7 +182,7 @@ test('filter workflow name', async ({ page, mockPage, mockCollections, mockRecor
await page.getByRole('menuitem', { name: manualNodeCollectionDisplayName }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover();
await page.getByRole('menuitem', { name: 'Edit block title' }).click();
@@ -190,7 +190,7 @@ test('filter workflow name', async ({ page, mockPage, mockCollections, mockRecor
await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle);
await page.getByRole('button', { name: 'OK', exact: true }).click();
await page
- .locator(`button[aria-label^="schema-initializer-Grid-FormItemInitializers-${manualNodeCollectionName}"]`)
+ .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`)
.hover();
await page.getByRole('menuitem', { name: manualNodeFieldDisplayName }).getByRole('switch').click();
await page.mouse.move(300, 0, { steps: 100 });
@@ -213,7 +213,7 @@ test('filter workflow name', async ({ page, mockPage, mockCollections, mockRecor
const newPage = mockPage();
await newPage.goto();
await page.waitForLoadState('networkidle');
- await page.getByLabel('schema-initializer-Grid-BlockInitializers').hover();
+ await page.getByLabel('schema-initializer-Grid-page:addBlock').hover();
await page.getByRole('menuitem', { name: 'check-square Workflow todos' }).click();
await page.mouse.move(300, 0, { steps: 100 });
await page.waitForTimeout(300);
diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/index.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/index.ts
index 95a7954c1..9832405e1 100644
--- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/index.ts
+++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/index.ts
@@ -3,11 +3,16 @@ import WorkflowPlugin from '@nocobase/plugin-workflow/client';
import Manual from './instruction';
+import { NAMESPACE } from '../locale';
import { WorkflowTodo } from './WorkflowTodo';
import { WorkflowTodoBlockInitializer } from './WorkflowTodoBlockInitializer';
-import { NAMESPACE } from '../locale';
-import { addActionButton, addBlockButton } from './instruction/SchemaConfig';
-import { addCustomFormField } from './instruction/forms/custom';
+import {
+ addActionButton,
+ addActionButton_deprecated,
+ addBlockButton,
+ addBlockButton_deprecated,
+} from './instruction/SchemaConfig';
+import { addCustomFormField, addCustomFormField_deprecated } from './instruction/forms/custom';
export default class extends Plugin {
async afterAdd() {
@@ -22,11 +27,14 @@ export default class extends Plugin {
const workflow = this.app.pm.get('workflow') as WorkflowPlugin;
workflow.registerInstruction('manual', Manual);
+ this.app.schemaInitializerManager.add(addBlockButton_deprecated);
this.app.schemaInitializerManager.add(addBlockButton);
+ this.app.schemaInitializerManager.add(addActionButton_deprecated);
this.app.schemaInitializerManager.add(addActionButton);
+ this.app.schemaInitializerManager.add(addCustomFormField_deprecated);
this.app.schemaInitializerManager.add(addCustomFormField);
- const blockInitializers = this.app.schemaInitializerManager.get('BlockInitializers');
+ const blockInitializers = this.app.schemaInitializerManager.get('page:addBlock');
blockInitializers.add('otherBlocks.workflowTodos', {
title: `{{t("Workflow todos", { ns: "${NAMESPACE}" })}}`,
Component: 'WorkflowTodoBlockInitializer',
diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/FormBlockInitializer.tsx b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/FormBlockInitializer.tsx
index 656f3bb01..5ee4fc513 100644
--- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/FormBlockInitializer.tsx
+++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/FormBlockInitializer.tsx
@@ -22,7 +22,7 @@ function InternalFormBlockInitializer({ schema, ...others }) {
async function onConfirm({ item }) {
const template = item.template ? await getTemplateSchemaByMode(item) : null;
const result = createFormBlockSchema({
- actionInitializers: 'AddActionButton',
+ actionInitializers: 'workflowManual:form:configureActions',
actions: {
resolve: {
type: 'void',
diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/SchemaConfig.tsx b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/SchemaConfig.tsx
index 3b08356f4..271830b44 100644
--- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/SchemaConfig.tsx
+++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/SchemaConfig.tsx
@@ -8,13 +8,13 @@ import { useTranslation } from 'react-i18next';
import {
Action,
ActionContextProvider,
+ CompatibleSchemaInitializer,
DefaultValueProvider,
FormActiveFieldsProvider,
GeneralSchemaDesigner,
InitializerWithSwitch,
SchemaComponent,
SchemaComponentContext,
- SchemaInitializer,
SchemaInitializerItem,
SchemaInitializerItemType,
SchemaSettingsBlockTitleItem,
@@ -122,7 +122,10 @@ function SimpleDesigner() {
);
}
-export const addBlockButton: SchemaInitializer = new SchemaInitializer({
+/**
+ * @deprecated
+ */
+export const addBlockButton_deprecated = new CompatibleSchemaInitializer({
name: 'AddBlockButton',
wrap: gridRowColWrap,
title: '{{t("Add block")}}',
@@ -187,6 +190,74 @@ export const addBlockButton: SchemaInitializer = new SchemaInitializer({
],
});
+export const addBlockButton = new CompatibleSchemaInitializer(
+ {
+ name: 'workflowManual:popup:configureUserInterface:addBlock',
+ wrap: gridRowColWrap,
+ title: '{{t("Add block")}}',
+ items: [
+ {
+ type: 'itemGroup',
+ name: 'dataBlocks',
+ title: '{{t("Data blocks")}}',
+ hideIfNoChildren: true,
+ useChildren() {
+ const workflowPlugin = usePlugin(WorkflowPlugin);
+ const current = useNodeContext();
+ const nodes = useAvailableUpstreams(current);
+ const triggerInitializers = [useTriggerInitializers()].filter(Boolean);
+ const nodeBlockInitializers = nodes
+ .map((node) => {
+ const instruction = workflowPlugin.instructions.get(node.type);
+ return instruction?.useInitializers?.(node);
+ })
+ .filter(Boolean);
+ const dataBlockInitializers: any = [
+ ...triggerInitializers,
+ ...(nodeBlockInitializers.length
+ ? [
+ {
+ name: 'nodes',
+ type: 'subMenu',
+ title: `{{t("Node result", { ns: "${NAMESPACE}" })}}`,
+ children: nodeBlockInitializers,
+ },
+ ]
+ : []),
+ ].filter(Boolean);
+ return dataBlockInitializers;
+ },
+ },
+ {
+ type: 'itemGroup',
+ name: 'form',
+ title: '{{t("Form")}}',
+ useChildren() {
+ const dm = useDataSourceManager();
+ const allCollections = dm.getAllCollections();
+ return Array.from(manualFormTypes.getValues()).map((item: ManualFormType) => {
+ const { useInitializer: getInitializer } = item.config;
+ return getInitializer({ allCollections });
+ });
+ },
+ },
+ {
+ type: 'itemGroup',
+ name: 'otherBlocks',
+ title: '{{t("Other blocks")}}',
+ children: [
+ {
+ name: 'markdown',
+ title: '{{t("Markdown")}}',
+ Component: 'MarkdownBlockInitializer',
+ },
+ ],
+ },
+ ],
+ },
+ addBlockButton_deprecated,
+);
+
function AssignedFieldValues() {
const ctx = useContext(SchemaComponentContext);
const { t } = useTranslation();
@@ -197,7 +268,7 @@ function AssignedFieldValues() {
fieldSchema?.['x-action-settings']?.assignedValues?.schema ?? {
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'CustomFormItemInitializers',
+ 'x-initializer': 'assignFieldValuesForm:configureFields',
properties: {},
},
);
@@ -365,7 +436,10 @@ function ActionInitializer() {
);
}
-export const addActionButton: SchemaInitializer = new SchemaInitializer({
+/**
+ * @deprecated
+ */
+export const addActionButton_deprecated = new CompatibleSchemaInitializer({
name: 'AddActionButton',
title: '{{t("Configure actions")}}',
items: [
@@ -396,6 +470,40 @@ export const addActionButton: SchemaInitializer = new SchemaInitializer({
],
});
+export const addActionButton = new CompatibleSchemaInitializer(
+ {
+ name: 'workflowManual:form:configureActions',
+ title: '{{t("Configure actions")}}',
+ items: [
+ {
+ name: 'jobStatusResolved',
+ title: `{{t("Continue the process", { ns: "${NAMESPACE}" })}}`,
+ Component: ContinueInitializer,
+ action: JOB_STATUS.RESOLVED,
+ actionProps: {
+ type: 'primary',
+ },
+ },
+ {
+ name: 'jobStatusRejected',
+ title: `{{t("Terminate the process", { ns: "${NAMESPACE}" })}}`,
+ Component: ActionInitializer,
+ action: JOB_STATUS.REJECTED,
+ actionProps: {
+ danger: true,
+ },
+ },
+ {
+ name: 'jobStatusPending',
+ title: `{{t("Save temporarily", { ns: "${NAMESPACE}" })}}`,
+ Component: ActionInitializer,
+ action: JOB_STATUS.PENDING,
+ },
+ ],
+ },
+ addActionButton_deprecated,
+);
+
// NOTE: fake useAction for ui configuration
function useSubmit() {
// const { values, submit, id: formId } = useForm();
@@ -442,7 +550,7 @@ export function SchemaConfig({ value, onChange }) {
'x-component-props': {},
'x-initializer': 'TabPaneInitializers',
'x-initializer-props': {
- gridInitializer: 'AddBlockButton',
+ gridInitializer: 'workflowManual:popup:configureUserInterface:addBlock',
},
properties: value ?? {
tab1: {
@@ -454,7 +562,7 @@ export function SchemaConfig({ value, onChange }) {
grid: {
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'AddBlockButton',
+ 'x-initializer': 'workflowManual:popup:configureUserInterface:addBlock',
properties: {},
},
},
diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/forms/custom.tsx b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/forms/custom.tsx
index 8ef4198e1..f81a1057c 100644
--- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/forms/custom.tsx
+++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/forms/custom.tsx
@@ -8,10 +8,10 @@ import lodash from 'lodash';
import {
ActionContextProvider,
CollectionProvider_deprecated,
+ CompatibleSchemaInitializer,
FormBlockContext,
RecordProvider,
SchemaComponent,
- SchemaInitializer,
SchemaInitializerItem,
SchemaInitializerItemType,
SchemaInitializerItems,
@@ -103,7 +103,7 @@ function CustomFormBlockInitializer() {
grid: {
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'AddCustomFormField',
+ 'x-initializer': 'workflowManual:customForm:configureFields',
},
actions: {
type: 'void',
@@ -116,7 +116,7 @@ function CustomFormBlockInitializer() {
flexWrap: 'wrap',
},
},
- 'x-initializer': 'AddActionButton',
+ 'x-initializer': 'workflowManual:form:configureActions',
properties: {
resolve: {
type: 'void',
@@ -322,7 +322,10 @@ const CustomItemsComponent = (props) => {
);
};
-export const addCustomFormField: SchemaInitializer = new SchemaInitializer({
+/**
+ * @deprecated
+ */
+export const addCustomFormField_deprecated = new CompatibleSchemaInitializer({
name: 'AddCustomFormField',
wrap: gridRowColWrap,
insertPosition: 'beforeEnd',
@@ -330,6 +333,17 @@ export const addCustomFormField: SchemaInitializer = new SchemaInitializer({
ItemsComponent: CustomItemsComponent,
});
+export const addCustomFormField = new CompatibleSchemaInitializer(
+ {
+ name: 'workflowManual:customForm:configureFields',
+ wrap: gridRowColWrap,
+ insertPosition: 'beforeEnd',
+ title: "{{t('Configure fields')}}",
+ ItemsComponent: CustomItemsComponent,
+ },
+ addCustomFormField_deprecated,
+);
+
function CustomFormFieldInitializer() {
const itemConfig = useSchemaInitializerItem();
const { insert, setVisible } = useSchemaInitializer();
diff --git a/packages/plugins/@nocobase/plugin-workflow-test/src/e2e/e2ePageObjectModel.ts b/packages/plugins/@nocobase/plugin-workflow-test/src/e2e/e2ePageObjectModel.ts
index d351cda2f..a5bed4fc2 100644
--- a/packages/plugins/@nocobase/plugin-workflow-test/src/e2e/e2ePageObjectModel.ts
+++ b/packages/plugins/@nocobase/plugin-workflow-test/src/e2e/e2ePageObjectModel.ts
@@ -434,7 +434,9 @@ export class ManualNode {
.getByRole('button', { name: 'Configure' });
this.assigneesDropDown = page.getByTestId('select-single');
this.configureUserInterfaceButton = page.getByRole('button', { name: 'Configure user interface' });
- this.addBlockButton = page.getByLabel('schema-initializer-Grid-AddBlockButton-workflows');
+ this.addBlockButton = page.getByLabel(
+ 'schema-initializer-Grid-workflowManual:popup:configureUserInterface:addBlock-workflows',
+ );
this.triggerDataMenu = page.getByRole('menuitem', { name: 'Trigger data' });
this.nodeDataMenu = page.getByRole('menuitem', { name: 'Node result right' });
this.customFormMenu = page.getByRole('menuitem', { name: 'Custom form' });
diff --git a/packages/plugins/@nocobase/plugin-workflow/src/client/__e2e__/calculationNode/formulaEngine.test.ts b/packages/plugins/@nocobase/plugin-workflow/src/client/__e2e__/calculationNode/formulaEngine.test.ts
index 557874253..3aae8f6ae 100644
--- a/packages/plugins/@nocobase/plugin-workflow/src/client/__e2e__/calculationNode/formulaEngine.test.ts
+++ b/packages/plugins/@nocobase/plugin-workflow/src/client/__e2e__/calculationNode/formulaEngine.test.ts
@@ -563,7 +563,7 @@ test.skip('Collection event add data trigger, get front manual node add form sin
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'AddBlockButton',
+ 'x-initializer': 'workflowManual:popup:configureUserInterface:addBlock',
name: 'grid',
properties: {
'59t231zx5vx': {
@@ -608,7 +608,7 @@ test.skip('Collection event add data trigger, get front manual node add form sin
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
name: 'grid',
properties: {
yt2rbpepdsl: {
@@ -646,7 +646,7 @@ test.skip('Collection event add data trigger, get front manual node add form sin
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'AddActionButton',
+ 'x-initializer': 'workflowManual:form:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
diff --git a/packages/plugins/@nocobase/plugin-workflow/src/client/__e2e__/calculationNode/mathEngine.test.ts b/packages/plugins/@nocobase/plugin-workflow/src/client/__e2e__/calculationNode/mathEngine.test.ts
index ff318ec9f..710d97b1e 100644
--- a/packages/plugins/@nocobase/plugin-workflow/src/client/__e2e__/calculationNode/mathEngine.test.ts
+++ b/packages/plugins/@nocobase/plugin-workflow/src/client/__e2e__/calculationNode/mathEngine.test.ts
@@ -558,7 +558,7 @@ test.skip('Collection event add data trigger, get front manual node add form sin
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'AddBlockButton',
+ 'x-initializer': 'workflowManual:popup:configureUserInterface:addBlock',
name: 'grid',
properties: {
'59t231zx5vx': {
@@ -603,7 +603,7 @@ test.skip('Collection event add data trigger, get front manual node add form sin
version: '2.0',
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'FormItemInitializers',
+ 'x-initializer': 'form:configureFields',
name: 'grid',
properties: {
yt2rbpepdsl: {
@@ -641,7 +641,7 @@ test.skip('Collection event add data trigger, get front manual node add form sin
_isJSONSchemaObject: true,
version: '2.0',
type: 'void',
- 'x-initializer': 'AddActionButton',
+ 'x-initializer': 'workflowManual:form:configureActions',
'x-component': 'ActionBar',
'x-component-props': {
layout: 'one-column',
diff --git a/packages/plugins/@nocobase/plugin-workflow/src/client/components/CollectionBlockInitializer.tsx b/packages/plugins/@nocobase/plugin-workflow/src/client/components/CollectionBlockInitializer.tsx
index 048b2a942..72bc3b079 100644
--- a/packages/plugins/@nocobase/plugin-workflow/src/client/components/CollectionBlockInitializer.tsx
+++ b/packages/plugins/@nocobase/plugin-workflow/src/client/components/CollectionBlockInitializer.tsx
@@ -48,7 +48,7 @@ function InnerCollectionBlockInitializer({ collection, dataSource, ...props }) {
grid: template || {
type: 'void',
'x-component': 'Grid',
- 'x-initializer': 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
properties: {},
},
},
diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/migrations/20230411034722-manual-multi-form.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/migrations/20230411034722-manual-multi-form.ts
index 1c2b6a7d3..a2a786694 100644
--- a/packages/plugins/@nocobase/plugin-workflow/src/server/migrations/20230411034722-manual-multi-form.ts
+++ b/packages/plugins/@nocobase/plugin-workflow/src/server/migrations/20230411034722-manual-multi-form.ts
@@ -113,7 +113,7 @@ function migrateConfig({ schema = {}, actions = [] }: { schema: any; actions: nu
},
properties: {
grid: Object.assign(formBlock.properties.grid, {
- 'x-initializer': 'AddCustomFormField',
+ 'x-initializer': 'workflowManual:customForm:configureFields',
}),
// 7.
actions: {
@@ -126,7 +126,7 @@ function migrateConfig({ schema = {}, actions = [] }: { schema: any; actions: nu
marginTop: '1.5em',
},
},
- 'x-initializer': 'AddActionButton',
+ 'x-initializer': 'workflowManual:form:configureActions',
properties: schema.actions,
},
},
diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/migrations/20230612021134-manual-collection-block.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/migrations/20230612021134-manual-collection-block.ts
index dfee79936..05fe1ec51 100644
--- a/packages/plugins/@nocobase/plugin-workflow/src/server/migrations/20230612021134-manual-collection-block.ts
+++ b/packages/plugins/@nocobase/plugin-workflow/src/server/migrations/20230612021134-manual-collection-block.ts
@@ -64,7 +64,7 @@ function migrateSchema(schema = {}): object {
type: 'void',
name: 'grid',
'x-component': 'Grid',
- 'x-initializer': 'ReadPrettyFormItemInitializers',
+ 'x-initializer': 'details:configureFields',
properties: grid.properties,
},
},