91 Commits

Author SHA1 Message Date
YANG QIA
c1b55cece9
fix(data-vi): chart blocks do not display when added to the popups of action panel (#6198)
* fix(data-vi): charts do not display when added to the popups of action panel

* chore: add optional chain
2025-02-11 22:17:04 +08:00
nocobase[bot]
0ef52caf6f Merge branch 'main' into next 2025-01-16 13:17:10 +00:00
xilesun
cf26388199 fix(data-vi): issue of filtering datetime fields 2025-01-16 21:16:15 +08:00
nocobase[bot]
6ecf341256 Merge branch 'main' into next 2025-01-02 15:37:20 +00:00
YANG QIA
72255250fa
fix(data-vi): "Current popup record" variable issue (#5984) 2025-01-02 23:36:55 +08:00
mahuantest
7f7a1fdbfb
feat(data-visualization): add offset param to charts-query (#5911)
* feat(locale): add offset param to charts-query(backend)

* feat(locale): add offset param to charts-query(frontend)

---------

Co-authored-by: mahuan <1007409254@qq.com>
2024-12-20 11:41:08 +08:00
YANG QIA
f80e2107a1
fix(data-vi): height issue (#5879) 2024-12-13 10:05:15 +08:00
nocobase[bot]
772064525a Merge branch 'main' into next 2024-12-12 07:56:27 +00:00
YANG QIA
de323cf6f8
fix(data-vi): allows to use foreign keys in query configuration of charts (#5869) 2024-12-12 15:56:00 +08:00
Zeke Zhang
fa36458755 fix(chart): fix refresh issue 2024-12-11 12:35:48 +08:00
YANG QIA
7b81685179
fix(data-vi): issue where filter field components of chart blocks not rendering (#5769)
* fix(data-vi): issue where filter field components of chart blocks not rendering

* chore: update
2024-12-03 11:49:40 +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]
73438d505c Merge branch 'main' into next 2024-11-14 08:54:14 +00:00
YANG QIA
b1fcfe0b21
fix(data-vi): issue where data transformations do not work on tooltip in dual-axies charts (#5649) 2024-11-14 16:53:50 +08:00
Katherine
6badfd8983
style: optimize mobile styling for reduced field spacing and a more compact display (#5605)
* style: mobile style improve

* style: action penal style improve

* style: style improve

* style: style improve

* style: style improve

* style: style improve

* style: style improve

* style: style improve

* style: style improve

* style: style improve

* style: style improve
2024-11-12 15:05:00 +08:00
nocobase[bot]
6bd15fb558 Merge branch 'main' into next 2024-10-13 08:58:51 +00:00
Zeke Zhang
30febb30be
fix(dateVariable): fix default value issue in chart filter block (#5405)
* fix(dateVariable): fix default value issue in chart filter block

* test: add e2e test

* chore: update unit test
2024-10-13 16:58:32 +08:00
YANG QIA
ce74a77e96
feat(data-vi): optimize (#5299)
* refactor(data-vi): add echarts

* fix: echart

* feat: echarts

* chore: add migration

* feat: update

* feat: dark theme

* feat: add configuration

* chore: update

* chore: update

* fix: bug

* chore: update

* chore: update

* fix: test

* fix: build

* chore: update

* chore: locale
2024-10-08 20:15:00 +08:00
xilesun
9db63710bb Merge branch 'main' into next 2024-09-23 13:06:52 +08:00
YANG QIA
6fc8993ff0
fix(data-vi): fix incorrect styles when using themes with dark mode (#5302) 2024-09-23 10:49:21 +08:00
YANG QIA
8992bb6a99
fix(data-vi): support for formatting dateOnly, datetimeNoTz, unixTimestamp fields in chart dimension configuration (#5261)
* fix(data-vi): support for formatting dateOnly, unixTimestamp fields in chart dimension configuration

* fix: test

* fix: timezone

* fix: test

* fix: test
2024-09-13 13:24:29 +08:00
YANG QIA
a04aeb17e6
feat(data-vi): support for adding chart blocks in popups/drawers/sub-pages (#5248) 2024-09-11 10:17:01 +08:00
GitHub Actions Bot
50e6dc296e Merge branch 'main' into next 2024-09-09 16:02:27 +00:00
YANG QIA
011bba4529
fix(data-vi): fix incorrect data source context when multiple data sources exist (#5237) 2024-09-09 23:24:57 +08:00
GitHub Actions Bot
c6e00e0404 Merge branch 'main' into next 2024-09-06 01:36:43 +00:00
YANG QIA
bd0a123cd6
fix(data-vi): issue of getting wrong value when aggregating select fields (#5214)
* fix(data-vi): issue of getting wrong value when aggregating select fields

* test: add test case
2024-09-06 09:28:13 +08:00
YANG QIA
61f95f78c2
feat(data-vi): allow to add refresh button and set auto refresh interval (#5112)
* feat(data-vi): allow to set auto refresh interval for charts

* feat(data-vi): allow to add refresh button and set auto refresh interval

* fix: build

* fix: bug

* chore: optimize global auto refresh

* chore: remove console.log

* fix: remove console log
2024-09-03 14:46:43 +08:00
YANG QIA
afcb64ad23
fix(data-vi): issue of parsing variables in filter block (#5157) 2024-08-30 13:18:39 +08:00
Zeke Zhang
67d2f85a99
fix(defaultValue): ignores variable values that do not match the current field (#5122)
* refactor(variable): refactor parseVariable to support return more context

* fix(defaultValue): ignore no matching value

* fix: make unit tests pass

* chore: fix unit test
2024-08-28 11:53:52 +08:00
GitHub Actions Bot
c167435583 Merge branch 'main' into next 2024-08-23 08:16:16 +00:00
YANG QIA
94aa8df382
fix(data-vi): allow to map integer enum value (#5115) 2024-08-23 15:47:11 +08:00
YANG QIA
be2b7faa1a
fix(data-vi): add size settings for pie, bar and dualAxes (#5113) 2024-08-23 10:55:10 +08:00
YANG QIA
ba95bfafe2
feat: allow to set distinct for query measures (#5091) 2024-08-20 16:47:03 +08:00
YANG QIA
b9d1604eb8
feat(data-vi): allow to set link for statistic chart (#5073) 2024-08-16 15:50:02 +08:00
YANG QIA
157d9f03e3
fix(data-vi): issue of fixed height setting has no effect (#4960) 2024-07-29 10:57:53 +08:00
YANG QIA
de1994521a
feat(data-vi): optimize style settings for chart blocks (#4940)
* feat(data-vi): adapt styles to mobile client

* fix: style

* chore: update

* fix: bug

* fix: bug
2024-07-24 21:34:52 +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
Zeke Zhang
c2260c76c0
feat(variable): add a new variable named 'API token' (#4850)
* feat(variable): add a variable named 'Current token'

* refactor: rename to 'API Token'

* test: add e2e tests

* chore: update unit test
2024-07-09 14:42:12 +08:00
chenos
4517dc1105
fix: full height (#4759)
* fix: full height

* fix: useFormHeight

* fix: useFormHeight

* fix: bug

---------

Co-authored-by: katherinehhh <katherine_15995@163.com>
2024-06-26 21:21:24 +08:00
YANG QIA
de0fb26609
fix(data-vi): custom filter conditions are not applied (#4671)
* fix(data-vi): custom filter conditions are not applied

* fix: default value
2024-06-15 13:35:27 +08:00
Katherine
d2b2ac69e6
fix: chart block actionBar style (#4666) 2024-06-14 20:27:34 +08:00
YANG QIA
5a3466a73a
feat(data-vi): allows to use json5 in chart json config (#4668) 2024-06-14 20:19:22 +08:00
xilesun
8e20aac7a7 fix(data-vi): js expressions in advanced config is not saved 2024-06-14 19:52:48 +08:00
YANG QIA
34108f1fcb
feat(data-vi): support for using url params and current role variables (#4586)
* feat(data-vi): support for using url params and current role variable

* fix: bug
2024-06-07 11:43:11 +08:00
YANG QIA
f5079af61e
fix(data-vi): field component invisible when setting default value for filter field (#4509) 2024-05-28 15:26:01 +08:00
YANG QIA
afa9f3faa4
fix(data-vi): transform values of multiple selection fields to labels (#4398) 2024-05-19 15:23:42 +08:00
YANG QIA
299c5a14cb
fix(data-vi): the custom tooltip for the pie chart is not working (#4392) 2024-05-18 22:06:06 +08:00
Zeke Zhang
ec558e3b98
refactor: flatten and merge Actions (#4336)
* chore: remove switch

* refactor: ensure compatibility with old code

* refactor: flatten Actions

* refactor: extract options

* refactor: remove isCusomeizeCreate

* refactor: merge addNew and addRecord actions

* refactor: merge Submit and Save record actions

* refactor: extract common options

* feat: add tow props called 'currentText' and 'otherText'

* chore: fix failed tests

* refactor: add ActionInitializerItem to replace ActionInitializer

* chore: fix failed tests

* fix: fix T-4284

* fix: fix inherit

* chore: fix failed test

* chore: add Switch

* chore: add Switch for delete button

* test: e2ePageObjectModel

---------

Co-authored-by: hongboji <j414562100@qq.com>
2024-05-17 09:37:23 +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