Commit Graph

163 Commits

Author SHA1 Message Date
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
chenos
b7fb765fca chore(versions): 😊 publish v1.0.0-alpha.2 2024-04-29 13:00:44 +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
chenos
fdd3ca614e chore(versions): 😊 publish v0.21.0-alpha.16 2024-04-28 21:24:57 +08:00
Zeke Zhang
8524beae67 chore: make e2e more stable 2024-04-28 17:46:31 +08:00
Zeke Zhang
def7530d14
chore: add e2e (#4184)
* test: schemaInitializer of map

* test: settings of map block

* refactor: extract common options

* chore: test filter blocks in page

* chore: test filter block in popup

* chore: add e2e for inherit fields

* chore: attachement field

* chore: file block

* chore: should use beforEach instead of beforAll

* chore: make e2e pass

* chore: only run map e2e

* Revert "chore: only run map e2e"

This reverts commit fbdae1a573.
2024-04-27 14:06:42 +08:00
chenos
05504b5678 chore(versions): 😊 publish v0.21.0-alpha.15 2024-04-23 11:18:20 +08:00
chenos
7e4ad0daae chore(versions): 😊 publish v0.21.0-alpha.14 2024-04-22 11:26:15 +08:00
chenos
9b20b04e98 chore(versions): 😊 publish v0.21.0-alpha.13 2024-04-21 12:04:14 +08:00
chenos
a8eb2b719c chore(versions): 😊 publish v0.21.0-alpha.12 2024-04-19 22:53:42 +08:00
chenos
438a059c7b chore(versions): 😊 publish v0.21.0-alpha.11 2024-04-17 23:47:44 +08:00
chenos
d76d657622 chore(versions): 😊 publish v0.21.0-alpha.10 2024-04-16 23:51:49 +08:00
chenos
64e12bb08b chore(versions): 😊 publish v0.21.0-alpha.9 2024-04-16 22:53:12 +08:00
Zeke Zhang
3d857d2e69
fix(variable): missing variables and invalid translations (#4054)
* fix(variable):  missing variables and invalid translations

* refactor: better

* fix: should display current record variable

* fix: template

* chore: add deps

* chore: add e2e for table view

* fix: current record variable

* chore: avoid error

* fix: bugs

* chore: fix failed e2e

* chore: fix e2e

* fix: colection name
2024-04-16 22:50:52 +08:00
chenos
8c779b4cf6 chore(versions): 😊 publish v0.21.0-alpha.8 2024-04-16 00:26:13 +08:00
Zeke Zhang
fe4be822b9 feat: add to more blocks 2024-04-15 19:46:13 +08:00
xilesun
d66c2baa53 chore(versions): 😊 publish v0.21.0-alpha.7 2024-04-13 09:37:59 +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
chenos
6017c01f02 chore(versions): 😊 publish v0.21.0-alpha.6 2024-04-07 21:52:45 +08:00
chenos
b63a685f84 chore(versions): 😊 publish v0.21.0-alpha.5 2024-04-07 11:06:02 +08:00
chenos
31713390b5 chore(versions): 😊 publish v0.21.0-alpha.4 2024-04-07 08:33:05 +08:00
chenos
d2b808671b chore(versions): 😊 publish v0.21.0-alpha.3 2024-04-06 13:04:57 +08:00
Zeke Zhang
b750cab942
refactor: unify tab initailizer naming (#3932)
* refactor: rename dialog to popup

* feat: add tabPaneInitializers

* refactor: rename TabPaneInitializers to popup:addTab

* refactor: rename TabPaneInitializersForCreateFormBlock to popup:addTab

* refactor: rename TabPaneInitializersForBulkEditFormBlock to popup:addTab

* chore: fix unit tests

* chore: fix e2e
2024-04-05 23:19:09 +08:00
chenos
d173aef69b chore(versions): 😊 publish v0.21.0-alpha.2 2024-04-03 23:31:25 +08:00
Zeke Zhang
2f40bfab2b
chore: add API comments (#3919)
* chore: add API comments

* refactor: rename
2024-04-03 23:19:54 +08:00
jack zhang
cc75f6f4d2
fix: lazy render bug (#3886)
* fix: lazy render bug
---------

Co-authored-by: Zeke Zhang <958414905@qq.com>
2024-04-03 09:13:45 +08:00
jack zhang
8a1345a5b8
feat: table performance (#3791)
* fix: table add useMemo and useCallback

* fix: memo bug

* fix: sub table bug

* fix: form item performance

* fix: settings center performance impove

* fix: bug

* fix: bug

* fix: form first value change check performance

* fix: revert first form change

* fix: css move out component

* fix: page change table should not render

* fix: pre process merge bug

* fix: assotion bug

* fix: input and useDeppMemoized performance

* fix: bug

* fix: bug

* fix: improve Action.tsx lazy show content

* fix: remove Action performance imporve

* fix: assocication read pretty not loading

* fix: cssInJs imporve

* fix: imporve kanban rerender

* fix: remove useless CurrentAppInfoProvider in plugin

* fix: divide the schema into several parts

* fix: tabs.tsx and Page.tsx divide

* fix: form-item imporve

* fix: add OverrideSchemaComponentRefresher

* fix: page and tabs bug

* fix: workflow bug

* fix: remove useDeepMemorized()

* fix: e2e bug

* fix: internal Tag and viewer

* fix: collection field read pretty mode skip

* fix: others performance

* fix: revert collection field read pretty

* fix: table column not render when value is null or undefined

* fix: table and grid add view check

* fix: kanban lazy render

* fix: remove table useWhyDidYouUpdate

* fix: table index skip loading

* fix: card drag rerender loading

* fix: e2e skip lazy render

* fix: e2e bug

* fix: action e2e bug

* fix: grid and kanban card

* fix: remove override refresher component

* fix: unit test bug

* fix: change schema component props name

* fix: e2e and unit test bug

* fix: e2e bug

* fix: not lazy render when data length less 10 (T-3784)

* chore: fix merge

* chore: fix e2e

* fix: drag bug (T-3807)

* fix: repetitive refresh (T-3729)

* fix: pre fix merge confict

---------

Co-authored-by: Zeke Zhang <958414905@qq.com>
2024-03-30 20:31:11 +08:00
chenos
6e20ab1a77 chore(versions): 😊 publish v0.21.0-alpha.1 2024-03-29 17:43:20 +08:00
Zeke Zhang
74051ff0a5
refactor(DataBlock): kanban and gantt and map and calendar (#3792)
* refactor: kanban

* refactor: gantt

* refactor: map

* refactor: calendar

* refactor: compat

* refactor: rename to createKanbanBlockUISchema

* refactor(kanban): use x-use-component-props instead of useProps

* refactor(Gantt): rename to createGanttBlockUISchema

* refactor: use x-use-component-props instead of useProps

* refactor: rename

* refactor(Map): use x-use-component-props instead of useProps

* refactor(Calendar): rename

* refactor(Calendar): should not get collection on getting association in UISchema

* refactor(Calendar): use x-use-component-props instead of useProps

* chore: add comment

* chore: fix unit test

* fix: add scopes to fix e2e

* fix(Calendar): add association property to CalendarBlockProvider decorator

* test: add e2e for Calenndar
2024-03-27 18:06:28 +08:00
chenos
339822241f chore(versions): 😊 publish v0.20.0-alpha.17 2024-03-26 17:25:06 +08:00
Zeke Zhang
0269a1ff7d
fix(Details): block template (#3807)
* fix: add 'Details' in condition

* fix: block template
2024-03-25 16:25:41 +08:00
chenos
71ec7ece6a chore(versions): 😊 publish v0.20.0-alpha.16 2024-03-23 17:54:02 +08:00
chenos
bef9c8ab7b chore(versions): 😊 publish v0.20.0-alpha.15 2024-03-20 14:47:28 +08:00
chenos
c75d38bb05 chore(versions): 😊 publish v0.20.0-alpha.14 2024-03-18 18:29:13 +08:00
chenos
db9ff337e5 chore(versions): 😊 publish v0.20.0-alpha.13 2024-03-17 23:34:26 +08:00
chenos
c1be864124 chore(versions): 😊 publish v0.20.0-alpha.12 2024-03-16 23:18:19 +08:00
chenos
15ef81854e chore(versions): 😊 publish v0.20.0-alpha.11 2024-03-16 20:05:34 +08:00
Zeke Zhang
ba1e44c527
feat: support to set data loading mode (#3712)
* feat: add setDataLoadingModeSettingItem

* feat: support to set data loading mode

* chore: add translation

* chore: refresh the block immediately after the configuration has been changed

* feat: the data loading mode should also work for the filter buttons

* feat: support old version

* fix: data scope

* fix: fix known bugs

* fix: add setting for table selector

* test: fix e2e
2024-03-14 18:10:54 +08:00
Zeke Zhang
51de34251a
refactor(SchemaInitializers): unify naming style (#3604)
* refactor(SchemaSettings): unify naming style

* refactor(SchemaInitializers): unify naming stle

* refactor: replace CreateFormBlockInitializers to blockInitializers:createForm

* refactor: replace to blockInitializers:customizeCreateForm

* refactor: replace block intializers name

* refactor: replace action initializers name

* refactor: replace field initializers name

* style: fix hover style for column action (T-3297)

* refactor: revert some codes

* chore: update comment

* chore: replace iframeBlockSchemaSettings to blockSettings:iframe

* chore: delete pro-packages

* feat: add CompatibleSchemaInitializer

* test: add unit tests

* chore: add @internal for CompatibleSchemaInitializer

* chore: block

* chore: field

* chore: ations

* fix: build

* chore: typo

* fix: fix unit tests

* test: fix e2e

* chore: remove igone

* refactor: page:addBlock

* refactor: popup:addNew:addBlock

* fix: fix max call stack

* refactor: popup:addRecord:addBlock

* refactor: remove blockInitializers:recordForm

* refactor: popup:tableSelector:addBlock

* refactor: popup:view:addBlock

* refactor: popup:bulkEdit:addBlock & charts:addBlock

* refactor: mobilePage:addBlock

* refactor: popup:snapshot:addBlock

* refactor: popup:workflowManual:configureUserInterface:addBlock

* fix: avoid crashing

* chore: optimize

* refactor: popup:common:addBlock

* refactor: workflowManual:popup:configureUserInterface:addBlock

* refactor: details:configureFields

* refactor: form:configureFields

* refactor: table:configureColumns

* refactor: filterForm:configureFields

* refactor: associationFilterInitializer

* refactor: assignFieldValuesForm:configureFields

* refactor: bulkEditForm:configureFields

* refactor: auditLogsTable:configureColumns

* refactor: chartFilterForm:configureFields

* refactor: kanban:configureItemFields

* refactor: workflowManual:customForm:configureFields

* refactor: detailsWithPaging:configureActions

* refactor: details:configureActions

* refactor: createForm:configureActions

* refactor: editForm:configureActions

* refactor: gridCard:configureActions

* refactor: gridCard:configureItemActions

* refactor: list:configureActions

* refactor: list:configureItemActions

* refactor: table:configureItemActions

* refactor: table:configureActions

* refactor: filterForm:configureActions

* refactor: subTable:configureActions

* refactor: bulkEditForm:configureActions

* refactor: auditLogsTable:configureItemActions

* refactor: auditLogsTable:configureActions

* refactor: calendar:configureActions

* refactor: chartFilterForm:configureActions

* refactor: gantt:configureActions

* refactor: kanban:configureActions

* refactor: map:configureActions

* refactor: workflowManual:form:configureActions

* feat: use 'createForm:configureActions' in page

* feat: use 'details:configureActions' in Calendar

* feat: register deleteEvent initializer in calendar plugin

* fix: fix delete event action

* test: fix e2e

* test: fix e2e

* chore: only run workflow's e2e

* Revert "chore: only run workflow's e2e"

This reverts commit 9e5b4af41e.

* fix: use isInitializersSame to fix some case
2024-03-14 14:13:11 +08:00
chenos
40a22943b9 chore(versions): 😊 publish v0.20.0-alpha.10 2024-03-13 22:41:12 +08:00
chenos
2e7da6e29b chore(versions): 😊 publish v0.20.0-alpha.9 2024-03-12 21:15:51 +08:00
xilesun
6fd06a28c8 chore(versions): 😊 publish v0.20.0-alpha.8 2024-03-11 09:59:08 +08:00
chenos
63d1a8d90c chore(versions): 😊 publish v0.20.0-alpha.7 2024-03-08 14:11:35 +08:00
chenos
8b4821e2df chore(versions): 😊 publish v0.20.0-alpha.6 2024-03-08 10:23:26 +08:00
jack zhang
454d1d34ed
fix: add displayName (#3628)
* fix: context add displayName

* fix: observer add displayName

* fix: memo component add displayName

* fix: forwordRef component add displayName
2024-03-06 18:22:31 +08:00
chenos
0fc382d298 chore(versions): 😊 publish v0.20.0-alpha.5 2024-03-06 00:20:06 +08:00
chenos
e7cc6cca54 chore(versions): 😊 publish v0.20.0-alpha.4 2024-03-05 09:08:53 +08:00
chenos
e377f3a57c fix: update plugin package.json 2024-03-04 23:02:29 +08:00
chenos
ff9acd6d69 chore(versions): 😊 publish v0.20.0-alpha.3 2024-03-04 21:37:43 +08:00
chenos
32b15cb108 chore(versions): 😊 publish v0.20.0-alpha.2 2024-03-03 23:37:37 +08:00
chenos
29e10f365f chore(versions): 😊 publish v0.20.0-alpha.1 2024-03-03 23:08:21 +08:00
katherinehhh
af6113c8ef
feat: support for multiple data sources (#3418)
* refactor: collectionName display with tablePrefix

* fix: bug

* fix: schema toolbar no ddata source (T-3182)

* fix: unit test bug

* fix: useAssociationNames support data source

* chore(RecordProvider_deprecated): add collectionName

* fix: deprecated

* refactor: default value

* refactor: default value

* fix: fastRefresh=false

* style: fix action link style (T-3228)

* fix: should not diaplay Save mode for some Action (T-3217)

* chore: remove group title (T-3194)

* fix: extend collections bug

* chore: transaction

* fix: filter block only current data source (T-3226)

* fix: fix filter block in drawer (T-3224)

* fix: avoid error when editing field (T-3232)

* fix: primary key name in postgres

* chore: test

* chore: test

* refactor: forgin key support select and input

* fix: doc bug

* fix: change duplllicte divier name

* feat: throughScope

* fix: bug

* refactor: local improve

* fix: fix parent record of Add child in tree table (T-3235)

* fix: block template filter by dataSource(T-3234)

* chore: change table primary key

* refactor: index for primarykey & unique

* chore: test

* fix: should not display filter blocks option if no association field (T-3242)

* fix: dataSourceKey

* refactor: sourcekey & forginkey & targetkey limit type

* fix: bug

* chore: test

* fix: upload action

* fix: unit test

* fix: useSourceIdFromParentRecord

* fix: permissions

* fix: oho association field should has default fieldnames

* fix: useSourceIdFromParentRecord

* fix: tableSelectorProvider collection undefined

* fix: bug

* chore: validate association keys

* fix: apply mixin bug

* fix: getPrimaryKey

* fix: bug T-3253

* fix:  collection unit test

* chore: validate association keys

* fix: create collection

* fix: getCollection in TableBlockProvider

* refactor: association key in data source manager

* fix: improve doc

* fix(relationshipBlocks): fix sourceId (T-3257,T-3264)

* fix: plugin acl test

* chore: correct field options

* fix: dataScope resource

* fix: improve doc

* fix: appVersion = '<0.20.0-alpha.1'

* refactor: fieldNames

* refactor: primarykey & unique & autoIncrement shuld not support edit in third dataSource

* fix: bug

* fix: gantt block params tree

* fix: style

* fix: wording & icon

* fix: bug

* fix: roles cache

* refactor: calender & express & file collection support preset fields

* fix: decode uri

* refactor: migrate files [wip] (#3584)

* refactor: migrate blockSettings:table

* refactor: migrate fieldSettings:TableColumn

* refactor: migrate TableBlockInitializer

* fix: fix import path

* refactor: migrate TableActionInitailizers

* refactor: migrate TableColumnInitializers

* refactor: migrate TableActionColumnInitializers

* refactor: migrate TableColumnSchemaToolbar

* refactor: migrate TableSelectorInitializer

* refactor: migrate blockSettings:tableSelector

* refactor(tableSelector): migrate e2e

* refactor(form): migrate e2e

* refactor: migrate FormBlockInitializer

* refactor: migrate CreateFormBlockInitializer

* refactor: migrate RecordFormBlockInitializer

* refactor: migrate blockSettings:createForm

* refactor: rename file name

* refactor: migrate blockSettings:editForm

* refactor: migrate FormActionInitailizers

* refactor: move to a new file

* refactor: migrate formItemInitializers

* refactor: migrate FormItemSchemaToolbar

* refactor: migrate fieldSettings:FormItem

* chore: fix build

* fix: fix weird path error

* fix: rename formActionInitializers

* fix: create collection field

* refactor: throughCollection

* fix: datasources get permission

* fix: throughCollection

* fix: throughCollection

* fix: register initializer components

* refactor: targetkey & source key must be unique

* refactor: targetkey & source key must be unique index

* fix(customRequest): avoid error when clicking button

* chore: error message when add multiple primary keys

* fix: target key in hasMany

* fix: default value should not support edit in outside dataSource

* fix: test

* fix: update associations (#3586)

* fix: source key

* fix: addAccessor

* fix: updateAssociations

* fix: bugs

* fix: remove test.only

* refactor: migrate RecordReadPrettyFormBlockInitializer

* refactor: migrate singleDataDetailsBlockSettings

* fix(users): filter bug

* refactor: migrate readPrettyFormActionInitializers

* refactor: migrate readPrettyFormItemInitializers

* refactor: migrate DetailsBlockInitializer

* refactor: migrate multiDataDetailsBlockSettings

* feat: validate association key pairs

* chore: default title

* refactor: migrate detailsActionInitializers

* refactor: migrate e2e

* refactor: migrate ListBlockInitializer

* refactor: migrate listBlockSettings

* refactor: migrate listActionInitializers

* refactor: migrate listItemActionInitializers

* fix: create collection

* fix: remove fieldsHistoryRepository.createMany

* test(e2e): fix error message for roles.name

* fix: sync indexes in postgres

* chore: test

* test: acl test

* test(e2e): fix sort error

* refactor: remove useless code

* test: kanban e2e

* fix: load user

* fix: test

* test: fix unit tests

* fix: db.sync

* test: updateRole

* fix: test

* fix: settings and initializer performance improve

* fix: update role resources

* fix: add block

* fix: fix T-3308

* test: fix e2e

* test(e2e): skip fix block

* chore: skip test in sqlite

* fix: change initializer menu key

* test(collectionManager): fix e2e

* refactor: sort field availableTypes

* fix: client core performance optimization

* refactor(GridCard): migrate e2e

* refactor: migrate GridCard

* fix: bug

* refactor: migrate utils

* refactor: migrate filter-form

* fix: change Record to CollectionRecord

* chore: acl migration

* chore: acl migration

* chore: migration of acl

* refactor: migrate Collapse

* chore: error message

* fix: update associations

* chore: update collection search to be case-insensitive

* refactor: migrate Markdown

* fix(WorkflowTodos): x-toolbar typo

* feat: admin change password

* feat: check foreign key && target key value in update associations

* chore: dataSource permission

* refactor: dataSource permission

* fix: acl support data source permission

* fix: fix T-3307

* chore: test

* refactor: locale improve

* chore: locale

* chore: sqlite test config

* chore: create user with roles test

* chore: test

* test: fix mock data to avoid duplication

* chore: test

* fix: load table with tablePrefix

* chore: move action in datasource

* chore: number field to sort field type

* test: optimize dropdown

* chore: upgrade @playwright/test to v1.42.1

* fix: fix invalid path for Windows

* test: fix e2e

* chore: kanban Sort field

* fix: kanban

* fix: kanban

* refactor: create sort in kanban

* refactor: create sort field in kanban

* refactor: locale improve

* refactor: locale improve

* fix: sync with null default value

* refactor: collectionFieldInterfaceSelect

* fix: move action

* fix: update associations

* fix: test case

* chore: test

* test: optimize e2e

* feat: remvoe Duplicate for single details block (T-3195)

* fix(fieldNames): should use primaryKey as default value (T-3322, T-3319)

* fix: use filterTargetKey as fieldNNames.value

* test: fix e2e

* test: fix e2e

* test(kanban): fix e2e

* test(blockTemplate): should clear template at end of test

* refactor: migrate fields

* refactor: migrate actions

* refactor: migrate menu

* refactor: migrate page

* refactor(SchemaSettings): unify naming style

* fix: scopeKeyOptions undefined

* refactor(SchemaInitializers): unify naming stle

* fix(bi): chart filter fields

* chore: acl snippets

* refactor: replace CreateFormBlockInitializers to blockInitializers:createForm

* refactor: replace to blockInitializers:customizeCreateForm

* refactor: replace block intializers name

* refactor: replace action initializers name

* refactor: replace field initializers name

* style: fix hover style for column action (T-3297)

* refactor: revert some codes

* chore: update comment

* fix: revert record deprected

* fix: remove pro-plugins

* fix: bug

* chore: replace iframeBlockSchemaSettings to blockSettings:iframe

* Revert "refactor: revert some codes"

This reverts commit 991021ceae.

* Revert "refactor: replace field initializers name"

This reverts commit b47b808d06.

* Revert "refactor: replace action initializers name"

This reverts commit eab1b6e3d9.

* Revert "refactor: replace block intializers name"

This reverts commit 50ab9da177.

* Revert "refactor: replace to blockInitializers:customizeCreateForm"

This reverts commit 77b9f59bb1.

* Revert "refactor: replace CreateFormBlockInitializers to blockInitializers:createForm"

This reverts commit e9a38b0b4d.

* Revert "refactor(SchemaInitializers): unify naming stle"

This reverts commit 542390899f.

* Revert "refactor(SchemaSettings): unify naming style"

This reverts commit 8566735922.

* Revert "chore: replace iframeBlockSchemaSettings to blockSettings:iframe"

This reverts commit 884f6df92f.

* refactor: create sorting field in kanban

* refactor: create sorting field in kanban

* fix: style

* fix: bug

* fix(SideMenu): fix the problem of invalid add menu (T-3331)

* fix: translation

* feat: client en-US docs

---------

Co-authored-by: xilesun <2013xile@gmail.com>
Co-authored-by: dream2023 <1098626505@qq.com>
Co-authored-by: Zeke Zhang <958414905@qq.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Chareice <chareice@live.com>
2024-03-03 23:06:24 +08:00
chenos
9520b2431e chore(versions): 😊 publish v0.19.0-alpha.9 2024-02-28 09:20:38 +08:00
chenos
83e2d64da9
chore: optimize plugin description (#3552) 2024-02-22 23:13:31 +08:00
chenos
a736847a0f chore(versions): 😊 publish v0.19.0-alpha.8 2024-02-21 12:59:16 +08:00
chenos
8cb1942926 chore(versions): 😊 publish v0.19.0-alpha.7 2024-02-20 18:44:20 +08:00
chenos
d8bbdc9648 chore(versions): 😊 publish v0.19.0-alpha.6 2024-02-07 20:11:19 +08:00
chenos
c0988d9fc6 feat: update package.json 2024-02-05 21:10:48 +08:00
katherinehhh
a059b27d13
refactor: plugin manager keywords (#3490) 2024-02-05 14:37:07 +08:00
katherinehhh
44a70107af
refactor: plugin manager optimize & support keywords (#3467)
* refactor: plugin manager refactor

* refactor: plugin manager keywords

* refactor: plugin manager keywords

* refactor: disabled plugin support seccend confirm

* refactor: plugin manager

* refactor: plugin manager

* refactor: plugin manager

* refactor: plugin manager

* refactor: plugin manager

* refactor: plugin manager

* fix: styles

* fix: 4

* refactor: plugin manger sort by display name

* refactor: plugin manger homepage

* refactor: plugin manger keyword

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2024-02-02 12:02:18 +08:00
chenos
8765208016 chore(versions): 😊 publish v0.19.0-alpha.5 2024-01-30 17:11:37 +08:00
chenos
65020f69d4 chore(versions): 😊 publish v0.19.0-alpha.4 2024-01-26 21:16:57 +08:00
seonghookim
be7a4845ab
feat: add Korean translation (#3428)
* ko_KR 国际化

* fix: ko

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2024-01-25 22:07:22 +08:00
chenos
38c19818d3 chore(versions): 😊 publish v0.19.0-alpha.3 2024-01-09 18:32:09 +08:00
chenos
2070f2046d chore(versions): 😊 publish v0.19.0-alpha.2 2024-01-09 09:13:16 +08:00
chenos
c39d3398ae chore(versions): 😊 publish v0.19.0-alpha.1 2024-01-08 19:32:54 +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
Zeke Zhang
d85aaa36e3
fix(z-index): avoid obscuring the pop-up and upgrade antd to v5.12.8 (#3337)
* fix(z-index): avoid obscuring the pop-up

* test: optimize

* chore: fix build

* test: fix errors
2024-01-06 18:32:25 +08:00
xilesun
004998a80a chore(versions): 😊 publish v0.18.0-alpha.9 2024-01-03 10:00:45 +08:00
chenos
8bac8dac71 chore(versions): 😊 publish v0.18.0-alpha.8 2023-12-29 15:49:02 +08:00
chenos
501e3f1db2 chore(versions): 😊 publish v0.18.0-alpha.3 2023-12-29 09:42:06 +08:00
chenos
e8f481ae68 chore(versions): 😊 publish v0.18.0-alpha.2 2023-12-25 22:26:05 +08:00
chenos
95e6a32647 chore(versions): 😊 publish v0.18.0-alpha.1 2023-12-21 20:40:32 +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
katherinehhh
b1610e6994
feat: kanban& gantt&bulk edit& bulk update& duplicate& print action pluggable (#3019)
* fix: bug

* test: kanban test

* test: gantt block test

* test: gantt test

* test: gantt test

* test: gantt test

* 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

* test: gantt block test

* test: gantt test

* test: gantt test

* test: gantt test

* fix: bug

* feat: improve code

* test: add tests for relation fields

* refactor: style improve

* fix: rename SchemaSettings

* fix: type bug

* refactor: useDesinger()

* fix: bug

* fix: bug

* fix: build tip

* refactor: kanban setting

* refactor: gantt setting

* refactor: bulk update setting

* refactor: bulk update setting

* refactor: bulk edit settings

* refactor: duplicate settings

* refactor: print action setting

* refactor: duplicate settings

* refactor: bulk update refactor

* refactor: bulk update refactor

* fix: designableState

* fix: bug

* fix: designable

* refactor: bulk update

* 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: gantt test

* 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

* test: bulk update test

* refactor: useSchemaToolbar

* fix: improve docs

* fix: bug

* test: duplicate action test

* test: duplicate action test

* test: duplicate action test

* test: duplicate action test

* 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

* refactor: bulk edit setting

* test: bulk edit action test

* test: bulk edit action test

* fix: dn.deepMerge

* fix: bug

* test: bulk edit action test

* test: kanban test

* refactor: bulk update version

* refactor: print action version

* 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

* test: bulk edit test

* test: bulk update action test

* fix: update docs

* test: print test

* test: kanban test

* test: kanban test

* refactor: duplicate version

* fix: merge bug

* refactor: bulk update

* fix: merge bug

* refactor: bulk edit

* refactor: import

* refactor: export action

* refactor: code improve

* refactor: kanban code improve

* fix: merge bug

* refactor: readPrettyFormActionInitializers

* test: print action test

* test: print action test

* refactor: print action

* test: action test

* refactor: gantt date change

* style: gantt  style improve

* test: gantt &bulkUpdate test

* test: bulk update test

* test: duplicate action test

* test: print action test

* test: bulk edit action test

* test: gantt block test

* test: kanban block test

* test: test file name

* test: test file name

* test: bulk update action tst

* refactor: rename test file name

* refactor: bulk update action

* refactor: gantt test

* fix: block template

* fix: block template

* fix: useFieldModeOptions

* refactor: code improve

* fix: merge bug

---------

Co-authored-by: dream2023 <1098626505@qq.com>
Co-authored-by: Rain <958414905@qq.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-12-16 21:59:33 +08:00
xilesun
d6dbc970a5 chore(versions): 😊 publish v0.17.0-alpha.7 2023-12-15 11:39:15 +08:00
chenos
a702762cca chore(versions): 😊 publish v0.17.0-alpha.6 2023-12-13 16:36:59 +08:00
xilesun
35301358de chore(versions): 😊 publish v0.17.0-alpha.5 2023-12-12 23:07:55 +08:00
chenos
cf9ccfe4f9 chore(versions): 😊 publish v0.17.0-alpha.4 2023-12-12 14:10:36 +08:00
YANG QIA
8708765f43
fix(bi): localization (#3159)
* fix(bi): localization

* fix: bug

* fix(map): localization

* fix: antd config provider
2023-12-07 21:15:40 +08:00
chenos
eef101c177 chore(versions): 😊 publish v0.17.0-alpha.3 2023-12-06 17:19:35 +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
chenos
36fd4881b2 chore(versions): 😊 publish v0.17.0-alpha.2 2023-12-06 13:20:48 +08:00
chenos
1757a96b51 chore(versions): 😊 publish v0.17.0-alpha.1 2023-12-04 14:58:09 +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
xilesun
9d644304c1 chore(versions): 😊 publish v0.16.0-alpha.6 2023-12-04 11:01:24 +08:00
chenos
8977420eec chore(versions): 😊 publish v0.16.0-alpha.5 2023-11-30 12:41:50 +08:00
katherinehhh
300d8f4eb3
refactor: map field support connect as remote table field (#3114) 2023-11-30 10:22:30 +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
chenos
ffb300d357 chore(versions): 😊 publish v0.16.0-alpha.4 2023-11-24 23:15:10 +08:00
chenos
cba967933e chore(versions): 😊 publish v0.16.0-alpha.3 2023-11-20 19:36:12 +08:00
chenos
dfb940e091
feat: node >= 18 (#3066)
* feat: node >= 18

* fix: release version

* chore(versions): test publish packages xxx

* fix: gitignore
2023-11-20 19:35:30 +08:00
chenos
91053b31ef chore(versions): 😊 publish v0.16.0-alpha.1 2023-11-20 17:19:09 +08:00
chenos
ef1b9db2a9 chore(versions): 😊 publish v0.15.0-alpha.4 2023-11-18 21:22:03 +08:00
chenos
60112aae62 chore(versions): 😊 publish v0.15.0-alpha.3 2023-11-16 15:03:40 +08:00
chenos
b597aec1dc chore(versions): 😊 publish v0.15.0-alpha.2 2023-11-13 18:28:48 +08:00
chenos
29457cb2bc chore(versions): 😊 publish v0.15.0-alpha.1 2023-11-13 11:02:35 +08:00
jack zhang
35b06cbfa0
refactor: plugin settings manager (#2712)
* feat: add settingsCenter

* fix: style bug

* chore: optimized code

* refactor: settingCenter Auth

* feat: add aclSnippet option

* refactor: all plugin's setting center api

* feat: add plugin with name

* docs: add settings-center doc

* fix: settings center menu sort by name

* fix: change setting center layout

* fix: change hello sort

* test: add SettingsCenter.ts test case

* fix: bug

* fix: acl bug

* fix: bug

* fix: bug and 404 page

* fix: test bug

* fix: test bug

* fix: bug

* fix: locale

* fix: styling

* fix: rename settingsCenter to pluginSettingsManager

* fix: styling

* fix: e2e bug

* fix: e2e bug

* fix: locale

* feat: update docs

* fix: update

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-11-13 11:01:18 +08:00
Dunqing
a90d5fe6d6
feat(map-plugin): supports connecting each point into a line (#2216)
* feat(map-plugin): supports connecting each point into a line

* feat: update

* feat: support startPoint and endPoint

* fix: data refresh is incorrect when sort changed

* feat: support google map
2023-11-02 15:03:49 +08:00
chenos
2bb0f7c51c chore(versions): 😊 publish v0.14.0-alpha.8 2023-11-01 09:52:49 +08:00