67 Commits

Author SHA1 Message Date
Zeke Zhang
3140edf798
fix: refresh issues (#5838)
* fix(associationField): fix the issue where the configuration popup does not show when reopened

* test: add e2e test

* refactor: extract template code

* chore(e2e): fix e2e error
2024-12-10 00:07:34 +08:00
nocobase[bot]
3f639929bd Merge branch 'next' into develop 2024-12-08 01:14:07 +00:00
Zeke Zhang
78146261d0 chore(e2e): make e2e more stable 2024-12-08 06:31:44 +08:00
Zeke Zhang
694c9b0928
fix(popup): completely solve the URL confusion issue (#5812)
* test(e2e): add test

* fix(enableLink): fix popup issue

* fix(enableLink): fix popup issue

* fix(popup): completely solve the URL confusion issue

* chore(e2e): fix e2e error

* chore(e2e): make e2e more stable
2024-12-08 00:12:01 +08:00
Katherine
db64d1cb52
fix: sub-table e2e test (#5823)
* fix: sub-table e2e test

* fix: test

* fix: test

* fix: test

* fix: test

* fix: test
2024-12-07 23:18:02 +08:00
Zeke Zhang
0fa56d7407
perf(Table): remove Formily components to improve performance (#5738)
* perf(Table): remove Formily components to improve performance

* refactor: rename and modify comments

* fix(UIEditor): fix hover style

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

* fix(ellipsis): fix refresh issue

* fix: need to update field value

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

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

* chore(e2e): fix e2e errors

* fix(e2e): fix e2e errors

* fix(workflow): fix refresh issue

* fix(workflow): fix refresh issue

* fix(Action.Container): fix refresh issue

* fix(drawer): fix refresh issue

* fix(Table): fix refresh issue

* fix(AssociationField): fix refresh issues

* fix(NocoBaseRecursionField): fix refresh code

* refactor(SchemaComponentContext): remove useless code

* refactor: rename RefreshContext to RefreshFieldSchemaContext

* refactor(useDataBlockRequestGetter): optimize comment

* refactor: rename and new refresh context

* fix(Table): fix some refresh issues

* fix(AssociationField): fix refresh issue

* refactor(Table): make code better

* fix: replace RecursionField with NocoBaseRecursionField

* refactor: remove useless code

* fix(Menu): fix draging issue

* fix: refresh entire page after drag and drop operation

* fix(Page): fix draging issue

* chore: fix build error

* fix(test): make unit tests pass

* chore(test): fix unit test

* chore(e2e): fix e2e errors

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

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

* chore(e2e): fix e2e errors

* fix(e2e): fix some e2e errors

* fix(SchemaComponent): fix onChange issue

* chore(e2e): make e2e more stable
2024-12-04 21:05:50 +08:00
Zeke Zhang
c0055ce826
perf(Page): improve performance (#5515)
* refactor(Tabs): remove observer and add memo

* refactor(useFilterFieldProps): use useCallback

* perf(FilterProvider): use startTransition

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

* fix: make e2e tests pass

* perf(FilterBlockProvider): avoid rerender when updating state

* perf(DocumentTitleProvider): avoid rerender when updating state

* chore: set the default page title to empty string

* perf(BlockRequestProvider_deprecated): remove useless code

* perf(RecordProvider): add memo

* chore(Table): add comment

* perf: add memo to avoid rerender

* perf(InternalSchemaToolbar): improve style performance

* perf(ActionPage): improve style performance

* perf(BlockItem): improve style performance

* perf(Grid): improve style performance

* perf(IconField): improve style performance

* perf(MenuItem): improve style performance

* refactor(style): remove useless code

* perf(ArrayCollapse): improve style performance

* perf(acl): improve style performance

* perf(LinkageRules): improve style performance

* perf(ActionDrawerUsedInMobile): improve style performance

* perf(InternalPopoverNesterUsedInMobile): improve style performance

* perf(MobileActionPage): improve style performance

* perf(MobileTabsForMobileActionPage): improve style performance

* perf(Mobile): improve style performance

* perf(MobileTabBar): improve style performance

* perf(MobilePageContentContainer): improve style performance

* perf(MobilePageHeader): improve style performance

* perf(MobilePageNavigationBar): improve style performance

* perf(MobileNavigationBarAction): improve style performance

* chore: fix build error

* perf: some minor optimizations

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

* refactor(CollectionFieldInternalField): remove useless code

* perf(PageContent): improve performance

* refactor(Table): use skeleton component

* perf(Table): improve pagination performance

* perf(TableSkeleton): improve skeleton component performance

* style(TableSkeleton): optimize style

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

* fix: fix add tab

* chore: make unit tests pass

* refactor: remove deprecated API

* fix(filterBlocks): make e2e tests pass

* fix(Action): make e2e tests pass

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

* perf(Map): extract style

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

This reverts commit 203ecc1334429a8b77177337c8649ece1abdaeed.

* fix: fix e2e error

* fix: fix unit tests

* chore: fix build error

* perf(useResourceName): avoid unnecessary re-renders

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

* perf(useDataBlockRequest): prevent unnecessary re-renders

* perf(useBlockCollection): avoid unnecessary re-renders

* perf(ActionContextProvider): add useMemo for context value

* perf(useTableBlockProps): avoid unnecessary re-renders

* perf(Details): add skeleton component

* chore(SchemaSettingsDropdown): make menu visibility more stable

* perf(withSkeletonComponent): use useDeferredValue

* refactor(ErrorBoundary): optimize code

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

* perf(CollectionHistoryProvider): optimize location context

* perf(MenuEditor): optimize router context

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

* perf(MenuEditor): prevent unnecessary re-renders

* perf(RouteSchemaComponent): prevent unnecessary re-renders

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

* perf: add skeleton component for other blocks

* perf(CurrentUserProvider): remove loading

* refactor: remove useless code

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

* perf(SystemSettingsProvider): remove loading

* perf(CollectionHistoryProvider): remove loading

* perf(useCurrentAppInfo): remove loading

* perf(RemoteCollectionManagerProvider): remove loading

* perf(RequestSchemaComponent): remove loading

* refactor(MenuEditor): remove useless code

* refactor: remove useless code

* perf(Page): reduce white screen time

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

This reverts commit b3a4201a82617534b9f5c3d16d4769f1327b3b02.

* perf(wip): add custom RecursionField component

* perf(RecursionField): complete custom RecursionField component

* perf(FilterAction): avoid unnecessary re-rendering

* perf(InputReadPretty): improve render performance

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

* perf(ReadPrettyInternalViewer): remove observer

* perf(Table): remove unnecessary context

* perf(NocoBaseField): customize a Field component

* chore: add comments

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

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

* refactor(NocoBaseField): rename and improve performance

* fix(NocoBaseField): add compile

* perf(Table): avoid rendering popup content

* chore: fix build error

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

* perf(CollectionField): remove ErrorBoundary

* chore(NocoBaseRecursionField): add isUseFormilyField

* perf(TemplateBlockProvider): use performance hooks

* refactor(FormV2): optimize skeleton screen effect

* perf(EditableAssociationField): remove observer

* perf(CollectionField): reduce nested component hierarchy

* refactor(SchemaSettingsSwitchItem): prevent UI refresh issues

* fix: fix field issues

* refactor(CollectionField): extract CollectionFieldInternalField component

* fix(DataSources): fix table error issue

* fix(drawer): fix drawer error

* fix(CollectionManagerSchemaComponentProvider): fix incorrect scope value

* fix(BodyRowComponent): fix issue with empty record

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

* fix(BlockTemplates): fix table error issue

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

* refactor(Action): replace RecursionField with NocoBaseRecursionField

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

* feat(loading): add delay for loading component

* fix(workflow): fix workflow table display issue

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

* fix(CollectionField): compatibility with legacy version

* fix(CollectionField): compatibility with legacy version

* fix(e2e): remove memoize function

* fix: add back dn.refresh

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

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

This reverts commit da8b43d9322aed39a1adf0ccdf24beca52a228ef.

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

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

This reverts commit 71e9a43f361dd806affe9707254ed30882c27178.

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

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

* fix(NocoBaseRecursionField): add default value

* refactor: revert to RecursionField version

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

* Revert "refactor: revert to RecursionField version"

This reverts commit 087dcd4dc4d8d83f41272ac1b270dea281f49e08.

* fix(association-field): use NocoBaseRecursionField

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

* fix(grid-card): make e2e pass

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

* fix(AdminLayout): fix page navigation issue

* fix(e2e): make e2e pass

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

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

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

* fix(e2e): make mobile e2e more stable

* fix(e2e): fix subform display issue

* fix(e2e): fix field pattern state

* chore(test): make some unit tests pass

* fix(test): make some unit tests pass

* fix(test): make unit tests pass

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

* chore(Table): use startTransition

* perf(page): implement keep-alive effect

* chore: remove loading delay

* chore(e2e): skip one e2e

* chore: fix build error

* refactor: extract KeepAlive component and fix e2e test errors

* fix(test): make unit tests pass

* fix(KeepAlive): children should be a function

* fix(popup): avoid being affected by KeepAlive

* perf(KeepAlive): reduce lag when switching pages

* refactor(DndContext): extract InternalDndContext component

* refactor(KeepAlive): avoid memory overflow

* chore: limit maximum number of cached pages

* refactor: use useEffect instead of useLayoutEffect

* refactor(AdminLayout): extract NocoBaseLogo component

* perf: reduce lag when switching pages

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

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

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

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

* chore(test): make unit tests pass

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

* chore(e2e): update some e2e tests

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

* perf(Table): optimize refresh performance

* refactor(NocoBaseField): simplify code writing

* perf(Context): improve performance

* perf(Context): improve render performance

* perf(Menu): improve menu performance

* perf: lower the priority of updating title

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

* perf(Table): reduce repainting time

* perf(popup): improve popup opening speed

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

* perf(withSkeletonComponent): defer loading state update

* perf(PopupRouteContextResetter): improve render performance

* perf(popup): improve popup closing speed

* perf(popup): improve popup closing performance

* perf(SchemaToolbar): avoid excessive style calculations

* perf(SchemaSettingsDropdown): avoid using useLayoutEffect

* perf(popup): improve popup opening speed

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

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

* refactor: extract NocoBasePageHeaderTabs

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

* chore(test): make unit tests pass

* chore(test): update test case

* chore(SchemaInitializerSwitch): update unit test

* chore(useVariables): update unit tests

* chore(e2e): make some e2e tests pass

* chore(e2e): make e2e tests pass

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

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

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

* fix(e2e): fix e2e error

* fix(e2e): fix refresh issues

* fix(e2e): fix some bugs

* fix(e2e): fix e2e error

* fix(test): fix unit tests

* fix(popup): prevent rapid clicking issues

* fix(e2e): fix e2e error

* fix(e2e): fix refresh issues

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

* perf(Menu): improve performance

* perf(Table): reduce row render times

* fix(KeepAlive): fix lag when switching designable

* fix(e2e): fix e2e error

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2024-11-27 07:19:52 +08:00
nocobase[bot]
2e83d3c9b9 Merge branch 'next' into develop 2024-11-26 09:13:06 +00:00
Chareice
548cfe3e56
Merge remote-tracking branch 'origin/main' into next 2024-11-26 17:12:36 +08:00
ChengLei Shao
de7c86a1e5
fix: infer view field attribute (#5729)
* fix: view collection with field attribute

* fix: infer view with column field attribute
2024-11-26 16:39:21 +08:00
mytharcher
5824f1fb15 Merge branch 'next' into T-4910 2024-11-15 11:03:16 +08:00
Katherine
fd6b63d24f
refactor(mobile): Improve mobile component usability (#5590)
* refactor: mobile component

* refactor: mobile datepicker

* refactor: datepicker

* refactor: selectpicker

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: style improve

* fix: bug

* refactor: locale improve

* fix: locale

* fix: bug

* chore: datetime picker

* fix: test

* fix: test

* refactor: make test stable

* refactor: make test stable

* fix: bug

* fix: bug

* fix: bug

* refactor: locale improve

* fix: bug
2024-11-14 17:13:40 +08:00
Chareice
a56cd6742c
fix: list meta permission 2024-11-09 22:16:59 +08:00
ChengLei Shao
c728146160
refactor: collections api (#5610)
* chore: test

* chore: list meta

* chore: list meta api

* fix: test
2024-11-08 12:44:13 +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
ChengLei Shao
056d46c680
chore: load collection with schema (#5541)
* chore: load collection with schema

* chore: load collection with schema

* chore: test

* chore: test

* chore: test

* chore: test

* fix: test

---------

Co-authored-by: CHENGLEI SHAO <Chareice>
2024-11-01 06:46:55 +08:00
katherinehhh
055b64ba0e Merge branch 'main' into next 2024-10-29 17:09:17 +08:00
Katherine
67e1373077
fix: resolve map rendering in sub-details and incorrect value display for empty fields (#5526)
* fix: bug

* fix: test
2024-10-29 17:02:22 +08:00
Zeke Zhang
0dc49d32e4 chore(e2e): make e2e more stable 2024-10-27 10:20:47 +08:00
nocobase[bot]
86d2f5ec14 Merge branch 'main' into next 2024-10-24 12:52:16 +00:00
Katherine
95aeb343f2
fix: checkbox e2e test (#5508) 2024-10-24 20:43:21 +08:00
mahuan
09b86bf18b refactor: standardize localization file name 2024-10-22 23:02:52 +08:00
Zeke Zhang
2bfe8bafb4 Merge branch 'main' into next 2024-10-18 12:47:39 +08:00
Zeke Zhang
988476ea3e
feat(filterForm): add 'Allow multiple selection' for association fields (#5451)
* feat(filterForm): add 'Allow multiple selection' for association fields

* test: add e2e test
2024-10-18 12:42:35 +08:00
nocobase[bot]
88b8782d11 Merge branch 'main' into next 2024-10-17 01:39:10 +00:00
Junyi
54b7bb6d52
fix(plugin-file-manager): fix e2e due to component changed (#5437) 2024-10-17 09:38:48 +08:00
mytharcher
2ac5457583 Merge branch 'next' into T-4910 2024-10-14 17:23:56 +08:00
Katherine
15e05d5a2c
refactor: support attachmentURL (#5313)
* refactor: support  attachmentURL

* refactor: support attachment field

* fix: bug

* refactor: attachment url field

* fix: bug

* fix: bug

* fix: merge bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: kanban appends

* fix: action export

* fix: action import

* fix: test

* fix: bug

* fix(client): fix file type check logic

* fix(client): fix image previewer by file type

* fix(client): fix null file type caused error in matching

* fix(client): fix thumbnail data

* refactor: datetime

* test: fix test

* fix(client): fix preview based on file type when url contains search part

* refactor: remote select

* fix: test

* fix: bug

---------

Co-authored-by: mytharcher <mytharcher@gmail.com>
2024-10-11 20:15:55 +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
ChengLei Shao
a7df0e3fd3
refactor: datetime field (#5084)
* refactor: date field support timezone, defaultToCurrentTime, and onUpdateToCurrentTime

* refactor: availableTypes unixTimestamp

* chore: defaultToCurrentTime

* chore: unix timestamp field

* fix: bug

* chore: field type map

* refactor: local improve

* fix: bug

* fix: bug

* chore: timezone test

* chore: test

* fix: test

* fix: test

* chore: field setter

* chore: test

* chore: date only field

* chore: test

* chore: test

* fix: bug

* fix: unixTimestamp

* fix: unixTimestamp

* chore: accuracy

* fix: bug

* fix: bug

* fix: unixTimestamp

* fix: unixTimestamp

* fix: date & datetime

* refactor:  add DateFieldInterface

* fix: bug

* chore: test

* chore: test

* chore: test

* refactor: locale improve

* refactor: local improve

* fix: bug

* refactor: unixTimestamp not support default value

* refactor: timezone

* refactor: datetimeNoTzFieldInterface

* refactor: locale improve

* refactor: locale improve

* fix: test

* fix: bug

* chore: datetime no tz field

* refactor: datetimeNoTz

* refactor: datetime

* fix: bug

* refactor: timeFormat

* style: collection fields style improve

* refactor: defaultToCurrentTime

* fix: datetime no tz

* chore: field type map

* fix: bug

* fix: bug

* refactor: createAt & updateAt

* fix: bug

* fix: no tz field with timezone

* refactor: dateonly

* fix: test

* chore: data type map

* fix: dateonly

* fix: dateonly

* fix: datetime

* refactor: locale improve

* refactor: unixtimestamp

* fix: merge bug

* fix: bug

* fix: datetime

* fix: datetime no tz

* fix: datetime no tz

* chore: mysql datetime map

* chore: test

* chore: test

* chore: test

* chore: datetimeTz field

* fix: no interface option

* refactor: update type

* refactor: update type

* fix: pg no tz field

* chore: save iso8601 format to no tz field

* fix: test

* fix: test

* refactor: gannt & calender startTime & endTime

* refactor: unixTimestamp

* chore: filter of datetime field

* chore: test

* chore: test

* fix: test

* fix: datetime no tz filter

* chore: test

* chore: test

* fix: datetime default value in mysql

* fix: sqlite test

* chore: test

* fix: test

* fix: test

* fix: $dateOn

* fix: bug

* fix: bug

* refactor: datepicker

* fix: test

* refactor: datePicker

* refactor: gantt setting

---------

Co-authored-by: katherinehhh <katherine_15995@163.com>
2024-09-10 15:25:20 +08:00
mytharcher
d0dc0428fb fix(plugin-field-sort): fix build and test cases 2024-08-26 23:28:58 +08:00
mytharcher
bce81bd4ca chore(plugin-data-source-main): remove unused import 2024-08-26 21:04:09 +08:00
mytharcher
15593b5185 fix(plugin-data-source-main): fix lock usage 2024-08-26 21:04:09 +08:00
mytharcher
9b9e03ea19 refactor(plugin-field-sort): move sort field to plugin 2024-08-26 18:27:10 +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
mytharcher
288823dab1 fix(plugin-data-source-main): fix changed api 2024-08-26 16:31:12 +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
GitHub Actions Bot
e4fcf69e45 Merge branch 'main' into next 2024-07-27 13:53:17 +00:00
ChengLei Shao
6c079d7435
fix: create multiple auto increment fields in mysql (#4951)
* fix: create multiple auto increment fields in mysql

* fix: test
2024-07-27 21:52:57 +08:00
GitHub Actions Bot
897910e143 Merge branch 'main' into next 2024-07-25 02:31:39 +00:00
Katherine
47d2a0ee61
fix: autoGenId default value should be false when adding collection (#4942)
* fix: autoGenId default value  should be false when adding collection

* fix: test
2024-07-25 10:31:21 +08:00
ChengLei Shao
dd08a1f5c7
chore: data source api (#4588)
* refactor: support api datasource

* refactor: support api datasource

* refactor: support api datasource

* feat: url support preview (#4559)

* feat: url support preview

* feat: add settings for Input.Preview

* refactor: refactor CollectionField.tsx to use dynamic component

* Revert "refactor: refactor CollectionField.tsx to use dynamic component"

This reverts commit 37719eb28e5866762459da3b269288340a21b661.

* test: add e2e test

* refactor(e2e): extract template

---------

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

* fix(map): amap reset (#4574)

* chore: volta node version

* chore: data source api

* refactor: support api datasource

* chore: data source api

* chore: data source api

* chore: field options

* refactor: support api data source

* refactor: support api data source

* refactor: support api data source

* refactor: support api data source

* refactor: support api data source

* refactor: support api data source

* refactor: support api data source

* fix: load data source fields

* refactor: support api data source

* 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

* fix(variable): should remove through collection field (#4590)

* fix: style issues for gridCard in mobile client (#4593)

* fix: style issiues for gridCard in mobile client

* fix: bug

* fix: bug

* fix: bug

* fix: style issues for gridCard in mobile client (#4599)

* fix: style issiues for gridCard in mobile client

* fix: bug

* fix: bug

* fix: bug

* fix: style improve

* chore: update lerna

* chore(versions): 😊 publish v1.0.1-alpha.1

* chore: update changelog

* chore: fix typo (#4589)

* feat(plugin-workflow-smtp-mailer): add new plugin for sending email in workflow (#4584)

* feat(plugin-workflow-smtp-mailer): add new plugin for sending email in workflow

* refactor(plugin-workflow-mailer): change plugin name and locales

* fix(plugin-workflow-mailer): fix parameters

* fix(preset): add new plugin to preset

* fix(plugin-workflow-mailer): fix locale namespace

* fix: iframe block loses height when set to default (#4602)

* fix: iframe block loses height when set to default

* refactor: local improve

* feat(client): allow JSON5 value in Form Input of type JSONTextArea (#4600)

* feat(client): allow json5 value in form-item type json component

* test: fix tests

* chore: set json5 default as false

* chore: add demo

---------

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

* fix: remove grid wrap (#4612)

* refactor(plugin-workflow): change variable getter from collection fields (#4567)

* refactor(plugin-workflow): change variable getter from collection fields

* fix(plugin-workflow): fix import

* chore(plugin-workflow-action-trigger): remove unused import

* fix(plugin-workflow): fix collection field in workflow variable

* refactor(plugin-workflow-manual): avoid tslint error

* fix(client): fix text wrap in variable input (#4605)

* fix(client): fix text wrap in variable input

* fix(client): revert css

* feat(tree-block): support filtering child nodes (#4603)

* feat(tree-block): support filtering child nodes

* test: add list test

* test: remove only

* fix: use isValidFilter

* fix(export): export button remaining in loading state after cancel (#4615)

* chore: rebase

* chore: collection option

* fix: update data source fields

* chore: console.log

* refactor: support api data source

* fix: data source test

* fix: sync field in data source

* chore: unavailableActions in collection option

* chore: unavailableActions in data source collections

* chore: file collection unavailableActions

* fix: test

* chore: unavailableActions  in actionInitializers

* fix: bug

* fix: destroy action

* chore: unavailableActions in plugin  actionInitializers

* fix: view

* chore: unavailableActions  in actionInitializers

* fix: missing removeCollection

* chore: test name

* fix: bug

* fix: bug

* chore: test

* refactor: availableTypes

* refactor: availableTypes

* chore: datasource options

* refactor: get current data source

* refactor: code improve

* fix: update collection with fields

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* chore: datasource logger

* chore: export Schema

* refactor: rawTextArea

* refactor: loadFilterTargetKeys in external data source

* chore: unavailableFunctions

* refactor:  support unAvailableFunctions

* refactor:  support unAvailableFunctions

* refactor:  support unAvailableFunctions

* refactor:  support unAvailableFunctions

* refactor:  support unAvailableFunctions

* revert: unavailableFunctions

* refactor: code improve

* fix: test

* chore: operation

* chore: operation

* fix: input support json field

* refactor: blockInitializers support unavailableActions

* chore: availableActions

* chore: availableActions

* refactor: support availableActions

* refactor: support availableActions

* chore: magic model test case

* fix: unixTimestamp support integer

* fix: disassociate

* fix: input readPretty

* fix: resolve error when opening modal via URL

* style: input readPretty style improve

* chore: support simple pagination

* chore: skip test

* refactor: details support pagination

* refactor: details support pagination

* chore: useActionAvailable

* fix: bug

* test: fix test

* fix: detailsBlockInitializer useActionAvailable

* chore: fix unit test

* refactor: pagination

* refactor: pagination

* test: fix test

---------

Co-authored-by: katherinehhh <katherine_15995@163.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Zeke Zhang <958414905@qq.com>
Co-authored-by: YANG QIA <2013xile@gmail.com>
Co-authored-by: Katherine <shunai.tang@hand-china.com>
Co-authored-by: GitHub Actions Bot <actions@github.com>
Co-authored-by: Junyi <mytharcher@users.noreply.github.com>
Co-authored-by: David Fecke <david.fecke@eyecook.net>
2024-07-19 22:26:27 +08:00
Junyi
1c9e71dbf6
feat(server): add cluster mode for starting app (#4895)
* feat(server): add cluster mode for starting app

* chore(env): adjust order of env item

* chore: sync in main data source

* chore: onSync in plugin

* refactor(server): change onSync to plugin method

---------

Co-authored-by: Chareice <chareice@live.com>
2024-07-18 23:23:23 +08:00
Zeke Zhang
41e08c6d29 Merge branch 'main' into next 2024-07-15 12:14:00 +08:00
ChengLei Shao
b07d547843
fix: create multiple auto incr field in mysql (#4839)
* chore: test

* chore: test

* chore: rollback set field if database transaction is rollback

* fix: test
2024-07-14 16:14:26 +08:00
YANG QIA
e0b5128c9d
feat(database): new field type many to many (array) (#4708)
* feat: recordSet field

* fix: record set field

* test: add tests

* fix: tests

* fix: build

* feat: front end

* refactor: belongs to array field

* fix: tests

* fix: version

* fix: version

* fix: build

* chore: update

* chore: add error

* chore: remove only

* feat: add locales

* fix: version

* fix: e2e

* fix: fix T-4661

* fix: fix T-4663

* fix: fix T-4665

* fix: fix T-4670

* fix: fix T-4666

* fix: fix T-4664

* fix: fix T-4668

* fix: test

* fix: fix T-4669

* fix: fix T-4667

* fix: bug

* fix: fix T-4670

* chore: add transaction

* feat: beforeAddDataSource hook

* feat: support external database sources, fix T-4717

* fix: bug

* fix: fix T-4671

* fix: fix T-4769

* fix: version

* fix: fix T-4762

* fix: array type interface

* fix: fix T-4742

* fix: fix T-4661

* fix: bug

* fix: bug

* feat: check association keys in backend

* fix: bug

* fix: bug

* fix: bug

* fix: test

* fix: bug

* fix: e2e

---------

Co-authored-by: Chareice <chareice@live.com>
2024-07-10 15:04:24 +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
ChengLei Shao
fb8ff62d01
chore(data-source-main): i18n of field depended error (#4843) 2024-07-08 09:21:29 +08:00