Commit Graph

277 Commits

Author SHA1 Message Date
katherinehhh
5c1cce9781 refactor: sourceKey should be string 2024-01-16 16:06:41 +08:00
katherinehhh
c2c65f15a1 refactor: o2o sourceKey should be string 2024-01-16 15:57:43 +08:00
katherinehhh
9ccec69068 refactor: target key should be string 2024-01-15 22:29:54 +08:00
katherinehhh
82ed96400f refactor: target key should be string 2024-01-15 22:20:05 +08:00
katherinehhh
222d3f0b7b refactor: target key shuold required 2024-01-15 22:04:12 +08:00
katherinehhh
dea66152b3 refactor: foreign key 2024-01-14 21:12:21 +08:00
katherinehhh
18a25682ed refactor: foreign key 2024-01-14 21:11:34 +08:00
katherinehhh
895e305a8e Merge branch 'main' into T-2771 2024-01-11 10:17:25 +08:00
chenos
2f8b0e75f8 feat: optimize translation 2024-01-11 10:06:44 +08:00
chenos
f2de05bea0 fix(client): hide gmt property 2024-01-09 18:12:34 +08:00
ChengLei Shao
fa97d0a642
feat: application backup and restore (#3268)
* fix: perform load action on boot main app

* feat: add dataType option in collection duplicator

* chore: reset optional dumpable config

* chore: dump command

* chore: dump & restore command

* chore: delay restore

* fix: dump test

* chore: restore command

* chore: dump command action

* chore: dumpable collection api

* chore: client collection option

* feat: backup& restore client

* chore: content disposition header in dump response

* chore: download backup field

* feat: collection origin option

* fix: test

* chore: collection manager collection origin

* chore: upload  backup field

* chore: upload restore file

* chore: upload restore file

* fix: test

* chore: backup and restore support learn more

* refactor: upload restore file

* refactor: upload restore file

* fix: test

* fix: test

* chore: dumpable collection with title

* chore: pg only test

* chore: test

* fix: test

* chore: test sleep

* style: locale improve

* refactor: download backup file

* refactor: start restore

* fix: restore key name

* refactor: start restore

* refactor: start restore

* refactor: start restore

* refactor: start restore

* refactor: start restore

* refactor: start restore

* chore: unify duplicator option

* fix: dump empty collection

* chore: test

* chore: test

* style: style improve

* refactor: locale improve

* chore: dumpalbe collection orders

* style: style improve

* style: style improve

* style: icon adjust

* chore: nginx body size

* chore: get file status

* feat: run dump task

* feat: download api

* chore: backup files resourcer

* feat: restore destroy api

* chore: backup files resoucer

* feat: list backup files action

* chore: get collection meta from dumped file

* fix: dump file name

* fix: test

* chore: backup and restore ui

* chore: swagger api for backup & restore

* chore: api doc

* chore: api doc

* chore: api doc

* chore: backup and restore ui

* chore: backup and restore ui

* chore: backup and restore ui

* chore: backup and restore ui

* chore: backup and restore ui

* fix: restore values

* style: style improve

* fix: download field respontype

* fix: restore form local file

* refactor: local improve

* refactor: delete backup file

* fix: in progress status

* refactor: locale improve

* refactor: locale improve

* refactor: style improve

* refactor: style improve

* refactor: style improve

* test: dump collection table attribute

* chore: dump collection with table attributes

* chore: test

* chore: create new table in restore

* fix: import error

* chore: restore table from backup file

* chore: sync collection after restore collections

* fix: restore json data

* style: style improve

* chore: restore with fields

* chore: test

* fix: test

* fix: test with underscored

* style: style improve

* fix: lock file state

* chore: add test file

* refactor: backup & restore plugin

* fix: mysql test

* chore: skip import view collection

* chore: restore collection with inherits topo order

* fix: import

* style: style improve

* fix: restore sequence fields

* fix: themeConfig collection duplicator option

* fix: restore with dialectOnly meta

* fix: throw error

* fix: restore

* fix: import backup file created in postgres into mysql

* fix: repeated items in inherits

* chore: upgrade after restore

* feat: check database env before restore

* feat: handle autoincr val in postgres

* chore: sqlite & mysql queryInterface

* chore: test

* fix: test

* chore: test

* fix: build

* fix: pg test

* fix: restore with date field

* chore: theme-config collection

* chore: chage import collections method to support collection origin

* chore: fallback get autoincr value in mysql

* fix: dataType normalize

* chore: delay restore

* chore: test

* fix: build

* feat: collectin onDump

* feat: collection onDump interface

* chore: dump with view collection

* chore: sync in restore

* refactor: locale improve

* refactor: code improve

* fix: test

* fix: data sync

* chore: rename backup & restore plugin

* chore: skip test

* style: style improve

* style: style improve

* style: style improve

* style: style improve

* chore: import version check

* chore: backup file dir

* chore: build

* fix: bugs

* fix: error

* fix: pageSize

* fix: import origin

* fix: improve code

* fix: remove namespace

* chore: dump rules config

* fix: dump custom collection

* chore: version

* fix: test

* fix: test

* fix: test

* fix: test

* chore: test

* fix: load custom collection

* fix: client

* fix: translation

* chore: code

* fix: bug

* fix:  support shared option

* fix: roles collection dumpRules

* chore: test

* fix: define collections

* chore: collection group

* fix: translation

* fix: translation

* fix: restore options

* chore: restore command

* chore: dump error

* fix: too many open files

---------

Co-authored-by: katherinehhh <katherine_15995@163.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
2024-01-08 18:59:56 +08:00
katherinehhh
af3ef28656 fix: value undefined in CollectionCategory 2024-01-08 15:25:18 +08:00
Chareice
0157deaff8
Merge branch 'T-2844' into T-2771 2024-01-07 22:24:35 +08:00
katherinehhh
393b9f47c2
refactor: view collection should omit rawTitle when sync form database (#3327) 2024-01-05 10:37:25 +08:00
katherinehhh
c26edf6282
fix: view collection should omit rawTitle when sync form database (#3326) 2024-01-05 09:57:23 +08:00
katherinehhh
1bbae2cc4f refactor: input interface support uid as availableTypes 2024-01-02 17:57:39 +08:00
katherinehhh
e5f068baa5 Merge branch 'main' into T-2771 2024-01-02 11:56:43 +08:00
katherinehhh
cc251b3222
fix: previewFields (#3293) 2024-01-01 17:10:12 +08:00
katherinehhh
2836df2f10
fix: view collection should set title value when sync form database (#3287) 2023-12-29 17:51:07 +08:00
katherinehhh
a6930bab12 Merge branch 'main' into T-2771 2023-12-29 09:56:25 +08:00
Zeke Zhang
4121075a98
test(e2e): add tests for collection manager (#3253)
* refactor: optimize file structure

* test: add tests for collection templates

* test: fix errors

* fix: fix errors

* test: schemaInitializer of fields

* fix: test erros

* fix: test error

* test: make tests more stable

* test: fix tree template
2023-12-29 09:14:47 +08:00
katherinehhh
7b4dacd79f refactor: collection manager export 2023-12-28 21:02:31 +08:00
katherinehhh
2074e5e4b8
style: collection manger fields style improve (#3276) 2023-12-28 14:51:24 +08:00
katherinehhh
e7c445d2e7 refactor: collection manager export 2023-12-28 10:28:48 +08:00
katherinehhh
3df49a4a7b refactor: collection manager export 2023-12-28 10:24:31 +08:00
katherinehhh
76e95729e4
fix: record picker display incorrect data when field has default value in collection (#3266)
* fix: default value should not set when field is readpretty or readonly

* fix: record picker display incorrect data when field has default value in collection
2023-12-26 17:21:25 +08:00
Dunqing
e112a644ea
feat(plugin-calendar): add calendar plugin (#3109)
* feat: init calendar plugin

* feat: move files to plugin

* feat: handle CalendarBlockInitializer in plugin

* feat: add todo

* feat: move collection template to plugin and fix i18n

* chore: update deps

* feat: export genStyleHook

* feat: handle i18n

* chore: remove react-i18next

* docs: update info

* test: move e2e test

* test: move to client

* chore: update version

* fix: merge revert

* fix: merge revert

* fix: missing SchemaSettings.xxx

* test: fix e2e failed

* test: update

* test: fix case failed

* fix: data blocks

* fix: remove provider

* fix: missing CalendarV2

* fix: missing CalendarActionInitializers

* fix: version

* fix: error

* fix: calender block form action should support print

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: katherinehhh <katherine_15995@163.com>
2023-12-23 15:16:41 +08:00
ChengLei Shao
261d4c4137
refactor: establish a sound testing system (#3179)
* chore: use vitest to replace jest

* chore: support vitest

* feat: vitest 1.0

* fix: test

* chore: yarn.lock

* chore: github actions

* fix: test

* fix: test

* fix: test

* fix: test

* fix: jest.fn

* fix: require

* fix: test

* fix: build

* fix: test

* fix: test

* fix: test

* fix: test

* fix: test

* fix: test

* fix: test

* fix: dynamic import

* fix: bug

* chore: yarn run test command

* chore: package.json

* chore: package.json

* chore: vite 5

* fix: fix variable test

* fix: import json

* feat: initEnv

* fix: env.APP_ENV_PATH

* chore: get package json

* fix: remove GlobalThmeProvider

* chore: update snap

* chore: test env

* chore: test env

* chore: import module

* chore: jest

* fix: load package json

* chore: test

* fix: bug

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* fix: import file in windows

* chore: import module with absolute file path

* fix: test error

* test: update snapshot

* chore: update yarn.lock

* fix: front-end tests do not include utils folder

* refactor: use vitest-dom

* fix: fix build

* fix: test error

* fix: change to vitest.config.mts

* fix: types error

* fix: types error

* fix: types error

* fix: error

* fix: test

* chore: test

* fix: test package

* feat: update dependencies

* refactor: test

* fix: error

* fix: error

* fix: __dirname is not defined in ES module scope

* fix: allow only

* fix: error

* fix: error

* fix: error

* fix: create-app

* fix: install-deps

* feat: update docs

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: dream2023 <1098626505@qq.com>
Co-authored-by: Zeke Zhang <958414905@qq.com>
2023-12-21 20:39:11 +08:00
Zeke Zhang
aaee46e0c2
feat(acl): supports 'current role' variable and collections filtering (#3181)
* feat(acl): support current role variable

* feat(acl): support to filter collections

* fix: the save conditions button should not be shown

* feat(formDataTemplates): supports to use variables for data scope

* test: make testing more stable

* fix: should only support filtering title and name

* fix: fix parse

* test: make testing more stable

* fix: should not use async function
2023-12-20 12:52:54 +08:00
YANG QIA
ff097936dd
fix(lm): reserve i18n namespaces for plugins to avoid conflicts (#3121)
* fix: fix T-2063

* fix: fix T-2589

* chore: remove translation of page header

* chore: add version check for migration

* chore: switch locale files to JSON format

* fix: bug

* fix(auth): fix translation

* fix: add App provider

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-12-06 14:30:17 +08:00
xilesun
ad25fe704c fix: issue with SQL collection when the source collection is deleted 2023-12-06 10:09:42 +08:00
katherinehhh
536001eaba
fix: validate uid rule (#3140) 2023-12-05 16:09:44 +08:00
katherinehhh
d573e6ff17
refactor: collection template support forbidDeletion setting (#3139) 2023-12-05 15:58:36 +08:00
katherinehhh
1b80cc431b
refactor: uid validate rule (#3134) 2023-12-04 17:56:08 +08:00
jack zhang
bf1a19426a
refactor: new schema initializer and schema settings (#2802)
* fix: form

* refactor: schema-initializer

* fix: bug

* refactor: schema initializer

* refactor: rename

* fix: delete SchemaInitializerProvider

* refactor: props `insert` to hooks `useSchemaInitializerV2`

* fix: bug

* refactor: delete `SchemaInitializer.Button`

* refactor: delete old SchemaInitializer

* fix: bug

* fix: workflow

* fix: docs

* fix: bug

* fix: bug

* feat: style

* fix: remove v2

* fix: visible

* fix: bug

* fix: item hook

* feat: item hook

* fix: add search DataBlockInitializer

* fix: build bug

* fix: style bug

* fix: style bug

* fix: test bug

* fix: test bug

* fix: rerender bug

* fix: remove menu select

* fix: bug

* chore: add aria-label for SchemaInitializerButton

* refactor: rename name to camel case

* fix: menu height bug

* fix: build errors

* fix: build errors

* fix: bug

* fix: bug

* fix: performance

* test: add test for header

* fix: sidebar is not refresh (T-2422)

* feat(e2e): support to add group page and link page

* chore: make sure the page is configurable when using page.goto

* test: add tests for menu initializer

* fix: imporve  code

* chore: fix build error

* chore: optimize locator of menu item

* refactor: rename testid for select

* test: make tests passing

* fix: make tests passing

* chore: upgrade vitest to v0.34.6

* chore: increase timeout of e2e

* feat: core

* fix: revert schema initializer demos

* test: menu, page tabs, page grid, table column

* fix: schema button interface

* feat: refactor: page tab settings

* feat: page settings

* fix: dumirc

* fix: export CSSVariableProvider

* feat: lazy render

* fix: form-item

* fix: general schema desinger

* feat: filter form item settings

* refactor: form-v2 schema settings

* refactor: form-v1 schema settings

* refactor: action schema settings

* fix: action bug

* fix: form-item bug

* fix: types error

* docs: schema settings  doc

* docs: schema settings

* feat: schema setting  item add name

* fix: visible lazy render bug

* fix: revert form item filter

* fix: test bug

* fix: test JSON.parse bug

* fix: test bug

* fix: improve styling

* fix: styling

* fix: cleanup

* fix: token.borderRadiusSM

* fix: bug

* test: add tests

* fix: style bug

* fix: add chart performance

* feat: add SchemaDesignerContext

* fix: bug

* fix: test bug

* style: create record action style improve

* fix: make test passing

* chore: mack tests passing

* chore: make tests passing

* test: fix tests

* style: style revert

* fix: bug

* fix: data selector

* fix: fix tests

* fix: fix tests

* fix: delete PluginManagerContext

* refactor: improve router and add SchemaComponentProvider & CSSVariableProvider to MainComponent

* fix: add dn and field builtin to SchemaSettingWrapper

* feat: update docs

* refactor: application providers

* fix: test bug

* fix: fix tests

* chore: make test passing

* feat: update docs

* chore: rename collection name

* feat: update docs

* chore: skip weird test

* fix: blockInitializers media to otherBlocks

* fix: cancel to skip test

* fix: bug

* test: add test

* refactor: migrate to small files

* test: add tests for form block settings

* chore: format

* fix: add chart scroll bug

* refactor: action designer improve

* refactor: formitem designer schemaSetting

* feat: schemaSettingsManager and schemaInitializerManager addItem and removeItem

* test: add tests for color field in creating block

* test: add tests for email field in creating block

* test: make tests passing

* perf: reduce fields number

* fix: sub menu bug

* test: add tests basic in editing form

* test: add tests basic in details form

* fix: improve code

* test: make tests passing

* test(plugin-mock-collections): add color for enum options

* refactor: improve code

* fix: bug

* fix: bug

* refactor: convert parameters to destructured object

* test: add tests choices

* test: add tests media

* test: add tests for datetime in creating form

* feat(plugin-mock-collection): generate faker time

* test: add tests for datetime in editing form

* test: add tests for datetime in details form

* fix: bug

* feat: improve code

* test: add tests for relation fields

* fix: rename SchemaSettings

* fix: type bug

* refactor: useDesinger()

* fix: bug

* fix: bug

* fix: build tip

* fix: designableState

* fix: bug

* fix: designable

* fix: designable

* test: add tests for relation fields

* test: add tests for relation fields

* test: add tests for relation fields

* feat: client api doc

* test: add tests for relation fields

* test: avoid errors

* test: make tests passing

* fix: bug

* test: make tests passing

* test: add tests for advanced fields

* test: increase e2e timeout-minutes to 60

* fix: bug

* fix: improve code

* feat: add schema initailizer component  demos

* test: make tests passing

* fix: schema settings demos

* feat: shallowMerge & deepMerge

* test: reduce number of tests

* test: make tests passing

* feat: updates

* fix: add Initializer Internal

* demos:  useSchemaSettingsRender

* test: make tests passing

* test: make tests passing

* fix: improve docs

* fix: bug

* chore: upgrade dumi theme

* test: make tests passing

* test: add tests for linkage rules

* test: add test for form data templates

* test: add tests for default value

* test: reduce number of tests

* fix: dn.deepMerge

* fix: bug

* fix: bug

* fix: toolbar

* fix: docs ssr

* test: add tests for system fields

* test: add tests for actions

* fix:  bug

* test: add tests for lazy loading of variables

* test: make testing more stable

* fix: update docs

* fix: bug

---------

Co-authored-by: Rain <958414905@qq.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: katherinehhh <katherine_15995@163.com>
2023-12-04 14:56:46 +08:00
katherinehhh
52c83cadb3
refactor: url& sequence support availableType as string (#3126) 2023-12-01 16:38:34 +08:00
katherinehhh
a436b59268
refactor: view collection support json field (#3125) 2023-12-01 15:36:32 +08:00
katherinehhh
4f9696035a
refactor: collection template support configureActions (#3123) 2023-12-01 11:27:38 +08:00
katherinehhh
1d01a66193
fix: onTemplateSuccess undefined (#3119) 2023-11-30 17:32:42 +08:00
katherinehhh
cb22d0f2ed
fix: fields options undefined (#3116) 2023-11-30 11:47:16 +08:00
katherinehhh
0cf045d142
fix: association data params missing appends (#3103)
* fix: association data params missing appends

* refactor: code improve
2023-11-28 11:12:42 +08:00
katherinehhh
641d59421d
refactor: import interface getOptions (#3088) 2023-11-24 17:01:16 +08:00
YANG QIA
039deac92b
fix: sql collection creation issue (#3087) 2023-11-24 15:43:04 +08:00
katherinehhh
78bd78ca3d
fix: view collection json field rendering error (#3077) 2023-11-23 11:50:34 +08:00
ChengLei Shao
ac3f63b110
feat: drop table with cascade option (#2973)
* refactor: delete collection support cascade

* chore: remove collection from database

* feat: remove collection with cascade option

* chore: test

* chore: test

* chore: delete collection support cascade

* refactor: code improve

* refactor: locale improve

* style: delete collection modal style improve

* revert: filemanger-plugin

* revert: code improve

* revert: code improve

* revert: fix: bluk dele collection

* fix: cascade === true && cascade === 'true'

---------

Co-authored-by: katherinehhh <katherine_15995@163.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-11-06 11:50:37 +08:00
被雨水过滤的空气-Rain
bce02ad1d7
perf: avoid page lag or stuttering (#2964)
* perf: avoid page lag or stuttering

* perf: improve performance of data scope

* chore: remove console.log

* perf: avoid crashing

* fix: make tests passing

* fix: fix title of dialog
2023-11-05 17:59:22 +08:00
被雨水过滤的空气-Rain
29bf187fbf
chore: optimize locators (#2833)
* test(e2e): better locators for designer buttons

* fix: make test passing

* refactor: remove DesignerControl

* chore: better locators

* fix: should not disable add-menu-item

* chore: better test id for block

* chore: optimize Action

* chore: remove role in BlockItem

* feat: improve locators

* chore: menu & add block

* chore: initializer

* chore: testid -> aria label

* chore: tabs

* chore: designers

* refactor: optimize schemaInitializer

* refactor: rename

* chore: add collectionName

* chore: block item

* chore: action

* fix: avoid crashting

* chore(e2e): add __E2E__

* chore: all dialog

* chore: add aria-label for block menu

* Revert "chore: add aria-label for block menu"

This reverts commit 6a840ef816.

* chore: optimize aria-label of Action

* chore: schema-initializer

* chore(e2e): increase timeout

* chore: schema settings

* chore: optimize table

* chore: workflow

* chore: plugin manager

* chore: collection manager and workflow

* chore: details of workflow

* chore: remove testid of Select

* test: fix unit-tests

* test: fix unit-tests

* test(e2e): passing tests

* test: fix unit test

* chore: should use hover

* test: passing tests

* chore: passing tests

* chore: fix CI

* chore: fix CI

* chore: increase timeout in CI

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-10-27 15:32:17 +08:00
chenos
d492471ed5
fix: useValuesFromRecord with cloneDeep (#2902)
* fix: useValuesFromRecord with cloneDeep

* fix: omit uiSchema.rawTitle

* fix: disabled
2023-10-25 08:58:45 +08:00
被雨水过滤的空气-Rain
e05a30380a
feat(variable): add current parent record (#2857)
* feat(variable): add currentParentRecord

* chore: resolve table actions

* chore: get collection name of parent

* chore: table block and details block

* chore: list block

* chore: grid card block

* chore: calendar

* fix: bulk button

* refactor: use useMemo

* fix: fix form block
2023-10-19 22:55:05 +08:00
katherinehhh
6a7e7b3594
fix: association field in assign field should set title field as collection field config (#2839) 2023-10-16 10:31:10 +08:00