* 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
69 lines
2.3 KiB
TypeScript
69 lines
2.3 KiB
TypeScript
import { Plugin, useCollection_deprecated } from '@nocobase/client';
|
|
import { DuplicateAction } from './DuplicateAction';
|
|
import { deprecatedDuplicateActionSettings, duplicateActionSettings } from './DuplicateAction.Settings';
|
|
import { DuplicateActionInitializer } from './DuplicateActionInitializer';
|
|
import { DuplicatePluginProvider } from './DuplicatePluginProvider';
|
|
|
|
export class PluginDuplicateClient extends Plugin {
|
|
async load() {
|
|
this.app.use(DuplicatePluginProvider);
|
|
this.app.addComponents({
|
|
DuplicateActionInitializer,
|
|
DuplicateAction,
|
|
});
|
|
this.app.schemaSettingsManager.add(deprecatedDuplicateActionSettings);
|
|
this.app.schemaSettingsManager.add(duplicateActionSettings);
|
|
|
|
const initializerData = {
|
|
title: '{{t("Duplicate")}}',
|
|
Component: 'DuplicateActionInitializer',
|
|
schema: {
|
|
'x-component': 'Action',
|
|
'x-action': 'duplicate',
|
|
'x-toolbar': 'ActionSchemaToolbar',
|
|
'x-settings': 'actionSettings:duplicate',
|
|
'x-decorator': 'ACLActionProvider',
|
|
'x-component-props': {
|
|
type: 'primary',
|
|
},
|
|
},
|
|
useVisible() {
|
|
const collection = useCollection_deprecated();
|
|
return (
|
|
(collection.template !== 'view' || collection?.writableView) &&
|
|
collection.template !== 'file' &&
|
|
collection.template !== 'sql'
|
|
);
|
|
},
|
|
};
|
|
|
|
const initializerTableData = {
|
|
title: '{{t("Duplicate")}}',
|
|
Component: 'DuplicateActionInitializer',
|
|
schema: {
|
|
'x-component': 'Action.Link',
|
|
'x-action': 'duplicate',
|
|
'x-toolbar': 'ActionSchemaToolbar',
|
|
'x-settings': 'actionSettings:duplicate',
|
|
'x-decorator': 'ACLActionProvider',
|
|
'x-component-props': {
|
|
type: 'primary',
|
|
},
|
|
},
|
|
useVisible() {
|
|
const collection = useCollection_deprecated();
|
|
return (
|
|
(collection.template !== 'view' || collection?.writableView) &&
|
|
collection.template !== 'file' &&
|
|
collection.template !== 'sql'
|
|
);
|
|
},
|
|
};
|
|
|
|
this.app.schemaInitializerManager.addItem('table:configureItemActions', 'actions.duplicate', initializerTableData);
|
|
}
|
|
}
|
|
|
|
export default PluginDuplicateClient;
|
|
export * from './DuplicateAction';
|