Commit Graph

218 Commits

Author SHA1 Message Date
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 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
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
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
104be20c60
fix: filter by association field with underscored (#1537)
* fix: filter by association field with underscored

* fix: test
2023-03-05 14:29:40 +08:00
Frozen FIsh
b276ce1258
feat: add chart plugin (#1477)
* feat: add pie schema template

* chore: refactor

* chore: update

* chore: init server

* feat: add pie schema template

* chore: add chart utils

* chore: update

* chore: update

* chore: update

* chore: update

* feat: mvp

* chore: update

* chore: test

* feat: example

* fix: templates map error

* chore: update

* feat: add ChartBlockEngineDesigner.tsx

* chore: clean code

* chore: update templates

* chore: init bat template

* chore: update chart block engine

* feat: add chart block engine designer

* chore: update chart block initializer

* chore: update pie template

* chore: update

* feat: split sql

* chore: update

* chore: clean

* feat: support bar

* chore: add bar template

* chore: clean code

* chore: clean code

* fix: chart block initializer title

* chore: update

* fix: use title

* chore: update

* fix: bugs

* chore: clean code

* chore: update pie template

* chore: update ChartBlockInitializer.tsx

* chore: update

* feat: support chart config

* chore: add local plugin

* feat: add column template

* feat: add column chart action

* feat: add line chart template

* feat: add line action

* feat: add area template

* feat: add area action

* chore: update pie template

* chore: update

* chore: update dep

* fix: export missing utils

* chore: update dep

* chore: update dep

* chore: update pie template

* fix(charts): sql table capitalization

* fix(charts): improve sql compatibility

* fix: support choices type

* chore: update

* chore: clean code

* chore: get collection fields in chart engine

* feat(demo): chart block initializer

* fix: hello block

* chore: init data analyse plugin

* chore: add data-analyse plugin

* chore: init plugin

* chore: update

* chore: export schema initializers

* feat: add data analyse block

* chore: update data analyse block initializer

* chore: rename plugin name

* chore: update

* chore: update enum

* chore: update add block

* feat: add pie schema template

* chore: refactor

* chore: update

* chore: init server

* feat: add pie schema template

* chore: add chart utils

* chore: update

* chore: update

* chore: update

* chore: update

* feat: mvp

* chore: update

* chore: test

* feat: example

* fix: templates map error

* chore: update

* feat: add ChartBlockEngineDesigner.tsx

* chore: clean code

* chore: update templates

* chore: init bat template

* chore: update chart block engine

* feat: add chart block engine designer

* chore: update chart block initializer

* chore: update pie template

* chore: update

* feat: split sql

* chore: update

* chore: clean

* feat: support bar

* chore: add bar template

* chore: clean code

* chore: clean code

* fix: chart block initializer title

* chore: update

* fix: use title

* chore: update

* fix: bugs

* chore: clean code

* chore: update pie template

* chore: update ChartBlockInitializer.tsx

* chore: update

* feat: support chart config

* chore: add local plugin

* feat: add column template

* feat: add column chart action

* feat: add line chart template

* feat: add line action

* feat: add area template

* feat: add area action

* chore: update pie template

* chore: update

* chore: update dep

* fix: export missing utils

* chore: update dep

* chore: update dep

* chore: update pie template

* fix(charts): sql table capitalization

* fix(charts): improve sql compatibility

* fix: support choices type

* chore: update

* chore: clean code

* chore: get collection fields in chart engine

* chore: init dataset plugin

* chore: init dataset designer

* chore: init dataset block initializer

* chore: update

* chore: update

* chore: update deps

* chore: add tests

* chore: update utils

* chore: init plugin

* feat: add datasets client

* chore: update tests

* chore: update datastructures

* chore: update

* feat: add DataSetBlockInitializer

* chore: use dataset initializer

* chore: update deps

* chore: update

* chore: update pie template

* chore: update ChartBlockInitializer

* chore: update ChartBlockEngine

* chore: remove mdg file

* chore: update ChartBlockEngine

* chore: update

* chore: update g2plot

* chore: update template

* chore: update pie handler

* chore: update DataSetPreviewTable

* chore: update ChartBlockEngine

* chore: update ChartBlockEngineDesigner

* chore: remove useless files

* chore: update ChartBlockInitializer

* chore: update template

* chore: feat area template

* chore: update tests

* chore: update local plugins

* chore: update deps

* chore: update templates

* chore: update template

* feat: add CustomSelect

* chore: update select component

* fix: seriesField color error

* chore: update template

* chore: update

* fix: bar

* chore: update templates & clean code

* chore: update templates

* feat: add FunnelTemplate

* feat: charts queries

* fix: data shift

* feat: add ChartQueryMetadataProvider

* chore: update

* chore: remove dataset

* chore: update

* chore: update

* chore: clean code

* fix: delete query query list wrong behavior

* fix: delete all queries query list behavior

* chore: add empty occupancy

* chore: update description

* chore: update chart icon

* chore: update funnel template

* chore: update template title

* chore: add references

* chore: update dialog height

* fix: scatter template

* chore: update popup description

* refactor: schema level

* refactor: charts schema

* chore: remove console

* chore: remove console

* fix: error message

* chore: remove console

* chore: update DataSetPreviewTable

* feat: chart icons

* feat: update i18n

* feat: update i18n

* chore: update i18n

* chore: update i18n

* chore: update i18n

* feat: add tittle

* chore: update icons

* chore: update i18n

* chore: update i18n

* chore: update i18n

* chore: update i18n

* chore: update i18n

* fix: improve code

* chore: update i18n

* chore: update i18n

* fix: chart icon

* feat: quick add query (#1527)

* feat: quick add query

* feat: query

* chore: remove useless files

* fix: json5 validator error

* chore: update

* chore: update style

* chore: lint

* feat: improve code

* feat: sql validation

* refactor: clean code

* Update utils.ts

* chore: format code

* chore: remove useless file

* chore: update

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-03-04 19:36:58 +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
Dunqing
68fcadf092
fix(association-select): data is incorrect when use data scope (#1491)
* fix(association-select): data is incorrect when use data scope

* fix: update

* feat: improve RemoteSelect performance

* feat: use value instated of options when options is empty

* fix: data scope not work

* fix: loading not work

* feat: prepare database method (#1492)

* fix: environment variables (#1490)

* fix: beforeSubAppLoad emit to async

* feat: support custom plugin deployment in dockerfile (#1494)

* fix: collection importer has incorrect reference (#1495)

* fix: collection importer has incorrect reference

* test: reimport test

* fix: export collectionTemplates

* feat: form/button linkage rules (#1456)

* feat(plugin-workflow): add prompt node

* feat(plugin-workflow): useValueGetter for all instructions and triggers

* feat(plugin-workflow): add workflow block initializer

* refactor(plugin-workflow): change prompt node type to manual

* feat(plugin-workflow): add ModeConfig component for mode

* feat(plugin-workflow): add todo drawer

* feat(plugin-workflow): add block value provider

* feat(plugin-workflow): improve todo block and drawer

* fix(plugin-workflow): fix instruction name in test cases

* fix(plugin-workflow): fix test cases

* refactor(plugin-workflow): change param type of collection field initializer

* feat(plugin-workflow): add filter types for getters

* fix(plugin-workflow): fix assignees variable

* fix(plugin-workflow): filter todo by exist workflow

* fix(plugin-workflow): fix duplicated save action in manual config

* fix(plugin-workflow): fix transaction

* feat(plugin-workflow): destroy workflow will be cascaded

* fix(plugin-workflow): fix merge

* fix(plugin-workflow): fix locale

* fix(plugin-workflow): allow open ui view when executed

* fix(plugin-workflow): change todo table filter

* feat(plugin-workflow): use formula for calculation

* fix(plugin-workflow): fix variable template regexp

* fix(plugin-workflow): fix sub-options logic with types

* refactor(plugin-workflow): drop useless component

* fix(plugin-workflow): fix manual node action button

* feat(plugin-workflow): add new variable input component

* refactor(plugin-workflow): change all variable to new component

* fix(plugin-workflow): fix type

* fix(plugin-workflow): fix functions init

* fix(plugin-workflow): change jsonb to json for stable order

* fix(plugin-workflow): fix duplicated field name when initialize

* fix(plugin-workflow): fix manual result in manual block

* test(plugin-workflow): log field initializer props

* fix(plugin-workflow): fix nullable arguments

* test(plugin-workflow): test initializer fields schema

* fix: observer

* fix(plugin-workflow): adjust hints

* fix(plugin-workflow): fix locale and cursor in variable input

* refactor(plugin-workflow): change status keys

* fix(plugin-workflow): fix parallel instruction

* feat: linkage rules

* refactor: linkage rules

* refactor: linkage rules update

* refactor: linkage rules button

* refactor(linakge rules): suport value action

* refactor(linakge rules): suport value action

* fix(workflow test): workflow test

* refactor(linakge rules): action linkage only for detail form

* refactor(linakge rules):  logic calculation

* refactor(linakge rules):  logic calculation

* refactor(linakge rules):  logic calculation

* refactor(linakge rules):  logic calculation

* refactor(linakge rules):  linkageAction

* refactor(linakge rules):  linkageAction

* refactor(linakge rules): field value  linkageAction

* refactor(linakge rules): local

* refactor(linakge rules): local

* fix(linakge rules): value property

* fix(linakge rules): value property

* fix(linakge rules): value property

* fix(linakge rules): conditionAnalyse

* fix(linakge rules): conditionAnalyse

* fix(linakge rules): conditionAnalyse

* fix(linakge rules): conditionAnalyse form fields

* fix(linakge rules): conditionAnalyse form fields

* fix(linakge rules): conditionAnalyse operators

* fix(linakge rules): form button linkage

* fix(linakge rules): form button linkage

* fix(linakge rules): select component suport pattern

* fix(linakge rules):  component suport field patter for disabled

* fix(linakge rules):  component suport field patter for disabled

* fix(linakge rules):  component suport field patter for disabled

* fix(linakge rules):  component suport field patter for disabled

* fix(action): action desginer suport linkage

* refactor: formula calculation assignment

* refactor: formula calculation assignment

* style: unified component disable style

* feat: richText suport disabled

* feat: condiction suport varible

* feat: condiction suport varible

* refactor: variableInput

* refactor: condiction scope

* refactor: multi level linkage

* fix: empry value linkage

* refactor: components using core schema-component

* fix: fix template reference linkage

* refactor: evalute foumala

* fix: mutual linkage fix

* refactor: variables suport obo&oho

* style: style improve

* style: style improve

* style: style improve

* feat: variables suport m2o

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* fix: actions path

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

---------

Co-authored-by: mytharcher <mytharcher@gmail.com>
Co-authored-by: Junyi <mytharcher@users.noreply.github.com>
Co-authored-by: chenos <chenlinxh@gmail.com>

* fix: support mysql lower_case_table_names=1

* fix(linkageRules): support empty condiction (#1496)

* fix: condiction suport empty

* fix: condiction suport empty

* fix: condiction suport empty

* fix: condiction suport empty

* Update zh_CN.ts (#1481)

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

* fix(remote-select): remove fields parameter

* Update actions.md

* fix: filter

---------

Co-authored-by: ChengLei Shao <chareice@live.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: katherinehhh <shunai.tang@hand-china.com>
Co-authored-by: mytharcher <mytharcher@gmail.com>
Co-authored-by: Junyi <mytharcher@users.noreply.github.com>
Co-authored-by: justwho <rov7@qq.com>
Co-authored-by: Pearl C <63629092+pearl-cao@users.noreply.github.com>
2023-02-27 09:14:14 +08:00
chenos
750081e6aa
feat: dialect version accessors (#1502) 2023-02-26 11:58:45 +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
c9572fc9f6
fix: collection importer has incorrect reference (#1495)
* fix: collection importer has incorrect reference

* test: reimport test
2023-02-24 17:50:08 +08:00
ChengLei Shao
856b6efa77
feat: prepare database method (#1492) 2023-02-23 20:14:50 +08:00
ChengLei Shao
e18bccd00a
Fix/multiple schema query (#1488)
* fix: describeTableQuery in multiple schema database

* fix: beforeUpdateCollection position
2023-02-23 14:13:32 +08:00
chenos
e0736f8aed
fix: string violation (#1487)
* fix: string violation

* feat: add test cases
2023-02-23 12:46:50 +08:00
chenos
5421686504
feat: support for importing attachments (#1466) 2023-02-19 17:35:23 +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
chenos
a0e85cda22
feat: add test cases (#1463) 2023-02-17 18:15:35 +08:00
chenos
5805b69455 feat(db): field value parser 2023-02-16 23:56:00 +08:00
chenos
a6aec25343
refactor: export plugin (#1460)
* refactor: export plugin

* fix: improve code
2023-02-16 16:48:00 +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
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
SemmyWong
d79143e3ed
fix: node.js 17+, add openssl-legacy-provider (#1434)
* fix: node upgrade 17+, add openssl-legacy-provider

* fix: node upgrade 17+, add openssl-legacy-provider

* fix: param NODE_OPTIONS_OPENSSL_LEGACY_PROVIDER change to NODE_OPTIONS
2023-02-09 17:04:32 +08:00
ChengLei Shao
1b63403811
feat: pg schema support (#1439)
* chore: pg schema test

* test: collection schema

* fix: test

* feat: create schema if not exist in sync method

* fix: test
2023-02-08 22:08:25 +08:00
ChengLei Shao
bab10c928b
fix: inherit startup sort (#1402) 2023-01-29 15:46:53 +08:00
Junyi
bf6bf00047
Fix(plugin-sequence): support sequence field in m2m through table (#1383)
* fix(plugin-sequence): support sequence field in m2m through table

* fix(plugin-sequence): fix update last sequence

* fix(plugin-sequence): fix hooks
2023-01-18 22:54:08 +08:00
chenos
3b7143a282 feat: collection titleField 2023-01-18 16:55:03 +08:00
chenos
d4d8d747b8
fix: through collection individual hooks (#1378) 2023-01-17 12:32:28 +08:00
chenos
47158e0282
fix: through collection records should not be reset (#1377)
* fix: through collection records should not be reset

* fix: test error
2023-01-17 09:44: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
chenos
452ecb5fc7
feat: formula plugin (#1344)
* fix: transaction cannot be rolled back because it has been finished with state: rollback

* fix(plugin-system-settings): convert array to json

* fix(collection-manager): o2m is array type

* fix: missing RefreshActionInitializer

* fix(collection-manger): incorrect scope key parameter

* fix: can't access pages without permission via url (#826)

* feat(database): add sequence field type (#779)

* feat(database): add serialString field type

* feat(database): add serial string type field ui (skip ci)

* test(feat/database): test field options

* docs: demo

* fix(database): fix array table field behavior

* fix(database): fix serial type interface ui

* fix(database): add match logic for patterns changes

* fix(database): fix serial type query last bug in mysql

* refactor(database): refactor last record logic

* chore: revert modification on unnecessary file

* refactor(database): rename serialString type to sequence

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

* added Russian translation (#840)

* Russian translation

* Add files via upload

Add RU locale into index.ts
Bugs fixed in the ru_RU.ts

* Update index.ts

Correct lines 4 and 8

* feat: update option must have filter or filterByTk (#847)

* feat: update option must have filter or filterByTk

* fix: typo

* fix: typo

* feat(core/cache): support cache (#876)

* feat(core/cache): support cache

* build(create-nocobase-app): remove --cache-store-package cli option

* perf(core/cache): modify default cache config and remove unnecessary logic code

* fix: slow join query issued by appends field in find method of repository  (#845)

* fix: slow join query issue by appends field in repository.find

* feat: handle appending query in multiple relation repository

* feat: handle appending query in single relation repository

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

* fix: sort parameter is missing (#849)

* fix: 审计日志翻页sort丢失

* fix: 审计日志翻页sort丢失

* fix: 审计日志翻页sort丢失

Co-authored-by: 唐小爱 <tangxiaoai@192.168.0.103>

* fix(formula): support integer and fix NaN error (#879)

* fix(formula): support integer and fix NaN error

* style(formula-input): remove debugger

* fix(database): fix the index name too long error

* feat(collection-manager): inverse fields can be configured (#883)

* feat: inverse field

* feat: improve code

* feat: translations

* fix: required

* fix: run test by jest (#891)

* fix: unable to submit form during file upload (#892)

* fix(client/block-select-collection): fix select collection menu view error (#889)

* fix(client/block-select-collection): fix too many collection menu view error

* fix(client/relate-collection-field-menu): fix relate collection field menu view too long error

* fix(client/record-picker): support record-picker show format DataPicker (#888)

* fix(client/record-picker): support record-picker show format DataPicker

* fix(client/record-picker): undefined judgment and when change field's label refresh format in time

* feat: improve signin and signup page components

* feat(plugin-workflow): add concat calculator (#894)

* fix: single relation repository appends query issue (#901)

* fix: appends merge includes (#905)

* fix: build error

* fix(client): tab pane initializers for create form block

* fix: version judgment is not accurate

* fix: sync collection field default value (#907)

* feat: limit database identifier (#908)

* fix: cannot read properties of undefined (reading 'target')

* fix: appends merge now using primary key (#911)

* fix: appends merge now using primary key

* chore: console.log

* fix: unbind on error throwing (#914)

* feat: create with array of values (#912)

* feat: create with array of values

* chore: console.log

* chore: debug

* fix(client/route-switch): skip sub routes

* Feat: plugin workflow collection field (#919)

* feat(plugin-workflow): use Collectionfield component to render form

* fix(plugin-workflow): fix association types value assigning in nodes

* fix: missing menuItemGroupCss

* fix: multiple = false

* chore(versions): 😊 publish v0.7.5-alpha.1 (#920)

* fix(plugin-workflow): temp disable validation of collection field in node (#928)

* fix(plugin-workflow): fix schedule infinitely trigger when repeat not set (#926)

* Feat/plugin workflow collection field (#934)

* feat(plugin-workflow): support association constant simple input

* fix(plugin-workflow): remove useless code

* fix(plugin-workflow): add req context to processor (#936)

* fix(plugin-workflow): avoid revision with ghost nodes (#941)

* fix(plugin-workflow): fix collection fieldset component (#942)

* feat(useSignup): customize success message

* feat: changed with associations (#943)

* feat: changed with associations

* fix: test error

* fix: test error

* fix: test

* fix(plugin-workflow): fix schedule trigger bug (#949)

* fix(plugin-workflow): skip time based test (#951)

* fix(plugin-workflow): test changedWithAssociations() (#950)

* fix(plugin-workflow): test changedWithAssociations()

* fix: toChangedWithAssociations

* fix(plugin-workflow): add test cases

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

* feat: docker optimizing (#948)

* chore: feat/docker-optimizing
* feat: docker nginx gzip config

* feat: ui schema cache (#877)

* feat(core/cache): support cache

* perf(plugins/ui-schema-storage): cache schema

* refactor(plugins/ui-schema-storage): handle schema cache in repository level, not in action

* fix(plugins/ui-schema-storage): jsonSchema use s_ + x-uid and properties use p_ + x-uid cache

prevent jsonSchema and properties cache override each other

* test(plugins/ui-schema-storage): add ui_schema repository with cache test

* build(create-nocobase-app): remove create-nocobase cli's cache-store-package option

* test(plugins/ui-schema-storage): add ui_schema repository with cache test with readFromCache false

* fix(plugins/ui-schema-storage): repository insertAdjacent and patch method clear cache fix

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

* feat: add filter action to collection table (#953)

* feat: 数据表支持筛选

* feat: 数据表支持筛选

* feat: 数据表支持筛选

* feat: 数据表支持筛选

* fix: format code

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

* fix: default value of VERDACCIO_URL

* feat: add Dockerfile.official

* refactor(plugin-file-manager): move client code into plugin folder and enable path config (#913)

* Turkish language (#939)

* Türkçe dil dosyası eklendi. Turkish language added

* Türkçe dil düzenlemesi. Turkish language edit.

* fix: cannot find name 'antdTrTR'

* chore(versions): 😊 publish v0.7.6-alpha.2 (#954)

* Turkish readme (#955)

* Türkçe dil dosyası eklendi. Turkish language added

* Türkçe Açıklama sayfası. Turkish readme file added

* Turkish language link added

* turkish language link added

* fix: update readme

* fix(plugin-workflow): fix constant schedule trigger time (#956)

* feat: push ali docker registry (#957)

* feat: push ali docker registry

* fix: add VERDACCIO_URL

* fix: env

* fix: add VERDACCIO_URL to env

* fix: update VERDACCIO_URL

* fix: arg VERDACCIO_URL

* fix: update Dockerfile.official

* fix: build-args

* fix: network: host

* fix: ci

* fix: verdaccio:10104

* Update branch-docker-ci.yml

* Update branch-docker-ci.yml

* Update branch-docker-ci.yml

* Update branch-docker-ci.yml

* Update branch-docker-ci.yml

* Update branch-docker-ci.yml

* Update branch-docker-ci.yml

* feat: push acr

Co-authored-by: ChengLei Shao <chareice@live.com>

* feat: api service

* fix: api services

* feat(file-manager): support tencent cos (#958)

* feat: support tencent cos

* feat: normalize

* chore: update env example

* test: add cos

* Revert "feat: normalize"

This reverts commit 371880013c.

* feat: normalize

* feat: tengxun to tencent

* chore: fix missing deps

* fix: locale

* fix: locale cos

* fix(database/formula-field): when formula's field caculate result is 0 it alse will be save (#962)

* fix: lerna ERR! EUNCOMMIT  M yarn.lock

* fix: driver-opts: network=host

* fix(ci): add verdaccio service

* chore(versions): 😊 publish v0.7.7-alpha.1 (#963)

* fix(plugin-workflow): fix workflow update action (#964)

* fix(ci): yarn config set network-timeout 600000

* fix: empty logic operator filter (#961)

* chore: fix incorrect deps (#970)

* feat: support show lunar day (#972)

* feat: support show lunar day

* fix: update yarn.lock

* fix: types error

Co-authored-by: Dunqing <dengqing0821@gmail.com>

* fix(ci): remove platforms

* chore: improve ci (#976)

* test: ci

* fix: ci error

* fix: on pull_request

* fix: paths

* fix: paths 'packages/**'

* feat: support show lunar day in week and day (#977)

Co-authored-by: qing <qing@imideMacBook-Air.local>

* fix(client/formula): set cursor focus on input (#959)

* fix(client/formula): set cursor focus on input

* fix(client/formula): when formula field name has contains the other one will case FormulaError

refactor partial implementation

* fix(client/table-selector-provider): make data range config effective (#960)

* fix(client/table-selector-provider): make data range config effective

* fix(client/table-selector): fix when save data range config filter lose

* fix(client/upload): fix upload mutiple files always uploading status (#974)

* Update README.md

* Update README.zh-CN.md

* Update README.tr-TR.md

* feat(calendar): support for add/remove repeats events (#988)

* feat(calendar): support for adding repeats

* feat: support delete events

* fix: has many same x-action

* feat: update better logic

* fix: exclude is not an array

* fix: handle parse cron error

* feat: support every_week, every_month, every_year

* fix(calendar): events cannot support moment (#1017)

* fix(calendar): events cannot support moment

* fix: avoid manipulating raw values

* feat: add excel function field (#906)

* feat: add excel function field

* fix: translations

* fix: documentation

* chore: remove console log

* chore: moved generation of parser to helper function; feat: added GET_DEEP function

* chore: improve tokenisation for when there are similar names;

* chore: move helper to utils

* fix: import from @nocobase/utils/client

* feat: integration as a plugin

* fix: remove excel function interface

* fix: locale

* fix: error

* refactor: formula plugin

* fix: improve code

* feat: update docs

* fix: error

* fix: update deps

* fix: remove formula

* fix:  bigint & test

* fix: result

* fix: double data type

* fix: maximum call stack size exceeded

* fix: improve code

* fix: improve code

* feat(cli): quickstart

* Revert "feat(cli): quickstart"

This reverts commit 99ad54afb6.

* fix: precision

* fix: migration

Co-authored-by: Michael DeGiovanni <m.degiovanni@gmail.com>
2023-01-10 09:48:46 +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
chenos
9d618315ae
fix(database): filter match (#1319)
Co-authored-by: Chareice <chareice@live.com>
2023-01-03 13:38:20 +08:00
ChengLei Shao
d317fa056a
chore: set belongs to many on delete to cascade (#1311) 2023-01-01 23:15:08 +08:00