Commit Graph

153 Commits

Author SHA1 Message Date
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
chenos
a9e5e14429
feat: tree collection (#1561)
* feat: adjacency list

* fix: error

* feat: collection extender

* Revert "feat: collection extender"

This reverts commit a942eee769.

* 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
chenos
907eb72efc fix: column ui_schema_id does not exist 2023-03-12 18:44:45 +08:00
anuoua
7313307210
feat: record picker support to enable links (#1515)
* feat: link-tag-switch

* feat(link-tag-switch): add interface

* feat(link-tag-switch): i18n fix

* feat(link-tag-switch): fix link enable

* feat(link-tag-switch): cr fix

* fix: error

* fix: skip test

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-03-12 17:16:17 +08:00
chenos
cb97c7ae5c fix: migration error 2023-03-12 14:08:43 +08:00
chenos
aece9015aa fix: transaction cannot be rolled back because it has been finished 2023-03-12 13:39:27 +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
a214c7b2aa
fix: belongs to many through table with custom schema (#1539) 2023-03-05 17:43:04 +08:00
ChengLei Shao
d1fb3c92d8
test: with collection_manager_schema env (#1532)
* test: with collection_manager_schema env

* fix: remove collection

* fix: collection test

* fix: collection exist in db with custom schema

* fix: inherited with custom collection schema

* fix: build error

* fix: sync unique index & database logger
2023-03-05 14:45:56 +08:00
ChengLei Shao
1a84396691
fix: remove field when collection has difference schema with database (#1524) 2023-03-03 11:05:57 +08:00
chenos
946c8f25a3 chore(versions): 😊 publish v0.9.1-alpha.1 2023-03-03 09:34:06 +08:00
ChengLei Shao
9048b2a58b
feat: collection manager schema env (#1506)
* feat: database manager schema env support

* feat: skip db2cm collection in custom schema

* fix: test

* test: through table custom schema

* chore: fields hooks

* chore: reload through collection on autoCreate

* fix: test error

* fix: skip test case

* chore: children test

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-03-01 17:55:37 +08:00
ChengLei Shao
ecf618783e
feat: fallback sort field init to createdAt field (#1507)
* feat: fallback sort field init to createdAt field when primary key not exists

* chore: set belongsToMany through autoCreated table to sortable false
2023-02-27 13:59:17 +08:00
ChengLei Shao
dfbdbc741d
fix: collection schema updated but model _schema not change (#1500)
* fix: collection schema updated but model _schema not change

* test: schema changed
2023-02-26 08:04:29 +08:00
ChengLei Shao
24fb25754f
fix: column not exists error after destory relation field (#1465)
* test: field not exists

* fix: create association field after other association field destroyed
2023-02-19 11:55:25 +08:00
ChengLei Shao
43e52843fa
fix: add schema (#1464)
* fix: add schema

* chore: format
2023-02-18 09:27:54 +08:00
ChengLei Shao
89c1d39b6b
Fix/pg schema with inherit (#1446)
* fix: pg schema in sync runner

* fix: restore with pg schema

* chore: databse utils

* fix: test

* Update nocobase-test.yml

* fix: test

* chore: db schema test options

* feat: collection add schema table name method

* fix: update to bigint test

* fix: schema test

* chore: show constraints query path

* chore: show constraints query path

* Update nocobase-test.yml

* chore: test

* fix: test

* fix: test

* fix: test table name

* fix: inherited collection test
2023-02-16 10:53:04 +08:00
chenos
1b5f3a38cf fix: skip migration test case 2023-02-15 15:23:04 +08:00
chenos
50a4da84d2 fix: skip test 2023-02-15 14:27:47 +08:00
chenos
d08c7833ee fix: collection categories need to be sorted 2023-02-15 14:22:37 +08:00
chenos
83bca97db0 fix: optimize import performance 2023-02-15 11:37:19 +08:00
ChengLei Shao
0e0eb6432e
feat: provide the underscored option for the database (#1366)
* feat: underscored options

* feat: underscored using hook

* feat: database underscored options

* feat: underscored env

* fix: collectionExistsInDb

* fix: test

* fix: nocobase install

* fix: test

* fix: belongsTo association

* fix: test of underscored

* chore: console.log

* fix: list action test

* fix: dump test

* chore: snakeCase algo

* fix: underscored field create

* fix: underscored env

* fix(acl): custom appends merge strategy (#1416)

* Update index.md

* fix(plugin-workflow): use promise to request (#1426)

* Update index.md

* Update collection.md

* Update index.md

* Update index.md

* Update collection.md

* Update field.md

* Update repository.md

* Update has-one-repository.md

* Update has-many-repository.md

* Update belongs-to-many-repository.md

* Update index.md

* chore: translate 'Add tab' in page header (#1424)

* fix: test

* fix: workflow test

* fix: underscored with inherits

* fix: underscored test

* fix:  process.env.DB_UNDERSCORED

* fix: process.env.DB_UNDERSCORED === 'true'

* fix: test

* fix: pg test

* fix: underscored table name

* feat: tableName & fieldName conflict check

* fix: test

* fix: underscored index

* fix: update field unique index

* fix: sync default value

* fix: collection manager create field

* chore: field sync

* fix: pg test

* chore: test

* fix: test

* chore: default constraint name

* chore: syncUniqueIndex

* feat: field destory before check

* feat: field type check

* fix: test

* fix: test

* fix: improve

* fix: should destroy when fields refer to the same field

* fix: acl meta with underscored

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-02-13 21:38:47 +08:00
chenos
e5e503fe87
feat: add namespace and duplicator parameters for collection options (#1449)
* feat: add namespace and duplicator parameters for collection options

* fix: duplicator:getDict
2023-02-13 09:57:03 +08:00
chenos
68511f05bc docs: add plug-in documentation 2023-02-11 00:09:39 +08:00
katherinehhh
f8a11cbbf0
feat: collection categories (#1327)
* feat: collection categories

* feat: collection category

* feat: collection category

* feat: collection category belongsToMany

* feat: collection category

* feat: collection category

* feat: collection category

* feat: collection category local

* feat: collection category

* feat: collection category collection

* feat: collection category code improve

* feat: collection category code improve

* feat: collection category column

* feat: collection category color

* feat: collection category improve

* feat: collection category improve

* feat: collection category improve

* feat: collection category improve

* feat: collection category improve

* feat: collection category refresh

* feat: collection category improve

* feat: collection category improve

* feat: collection category improve

* feat: collection category improve

* feat: collection category improve

* feat: graph collection show category color

* feat: graph collection show category color

* feat: graph collection category style improve

* fix: change the variable names to camel case

* fix: category

* fix: collectionCategory

* fix: field options

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-02-10 09:15:37 +08:00
ChengLei Shao
c239a5ad63
fix: load through collection before belongsToMany field bind (#1409) 2023-01-31 17:48:04 +08:00
ChengLei Shao
bab10c928b
fix: inherit startup sort (#1402) 2023-01-29 15:46:53 +08:00
chenos
daa91e95a6 chore(versions): 😊 publish v0.9.0-alpha.2 2023-01-14 12:07:20 +08:00
chenos
013f0916a5 chore(versions): 😊 publish v0.9.0-alpha.1 2023-01-11 12:08:24 +08:00
chenos
8d30bee757
feat: change license (#1350) 2023-01-11 11:58:47 +08:00
ChengLei Shao
a614bc7de8
feat: acl optimization (#1136)
* fix: sort field with table dose not have primary key

* feat: fixed params merger

* chore(plugins/acl): fixed params

* chore(plugins/acl): allowConfigure of collections

* chore(plugins/china-region): disable actions other than list

* chore(plugins/collection-manager): allowConfigure permission

* chore(plugins/file-manager): acl fixed params

* chore: acl fixed params

* chore: rolesResourcesScopes onDelete cascade

* fix: install error

* chore: test

* fix: root user fixed params

* fix: role resource scope onDelete

* chore: test

* chore: test

* fix: acl

* chore: disable index.html cache

* chore: disable index.html cache

* test: destory user role

* test: destory throught table

* fix: test

* fix: test

* chore: add rolesUsers to fixed params

* feat: permission logging

* feat: permission logging

* fix: test

* fix: test

* chore: disable grant target action

* fix: appends with fields

* fix: get action params

* fix: associationActions

* chore: change AssociationField using relation type

* chore: typo

* refactor: allow to skip

* fix: prettier

* chore: attachments association action

* fix: allowConfigure condition

* fix: deprecated allow

* fix: please use skip instead

* feat: table column aclcheck

* chore: test

* feat: throw error when detory no permission record

* chore: test

* chore: acl test

* feat: field acl

* chore: after action middleware

* fix: destory permission check

* chore: middleware use

* fix: test

* feat: filter match

* feat: subform/subtable field acl check

* feat: action permision by scope

* feat: action permision by scope

* feat: list action with allowedActions

* chore: all allowed action

* fix: pk error

* fix: merge error

* fix: create query sql

* fix: skip permission

* fix: scope with association field

* feat: action acl fix

* feat: action acl fix

* fix: update submodule

* Feat: setting center permission (#1214)

* feat: add setting center permissions

* feat: setting center permissions backlist

* feat: setting center permissions BLACKLIST

* feat: setting center permissions blacklist

* feat: setting center permissions blacklist

* feat: setting center permission

* feat: configure plugin tab expand

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

* Feat :field acl (#1211)

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

* fix: build error

* test: acl snippet

* feat: set field

* fix: test

* fix: build error

* fix: utils Dependency cycles

* feat: general permissions

* feat: delete pluginTabBlacklist

* fix: test

* feat: snippetManager allow method

* feat: acl role snippetAllowed method

* feat: array field repository

* feat:  ArrayFieldRepository

* fix: test

* fix: ci

* fix: ci error

* fix: add set parse

* test: array field repository

* chore: addSnippetPatten

* fix: start

* feat: sync role snippets

* feat: snippets check

* feat: snippets check

* chore: acl role snippet api

* fix: test

* fix: test

* refactor: acl role snippets

* chore: registerACLSettingSnippet

* chore: default snippets

* feat: snippets match

* feat: snippets check

* feat: snippets check

* feat: pm permision check

* feat: pm permision check

* feat: snippet pattern match

* feat: pluginManagerToolbar check

* feat: pluginManagerToolbar check

* chore: snippets default value

* feat: set role snippets migration

* chore: snippets

* feat: acl local

* feat: acl local

* feat: bookmask fix

* feat: plugin-manger & ui-editor snippet

* feat: set allowConfigure to false when upgrade to snippets

* feat: destory action acl fix

* feat: destory action acl fix

* fix: association resource params merge

* fix: ui editor snippet

* feat:  action acl fix

* chore: move list meta middleware into plugins/acl

* fix: test

* feat:  action acl fix

* feat: action acl check fix

* feat: plugins toolbar fix

* feat: gitmodules

* fix: subproject

* chore: add avaiableActions to snippet

* chore: change plugin-manager snippet

* feat: configure action acl fix

* feat: plugin tab acl check fix

* chore: roles snippets

* fix: add actions to snippet

* feat: allowconfigure fix

* fix: count with filterBy

* fix: build error

* feat: get action with allowedActions

* feat: acl route check fix

* feat:  aclActionProvider fix

* feat: actionscpe fix

* feat: actionname alias

* feat: setting center fix

* feat: acl provider fix

* fix: role collection

* feat: associate resource  acl

* feat: associate resource  acl

* feat: redirect to 403

* feat: route redirct

* feat:  acl scope check by record

* fix: fields  appends fix

* fix: fields  appends fix

* fix: fields  appends fix

* fix: allowedActions  fix

* fix:  menu items

* fix: rename

* fix: improve code

* fix: improve code

* fix: improve code

* fix: ctx?.data?.data

* fix: styling

* fix: allowAll after ignore scope

* chore: allowConfigure condition

* fix: collections.fields:*

* fix: acl test

* fix: update submodule

* fix: acl test

* fix: acl snippet

* fix: updates

* fix: only load history for logged-in users

* fix: this.app.acl.registerSnippet

* fix: downloadXlsxTemplate

* fix: 404

* feat: allowedAction in association list response

* fix: listData get

* fix: test

* fix: x-collection-field

* fix: update record error

* fix: calendar template

* test: allow manager

* fix: fetch action step

* fix: update submodule

* fix: refresh

* fix: refresh

* fix: rolesResourcesScopes

* test: snippets

* fix: snippets

* fix: test

* fix: omit filter.createdById

* fix: improve code

* fix: collections path

* fix: test error

* fix: upgrade error

* fix: errors

* fix: read allowed actions error

* fix: kanban error

* fix: error

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: katherinehhh <katherine_15995@163.com>
2023-01-09 07:35:48 +08:00
ChengLei Shao
6b0ed79f51
feat: duplicator plugin (#1265)
* chore: dump plugin

* chore: rename plugin

* chore: add duplicator into preset

* chore: tmp commit

* feat: restore & dump action

* feat: collection dump & restore

* feat: collection dump & restore

* fix: dump with json type

* fix: dump uischema

* chore: tmp commit

* chore: tmp commit

* feat: restore custom collections

* chore: code

* fix: build

* chore: tmp commit

* fix: pm.generateClientFile

* feat: dump with user plugins

* feat: restore ignore collection

* feat: ignore user with rolesUsers

* chore: client plugins

* refactor: restore insert sql

* chore: code format

* feat: restore with sequelize insert query

* fix: restore json field

* fix: json restore

* refactor: dumper

* refactor: restorer

* chore: dump file name

* chore: dump file name

* chore: dump message

* fix: restore with jsonb fields

* feat: field data writer

* chore: code

* feat: collection group manager

* feat: duplicator client

* feat: duplicator panel

* chore: disable duplicator ui

* feat: dump with inquirer

* chore: dumper

* chore: collection group manager

* feat: restore with inquirer

* chore: comment

* chore: inquirer page size

* feat: warning before restore

* feat: sync postgres sequence id after import collection

* chore: restore checked

* feat: dump with through table

* feat: restore with through table

* feat: restore with sequence field

* chore: graph collection manager collection group

* fix: dump with no column tables

* fix: dump empty table

* fix: force remove workdir

* chore: disable throw error when sync empty table

* feat: support map field restore

* fix: restore from pg dumped file

* fix: dump with logic field

* chore: console.log

* chore: collection group

* chore: handle import collection error

* fix: dump migrations table

* feat: display custom collection title

* fix: restore collection title display

* fix: dump iframe html

* fix: dump with postgres inhertitance

* fix: dump sql

* chore: export snapshot field

* fix: import with sequences

* fix: import sequences

* fix: storage

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-01-08 12:45:02 +08:00
chenos
d062c8fd99
chore(versions): 😊 publish v0.8.1-alpha.4 (#1331) 2023-01-05 23:22:18 +08:00
chenos
4ecd2ee40d chore(versions): 😊 publish v0.8.1-alpha.2 2023-01-05 18:29:47 +08:00
anuoua
6febdb041a
feat: snapshot field plugin (#1253)
* feat: snapshort init

* feat: snapshot update yarn.lock

* feat: snapshot add to preset

* feat: snapshot add field fix

* feat: snapshot remove Table Column SnapshotField

* feat: snapshot field label fix

* feat: snapshot request error fix

* feat: snapshot 二级关联数据打开

* feat: snapshot batch edit fix

* feat: snapshot 2 level draw fix

* feat: snapshot translate

* feat: snapshot global historyCollection provider

* feat: snapshot install initial

* feat: snapshot refreshCH

* feat: snapshot add transaction

* feat: snapshot default collecitonField

* feat: snapshot build fix

* feat: snapshot useSnapshotFieldTargetCollectionKey

* feat: snapshot batch update

* feat: snapshot linkto support

* feat: snapshot use getRepository

* feat: snapshot recreate fix

* feat: snapshot collectionKey to collectionName & rebuild collection

* feat: snapshot remove SnapshotHistoryCollectionProvider & collectionName

* feat: snapshot use historyCollections in inherit table

* feat: snapshot fix TableSelectorBlock appends

* feat: snapshot kanban fix

* feat: snapshot snapshot association field fix

* feat: snapshot add CollectionFieldProvider fallback

* feat: snapshot AssociationSelect fix

* feat: snapshot TableField fix
2023-01-04 19:27:37 +08:00
chenos
f5c1a07f20
fix: upgrade error (#1303) 2022-12-31 10:54:20 +08:00
Dunqing
07c373956c
chore: upgrade sequelize version to to latest (#1234)
* chore: upgrade sequelize version to to latest

* fix: type error

* chore: type ModelCtor to ModelStatic

* feat: update sequelize version of the map plugin

* chore: update lock

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: chareice <chareice@live.com>
2022-12-24 16:30:01 +08:00
chenos
a7960422c5 fix(collection-manager): version.satisfies <= 0.8.0-alpha.14 2022-12-21 10:27:18 +08:00
chenos
1868a8a5f3 fix(collection-manager): update timestamps to true 2022-12-21 10:01:39 +08:00
chareice
0d2b1caa7c fix: collections load order 2022-12-12 18:50:53 +08:00
ChengLei Shao
1764b53a9b
fix: create inherits with empty table (#1160)
* chore: test

* feat: patch to queryInterface.describeTable

* test: add field to empty collection

* fix: create inherits with parent dose not have id field

* fix: test

* fix: test
2022-11-30 10:00:46 +08:00
ChengLei Shao
78fe77e2cf
feat: belongs to many on delete (#1158) 2022-11-29 18:27:41 +08:00
ChengLei Shao
1ebb70e4c5
fix/inherits issues(#1146)
* chore: sync inherits command

* fix: inherit field type conflit

* fix: merge

* fix: test

* fix: test

* chore: app command

* chore: create inheritance map

* fix: test

* fix: test

* fix: test
2022-11-26 09:24:53 +08:00
chenos
024cc102ea fix: field record not updated 2022-11-25 12:12:44 +08:00
ChengLei Shao
945c64304a
fix: create empty collection (#1141)
* fix: create empty collection

* chore: comment

* chore: sqlite support

* chore: mysql support

* fix: collection api

* fix: error message
2022-11-24 18:16:01 +08:00
ChengLei Shao
3556ddc730
fix: reference check after remove collection (#1123) 2022-11-22 16:19:48 +08:00
ChengLei Shao
466aa4987e
fix: sort field with table dose not have primary key (#1119) 2022-11-22 10:13:55 +08:00
ChengLei Shao
fba8f253d4
fix: test (#1118) 2022-11-22 09:29:09 +08:00
ChengLei Shao
d72123c5b0
fix: update to bigint (#1117)
* fix: update sequence and foreignKey

* chore: rename migration

* fix: single foreign field update

* fix: update bigint

* fix: rename

Co-authored-by: chenos <chenlinxh@gmail.com>
2022-11-21 18:50:23 +08:00