* feat(database): allows to filter child nodes in tree collections (#4770)
* feat(collection-tree): add collection tree plugin
* feat(collection-tree): add collection tree path handle function
* feat(collection-tree): add collection tree path root and depth column handle function
* feat(collection-tree): add exist tree collection data migrate function
* feat(collection-tree): improve exist tree collection data migrate function
* feat(collection-tree): improve exist tree collection data migrate function
* feat(collection-tree): add collection tree to build in plugin
* feat(collection-tree): modify collection tree plugin version
* feat(collection-tree): fix collection tree build bug
* feat(collection-tree): fix tree collection path create bug and add tree table search function
* feat(collection-tree): add tree table pagination function
* feat(collection-tree): fix tree table pagination function
* feat(collection-tree): fix tree table pagination function
* feat(collection-tree): fix tree table search function
* feat(collection-tree): fix tree table search function
* feat(collection-tree): improve tree table search filter function
* feat(collection-tree): update collection tree plugin version and preset package dependancy
* feat(collection-tree): improve tree collection function
* feat(collection-tree): remove the duplicate function
* feat(collection-tree): fix tree collection db exist bug
* feat(collection-tree): improve tree collection db variable name
* feat(collection-tree): remove migration file
* feat(collection-tree): add collection tree sync create function
* feat(collection-tree): add collection tree sync create function
* feat(collection-tree): disable collection tree search function
* feat(collection-tree): enable collection tree search function
* feat(collection-tree): modify collection tree signal to adapt test case
* feat(collection-tree): modify code to fix test case
* feat(collection-tree): improve code and abstract define collection tree path
* feat(collection-tree): modify rootPK to rootPk to avoid underscored behavior
* feat(collection-tree): update collection tree version and add collection tree plugin for test
* feat(collection-tree): fix filter collection tree root null bug
* feat(collection-tree): migrate tree test case to collection tree plugin directory
* feat(collection-tree): add transaction for collection tree table delete
* feat(collection-tree): fix collection tree switch bug
* feat(collection-tree): remove tree filter switch
* feat(collection-tree): fix test case
* feat(collection-tree): fix test case
* feat(collection-tree): fix DB UNDERSCORED bug
* feat(collection-tree): fix relate collections not exist bug
* feat(collection-tree): add common parent function
* feat(collection-tree): add compatible function for sqlite
* feat(collection-tree): modify collection tree path create method
* feat(collection-tree): migrate tree test case to no acl
* feat(collection-tree): migrate tree test case to no acl and fix collections undefined bug
* feat(collection-tree): migrate tree test case
* feat(collection-tree): fix test case bug
* feat(collection-tree): fix test case bug
* feat(collection-tree): fix test case bug
* feat(collection-tree): improve tree search function
* feat(collection-tree): merge the next branch code to fix confilct
* feat(collection-tree): merge the next branch code to fix confilct
* feat(collection-tree): merge the next branch code to fix confilct
* feat(collection-tree): split the collection tree test to new file and fix filterbytk bug
* feat(collection-tree): fix filter tree collection primary key bug
* feat(collection-tree): remove recursive test case and fix collection tree filter bug
* feat(collection-tree): fix collection tree filter bug
* feat(collection-tree): fix collection tree filter bug and modify test case
* feat(collection-tree): add parentid column for tree collection and modify test case
* feat(collection-tree): disable sync exist tree collection path table create logic
* feat(collection-tree): add sync exist tree collection path table create logic on plugin afterLoad
* feat(collection-tree): remove debug code
* feat(collection-tree): fix collection tree delete bug
* feat(collection-tree): improve collection tree filter find and count implement
* feat(collection-tree): improve path table name variable implement
* feat(collection-tree): remove unnecessary plugin for test case code
* feat(collection-tree): add await for delete synchronous path function
* feat(collection-tree): improve tree path create function
* feat(collection-tree): remove unnecessary code
* feat(collection-tree): remove unnecessary code
* feat(collection-tree): improve tree path create function
* feat(collection-tree): improve tree filter function
* feat(collection-tree): improve tree filter datasource to dynamic
* feat(collection-tree): improve find common parent code
* feat(collection-tree): add collection tree path table not found warning log
* feat(collection-tree): improve get collection primary key implementation
* feat(collection-tree): fix tree root path not delete bug and tree path definition bug
* feat(collection-tree): fix findAndCount function variable definition bug
* feat(collection-tree): modify migrate exist collection tree migration function
* feat(collection-tree): correct variable name
* feat(collection-tree): remove duplicate code
* feat(collection-tree): fix sync exist collection tree path function variable bug
* feat(collection-tree): improve collection tree path update logic
* feat(collection-tree): remove await for get collection
* test: add test cases
* feat(collection-tree): modify filter parameter for collection tree
* feat(collection-tree): remove await for get collection
* feat(collection-tree): remove necessary code
* feat(collection-tree): add exist tree collection path migration function
* feat(collection-tree): remove unused sync exist tree collection table function
* feat(collection-tree): use get method to replace use dataValues function
* feat(collection-tree): use get method to replace use dataValues function
* feat(collection-tree): fix migration rootPk variable bug
* feat(collection-tree): use get method to replace use dataValues function
* feat(collection-tree): improve get tree path logic
* feat(collection-tree): remove unused test case code
* feat(collection-tree): add sync collection tree test case
* feat(collection-tree): add tree path test case and fix migration bug
* feat(collection-tree): add migration db variable
* feat(collection-tree): change logger function
* feat(collection-tree): remove unused library
* feat(collection-tree): add plugin information
* feat(collection-tree): remove await for get collection and use this.db instead of this.app.db
* feat(collection-tree): improve the performance of exist data migration to path table
* feat(collection-tree): modify get tree path implement to avoid infinite loop bug
* feat(collection-tree): fix path create bug
* feat(collection-tree): add index for path table
* feat(collection-tree): fix related node path bug when some node parent changed
* feat(collection-tree): add transaction for get tree path function
* feat(collection-tree): add tree path test case
* feat(collection-tree): change parent field id name to dynamic
* feat(collection-tree): migrate some test case to path.test.ts file
* feat(collection-tree): add some test case for path table
* feat(collection-tree): fix sqlite and mysql json type search path data bug
* feat(collection-tree): fix sqlite query related data sql bug
* feat(collection-tree): fix list action test case query data with related data bug
* feat(collection-tree): try to fix mysql test case bug to remove index
* feat(collection-tree): remove unnecessary code
* chore: string field with length option
* feat(collection-tree): change path type to string and set max length to 1024
* fix: merge conflicts
* feat(collection-tree): modify query path filter to adapt the path change to string
* feat(collection-tree): remove append parent condition
* feat(collection-tree): split the path test case
* feat(collection-tree): remove unused code and fix test case plugin bug
* feat(collection-tree): improve get tree path implementation
* feat(collection-tree): disable one failed test case for full test
* feat(collection-tree): add transaction for collection tree migration
* feat(collection-tree): fix collection tree migration bug
* feat(collection-tree): remove sqlite handle condition code
* feat(collection-tree): add tree test case
* feat(collection-tree): add tree test case
* feat(collection-tree): modify test case to match the expection
* feat(collection-tree): modify tree implementation to root parent
* feat(collection-tree): remove unused function
* feat(collection-tree): add count function to solve tree data pagination implementation
* feat(collection-tree): split tree failed test case to legacy file
* feat(collection-tree): correct legacy tree test case to expection
* feat(collection-tree): add new tree test for legacy test case to meet expection
* feat(collection-tree): fix legacy test case to meet expection
* feat(collection-tree): modify legacy test case to meet expection and add new test case
* feat(collection-tree): improve tree test case
* feat(collection-tree): improve tree test case
* feat(collection-tree): improve tree test case
* feat(collection-tree): add tree test case
* feat(collection-tree): add tree count test case
* feat(collection-tree): add tree find and count test case
* feat(collection-tree): add tree find one test case
* feat(collection-tree): improve migration get path performance
* feat(collection-tree): improve get tree path function to avoid undefined parent data situation
* feat(collection-tree): add tree and raw parameter variable
* fix: test
* feat(collection-tree): modify index length
* feat(collection-tree): fix index snake case bug
* feat(collection-tree): improve tree filter search
* feat(collection-tree): fix tree search pagination parameter omit bug
* chore: optimize
* chore: optimize
* fix: build
* fix: type
* fix: bug
* chore: move tree repo to plugin
* fix: build
* fix: test
* chore: remove ts-ignore
* fix: issue of getting filter target key
---------
Co-authored-by: xilesun <2013xile@gmail.com>
Co-authored-by: Chareice <chareice@live.com>
* fix(tree): issue of building tree node map (#5072)
---------
Co-authored-by: jimmy201602 <zhengge2012@gmail.com>
Co-authored-by: xilesun <2013xile@gmail.com>
Co-authored-by: Chareice <chareice@live.com>
* chore: upgrade vitest
* feat(database): append default sort options into find
* chore: test
* chore: test
* fix: test
* fix: test
* fix: test
* fix: test
* fix: test
* fix: reject update when filter is empty object
* chore: valid filter when destroy data
* fix: test
* refactor(utils): move isValidFilter to utils
* chore: test
* chore: test
* chore: test
* fix(plugin-workflow-manual): fix test case
* fix(plugin-workflow-manual): add filter check for update form in manual node
* chore: validate filter params as middleware
* chore: action filter validate in data-source-manager
* chore: acl filter params validate test
* chore: move validate filter params middleware into core
* Update nocobase-test-e2e.yml
* chore: only run workflow's tests
* chore: only run workflow's tests
* fix: updateRecordForm
* Revert "chore: only run workflow's tests"
This reverts commit 64ce1241718ef516ff9bf7245296dee963ab2e43.
* Revert "chore: only run workflow's tests"
This reverts commit b9057b35ec4f87ba13c08650ffc7919e32eb3fc3.
---------
Co-authored-by: mytharcher <mytharcher@gmail.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Zeke Zhang <958414905@qq.com>
Co-authored-by: hongboji <j414562100@qq.com>
* 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>
* 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
* 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
* 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
* 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>
* 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
* 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>
* 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>
* 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>
* chore: test
* chore: test
* chore: test code
* feat: on delete restrict
* feat: on delete cascade
* feat: on delete set null
* feat: reference unbind
* fix: test
* fix: acl test
* fix: test on Windows
* fix: database recreate
* fix: application reload
* fix: multi-app-manager test
* fix: test
* feat: ondelete
* fix: hasOne field onDelete
Co-authored-by: chenos <chenlinxh@gmail.com>