Co-authored-by: hello@lv <2256334253@qq.com> Co-authored-by: wjh <wwwjh0710@163.com> Co-authored-by: sealday <sealday@gmail.com> Reviewed-on: daoyoucloud/tachybase#719
65 lines
2.9 KiB
TypeScript
65 lines
2.9 KiB
TypeScript
import { Plugin, useCollection_deprecated } from '@tachybase/client';
|
|
import { bulkEditActionSettings, deprecatedBulkEditActionSettings } from './BulkEditAction.Settings';
|
|
import { BulkEditActionInitializer } from './BulkEditActionInitializer';
|
|
import {
|
|
BulkEditBlockInitializers_deprecated,
|
|
CreateFormBulkEditBlockInitializers,
|
|
bulkEditBlockInitializers,
|
|
} from './BulkEditBlockInitializers';
|
|
import {
|
|
BulkEditFormActionInitializers_deprecated,
|
|
bulkEditFormActionInitializers,
|
|
} from './BulkEditFormActionInitializers';
|
|
import { BulkEditFormItemInitializers_deprecated, bulkEditFormItemInitializers } from './BulkEditFormItemInitializers';
|
|
import { bulkEditFormItemSettings } from './bulkEditFormItemSettings';
|
|
import { BulkEditField } from './component/BulkEditField';
|
|
import { useCustomizeBulkEditActionProps } from './utils';
|
|
export class PluginActionBulkEditClient 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 PluginActionBulkEditClient;
|