4 Commits

Author SHA1 Message Date
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
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
Dunqing
bf099a4364
feat(plugin-custom-request): support better custom-request (#2536)
* feat(plugin-custom-request): support better custom-request

* feat: re implement custom request

* feat: complete configuration

* feat: support request in server

* feat: improve usage

* feat: support request

* feat: remove customRequests when action is deleted

* feat: avoid override

* fix: the data is not latest

* feat: should autoSize in url

* feat: support title and acl

* fix: i18n

* feat: support display title

* feat: i18n supports

* refactor: acl check

* feat: better method

* fix: style

* fix: remove unused code

* fix: acl

* docs: update

* fix: upgrade

* feat: hidden skip validator option and display should display data

* feat: support root access all custom-request

* chore: update deps

* fix: limit height of modal body, Close T-1682

* fix: parse incorrect, Close T-1686

* fix: i18n, Close T-1684

* fix: linkage rules incorrect, Close T-1719

* fix: missing pass appends, Close T-1720

* fix: should update initialValues when it changed

* feat: update better message

* fix: permission incorrect

* test: setup

* refactor: fix locale

* chore: update deps

* feat: move to @nocobase

* fix: dir

* fix: ui.*

* feat: add listByCurrentRole action, add decorator instead of acl

* fix: remove title field

* feat: compatible pervious version

* feat: support passing x-* headers to custom-request

* feat: support list all keys

* fix: support baseURL, close T-2090

* fix: remove unused code

* fix: sqlite, Close T-2092

* fix: close T-2089

* feat: alert error when request settings doesn't configure, Close T-2101

* feat: improve message

* chore: fix eslint error

* fix: fix version of plugin-custom-request

* fix: build error

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Rain <958414905@qq.com>
2023-10-13 15:16:50 +08:00
被雨水过滤的空气-Rairn
fd36c970bc
refactor(client)!: upgrade antd to v5 (#2078)
* refactor: change moment to dayjs

* refactor: remove antd css

* refactor: change @formily/antd to @formily/antd-v5

* chore: add dep

* chore: upgrade babel/core and typescript

* refactor: rename moment to dayjs

* fix(dayjs): add plugins

* refactor: fix type errors

* refactor: change default export to named export

* chore: upgrade ts-loader

* refactor: rename moment to dayjs

* refactor: fix type errors

* chore: upgrade deps for build

* fix: fix build errors

* fix: add antd reset css

* fix: fix build error

* chore: add __builtins__

* chore: optimize genStyleHook

* refactor(Calendar): less to css-in-js

* refactor(acl): less to css-in-js

* refactor(board): less to css-in-js

* chore: add antd-style

* refactor(acl): use antd-style

* refactor(board): use antd-style

* refactor: schema-initializer

* refactor: refactor genStyleHook

* refactor: kanban

* refactor: filter

* refactor: upload

* refactor: markdown

* refactor: rename className to componentCls

* refactor: rich-text

* style: fix style

* fix: fix merge error

* chore: update yarn.lock

* chore: upgrade formily

* style: fix pageHeader

* style: fix add button style

* style: fix header menu color

* chore: update yarn.lock

* chore: upgrade deps

* test: fix tests

* test: fix tests

* fix: fix build error

* fix: fix style of plugin doc

* fix: fix tests

* fix: fix drag bug

* refactor: remove useless code

* fix: fix Modal style (T-621)

* fix: fix box-shadow of subMenu (T-622)

* fix: fix style of linkage rules (T-623)

* fix: fix style of DataTemplate

* fix: fix style of variable (T-620)

* chore: update yarn.lock

* fix: avoid test failed

* test: fix error

* chore: update yarn.lock

* test: fix error

* test(dayjs): fix error

* fix: should delay show menu to avoid the menu not hidden

* test: skip failure test

* fix(mouseEnterDelay): change default value from 100 to 150

* test: avoid failed

* refactor: rename component names

* chore: optimize types

* chore: lock antd version

* fix: fix build

* fix: fix build

* fix: layout bg color use variable

* fix: fix style of buttons

* feat: remove theme config

* fix(calendar): fix style

* fix(mobile-client): fix dialog style

* fix: fix test

* refactor: make code gooder

* chore: change code

* fix: fix T-847

* fix: fix T-845

* fix: display block

* fix: danger button

* refactor: make tester better

* fix: change moment to dayjs

* fix: build error

* fix: import dayjs/plugin/isSameOrBefore

* refactor: downgrade @testing-library/react to fix warning

* fix: fix CI

* fix: upgrade deps to fix build

* fix: fix test

* fix: skip some filed tests to avoid error

* fix: fix build errors that maked by merge code

* refactor: remove moment

* fix: error

* feat: update doc

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-07-08 08:26:27 +08:00