tachybase_todo/packages/plugins/@nocobase/plugin-action-bulk-edit/src/client/index.tsx
Zeke Zhang 51de34251a
refactor(SchemaInitializers): unify naming style (#3604)
* refactor(SchemaSettings): unify naming style

* refactor(SchemaInitializers): unify naming stle

* refactor: replace CreateFormBlockInitializers to blockInitializers:createForm

* refactor: replace to blockInitializers:customizeCreateForm

* refactor: replace block intializers name

* refactor: replace action initializers name

* refactor: replace field initializers name

* style: fix hover style for column action (T-3297)

* refactor: revert some codes

* chore: update comment

* chore: replace iframeBlockSchemaSettings to blockSettings:iframe

* chore: delete pro-packages

* feat: add CompatibleSchemaInitializer

* test: add unit tests

* chore: add @internal for CompatibleSchemaInitializer

* chore: block

* chore: field

* chore: ations

* fix: build

* chore: typo

* fix: fix unit tests

* test: fix e2e

* chore: remove igone

* refactor: page:addBlock

* refactor: popup:addNew:addBlock

* fix: fix max call stack

* refactor: popup:addRecord:addBlock

* refactor: remove blockInitializers:recordForm

* refactor: popup:tableSelector:addBlock

* refactor: popup:view:addBlock

* refactor: popup:bulkEdit:addBlock & charts:addBlock

* refactor: mobilePage:addBlock

* refactor: popup:snapshot:addBlock

* refactor: popup:workflowManual:configureUserInterface:addBlock

* fix: avoid crashing

* chore: optimize

* refactor: popup:common:addBlock

* refactor: workflowManual:popup:configureUserInterface:addBlock

* refactor: details:configureFields

* refactor: form:configureFields

* refactor: table:configureColumns

* refactor: filterForm:configureFields

* refactor: associationFilterInitializer

* refactor: assignFieldValuesForm:configureFields

* refactor: bulkEditForm:configureFields

* refactor: auditLogsTable:configureColumns

* refactor: chartFilterForm:configureFields

* refactor: kanban:configureItemFields

* refactor: workflowManual:customForm:configureFields

* refactor: detailsWithPaging:configureActions

* refactor: details:configureActions

* refactor: createForm:configureActions

* refactor: editForm:configureActions

* refactor: gridCard:configureActions

* refactor: gridCard:configureItemActions

* refactor: list:configureActions

* refactor: list:configureItemActions

* refactor: table:configureItemActions

* refactor: table:configureActions

* refactor: filterForm:configureActions

* refactor: subTable:configureActions

* refactor: bulkEditForm:configureActions

* refactor: auditLogsTable:configureItemActions

* refactor: auditLogsTable:configureActions

* refactor: calendar:configureActions

* refactor: chartFilterForm:configureActions

* refactor: gantt:configureActions

* refactor: kanban:configureActions

* refactor: map:configureActions

* refactor: workflowManual:form:configureActions

* feat: use 'createForm:configureActions' in page

* feat: use 'details:configureActions' in Calendar

* feat: register deleteEvent initializer in calendar plugin

* fix: fix delete event action

* test: fix e2e

* test: fix e2e

* chore: only run workflow's e2e

* Revert "chore: only run workflow's e2e"

This reverts commit 9e5b4af41e40e8d616007a5ab97291fb2370d88a.

* fix: use isInitializersSame to fix some case
2024-03-14 14:13:11 +08:00

65 lines
2.8 KiB
TypeScript

import { Plugin, useCollection_deprecated } from '@nocobase/client';
import { bulkEditActionSettings, deprecatedBulkEditActionSettings } from './BulkEditAction.Settings';
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';
import { useCustomizeBulkEditActionProps } from './utils';
export class BulkEditPlugin extends Plugin {
async load() {
this.app.addComponents({ BulkEditField });
this.app.addScopes({ useCustomizeBulkEditActionProps });
this.app.schemaSettingsManager.add(deprecatedBulkEditActionSettings);
this.app.schemaSettingsManager.add(bulkEditActionSettings);
this.app.schemaSettingsManager.add(bulkEditFormItemSettings);
this.app.schemaInitializerManager.add(BulkEditFormItemInitializers_deprecated);
this.app.schemaInitializerManager.add(bulkEditFormItemInitializers);
this.app.schemaInitializerManager.add(CreateFormBulkEditBlockInitializers);
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',
title: '{{t("Bulk edit")}}',
name: 'bulkEdit',
Component: BulkEditActionInitializer,
schema: {
'x-align': 'right',
'x-decorator': 'ACLActionProvider',
'x-action': 'customize:bulkEdit',
'x-toolbar': 'ActionSchemaToolbar',
'x-settings': 'actionSettings:bulkEdit',
'x-acl-action': 'update',
'x-acl-action-props': {
skipScopeCheck: true,
},
},
useVisible() {
const collection = useCollection_deprecated();
return (
(collection.template !== 'view' || collection?.writableView) &&
collection.template !== 'file' &&
collection.template !== 'sql'
);
},
};
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);
}
}
export default BulkEditPlugin;