152 Commits

Author SHA1 Message Date
gchust
b923d89fa0
feat: keep reference templates feature (#6743)
* feat: be able to create reference template

* chore: update template title

* fix: template menu position inconsitant

* chore: add reference templates into block template management view

* fix: menu not correct

* fix: incorrect label

* chore: remove useless component

* fix: build error

* fix: incorrect translate

* fix: incorrect  translate tab [skip ci]

* chore: remove edit icon[skip ci]

* fix: e2e tests failing
2025-04-24 23:05:12 +08:00
nocobase[bot]
75aede8ef5 Merge branch 'main' into next 2025-04-22 03:36:16 +00:00
Zeke Zhang
2faed8de79
fix(SchemaSettingsActionModalItem): fix zIndex (#6733) 2025-04-22 11:35:54 +08:00
Katherine
d550a628d8
fix(linkage-rule): variable conversion in sub-table/sub-form linkage rule conditions (#6702)
* fix: variable conversion in sub-table/sub-form linkage rule conditions

* fix: bug

* fix: style in sub-table

* fix: bug
2025-04-18 17:29:07 +08:00
Katherine
f5fb2844da
feat(custom-request): support selected table records in custom request (#6647)
* feat: support selected table records in custom request

* fix: test

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: merge bug

* fix: e2e test

* fix: e2e test
2025-04-17 12:35:03 +08:00
Katherine
6fef3d7bed
feat: support variables on the left side of linkage rule conditions (#6609)
* feat: support linkage rules setting for association block action

* chore: linkage rule

* fix: bug

* fix: bug

* refactor: linkage rule

* refactor: code imporve

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* refactor: code imporve

* fix: test

* fix: test

* fix: test

* test: e2e test

* fix: bug

* fix: bug

* fix: test

* fix: e2e test

* fix: bug

* chore: support legacy leftVar in linkage rules

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: create submit linkage rule

* fix: action panel

* refactor: code improve

* fix: bug

* fix: test

* fix: test

* fix: code improve

* fix: e2e test

* fix: bug

* refactor: refresh & expend action support linkage rule

* refactor: code improve

* fix: test

* fix: bug

* fix: bug

* fix: e2e test

* fix: e2e test

* fix: e2e test

* fix: test

* refactor: code improve

* fix: e2e test

* fix: bug

* fix: e2e test

* fix: e2e test

* fix: test

* fix: e2e test

* fix: e2e test

* fix: bug
2025-04-16 15:52:51 +08:00
Zeke Zhang
ba83b2b1be
feat: support automatic data block refresh (#6591) (#6658)
* fix: update FilterContext to allow null parent value

* fix: refactor context usage from FilterContext to DataBlocksContext in FilterProvider and SchemaSettings

* feat: add highlight and unhighlight functionality for data blocks in SchemaSettings

* Revert "fix: refactor context usage from FilterContext to DataBlocksContext in FilterProvider and SchemaSettings"

This reverts commit a75c7002010785f1cfd2e78c4f5998d0194366bc.

* Revert "fix: update FilterContext to allow null parent value"

This reverts commit 6eb0b1989e20be8310f8dbce4e875e862123f2b3.

* feat: add AllDataBlocksProvider and integrate it into SchemaSettings and Page components

* feat: add BlocksSelector component and integrate data block refresh functionality in Action and SchemaSettings

* feat: optimize handleClick to use useMemo for better performance and refresh data blocks after onClick

* feat: add dialog visibility control in BlocksSelector for improved user experience

* fix: avoid error

* feat: add highlight and scroll tracking functionality for data blocks

* feat: add transition

* feat: add tootip

* fix: prevent closed dialog blocks from appearing in the BlocksSelector options

* fix: handle errors during block refresh to prevent crashes

* chore: fix build

* feat: add AllDataBlocksProvider to BlockTemplatePage and export from index

* feat: set width for AfterSuccess dialog to 700

* feat: wrap MobileRouter with AllDataBlocksProvider for improved data handling

* feat: export BlocksSelector component and integrate into AfterSuccess settings

* fix: ensure container visibility is managed correctly in highlightBlock and unhighlightBlock functions

* fix: remove unnecessary display property manipulation in highlightBlock and simplify unhighlightBlock logic

* chore: hide data refresh after sucess option from block template configure page

* fix: revert code format

---------

Co-authored-by: gchust <gchust@qq.com>
2025-04-14 18:34:21 +08:00
nocobase[bot]
93a7035230 Merge branch 'main' into next 2025-03-28 03:01:43 +00:00
chenos
1b782c4f95
refactor: async tasks (#6531)
* refactor: async tasks

* refactor: selectWithTitle support optionRender

* refactor: adjust export filename

* fix: build error

* fix: export file name

---------

Co-authored-by: katherinehhh <katherine_15995@163.com>
2025-03-28 11:01:20 +08:00
gchust
62f10d9c97
chore: upgrade ant design to 5.24.2 (#6343)
* chore: upgrade ant design to 5.24.2

* chore: fix errors after upgrade ant design

* fix: ts errors

* fix: ts error

* fix: ts error

* chore: keep original code format

* chore: revert format changes

* chore: keep code format

* fix: unit tests error after upgrade ant design

* fix: style issues for variable inputs

* fix: inbox style issue

* fix: some buttons not showing in drawer

* chore: fix formily antd version

* fix: incorrect details block pagination style [skip ci]

* fix: incorrect cron style after upgrade ant design [skip ci]

* fix: unit tests errors after upgrading ant design

* fix: update unit tests for collection select and color picker components

* fix: e2e tests errors

* fix: e2e tests failing

* fix: tests error

* fix: e2e test cases

* fix: some e2e tests failing

* fix: e2e testing errors

* fix: e2e build failing

* fix: update yarn.lock to avoid comment ci timeout

* Revert "fix: update yarn.lock to avoid comment ci timeout"

This reverts commit 6f117f57a0fd1d605de7ef18022c5c3e658e24af.

* chore: comment ci timeout

* chore: e2e

* fix: workflow approval e2e testing

* fix: e2e stable for some tests
2025-03-12 08:46:38 +08:00
Katherine
cf7131a36f
feat: add permission control for buttons with blacklist support (#6254)
* chore(versions): 😊 publish v1.6.0-alpha.24

* chore(versions): 😊 publish v1.6.0-alpha.25

* feat: support extending frontend filter operators (#6085)

* feat: operator extension

* fix: bug

* refactor: code improve

* fix: jsonLogic

---------

Co-authored-by: chenos <chenlinxh@gmail.com>

* refactor: remove registerOperators (#6224)

* refactor(plugin-workflow): trigger workflow action settings (#6143)

* refactor(plugin-workflow): move bind workflow settings to plugin

* refactor(plugin-block-workbench): move component to core

* refactor(plugin-block-workbench): adjust component api

* fix(plugin-workflow-action-trigger): fix test cases

* fix(plugin-workflow): fix component scope

* fix(plugin-workflow-action-trigger): fix test cases

* chore(versions): 😊 publish v1.6.0-alpha.26

* feat: support the extension of preset fields in collections (#6183)

* feat: support the extension of preset fields in collections

* fix: bug

* fix: bug

* fix: bug

* refactor: create collection

* fix: config

* fix: test case

* refactor: code improve

* refactor: code improve

* fix: bug

* fix: bug

---------

Co-authored-by: chenos <chenlinxh@gmail.com>

* feat: support for the extension of optional fields for Kanban, Calendar, and Formula Field plugins (#6076)

* feat: kanban field extention

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* feat: calender title fields

* feat: background color fields

* fix: bug

* fix: bug

* feat: formula field expression support field

* feat: preset fields

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* refactor: code improve

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* refactor: code improve

* revert: preset fields

* refactor: code improve

* refactor: code improve

* fix: bug

* fix: bug

* fix: bug

* refactor: code improve

* fix: bug

* refactor: code improve

* refactor: code improve

* fix: bug

* fix: locale

* refactor: code improve

* fix: bug

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: locale

* fix: test

* fix: bug

* fix: test

* fix: test

---------

Co-authored-by: chenos <chenlinxh@gmail.com>

* chore(versions): 😊 publish v1.6.0-alpha.27

* fix(data-source-main): update order

* fix: improve code

* fix: getFontColor (#6241)

* chore(versions): 😊 publish v1.6.0-alpha.28

* feat: add permission control for buttons with blacklist support

* fix: print action e2e test (#6256)

* fix: print action e2e test

* fix: test

* fix: bug

* refactor: custom request

* fix: merge bug

* fix: merge bug

* fix: merge bug

* fix: merge bug

* fix: bug

* fix: bug

* fix: bug

* test: e2e test

* fix: bug

* test: e2e test

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: test

---------

Co-authored-by: nocobase[bot] <179432756+nocobase[bot]@users.noreply.github.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Junyi <mytharcher@users.noreply.github.com>
2025-02-26 17:19:25 +08:00
gchust
3cbf81e5cd
chore: upgrade react types definition (#6278)
* chore: upgrade react type to 18

* chore: update ant design icons to avoid ts error

* fix: ts errors

* fix: ts error after upgrade react types

* fix: some icons ts error

* fix: improve type validation in bulk edit form item settings

* fix: lazy load component type error

* fix: some ts errors

* fix: unit test error after upgrade ant design icons

* chore: remove ts-ignore comment for startTransition
2025-02-25 09:48:13 +08:00
Katherine
9eb9d4e000
chore: user center extension (#6213)
* chore(versions): 😊 publish v1.6.0-alpha.24

* chore(versions): 😊 publish v1.6.0-alpha.25

* chore: user center extension

* refactor: change password

* chore: theme

* chore: language

* chore: code improve

* feat: support extending frontend filter operators (#6085)

* feat: operator extension

* fix: bug

* refactor: code improve

* fix: jsonLogic

---------

Co-authored-by: chenos <chenlinxh@gmail.com>

* refactor: remove registerOperators (#6224)

* refactor(plugin-workflow): trigger workflow action settings (#6143)

* refactor(plugin-workflow): move bind workflow settings to plugin

* refactor(plugin-block-workbench): move component to core

* refactor(plugin-block-workbench): adjust component api

* fix(plugin-workflow-action-trigger): fix test cases

* fix(plugin-workflow): fix component scope

* fix(plugin-workflow-action-trigger): fix test cases

* chore(versions): 😊 publish v1.6.0-alpha.26

* feat: support the extension of preset fields in collections (#6183)

* feat: support the extension of preset fields in collections

* fix: bug

* fix: bug

* fix: bug

* refactor: create collection

* fix: config

* fix: test case

* refactor: code improve

* refactor: code improve

* fix: bug

* fix: bug

---------

Co-authored-by: chenos <chenlinxh@gmail.com>

* feat: support for the extension of optional fields for Kanban, Calendar, and Formula Field plugins (#6076)

* feat: kanban field extention

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* feat: calender title fields

* feat: background color fields

* fix: bug

* fix: bug

* feat: formula field expression support field

* feat: preset fields

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* refactor: code improve

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* refactor: code improve

* revert: preset fields

* refactor: code improve

* refactor: code improve

* fix: bug

* fix: bug

* fix: bug

* refactor: code improve

* fix: bug

* refactor: code improve

* refactor: code improve

* fix: bug

* fix: locale

* refactor: code improve

* fix: bug

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: locale

* fix: test

* fix: bug

* fix: test

* fix: test

---------

Co-authored-by: chenos <chenlinxh@gmail.com>

* feat: inline mode

* chore(versions): 😊 publish v1.6.0-alpha.27

* fix(data-source-main): update order

* fix: bug

* fix: bug

* refactor: code improve

* fix: bug

* fix: code improve

* fix: bug

* fix: improve code

* fix: getFontColor (#6241)

* chore(versions): 😊 publish v1.6.0-alpha.28

* refactor: code improve

* fix: bug

* refactor: code improve

* fix: bug

* fix: print action e2e test (#6256)

* fix: print action e2e test

* fix: test

* fix: merge bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* refactor: update  package.json

* fix: bug

* feat: code improve

---------

Co-authored-by: nocobase[bot] <179432756+nocobase[bot]@users.noreply.github.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Junyi <mytharcher@users.noreply.github.com>
2025-02-24 10:11:42 +08:00
Zeke Zhang
64a7ca31b5 Merge branch 'main' into next 2025-01-10 11:10:36 +08:00
Zeke Zhang
e1889ef502
fix(variable): fix incorrect field display of current record in sub-details (#6030) 2025-01-10 10:56:52 +08:00
Zeke Zhang
0fa56d7407
perf(Table): remove Formily components to improve performance (#5738)
* perf(Table): remove Formily components to improve performance

* refactor: rename and modify comments

* fix(UIEditor): fix hover style

* fix(Table): fix style configuration option not showing

* fix(ellipsis): fix refresh issue

* fix: need to update field value

* perf(Table): improve performance of configuring top buttons

* refactor: skip style-related code when no style rules are set

* chore(e2e): fix e2e errors

* fix(e2e): fix e2e errors

* fix(workflow): fix refresh issue

* fix(workflow): fix refresh issue

* fix(Action.Container): fix refresh issue

* fix(drawer): fix refresh issue

* fix(Table): fix refresh issue

* fix(AssociationField): fix refresh issues

* fix(NocoBaseRecursionField): fix refresh code

* refactor(SchemaComponentContext): remove useless code

* refactor: rename RefreshContext to RefreshFieldSchemaContext

* refactor(useDataBlockRequestGetter): optimize comment

* refactor: rename and new refresh context

* fix(Table): fix some refresh issues

* fix(AssociationField): fix refresh issue

* refactor(Table): make code better

* fix: replace RecursionField with NocoBaseRecursionField

* refactor: remove useless code

* fix(Menu): fix draging issue

* fix: refresh entire page after drag and drop operation

* fix(Page): fix draging issue

* chore: fix build error

* fix(test): make unit tests pass

* chore(test): fix unit test

* chore(e2e): fix e2e errors

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

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

* chore(e2e): fix e2e errors

* fix(e2e): fix some e2e errors

* fix(SchemaComponent): fix onChange issue

* chore(e2e): make e2e more stable
2024-12-04 21:05:50 +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
Zeke Zhang
91b41ddb64
fix(zIndex): fix the issue of modal being obscured (#5701) 2024-11-21 14:01:45 +08:00
Zeke Zhang
3d512adade
feat(Table): add 'Hide column' configuration option (#5597)
* chore(deps): bump antd from 5.12.8 to 5.13.3

* chore: update yarn.lock

* chore: fix unit tests

* chore: make e2e tests pass

* feat(Table): add 'Hide column' configuration option

* test: add e2e test

* chore: fix build

* Revert "chore: make e2e tests pass"

This reverts commit a84a22c140c393c055136f90140ff74c657d8b28.

* Revert "chore: fix unit tests"

This reverts commit 436b001c9b3cf75ee2ddcc00915199b12e1d37d4.

* Revert "chore: update yarn.lock"

This reverts commit 0b960251c414a66d8a0a1274bd1cd3330093ccc0.

* Revert "chore(deps): bump antd from 5.12.8 to 5.13.3"

This reverts commit b165d557f68e3cb7dab4172e8f22f631decea277.

* chore: make e2e more stable
2024-11-07 20:47:14 +08:00
Zeke Zhang
d0a85bf2ab Merge branch 'main' into next 2024-10-21 09:01:53 +08:00
Zeke Zhang
dd71cdaaa4
feat(variable): add a new variable named Parent object (#5449)
* feat(variable): add a new variable named Parent object

* test: add tests and fix bug

* fix(linkageRules): fix issue with variable options in subtables

* test: add e2e test
2024-10-21 08:46:04 +08:00
Katherine
1649a1d692
feat: blocks support layout settings (#5429)
* feat: form and details blocks support layout settings

* refactor: kanban & list & grid card support layout

* fix: bug

* fix: bug

* fix: test

* fix: bug

* fix: style improve
2024-10-18 17:46:51 +08:00
Zeke Zhang
85a751fc77
fix(defaultValue): fix the issue of not displaying the value in the default value input box (#5400)
* chore: add comment

* fix(defaultValue): fix the issue where the default value input box does not display the set value

* test: add e2e test
2024-10-13 08:55:36 +08:00
chenos
c3e740b552
feat: public forms (#5142)
* feat: public forms plugin

* refactor: public form

* refactor: parseCollectionData

* refactor: parseToken

* refactor: handleEditPublicForm

* refactor: parseACL

* refactor: enable form

* refactor: copy link

* refactor: edable password

* refactor: qr code

* refactor: create public form

* refactor: create public form

* refactor: bulk destroy

* fix: bug

* refactor: support nester form

* refactor: show message under control

* refactor: support bulk destroy

* refactor: support bulk destroy

* refactor: adapt to mobile devices

* refactor: settings

* refactor: locale improve

* refactor: parseAcl

* refactor: parseAcl

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* refactor: dataSourceCollectionCascaderReadPretty

* fix: bug

* fix: bug

* fix: bug

* fix: collection template

* fix: style improve

* refactor: locale improve

* refactor: parseToken

* fix: bug

* style: brand style improve

* refactor: settings

* fix: bug

* fix: bug

* refactor: locale improve

* refactor: locale improve

* refactor: locale improve

* refactor: locale improve

* refactor: package.json

* refactor: create form schema

* refactor: create form schema

* fix: bug

* fix: parseToken

* fix: publicFormsSchema

* fix: publicFormsSchema

* fix: useSubmitActionProps

* fix: useSubmitActionProps

* fix: password

* fix: password

* refactor: custom request

* refactor: variable for public form

* style: style improve

* fix: bug

* style: style improve

* style: style improve

* refactor: filter

* refactor: locale improve

* refactor: locale improve

* refactor: locale improve

* fix: bug

---------

Co-authored-by: katherinehhh <katherine_15995@163.com>
2024-09-26 17:12:16 +08:00
Zeke Zhang
6767e59c02
feat(linkageRules): add support for linkage rules in sub-tables and sub-forms (#5159)
* refactor(linkageRules): extract common function

* refactor: extract forEachLinkageRule

* feat: bind linkage rules to fields

* feat(linkageRules): enable setting linkage rules for sub-tables and sub-forms

* feat(variable): add 'Current object' variable to linkage rules

* fix: make e2e tests pass

* fix: adapt read pretty

* fix: fix the block that does not refresh after changing linkage rules

* fix: improve styling for disabled fields
2024-09-07 22:53:23 +08:00
katherinehhh
c66cf82d9f Merge branch 'main' into next 2024-08-22 16:57:20 +08:00
Katherine
a0643713db
fix: button field assignment to only update visible fields (#5104) 2024-08-22 15:06:02 +08:00
Zeke Zhang
a429b7a4b3
feat: adapt desktop blocks to mobile (#4945)
* feat: register workflow blocks to mobile page

* fix: should hide Divider in subpage

* refactor: rename 'Data blocks' to 'Desktop data blocks'

* feat: adapt blocks within subpages for mobile

* feat: adapt Filter action

* feat: isolate block templates between desktop and mobile

* refactor: export storePopupContext

* feat: support popup URL for 'Workflow todos'

* chore: update e2e tests

* chore: make e2e tests pass

* chore: add comment

* fix: make popup style of duplicate and bulk edit right

* fix(GridCard): ensure single column display in mobile

* fix: fix goBack

* refactor: make more stable

* refactor: change name for add blocks menu

* fix: fix block template for mobile

* feat: adapt Apply action of approval block to mobile

* fix(Map): use window.open to redirect to configuration page

* Revert "fix(Map): use window.open to redirect to configuration page"

This reverts commit 248ae8b68cfd78415184dfab2442081363872fb0.

* fix: redirect to the main app page when URL is starts with 'admin'

* fix(Link): make path right

* fix: refactor Popup to fix draging bug

* fix: should auto refresh when submiting in Manual popup

* fix(Action.Container): should return null when visible is false (T-4949)

* fix: increase z-index of subpage to cover Amap elements

* fix: fix tab switching not work (T-4985)

* fix(Link): should be change Link's URL of all table rows after editing URL (T-4981)

* fix: fix URL not changed after closing popup (T-4987)

* fix: make unit tests pass

* fix: make unit tests pass

* chore: get e2e tests to pass

* fix: use Popup to display data picker (T-4965)

* fix: use mobile Popup in some bloks

* refactor: use local isMobile

* fix: increase Popup's z-index to cover subpage

* fix: optimize Popup for mobile

* style: createRecordAction style improve

* refactor(AssociationField): get Component from AssociationFieldModeProvider

* refactor(InternalPopoverNester): support custom Container component

* feat: adapt PopoverNester to mobile

* chore: update unit tests

* fix: get e2e tests to pass

* chore: make e2e more stable

* refactor: move mobile-action-page in adaptor-of-desktop folder

* fix: get the z-index of popups and subpages correct

* feat: unify the styles of popups

* chore: make e2e more stable

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: katherinehhh <katherine_15995@163.com>
2024-08-07 14:25:40 +08:00
Zeke Zhang
08f25c2336 Merge branch 'main' into next 2024-08-02 14:29:01 +08:00
Zeke Zhang
638b17dee1
fix: enable date variables in filter forms (#4916)
* fix: enable date variables in filter forms

* fix: resolve error when clicking reset in filter form
2024-08-02 14:23:37 +08:00
GitHub Actions Bot
09e3cb4996 Merge branch 'main' into next 2024-07-25 02:50:03 +00:00
Zeke Zhang
96e538ab54
fix: clear default value immediately after field deletion (#4915) 2024-07-25 10:49:46 +08:00
jack zhang
61e9dd5cc1
feat: plugin mobile v2 (#4777)
* feat: init

* fix: mobile layout

* feat: more code

* feat: improve navigate bar

* fix: mobile title

* feat: improve code

* fix: add settings and initailzer

* fix: settings

* fix: tabbar items settings

* feat: tabbar initializer

* fix: api

* fix: styles

* feat: navbar

* feat: navigate bar tabs initializer

* feat: navigate bar tab settings

* feat: navigation bar actions

* fix: bug

* fix: bug

* fix: bug

* fix: tabbar active

* fix: bug

* fix: mobile login and layout

* fix: update version

* fix: build error

* feat: plugin settings support link

* fix: add mobile meta

* fix: desktop mode

* fix: remove old code and change collection name and mobile path

* fix: tabbar and tabs initialer layout

* fix: initializer style

* fix: adjust schema position

* fix: mobile style

* fix: delete relation resource and home page bug

* fix: support multi app

* fix: not found page

* fix: js bridge

* fix: bug

* fix: navigation bar schema flat

* fix: navigation bar action style

* fix: change version

* fix: mobile meta and real mobile test

* refactor: folder and name

* fix: navigation bar sticky and zIndex

* fix: full mobile schema

* fix: mobile readme and package.json

* fix: e2e bug

* fix: bug

* fix: tabbar style on productino

* fix: bug

* fix: rename MobileTabBar.Page

* fix: support tabbar sort

* fix: support  page tabs sort

* fix: i18n

* fix: settings utils import bug

* docs: api doc

* fix: qrcode refresh

* test: unit tests

* fix: bug

* fix: unit test

* fix: build bug

* fix: e2e test

* fix: overflow scroll

* fix: bug

* fix: scroll and overflow

* fix: bug

* fix: e2e expect await

* fix: e2e bug

* fix: bug

* fix: change name

* fix: add more e2e

* fix: page header

* fix: tab support icon

* fix: bug

* fix: bug

* fix: docs

* fix(T-4811): scroll bar too long

* fix(T-4810): desktop mode

* fix: e2e

* fix(T-4812): title empty

* fix: unit test

* feat: hide Open mode option in mobile mode

* feat: change default value of Open mode on mobile

* feat: add OpenModeProvider

* feat: support page mode

* fix: fix build

* test: update unit tests

* chore: remove pro-plugins

* fix: bug

* fix(T-4812): title is required

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* refactor: remove z-index

* refactor: make better for subpages

* fix: drag bug

* fix: bug

* fix: theme bug

* fix(T-4859): create tab bar title empty

* fix(T-4857): action too long

* fix: e2e bug

* fix: remove comment

* fix: bug

* fix: theme bug

* fix: should provider modal component

* fix: bug

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Zeke Zhang <958414905@qq.com>
2024-07-22 14:06:36 +08:00
Sheldon Guo
adb72738f9
fix: fix custom request linkage rules problem (#4913) 2024-07-21 10:23:04 +08:00
Junyi
0ba1bca5d8
feat(client): add disabled option to props of SchemaSettingsItem (#4817)
* feat(client): add disabled option to props of SchemaSettingsItem

* docs(client): add doc and demo

* feat(client): add disabled option to SchemaInitializerItem
2024-07-05 13:28:59 +08:00
Sheldon Guo
95749f3d88
feat(client): support linkage style in table and form (#4467)
* feat: support linkage style in table and form

* fix: removed linkage rule in table column, fixed formitem style not refreshing, use colorpicker

* chore: remove unused functions and improve effect execution performance

* feat: add some e2e test for linkage style in table, extract linkage
  style logic to hooks

* feat: add some e2e test

* fix: fix some e2e test error

* test: fix e2e tests

* fix: replace deprecated api

* chore: give color picker a empty string as default value

* chore: improve some code

* refactor: remove useless code

* fix:  fix some incompatibility problem of old schema

* fix: fix some e2e test errors

---------

Co-authored-by: Zeke Zhang <958414905@qq.com>
2024-07-01 09:13:37 +08:00
Zeke Zhang
05cf9986b0
feat: enable direct dialog opening via URL and support for page mode (#4706)
* refactor: optimize page tabs routing

* test: add e2e test for page tabs

* feat: add popup routing

* fix: resolve nested issue

* refactor: rename file utils to pagePopupUtils

* perf: enhance animation and overall performance

* fix: fix filterByTK

* fix(sourceId): resolve error when sourceId is undefined

* fix: fix List and GridCard

* fix: fix params not fresh

* fix: fix parent record

* fix: resolve the issue on block data not refreshing after popup closure

* feat: bind tab with URL in popups

* feat(sub-page): enable popup to open in page mode

* chore: optimize

* feat: support association fields

* fix: address the issue of no data in associaiton field

* fix: resolve the issue with opening nested dialog in association field

* fix: fix the issue of dialog content not refreshing

* perf: use useNavigateNoUpdate to replace useNavigate

* perf: enhance popups performance by avoiding unnecessary rendering

* fix: fix tab page

* fix: fix bulk edit action

* chore: fix unit test

* chore: fix unit tests

* fix: fix bug to pass e2e tests

* chore: fix build

* fix: fix bugs to pass e2e tests

* chore: avoid crashing

* chore: make e2e tests pass

* chore: make e2e tests pass

* chore: fix unit tests

* fix(multi-app): fix known issues

* fix(Duplicate): should no page mode

* chore: fix build

* fix(mobile): fix known issues

* fix: fix open mode of Add new

* refactor: rename 'popupUid' to 'popupuid'

* refactor: rename 'subPageUid' tp 'subpageuid'

* refactor(subpage): simplify configuration of router

* fix(variable): refresh data after value change

* test: add e2e test for sub page

* refactor: refactor and add tests

* fix: fix association field

* refactor(subPage): avoid blank page occurrences

* chore: fix unit tests

* fix: correct first-click context setting for association fields

* refactor: use Action's uid for subpage

* refactor: rename x-nb-popup-context to x-action-context and move it to Action schema

* feat: add context during the creation of actions

* chore: fix build

* chore: make e2e tests pass

* fix(addChild): fix context of Add child

* fix: avoid loss or query string

* fix: avoid including 'popups' in the path

* fix: resolve issue with popup variables and add tests

* chore(e2e): fix e2e test

* fix(sideMenu): resolve the disappearing sidebar issue and add tests

* chore(e2e): fix e2e test

* fix: should refresh block data after mutiple popups closed

* chore: fix e2e test

* fix(associationField): fix wrong context

* fix: address issue with special characters
2024-06-30 23:25:01 +08:00
Zeke Zhang
99a0fcae1c
feat(variable): add a new variable named 'Parent popup record' (#4748)
* refactor: extract CurrentPopupRecordProvider component

* refactor: rename

* feat(variable): add a new variable named 'Parent popup record'

* chore: add translation

* fix: fix known issues

* test: add e2e tests
2024-06-26 08:59:01 +08:00
jack zhang
a5fc22c6b0
feat: tree block (#4566)
* feat: tree block

* fix: remove showSettings

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: table tree expand

* fix: bug

* fix: connection bug T-4501

* fix: template settings bug
2024-06-11 22:53:04 +08:00
Katherine
ec15f9e35a
feat: iframe support variables (#4512)
* feat: support link action

* feat(client): add new variable named 'URL search params'

* chore: add translation

* fix: avoid crashing

* chore: fix failed test

* feat: link action

* feat: link action

* fix: remove filter parameters with undefined values

* feat: link action

* feat: add support for default values in filter form fields

* refactor: code improve

* refactor: locale improve

* refactor: locale improve

* test: add e2e test

* refactor: locale improve

* refactor: locale improve

* fix: resolve operation issues with variables

* refactor: code improve

* chore: enable direct selection of variables as default value

* chore: use qs to parse query string

* feat: iframe support variables

* fix: menu selectKeys (T-4373)

* feat: iframe support variables

* refactor: use qs to stringify search params

* refactor: locale improve

* refactor: locale improve

* chore: fix failed tests

* fix: bug

* fix: resolve issue where setting Data scope is not work

* chore: fix failed e2e tests

* chore: make e2e tests more stable

* chore: add translation

* chore: make e2e tests more stable

* fix: resolve the issue of error when saving data scope

* feat: trigger variable parsing after context change

* test: add unit tests

* test: add e2e test

* refactor: extract template

* chore: fix failed unit tests

* chore: fix failed e2e test

* fix: bug

* fix: bug

* fix(Link): hide linkage rules in top link (T-4410)

* fix: bug

* fix: bug

* fix: bug

* refactor: extract commonOptions

* fix: remove 'Current record' variable

* chore: fix unit tests

* fix: bug

* chore: make unit tests pass

* fix: fix build

* fix(e2e): resolve errors due to compilation issues

---------

Co-authored-by: Zeke Zhang <958414905@qq.com>
Co-authored-by: jack zhang <1098626505@qq.com>
2024-06-05 15:25:04 +08:00
Katherine
11343bc9be
fix: missing app context in modal (#4457)
* fix: useCurrentFormVariable

* test: table action row action linkage by row data

* test: detail block support linkage rule

* test: detail block support linkage rule

* test: detail block support linkage rule

* fix: missing app context in modal
2024-05-23 09:33:55 +08:00
Katherine
304f87bee2
fix: useCurrentFormVariable (#4428)
* refactor: useCurrentFormVariable support detail block

* fix: useCurrentFormVariable

* fix: bug
2024-05-20 20:55:30 +08:00
Zeke Zhang
ef8e4aed48
fix(filter-form): fix operator not valid in block templates (#4390)
* fix(filter-form): fix operator not valid in block templates

* test: add e2e test

* test: clear data templates

* chore: fix e2e tests

* chore: stash

* chore: change import path to fix unit tests

* chore: change import path to fix unit tests

* chore: fix build
2024-05-20 16:50:34 +08:00
Katherine
a5ede09a2a
fix: custom request action should support linkage rule setting (#4410) 2024-05-20 15:01:10 +08:00
katherinehhh
2ec128c63f
feat: detail block support linkage rule (#4221)
* feat: detail block support linkage rule

* fix: bug

* fix: bug

* test: e2e test
2024-05-07 09:45:28 +08:00
jack zhang
62b2b5c68b
chore: add copyright information to the file header (#4028)
* fix: add license code

* fix: bug

* fix: bug

* fix: upgrade

* fix: improve

* chore: add copyright information to the file header

* fix: d.ts bug

* fix: bug

* fix: e2e bug

* fix: merge main

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2024-04-30 15:51:31 +08:00
jack zhang
229e5d1a40
client unit test (#4150)
* fix: add more unit test
2024-04-24 20:33:14 +08:00
Zeke Zhang
fd4c9cb288
chore: deprecate the current record variable from the form (#4063)
* chore: remove the current record variable from the form

* chore: fix failed e2e

* refactor(VariableInput): support for setting the react node for label

* feat: support to show tooltip

* chore: stash

* chore: add translation

* chore: add translation

* chore: fix expresion

* test: add e2e for deprecated variables

* refactor: migrate file

* chore: make e2e pass

* chore: make e2e pass

* chore: make e2e pass

* chore: adjust

* chore: natch

* chore: revert match
2024-04-23 21:18:27 +08:00
Zeke Zhang
3d857d2e69
fix(variable): missing variables and invalid translations (#4054)
* fix(variable):  missing variables and invalid translations

* refactor: better

* fix: should display current record variable

* fix: template

* chore: add deps

* chore: add e2e for table view

* fix: current record variable

* chore: avoid error

* fix: bugs

* chore: fix failed e2e

* chore: fix e2e

* fix: colection name
2024-04-16 22:50:52 +08:00
Zeke Zhang
0274e65cec
feat(Variable): add a new variable (#4025)
* feat: add DeclareVariable

* feat: add a new variable

* test: add e2e

* fix: current form variable

* chore: rename '弹窗记录' to 'Current popup record'

* fix(Details): fix data scope error

* fix(Calendar): fix data scope

* fix: varaible's data souce

* fix: data souce
2024-04-15 14:50:38 +08:00