349 Commits

Author SHA1 Message Date
Junyi
a6d9f2ff27
fix(plugin-workflow-manual): fix details block context (#5953)
* fix(client): fix details block context

* fix(plugin-workflow-manual): fix FormBlockProvider context
2024-12-27 19:34:50 +08:00
Junyi
c7831676af
fix(plugin-workflow): fix date range variables (#5954)
* feat: hidden date range variables from nodes which is not filter components

* feat: remove system daterange variables from plugin

* refactor(plugin-workflow): move date range variables to component

* fix(plugin-workflow): remove useless code

---------

Co-authored-by: Linda <huanghui9850@gmail.com>
2024-12-26 23:42:38 +08:00
Junyi
56c03f3fef
feat(plugin-workflow): add workflow task panel in toolbar (#5858)
* feat(plugin-workflow): add workflow task panel in toolbar

* fix(plugin-workflow): fix type

* fix(plugin-workflow): fix manual task list filter

* fix(plugin-workflow): add tooltip for task button
2024-12-26 10:44:34 +08:00
nocobase[bot]
bc63f281ed Merge branch 'main' into next 2024-12-24 14:47:48 +00:00
Junyi
7a1385e158
fix(plugin-workflow): fix schedule trigger on date field without tz (#5938) 2024-12-24 22:47:23 +08:00
nocobase[bot]
fe4140342f Merge branch 'main' into next 2024-12-22 07:05:00 +00:00
Junyi
40c0d1d45a
fix(plugin-workflow): date scope variable locale (#5919) 2024-12-22 15:04:36 +08:00
Junyi
aa8bc65be8
fix(plugin-workflow): fix transactions between data sources (#5916) 2024-12-21 09:50:00 +08:00
nocobase[bot]
7fea6c0000 Merge branch 'main' into next 2024-12-18 11:26:00 +00:00
Junyi
8b14ae8cd0
fix(plugin-workflow): fix variable input in node test (#5908)
* fix(plugin-workflow): fix variable input in node test

* fix(plugin-workflow): fix variable input onchange value
2024-12-18 19:25:34 +08:00
Junyi
2cb4304a38
fix(plugin-workflow): fix loading workflow in manually executing (#5877) 2024-12-13 09:37:55 +08:00
nocobase[bot]
a86da58955 Merge branch 'main' into next 2024-12-12 05:41:32 +00:00
Junyi
cd5b0dc4d8
fix(plugin-workflow): fix transaction when delete execution after processed (#5870) 2024-12-12 13:41:08 +08:00
katherinehhh
3723076cbe Merge branch 'next' into develop 2024-12-07 20:05:50 +08:00
Junyi
173fa2c05d
fix(plugin-workflow): fix date type for schedule field (#5816) 2024-12-07 14:42:15 +08:00
Junyi
fb5c033524
fix(plugin-workflow): fix transaction across data sources (#5818) 2024-12-07 14:41:59 +08:00
nocobase[bot]
51cb1d0a71 Merge branch 'next' into develop 2024-12-04 05:08:34 +00:00
Junyi
d04f64e252
fix(plugin-workflow): fix sync column tag (#5787) 2024-12-04 13:07:52 +08:00
Junyi
45b8a56eb7
feat(plugin-workflow): add manual execute workflow (#5664)
* feat(plugin-workflow): add manual execute workflow

* refactor(plugin-workflow): adjust ui and type

* feat(plugin-workflow-action-trigger): add manually execute

* fix(plugin-workflow): keep trigger action in workflows for action trigger

* fix(plugin-workflow): fix type

* fix(plugin-workflow): collection trigger transaction

* fix(plugin-workflow): fix type

* test(plugin-workflow): skip failed test case

* fix(plugin-workflow): fix transaction

* fix(plugin-workflow): fix schedule mode field bug

* fix(plugin-workflow): collection trigger executing error

* fix(plugin-workflow-action-trigger): fix payload and appends

* fix(plugin-workflow): skip changed logic when execute

* fix(plugin-workflow): fix collection field schedule context when execute manually

* refactor(plugin-workflow): change manually option name

* fix(plugin-workflow-action-trigger): fix test case
2024-12-03 21:56:58 +08:00
nocobase[bot]
7149f1a149 Merge branch 'next' into develop 2024-12-02 13:05:08 +00:00
Junyi
23c23307fa
fix(plugin-workflow): fix test button variable (#5766) 2024-12-02 21:04:44 +08:00
Zeke Zhang
c0055ce826
perf(Page): improve performance (#5515)
* refactor(Tabs): remove observer and add memo

* refactor(useFilterFieldProps): use useCallback

* perf(FilterProvider): use startTransition

* perf(BlockRequestProvider): split context to improve rendering performance

* fix: make e2e tests pass

* perf(FilterBlockProvider): avoid rerender when updating state

* perf(DocumentTitleProvider): avoid rerender when updating state

* chore: set the default page title to empty string

* perf(BlockRequestProvider_deprecated): remove useless code

* perf(RecordProvider): add memo

* chore(Table): add comment

* perf: add memo to avoid rerender

* perf(InternalSchemaToolbar): improve style performance

* perf(ActionPage): improve style performance

* perf(BlockItem): improve style performance

* perf(Grid): improve style performance

* perf(IconField): improve style performance

* perf(MenuItem): improve style performance

* refactor(style): remove useless code

* perf(ArrayCollapse): improve style performance

* perf(acl): improve style performance

* perf(LinkageRules): improve style performance

* perf(ActionDrawerUsedInMobile): improve style performance

* perf(InternalPopoverNesterUsedInMobile): improve style performance

* perf(MobileActionPage): improve style performance

* perf(MobileTabsForMobileActionPage): improve style performance

* perf(Mobile): improve style performance

* perf(MobileTabBar): improve style performance

* perf(MobilePageContentContainer): improve style performance

* perf(MobilePageHeader): improve style performance

* perf(MobilePageNavigationBar): improve style performance

* perf(MobileNavigationBarAction): improve style performance

* chore: fix build error

* perf: some minor optimizations

* perf(CollectionFieldInternalField): optimize performance of default value processing

* refactor(CollectionFieldInternalField): remove useless code

* perf(PageContent): improve performance

* refactor(Table): use skeleton component

* perf(Table): improve pagination performance

* perf(TableSkeleton): improve skeleton component performance

* style(TableSkeleton): optimize style

* perf(PageTabs): cache rendered content to prevent re-rendering

* fix: fix add tab

* chore: make unit tests pass

* refactor: remove deprecated API

* fix(filterBlocks): make e2e tests pass

* fix(Action): make e2e tests pass

* perf(CollectionField): use custom RecursionField component to avoid unnecessary re-renders

* perf(Map): extract style

* Revert "perf(CollectionField): use custom RecursionField component to avoid unnecessary re-renders"

This reverts commit 203ecc1334429a8b77177337c8649ece1abdaeed.

* fix: fix e2e error

* fix: fix unit tests

* chore: fix build error

* perf(useResourceName): avoid unnecessary re-renders

* perf(TableBlockProvider): prevent unnecessary re-renders by splitting context

* perf(useDataBlockRequest): prevent unnecessary re-renders

* perf(useBlockCollection): avoid unnecessary re-renders

* perf(ActionContextProvider): add useMemo for context value

* perf(useTableBlockProps): avoid unnecessary re-renders

* perf(Details): add skeleton component

* chore(SchemaSettingsDropdown): make menu visibility more stable

* perf(withSkeletonComponent): use useDeferredValue

* refactor(ErrorBoundary): optimize code

* perf(plugin-charts-old): ignore old plugin context

* perf(CollectionHistoryProvider): optimize location context

* perf(MenuEditor): optimize router context

* fix(InternalAdminLayout): fix the issue of missing left sidebar menu

* perf(MenuEditor): prevent unnecessary re-renders

* perf(RouteSchemaComponent): prevent unnecessary re-renders

* perf(react-router-hooks): improve performance

* perf: add skeleton component for other blocks

* perf(CurrentUserProvider): remove loading

* refactor: remove useless code

* fix: fix the issue of redirecting to the homepage after refreshing the page

* perf(SystemSettingsProvider): remove loading

* perf(CollectionHistoryProvider): remove loading

* perf(useCurrentAppInfo): remove loading

* perf(RemoteCollectionManagerProvider): remove loading

* perf(RequestSchemaComponent): remove loading

* refactor(MenuEditor): remove useless code

* refactor: remove useless code

* perf(Page): reduce white screen time

* Revert "Revert "perf(CollectionField): use custom RecursionField component to avoid unnecessary re-renders""

This reverts commit b3a4201a82617534b9f5c3d16d4769f1327b3b02.

* perf(wip): add custom RecursionField component

* perf(RecursionField): complete custom RecursionField component

* perf(FilterAction): avoid unnecessary re-rendering

* perf(InputReadPretty): improve render performance

* fix(NocoBaseRecursionField): fix the issue where the page does not update

* perf(ReadPrettyInternalViewer): remove observer

* perf(Table): remove unnecessary context

* perf(NocoBaseField): customize a Field component

* chore: add comments

* fix(ButtonEditor): fix the issue where button title does not update after modification

* fix(ellipsis): fix the issue where the page does not refresh after modification

* refactor(NocoBaseField): rename and improve performance

* fix(NocoBaseField): add compile

* perf(Table): avoid rendering popup content

* chore: fix build error

* fix(popup): fix the issue where popups cannot be opened in embedded pages

* perf(CollectionField): remove ErrorBoundary

* chore(NocoBaseRecursionField): add isUseFormilyField

* perf(TemplateBlockProvider): use performance hooks

* refactor(FormV2): optimize skeleton screen effect

* perf(EditableAssociationField): remove observer

* perf(CollectionField): reduce nested component hierarchy

* refactor(SchemaSettingsSwitchItem): prevent UI refresh issues

* fix: fix field issues

* refactor(CollectionField): extract CollectionFieldInternalField component

* fix(DataSources): fix table error issue

* fix(drawer): fix drawer error

* fix(CollectionManagerSchemaComponentProvider): fix incorrect scope value

* fix(BodyRowComponent): fix issue with empty record

* fix(usePopupSettings): fix issue with popup not opening

* fix(BlockTemplates): fix table error issue

* refactor(NocoBaseRecursionField): set default value of isUseFormilyField to true

* refactor(Action): replace RecursionField with NocoBaseRecursionField

* fix(RequestSchemaComponent): fix issue with subpage not opening on mobile devices

* feat(loading): add delay for loading component

* fix(workflow): fix workflow table display issue

* chore(NocoBaseField): add compile method for default value

* fix(CollectionField): compatibility with legacy version

* fix(CollectionField): compatibility with legacy version

* fix(e2e): remove memoize function

* fix: add back dn.refresh

* refactor(CollectionField): reduce component rendering in specific cases

* Revert "fix(drawer): fix drawer error"

This reverts commit da8b43d9322aed39a1adf0ccdf24beca52a228ef.

* fix(popup): fix the issue where the second layer popup cannot be opened

* Revert "fix(popup): fix the issue where the second layer popup cannot be opened"

This reverts commit 71e9a43f361dd806affe9707254ed30882c27178.

* fix(popup): fix the issue where the second layer popup cannot be opened

* fix(popup): fix the issue where content is not displayed when reopening the popup

* fix(NocoBaseRecursionField): add default value

* refactor: revert to RecursionField version

* fix(Duplicate): fix the issue where values are not displayed

* Revert "refactor: revert to RecursionField version"

This reverts commit 087dcd4dc4d8d83f41272ac1b270dea281f49e08.

* fix(association-field): use NocoBaseRecursionField

* fix(menu): fix the issue where menu items are not displayed after adding

* fix(grid-card): make e2e pass

* fix(NocoBasePageHeader): fix the issue where title is not updated after modification

* fix(AdminLayout): fix page navigation issue

* fix(e2e): make e2e pass

* fix(e2e): fix the issue where data is not refreshed after closing the popup

* fix(e2e): fix the issue where relationship field popup variables are displayed incorrectly

* fix(e2e): fix JSON.stringify circular reference issue

* fix(e2e): make mobile e2e more stable

* fix(e2e): fix subform display issue

* fix(e2e): fix field pattern state

* chore(test): make some unit tests pass

* fix(test): make some unit tests pass

* fix(test): make unit tests pass

* perf(SortableItem): reduce unnecessary component rendering in non-configuration mode

* chore(Table): use startTransition

* perf(page): implement keep-alive effect

* chore: remove loading delay

* chore(e2e): skip one e2e

* chore: fix build error

* refactor: extract KeepAlive component and fix e2e test errors

* fix(test): make unit tests pass

* fix(KeepAlive): children should be a function

* fix(popup): avoid being affected by KeepAlive

* perf(KeepAlive): reduce lag when switching pages

* refactor(DndContext): extract InternalDndContext component

* refactor(KeepAlive): avoid memory overflow

* chore: limit maximum number of cached pages

* refactor: use useEffect instead of useLayoutEffect

* refactor(AdminLayout): extract NocoBaseLogo component

* perf: reduce lag when switching pages

* chore(KeepAlive): increase maximum number of cached pages

* perf(Grid): optimize rendering performance in non-configuration mode

* perf(Table): reduce one re-render when switching pagination

* refactor(SubTable): separate SubTable's Table component from normal Table component

* chore(test): make unit tests pass

* fix(e2e): fix the issue where table data does not refresh after form submission

* chore(e2e): update some e2e tests

* fix(Table): fix the issue where Dropdown component disappears after adding association fields

* perf(Table): optimize refresh performance

* refactor(NocoBaseField): simplify code writing

* perf(Context): improve performance

* perf(Context): improve render performance

* perf(Menu): improve menu performance

* perf: lower the priority of updating title

* perf(Page): avoid re-layout when switching pages

* perf(Table): reduce repainting time

* perf(popup): improve popup opening speed

* perf(popup): using toJSON for deep clone, faster than lodash's cloneDeep

* perf(withSkeletonComponent): defer loading state update

* perf(PopupRouteContextResetter): improve render performance

* perf(popup): improve popup closing speed

* perf(popup): improve popup closing performance

* perf(SchemaToolbar): avoid excessive style calculations

* perf(SchemaSettingsDropdown): avoid using useLayoutEffect

* perf(popup): improve popup opening speed

* fix(pageTab): fix the error when switching tab pages

* fix(popup): fix the issue of duplicate URLs caused by rapid button clicks

* refactor: extract NocoBasePageHeaderTabs

* fix(pageTabs): fix settings not refreshing after changes

* chore(test): make unit tests pass

* chore(test): update test case

* chore(SchemaInitializerSwitch): update unit test

* chore(useVariables): update unit tests

* chore(e2e): make some e2e tests pass

* chore(e2e): make e2e tests pass

* chore(e2e): update tests to make it pass

* fix(SideMenu): fix the issue where is not refresh when adding a page

* fix(Menu): fix the issue where is not refresh when changing menu

* fix(e2e): fix e2e error

* fix(e2e): fix refresh issues

* fix(e2e): fix some bugs

* fix(e2e): fix e2e error

* fix(test): fix unit tests

* fix(popup): prevent rapid clicking issues

* fix(e2e): fix e2e error

* fix(e2e): fix refresh issues

* fix(Table): do not change table pagination after switching pages

* perf(Menu): improve performance

* perf(Table): reduce row render times

* fix(KeepAlive): fix lag when switching designable

* fix(e2e): fix e2e error

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2024-11-27 07:19:52 +08:00
gchust
607773075a
feat: implement on-demand loading for frontend components (#5647)
* fix: missing less loader while building client

* fix: correct regex for .less file handling and resolve less-loader path

* feat: dynamic import big react components for core plugins

* chore: revert lerna.json

* chore: remove global deps duplications [skip ci]

* chore: optimization

* feat: dynamic import for markdown  vditor plugin

* chore: optimization

* chore: more optimization

* feat: code split for plugins with some ui components

* fix: incorrect submodule commit

* fix: test cases failure

* chore: refactor hook lazy import

* chore: improve lazy component loading

* chore:  lazy load vditor lib's js files [skip ci]

* chore: add bundle analyze option for client bundle

* chore: update loading sytle

* fix: add spinner when loading umi js files

* chore: clean

* chore: resolve develop branch confliction

* chore: refactor helper function name

* fix: error of lazy duplication [skip ci]

* fix: replace useImported with uselazyhook

* chore: rename

* chore: add comments for the helper function

* chore: update  comment

* fix: keep suspense into component level

* fix: improve code

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2024-11-26 20:58:55 +08:00
nocobase[bot]
27ccf731a7 Merge branch 'next' into develop 2024-11-20 07:22:09 +00:00
nocobase[bot]
64da031cef Merge branch 'main' into next 2024-11-20 06:58:17 +00:00
Junyi
1f4802e20f
refactor(plugin-workflow): change executions not to be deleted when workflow deleted (#5666)
* chore(ci): add retry

* refactor(plugin-workflow): change executions not to be deleted when workflow deleted

---------

Co-authored-by: xilesun <2013xile@gmail.com>
2024-11-20 14:53:29 +08:00
mytharcher
fa5a61fc97 Merge branch 'next' into develop 2024-11-19 10:52:28 +08:00
Junyi
9b7fe21d1d
refactor(plugin-workflow): support to register system variables in client (#5676) 2024-11-18 20:03:08 +08:00
mytharcher
e21aceed79 fix(plugin-workflow): remove only clause in test case 2024-11-17 20:06:12 +08:00
Junyi
c14a5b31a9
fix(fix/plugin-workflow): fix node disappears after added condition without branch before it (#5658) 2024-11-15 23:26:31 +08:00
mytharcher
5824f1fb15 Merge branch 'next' into T-4910 2024-11-15 11:03:16 +08:00
Junyi
50146dc8c3
feat(plugin-workflow): support union key in collection event (#5627) 2024-11-12 15:45:51 +08:00
nocobase[bot]
af9465e2c8 Merge branch 'main' into next 2024-11-11 12:34:00 +00:00
Junyi
b7495a7757
fix(evaluators): change formula.js to default calculation engine (#5626) 2024-11-11 20:33:39 +08:00
Junyi
a223f4448e
feat(plugin-workflow): branch presetting (#5570)
* fix(client): fix core component bug and warnings

* feat(plugin-workflow): add preset and branching config before add node

* refactor(plugin-workflow): fix AddNodeContext and adjust styles

* fix(plugin-workflow): fix default config value in preset form

* fix(plugin-workflow): fix e2e cases

* fix(plugin-workflow-parallel): fix e2e test cases

* fix(plugin-workflow): fix e2e test cases
2024-11-08 13:43:39 +08:00
hongboji
63cffd3d31
fix: sse causes “waitForLoadState(‘networkidle’)” timeout (#5524) 2024-10-28 09:01:38 +08:00
nocobase[bot]
b241793bfb Merge branch 'main' into next 2024-10-22 15:11:03 +00:00
Junyi
e0c7e765dd
fix(plugin-workflow): fix locale of binding workflow on button (#5494) 2024-10-22 23:05:55 +08:00
mahuan
09b86bf18b refactor: standardize localization file name 2024-10-22 23:02:52 +08:00
Junyi
50b2695797
feat(plugin-workflow): add component (#5464)
* feat(plugin-workflow): add fieldset card component

* fix(plugin-workflow): fix schema name caused wrong ui
2024-10-20 14:22:44 +08:00
Junyi
379ae83862
feat(plugin-workflow): add test run for nodes (#5407)
* feat(plugin-workflow): add test run for nodes

* fix(plugin-workflow): fix locale

* test(plugin-workflow): add test cases
2024-10-16 22:39:20 +08:00
Junyi
05b9703101
feat(plugin-workflow-loop): add more configuration (#5342)
* feat(plugin-workflow-loop): add more configuration

* fix(plugin-workflow-loop): fix scope variable on current loop node

* refactor(plugin-workflow-loop): adjust order of exit options

* chore(plugin-workflow-loop): add migration

* fix(plugin-workflow): fix condition branch constant

* fix(plugin-workflow): fix additionalScope argument in parsing variable

* fix(plugin-workflow-loop): dependencies

* fix(plugin-workflow-loop): fix type

* fix(plugin-workflow-loop): fix client variable issues

* fix(plugin-workflow-loop): only use basic calculation due to expression variable issues

* refactor(plugin-workflow-loop): adjust configuration fields

* fix(plugin-workflow-loop): fix locale

* refactor(plugin-workflow-loop): adjust order of configuration fields

* fix(plugin-workflow-loop): fix number type properties

* fix(plugin-workflow-loop): fix null items in array are skipped
2024-10-16 21:15:35 +08:00
nocobase[bot]
7e518c17fc Merge branch 'main' into next 2024-10-15 12:20:33 +00:00
Junyi
01f7c39e9b
fix(plugin-workflow): fix hint of update node (#5426) 2024-10-15 20:20:10 +08:00
chenos
b4270c7377 Merge branch 'main' into next
# Conflicts:
#	packages/core/server/package.json
2024-10-15 13:44:06 +08:00
chenos
d705877eec
fix(workflow): workflow node variables do not display inherited collection fields (#5415)
* fix: missing fields in the inherited table

* fix(client): fix hidden collection

* refactor(client): add new api to get all fields on collection manager

---------

Co-authored-by: mytharcher <mytharcher@gmail.com>
2024-10-15 09:23:24 +08:00
mytharcher
2ac5457583 Merge branch 'next' into T-4910 2024-10-14 17:23:56 +08:00
GitHub Actions Bot
2672789a64 Merge branch 'main' into next 2024-10-10 06:17:52 +00:00
Junyi
75efed6a19
fix(plugin-workflow): fix column name caused error when underscored (#5364) 2024-10-10 14:13:41 +08:00
GitHub Actions Bot
bcd154453f Merge branch 'main' into next 2024-10-08 08:02:15 +00:00