mirror of
https://github.com/nocobase/nocobase
synced 2024-11-18 00:27:07 +00:00
4812cc5692
* feat: create custom-theme plugin * feat: add custom-theme * chore: add plugin name and description * chore: add deps * chore: optimize deps * refactor: rename * chore: add antd-token-previewer * chore: add deps in plugin * feat: add theme-editor * feat: add theme-editor * feat: add settings * feat: add theme collection * refactor: migration to the components folder * feat: add ThemeList * refactor: be better * feat: export createStyles * feat: implement ThemeCard (T-723) * style: optimize style * feat: add ThemeEditorProvider * feat: add ToEditTheme * chore: add isBuiltIn field * feat: implement WYSIWYG * refactor: migrate i18n * feat: support to save config * feat: add validation rule * refactor: remove useless code * refactor: optimize GlobalThemeProvider * feat: add CurrentUserSettingsMenuProvider * feat: support switching themes * refactor: migrate CurrentUserProvider to app root * feat: add InitializeTheme * fix: fix preview demo * fix: filter themes * fix: not valid when editing theme * fix: should restore the previous theme when closing theme editor * fix: fix algorithm * fix: the theme that was just saved should be applied * refactor: loacl antd-token-previewer * fix: should be based on the current theme when editing themes * feat: support to edit theme * perf: reduce executions * feat: add animation * fix: fix the type error of useRequest * feat: remove built-in themes * chore: reinstall deps * fix: fix version of deps * fix: delete client.d.ts to fix build error * chore: reinstall deps * fix: fix build * fix: fix build * fix: avoid build errors * fix: fix crashing * fix: use value instead of defaultValue * fix: avoid error * fix: avoid closure * fix: fix build * fix: fix style of login page * refactor(page): fix style * fix: fix style of PageHeader * refactor: fix style of Drawer * refactor: add FormDialog to loacl * refactor: fix style of SchemaSettings.ModalItem * refactor: fix style of pm/Card * fix: fix text color of pm/Marketplace * fix: fix table error * refactor: fix style of collection-manager/summary * refactor: fix style of fields drawer * chore: reinstall deps * fix: fix build * fix: fix build of custom-theme * fix: should export Plugin * refactor: fix style of GraphDrawPage * chore: upgrade plugin version * refactor: fix style of Modal by using antd App * refactor: fix style of FormDialog by using local version * refactor(workflow): refactor style using antd-style in workflow * fix(workflow): fix style of workflow * fix: fix size * refactor: add --nb-header-height * feat: remove theme configuration from system settings * refactor: migrate useUpdateThemeSettings to a new file * refactor: rename theme to themeId * feat: add updateSystemThemeSettings * refactor: migrate utils function * feat: use localStorage to avoid theme invalid in login page * fix: fix style of login page * fix: fix style of Drawer * feat: optimize style of theme card * fix: should use a empty object to reset theme * fix: fix test of Page * fix: fix test of Application * fix: change backgroundColor of login page * fix: fix all style of modal * fix: fix gap between blocks (T-896) * fix: fix color of font (T-905) * fix: fix build * fix: fix can not scroll in Drawer (T-897) * fix: fix width of built-in plugins page (T-900) * fix: fix style of import Modal (T-907) * fix: fix style of calendar (T-908) * fix: fix style of kanban (T-909) * fix: fix style of Gantt (T-910) * fix: fix style of Collapse (T-915) * fix: fix style of mobile (T-916) * fix: fix style of PageHeader (T-958) * fix: optimize background color of Drawer * fix: fix style of notification * fix: fix T-1000 * fix: fix style of LinkageHeader (T-1003) * fix: fix T-1004 * fix: fix style of scroll bar of chart (T-911) * fix: fix style of workflow drawer (T-997) * fix: fix T-922 * fix: fix T-924 * refactor: rename custom-theme to theme-editor * fix: fix T-999 * fix: fix T-1011 * fix: fix error * fix: optimize dark mode (T-921) * fix: fix style of markdown (T-1020) * fix: fix style of data template (T-1025) * fix: fix style of rich text (T-1026) * fix: fix style of a * fix: fix style of XButton (T-1028) * fix: fix T-1027 * fix: fix color of variable tag (T-1030) * chore: translation * feat: add a modal before create new theme (T-1024) * feat: highlight card when editing theme (T-1031) * feat: support to change theme name (T-1023) * fix: api.auth.getOption('theme') * fix: fix T-1032 * fix: fix feedback in feishu group * refactor: code review * fix: fix test * chore: rename * fix: useNotificationMiddleware * refactor: revert * fix: fix build * fix: notification * refactor: migrate CurrentUserProvider from Application to NocoBaseBuildInPlugin * fix: fix test * refactor: fix code review * chore: avoid test error --------- Co-authored-by: chenos <chenlinxh@gmail.com>
85 lines
2.3 KiB
TypeScript
85 lines
2.3 KiB
TypeScript
import {
|
|
CollectionManagerContext,
|
|
PluginManagerContext,
|
|
SchemaComponent,
|
|
SettingsCenterProvider,
|
|
} from '@nocobase/client';
|
|
import { Card } from 'antd';
|
|
import React, { useContext } from 'react';
|
|
import { ExecutionLink } from './ExecutionLink';
|
|
import { ExecutionResourceProvider } from './ExecutionResourceProvider';
|
|
import { WorkflowLink } from './WorkflowLink';
|
|
import OpenDrawer from './components/OpenDrawer';
|
|
import expressionField from './interfaces/expression';
|
|
import { lang } from './locale';
|
|
import { instructions } from './nodes';
|
|
import { workflowSchema } from './schemas/workflows';
|
|
import { triggers } from './triggers';
|
|
|
|
// registerField(expressionField.group, 'expression', expressionField);
|
|
|
|
export const WorkflowContext = React.createContext({});
|
|
|
|
export function useWorkflowContext() {
|
|
return useContext(WorkflowContext);
|
|
}
|
|
|
|
function WorkflowPane() {
|
|
return (
|
|
<Card bordered={false}>
|
|
<SchemaComponent
|
|
schema={workflowSchema}
|
|
components={{
|
|
WorkflowLink,
|
|
ExecutionResourceProvider,
|
|
ExecutionLink,
|
|
OpenDrawer,
|
|
}}
|
|
/>
|
|
</Card>
|
|
);
|
|
}
|
|
|
|
export const WorkflowProvider = (props) => {
|
|
const pmCtx = useContext(PluginManagerContext);
|
|
const cmCtx = useContext(CollectionManagerContext);
|
|
return (
|
|
<SettingsCenterProvider
|
|
settings={{
|
|
workflow: {
|
|
icon: 'PartitionOutlined',
|
|
// title: `{{t("Workflow", { ns: "${NAMESPACE}" })}}`,
|
|
title: lang('Workflow'),
|
|
tabs: {
|
|
workflows: {
|
|
isBookmark: true,
|
|
title: lang('Workflow'),
|
|
component: WorkflowPane,
|
|
},
|
|
},
|
|
},
|
|
}}
|
|
>
|
|
<PluginManagerContext.Provider
|
|
value={{
|
|
components: {
|
|
...pmCtx?.components,
|
|
},
|
|
}}
|
|
>
|
|
<CollectionManagerContext.Provider
|
|
value={{
|
|
...cmCtx,
|
|
interfaces: {
|
|
...cmCtx.interfaces,
|
|
expression: expressionField,
|
|
},
|
|
}}
|
|
>
|
|
<WorkflowContext.Provider value={{ triggers, instructions }}>{props.children}</WorkflowContext.Provider>
|
|
</CollectionManagerContext.Provider>
|
|
</PluginManagerContext.Provider>
|
|
</SettingsCenterProvider>
|
|
);
|
|
};
|