90 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
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
mytharcher
601dd7217c Merge branch 'T-4910' into develop 2024-11-15 14:34:28 +08:00
mytharcher
5824f1fb15 Merge branch 'next' into T-4910 2024-11-15 11:03:16 +08:00
ChengLei Shao
9c9e32c453
fix: acl meta with multi filter target keys (#5598)
* fix: acl meta with multi filter target keys

* chore: acl meta
2024-11-06 13:16:15 +08:00
ChengLei Shao
aad8fd7bab
chore: add middleware name (#5594)
* chore: middleware name

* chore: add name to middleware

* chore: logging
2024-11-06 00:29:06 +08:00
Katherine
c639e7d403
feat: configure fields support serach and filter fields (#5471)
* feat: configure fields support serach and filter fields

* feat: configure fields support serach and filter fields

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: test

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug
2024-11-01 14:28:46 +08:00
nocobase[bot]
0564b6d674 Merge branch 'main' into next 2024-10-26 02:56:30 +00:00
ChengLei Shao
da172317eb
chore: remove count query in acl (#5496)
* chore: remove count query in acl

* chore: skip report permission error when destroy with big table

* chore: skip batch destory action permission check

* chore: test

* chore: test

* chore: test
2024-10-26 10:54:47 +08:00
mahuan
09b86bf18b refactor: standardize localization file name 2024-10-22 23:02:52 +08:00
mytharcher
2ac5457583 Merge branch 'next' into T-4910 2024-10-14 17:23:56 +08:00
mytharcher
5406d6fa22 Merge branch 'next' into develop 2024-10-12 11:18:46 +08:00
ChengLei Shao
0e39579ae6
fix: sync role snippets (#5371) 2024-10-08 21:20:35 +08:00
mytharcher
ca214dff10 Merge branch 'main' into next 2024-09-25 20:34:52 +08:00
mahuantest
2bde4a3176
feat(locale): update and improve Japanese translations in ja_JP files (#5292)
* feat(locale): update and improve Japanese translations in ja_JP files

* fix(locale): correct japanese translations in ja_JP files

---------

Co-authored-by: mahuan <1007409254@qq.com>
2024-09-24 14:50:13 +08:00
Zeke Zhang
ffc2982380
feat(acl): add support for configuring mobile menu permissions (#5174)
* refactor(plugin-acl): extensible support for role permissions configuration UI

* feat: complete the configuration UI

* feat: complete the backend section

* chore: update unit tests

* chore: add translation

* chore: change 'Menu' to 'Desktop menu'

* refactor: use 'extendCollection' instead of 'this.db.extendCollection'

* chore: update acl e2e test

* test: add e2e tests

* fix: should refresh data when changing tab

* fix(menu): should hide children when children only have one

* feat: show tip when no pages find

* feat(tabBar): supports left and right swiping

* refactor: improve code

* chore: make e2e test pass

* chore: add migration

* fix: should use tk instead of values

* chore: nothing

* fix: improve

* refactor: rename mobileMenuUiSchemas to mobileRoutes

* refactor: add onDelete

* fix: change snippet to 'pm.mobile' from 'pm.mobile.roles'

* refactor: extract nested loop to outside

* refactor: use db.on('mobileRoutes:afterCreate')

* refactor: simplify code logic

* chore: fix build

* fix: improve code

* chore: fix build

* feat: hide menu configuration UI when no permission

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2024-09-21 23:04:26 +08:00
nocobase[bot]
2b20c8aaf0 Merge branch 'main' into next 2024-09-06 08:32:37 +00:00
Zeke Zhang
44275b5cd7
refactor(plugin-acl): extensible support for role permissions configuration UI (#5216) 2024-09-06 16:20:07 +08:00
YANG QIA
bd942342b0
fix(auth): should set user token as invalid when changing password (#5212)
* fix(auth): should log user out when changing password

* fix: add passwordChangeTZ

* fix: clear local token when token is invalid

* fix: test

* fix: field name
2024-09-06 14:43:14 +08:00
Junyi
02c3a2be25
feat(server): add lock manager to server (for testing on dev) (#5144)
* feat: pub/sub manager

* fix: test case

* fix: test error

* fix: test error

* feat: skip self

* feat: debounce

* feat: improve code

* fix: test error

* feat: test cases

* feat: test cases

* fix: improve code

* fix: improve code

* feat: improve code

* fix: improve code

* fix: test case

* fix: typo

* fix: createPubSubManager

* fix: delete messageHandlers

* fix: test case

* feat: improve code

* fix: test error

* fix: test error

* refactor(server): adapt to new api and fix test

* fix(plugin-data-source-main): fix changed api

* fix: test error

* fix: remove sync-manager test case

* chore(server): remove legacy code

* fix(plugin-workflow): fix send sync message with transaction

* chore(server): remove legacy code

* chore(server): remove legacy code

* fix(plugin-workflow): fix test case

* fix(plugin-workflow): fix test case

* test(server): test skip-install parameter in cluster

* test(server): avoid multiple installation in cluster

* test(server): installation in cluster

* feat: sync collection using sync manager (#4920)

* chore: sync collection message

* chore: sync acl

* fix: typo

* chore: sync data source

* chore: remove collection

* fix: typo

* fix: test

* chore: sync sub app event

* chore: sync collection test

* chore: collection test

* chore: test

* chore: data source sync message

* chore: sync multi app

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* chore: error message

* fix(server): add type and remove log

* fix(server): not to publish when adpater is not connected

* refactor(server): refine types

* chore: timeout

* fix(server): fix pubSubManager options

* test(ci): test ci checkout

* feat(server): add lock manager to server

* feat: update ci

* feat: pub/sub manager (#4933)

* feat: pub/sub manager

* fix: test case

* fix: test error

* fix: test error

* feat: skip self

* feat: debounce

* feat: improve code

* fix: test error

* feat: test cases

* feat: test cases

* fix: improve code

* fix: improve code

* feat: improve code

* fix: improve code

* fix: test case

* fix: typo

* fix: createPubSubManager

* fix: delete messageHandlers

* fix: test case

* feat: improve code

* fix: test error

* fix: test error

* refactor(server): adapt to new api and fix test

* fix(plugin-data-source-main): fix changed api

* fix: test error

* fix: remove sync-manager test case

* chore(server): remove legacy code

* fix(plugin-workflow): fix send sync message with transaction

* chore(server): remove legacy code

* chore(server): remove legacy code

* fix(plugin-workflow): fix test case

* fix(plugin-workflow): fix test case

* test(server): test skip-install parameter in cluster

* test(server): avoid multiple installation in cluster

* test(server): installation in cluster

* feat: sync collection using sync manager (#4920)

* chore: sync collection message

* chore: sync acl

* fix: typo

* chore: sync data source

* chore: remove collection

* fix: typo

* fix: test

* chore: sync sub app event

* chore: sync collection test

* chore: collection test

* chore: test

* chore: data source sync message

* chore: sync multi app

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* chore: error message

* fix(server): add type and remove log

* fix(server): not to publish when adpater is not connected

* refactor(server): refine types

* chore: timeout

* fix(server): fix pubSubManager options

* test(ci): test ci checkout

---------

Co-authored-by: mytharcher <mytharcher@gmail.com>
Co-authored-by: ChengLei Shao <chareice@live.com>

* refactor(server): refactor api and local lock

* refactor(server): change variable names and use singleton for local lock

* fix: lockManager.close

* refactor(server): adjust types

* feat(server): add  api

* refactor(core): move lock-manager to independent package to be used in db

* refactor(plugins): change to new lock manager to use locks

* fix(auth): fix test case

* chore: ttl of sort field lock

* fix: ttl

* fix(plugins): revert lock usage back for some plugins

* refactor(plugin-field-sort): move sort field to plugin

* chore: update build ci

* fix(server): fix build errors

* fix(plugin-field-sort): fix test case

* fix(plugin-field-sort): fix register move action

* fix(plugin-field-sort): fix load logic

* fix(plugin-data-source-main): fix lock usage

* chore(plugin-data-source-main): remove unused import

* fix(server): fix import crypto in pub sub manager (#5111)

* fix(plugin-field-sort): fix build and test cases

* fix(plugin-user-data-sync): fix test with sort field

* fix(plugin-users): fix test with sort field

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: ChengLei Shao <chareice@live.com>
2024-08-28 14:41:45 +08:00
mytharcher
d0dc0428fb fix(plugin-field-sort): fix build and test cases 2024-08-26 23:28:58 +08:00
mytharcher
c49c1704fd refactor(plugins): change to new lock manager to use locks 2024-08-26 17:59:18 +08:00
ChengLei Shao
28cda22a79 feat: sync collection using sync manager (#4920)
* chore: sync collection message

* chore: sync acl

* fix: typo

* chore: sync data source

* chore: remove collection

* fix: typo

* fix: test

* chore: sync sub app event

* chore: sync collection test

* chore: collection test

* chore: test

* chore: data source sync message

* chore: sync multi app

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test
2024-08-26 16:35:07 +08:00
chenos
1ac6343049
feat: allows to filter child nodes in tree table blocks (#5096)
* feat(database): allows to filter child nodes in tree collections (#4770)

* feat(collection-tree): add collection tree plugin

* feat(collection-tree): add collection tree path handle function

* feat(collection-tree): add collection tree path root and depth column handle function

* feat(collection-tree): add exist tree collection data migrate function

* feat(collection-tree): improve exist tree collection data migrate function

* feat(collection-tree): improve exist tree collection data migrate function

* feat(collection-tree): add collection tree to build in plugin

* feat(collection-tree): modify collection tree plugin version

* feat(collection-tree): fix collection tree build bug

* feat(collection-tree): fix tree collection path create bug and add tree table search function

* feat(collection-tree): add tree table pagination function

* feat(collection-tree): fix tree table pagination function

* feat(collection-tree): fix tree table pagination function

* feat(collection-tree): fix tree table search function

* feat(collection-tree): fix tree table search function

* feat(collection-tree): improve tree table search filter function

* feat(collection-tree): update collection tree plugin version and preset package dependancy

* feat(collection-tree): improve tree collection function

* feat(collection-tree): remove the duplicate function

* feat(collection-tree): fix tree collection db exist bug

* feat(collection-tree): improve tree collection db  variable name

* feat(collection-tree): remove migration file

* feat(collection-tree): add collection tree sync create function

* feat(collection-tree): add collection tree sync create function

* feat(collection-tree): disable collection tree search function

* feat(collection-tree): enable collection tree search function

* feat(collection-tree): modify collection tree signal to adapt test case

* feat(collection-tree): modify code to fix test case

* feat(collection-tree): improve code and abstract define collection tree path

* feat(collection-tree): modify rootPK to rootPk to avoid underscored behavior

* feat(collection-tree): update collection tree version and add collection tree plugin for test

* feat(collection-tree): fix filter collection tree root null bug

* feat(collection-tree): migrate tree test case to collection tree plugin directory

* feat(collection-tree): add transaction for collection tree table delete

* feat(collection-tree): fix collection tree switch bug

* feat(collection-tree): remove tree filter switch

* feat(collection-tree): fix test case

* feat(collection-tree): fix test case

* feat(collection-tree): fix DB UNDERSCORED bug

* feat(collection-tree): fix relate collections not exist bug

* feat(collection-tree): add common parent function

* feat(collection-tree): add compatible function for sqlite

* feat(collection-tree): modify collection tree path create method

* feat(collection-tree): migrate tree test case to no acl

* feat(collection-tree): migrate tree test case to no acl and fix collections undefined bug

* feat(collection-tree): migrate tree test case

* feat(collection-tree): fix test case bug

* feat(collection-tree): fix test case bug

* feat(collection-tree): fix test case bug

* feat(collection-tree): improve tree search function

* feat(collection-tree): merge the next branch code to fix confilct

* feat(collection-tree): merge the next branch code to fix confilct

* feat(collection-tree): merge the next branch code to fix confilct

* feat(collection-tree): split the collection tree test to new file and fix filterbytk bug

* feat(collection-tree): fix filter tree collection primary key bug

* feat(collection-tree): remove recursive test case and fix collection tree filter bug

* feat(collection-tree): fix collection tree filter bug

* feat(collection-tree): fix collection tree filter bug and modify test case

* feat(collection-tree): add parentid column for tree collection and modify test case

* feat(collection-tree): disable sync exist tree collection path table create logic

* feat(collection-tree): add sync exist tree collection path table create logic on plugin afterLoad

* feat(collection-tree): remove debug code

* feat(collection-tree): fix collection tree delete bug

* feat(collection-tree): improve collection tree filter find and count implement

* feat(collection-tree): improve path table name variable implement

* feat(collection-tree): remove unnecessary plugin for test case code

* feat(collection-tree): add await for delete synchronous path function

* feat(collection-tree): improve tree path create function

* feat(collection-tree): remove unnecessary code

* feat(collection-tree): remove unnecessary code

* feat(collection-tree): improve tree path create function

* feat(collection-tree): improve tree filter function

* feat(collection-tree): improve tree filter datasource to dynamic

* feat(collection-tree): improve find common parent code

* feat(collection-tree): add collection tree path table not found warning log

* feat(collection-tree): improve get collection primary key implementation

* feat(collection-tree): fix tree root path not delete bug and tree path definition bug

* feat(collection-tree): fix findAndCount function variable definition bug

* feat(collection-tree): modify migrate exist collection tree migration function

* feat(collection-tree): correct variable name

* feat(collection-tree): remove duplicate code

* feat(collection-tree): fix sync exist collection tree path function variable bug

* feat(collection-tree): improve collection tree path update logic

* feat(collection-tree): remove await for get collection

* test: add test cases

* feat(collection-tree): modify filter parameter for collection tree

* feat(collection-tree): remove await for get collection

* feat(collection-tree): remove necessary code

* feat(collection-tree): add exist tree collection path migration function

* feat(collection-tree): remove unused sync exist tree collection table function

* feat(collection-tree): use get method to replace use dataValues function

* feat(collection-tree): use get method to replace use dataValues function

* feat(collection-tree): fix migration rootPk variable bug

* feat(collection-tree): use get method to replace use dataValues function

* feat(collection-tree): improve get tree path logic

* feat(collection-tree): remove unused test case code

* feat(collection-tree): add sync collection tree test case

* feat(collection-tree): add tree path test case and fix migration bug

* feat(collection-tree): add migration db variable

* feat(collection-tree): change logger function

* feat(collection-tree): remove unused library

* feat(collection-tree): add plugin information

* feat(collection-tree): remove await for get collection and use this.db instead of this.app.db

* feat(collection-tree): improve the performance of exist data migration to  path table

* feat(collection-tree): modify get tree path implement to avoid infinite loop bug

* feat(collection-tree): fix path create bug

* feat(collection-tree): add index for path table

* feat(collection-tree): fix related node path bug when some node parent changed

* feat(collection-tree): add transaction for get tree path function

* feat(collection-tree): add tree path test case

* feat(collection-tree): change parent field id name to dynamic

* feat(collection-tree): migrate some test case to path.test.ts file

* feat(collection-tree): add some test case for path table

* feat(collection-tree): fix sqlite and mysql json type search path data bug

* feat(collection-tree): fix sqlite query related data sql bug

* feat(collection-tree): fix list action test case query data with related data bug

* feat(collection-tree): try to fix mysql test case bug to remove index

* feat(collection-tree): remove unnecessary code

* chore: string field with length option

* feat(collection-tree): change path type to string and set max length to 1024

* fix: merge conflicts

* feat(collection-tree): modify query path filter to adapt the path change to string

* feat(collection-tree): remove append parent condition

* feat(collection-tree): split the path test case

* feat(collection-tree): remove unused code and fix test case plugin bug

* feat(collection-tree): improve get tree path implementation

* feat(collection-tree): disable one failed test case for full test

* feat(collection-tree): add transaction for collection tree migration

* feat(collection-tree): fix collection tree migration bug

* feat(collection-tree): remove sqlite handle condition code

* feat(collection-tree): add tree test case

* feat(collection-tree): add tree test case

* feat(collection-tree): modify test case to match the expection

* feat(collection-tree): modify tree implementation to root parent

* feat(collection-tree): remove unused function

* feat(collection-tree): add count function to solve tree data pagination implementation

* feat(collection-tree): split tree failed test case to legacy file

* feat(collection-tree): correct legacy tree test case to expection

* feat(collection-tree): add new tree test for legacy test case to meet expection

* feat(collection-tree): fix legacy test case to meet expection

* feat(collection-tree): modify legacy test case to meet expection and add new test case

* feat(collection-tree): improve tree test case

* feat(collection-tree): improve tree test case

* feat(collection-tree): improve tree test case

* feat(collection-tree): add tree test case

* feat(collection-tree): add tree count test case

* feat(collection-tree): add tree find and count test case

* feat(collection-tree): add tree find one test case

* feat(collection-tree): improve migration get path performance

* feat(collection-tree): improve get tree path function to avoid undefined parent data situation

* feat(collection-tree): add tree and raw parameter variable

* fix: test

* feat(collection-tree): modify index length

* feat(collection-tree): fix index snake case bug

* feat(collection-tree): improve tree filter search

* feat(collection-tree): fix tree search pagination parameter omit bug

* chore: optimize

* chore: optimize

* fix: build

* fix: type

* fix: bug

* chore: move tree repo to plugin

* fix: build

* fix: test

* chore: remove ts-ignore

* fix: issue of getting filter target key

---------

Co-authored-by: xilesun <2013xile@gmail.com>
Co-authored-by: Chareice <chareice@live.com>

* fix(tree): issue of building tree node map (#5072)

---------

Co-authored-by: jimmy201602 <zhengge2012@gmail.com>
Co-authored-by: xilesun <2013xile@gmail.com>
Co-authored-by: Chareice <chareice@live.com>
2024-08-21 14:57:01 +08:00
chenos
88e47afe39
feat: pub/sub manager (#4933)
* feat: pub/sub manager

* fix: test case

* fix: test error

* fix: test error

* feat: skip self

* feat: debounce

* feat: improve code

* fix: test error

* feat: test cases

* feat: test cases

* fix: improve code

* fix: improve code

* feat: improve code

* fix: improve code

* fix: test case

* fix: typo

* fix: createPubSubManager

* fix: delete messageHandlers

* fix: test case

* feat: improve code

* fix: test error

* fix: test error

* refactor(server): adapt to new api and fix test

* fix(plugin-data-source-main): fix changed api

* fix: test error

* fix: remove sync-manager test case

* chore(server): remove legacy code

* fix(plugin-workflow): fix send sync message with transaction

* chore(server): remove legacy code

* chore(server): remove legacy code

* fix(plugin-workflow): fix test case

* fix(plugin-workflow): fix test case

* test(server): test skip-install parameter in cluster

* test(server): avoid multiple installation in cluster

* test(server): installation in cluster

* feat: sync collection using sync manager (#4920)

* chore: sync collection message

* chore: sync acl

* fix: typo

* chore: sync data source

* chore: remove collection

* fix: typo

* fix: test

* chore: sync sub app event

* chore: sync collection test

* chore: collection test

* chore: test

* chore: data source sync message

* chore: sync multi app

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* chore: error message

* fix(server): add type and remove log

* fix(server): not to publish when adpater is not connected

* refactor(server): refine types

* chore: timeout

* fix(server): fix pubSubManager options

* test(ci): test ci checkout

---------

Co-authored-by: mytharcher <mytharcher@gmail.com>
Co-authored-by: ChengLei Shao <chareice@live.com>
2024-08-14 12:09:36 +08:00
jimmy201602
6108e0818f
feat(database): allows to filter child nodes in tree collections (#4770)
* feat(collection-tree): add collection tree plugin

* feat(collection-tree): add collection tree path handle function

* feat(collection-tree): add collection tree path root and depth column handle function

* feat(collection-tree): add exist tree collection data migrate function

* feat(collection-tree): improve exist tree collection data migrate function

* feat(collection-tree): improve exist tree collection data migrate function

* feat(collection-tree): add collection tree to build in plugin

* feat(collection-tree): modify collection tree plugin version

* feat(collection-tree): fix collection tree build bug

* feat(collection-tree): fix tree collection path create bug and add tree table search function

* feat(collection-tree): add tree table pagination function

* feat(collection-tree): fix tree table pagination function

* feat(collection-tree): fix tree table pagination function

* feat(collection-tree): fix tree table search function

* feat(collection-tree): fix tree table search function

* feat(collection-tree): improve tree table search filter function

* feat(collection-tree): update collection tree plugin version and preset package dependancy

* feat(collection-tree): improve tree collection function

* feat(collection-tree): remove the duplicate function

* feat(collection-tree): fix tree collection db exist bug

* feat(collection-tree): improve tree collection db  variable name

* feat(collection-tree): remove migration file

* feat(collection-tree): add collection tree sync create function

* feat(collection-tree): add collection tree sync create function

* feat(collection-tree): disable collection tree search function

* feat(collection-tree): enable collection tree search function

* feat(collection-tree): modify collection tree signal to adapt test case

* feat(collection-tree): modify code to fix test case

* feat(collection-tree): improve code and abstract define collection tree path

* feat(collection-tree): modify rootPK to rootPk to avoid underscored behavior

* feat(collection-tree): update collection tree version and add collection tree plugin for test

* feat(collection-tree): fix filter collection tree root null bug

* feat(collection-tree): migrate tree test case to collection tree plugin directory

* feat(collection-tree): add transaction for collection tree table delete

* feat(collection-tree): fix collection tree switch bug

* feat(collection-tree): remove tree filter switch

* feat(collection-tree): fix test case

* feat(collection-tree): fix test case

* feat(collection-tree): fix DB UNDERSCORED bug

* feat(collection-tree): fix relate collections not exist bug

* feat(collection-tree): add common parent function

* feat(collection-tree): add compatible function for sqlite

* feat(collection-tree): modify collection tree path create method

* feat(collection-tree): migrate tree test case to no acl

* feat(collection-tree): migrate tree test case to no acl and fix collections undefined bug

* feat(collection-tree): migrate tree test case

* feat(collection-tree): fix test case bug

* feat(collection-tree): fix test case bug

* feat(collection-tree): fix test case bug

* feat(collection-tree): improve tree search function

* feat(collection-tree): merge the next branch code to fix confilct

* feat(collection-tree): merge the next branch code to fix confilct

* feat(collection-tree): merge the next branch code to fix confilct

* feat(collection-tree): split the collection tree test to new file and fix filterbytk bug

* feat(collection-tree): fix filter tree collection primary key bug

* feat(collection-tree): remove recursive test case and fix collection tree filter bug

* feat(collection-tree): fix collection tree filter bug

* feat(collection-tree): fix collection tree filter bug and modify test case

* feat(collection-tree): add parentid column for tree collection and modify test case

* feat(collection-tree): disable sync exist tree collection path table create logic

* feat(collection-tree): add sync exist tree collection path table create logic on plugin afterLoad

* feat(collection-tree): remove debug code

* feat(collection-tree): fix collection tree delete bug

* feat(collection-tree): improve collection tree filter find and count implement

* feat(collection-tree): improve path table name variable implement

* feat(collection-tree): remove unnecessary plugin for test case code

* feat(collection-tree): add await for delete synchronous path function

* feat(collection-tree): improve tree path create function

* feat(collection-tree): remove unnecessary code

* feat(collection-tree): remove unnecessary code

* feat(collection-tree): improve tree path create function

* feat(collection-tree): improve tree filter function

* feat(collection-tree): improve tree filter datasource to dynamic

* feat(collection-tree): improve find common parent code

* feat(collection-tree): add collection tree path table not found warning log

* feat(collection-tree): improve get collection primary key implementation

* feat(collection-tree): fix tree root path not delete bug and tree path definition bug

* feat(collection-tree): fix findAndCount function variable definition bug

* feat(collection-tree): modify migrate exist collection tree migration function

* feat(collection-tree): correct variable name

* feat(collection-tree): remove duplicate code

* feat(collection-tree): fix sync exist collection tree path function variable bug

* feat(collection-tree): improve collection tree path update logic

* feat(collection-tree): remove await for get collection

* test: add test cases

* feat(collection-tree): modify filter parameter for collection tree

* feat(collection-tree): remove await for get collection

* feat(collection-tree): remove necessary code

* feat(collection-tree): add exist tree collection path migration function

* feat(collection-tree): remove unused sync exist tree collection table function

* feat(collection-tree): use get method to replace use dataValues function

* feat(collection-tree): use get method to replace use dataValues function

* feat(collection-tree): fix migration rootPk variable bug

* feat(collection-tree): use get method to replace use dataValues function

* feat(collection-tree): improve get tree path logic

* feat(collection-tree): remove unused test case code

* feat(collection-tree): add sync collection tree test case

* feat(collection-tree): add tree path test case and fix migration bug

* feat(collection-tree): add migration db variable

* feat(collection-tree): change logger function

* feat(collection-tree): remove unused library

* feat(collection-tree): add plugin information

* feat(collection-tree): remove await for get collection and use this.db instead of this.app.db

* feat(collection-tree): improve the performance of exist data migration to  path table

* feat(collection-tree): modify get tree path implement to avoid infinite loop bug

* feat(collection-tree): fix path create bug

* feat(collection-tree): add index for path table

* feat(collection-tree): fix related node path bug when some node parent changed

* feat(collection-tree): add transaction for get tree path function

* feat(collection-tree): add tree path test case

* feat(collection-tree): change parent field id name to dynamic

* feat(collection-tree): migrate some test case to path.test.ts file

* feat(collection-tree): add some test case for path table

* feat(collection-tree): fix sqlite and mysql json type search path data bug

* feat(collection-tree): fix sqlite query related data sql bug

* feat(collection-tree): fix list action test case query data with related data bug

* feat(collection-tree): try to fix mysql test case bug to remove index

* feat(collection-tree): remove unnecessary code

* chore: string field with length option

* feat(collection-tree): change path type to string and set max length to 1024

* fix: merge conflicts

* feat(collection-tree): modify query path filter to adapt the path change to string

* feat(collection-tree): remove append parent condition

* feat(collection-tree): split the path test case

* feat(collection-tree): remove unused code and fix test case plugin bug

* feat(collection-tree): improve get tree path implementation

* feat(collection-tree): disable one failed test case for full test

* feat(collection-tree): add transaction for collection tree migration

* feat(collection-tree): fix collection tree migration bug

* feat(collection-tree): remove sqlite handle condition code

* feat(collection-tree): add tree test case

* feat(collection-tree): add tree test case

* feat(collection-tree): modify test case to match the expection

* feat(collection-tree): modify tree implementation to root parent

* feat(collection-tree): remove unused function

* feat(collection-tree): add count function to solve tree data pagination implementation

* feat(collection-tree): split tree failed test case to legacy file

* feat(collection-tree): correct legacy tree test case to expection

* feat(collection-tree): add new tree test for legacy test case to meet expection

* feat(collection-tree): fix legacy test case to meet expection

* feat(collection-tree): modify legacy test case to meet expection and add new test case

* feat(collection-tree): improve tree test case

* feat(collection-tree): improve tree test case

* feat(collection-tree): improve tree test case

* feat(collection-tree): add tree test case

* feat(collection-tree): add tree count test case

* feat(collection-tree): add tree find and count test case

* feat(collection-tree): add tree find one test case

* feat(collection-tree): improve migration get path performance

* feat(collection-tree): improve get tree path function to avoid undefined parent data situation

* feat(collection-tree): add tree and raw parameter variable

* fix: test

* feat(collection-tree): modify index length

* feat(collection-tree): fix index snake case bug

* feat(collection-tree): improve tree filter search

* feat(collection-tree): fix tree search pagination parameter omit bug

* chore: optimize

* chore: optimize

* fix: build

* fix: type

* fix: bug

* chore: move tree repo to plugin

* fix: build

* fix: test

* chore: remove ts-ignore

* fix: issue of getting filter target key

---------

Co-authored-by: xilesun <2013xile@gmail.com>
Co-authored-by: Chareice <chareice@live.com>
2024-08-13 09:42:31 +08:00
Zeke Zhang
20f0e90fe6
fix(variable): the chinaRegions field should not be a submenu (#5030)
* fix(variable): the chinaRegions field should not be a submenu

* chore: skip unstable test
2024-08-09 18:12:49 +08:00
jack zhang
cbf65394d2
feat: support dynamic field component (#5006)
* feat: field component

* fix: menu e2e bug
2024-08-07 15:37:00 +08:00
ChengLei Shao
e52cce064c
fix(acl): get allowedAction when condition is empty (#4973) 2024-07-31 22:36:16 +08:00
jack zhang
afa55e38b3
fix: remove i18n fallbackNS (#4964)
* fix: remove i18n fallbackNS

* fix: add e2e
2024-07-30 08:51:50 +08:00
Chareice
2c578866b9
fix(acl): snippet of user permission plugin 2024-07-15 13:34:16 +08:00
ChengLei Shao
fbfbcdeb2c
chore: add import export permission to admin & member user (#4809)
* chore: add import export permission to admin & member user

* fix: test
2024-07-04 17:32:52 +08:00
ChengLei Shao
31b7a3f4b9
chore: add import export permission to member user (#4808) 2024-07-04 07:52:57 +08:00
ChengLei Shao
2063227f4a
refactor: export & import plugin (#4468)
* feat: chunk method in repository

* chore: xlsx export test

* chore: xlsx export

* chore: export action

* chore: export action

* chore: code

* feat: database interface manager

* feat: export with ui schema

* chore: console.log

* chore: export with china region field

* chore: export with attachments

* chore: export with multiple select

* chore: export with interface

* chore: export action

* fix: export with datetime file

* chore: limit export action running in same time

* chore: yarn.lock

* fix: render json value

* chore: chunk with limit

* feat: add EXPORT_LIMIT env config

* fix: typo

* fix: type

* chore: asyn mutex version

* chore: test

* chore: test

* fix: export null value

* chore: test

* chore: createdAt test

* fix: export with createdAt

* chore: import template

* chore: xlsx importer

* chore: import run

* chore: export with data source api

* chore: toValue api in interface

* fix: build

* chore: import with transaction

* fix: build database

* chore: many to one interface

* chore: code

* chore: import with associations

* chore: default toValue

* chore: import template with explain

* chore: import with explain template

* chore: reset id seq after import

* chore: download template action

* fix: database build

* fix: build

* fix: build

* fix: test

* chore: import with number field

* chore: import with boolean field

* chore: json interface

* chore: import action

* chore: typo

* chore: i18n

* chore: select interface

* chore: china region interface

* chore: datetiem field

* chore: cast to array

* fix: import tips

* chore: import await

* fix: test

* fix: test in mariadb

* chore: comments

* chore: comments

* fix: parse date with empty string

* fix: read import limit

* fix: type

* fix: test in mariadb

* chore: skip bigint test in sqlite

* chore: skip bigint test in sqlite

* chore: download tip i18n keys

* fix: download tips

* feat(client): add new variable named 'URL search params' and support link action (#4506)

* 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

* fix: menu selectKeys (T-4373)

* refactor: use qs to stringify search params

* refactor: locale improve

* refactor: locale improve

* chore: fix failed tests

* 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(Link): hide linkage rules in top link (T-4410)

* fix(permission): remove URL search params variable from data scope

* chore: make more stable

* chore: make e2e test more stable

* fix(Link): reduce size for variable

* fix: clear previous context (T-4449)

* fix(calendar, map): resolve initial data scope setting error (T-4450)

* fix: correct concatenation of query string (T-4453)

---------

Co-authored-by: katherinehhh <katherine_15995@163.com>
Co-authored-by: jack zhang <1098626505@qq.com>

* refactor(FormV2): add FormWithDataTemplates component (#4551)

* Revert "fix(client): fix data template style (#4536)"

This reverts commit db66090ab279508473e74803dbb8637341fa6f3f.

* refactor(FormV2): add FormWithDataTemplates component

* chore: fix failed e2e tests

* chore: make e2e test more stable

* chore: import warning i18n

* chore: import warning i18n

* fix: bug

* fix: export action loading

* fix: bug

* chore: map field interface

* fix: merge bug

---------

Co-authored-by: xilesun <2013xile@gmail.com>
Co-authored-by: Zeke Zhang <958414905@qq.com>
Co-authored-by: katherinehhh <katherine_15995@163.com>
Co-authored-by: jack zhang <1098626505@qq.com>
2024-06-05 17:52:43 +08:00
YANG QIA
948a6345e0
fix(acl): use default role when x-role does not belong to the current user (#4507)
* fix(acl): use default role when `x-role` does not belong to the current user

* fix: test
2024-05-29 11:53:44 +08:00
ChengLei Shao
aa1ed6737d
fix: attachment collection permission (#4470) 2024-05-23 19:50:24 +08:00
ChengLei Shao
5f5d3f3d90
feat: strategy with resources list (#4312)
* chore: strategy with resources list

* chore: append strategy resource when collection loaded

* chore: test

* chore: no permission error

* chore: test

* fix: update strategy resources after update collection

* fix: test

* fix: snippet name

* chore: error class import
2024-05-11 23:08:50 +08:00
Zeke Zhang
e96afd09e4
chore: test e2e CI (#4314)
* chore: test CI

* chore: run build CI

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* chore: reduce timeout-minutes for e2e

* chore: use cancelled insted of always

* refactor: split files

* chore: split jobs

* refactor: split files

* refactor: split files

* chore: better comment

* chore: test

* chore: test

* chore: install glob

* chore: test

* chore: test all

* chore: fix failed tests

* chore: fix tests
2024-05-11 20:51:32 +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
YANG QIA
b71bcc1889
chore(versions): 😊 publish v1.0.0-alpha.1 (#4186)
* feat: rename plugin-collection-manager to plugin-data-source-main (#4136)

* feat: rename plugin

* feat: rename

* chore: rename classes of data-source-main

* chore: use name for migrating instead of packageName

* chore: rename china-region to field-china-region (#4167)

* chore: rename china-region to field-china-region

* chore: update yarn.lock

* chore: rename classes

* chore: use name instead of pkgName

* chore: rename export to action-export (#4169)

* chore: rename export to action-export

* chore: rename classes

* chore: use name

* chore: rename formula-field to field-formula (#4170)

* chore: rename formula-field to field-formula

* chore: use name

* chore: rename localization-management to localization (#4173)

* chore: rename localization-management to localization

* fix: test

* chore: rename sequence-field to field-sequence (#4174)

* chore: rename sequence-field to field-sequence

* chore: use name

* chore: rename custom-request to action-custom-request (#4168)

* chore: rename custom-request to action-custom-request

* chore: rename classes

* chore: use name

* fix: ns

* chore: rename iframe-block to block-iframe (#4171)

* chore: rename iframe-block to block-iframe

* chore: use name

* chore: rename sms-auth to auth-sms (#4175)

* chore: rename sms-auth to auth-sms

* chore: use name

* chore: rename import to action-import (#4172)

* chore: rename import to action-import

* chore: use name

* fix: ns

* fix: packages

* test: add rename test

* fix: move rename migrations to preset

* fix: version

* fix(localization): remove duplicate records (#4182)

* fix: locale ns

* fix(localization): remove duplicate records

* chore: merge

* fix: migration

* fix: test

* feat: improve pm add command (#4198)

* chore: remove sso auth plugins and add upgrade warning (#4192)

* chore: remove sso auth plugins and add upgrade warning

* chore: remove sso plugins dir

* chore: remove dependencies

* fix: names

* refactor: move to migration

* chore: adjust log

* feat: allows to remove plugins from sub apps

* fix: pm remove

* chore: add test

* chore: just for pro plugins

* refactor: optimize migration

* test: add test

* fix: auth-sms

* fix: add transaction

---------

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

* chore: make e2e more stable

* chore(license): update LICENSE to AGPL-3.0 (#4207)

* fix: improve pm (#4200)

* fix: improve pm

* feat: improve pm update

* fix: test error

* fix: rename plugin

* fix: remove only

* refactor(e2e): extract

* fix: await

* fix: nameOrPkg

* feat: remove multi-app-share-collection from local

---------

Co-authored-by: Zeke Zhang <958414905@qq.com>

* chore: add new line

* chore: rename migration

* fix: version

* fix: test

* feat: v1.0.0-alpha.1

* fix: multi-app-share-collection

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Chareice <chareice@live.com>
Co-authored-by: katherinehhh <katherine_15995@163.com>
Co-authored-by: Zeke Zhang <958414905@qq.com>
2024-04-29 00:46:21 +08:00
ChengLei Shao
71e8d07f15
test: add automated testing (#4098)
* test: string includes operator

* chore: operator test coverage

* chore: database utils test

* chore: acl test

* chore: no permission error

* chore: code

* fix: run coverage test

* chore: datasource test

* chore: datasource test

* chore: datasource test

* chore: datasource test

* chore: datasource test

* chore: datasource

* fix: build

* chore: plugin data source manager test

* chore: acl test

* chore: query interface test

* chore: ui schema storage test

* chore: save template test

* chore: ui schema insert position action

* chore: ignore migration

* chore: plugin acl test

* chore: ignore command in coverage

* chore: ignore

* chore: remove db2resource

* chore: ignore migration

* chore: ipc server test

* chore: database test

* chore: database api comments

* chore: value parser test

* chore: build

* chore: backup & restore test

* chore: plugin manager test

* chore: pm

* chore: pm ignore

* chore: skip migration

* chore: remove unused code

* fix: import

* chore: remove unused code

* chore: remove unused code

* fix: action test

* chore: data wrapping middleware

* fix: build

* fix: build

* fix: build

* test: fix T-4105

* chore: test

* fix: data-source-manager test

* fix: sql collection test

* fix: test

* fix: test

* fix: test

* fix: typo

* chore: datasource manager test

* chore: console.log

---------

Co-authored-by: xilesun <2013xile@gmail.com>
2024-04-26 17:44:59 +08:00
YANG QIA
5da0d4e75b
fix(users): improve users:updateProfile (#4162)
* chore(users): improve `users:updateProfile`

* chore: use lodash.pick
2024-04-25 16:54:53 +08:00
ChengLei Shao
57449bb2df
chore(acl): disable register association fields actions (#4014)
* chore: disable register association fields actions

* chore: test

* chore: association field acl

* fix: snippet test

* fix: pm.data-source-manager

* fix: acl roles snippets

* chore: update snippet migration

* fix: bug (#4035)

Co-authored-by: katherinehhh <katherine_15995@163.com>

* fix: save role strategy

* fix: x-acl-action

* fix: acl snippet

* fix: bug

* fix: graph

* fix: association permission

* chore: data source manager snippet

* fix: test

* chore: test

* test: e2e test

* fix: undefined list

* fix: useApp

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: katherinehhh <katherine_15995@163.com>
2024-04-16 00:25:35 +08:00
ChengLei Shao
2a31de8ce6
fix(plugin-acl): pm.acl.roles snippet (#4026) 2024-04-12 16:03:09 +08:00
ChengLei Shao
fd2becd650
fix(plugin-acl): datasource roles snippet (#4016) 2024-04-11 15:41:24 +08:00
katherinehhh
ca49cc9dbd
fix: association block action permission verification failed (#3994)
* fix: association block action permission verification failed

* test: association block action permission test

* fix: useDataBlockProps

* fix: useDataBlockProps

* fix: useResourceName

* fix: bug

* fix: bug

* fix: bug

* fix: bug

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2024-04-10 16:38:37 +08:00
YANG QIA
19f905d34c
chore: update class names of plugins (#3981)
* chore: update class names of plugins

* fix: build

* chore: add back sample-hello

* fix: test
2024-04-09 12:12:24 +08:00
ChengLei Shao
c22fc6f5d4
fix: list data undefined error (#3905)
* fix: list data undefined error

* chore: typo
2024-04-03 09:17:20 +08:00
Zeke Zhang
e572f6645e
refactor: change useProps to x-use-component-props (#3853)
* refactor: update TableV2 component props

* refactor: update Action component

* refactor: update Filter.Action

* refactor: update FormV2

* refactor: update TableV2.Selector

* refactor: update Details

* refactor: update Action.Link

* refactor: about acl

* refactor: useCustomizeUpdateActionProps

* refactor: update decrator FormV2

* refactor(plugin-data-visualization): useProps to x-use-component-props

* refactor: update Pagination

* refactor: update CalendarV2

* refactor: update TitleField

* refactor: useProps

* refactor: update AssociationFilter.Item

* feat(withDynamicSchemaProps): support function useComponentPropsStr

* refactor: update FormDataTemplates

* chore: fix unit tests

* chore: fix e2e

* refactor: update

* feat(withDynamicSchemaProps): support to use dot

* refactor: update

* refactor: update

* chore: avoid error
2024-04-02 21:38:40 +08:00
ChengLei Shao
79f14d9024
chore: main datasource api (#3880)
* chore: main datasource api

* chore: test

* chore: console.log

* chore: middleware order

* chore: test

* chore: middleware order

* chore: test

* chore: middleware options
2024-03-31 16:22:45 +08:00