* fix: bug * test: kanban test * test: gantt block test * test: gantt test * test: gantt test * test: gantt test * refactor: convert parameters to destructured object * test: add tests choices * test: add tests media * test: add tests for datetime in creating form * feat(plugin-mock-collection): generate faker time * test: add tests for datetime in editing form * test: add tests for datetime in details form * test: gantt block test * test: gantt test * test: gantt test * test: gantt test * fix: bug * feat: improve code * test: add tests for relation fields * refactor: style improve * fix: rename SchemaSettings * fix: type bug * refactor: useDesinger() * fix: bug * fix: bug * fix: build tip * refactor: kanban setting * refactor: gantt setting * refactor: bulk update setting * refactor: bulk update setting * refactor: bulk edit settings * refactor: duplicate settings * refactor: print action setting * refactor: duplicate settings * refactor: bulk update refactor * refactor: bulk update refactor * fix: designableState * fix: bug * fix: designable * refactor: bulk update * fix: designable * test: add tests for relation fields * test: add tests for relation fields * test: add tests for relation fields * feat: client api doc * test: add tests for relation fields * test: avoid errors * test: make tests passing * fix: bug * test: gantt test * test: make tests passing * test: add tests for advanced fields * test: increase e2e timeout-minutes to 60 * fix: bug * fix: improve code * feat: add schema initailizer component demos * test: make tests passing * fix: schema settings demos * feat: shallowMerge & deepMerge * test: reduce number of tests * test: make tests passing * feat: updates * fix: add Initializer Internal * demos: useSchemaSettingsRender * test: make tests passing * test: make tests passing * test: bulk update test * refactor: useSchemaToolbar * fix: improve docs * fix: bug * test: duplicate action test * test: duplicate action test * test: duplicate action test * test: duplicate action test * chore: upgrade dumi theme * test: make tests passing * test: add tests for linkage rules * test: add test for form data templates * test: add tests for default value * test: reduce number of tests * refactor: bulk edit setting * test: bulk edit action test * test: bulk edit action test * fix: dn.deepMerge * fix: bug * test: bulk edit action test * test: kanban test * refactor: bulk update version * refactor: print action version * fix: bug * fix: toolbar * fix: docs ssr * test: add tests for system fields * test: add tests for actions * fix: bug * test: add tests for lazy loading of variables * test: make testing more stable * test: bulk edit test * test: bulk update action test * fix: update docs * test: print test * test: kanban test * test: kanban test * refactor: duplicate version * fix: merge bug * refactor: bulk update * fix: merge bug * refactor: bulk edit * refactor: import * refactor: export action * refactor: code improve * refactor: kanban code improve * fix: merge bug * refactor: readPrettyFormActionInitializers * test: print action test * test: print action test * refactor: print action * test: action test * refactor: gantt date change * style: gantt style improve * test: gantt &bulkUpdate test * test: bulk update test * test: duplicate action test * test: print action test * test: bulk edit action test * test: gantt block test * test: kanban block test * test: test file name * test: test file name * test: bulk update action tst * refactor: rename test file name * refactor: bulk update action * refactor: gantt test * fix: block template * fix: block template * fix: useFieldModeOptions * refactor: code improve * fix: merge bug --------- Co-authored-by: dream2023 <1098626505@qq.com> Co-authored-by: Rain <958414905@qq.com> Co-authored-by: chenos <chenlinxh@gmail.com>
149 lines
4.4 KiB
TypeScript
149 lines
4.4 KiB
TypeScript
import { useFieldSchema } from '@formily/react';
|
|
import { useCollection, SchemaInitializer } from '@nocobase/client';
|
|
|
|
export const GanttActionInitializers = new SchemaInitializer({
|
|
name: 'GanttActionInitializers',
|
|
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();
|
|
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();
|
|
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: 'ExpandActionInitializer',
|
|
schema: {
|
|
'x-align': 'right',
|
|
},
|
|
useVisible() {
|
|
const schema = useFieldSchema();
|
|
const collection = useCollection();
|
|
const { treeTable } = schema?.parent?.['x-decorator-props'] || {};
|
|
return collection.tree && treeTable !== false;
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'divider',
|
|
type: 'divider',
|
|
useVisible() {
|
|
const collection = useCollection();
|
|
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();
|
|
return !['view', 'sql'].includes(collection.template) || collection?.writableView;
|
|
},
|
|
},
|
|
],
|
|
});
|