Commit Graph

458 Commits

Author SHA1 Message Date
ChengLei Shao
02559b61ba
feat(ci): run backend tests concurrently (#2815)
* chore: run backend tests concurrently

* fix: mock app server create database

* chore: using @swc/jest instead of ts-jest

* chore: create test database

* chore: database distributor

* fix: test collection manager

* fix: test

* chore: to  use Jest.mock, change the formatter to the commonjs module

* chore: db acquire

* chore: github action

* fix: pg test action

* chore: formatter

* chore: jest workaround

* fix: mysql test

* chore: mysql github action

* chore: clean storage

* chore: gitignore

* chore: max workers
2023-10-17 22:22:45 +08:00
Dunqing
bf099a4364
feat(plugin-custom-request): support better custom-request (#2536)
* feat(plugin-custom-request): support better custom-request

* feat: re implement custom request

* feat: complete configuration

* feat: support request in server

* feat: improve usage

* feat: support request

* feat: remove customRequests when action is deleted

* feat: avoid override

* fix: the data is not latest

* feat: should autoSize in url

* feat: support title and acl

* fix: i18n

* feat: support display title

* feat: i18n supports

* refactor: acl check

* feat: better method

* fix: style

* fix: remove unused code

* fix: acl

* docs: update

* fix: upgrade

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

* feat: support root access all custom-request

* chore: update deps

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

* fix: parse incorrect, Close T-1686

* fix: i18n, Close T-1684

* fix: linkage rules incorrect, Close T-1719

* fix: missing pass appends, Close T-1720

* fix: should update initialValues when it changed

* feat: update better message

* fix: permission incorrect

* test: setup

* refactor: fix locale

* chore: update deps

* feat: move to @nocobase

* fix: dir

* fix: ui.*

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

* fix: remove title field

* feat: compatible pervious version

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

* feat: support list all keys

* fix: support baseURL, close T-2090

* fix: remove unused code

* fix: sqlite, Close T-2092

* fix: close T-2089

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

* feat: improve message

* chore: fix eslint error

* fix: fix version of plugin-custom-request

* fix: build error

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Rain <958414905@qq.com>
2023-10-13 15:16:50 +08:00
ChengLei Shao
1defb5db51
fix: create collections with multiple records (#2753)
* fix: create collections with multiple items

* chore: test

* fix: sync collection when pending field resolved

* fix: test
2023-10-09 17:35:04 +08:00
Rain
384cc1c56c chore(versions): 😊 publish v0.14.0-alpha.7 2023-10-07 15:53:49 +08:00
被雨水过滤的空气-Rain
573cde0a21
feat(variable): lazy load association fields (#2382)
* refactor: remove useless code

* feat: should always show user variable

* style: optimize style of variable input

* feat: change maxDepth of user varialbe to 3

* refactor: migrate getFieldDefaultValue to SchemaSettings.tsx

* feat: support to parse variables

* feat: support to parse array fields

* refactor: make testing more stable

* chore: fix CI

* feat: support to parse current user

* fix: fix tests

* feat: support to register variable

* feat: support to parse "$context"

* refactor: remove useless code

* fix: fix build

* fix: fix build

* test: make stable

* docs: add doc

* fix: fix T-1267

* fix: fix T-1268

* fix: fix T-1269

* fix: fix T-1271

* fix: fix T-1274

* refactor: improve code

* feat(variable): support local variable

* fix: fix T-1280

* refactor: close T-881

* refactor: remove useLazyLoadAssociation

* fix: fix T-1289,T-1290

* fix: fix T-1296

* refactor(AssignedField): replace user variable

* refactor: extract useBaseVariable

* refactor(AssignedField): replace variables

* feat(useVariables): support to use array as local variables

* refactor: improve variables (T-1295)

* feat: limit user choice (T-1297)

* fix: fix T-1305

* refactor: extract as SchemaSettings.DataScope

* refactor: improve linkage rules

* refactor: improve linkage rules of Action

* chore: fix build

* refactor: improve data scope of association fields

* chore: fix build

* feat: select limit

* refactor: use VariableInput to replace other

* fix: fix can not input

* fix(AssignedField): fix cannot close variables list

* test: fix errors

* refactor: migrate to new file

* fix: uniq

* fix: filter empty values

* fix: transform variables value

* fix: should sum numbers (T-1330)

* fix: fix Select (T-1337)

* refactor: use useMemo

* refactor: use hooks

* refactor: use hooks

* refactor: use hooks

* refactor: remove useless code

* refactor: rename `$form` to `$nForm` and `$record` to `$nRecord`

* fix: fix T-1334

* refactor(LinkageRuleActionGroup): use hooks

* refactor(FormButtonLinkageRuleAction): use hooks

* refactor: add type

* fix: avoid crashing

* refactor: rename `$date` to `$nDate`

* fix: fix T-1348

* perf: avoid duplicate requests

* test: fix error

* fix: fix T-1355

* fix: fix T-1355

* fix: fix T-1345

* fix: fix T-1346

* refactor(useVariableOptions): replace query with parameter

* fix: fix T-1335

* chore: fix build

* fix: fix T-1453

* refactor: remove useless code

* fix: fix T-1447

* fix: should update when seting default value

* fix: fix T-1454

* chore(eslint): ignore docker

* fix: fix T-1440

* refactor: use hooks

* fix: fix T-1332

* fix(defaultValue): should use Select mode

* fix(defaultValue): fix Checkbox

* refactor: rename and comment

* refactor: rename file name and hook name

* feat(subForm): support lazy load association fields

* fix: filter empty values

* fix(defaultValue): schema type of Checkbox should be void

* fix: fix T-1479

* fix: fix T-1491

* fix(ToOneNester): should use RecordProvider

* fix: fix T-1493

* chore: add comment

* fix: fix T-1495

* chore: fix build

* test: make pass

* fix: fix T-1503

* fix: fix T-1504

* fix: fix transformVariableValue

* fix: disable unsupport options

* refactor(useVariableOptions): add noDisabled params

* fix: data scope support to select to-many fields

* chore: add comment

* refactor: improve default value

* refactor: extract as useIsAllowToSetDefaultValue

* fix: should not support to set default value in edit mode

* fix: only the default values for sub-forms and sub-tables are valid

* fix: limit default value of association fields

* fix: fix '$nForm' variable

* fix: allow all inherit chain

* fix: optimize default value

* fix: optimize json field

* fix(currentObject): avoid error

* fix: should not show variable string

* fix: active fields

* fix: avoid errors

* feat: support special case

* fix: fix CI

* chore: fix build

* fix: json

* refactor: rename flag name

* fix: fix T-1559

* fix: fix T-1515

* fix: avoid crash

* fix: fix T-1520

* fix: fix T-1521

* fix: fix T-1523

* fix: fix T-1563

* fix: fix T-1565

* fix: fix T-1525

* fix: fix T-1524

* fix: fix T-1603

* fix: fix T-1332

* fix: fix T-1559

* fix: fix T-1602

* fix: fix T-1608

* fix: fix T-1612 T-1609

* fix: fix T-1681

* fix: fix T-1711

* fix: fix T-1713

* fix: fix T-1680

* chore: close T-1550

* fix: fix T-1507

* chore: avoid crashing

* fix: fix T-1557

* perf: close T-1726

* fix: fix T-1727

* fix: fix T-1741

* fix: fix T-1740

* chore(workflow): compact

* chore: should not to support to set default value in assign field values

* perf: compat and perf (T-1736)

* fix: fix T-1872

* fix: fix T-1877

* fix: fix quarter variables

* chore: add README

* chore: front-end should not depend on back-end code

* chore: should disable all variable options if no field is selected

* chore: should be a leaf if it has no children

* chore: fix build error

* fix: compat $form

* fix: compat $form

* chore: fix build

* chore: fix build

* fix: typeError: Cannot read properties of undefined (reading 'template')

* chore: fix test

* chore: add test

* fix: fix T-2072

* chore: optimize eslint

* perf: reduce number of requests

* fix: fix JSON

* test: fix error

* fix(e2e): avoid error

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-10-07 15:49:09 +08:00
ChengLei Shao
dbdd587b71
chore(database): clean invalid associations in collection model when set field failed (#2720)
* chore(database): clean invalid associations in collection model when set field failed

* fix: import

* chore: test
2023-09-27 22:03:04 +08:00
chareice
36f512f4b7 chore: jsonb field type map 2023-09-26 15:00:25 +08:00
ChengLei Shao
505c23b4e1
feat(database): append tree parent recursively (#2573)
* feat(database): append with options

* feat: recursively load parent instances

* chore: test

* fix: load with appends

* chore: test

* chore: load with belongs to many

* chore: test
2023-09-25 18:17:19 +08:00
ChengLei Shao
edbd15ab5b
feat: support load belongs to association with collection that without primary key (#2529)
* test: find without pk

* feat: load root models in eager loading tree
2023-09-25 15:34:36 +08:00
YANG QIA
89635982b4
feat(db): add sql collection (#2419)
* feat(db): add sql collection

* feat: frontend

* perf: issue of select

* fix: sql model

* fix: sql collection schema

* fix: implement sql collection

* fix: dependency

* fix: remove type declaration in actions

* fix: backend test

* chore: remove some ops of block using sql collection

* chore: remove sql collections from Form and Kanban

* feat: add execute button to sql input

* feat(backend): support infer fields by parsing sql

* feat(frontend): support infer interface by parsing sql

* fix: fix update issues and improve

* fix: update issue

* chore: update yarn.lock

* fix: fix T-1548

* fix: fix T-1544

* fix: fix T-1545

* fix: fix T-1549

* fix: test

* fix: fix T-1556

* fix: remove map action diviver

* chore: debug

* chore: remove schema of sql collection

* fix: sql collection schema

* chore: remove debug log & fix T-1555

* fix: fix T-1679

* fix: sql update issue

* fix: sql attribute issue

* fix: bug of star attribute

* fix: test

* fix: test

* fix: reset fields when updating sql collection

* fix(collection-manager): redundant fields after set collection fields

* fix: test

* fix: destory with individuals hook

* chore: save

* chore: test

* fix: fields sync issue

* fix: remove underscored option of sql collection

* chore: mutex in fields.afterDestroy

* fix: test

* chore: yarn.lock

* chore: update collections.setFields

* feat: improve sql input

* fix: fix T-1742 & improve

* chore: fix conflicts

* fix: workspace

* fix: build

* fix: test

* chore: add translations

* fix: reviewed issues

* chore: update yarn.lock

---------

Co-authored-by: ChengLei Shao <chareice@live.com>
2023-09-25 15:03:23 +08:00
chenos
e522e1f742 fix: upgrade failed 2023-09-24 11:41:26 +08:00
mytharcher
8eb634459d chore(versions): 😊 publish v0.14.0-alpha.6 2023-09-22 15:49:50 +08:00
mytharcher
bffa53a04e chore(versions): 😊 publish v0.14.0-alpha.5 2023-09-22 15:47:28 +08:00
mytharcher
d20398f73f chore(versions): 😊 publish v0.14.0-alpha.4 2023-09-21 23:25:31 +08:00
ChengLei Shao
c88c91e908
fix: collection schema not exists (#2669)
* fix: collection schema not exists

* chore: test
2023-09-21 17:19:13 +08:00
ChengLei Shao
de849b267c
feat(database): support read ssl file in database config (#2689) 2023-09-21 11:55:18 +08:00
ChengLei Shao
56d1d1b85f
feat(database): perform data validation before the update/create operation (#2681)
* chore: test

* chore: tmp commit

* feat: value guard check
2023-09-20 11:53:56 +08:00
ChengLei Shao
91095d8fe0
chore: test (#2677) 2023-09-19 18:43:04 +08:00
ChengLei Shao
a53a350f95
feat(database): database connecting backoff (#2668) 2023-09-18 10:00:11 +08:00
jack zhang
9e5e96b9e4
fix: improve build (#2643)
* fix: client lib require wrapper

* fix: bug

* fix: add tsconfig.paths.json

* fix: collection dir not exists

* fix: improve...

* fix: update yarn.lock

* fix: db.sync

* fix: bugs

* fix: bugs

* fix: bugs

* fix: bugs && allow user custom build config

* docs: user custom config docs

* refactor: custom user build config

* fix: bugs

* fix: build plugin-client bug

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-09-15 08:51:20 +08:00
chenos
6058850db1 chore(versions): 😊 publish v0.14.0-alpha.3 2023-09-13 18:29:38 +08:00
ChengLei Shao
6f68506eb4
chore: should update belongs to many through table when it is a view (#2635) 2023-09-13 07:15:43 +08:00
chenos
3670d670ac chore(versions): 😊 publish v0.14.0-alpha.2 2023-09-13 03:57:15 +08:00
chenos
117d4b8186 chore(versions): 😊 publish v0.14.0-alpha.1 2023-09-12 22:42:43 +08:00
Rain
fec17d5661 chore(versions): 😊 publish v0.13.0-alpha.10 2023-09-10 00:33:14 +08:00
chenos
b655517a74 chore(versions): 😊 publish v0.13.0-alpha.9 2023-09-07 12:46:24 +08:00
Rain
17d4476c10 chore(versions): 😊 publish v0.13.0-alpha.8 2023-09-07 09:04:08 +08:00
ChengLei Shao
97b4570bd2 chore(versions): 😊 publish v0.13.0-alpha.7 2023-09-05 09:01:30 +08:00
Rain
e5f5358be0 chore(versions): 😊 publish v0.13.0-alpha.6 2023-09-04 20:48:48 +08:00
chenos
af34fe10ab chore(versions): 😊 publish v0.13.0-alpha.5 2023-09-03 11:35:48 +08:00
jack zhang
08c5383bee
refactor: build tools (#2374)
* refactor: core/build and cli/build.js

* fix: build

* fix: bug

* fix: replaceAll to replace

* fix: node version check

* fix: add require check

* fix: esbuild other ext

* fix: process json

* fix: exlude jsx-runtime

* feat: split chunk

* fix: minify plugin client bundle

* fix: compatibility

* fix: support import()

* feat: update docs

* fix: server deps

* feat: demo

* fix: remove cjs treeshake

* fix: local error

* fix: bug

* fix: lazy load

* fix: rewrites

* fix: remove dynamic import  function

* feat: doc demo

* fix: codesanbox vite template

* fix: codesanbox demo

* fix: hide stackblitz

* fix: revert rspack

* fix: test bug

* fix: delete console

* fix: import dayjs locale

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-09-03 10:59:33 +08:00
ChengLei Shao
1694eb6d73
fix(collection-manager): redundant fields after set collection fields (#2575)
* fix(collection-manager): redundant fields after set collection fields

* fix: destory with individuals hook

* chore: save

* chore: test

* chore: mutex in fields.afterDestroy

* chore: yarn.lock

* chore: update collections.setFields
2023-09-01 13:51:48 +08:00
chenos
0fd38a5c56 chore(versions): 😊 publish v0.13.0-alpha.4 2023-08-27 10:04:58 +08:00
chenos
5278017fff chore(versions): 😊 publish v0.13.0-alpha.3 2023-08-26 16:43:41 +08:00
chenos
f4a1953980 chore(versions): 😊 publish v0.13.0-alpha.2 2023-08-24 23:14:03 +08:00
chenos
6debb8d00b chore(versions): 😊 publish v0.13.0-alpha.1 2023-08-24 17:49:13 +08:00
ChengLei Shao
0f9d946f09
fix: sort field init (#2520)
* fix: sort field init

* chore: sort field name
2023-08-24 14:26:03 +08:00
Dunqing
1e0bedca86
feat: api documentation plugin (#2255)
* feat: api doc plugin

* fix: merge

* chore: upgrade swagger ui to latest

* feat: get paths from recourser

* feat: configure security

* feat: add models

* feat: reimplement resource action

* feat: support render schemas correctly

* feat: support load swagger documentation

* refactor: implement `SwaggerManager`

* fix: re import

* feat: update info

* refactor: do not use the cache strategy for the time being

* feat: support collection builtin actions

* fix: incorrect tag

* feat: support different swagger json for different plugins

* feat: support load server package

* feat: support visit from plugin center

* feat: add schemas for mapConfiguration

* feat: update

* fix: update tags

* feat: support only render plugin that has swagger content

* refactor: use swagger-ui-react instead of swagger-ui-dist

* fix: clean

* fix: reset

* refactor: update plugin place

* fix: revert

* fix: remove version

* fix: type error

* feat: swagger doc

* refactor: improve apis

* feat: add doc

* feat: support destination cache

* fix: avoid authorization override

* fix: auth bug

* feat: update documentation

* fix: typo

* feat: support json

* fix: key

* fix: update yarn.lock

* feat: update swagger doc

* feat: swagger doc

* docs: add auth swagger files (#2341)

* docs: add auth swagger files

* fix: yarn.lock

* fix: skip core

* feat: swagger doc

* docs: improve auth docs

* fix(theme-editor): avoid crashing

* feat(theme-editor): improve api doc

* docs: add localization-management swagger

* docs(plugin-workflow): add api doc (#2379)

* fix: remove files

* fix: aaa

* fix: dist

* fix: load swagger

* feat: acl api doc (#2494)

* chore: acl api doc

* feat: ui schema api doc

* feat: multi apps api doc

* chore: ui schema doc

* feat: collection api doc

* chore: association api doc

* chore: single association doc

* feat: move action doc

* chore: list parameters

* feat: update swagger doc

* chore: collectionIndex to first

* fix: test error

* fix: ref

* chore: doc tags

* chore: template

* chore: doc with association options

* chore: single association doc

* chore: relation type

* chore: filter single association params

* chore: m2m api doc

* chore: params

* fix: 0.12.0-alpha.5

* fix: update yarn.lock

* chore: data wrap

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: YANG QIA <2013xile@gmail.com>
Co-authored-by: Rain <958414905@qq.com>
Co-authored-by: Junyi <mytharcher@users.noreply.github.com>
Co-authored-by: ChengLei Shao <chareice@live.com>
2023-08-24 00:27:57 +08:00
ChengLei Shao
9c5f630ae7 chore: database connection error log 2023-08-22 09:01:29 +08:00
chenos
d8787493db chore(versions): 😊 publish v0.12.0-alpha.5 2023-08-18 15:53:53 +08:00
ChengLei Shao
16ed7f2916
chore(database): view with hashed id field (#2458)
* chore: test

* chore: test
2023-08-15 18:08:46 +08:00
chenos
df85fb430a chore(versions): 😊 publish v0.12.0-alpha.4 2023-08-15 12:22:49 +08:00
ChengLei Shao
e3e4e63146
fix(database): update belongs to many relation with target collection (#2393)
* fix(database): update belongs to many relation with target collection

* chore: test
2023-08-04 18:19:45 +08:00
katherinehhh
d333ad201a
feat(association-field): association field support sub-form(popover) (#2373)
* refactor: association field support sub-form(popover)

* refactor: code improve

* refactor: code improve

* refactor: sub-table support field component cinfig

* refactor: sub-table support field component cinfig

* refactor: sub-table support field component cinfig

* refactor: code improve

* refactor: code improve

* refactor: useAssociationNames

* refactor: locale improve

* refactor: locale improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* fix: code improve

* refactor: code refactor

* style: style improve

* Update database.ts

* refactor: code imporve

* refactor: code imporve

* style: style improve

* style: style improve

* refactor: code imporve

* style: style improve

* refactor: code imporve

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-08-04 09:48:03 +08:00
katherinehhh
d84c52618d
fix(markdowm): markdown style hook error reporting (#2380)
* fix: markdown style hook report error

* fix: markdown style hook report error

* fix: markdown style hook report error

* Update database.ts

* refactor: be better

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Rain <958414905@qq.com>
2023-08-04 09:37:06 +08:00
chenos
9251fe015f chore(versions): 😊 publish v0.12.0-alpha.3 2023-08-02 11:25:57 +08:00
chenos
6ae22cea68 chore(versions): 😊 publish v0.12.0-alpha.2 2023-08-02 02:25:49 +08:00
chenos
93f2bc2e67 chore(versions): 😊 publish v0.12.0-alpha.1 2023-08-02 00:10:42 +08:00
jack zhang
5df3b0e75d
refactor!: plugins build and plugins load (#2253)
* refactor: plugin build and plugin template

* refactor: plugins' deps

* refactor: plugins bugs

* feat: add plugin static middleware

* fix: bugs

* refactor: frontend plugin add from remote

* refactor: delete useless app/client/plugins

* fix: requirejs move to local

* fix: tests case

* refactor: add src/client and src/server dir check

* fix: lodash tree shaking

* refactor: add BUILD_TIP

* refactor: add file size tip

* fix: bugs

* fix: bug

* fix: change china-division

* fix: change plugins response

* fix: recover dynamicImport

* fix: change server src entry

* fix: test error

* fix: plugins sourcemap => false

* fix: production file error

* refactor: change build tools to vite and tsup

* fix: yarn.lock

* fix: bugs

* fix: server build bugs

* fix: delete .fatherrc.ts

* fix: bug

* fix: bug

* fix: bugs

* fix: bugs

* fix: bugs

* refactor: add plugin d.ts

* refactor: delete fatherrc

* refactor: delete father scripts

* refactor: build bug

* fix: bug

* fix: deps adjust

* fix: add build tips

* fix: bug

* refactor: ignore plugins when build client

* docs: update doc

* refactor: docs and build

* fix: bug

* refactor: build deps

* fix: add USER_REMOTE_PLUGIN env

* feat: add plugin static cache

* feat: add build deps cache

* fix: bugs

* test: add test

* fix: add plugin depden on plugin tip

* fix: adjust shouldDevDependencies

* fix: deps

* fix: ajust deps

* fix: mobile style error

* fix: map error

* fix: test

* fix: bug

* feat: lodash and dayjs import from themself

* feat: @emotion/css 、ahooks and lodash to global

* fix: theme-editor plugin error

* fix: review

* feat: move all plugins' dependencies to devDependencies

* feat: change build

* feat: add devPlugins

* fix: bug

* fix: bugs

* fix: bugs

* fix: bugs

* feat: build bugs

* fix: bugs

* fix: bugs

* fix: review

* fix: bug

* fix: change deps build

* fix: bugs

* fix: bug

* fix: bug

* fix: bugs

* fix: bug

* fix: bug

* fix: multi language

* fix: dist

* fix: cronstrue

* fix: getPackageClientStaticUrl

* fix: antd dayjs locale

* fix: plugin' d.ts import from dist

* fix: multi language

* fix: build types error

* fix: requireModule

* fix: plugin lifecycle

* fix: client resource

* fix: improve code

* fix: locale

* feat: custom build

* fix: require locale

* fix: improve code

* fix: improve code

* fix: skip preset

* fix: collection undefined

* feat: yarn build

* fix: remove enabled

* fix: update dockerfile

* fix: formily version

* docs: update v12 changelog

* fix: devDependencies

* feat: @nocobase/app

* feat: generateAppDir

* fix: improve code

* fix: 0.11.1-alpha.5

* fix: missing @nocobase/client

* fix: error

* fix: add .npmignore

* feat: upgrade antd version

* fix: dependencies

* fix: peerDependencies

* fix: remove china-division dep

* fix: toposort deps

* fix: update dockerfile

* fix: plugin template

* fix: app client outputPath

* feat: update docs

* fix: nginx server root

* fix: storage/.app-dev

* fix: getChinaDivisionData

* feat: plugin info

* feat: update docs

* fix: docs menu

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-08-02 00:07:52 +08:00
被雨水过滤的空气-Rain
b22207b180
feat: support JSONB (#2321)
* chore: yarn.lock

* feat: add jsonb option in field drawer

* feat: only postgres can use JSONB

* chore: add test

* refactor: make better

* fix: fix build

* fix: fix build

* fix: should disable JSONB on editing field
2023-07-30 09:51:39 +08:00
chenos
40c4aab507 chore(versions): 😊 publish v0.11.1-alpha.5 2023-07-29 20:25:18 +08:00
chenos
b93f28a952 chore(versions): 😊 publish v0.11.1-alpha.4 2023-07-29 09:11:52 +08:00
ChengLei Shao
493965f848
chore(database): merge fields arguments by path (#2331)
* feat: merge fields array arg

* chore: test

* chore: test

* chore: test

* fix: test
2023-07-28 16:46:43 +08:00
ChengLei Shao
1b33755342
test: view collection as through model (#2336) 2023-07-28 08:47:13 +08:00
ChengLei Shao
3f84893f78 chore: sync runner error message 2023-07-27 21:50:41 +08:00
chenos
81819f04e3 chore(versions): 😊 publish v0.11.1-alpha.3 2023-07-26 17:37:20 +08:00
ChengLei Shao
e5348d7ed6
fix(database): skip reference delete on view collection (#2303) 2023-07-23 17:13:30 +08:00
chenos
c84476d805 chore(versions): 😊 publish v0.11.1-alpha.2 2023-07-23 12:44:50 +08:00
chenos
e979194cf2 chore(versions): 😊 publish v0.11.1-alpha.1 2023-07-22 12:50:04 +08:00
ChengLei Shao
08b2f374c8
feat(database): handle targetCollection option in repository find (#2175)
* test: return child collection when get with filterByTk

* refactor: targetCollection

* chore: target collection args in repository find

* feat: handle targetCollection option in repository find

* feat: get child target at belongs to many association

* chore: build

* chore: build

* chore: test

* refactor: targetcollection

* test: belongs to association with targetCollection

* fix: test

* fix: test

* fix: test

* fix: test

* fix: test

* feat: update with targetCollection option

* feat: inject target collection options at repository update

---------

Co-authored-by: katherinehhh <katherine_15995@163.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-07-21 10:51:56 +08:00
YANG QIA
70d5b9e44b
feat: localization management (#2210)
* feat: init localization-management

* feat: resource api

* Merge branch 'main' into T-62

* chore: change name

* feat: basic feature

* feat: support filter & sync

* feat: support auto get texts afterSave

* Merge branch 'main' into T-62

* chore: upgrade

* fix: dependency

* fix: field type

* fix: type error

* chore: remove some translations

* feat: support extract text from menu

* chore: cache text keys

* chore: remove test key

* fix: issue of extracting menu titles

* feat: translate collections & fields name

* fix: remove unique of text

* refactor: improve cache

* chore: remove listeners after disable

* chore: translation

* fix: lang switch bug

* refactor: actions & filter

* fix: translation

* refactor: merge lang bundles at backend

* fix: style & field name

* fix: translate issues

* fix: cache bug

* fix: translation merge bug

* fix: translate issues

* fix: map translation

* fix: translation issues

* fix: card title bug

* feat: cover mobile client tabbar

* fix: menu title

* refactor: add locale plugin

* chore: merge locale plugin

* fix: map translation

* chore: remove no data

* style: change button style

* fix: sync bug

* docs: add README

* chore: change name

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-07-17 23:23:44 +08:00
chenos
f87cf982f1 fix(value-parser): option type is string 2023-07-14 18:56:58 +08:00
ChengLei Shao
3510531182
feat(database): view collection support for add new, update and delete actions (#2119)
* feat: writeableView options in view collection

* refactor: view collection support edit

* refactor: view collection support edit

* refactor: view collection support edit

* refactor: view collection support edit

* test: insert into view with join table

* chore: typo

* chore: package.json

* chore: sql parser

* chore: query interface

* chore: test

* feat: update view collection

* chore: test

* chore: test

* chore: github action pg version

* fix: params in update and delete

* refactor: locale improve

---------

Co-authored-by: katherinehhh <katherine_15995@163.com>
2023-07-14 14:49:12 +08:00
Junyi
ff7b1aaf71
fix(core): fix batch update query logic (#2230) 2023-07-11 16:54:04 +08:00
chenos
c0a59524ab chore(versions): 😊 publish v0.11.0-alpha.1 2023-07-08 08:29:33 +08:00
被雨水过滤的空气-Rairn
fd36c970bc
refactor(client)!: upgrade antd to v5 (#2078)
* refactor: change moment to dayjs

* refactor: remove antd css

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

* chore: add dep

* chore: upgrade babel/core and typescript

* refactor: rename moment to dayjs

* fix(dayjs): add plugins

* refactor: fix type errors

* refactor: change default export to named export

* chore: upgrade ts-loader

* refactor: rename moment to dayjs

* refactor: fix type errors

* chore: upgrade deps for build

* fix: fix build errors

* fix: add antd reset css

* fix: fix build error

* chore: add __builtins__

* chore: optimize genStyleHook

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

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

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

* chore: add antd-style

* refactor(acl): use antd-style

* refactor(board): use antd-style

* refactor: schema-initializer

* refactor: refactor genStyleHook

* refactor: kanban

* refactor: filter

* refactor: upload

* refactor: markdown

* refactor: rename className to componentCls

* refactor: rich-text

* style: fix style

* fix: fix merge error

* chore: update yarn.lock

* chore: upgrade formily

* style: fix pageHeader

* style: fix add button style

* style: fix header menu color

* chore: update yarn.lock

* chore: upgrade deps

* test: fix tests

* test: fix tests

* fix: fix build error

* fix: fix style of plugin doc

* fix: fix tests

* fix: fix drag bug

* refactor: remove useless code

* fix: fix Modal style (T-621)

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

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

* fix: fix style of DataTemplate

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

* chore: update yarn.lock

* fix: avoid test failed

* test: fix error

* chore: update yarn.lock

* test: fix error

* test(dayjs): fix error

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

* test: skip failure test

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

* test: avoid failed

* refactor: rename component names

* chore: optimize types

* chore: lock antd version

* fix: fix build

* fix: fix build

* fix: layout bg color use variable

* fix: fix style of buttons

* feat: remove theme config

* fix(calendar): fix style

* fix(mobile-client): fix dialog style

* fix: fix test

* refactor: make code gooder

* chore: change code

* fix: fix T-847

* fix: fix T-845

* fix: display block

* fix: danger button

* refactor: make tester better

* fix: change moment to dayjs

* fix: build error

* fix: import dayjs/plugin/isSameOrBefore

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

* fix: fix CI

* fix: upgrade deps to fix build

* fix: fix test

* fix: skip some filed tests to avoid error

* fix: fix build errors that maked by merge code

* refactor: remove moment

* fix: error

* feat: update doc

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-07-08 08:26:27 +08:00
jack zhang
2cb1203aa4
refactor(client)!: application, router and plugin (#2068)
BREAKING CHANGE:

* refactor: update umi version 3.x to version 4.x

* refactor: update react-router-dom version to 6.x

* refactor(react-router-dom): change Layout Component `props.children` to `<Outlet />`

* refactor(react-router-dom): change <Route /> props and <RouteSwitch /> correct

* refactor(react-router-dom): replace `<Redirect />` to `<Navigate replace />`

* refactor(react-router-dom): replace `useHistory` to `useNavigate`

* refactor(react-router-dom): replace `useRouteMatch` to `useParams`

* refactor(react-router-dom & dumi): fix <RouteSwitch /> & umi document bug

* refactor(react-router-dom): `useRoutes` Optimize `<RouteSwitch />` code

* refactor(react-router-dom): update `Route` types and docs

* refactor(react-router-dom): optimize RouteSwitch code

* refactor(react-router-dom): `useLocation` no generics type

* refactor(react-router-dom): add `less v3.9.0` to `resolutions` to solve the error of `gulp-less`

* refactor(react-router-dom): fix `<RouteSwitch />`  `props.routes` as an array is not handled

* chore: upgrade `dumi` and refactor docs

* fix: completed code review, add `targets` to solve browser compatibility & removed `chainWebpack`

* refactor(dumi): upgraded dumi under `packages/core/client`

* refactor(dumi): delete `packages/core/dumi-theme-nocobase`

* refactor(dumi): degrade `react`  & replace `dumi-theme-antd` to `dumi-theme-nocobase`

* refactor(dumi): solve conflicts between multiple dumi applications

* fix: login page error in react 17

* refactor(dumi): remove less resolutions

* refactor(dumi): umi add `msfu: true` config

* fix: merge bug

* fix: self code review

* fix: code reivew and test bug

* refactor: upgrade react to 18

* refactor: degrade react types to 17

* chore: fix ci error

* fix: support routerBase & fix workflow page params

* fix(doc): menu externel link

* fix: build error

* fix: delete

* fix: vitest error

* fix: react-router new code replace

* fix: vitest markdown error

* fix: title is none when refresh

* fix: merge error

* fix: sidebar width is wrong

* fix: useProps error

* fix: side-menu-width

* fix: menu selectId is wrong & useProps is string

* fix: menu selected first default & side menu hide when change

* fix: test error & v0.10 change log

* fix: new compnent doc modify

* fix: set umi `fastRefresh=false`

* refactor: application v2

* fix: improve code

* fix: bug

* fix: page = 0 error

* fix: workflow navigate error

* feat: plugin manager

* fix: afterAdd

* feat: complete basic functional refactor

* fix: performance Application

* feat: support client and server build

* refactor: nocobase build-in plugin and providers

* fix: server can't start

* refactor: all plugins package `Prodiver` change to `Plugin`

* feat: nested router and change mobile client

* feat: delete application-v1 and router-switch

* feat: improve routes

* fix: change mobile not nested

* feat: delete RouteSwitchContext and change buildin Provider to Plugin

* feat: delete RouteSwitchContext plugins

* fix: refactor SchemaComponentOptions

* feat: improve SchemaComponentOptions

* fix: add useAdminSchemaUid

* fix: merge master error

* fix: vitest error

* fix: bug

* feat: bugs

* fix: improve code

* fix: restore code

* feat: vitest

* fix: bugs

* fix: bugs

* docs: update doc

* feat: improve code

* feat: add docs and imporve code

* fix: bugs

* feat: add tests

* fix: remove deps

* fix: muti app router error

* fix: router error

* fix: workflow error

* fix: cli error

* feat: change NoCobase -> Nocobase

* fix: code review

* fix: type error

* fix: cli error and plugin demo

* feat: update doc theme

* fix: build error

* fix: mobile router

* fix: code rewview

* fix: bug

* fix: test bug

* fix: bug

* refactor: add the "client" directory to all plugins

* refactor: modify samples client and plugin template

* fix: merge error

* fix: add files in package.json

* refactor: add README to files in package.json

* fix: adjust plugins depencies

* refactor: completing plugins' devDependencies and dependencies

* fix: bug

* refactor: remove @emotion/css

* refactor: jsonwebtoken deps

* refactor: remove sequelize

* refactor: dayjs and moment deps

* fix: bugs

* fix: bug

* fix: cycle detect

* fix: merge bug

* feat: new plugin bug

* fix: lang bug

* fix: dynamic import bug

* refactor: plugins and example add father config

* feat: improve code

* fix: add AppSpin and AppError components

* Revert "refactor: plugins and example add father config"

This reverts commit 483315bca5524e4b8cbbb20cbad77986f081089d.

# Conflicts:
#	packages/plugins/auth/package.json
#	packages/plugins/multi-app-manager/package.json
#	packages/samples/command/package.json
#	packages/samples/custom-collection-template/package.json
#	packages/samples/ratelimit/package.json
#	packages/samples/shop-actions/package.json
#	packages/samples/shop-events/package.json
#	packages/samples/shop-modeling/package.json

* feat: update doc

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-07-07 14:35:22 +08:00
chenos
15f028295c chore(versions): 😊 publish v0.10.1-alpha.1 2023-07-07 06:56:04 +08:00
katherinehhh
046a0b4f4d
feat(collection-manager): tableOID field and collection field (#2161)
* feat: support tableOid interface

* chore: child collection filter operator

* chore: test

* refactor: support tableOid and collection field

* chore: test

* fix: refactor: collectionSelect

* refactor: support linkage from form in add child

* refactor: add child support linkage form form

* refactor: code improve

* feat: support undefined value in childIn query

* chore: test

* refactor: locale improve

* refactor: code  improve

* refactor: code  improve

* refactor: tableoid only support pg

* refactor: tableoid only support pg

* refactor: code improve

* refactor: collection operator

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: collection field support options config

* refactor: collection field support options config

* feat: tableoid migration

* fix: item.options?.inherits

---------

Co-authored-by: ChengLei Shao <chareice@live.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-07-04 23:16:49 +08:00
ChengLei Shao
4557f99949
chore(database): skip update association if through model is a view (#2173)
* chore(database): skip update association if through model is a view

* chore: test
2023-07-04 12:59:23 +08:00
YANG QIA
3aa65cb30c
feat: data visualization (#2160)
* feat(charts-v2): init

* chore(charts-v2): init chart renderer

* feat(chart-v2): add chart grid and initializer

* feat(chart-v2): improve ui

* feat(chart-v2): ui

* feat(charts-v2): query sort ui

* feat(charts-v2): field select component

* feat(charts-v2): improve ui && add query action

* feat(charts-v2): imporve ui, work in progress

* fix(charts-v2): chart renderer request api twice

* feat(charts-v2): add dimension formatter

* feat(charts-v2): filter, sort, limit

* feat(charts-v2): sql mode ui

* feat(charts-v2): support duplicate & sql mode

* fix(charts-v2): wrong defaultValue of json config

* feat(charts-v2): transformer ui

* feat(charts-v2): transformer

* chore(charts-v2): rename transfromer to transform

* feat(charts-v2): support cache

* feat(charts-v2): add acl provider

* chore(charts-v2): hide sql mode

* refactor(charts-v2): add renderer provider

* feat: collection permission check

* feat(charts-v2): add antd statistic

* test(charts-v2): backend

* chore: improve code

* test(charts-v2): add test

* chore: add Chinese translation

* fix(charts-v2): locale switch bug

* chore: add dependency

* feat(charts-v2): init chart config from query

* feat: change layout

* test: fix frontend test

* feat: improve auto infer

* fix: ui issues

* chore: translation

* fix: sql error

* fix: some issues

* feat: support table

* fix: bug

* chore: improve code and fix query

* feat: add config reference

* chore: add translation

* fix: process data due to pg issue

* test: fix parseBuilder

* chore: upgrade formily to 2.2.25

* fix: some issues and import style

* fix: bug when query with sort

* feat: parse enum data

* fix: yarn.lock

* fix: type error

* fix: infer bug and frontend test

* test: fix frontend

* fix: test

* feat: improve preview

* chore: downgrade formily

* feat: support associations, draft, in testing

* fix: typo

* test: frontend & backend

* fix: infer bug

* feat: measure selection of statistics

* fix: bug of group by alias

* fix: some issues

* fix: order issues

* fix: yarn.lock

* chore: fix filter include & 'data-visualization'

* style: improve style

* docs: add readme

* chore: add translation

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-06-30 20:49:44 +08:00
chenos
560c00cc3e chore(versions): 😊 publish v0.10.0-alpha.5 2023-06-29 15:34:40 +08:00
chenos
f3f91bd649 chore(versions): 😊 publish v0.10.0-alpha.4 2023-06-27 13:50:59 +08:00
chenos
83bf8ea3bb chore(versions): 😊 publish v0.10.0-alpha.3 2023-06-25 14:04:19 +08:00
Junyi
6a589543f9
refactor(db): add batch logic to update for better performance (#2070)
* refactor(db): add batch logic to update for better performance

* test(plugin-workflow): fix test cases

* fix(db): treat belongsTo field in update values as foreignKey

* fix(db): also handle object with id for belongsTo field

* fix(db): avoid 0 as falsy

* fix(db): fix test case
2023-06-21 16:37:06 +08:00
chenos
0b06e2cd69 chore(versions): 😊 publish v0.10.0-alpha.2 2023-06-20 11:51:16 +08:00
jack zhang
d76e8fb87f
refactor: upgrade umi, react and react-router-dom (#1921)
* refactor: update umi version 3.x to version 4.x

* refactor: update react-router-dom version to 6.x

* refactor(react-router-dom): change Layout Component `props.children` to `<Outlet />`

* refactor(react-router-dom): change <Route /> props and <RouteSwitch /> correct

* refactor(react-router-dom): replace `<Redirect />` to `<Navigate replace />`

* refactor(react-router-dom): replace `useHistory` to `useNavigate`

* refactor(react-router-dom): replace `useRouteMatch` to `useParams`

* refactor(react-router-dom & dumi): fix <RouteSwitch /> & umi document bug

* refactor(react-router-dom): `useRoutes` Optimize `<RouteSwitch />` code

* refactor(react-router-dom): update `Route` types and docs

* refactor(react-router-dom): optimize RouteSwitch code

* refactor(react-router-dom): `useLocation` no generics type

* refactor(react-router-dom): add `less v3.9.0` to `resolutions` to solve the error of `gulp-less`

* refactor(react-router-dom): fix `<RouteSwitch />`  `props.routes` as an array is not handled

* chore: upgrade `dumi` and refactor docs

* fix: completed code review, add `targets` to solve browser compatibility & removed `chainWebpack`

* refactor(dumi): upgraded dumi under `packages/core/client`

* refactor(dumi): delete `packages/core/dumi-theme-nocobase`

* refactor(dumi): degrade `react`  & replace `dumi-theme-antd` to `dumi-theme-nocobase`

* refactor(dumi): solve conflicts between multiple dumi applications

* fix: login page error in react 17

* refactor(dumi): remove less resolutions

* refactor(dumi): umi add `msfu: true` config

* fix: merge bug

* fix: self code review

* fix: code reivew and test bug

* refactor: upgrade react to 18

* refactor: degrade react types to 17

* chore: fix ci error

* fix: support routerBase & fix workflow page params

* fix(doc): menu externel link

* fix: build error

* fix: delete

* fix: vitest error

* fix: react-router new code replace

* fix: vitest markdown error

* fix: title is none when refresh

* fix: merge error

* fix: sidebar width is wrong

* fix: useProps error

* fix: side-menu-width

* fix: menu selectId is wrong & useProps is string

* fix: menu selected first default & side menu hide when change

* fix: test error & v0.10 change log

* fix: new compnent doc modify

* fix: set umi `fastRefresh=false`

* refactor: application v2

* fix: improve code

* fix: bug

* fix: page = 0 error

* fix: workflow navigate error

* feat: plugin manager

* fix: afterAdd

* feat: update docs

* feat: update docs

* fix: page tab change not work

* fix: login redirect query param doesn't work

* fix: bug and doc

* feat: update docs

* fix: ci error

* fix: merge main

* feat: update docs

* feat: update docs

* feat: update docs

* chore(versions): 😊 publish v0.10.0-alpha.1

* fix: translations

* chore: backend node test max old space size

* docs: add useSearchParams

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: ChengLei Shao <chareice@live.com>
2023-06-20 11:48:02 +08:00
ChengLei Shao
97106c28e8
chore(database): return emtpy fields when attributes not specified (#2034)
* test: append nested field

* chore: return emtpy fields when attributes not specified

* fix: test

* fix: data template error

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-06-12 18:44:43 +08:00
ChengLei Shao
b401c54442
chore(database): append inherit inspect attribute with eager load (#2010) 2023-06-08 17:58:39 +08:00
ChengLei Shao
e8e9c038e3
fix: eager load with nested association (#2002) 2023-06-07 15:31:29 +08:00
ChengLei Shao
d7e6b7b320
feat(database): add firstOrCreate and updateOrCreate in repository (#1943)
* chore: tmp commit

* feat: firstOrCreate

* chore: firstOrCreate

* feat: updateOrCreate

* chore: test

* feat: values to filter

* feat: firstOrCreate http api

* fix: build error
2023-06-06 11:36:18 +08:00
ChengLei Shao
57d47371da
feat(database): append child collection name after eager load (#1978)
* test: eager load with inherit collection name

* feat: append child collection name after eager load

* chore: call build eager loading tree
2023-06-06 11:30:35 +08:00
ChengLei Shao
ad726e6a94
chore(database): pg oid and name data type in view (#1982) 2023-06-05 10:56:34 +08:00
ChengLei Shao
c7b9e6ac51
feat: infer belongs to association field in view collection (#1756)
support belongs to field in view collection
2023-06-04 13:04:56 +08:00
ChengLei Shao
d86da18006
fix(database): missing reference when rewrite parent field (#1977) 2023-06-03 00:06:54 +08:00
ChengLei Shao
4b9150d448
fix(database): update association values with nested associations (#1970)
* fix: update association values with nested associations

* fix: isReverseAssociationPair
2023-06-01 23:27:57 +08:00
ChengLei Shao
82e6c7bb40
chore(database): sort many to many associations by primary key by … (#1948)
* chore(database): sort belongs to many associations by primary key by default

* chore: test

* chore: force sync in test
2023-05-28 22:05:25 +08:00
ChengLei Shao
29e66f675e
fix: eager load belongs to many with through table (#1946)
* fix: eager load belongs to many with through table

* fix: test

* fix: instance accessor
2023-05-27 23:23:09 +08:00
chareice
7d1a087b50 fix: eager load with long through table name 2023-05-27 17:35:30 +08:00
chenos
d7f21460c6 chore(versions): 😊 publish v0.9.4-alpha.2 2023-05-26 17:05:46 +08:00
ChengLei Shao
ea6f7accc3
fix: parse nested associations in filterParser (#1941) 2023-05-26 14:48:20 +08:00
chenos
9c94840c6b chore(versions): 😊 publish v0.9.4-alpha.1 2023-05-25 22:48:39 +08:00
ChengLei Shao
27a74906ff
chore: load view collection when source not found (#1930) 2023-05-25 21:46:58 +08:00
ChengLei Shao
7080db72eb
chore: update guard with array contains null (#1922) 2023-05-24 11:24:15 +08:00
katherinehhh
e299f5452c
refactor: initialization when switching field components (#1915)
* fix: toManyNester only display one data

* fix: sub-nester

* fix: initialValue

* fix: [null]

* fix: record picker initValue

* fix: initValue filter

* fix: association select  initialValue filter

* fix: association select  initialValue filter

* fix: [null]

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-05-24 10:36:29 +08:00
ChengLei Shao
6fb569cf0d
fix: eager load with belongs to many with custom source key (#1913) 2023-05-23 15:03:32 +08:00
ChengLei Shao
5288cbb1cf
fix: eager load belongs to many association (#1906) 2023-05-22 16:09:37 +08:00
被雨水过滤的空气-Rairn
e27cff15c9
feat: support to-multi field variables (#1680)
* feat: support to parse association variable

* chore: change comment

* feat(operators): support array as value in string operator

* refactor: add a special marker

* feat: date support to-multi field variables

* feat: support for notIn

* refactor: rename

* test: fix test error

* Revert "test: fix test error"

This reverts commit 3d139698f6295678a39b77b08c88427f9fafe247.

* Revert "refactor: rename"

This reverts commit 2e16225c038e18ee25f1136d510cb4746bd9932f.

* Revert "feat: support for notIn"

This reverts commit 2087e5c4da1429b260890d5136c714ad541955a9.

* Revert "feat: date support to-multi field variables"

This reverts commit 0d7b2db0512ba7b632a2ab61f37cf83c0d06b9a1.

* Revert "refactor: add a special marker"

This reverts commit 7ba2e4bc00d79f60a2e90340df65b2938985750a.

* Revert "feat(operators): support array as value in string operator"

This reverts commit 0897cd19e9863248ef9e2af6c91ee14e805778a4.

* refactor: improve code

* test: fix can not import style file

* feat: only eq and ne oprators support mutil relation fields

* test: add example.test.ts

* refactor: remove jsonata

* Revert "test: add example.test.ts"

This reverts commit 0ad2ea458cd8a964891490d2021a5b000f391395.

* test: fix error

* fix: fix error

* refactor: remove async

* chore: rebase

* test: fix error

* test: fix errors
2023-05-21 17:18:35 +08:00
ChengLei Shao
aabc681245
fix: append belongs to association with fields (#1894) 2023-05-20 21:31:27 +08:00
ChengLei Shao
ccdc05b30b
fix: appends belongs to association (#1893)
* fix: merge stage in eager loading tree

* chore: test
2023-05-20 20:36:07 +08:00
ChengLei Shao
c0ef071baf
Refactor/append fields (#1883)
* chore: eager loading tree

* feat: load eager loading tree

* feat: merge stage of eager loading

* feat: merge stage of belongs to

* feat: merge stage of has one

* feat: merge stage of belongs to many

* chore: test

* chore: print tree

* chore: using eager loading tree in repository find

* fix: empty ids load

* fix: belongs to many query

* fix: load belongs to  association

* fix: eager load data accessor

* fix: has many

* fix: test

* fix: filter with appends

* chore: remove handle appends query

* chore: console.log

* chore: console.log

* fix: test
2023-05-19 16:39:00 +08:00
ChengLei Shao
ac5f3fd67e
chore: pg sql parser (#1890) 2023-05-19 15:30:44 +08:00
chenos
e0646650f0 fix(database): migrations table name missing table prefix 2023-05-18 14:51:51 +08:00
ChengLei Shao
f8fa36d016
feat: repository aggregate method (#1829)
* feat: repository aggregate method

* chore: aggregate with distinct

* feat: has many repository aggregation

* feat: belongs to  many repository aggregation

* chore: using model aggregate method

* chore: aggregate with association filter

* chore: aggregate type

* chore: type error
2023-05-11 15:16:33 +08:00
chenos
cf0a921f85 chore(versions): 😊 publish v0.9.3-alpha.1 2023-05-11 12:49:18 +08:00
katherinehhh
55efa40cdd
refactor: association field (#1838)
* feat: association field

* fix: bug

* refactor: association field

* style: style improve

* style: style improve

* refactor: support subtable

* refactor: support file collection

* refactor: locale improve

* refactor: subtable improve

* refactor: association select  improve

* refactor: association select  improve

* refactor: association select  improve

* refactor: useAssociationNames

* refactor: enable link

* refactor: selector

* refactor: selector

* refactor: locale improve

* refactor: on demand loading of relational data

* refactor: locale improve

* refactor: select button

* refactor: association field

* refactor: formformBlock provider

* refactor: formformBlock provider

* refactor: internalSelect recordPicker

* refactor: formBlocklockProvider

* fix: addNewer schema

* fix: useServiceOptions

* fix: useCreateActionProps

* fix: useCreateActionProps

* refactor: nester delete

* refactor: nester delete in detail

* refactor: subTable suport select

* refactor: subTable suport select

* style: style improve

* style: style improve

* chore: fileManger

* fix: association readPrety

* fix: filemanger

* refactor: field mode

* refactor: enable link

* chore: error message

* refactor: association schemaInitialize

* refactor: association schemaInitialize

* refactor: currentMode

* refactor: field mode default value

* fix: file manage readPretty

* fix: appends

* chore: file manage readPretty

* fix: updateAssociationValues

* fix: updateAssociationValues

* fix: updateAssociationValues

* fix: nester appends

* fix: nester appends

* fix:  tree collection association fields

* fix:  tree collection association fields

* fix: nester appends

* fix: subtable to select field value missing

* fix: subtable to select field value missing

* fix: compatible with historical blocks

* fix: compatible with historical blocks

* fix: compatible with historical blocks

* feat: add migration

* fix: filter block allow add new

* fix: compatible with historical blocks

* fix: skip if not RecordPicker

* fix: compatible with historical blocks

* fix: detail block not support nester

* fix: association select support data scope and sort setting

* fix: appends on demand loading

* fix: asociationSelect support multiple

* fix: recordPicker -> AssociationField

* fix: add migration

* fix: audit logs not show assication data

* fix: flattenNestedList

* refactor: file manager field mode

* refactor: field mode refactor

* fix: subtable action

* fix: subtable appends

* refactor: code improve

* fix: nester add new

* feat: sub table

* fix: data scope not effect immediately

* fix: association add new

* fix: association field failed to  add new and mutual influence

* style: style improve

* style: style improve

* refactor: updateAssociationValues

* refactor: form init values

* refactor: select options

* fix: form initialValues

* fix: record picker values

* fix: field value change when field mode change

* fix: select data scope

* feat: add migration

* fix: table column enable link

* fix: table column enable link

* refactor: locale improve

* fix: migration

* fix: mutiple config

* fix: readPretty enable link

* fix: appends on demand

* fix: enable link style

* refactor: locale improve

* refactor: locale improve

* feat: sub-form migration

* fix: skip migration

* fix: translation

* fix: skip migration

* fix: getLabelFormatValue

* fix: error TS2339: Property 'find' does not exist on type 'string | SchemaEnum<any>'

* refactor: remove the logic code for converting old record picker

* refactor: locale

* refactor: locale

* fix: sub-table should not support add new

* refactor: code improve

* refactor: locale

* fix: compatibility history Subtable

* fix: improve

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Chareice <chareice@live.com>
2023-05-11 12:47:31 +08:00
ChengLei Shao
ecd7540f7a
fix: tree with fields option (#1833) 2023-05-10 16:32:36 +08:00
ChengLei Shao
8183ff5564
chore: should not return children property when child nodes are empty (#1825) 2023-05-09 16:48:40 +08:00
ChengLei Shao
088acd906d
fix: tree with sort field (#1822) 2023-05-09 12:10:53 +08:00
ChengLei Shao
2c29daedb5
fix: filter with appends (#1819) 2023-05-08 11:18:42 +08:00
ChengLei Shao
7b550ce5aa
Fix/filter by array field (#1813)
* test: filter by association array field

* fix: match operator in pg

* chore: cast
2023-05-07 23:08:41 +08:00
ChengLei Shao
b3d4e47ef3
Fix/empty tree query (#1814)
* fix: empty tree query

* fix: traverse get
2023-05-07 23:08:20 +08:00
ChengLei Shao
54432a4314
fix: update tree node (#1812)
* fix: update tree node

* chore: test
2023-05-06 15:14:05 +08:00
ChengLei Shao
258f4e980d
fix: list trees (#1810)
* fix: list trees

* fix: test
2023-05-06 14:28:13 +08:00
ChengLei Shao
b8c85c91b4
test: filter nested association (#1802)
* test: filter nested association

* chore: log

* fix: tree instance to json

* ci: test case

* chore: test

* chore: log

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-05-06 07:55:26 +08:00
ChengLei Shao
e5d286a131
fix: tree performance (#1779)
* chore: tree performance

* chore: build index value

* chore: get tree index

* fix: children key

* fix: test

* fix: tree child to json

* fix: tree with fields
2023-05-05 10:33:44 +08:00
ChengLei Shao
d4636311e8
Fix/recreate association field (#1789)
* chore: test

* fix: recreate association with same name as field
2023-05-03 08:05:55 +08:00
chenos
923f6e7884 chore(versions): 😊 publish v0.9.2-alpha.4 2023-04-26 22:33:55 +08:00
chenos
9756dd134b chore(versions): 😊 publish v0.9.2-alpha.3 2023-04-25 13:15:40 +08:00
chenos
883f1e6fd1
fix: eslint (#1759)
* fix: eslint

* fix: eslint --fix

* fix: changelog
2023-04-25 13:12:14 +08:00
YANG QIA
25d2ebf02a
chore(comment): collectionOptions.duplicator (#1752) 2023-04-23 18:29:48 +08:00
被雨水过滤的空气-Rairn
c02544c68b
fix(FilterFormBlock): fix association field can not to filter (#1699)
* feat: add getValuesByPath

* fix(FilterFormBlock): fix association field can not to filter

* test: hasMany filter test

* fix: remove null in filter

* fix: fix not responding for filter button

* fix: fix oho and o2m and obo

* fix: fix isInFilterFormBlock

* fix: fix errors

* fix: should filter out when params is empty

---------

Co-authored-by: chareice <chareice@live.com>
2023-04-19 23:06:20 +08:00
ChengLei Shao
ddb6d69676
fix: load view collection (#1727)
* fix: load view collection

* refactor: using graphlib at collections load

* test: destory through collection

* feat: throw error when collection manager cycle found

* test: view collection as through collection
2023-04-19 17:59:49 +08:00
chenos
3dfd5a1f7a chore(versions): 😊 publish v0.9.2-alpha.2 2023-04-19 13:10:55 +08:00
ChengLei Shao
9fc8f5389b
Fix/save through table data (#1714)
* fix: save through table data

* chore: variable name

* fix: format
2023-04-17 14:46:16 +08:00
ChengLei Shao
221c90d835
fix: find fields arg (#1710) 2023-04-16 17:30:39 +08:00
chareice
f35da4a2a0 fix: init sort field with null group 2023-04-09 12:52:42 +08:00
chareice
0c17d609fa fix: transaction params 2023-04-09 12:19:59 +08:00
ChengLei Shao
55c7bb5cf5
fix: sort field init performance (#1675)
* fix: sort field init performance

* chore: test table prefix

* fix: mysql compability
2023-04-08 22:08:32 +08:00
ChengLei Shao
c3a91e9758
chore: find inherit collection warn (#1663) 2023-04-07 19:44:44 +08:00
chenos
cefe678348
feat(filter-operators): eq and ne operators support array (#1658) 2023-04-07 13:34:39 +08:00
ChengLei Shao
242977983b
chore: inhertis api with difference schema (#1545)
* refactor: getTableNameWithSchema

* feat: allow create collection with same name in difference schema

* feat: support multiple schema with inherit

* feat: repository after find hook & relation repository __colection attribute

* chore: debug info

* chore: tmp commit

* fix: tableoid to tablename error

* feat: filter child table by tableoid

* feat: filter child table by collection name

* fix: sync runner

* chore: test

* fix: jest empty test error
2023-04-06 09:05:47 +08:00
ChengLei Shao
914260ed7e
fix: update field error (#1645) 2023-04-04 10:44:30 +08:00
ChengLei Shao
86abc251d9
fix: get pg view def (#1641)
* fix: get pg view def

* chore: console.log
2023-04-02 22:50:55 +08:00
ChengLei Shao
bec624eb54
fix: infer view column type with alias (#1634)
* fix: infer view column type with alias

* fix: build

* fix: type

* fix: test
2023-04-02 14:32:20 +08:00
ChengLei Shao
3f81d7cd7d
chore: disabled underscored in view collection. (#1633)
* chore: disabled underscored in view collection

* fix: test
2023-04-02 11:27:04 +08:00
ChengLei Shao
4f87de7da5
feat: database view collection (#1587)
* test: create view collection

* feat: view collection class

* feat: list view

* chore: skip sync view collection

* test: should create view collection in difference schema

* test: create view collection in collection manager

* feat: create view collection by user sql

* test: view resourcer

* feat: view collection

* feat: view collection cannot be added, deleted, or modified

* feat: view collection cannot be added, deleted, or modified

* feat: view collection cannot be added, deleted, or modified

* feat: view collection cannot be added, deleted, or modified

* refactor: connect to database view

* refactor: sync from database

* chore: rename list view sql

* chore: list view fields api

* chore: create collection without viewName

* feat: bring out fields when selecting a view

* chore: bring out fields when selecting a view

* feat: view field inference class

* chore: bring out fields when selecting a view

* chore: sync form database view

* chore: sync form database view

* refactor: view collection local

* feat: view get api

* feat: database type infer

* feat: integer map

* chore: remove from in view list

* chore: build error

* chore: uniq collection

* fix: typo

* chore: replace collection list source field

* fix: destroy view collection

* chore: timestamp field map

* refactor: interface avalableTypes

* refactor: interface avalableTypes

* chore: list fields test

* refactor: interface avalableTypes

* chore: uiSchema response in field source

* fix: view query

* chore: collection snippet

* refactor: view collection support preview

* fix: handle field source

* fix: typo

* fix: configure fileds title

* fix: configure fileds title

* fix: configure fileds title

* fix: sync from databse interface

* fix: sync from databse interface

* feat: set fields api

* fix: sync from databse fix

* feat: possibleTypes

* chore: fields get

* fix: sync from databse

* fix: list view test

* fix: view test in difference schema

* chore: comment

* feat: when there is only one source  collection, the view is a subset of a Collection

* feat: view collection add field

* fix: inherit query with schema

* fix: test

* fix: ci test

* fix: test with schema

* chore: set pg default search path

* chore: mysql test

* fix: test with schema

* chore: test

* chore: action test

* chore: view column usage return type

* feat: mysql field inference

* fix: tableName

* chore: node sql parser

* fix: sql build

* fix: database build

* fix: mysql test

* feat: view collection uiSchema title

* fix: incorrect field source display  when switching views

* refactor: view collection not allow modify

* fix: view collection is allow add, delete, and modify

* fix: mysql test

* fix: sqlite test

* fix: sqlite test

* fix: sqlite test

* fix: sqlite test

* chore: add id field as default target key

* style: style improve

* feat: load source field options

* style: style improve

* chore: disable remove column in view collection

* chore: support creating view collection with different schemas with the same name

* chore: support creating view collection with different schemas with the same name

* fix: query view in difference schema

* refactor: view collection viewname

* fix: query view collection in difference schema

* fix: field load

* chore: field options

* fix: mysql test

* fix: uiSchema component error when using a view field in a block

* fix: sqlite test

* chore: test

* fix: dump user views

* fix: view collection can be updated and edited in table block

* chore: sync from database display last field configuration

* chore: loadCollections

* chore: sync from database display last field configuration

* fix: field options merge issues

* style: preview table

* fix: view collection is allow using in kanban blocks

* refactor: code improve

* fix: view collection can be updated an edited in calendar block

* chore: disable infer field without interface

* feat: preview only shows source or interface fields

* fix: test

* refactor: locale

* feat: sql parser

* chore: remove node-sql-parser

* fix: yarn.lock

* test: view repository

* fix: view repository test

* chore: console.log

* chore: console.log

* fix: mysql without schema

* fix: mysql without schema

* chore: preview with field schema

* chore: tableActionInitializers

* style: preview style improve

* chore:  parameter is filter when there is no filterByTk

* fix: preview pagination

* fix: preview pagination

* style: preview table style improve

* fix: sync from database loading

* chore: preview performance optimization

* chore: preview performance optimization

* feat: limit & offset

* chore: preview performance optimization

* test: field with dot column

* fix: datetime interface display

* fix: missing boolean type

* fix: sync

* fix: sync from database

* style: style improve

* style: style improve

* style: style improve

* chore: preview table

* chore: preview table

* chore: preview table

* fix: styling

---------

Co-authored-by: katherinehhh <katherine_15995@163.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-04-01 21:56:01 +08:00
ChengLei Shao
2f8e7a8087
fix: init sort value in sort field with scopeKey (#1626) 2023-04-01 09:06:20 +08:00
chenos
db511a33fa
fix: find with attributes and group (#1411)
* fix: find with attributes and group

* fix: error

* fix: test

---------

Co-authored-by: Chareice <chareice@live.com>
2023-03-31 13:58:35 +08:00
被雨水过滤的空气-Rairn
098140d511
feat(parse-variables): support to parse variables in filter params (#1558)
* fix: add field linkage on setting default datetime

* fix: fix dateonly timezone problem

* fix: improve test

* docs(DatePicker): add demos

* fix(DatePicker): should return the beginning of a second

* feat(DatePicker): support non-UTC

* refactor: rename

* fix(RangePicker): get correct end date

* test(mapDatePicker): add test

* test(mapRangePicker): add test

* feat(Filter): use non-UTC to filter

* feat(FilterBlock): use non-UTC to filter

* feat: add '$dateBetween' operator in datetime

* feat: use RangePicker on toggled to 'dateBetween' operator

* feat: set ranges for RangePicker

* feat: backend support to parse 'dateBetween' operator

* fix: fix build error

* fix: adaptive content width

* feat: support to use var on data scope

* feat: add parse-variables plugin

* feat: support to parse variables

* feat: support only to set system variables

* test: rename

* feat: cover all

* fix: fix build error

* feat(RangePicker): extend more shortcut keys

* feat(parse-variables): support more date var

* feat: support user variables

* feat: disable unmatched options

* fix: use component name to filter option

* fix: fix build error

* feat: remove some operator of id

* chore: remove useless operators

* fix: built in plugin

* refactor: move to core from plugin

* refactor: remove code of plugin

* refactor: remove useless code

* fix: should after acl

* Update server.ts

* fix: compatible with old version

* feat: test cases

* refactor: rename to 'is between'

* refactor: parse filter

* fix: improve code

* feat: test cases

* fix: fix error

* fix: improve parse date

* fix: date variables

* fix: day range

* fix: test error

* fix: typo

* fix: test error

* feat: $user variable

* fix: toDate

* fix: fix the value range of shortcuts

* feat: add quarter and test

* feat: support to use user's association fields to filter

* refactor: use maxDepth

* refactor: remove useless code

* fix: make AssociationSelect.Designer to support variables

* fix: getField

* fix: parse utc

* fix: remove only

* fix: filter by ctx.db.getFieldByPath

* fix: avoid error

* fix: add translation

* fix(RangePicker): can be set to empty

* feat(utils): add hasEmptyValue

* fix: should not save empty

* fix: last few days should include today

* fix: limit user variable type to display

* fix: parse filter error

* fix: empty

* test: [skip ci]

* fix: remove ';'

* feat: improve code

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-03-30 23:49:57 +08:00
ChengLei Shao
e566d56c2d
fix: destroy through table record referencing collections table (#1611)
* test: destory through table record referencing collections table

* fix: belongs to many fields to reference
2023-03-28 12:26:30 +08:00
chenos
c43930fa7c fix: field path 2023-03-23 14:05:53 +08:00
ChengLei Shao
ca95edf295
refactor: multi-app (#1578)
* feat: compact theme

* fix: theme

* fix: styling

* fix: margin

* feat: improve

* fix: remove console.log

* test: enable plugin test

* refactor: multi app

* test: lazy load sync plugin

* test: lazy load test

* fix: beforeGetApplication Event

* feat: loadFromDatabase options in traverseSubApps

* fix: test

* fix: multi app manager test

* chore: test

* test: should upgrade sub apps when main app upgrade

* feat: plugin require check

* chore: yarn.lock

* fix: sql typo

* feat: share collections

* fix: record name

* test: belongs to many repository

* fix: belongs to many with targetKey alias

* fix: extend collection error

* fix: transaction error

* feat: collection graph

* fix: update options in collection

* chore: collections graph

* chore: export uitls

* feat: connected nodes method in collections graph

* feat: exclude params in connected nodes

* chore: sub app collection list params

* fix: collections graph

* feat: syncToApps migration

* fix:  translation

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-03-19 23:40:42 +08:00
Chareice
18a75e096c chore: disable hooks in sort update 2023-03-17 15:02:58 +08:00
chenos
a9e5e14429
feat: tree collection (#1561)
* feat: adjacency list

* fix: error

* feat: collection extender

* Revert "feat: collection extender"

This reverts commit a942eee7699724fe831a98bae3f67a42db91a28b.

* fix: registerBuiltInListeners

* chore: getAllNodeIds

# Conflicts:
#	packages/plugins/acl/src/server.ts

* fix: get list data tree ids

# Conflicts:
#	packages/plugins/acl/src/__tests__/list-action.test.ts

* feat: suport add child

* feat: demo3

* feat: suport add child

* feat: support add child

* feat: support add child

* fix: tree true

* feat: suport expend and collapse

* feat: support expend and collapse

* feat: support expend and collapse

* feat:  table block of the selector supports tree table

* feat: expand and collapse are only displayed in the tree table

* fix: when the tree table is closed and opened, it needs to be refreshed to take effect

* fix: test

* refactor: add child is hidden when the tree table is closed

* refactor: tree table filter the children field

* refactor: tree table filter the children field

* refactor: tree table filter the children field

* refactor: expand and collapse button does not support modify name and icon

* refactor: parent cannot be modified when adding child

* refactor: expand and collapse button hide when treetable is closed

* refactor: expand and collapse button hide when treetable is closed

* refactor: expand and collapse button hide when treetable is closed

* refactor: expand and collapse button hide when treetable is closed

* refactor: expand and collapse button hide when treetable is closed

* refactor: expand and collapse button hide when treetable is closed

* refactor: expand and collapse button hide when treetable is closed

* refactor: expand and collapse button hide when treetable is closed

* refactor: filter out the node itself when selecting parent

* refactor: filter out the node itself when selecting parent

* refactor:  tree collection locale

* refactor:  tree collection locale

* fix: parameter exception when creating data selector

* fix: translation

* refactor:  tree collection locale

* feat: data selector Support tree table

* fix: failed to uncheck when multiple data selectors are selected

* fix: open or disabled the tree table, and add child does not respond immediately

* feat: data selector Support tree table

* fix: can not hide add child button

* fix: improve code

* fix: tree table

* fix: dynamic children column

---------

Co-authored-by: Chareice <chareice@live.com>
Co-authored-by: katherinehhh <katherine_15995@163.com>
2023-03-17 09:20:56 +08:00
ChengLei Shao
e86e40b93a
fix: app manager reload (#1565)
* fix: app manager reload

* chore: plugin test order
2023-03-14 13:10:15 +08:00
ChengLei Shao
0832a56868
feat: multiple apps (#1540)
* chore: skip yarn install in pm command

* feat: dump sub app by sub app name

* feat: dump & restore by sub app

* chore: enable application name to edit

* chore: field belongsTo uiSchema

* test: drop schema

* feat: uiSchema migrator

* fix: test

* fix: remove uiSchema

* fix: rerun migration

* chore: migrate fieldsHistory uiSchema

* fix: set uiSchema options

* chore: transaction params

* fix: sql error in mysql

* fix: sql compatibility

* feat: collection group api

* chore: restore & dump action template

* chore: tmp commit

* chore: collectionGroupAction

* feat: dumpableCollection api

* refactor: dump command

* fix: remove uiSchemaUid

* chore: get uiSchemaUid from tmp field

* feat: return dumped file url in dumper.dump

* feat: dump api

* refactor: collection groyoup

* chore: comment

* feat: restore command force option

* feat: dump with collection groups

* refactor: restore command

* feat: restore http api

* fix: test

* fix: test

* fix: restore test

* chore: volta pin

* fix: sub app load collection options

* fix: stop sub app

* feat: add stopped status to application to prevent duplicate application stop

* chore: tmp commit

* test: upgrade

* feat: pass upgrade event to sub app

* fix: app manager client

* fix: remove stopped status

* fix: emit beforeStop event

* feat: support dump & restore subApp through api

* chore: dumpable collections api

* refactor: getTableNameWithSchema

* fix: schema name

* feat:  cname

* refactor: collection 同步实现方式

* refactor: move collection group manager to database

* fix: test

* fix: remove uiSchema

* fix: uiSchema

* fix: remove settings

* chore: plugin enable & disable event

* feat: modal warning

* fix: users_jobs namespace

* fix: rolesUischemas namespace

* fix: am snippet

* feat: beforeSubAppInstall event

* fix: improve NOCOBASE_LOCALE_KEY & NOCOBASE_ROLE_KEY

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-03-10 19:16:00 +08:00
chenos
bc5156d458 chore(versions): 😊 publish v0.9.1-alpha.2 2023-03-09 12:45:30 +08:00
ChengLei Shao
c86b91c586
chore: relation repository response when source model not found (#1546)
* chore: relation repository response when source model not found

* fix: test

* fix: test

* fix: test
2023-03-07 22:10:51 +08:00
ChengLei Shao
a214c7b2aa
fix: belongs to many through table with custom schema (#1539) 2023-03-05 17:43:04 +08:00