From 2e7da6e29bc75def06f59d8d3bb991e7e238c64b Mon Sep 17 00:00:00 2001 From: chenos Date: Tue, 12 Mar 2024 21:15:51 +0800 Subject: [PATCH 1/8] =?UTF-8?q?chore(versions):=20=F0=9F=98=8A=20publish?= =?UTF-8?q?=20v0.20.0-alpha.9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lerna.json | 2 +- packages/core/acl/package.json | 6 +- packages/core/actions/package.json | 8 +- packages/core/app/package.json | 10 +- packages/core/auth/package.json | 12 +- packages/core/build/package.json | 2 +- packages/core/cache/package.json | 2 +- packages/core/cli/package.json | 6 +- packages/core/client/package.json | 8 +- .../core/create-nocobase-app/package.json | 2 +- .../core/data-source-manager/package.json | 12 +- packages/core/database/package.json | 6 +- packages/core/devtools/package.json | 8 +- packages/core/evaluators/package.json | 4 +- packages/core/logger/package.json | 2 +- packages/core/resourcer/package.json | 4 +- packages/core/sdk/package.json | 2 +- packages/core/server/package.json | 26 ++-- packages/core/telemetry/package.json | 4 +- packages/core/test/package.json | 4 +- packages/core/utils/package.json | 2 +- .../plugins/@nocobase/plugin-acl/package.json | 2 +- .../plugin-action-bulk-edit/package.json | 2 +- .../plugin-action-bulk-update/package.json | 2 +- .../plugin-action-duplicate/package.json | 2 +- .../plugin-action-print/package.json | 2 +- .../@nocobase/plugin-api-doc/package.json | 2 +- .../@nocobase/plugin-api-keys/package.json | 2 +- .../@nocobase/plugin-audit-logs/package.json | 2 +- .../@nocobase/plugin-auth/package.json | 2 +- .../plugin-backup-restore/package.json | 2 +- .../@nocobase/plugin-calendar/package.json | 2 +- .../plugins/@nocobase/plugin-cas/package.json | 2 +- .../@nocobase/plugin-charts/package.json | 2 +- .../plugin-china-region/package.json | 2 +- .../@nocobase/plugin-client/package.json | 2 +- .../plugin-collection-manager/package.json | 2 +- .../plugin-custom-request/package.json | 2 +- .../plugin-data-source-manager/package.json | 2 +- .../plugin-data-visualization/package.json | 2 +- .../plugin-disable-pm-add/package.json | 2 +- .../plugin-error-handler/package.json | 2 +- .../plugin-excel-formula-field/package.json | 2 +- .../@nocobase/plugin-export/package.json | 2 +- .../plugin-file-manager/package.json | 2 +- .../plugin-formula-field/package.json | 2 +- .../@nocobase/plugin-gantt/package.json | 2 +- .../package.json | 2 +- .../plugin-iframe-block/package.json | 2 +- .../@nocobase/plugin-import/package.json | 2 +- .../@nocobase/plugin-kanban/package.json | 2 +- .../package.json | 2 +- .../@nocobase/plugin-logger/package.json | 2 +- .../plugins/@nocobase/plugin-map/package.json | 2 +- .../plugin-math-formula-field/package.json | 2 +- .../plugin-mobile-client/package.json | 2 +- .../plugin-mock-collections/package.json | 2 +- .../plugin-multi-app-manager/package.json | 2 +- .../package.json | 2 +- .../plugin-notifications/package.json | 2 +- .../@nocobase/plugin-oidc/package.json | 2 +- .../@nocobase/plugin-saml/package.json | 2 +- .../plugin-sample-hello/package.json | 2 +- .../plugin-sequence-field/package.json | 2 +- .../@nocobase/plugin-sms-auth/package.json | 2 +- .../plugin-snapshot-field/package.json | 2 +- .../plugin-system-settings/package.json | 2 +- .../plugin-theme-editor/package.json | 2 +- .../plugin-ui-routes-storage/package.json | 2 +- .../plugin-ui-schema-storage/package.json | 2 +- .../@nocobase/plugin-users/package.json | 2 +- .../plugin-verification/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-aggregate/package.json | 2 +- .../plugin-workflow-delay/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-loop/package.json | 2 +- .../plugin-workflow-manual/package.json | 2 +- .../plugin-workflow-parallel/package.json | 2 +- .../plugin-workflow-request/package.json | 2 +- .../plugin-workflow-sql/package.json | 2 +- .../plugin-workflow-test/package.json | 2 +- .../@nocobase/plugin-workflow/package.json | 4 +- packages/presets/nocobase/package.json | 114 +++++++++--------- 84 files changed, 186 insertions(+), 186 deletions(-) diff --git a/lerna.json b/lerna.json index 4230dbe76..54af1d5c2 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "npmClient": "yarn", "useWorkspaces": true, "npmClientArgs": ["--ignore-engines"], diff --git a/packages/core/acl/package.json b/packages/core/acl/package.json index 931e332a9..ee6a87636 100644 --- a/packages/core/acl/package.json +++ b/packages/core/acl/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/acl", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "description": "", "license": "Apache-2.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/resourcer": "0.20.0-alpha.8", - "@nocobase/utils": "0.20.0-alpha.8", + "@nocobase/resourcer": "0.20.0-alpha.9", + "@nocobase/utils": "0.20.0-alpha.9", "minimatch": "^5.1.1" }, "repository": { diff --git a/packages/core/actions/package.json b/packages/core/actions/package.json index b6c952580..8fa6edd48 100644 --- a/packages/core/actions/package.json +++ b/packages/core/actions/package.json @@ -1,14 +1,14 @@ { "name": "@nocobase/actions", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "description": "", "license": "Apache-2.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/cache": "0.20.0-alpha.8", - "@nocobase/database": "0.20.0-alpha.8", - "@nocobase/resourcer": "0.20.0-alpha.8" + "@nocobase/cache": "0.20.0-alpha.9", + "@nocobase/database": "0.20.0-alpha.9", + "@nocobase/resourcer": "0.20.0-alpha.9" }, "repository": { "type": "git", diff --git a/packages/core/app/package.json b/packages/core/app/package.json index b87988c90..002296205 100644 --- a/packages/core/app/package.json +++ b/packages/core/app/package.json @@ -1,17 +1,17 @@ { "name": "@nocobase/app", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/database": "0.20.0-alpha.8", - "@nocobase/preset-nocobase": "0.20.0-alpha.8", - "@nocobase/server": "0.20.0-alpha.8" + "@nocobase/database": "0.20.0-alpha.9", + "@nocobase/preset-nocobase": "0.20.0-alpha.9", + "@nocobase/server": "0.20.0-alpha.9" }, "devDependencies": { - "@nocobase/client": "0.20.0-alpha.8" + "@nocobase/client": "0.20.0-alpha.9" }, "repository": { "type": "git", diff --git a/packages/core/auth/package.json b/packages/core/auth/package.json index 63c959102..0f4577c7e 100644 --- a/packages/core/auth/package.json +++ b/packages/core/auth/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/auth", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "description": "", "license": "Apache-2.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "0.20.0-alpha.8", - "@nocobase/cache": "0.20.0-alpha.8", - "@nocobase/database": "0.20.0-alpha.8", - "@nocobase/resourcer": "0.20.0-alpha.8", - "@nocobase/utils": "0.20.0-alpha.8", + "@nocobase/actions": "0.20.0-alpha.9", + "@nocobase/cache": "0.20.0-alpha.9", + "@nocobase/database": "0.20.0-alpha.9", + "@nocobase/resourcer": "0.20.0-alpha.9", + "@nocobase/utils": "0.20.0-alpha.9", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/build/package.json b/packages/core/build/package.json index 45da37c5e..47283a8d2 100755 --- a/packages/core/build/package.json +++ b/packages/core/build/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/build", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "description": "Library build tool based on rollup.", "main": "lib/index.js", "types": "./lib/index.d.ts", diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index d1b6e9067..259a33074 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cache", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "description": "", "license": "Apache-2.0", "main": "./lib/index.js", diff --git a/packages/core/cli/package.json b/packages/core/cli/package.json index 1ba652609..b26bddc62 100644 --- a/packages/core/cli/package.json +++ b/packages/core/cli/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cli", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "description": "", "license": "Apache-2.0", "main": "./src/index.js", @@ -8,7 +8,7 @@ "nocobase": "./bin/index.js" }, "dependencies": { - "@nocobase/app": "0.20.0-alpha.8", + "@nocobase/app": "0.20.0-alpha.9", "@types/fs-extra": "^11.0.1", "@umijs/utils": "3.5.20", "chalk": "^4.1.1", @@ -25,7 +25,7 @@ "tsx": "^4.6.2" }, "devDependencies": { - "@nocobase/devtools": "0.20.0-alpha.8" + "@nocobase/devtools": "0.20.0-alpha.9" }, "repository": { "type": "git", diff --git a/packages/core/client/package.json b/packages/core/client/package.json index 5a25c4052..4eb74587d 100644 --- a/packages/core/client/package.json +++ b/packages/core/client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/client", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "Apache-2.0", "main": "lib/index.js", "module": "es/index.mjs", @@ -26,9 +26,9 @@ "@formily/reactive-react": "^2.2.27", "@formily/shared": "^2.2.27", "@formily/validator": "^2.2.27", - "@nocobase/evaluators": "0.20.0-alpha.8", - "@nocobase/sdk": "0.20.0-alpha.8", - "@nocobase/utils": "0.20.0-alpha.8", + "@nocobase/evaluators": "0.20.0-alpha.9", + "@nocobase/sdk": "0.20.0-alpha.9", + "@nocobase/utils": "0.20.0-alpha.9", "ahooks": "^3.7.2", "antd": "^5.12.8", "antd-style": "3.4.5", diff --git a/packages/core/create-nocobase-app/package.json b/packages/core/create-nocobase-app/package.json index 2a4700267..8bc6084d4 100755 --- a/packages/core/create-nocobase-app/package.json +++ b/packages/core/create-nocobase-app/package.json @@ -1,6 +1,6 @@ { "name": "create-nocobase-app", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "src/index.js", "license": "Apache-2.0", "dependencies": { diff --git a/packages/core/data-source-manager/package.json b/packages/core/data-source-manager/package.json index 828199ab7..cb81c0aa2 100644 --- a/packages/core/data-source-manager/package.json +++ b/packages/core/data-source-manager/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/data-source-manager", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "description": "", "license": "Apache-2.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "0.20.0-alpha.8", - "@nocobase/cache": "0.20.0-alpha.8", - "@nocobase/database": "0.20.0-alpha.8", - "@nocobase/resourcer": "0.20.0-alpha.8", - "@nocobase/utils": "0.20.0-alpha.8", + "@nocobase/actions": "0.20.0-alpha.9", + "@nocobase/cache": "0.20.0-alpha.9", + "@nocobase/database": "0.20.0-alpha.9", + "@nocobase/resourcer": "0.20.0-alpha.9", + "@nocobase/utils": "0.20.0-alpha.9", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/database/package.json b/packages/core/database/package.json index e53b1bf2c..47b881261 100644 --- a/packages/core/database/package.json +++ b/packages/core/database/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/database", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "Apache-2.0", "dependencies": { - "@nocobase/logger": "0.20.0-alpha.8", - "@nocobase/utils": "0.20.0-alpha.8", + "@nocobase/logger": "0.20.0-alpha.9", + "@nocobase/utils": "0.20.0-alpha.9", "async-mutex": "^0.3.2", "chalk": "^4.1.1", "cron-parser": "4.4.0", diff --git a/packages/core/devtools/package.json b/packages/core/devtools/package.json index 33ff58d14..184c9cef4 100644 --- a/packages/core/devtools/package.json +++ b/packages/core/devtools/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/devtools", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "description": "", "license": "Apache-2.0", "main": "./src/index.js", "dependencies": { - "@nocobase/build": "0.20.0-alpha.8", - "@nocobase/client": "0.20.0-alpha.8", - "@nocobase/test": "0.20.0-alpha.8", + "@nocobase/build": "0.20.0-alpha.9", + "@nocobase/client": "0.20.0-alpha.9", + "@nocobase/test": "0.20.0-alpha.9", "@types/koa": "^2.13.4", "@types/koa-bodyparser": "^4.3.4", "@types/lodash": "^4.14.177", diff --git a/packages/core/evaluators/package.json b/packages/core/evaluators/package.json index 77e90a8e0..c3e85e93f 100644 --- a/packages/core/evaluators/package.json +++ b/packages/core/evaluators/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/evaluators", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "Apache-2.0", "dependencies": { "@formulajs/formulajs": "4.2.0", - "@nocobase/utils": "0.20.0-alpha.8", + "@nocobase/utils": "0.20.0-alpha.9", "mathjs": "^10.6.0" }, "repository": { diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index af3d55df2..0295e1191 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/logger", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "description": "nocobase logging library", "license": "Apache-2.0", "main": "./lib/index.js", diff --git a/packages/core/resourcer/package.json b/packages/core/resourcer/package.json index f66fb6acf..3955ed4f8 100644 --- a/packages/core/resourcer/package.json +++ b/packages/core/resourcer/package.json @@ -1,12 +1,12 @@ { "name": "@nocobase/resourcer", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "Apache-2.0", "dependencies": { - "@nocobase/utils": "0.20.0-alpha.8", + "@nocobase/utils": "0.20.0-alpha.9", "deepmerge": "^4.2.2", "koa-compose": "^4.1.0", "lodash": "^4.17.21", diff --git a/packages/core/sdk/package.json b/packages/core/sdk/package.json index c46038e30..13087f403 100644 --- a/packages/core/sdk/package.json +++ b/packages/core/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/sdk", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "Apache-2.0", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/core/server/package.json b/packages/core/server/package.json index 2cd00a1e5..bc8df7751 100644 --- a/packages/core/server/package.json +++ b/packages/core/server/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/server", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "Apache-2.0", @@ -10,18 +10,18 @@ "@koa/cors": "^3.1.0", "@koa/multer": "^3.0.2", "@koa/router": "^9.4.0", - "@nocobase/acl": "0.20.0-alpha.8", - "@nocobase/actions": "0.20.0-alpha.8", - "@nocobase/auth": "0.20.0-alpha.8", - "@nocobase/cache": "0.20.0-alpha.8", - "@nocobase/data-source-manager": "0.20.0-alpha.8", - "@nocobase/database": "0.20.0-alpha.8", - "@nocobase/evaluators": "0.20.0-alpha.8", - "@nocobase/logger": "0.20.0-alpha.8", - "@nocobase/resourcer": "0.20.0-alpha.8", - "@nocobase/sdk": "0.20.0-alpha.8", - "@nocobase/telemetry": "0.20.0-alpha.8", - "@nocobase/utils": "0.20.0-alpha.8", + "@nocobase/acl": "0.20.0-alpha.9", + "@nocobase/actions": "0.20.0-alpha.9", + "@nocobase/auth": "0.20.0-alpha.9", + "@nocobase/cache": "0.20.0-alpha.9", + "@nocobase/data-source-manager": "0.20.0-alpha.9", + "@nocobase/database": "0.20.0-alpha.9", + "@nocobase/evaluators": "0.20.0-alpha.9", + "@nocobase/logger": "0.20.0-alpha.9", + "@nocobase/resourcer": "0.20.0-alpha.9", + "@nocobase/sdk": "0.20.0-alpha.9", + "@nocobase/telemetry": "0.20.0-alpha.9", + "@nocobase/utils": "0.20.0-alpha.9", "@types/decompress": "4.2.4", "@types/ini": "^1.3.31", "@types/koa-send": "^4.1.3", diff --git a/packages/core/telemetry/package.json b/packages/core/telemetry/package.json index 7b1e6ca17..264a85d42 100644 --- a/packages/core/telemetry/package.json +++ b/packages/core/telemetry/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/telemetry", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "description": "nocobase telemetry library", "license": "Apache-2.0", "main": "./lib/index.js", @@ -11,7 +11,7 @@ "directory": "packages/telemetry" }, "dependencies": { - "@nocobase/utils": "0.20.0-alpha.8", + "@nocobase/utils": "0.20.0-alpha.9", "@opentelemetry/api": "^1.7.0", "@opentelemetry/instrumentation": "^0.46.0", "@opentelemetry/resources": "^1.19.0", diff --git a/packages/core/test/package.json b/packages/core/test/package.json index 048e0e10b..d1ff15a4c 100644 --- a/packages/core/test/package.json +++ b/packages/core/test/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/test", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "lib/index.js", "module": "./src/index.ts", "types": "./lib/index.d.ts", @@ -40,7 +40,7 @@ }, "dependencies": { "@faker-js/faker": "8.1.0", - "@nocobase/server": "0.20.0-alpha.8", + "@nocobase/server": "0.20.0-alpha.9", "@playwright/test": "^1.42.1", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.4.3", diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 452326355..a1306fe76 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/utils", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "Apache-2.0", diff --git a/packages/plugins/@nocobase/plugin-acl/package.json b/packages/plugins/@nocobase/plugin-acl/package.json index 3bfbca3d0..3f0d5ddff 100644 --- a/packages/plugins/@nocobase/plugin-acl/package.json +++ b/packages/plugins/@nocobase/plugin-acl/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "权限控制", "description": "Based on roles, resources, and actions, access control can precisely manage interface configuration permissions, data operation permissions, menu access permissions, and plugin permissions.", "description.zh-CN": "基于角色、资源和操作的权限控制,可以精确控制界面配置权限、数据操作权限、菜单访问权限、插件权限。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/acl", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json index 66b58ac0e..c94bd82b6 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-edit", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-edit", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-edit", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json index c2ea6e02d..e94a34b5d 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-update", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-update", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-update", diff --git a/packages/plugins/@nocobase/plugin-action-duplicate/package.json b/packages/plugins/@nocobase/plugin-action-duplicate/package.json index 4050aa563..4a9c5a9bd 100644 --- a/packages/plugins/@nocobase/plugin-action-duplicate/package.json +++ b/packages/plugins/@nocobase/plugin-action-duplicate/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-duplicate", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-duplicate", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-duplicate", diff --git a/packages/plugins/@nocobase/plugin-action-print/package.json b/packages/plugins/@nocobase/plugin-action-print/package.json index 501bdb76d..28bcc1bc3 100644 --- a/packages/plugins/@nocobase/plugin-action-print/package.json +++ b/packages/plugins/@nocobase/plugin-action-print/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-print", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-print", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-print", diff --git a/packages/plugins/@nocobase/plugin-api-doc/package.json b/packages/plugins/@nocobase/plugin-api-doc/package.json index 6b3a153d3..a8e2d1815 100644 --- a/packages/plugins/@nocobase/plugin-api-doc/package.json +++ b/packages/plugins/@nocobase/plugin-api-doc/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-api-doc", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "displayName": "API documentation", "displayName.zh-CN": "API 文档", "description": "An OpenAPI documentation generator for NocoBase HTTP API.", diff --git a/packages/plugins/@nocobase/plugin-api-keys/package.json b/packages/plugins/@nocobase/plugin-api-keys/package.json index fe7981b84..5da690c26 100644 --- a/packages/plugins/@nocobase/plugin-api-keys/package.json +++ b/packages/plugins/@nocobase/plugin-api-keys/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:API 密钥", "description": "Allows users to use API key to access application's HTTP API", "description.zh-CN": "允许用户使用 API 密钥访问应用的 HTTP API", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/api-keys", diff --git a/packages/plugins/@nocobase/plugin-audit-logs/package.json b/packages/plugins/@nocobase/plugin-audit-logs/package.json index 323da6ade..6551dd092 100644 --- a/packages/plugins/@nocobase/plugin-audit-logs/package.json +++ b/packages/plugins/@nocobase/plugin-audit-logs/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-audit-logs", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "displayName": "Audit logs (deprecated)", "displayName.zh-CN": "审计日志(废弃)", "description": "This plugin is deprecated. There will be a new audit log plugin in the future.", diff --git a/packages/plugins/@nocobase/plugin-auth/package.json b/packages/plugins/@nocobase/plugin-auth/package.json index da68b4f71..bc1e70a68 100644 --- a/packages/plugins/@nocobase/plugin-auth/package.json +++ b/packages/plugins/@nocobase/plugin-auth/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-auth", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth", diff --git a/packages/plugins/@nocobase/plugin-backup-restore/package.json b/packages/plugins/@nocobase/plugin-backup-restore/package.json index 22ebacda2..032adab2f 100644 --- a/packages/plugins/@nocobase/plugin-backup-restore/package.json +++ b/packages/plugins/@nocobase/plugin-backup-restore/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "应用的备份与还原", "description": "Backup and restore applications for scenarios such as application replication, migration, and upgrades.", "description.zh-CN": "备份和还原应用,可用于应用的复制、迁移、升级等场景。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/backup-restore", diff --git a/packages/plugins/@nocobase/plugin-calendar/package.json b/packages/plugins/@nocobase/plugin-calendar/package.json index c33fa4f05..042639a18 100644 --- a/packages/plugins/@nocobase/plugin-calendar/package.json +++ b/packages/plugins/@nocobase/plugin-calendar/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-calendar", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "displayName": "Calendar", "displayName.zh-CN": "日历", "description": "Provides callendar collection template and block for managing date data, typically for date/time related information such as events, appointments, tasks, and so on.", diff --git a/packages/plugins/@nocobase/plugin-cas/package.json b/packages/plugins/@nocobase/plugin-cas/package.json index d813f8059..2745c3f23 100644 --- a/packages/plugins/@nocobase/plugin-cas/package.json +++ b/packages/plugins/@nocobase/plugin-cas/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:CAS", "description": "CAS authentication.", "description.zh-CN": "通过 CAS 协议认证身份。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth-cas", diff --git a/packages/plugins/@nocobase/plugin-charts/package.json b/packages/plugins/@nocobase/plugin-charts/package.json index d3c45969d..2d999732d 100644 --- a/packages/plugins/@nocobase/plugin-charts/package.json +++ b/packages/plugins/@nocobase/plugin-charts/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "图表(废弃)", "description": "The plugin has been deprecated, please use the data visualization plugin instead.", "description.zh-CN": "已废弃插件,请使用数据可视化插件代替。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-china-region/package.json b/packages/plugins/@nocobase/plugin-china-region/package.json index cdfbafada..6bfe6638e 100644 --- a/packages/plugins/@nocobase/plugin-china-region/package.json +++ b/packages/plugins/@nocobase/plugin-china-region/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-china-region", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "displayName": "Administrative divisions of China", "displayName.zh-CN": "中国行政区划", "description": "Provides data and field type for administrative divisions of China.", diff --git a/packages/plugins/@nocobase/plugin-client/package.json b/packages/plugins/@nocobase/plugin-client/package.json index bdd37e222..82b5549e6 100644 --- a/packages/plugins/@nocobase/plugin-client/package.json +++ b/packages/plugins/@nocobase/plugin-client/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "WEB 客户端", "description": "Provides a client interface for the NocoBase server", "description.zh-CN": "为 NocoBase 服务端提供客户端界面", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-collection-manager/package.json b/packages/plugins/@nocobase/plugin-collection-manager/package.json index 6e3ab79ed..d8bb4aeef 100644 --- a/packages/plugins/@nocobase/plugin-collection-manager/package.json +++ b/packages/plugins/@nocobase/plugin-collection-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据源:主数据库", "description": "NocoBase main database, supports relational databases such as MySQL, PostgreSQL, SQLite and so on.", "description.zh-CN": "NocoBase 主数据库,支持 MySQL、PostgreSQL、SQLite 等关系型数据库。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/data-source-main", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/data-source-main", diff --git a/packages/plugins/@nocobase/plugin-custom-request/package.json b/packages/plugins/@nocobase/plugin-custom-request/package.json index 0adbb7cbe..f71bb7554 100644 --- a/packages/plugins/@nocobase/plugin-custom-request/package.json +++ b/packages/plugins/@nocobase/plugin-custom-request/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-custom-request", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-custom-request", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-custom-request", diff --git a/packages/plugins/@nocobase/plugin-data-source-manager/package.json b/packages/plugins/@nocobase/plugin-data-source-manager/package.json index 527181c1c..b4795fb86 100644 --- a/packages/plugins/@nocobase/plugin-data-source-manager/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-source-manager", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "dist/server/index.js", "displayName": "Data source manager", "displayName.zh-CN": "数据源管理", diff --git a/packages/plugins/@nocobase/plugin-data-visualization/package.json b/packages/plugins/@nocobase/plugin-data-visualization/package.json index 5a81a7c3f..6a5970966 100644 --- a/packages/plugins/@nocobase/plugin-data-visualization/package.json +++ b/packages/plugins/@nocobase/plugin-data-visualization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-visualization", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "displayName": "Data visualization", "displayName.zh-CN": "数据可视化", "description": "Provides data visualization feature, including chart block and chart filter block, support line charts, area charts, bar charts and more than a dozen kinds of charts, you can also extend more chart types.", diff --git a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json index 9b5ad5891..d1ae6c805 100644 --- a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json +++ b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-disable-pm-add", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "./dist/server/index.js", "peerDependencies": { "@nocobase/client": "0.x", diff --git a/packages/plugins/@nocobase/plugin-error-handler/package.json b/packages/plugins/@nocobase/plugin-error-handler/package.json index 51ed5e020..c28aa4837 100644 --- a/packages/plugins/@nocobase/plugin-error-handler/package.json +++ b/packages/plugins/@nocobase/plugin-error-handler/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "错误处理器", "description": "Handling application errors and exceptions.", "description.zh-CN": "处理应用程序中的错误和异常。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-excel-formula-field/package.json b/packages/plugins/@nocobase/plugin-excel-formula-field/package.json index 0b58b6455..135af577f 100644 --- a/packages/plugins/@nocobase/plugin-excel-formula-field/package.json +++ b/packages/plugins/@nocobase/plugin-excel-formula-field/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-excel-formula-field", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "description": "", "license": "AGPL-3.0", "main": "./dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-export/package.json b/packages/plugins/@nocobase/plugin-export/package.json index af5867c1e..76362c49c 100644 --- a/packages/plugins/@nocobase/plugin-export/package.json +++ b/packages/plugins/@nocobase/plugin-export/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导出记录", "description": "Export filtered records to excel, you can configure which fields to export.", "description.zh-CN": "导出筛选后的记录到 Excel 中,可以配置导出哪些字段。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-export", diff --git a/packages/plugins/@nocobase/plugin-file-manager/package.json b/packages/plugins/@nocobase/plugin-file-manager/package.json index 89ade8b66..a81af3c0c 100644 --- a/packages/plugins/@nocobase/plugin-file-manager/package.json +++ b/packages/plugins/@nocobase/plugin-file-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-file-manager", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "displayName": "File manager", "displayName.zh-CN": "文件管理器", "description": "Provides files storage services with files collection template and attachment field.", diff --git a/packages/plugins/@nocobase/plugin-formula-field/package.json b/packages/plugins/@nocobase/plugin-formula-field/package.json index cce9faf91..d79295a73 100644 --- a/packages/plugins/@nocobase/plugin-formula-field/package.json +++ b/packages/plugins/@nocobase/plugin-formula-field/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:公式", "description": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.", "description.zh-CN": "可以配置并存储同一条记录的多字段值之间的计算结果,支持 Math.js 和 Excel formula functions 两种引擎", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-formula", diff --git a/packages/plugins/@nocobase/plugin-gantt/package.json b/packages/plugins/@nocobase/plugin-gantt/package.json index ea0fa593a..07d2f23bf 100644 --- a/packages/plugins/@nocobase/plugin-gantt/package.json +++ b/packages/plugins/@nocobase/plugin-gantt/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-gantt", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "displayName": "Block: Gantt", "displayName.zh-CN": "区块:甘特图", "description": "Provides Gantt block.", diff --git a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json index 5c1f6f409..1fa6f833a 100644 --- a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json +++ b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "可视化数据表管理", "description": "An ER diagram-like tool. Currently only the Master database is supported.", "description.zh-CN": "类似 ER 图的工具,目前只支持主数据库。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/graph-collection-manager", diff --git a/packages/plugins/@nocobase/plugin-iframe-block/package.json b/packages/plugins/@nocobase/plugin-iframe-block/package.json index 2f9f5f4b0..0fa1ef662 100644 --- a/packages/plugins/@nocobase/plugin-iframe-block/package.json +++ b/packages/plugins/@nocobase/plugin-iframe-block/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "区块:iframe", "description": "Create an iframe block on the page to embed and display external web pages or content.", "description.zh-CN": "在页面上创建和管理iframe,用于嵌入和展示外部网页或内容。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-iframe", diff --git a/packages/plugins/@nocobase/plugin-import/package.json b/packages/plugins/@nocobase/plugin-import/package.json index ece56968f..1e9027037 100644 --- a/packages/plugins/@nocobase/plugin-import/package.json +++ b/packages/plugins/@nocobase/plugin-import/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导入记录", "description": "Import records using excel templates. You can configure which fields to import and templates will be generated automatically.", "description.zh-CN": "使用 Excel 模板导入数据,可以配置导入哪些字段,自动生成模板。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-import", diff --git a/packages/plugins/@nocobase/plugin-kanban/package.json b/packages/plugins/@nocobase/plugin-kanban/package.json index c942c684f..a9ab3f331 100644 --- a/packages/plugins/@nocobase/plugin-kanban/package.json +++ b/packages/plugins/@nocobase/plugin-kanban/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-kanban", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-kanban", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/block-kanban", diff --git a/packages/plugins/@nocobase/plugin-localization-management/package.json b/packages/plugins/@nocobase/plugin-localization-management/package.json index 977e0d353..ae0fd77c8 100644 --- a/packages/plugins/@nocobase/plugin-localization-management/package.json +++ b/packages/plugins/@nocobase/plugin-localization-management/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-localization-management", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/localization-management", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/localization-management", diff --git a/packages/plugins/@nocobase/plugin-logger/package.json b/packages/plugins/@nocobase/plugin-logger/package.json index ee8f64eaa..0c77903db 100644 --- a/packages/plugins/@nocobase/plugin-logger/package.json +++ b/packages/plugins/@nocobase/plugin-logger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "日志", "description": "Server-side logs, mainly including API request logs and system runtime logs, and allows to package and download log files.", "description.zh-CN": "服务端日志,主要包括接口请求日志和系统运行日志,并支持打包和下载日志文件。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/logger", diff --git a/packages/plugins/@nocobase/plugin-map/package.json b/packages/plugins/@nocobase/plugin-map/package.json index ae151d2d5..352745544 100644 --- a/packages/plugins/@nocobase/plugin-map/package.json +++ b/packages/plugins/@nocobase/plugin-map/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-map", "displayName": "Block: Map", "displayName.zh-CN": "区块:地图", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "description": "Map block, support Gaode map and Google map, you can also extend more map types.", "description.zh-CN": "地图区块,支持高德地图和 Google 地图,你也可以扩展更多地图类型。", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-math-formula-field/package.json b/packages/plugins/@nocobase/plugin-math-formula-field/package.json index 577f20d01..fe29098dd 100644 --- a/packages/plugins/@nocobase/plugin-math-formula-field/package.json +++ b/packages/plugins/@nocobase/plugin-math-formula-field/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数学公式字段", "description": "A powerful mathematical formula field plugin designed to provide flexible mathematical and formula calculation capabilities for databases or data management systems. It seamlessly integrates with various database systems such as MySQL, PostgreSQL, and offers an intuitive user interface for defining and executing mathematical formula fields.", "description.zh-CN": "一个功能强大的数学公式字段插件,旨在为数据库或数据管理系统提供灵活的数学计算和公式计算功能。它可以与各种数据库系统(如MySQL、PostgreSQL)无缝集成,并提供直观的用户界面来定义和执行数学公式字段。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-mobile-client/package.json b/packages/plugins/@nocobase/plugin-mobile-client/package.json index 61281db77..d4c7bc7c0 100644 --- a/packages/plugins/@nocobase/plugin-mobile-client/package.json +++ b/packages/plugins/@nocobase/plugin-mobile-client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile-client", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile-client", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile-client", diff --git a/packages/plugins/@nocobase/plugin-mock-collections/package.json b/packages/plugins/@nocobase/plugin-mock-collections/package.json index 1df52bba5..305b00262 100644 --- a/packages/plugins/@nocobase/plugin-mock-collections/package.json +++ b/packages/plugins/@nocobase/plugin-mock-collections/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-mock-collections", "displayName": "mock-collections", "description": "mock-collections", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "./dist/server/index.js", "license": "AGPL-3.0", "peerDependencies": { diff --git a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json index f0ca120f5..4c07cad24 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用管理器", "description": "Dynamically create multiple apps without separate deployments.", "description.zh-CN": "无需单独部署即可动态创建多个应用。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/multi-app-manager", diff --git a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json index fd75ce682..e1ceaaae2 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用数据表共享", "description": "", "description.zh-CN": "", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "./dist/server/index.js", "devDependencies": { "@formily/react": "2.x", diff --git a/packages/plugins/@nocobase/plugin-notifications/package.json b/packages/plugins/@nocobase/plugin-notifications/package.json index 5645563c7..0e5c47008 100644 --- a/packages/plugins/@nocobase/plugin-notifications/package.json +++ b/packages/plugins/@nocobase/plugin-notifications/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notifications", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "description": "", "license": "AGPL-3.0", "main": "./dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-oidc/package.json b/packages/plugins/@nocobase/plugin-oidc/package.json index bdeeb1270..314051dba 100644 --- a/packages/plugins/@nocobase/plugin-oidc/package.json +++ b/packages/plugins/@nocobase/plugin-oidc/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:OIDC", "description": "OIDC (OpenID Connect) authentication.", "description.zh-CN": "通过 OIDC (OpenID Connect) 协议认证身份。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth-oidc", diff --git a/packages/plugins/@nocobase/plugin-saml/package.json b/packages/plugins/@nocobase/plugin-saml/package.json index 37f669376..863231ceb 100644 --- a/packages/plugins/@nocobase/plugin-saml/package.json +++ b/packages/plugins/@nocobase/plugin-saml/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:SAML 2.0", "description": "SAML 2.0 authentication.", "description.zh-CN": "通过 SAML 2.0 协议认证身份。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth-saml", diff --git a/packages/plugins/@nocobase/plugin-sample-hello/package.json b/packages/plugins/@nocobase/plugin-sample-hello/package.json index 1fa79c4aa..faeb8611e 100644 --- a/packages/plugins/@nocobase/plugin-sample-hello/package.json +++ b/packages/plugins/@nocobase/plugin-sample-hello/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-sample-hello", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "./dist/server/index.js", "displayName": "Hello", "displayName.zh-CN": "Hello", diff --git a/packages/plugins/@nocobase/plugin-sequence-field/package.json b/packages/plugins/@nocobase/plugin-sequence-field/package.json index 0d0953ea7..6bfd920e8 100644 --- a/packages/plugins/@nocobase/plugin-sequence-field/package.json +++ b/packages/plugins/@nocobase/plugin-sequence-field/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:自动编码", "description": "Automatically generate codes based on configured rules, supporting combinations of dates, numbers, and text.", "description.zh-CN": "根据配置的规则自动生成编码,支持日期、数字、文本的组合。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-sequence", diff --git a/packages/plugins/@nocobase/plugin-sms-auth/package.json b/packages/plugins/@nocobase/plugin-sms-auth/package.json index 95b3b9517..3c431d96d 100644 --- a/packages/plugins/@nocobase/plugin-sms-auth/package.json +++ b/packages/plugins/@nocobase/plugin-sms-auth/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:短信", "description": "SMS authentication.", "description.zh-CN": "通过短信验证码认证身份。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth-sms", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth-sms", diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/package.json b/packages/plugins/@nocobase/plugin-snapshot-field/package.json index 04ff24a21..56c63bc94 100644 --- a/packages/plugins/@nocobase/plugin-snapshot-field/package.json +++ b/packages/plugins/@nocobase/plugin-snapshot-field/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:关系快照", "description": "When adding a new record, create a snapshot for its relational record and save in the new record. The snapshot will not be updated when the relational record is updated.", "description.zh-CN": "在添加数据时,为它的关系数据创建快照,并保存在当前的数据中。关系数据更新时,快照不会更新。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-snapshot", diff --git a/packages/plugins/@nocobase/plugin-system-settings/package.json b/packages/plugins/@nocobase/plugin-system-settings/package.json index f65e9cd01..0260c95f0 100644 --- a/packages/plugins/@nocobase/plugin-system-settings/package.json +++ b/packages/plugins/@nocobase/plugin-system-settings/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "系统设置", "description": "Used to adjust the system title, logo, language, etc.", "description.zh-CN": "用于调整系统的标题、LOGO、语言等。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/system-settings", diff --git a/packages/plugins/@nocobase/plugin-theme-editor/package.json b/packages/plugins/@nocobase/plugin-theme-editor/package.json index a1c7c3751..88757ea34 100644 --- a/packages/plugins/@nocobase/plugin-theme-editor/package.json +++ b/packages/plugins/@nocobase/plugin-theme-editor/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-theme-editor", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/theme-editor", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/theme-editor", diff --git a/packages/plugins/@nocobase/plugin-ui-routes-storage/package.json b/packages/plugins/@nocobase/plugin-ui-routes-storage/package.json index 7edf862da..c4f104045 100644 --- a/packages/plugins/@nocobase/plugin-ui-routes-storage/package.json +++ b/packages/plugins/@nocobase/plugin-ui-routes-storage/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "路由管理", "description": "manage the routes of nocobase", "description.zh-CN": "管理页面路由。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json index fc5ea79ef..a5872fc21 100644 --- a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json +++ b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "UI schema 存储服务", "description": "Provides centralized UI schema storage service.", "description.zh-CN": "提供中心化的 UI schema 存储服务。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/ui-schema-storage", diff --git a/packages/plugins/@nocobase/plugin-users/package.json b/packages/plugins/@nocobase/plugin-users/package.json index 835dc638f..929ba1311 100644 --- a/packages/plugins/@nocobase/plugin-users/package.json +++ b/packages/plugins/@nocobase/plugin-users/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户", "description": "Provides basic user model, as well as created by and updated by fields.", "description.zh-CN": "提供了基础的用户模型,以及创建人和最后更新人字段。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/users", diff --git a/packages/plugins/@nocobase/plugin-verification/package.json b/packages/plugins/@nocobase/plugin-verification/package.json index 1e05dc575..9de7d9243 100644 --- a/packages/plugins/@nocobase/plugin-verification/package.json +++ b/packages/plugins/@nocobase/plugin-verification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "验证码", "description": "verification setting.", "description.zh-CN": "验证码配置。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/verification", diff --git a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json index f9db17277..0ff7e6aca 100644 --- a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:数据操作触发器", "description": "Bind action buttons to trigger workflow events when clicked.", "description.zh-CN": "可对数据操作按钮绑定,在点击后触发对应的工作流事件。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/plugins/workflow-action-trigger", diff --git a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json index a8b394b90..d1dde89ff 100644 --- a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:聚合查询节点", "description": "Used to aggregate data against the database in workflow, such as: statistics, sum, average, etc.", "description.zh-CN": "可用于在工作流中对数据库进行聚合查询,如:统计数量、求和、平均值等。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-aggregate", diff --git a/packages/plugins/@nocobase/plugin-workflow-delay/package.json b/packages/plugins/@nocobase/plugin-workflow-delay/package.json index ec18af17c..aa66137a1 100644 --- a/packages/plugins/@nocobase/plugin-workflow-delay/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-delay/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:延时节点", "description": "Could be used in workflow parallel branch for waiting other branches.", "description.zh-CN": "可用于工作流并行分支中等待其他分支执行完成。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-delay", diff --git a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json index ff28e1711..a0826fef3 100644 --- a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:动态表达式计算节点", "description": "Useful plugin for doing dynamic calculation based on expression collection records in workflow.", "description.zh-CN": "用于在工作流中进行基于数据行的动态表达式计算。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-dynamic-calculation", diff --git a/packages/plugins/@nocobase/plugin-workflow-loop/package.json b/packages/plugins/@nocobase/plugin-workflow-loop/package.json index 16b46ae93..6c6bcfd33 100644 --- a/packages/plugins/@nocobase/plugin-workflow-loop/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-loop/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:循环节点", "description": "Used to repeat the sub-process processing of each value in an array, and can also be used for fixed times of sub-process processing.", "description.zh-CN": "用于对一个数组中的每个值进行重复的子流程处理,也可用于固定次数的重复子流程处理。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-loop", diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/package.json b/packages/plugins/@nocobase/plugin-workflow-manual/package.json index 7836d6c6d..9784c01d6 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-manual/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:人工处理节点", "description": "Could be used for workflows which some of decisions are made by users.", "description.zh-CN": "用于人工控制部分决策的流程。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-manual", diff --git a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json index 3d21a2525..da799c9dd 100644 --- a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:并行分支节点", "description": "Could be used for parallel execution of branch processes in the workflow.", "description.zh-CN": "用于在工作流中需要并行执行的分支流程。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-parallel", diff --git a/packages/plugins/@nocobase/plugin-workflow-request/package.json b/packages/plugins/@nocobase/plugin-workflow-request/package.json index 3c92d0617..c7a28ac54 100644 --- a/packages/plugins/@nocobase/plugin-workflow-request/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-request/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:HTTP 请求节点", "description": "Send HTTP requests to any HTTP service for data interaction in workflow.", "description.zh-CN": "可用于在工作流中向任意 HTTP 服务发送请求,进行数据交互。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-request", diff --git a/packages/plugins/@nocobase/plugin-workflow-sql/package.json b/packages/plugins/@nocobase/plugin-workflow-sql/package.json index f6727bb48..6c90c67ca 100644 --- a/packages/plugins/@nocobase/plugin-workflow-sql/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:SQL 节点", "description": "Execute SQL statements in workflow.", "description.zh-CN": "可用于在工作流中对数据库执行任意 SQL 语句。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-sql", diff --git a/packages/plugins/@nocobase/plugin-workflow-test/package.json b/packages/plugins/@nocobase/plugin-workflow-test/package.json index a441ee9ba..5cd3c3c51 100644 --- a/packages/plugins/@nocobase/plugin-workflow-test/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-test/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-workflow-test", "displayName": "Workflow: test kit", "displayName.zh-CN": "工作流:测试工具包", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "dist/server/index.js", "types": "./dist/server/index.d.ts", diff --git a/packages/plugins/@nocobase/plugin-workflow/package.json b/packages/plugins/@nocobase/plugin-workflow/package.json index 34e5a27cb..93dbd474e 100644 --- a/packages/plugins/@nocobase/plugin-workflow/package.json +++ b/packages/plugins/@nocobase/plugin-workflow/package.json @@ -4,13 +4,13 @@ "displayName.zh-CN": "工作流", "description": "A powerful BPM tool that provides foundational support for business automation, with the capability to extend unlimited triggers and nodes.", "description.zh-CN": "一个强大的 BPM 工具,为业务自动化提供基础支持,并且可任意扩展更多的触发器和节点。", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/workflow", "dependencies": { - "@nocobase/plugin-workflow-test": "0.20.0-alpha.8" + "@nocobase/plugin-workflow-test": "0.20.0-alpha.9" }, "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/presets/nocobase/package.json b/packages/presets/nocobase/package.json index 3d0296855..20f0e427f 100644 --- a/packages/presets/nocobase/package.json +++ b/packages/presets/nocobase/package.json @@ -1,66 +1,66 @@ { "name": "@nocobase/preset-nocobase", - "version": "0.20.0-alpha.8", + "version": "0.20.0-alpha.9", "license": "AGPL-3.0", "main": "./lib/server/index.js", "dependencies": { "@formily/json-schema": "2.x", - "@nocobase/plugin-acl": "0.20.0-alpha.8", - "@nocobase/plugin-action-bulk-edit": "0.20.0-alpha.8", - "@nocobase/plugin-action-bulk-update": "0.20.0-alpha.8", - "@nocobase/plugin-action-duplicate": "0.20.0-alpha.8", - "@nocobase/plugin-action-print": "0.20.0-alpha.8", - "@nocobase/plugin-api-doc": "0.20.0-alpha.8", - "@nocobase/plugin-api-keys": "0.20.0-alpha.8", - "@nocobase/plugin-audit-logs": "0.20.0-alpha.8", - "@nocobase/plugin-auth": "0.20.0-alpha.8", - "@nocobase/plugin-backup-restore": "0.20.0-alpha.8", - "@nocobase/plugin-calendar": "0.20.0-alpha.8", - "@nocobase/plugin-cas": "0.20.0-alpha.8", - "@nocobase/plugin-charts": "0.20.0-alpha.8", - "@nocobase/plugin-china-region": "0.20.0-alpha.8", - "@nocobase/plugin-client": "0.20.0-alpha.8", - "@nocobase/plugin-collection-manager": "0.20.0-alpha.8", - "@nocobase/plugin-custom-request": "0.20.0-alpha.8", - "@nocobase/plugin-data-source-manager": "0.20.0-alpha.8", - "@nocobase/plugin-data-visualization": "0.20.0-alpha.8", - "@nocobase/plugin-error-handler": "0.20.0-alpha.8", - "@nocobase/plugin-export": "0.20.0-alpha.8", - "@nocobase/plugin-file-manager": "0.20.0-alpha.8", - "@nocobase/plugin-formula-field": "0.20.0-alpha.8", - "@nocobase/plugin-gantt": "0.20.0-alpha.8", - "@nocobase/plugin-graph-collection-manager": "0.20.0-alpha.8", - "@nocobase/plugin-iframe-block": "0.20.0-alpha.8", - "@nocobase/plugin-import": "0.20.0-alpha.8", - "@nocobase/plugin-kanban": "0.20.0-alpha.8", - "@nocobase/plugin-localization-management": "0.20.0-alpha.8", - "@nocobase/plugin-logger": "0.20.0-alpha.8", - "@nocobase/plugin-map": "0.20.0-alpha.8", - "@nocobase/plugin-mobile-client": "0.20.0-alpha.8", - "@nocobase/plugin-mock-collections": "0.20.0-alpha.8", - "@nocobase/plugin-multi-app-manager": "0.20.0-alpha.8", - "@nocobase/plugin-multi-app-share-collection": "0.20.0-alpha.8", - "@nocobase/plugin-oidc": "0.20.0-alpha.8", - "@nocobase/plugin-saml": "0.20.0-alpha.8", - "@nocobase/plugin-sequence-field": "0.20.0-alpha.8", - "@nocobase/plugin-sms-auth": "0.20.0-alpha.8", - "@nocobase/plugin-snapshot-field": "0.20.0-alpha.8", - "@nocobase/plugin-system-settings": "0.20.0-alpha.8", - "@nocobase/plugin-theme-editor": "0.20.0-alpha.8", - "@nocobase/plugin-ui-schema-storage": "0.20.0-alpha.8", - "@nocobase/plugin-users": "0.20.0-alpha.8", - "@nocobase/plugin-verification": "0.20.0-alpha.8", - "@nocobase/plugin-workflow": "0.20.0-alpha.8", - "@nocobase/plugin-workflow-action-trigger": "0.20.0-alpha.8", - "@nocobase/plugin-workflow-aggregate": "0.20.0-alpha.8", - "@nocobase/plugin-workflow-delay": "0.20.0-alpha.8", - "@nocobase/plugin-workflow-dynamic-calculation": "0.20.0-alpha.8", - "@nocobase/plugin-workflow-loop": "0.20.0-alpha.8", - "@nocobase/plugin-workflow-manual": "0.20.0-alpha.8", - "@nocobase/plugin-workflow-parallel": "0.20.0-alpha.8", - "@nocobase/plugin-workflow-request": "0.20.0-alpha.8", - "@nocobase/plugin-workflow-sql": "0.20.0-alpha.8", - "@nocobase/server": "0.20.0-alpha.8", + "@nocobase/plugin-acl": "0.20.0-alpha.9", + "@nocobase/plugin-action-bulk-edit": "0.20.0-alpha.9", + "@nocobase/plugin-action-bulk-update": "0.20.0-alpha.9", + "@nocobase/plugin-action-duplicate": "0.20.0-alpha.9", + "@nocobase/plugin-action-print": "0.20.0-alpha.9", + "@nocobase/plugin-api-doc": "0.20.0-alpha.9", + "@nocobase/plugin-api-keys": "0.20.0-alpha.9", + "@nocobase/plugin-audit-logs": "0.20.0-alpha.9", + "@nocobase/plugin-auth": "0.20.0-alpha.9", + "@nocobase/plugin-backup-restore": "0.20.0-alpha.9", + "@nocobase/plugin-calendar": "0.20.0-alpha.9", + "@nocobase/plugin-cas": "0.20.0-alpha.9", + "@nocobase/plugin-charts": "0.20.0-alpha.9", + "@nocobase/plugin-china-region": "0.20.0-alpha.9", + "@nocobase/plugin-client": "0.20.0-alpha.9", + "@nocobase/plugin-collection-manager": "0.20.0-alpha.9", + "@nocobase/plugin-custom-request": "0.20.0-alpha.9", + "@nocobase/plugin-data-source-manager": "0.20.0-alpha.9", + "@nocobase/plugin-data-visualization": "0.20.0-alpha.9", + "@nocobase/plugin-error-handler": "0.20.0-alpha.9", + "@nocobase/plugin-export": "0.20.0-alpha.9", + "@nocobase/plugin-file-manager": "0.20.0-alpha.9", + "@nocobase/plugin-formula-field": "0.20.0-alpha.9", + "@nocobase/plugin-gantt": "0.20.0-alpha.9", + "@nocobase/plugin-graph-collection-manager": "0.20.0-alpha.9", + "@nocobase/plugin-iframe-block": "0.20.0-alpha.9", + "@nocobase/plugin-import": "0.20.0-alpha.9", + "@nocobase/plugin-kanban": "0.20.0-alpha.9", + "@nocobase/plugin-localization-management": "0.20.0-alpha.9", + "@nocobase/plugin-logger": "0.20.0-alpha.9", + "@nocobase/plugin-map": "0.20.0-alpha.9", + "@nocobase/plugin-mobile-client": "0.20.0-alpha.9", + "@nocobase/plugin-mock-collections": "0.20.0-alpha.9", + "@nocobase/plugin-multi-app-manager": "0.20.0-alpha.9", + "@nocobase/plugin-multi-app-share-collection": "0.20.0-alpha.9", + "@nocobase/plugin-oidc": "0.20.0-alpha.9", + "@nocobase/plugin-saml": "0.20.0-alpha.9", + "@nocobase/plugin-sequence-field": "0.20.0-alpha.9", + "@nocobase/plugin-sms-auth": "0.20.0-alpha.9", + "@nocobase/plugin-snapshot-field": "0.20.0-alpha.9", + "@nocobase/plugin-system-settings": "0.20.0-alpha.9", + "@nocobase/plugin-theme-editor": "0.20.0-alpha.9", + "@nocobase/plugin-ui-schema-storage": "0.20.0-alpha.9", + "@nocobase/plugin-users": "0.20.0-alpha.9", + "@nocobase/plugin-verification": "0.20.0-alpha.9", + "@nocobase/plugin-workflow": "0.20.0-alpha.9", + "@nocobase/plugin-workflow-action-trigger": "0.20.0-alpha.9", + "@nocobase/plugin-workflow-aggregate": "0.20.0-alpha.9", + "@nocobase/plugin-workflow-delay": "0.20.0-alpha.9", + "@nocobase/plugin-workflow-dynamic-calculation": "0.20.0-alpha.9", + "@nocobase/plugin-workflow-loop": "0.20.0-alpha.9", + "@nocobase/plugin-workflow-manual": "0.20.0-alpha.9", + "@nocobase/plugin-workflow-parallel": "0.20.0-alpha.9", + "@nocobase/plugin-workflow-request": "0.20.0-alpha.9", + "@nocobase/plugin-workflow-sql": "0.20.0-alpha.9", + "@nocobase/server": "0.20.0-alpha.9", "cronstrue": "^2.11.0" }, "repository": { From a8e37f6224a5a03f90164a2848ad2e9a250bebae Mon Sep 17 00:00:00 2001 From: chenos Date: Tue, 12 Mar 2024 21:15:55 +0800 Subject: [PATCH 2/8] chore: update changelog --- CHANGELOG.md | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 90c6baa73..e038b1b0e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +## [v0.20.0-alpha.9](https://github.com/nocobase/nocobase/compare/v0.20.0-alpha.8...v0.20.0-alpha.9) - 2024-03-12 + +### Merged + +- refactor: add child in inheritance of tree collection [`#3676`](https://github.com/nocobase/nocobase/pull/3676) +- fix: data source add field refresh(T-3253) [`#3645`](https://github.com/nocobase/nocobase/pull/3645) +- chore: escape underscore char in include query [`#3681`](https://github.com/nocobase/nocobase/pull/3681) +- fix: upgrade app after restore [`#3680`](https://github.com/nocobase/nocobase/pull/3680) +- fix: view collection association field foreignkey should be select [`#3671`](https://github.com/nocobase/nocobase/pull/3671) +- fix: acl should return true when resource allowed [`#3675`](https://github.com/nocobase/nocobase/pull/3675) +- fix: init scope value when all data is null value [`#3674`](https://github.com/nocobase/nocobase/pull/3674) +- fix: inheritance cache bug [`#3669`](https://github.com/nocobase/nocobase/pull/3669) + +### Commits + +- chore(versions): 😊 publish v0.20.0-alpha.9 [`2e7da6e`](https://github.com/nocobase/nocobase/commit/2e7da6e29bc75def06f59d8d3bb991e7e238c64b) +- fix: pagination error in roles collections resourcer [`023096b`](https://github.com/nocobase/nocobase/commit/023096b1a9ea6ccae364c81ba93ca32b077ccecc) +- chore: update changelog [`56fd24e`](https://github.com/nocobase/nocobase/commit/56fd24ef4b30717e12b2c0574d4df92210bac81c) + ## [v0.20.0-alpha.8](https://github.com/nocobase/nocobase/compare/v0.20.0-alpha.7...v0.20.0-alpha.8) - 2024-03-11 ### Merged @@ -597,7 +616,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - fix: load field when source collection not found [`95bec22`](https://github.com/nocobase/nocobase/commit/95bec2278ff2f53dfb1307e47bc8aca90d5a606a) - chore: update changelog [`34e026c`](https://github.com/nocobase/nocobase/commit/34e026cec5742c1a1347f2969a03446fa98c44c3) -## [v0.17.0-alpha.1](https://github.com/nocobase/nocobase/compare/v0.16.0-alpha.7...v0.17.0-alpha.1) - 2023-12-04 +## [v0.17.0-alpha.1](https://github.com/nocobase/nocobase/compare/v0.16.0-alpha.6...v0.17.0-alpha.1) - 2023-12-04 ### Merged @@ -606,16 +625,8 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). ### Commits - chore(versions): 😊 publish v0.17.0-alpha.1 [`1757a96`](https://github.com/nocobase/nocobase/commit/1757a96b51c7bb17f607b61467ab867e5add6567) -- chore(versions): 😊 publish v0.16.0-alpha.6 [`9d64430`](https://github.com/nocobase/nocobase/commit/9d644304c10be0f8404f2f3370a43d2dc00e8aed) - chore: update changelog [`69abfc9`](https://github.com/nocobase/nocobase/commit/69abfc98327b36bbc6b7e225294835bb457518d6) -## [v0.16.0-alpha.7](https://github.com/nocobase/nocobase/compare/v0.16.0-alpha.6...v0.16.0-alpha.7) - 2023-12-04 - -### Commits - -- chore(versions): 😊 publish v0.16.0-alpha.7 [`d077a17`](https://github.com/nocobase/nocobase/commit/d077a17ee8cafc901a995f1ec7271ca78e4c32c3) -- chore(versions): 😊 publish v [`7810332`](https://github.com/nocobase/nocobase/commit/78103320eb6ee01559609784e7ba1a4493399c2c) - ## [v0.16.0-alpha.6](https://github.com/nocobase/nocobase/compare/v0.16.0-alpha.5...v0.16.0-alpha.6) - 2023-12-04 ### Merged From b4058ecb1b1fe8ded0c784afc349657cafd1a995 Mon Sep 17 00:00:00 2001 From: katherinehhh Date: Tue, 12 Mar 2024 21:29:47 +0800 Subject: [PATCH 3/8] fix: incorrect pagination query parameters when batch deleting last page (#3670) --- packages/core/client/src/block-provider/hooks/index.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/core/client/src/block-provider/hooks/index.ts b/packages/core/client/src/block-provider/hooks/index.ts index abcdcc27c..1a7efc58c 100644 --- a/packages/core/client/src/block-provider/hooks/index.ts +++ b/packages/core/client/src/block-provider/hooks/index.ts @@ -986,6 +986,11 @@ export const useBulkDestroyActionProps = () => { filterByTk: field.data?.selectedRowKeys, }); field.data.selectedRowKeys = []; + const currentPage = service.params[0]?.page; + const totalPage = service.data?.meta?.totalPage; + if (currentPage === totalPage) { + service.params[0].page = currentPage - 1; + } service?.refresh?.(); }, }; From 24b52c98d18f11083e97f584b8e23749846052f0 Mon Sep 17 00:00:00 2001 From: chenos Date: Tue, 12 Mar 2024 22:30:13 +0800 Subject: [PATCH 4/8] fix: add external deps --- packages/core/build/src/buildPlugin.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/core/build/src/buildPlugin.ts b/packages/core/build/src/buildPlugin.ts index 601476ee0..bd4979830 100644 --- a/packages/core/build/src/buildPlugin.ts +++ b/packages/core/build/src/buildPlugin.ts @@ -34,6 +34,7 @@ const external = [ '@nocobase/cache', '@nocobase/client', '@nocobase/database', + '@nocobase/data-source-manager', '@nocobase/evaluators', '@nocobase/logger', '@nocobase/resourcer', From d904d13c52e8d486c63238f15c3c13088fb34a33 Mon Sep 17 00:00:00 2001 From: Zeke Zhang <958414905@qq.com> Date: Wed, 13 Mar 2024 10:13:02 +0800 Subject: [PATCH 5/8] fix(Form): should be created instead of updated when clicking submit (#3687) * fix(Form): should be created instead of updated when clicking submit * test: add e2e * test: optimize e2e --- .../data-block/DataBlockRequestProvider.tsx | 2 +- .../form-create/associationForm.test.ts | 21 + .../__e2e__/form-create/templatesOfBug.ts | 373 +++++++++++++++++- .../fields/oneToMany/schemaSettings.test.ts | 25 +- 4 files changed, 403 insertions(+), 18 deletions(-) create mode 100644 packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/associationForm.test.ts diff --git a/packages/core/client/src/data-source/data-block/DataBlockRequestProvider.tsx b/packages/core/client/src/data-source/data-block/DataBlockRequestProvider.tsx index cb35bbda9..45759d922 100644 --- a/packages/core/client/src/data-source/data-block/DataBlockRequestProvider.tsx +++ b/packages/core/client/src/data-source/data-block/DataBlockRequestProvider.tsx @@ -114,7 +114,7 @@ export const BlockRequestProvider: FC = ({ children }) => { {action !== 'list' ? ( diff --git a/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/associationForm.test.ts b/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/associationForm.test.ts new file mode 100644 index 000000000..f7ce94f73 --- /dev/null +++ b/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/associationForm.test.ts @@ -0,0 +1,21 @@ +import { test, expect } from '@nocobase/test/e2e'; +import { T3529 } from './templatesOfBug'; + +test.describe('association form block', () => { + // https://nocobase.height.app/T-3529 + test('should be created instead of updated', async ({ page, mockPage, mockRecord }) => { + const nocoPage = await mockPage(T3529).waitForInit(); + await mockRecord('general'); + await nocoPage.goto(); + + await page.getByLabel('action-Action.Link-View-view-general-table-0').click(); + void page.getByLabel('action-Action-Submit-submit-').click(); + + const request = await page.waitForRequest((request) => { + return request.url().includes('m2mField0:create'); + }); + + // 应该有包含 :create 的请求 + expect(request).toBeTruthy(); + }); +}); diff --git a/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/templatesOfBug.ts b/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/templatesOfBug.ts index c19e35cf7..03cae11ff 100644 --- a/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/templatesOfBug.ts +++ b/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/templatesOfBug.ts @@ -1,4 +1,4 @@ -import { PageConfig, generalWithM2oSingleSelect } from '@nocobase/test/e2e'; +import { PageConfig, generalWithM2oSingleSelect, generalWithMultiLevelM2mFields } from '@nocobase/test/e2e'; export const T2165 = { pageSchema: { @@ -5701,3 +5701,374 @@ export const T3469: PageConfig = { 'x-async': true, }, }; + +// https://nocobase.height.app/T-3529 +export const T3529: PageConfig = { + collections: generalWithMultiLevelM2mFields, + pageSchema: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'Page', + properties: { + '5i47muli5of': { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'Grid', + 'x-initializer': 'BlockInitializers', + properties: { + l62athlwjbe: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'Grid.Row', + properties: { + gv12rstt0n6: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'Grid.Col', + properties: { + '44sjepqege8': { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-decorator': 'TableBlockProvider', + 'x-acl-action': 'general:list', + 'x-decorator-props': { + collection: 'general', + dataSource: 'main', + resource: 'general', + action: 'list', + params: { + pageSize: 20, + }, + rowKey: 'id', + showIndex: true, + dragSort: false, + disableTemplate: false, + }, + 'x-toolbar': 'BlockSchemaToolbar', + 'x-settings': 'blockSettings:table', + 'x-component': 'CardItem', + 'x-filter-targets': [], + properties: { + actions: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-initializer': 'TableActionInitializers', + 'x-component': 'ActionBar', + 'x-component-props': { + style: { + marginBottom: 'var(--nb-spacing)', + }, + }, + 'x-uid': 'gcqzwfc98cz', + 'x-async': false, + 'x-index': 1, + }, + cndkuudjlrn: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'array', + 'x-initializer': 'TableColumnInitializers', + 'x-component': 'TableV2', + 'x-component-props': { + rowKey: 'id', + rowSelection: { + type: 'checkbox', + }, + useProps: '{{ useTableBlockProps }}', + }, + properties: { + actions: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + title: '{{ t("Actions") }}', + 'x-action-column': 'actions', + 'x-decorator': 'TableV2.Column.ActionBar', + 'x-component': 'TableV2.Column', + 'x-designer': 'TableV2.ActionColumnDesigner', + 'x-initializer': 'TableActionColumnInitializers', + properties: { + '7glkmum3znh': { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-decorator': 'DndContext', + 'x-component': 'Space', + 'x-component-props': { + split: '|', + }, + properties: { + '34feo0sq1b1': { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + title: '{{ t("View") }}', + 'x-action': 'view', + 'x-toolbar': 'ActionSchemaToolbar', + 'x-settings': 'actionSettings:view', + 'x-component': 'Action.Link', + 'x-component-props': { + openMode: 'drawer', + }, + 'x-decorator': 'ACLActionProvider', + 'x-designer-props': { + linkageAction: true, + }, + properties: { + drawer: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + title: '{{ t("View record") }}', + 'x-component': 'Action.Container', + 'x-component-props': { + className: 'nb-action-popup', + }, + properties: { + tabs: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'Tabs', + 'x-component-props': {}, + 'x-initializer': 'TabPaneInitializers', + properties: { + tab1: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + title: '{{t("Details")}}', + 'x-component': 'Tabs.TabPane', + 'x-designer': 'Tabs.Designer', + 'x-component-props': {}, + properties: { + grid: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'Grid', + 'x-initializer': 'RecordBlockInitializers', + properties: { + '5ubuvb82lbu': { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'Grid.Row', + properties: { + pe6vly71p50: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'Grid.Col', + properties: { + ls6i68y4q5r: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-acl-action-props': { + skipScopeCheck: true, + }, + 'x-acl-action': 'general.m2mField0:create', + 'x-decorator': 'FormBlockProvider', + 'x-decorator-props': { + useSourceId: '{{ useSourceIdFromParentRecord }}', + useParams: '{{ useParamsFromRecord }}', + action: null, + dataSource: 'main', + resource: 'general.m2mField0', + collection: 'm2mField1', + association: 'general.m2mField0', + }, + 'x-toolbar': 'BlockSchemaToolbar', + 'x-settings': 'blockSettings:createForm', + 'x-component': 'CardItem', + 'x-component-props': {}, + properties: { + '4g1wyduvzzq': { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'FormV2', + 'x-component-props': { + useProps: '{{ useFormBlockProps }}', + }, + properties: { + grid: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'Grid', + 'x-initializer': 'FormItemInitializers', + 'x-uid': 'aigmsbzdyeb', + 'x-async': false, + 'x-index': 1, + }, + v5tx6a8ya3q: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-initializer': 'CreateFormActionInitializers', + 'x-component': 'ActionBar', + 'x-component-props': { + layout: 'one-column', + style: { + marginTop: 24, + }, + }, + properties: { + dhmchgjzu2d: { + _isJSONSchemaObject: true, + version: '2.0', + title: '{{ t("Submit") }}', + 'x-action': 'submit', + 'x-component': 'Action', + 'x-toolbar': 'ActionSchemaToolbar', + 'x-settings': 'actionSettings:createSubmit', + 'x-component-props': { + type: 'primary', + htmlType: 'submit', + useProps: '{{ useCreateActionProps }}', + }, + 'x-action-settings': { + triggerWorkflows: [], + }, + type: 'void', + 'x-uid': 'bgi90aunfbx', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': '6m4zb9wz65e', + 'x-async': false, + 'x-index': 2, + }, + }, + 'x-uid': 'sbl64rh18y4', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'z76kadyn2d8', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'kb89ln0xf6j', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'zyqb93i3dfg', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'zxthz54u0wr', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': '4vis0296ryj', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'p23nq2w7s15', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'zaqeevlcwap', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'r1tzkph9sg3', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': '2k7344qkff4', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'jozmqdix3a6', + 'x-async': false, + 'x-index': 1, + }, + exdcwiv8fnb: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-decorator': 'TableV2.Column.Decorator', + 'x-toolbar': 'TableColumnSchemaToolbar', + 'x-settings': 'fieldSettings:TableColumn', + 'x-component': 'TableV2.Column', + properties: { + m2mField0: { + _isJSONSchemaObject: true, + version: '2.0', + 'x-collection-field': 'general.m2mField0', + 'x-component': 'CollectionField', + 'x-component-props': { + fieldNames: { + value: 'id', + label: 'id', + }, + ellipsis: true, + size: 'small', + }, + 'x-read-pretty': true, + 'x-decorator': null, + 'x-decorator-props': { + labelStyle: { + display: 'none', + }, + }, + 'x-uid': 'gzktad04dhq', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'fulrpp42vr2', + 'x-async': false, + 'x-index': 2, + }, + }, + 'x-uid': '6rucf9up8f4', + 'x-async': false, + 'x-index': 2, + }, + }, + 'x-uid': 'izfl6h66ch4', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'i8m1l6l6qg5', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'v0y71zujt89', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'vpa330z2xp5', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'l4kzvh7mdoa', + 'x-async': true, + 'x-index': 1, + }, +}; diff --git a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/oneToMany/schemaSettings.test.ts b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/oneToMany/schemaSettings.test.ts index b5f74d374..b162e858e 100644 --- a/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/oneToMany/schemaSettings.test.ts +++ b/packages/plugins/@nocobase/plugin-collection-manager/src/client/__e2e__/fields/oneToMany/schemaSettings.test.ts @@ -496,23 +496,16 @@ test.describe('form item & view form', () => { }); }); - test('field component', async ({ page, mockPage, mockRecords }) => { - await (async (mockPage, mockRecords) => { - const nocoPage = await mockPage(oneTableBlockWithAddNewAndViewAndEditAndAssociationFields).waitForInit(); - const record = (await mockRecords('general', 1))[0]; - await nocoPage.goto(); + test('field component', async ({ page, mockPage, mockRecord }) => { + const nocoPage = await mockPage(oneTableBlockWithAddNewAndViewAndEditAndAssociationFields).waitForInit(); + await mockRecord('general'); + await nocoPage.goto(); - return record; - })(mockPage, mockRecords); - await (async (page: Page) => { - await page.getByLabel('action-Action.Link-View record-view-general-table-0').click(); - })(page); - await (async (page: Page, fieldName: string) => { - await page.getByLabel(`block-item-CollectionField-general-form-general.${fieldName}-${fieldName}`).hover(); - await page - .getByLabel(`designer-schema-settings-CollectionField-FormItem.Designer-general-general.${fieldName}`) - .hover(); - })(page, 'oneToMany'); + await page.getByLabel('action-Action.Link-View record-view-general-table-0').click(); + await page.getByLabel(`block-item-CollectionField-general-form-general.oneToMany-oneToMany`).hover(); + await page + .getByLabel(`designer-schema-settings-CollectionField-FormItem.Designer-general-general.oneToMany`) + .hover(); await page.getByRole('menuitem', { name: 'Field component' }).click(); // 断言支持的选项 From f68b2fb04a9a85ad262a883809886699f4732fd0 Mon Sep 17 00:00:00 2001 From: Junyi Date: Wed, 13 Mar 2024 10:23:08 +0800 Subject: [PATCH 6/8] refactor(client): add component to support data source select (#3691) --- .../src/collection-manager/action-hooks.ts | 8 +- .../client/src/collection-manager/index.tsx | 1 + .../client/src/collection-manager/utils.ts | 16 +++ packages/core/client/src/locale/zh-CN.json | 2 +- .../collection-select/CollectionSelect.tsx | 126 +++++++++++++++--- .../core/data-source-manager/src/index.ts | 1 + .../core/data-source-manager/src/utils.ts | 9 ++ 7 files changed, 142 insertions(+), 21 deletions(-) create mode 100644 packages/core/client/src/collection-manager/utils.ts create mode 100644 packages/core/data-source-manager/src/utils.ts diff --git a/packages/core/client/src/collection-manager/action-hooks.ts b/packages/core/client/src/collection-manager/action-hooks.ts index 2d459d877..d7b6b0418 100644 --- a/packages/core/client/src/collection-manager/action-hooks.ts +++ b/packages/core/client/src/collection-manager/action-hooks.ts @@ -132,10 +132,10 @@ export const useSelfAndChildrenCollections = (collectionName: string) => { return options; }; -export const useCollectionFilterOptions = (collection: any) => { +export const useCollectionFilterOptions = (collection: any, dataSource?: string) => { const { getCollectionFields, getInterface } = useCollectionManager_deprecated(); return useMemo(() => { - const fields = getCollectionFields(collection); + const fields = getCollectionFields(collection, dataSource); const field2option = (field, depth) => { if (!field.interface) { return; @@ -165,7 +165,7 @@ export const useCollectionFilterOptions = (collection: any) => { option['children'] = children; } if (nested) { - const targetFields = getCollectionFields(field.target); + const targetFields = getCollectionFields(field.target, dataSource); const options = getOptions(targetFields, depth + 1).filter(Boolean); option['children'] = option['children'] || []; option['children'].push(...options); @@ -184,7 +184,7 @@ export const useCollectionFilterOptions = (collection: any) => { }; const options = getOptions(fields, 1); return options; - }, [_.isString(collection) ? collection : collection?.name]); + }, [_.isString(collection) ? collection : collection?.name, dataSource]); }; export const useCollectionFilterOptionsV2 = (collection: any) => { diff --git a/packages/core/client/src/collection-manager/index.tsx b/packages/core/client/src/collection-manager/index.tsx index b6a07d48d..ce636b4df 100644 --- a/packages/core/client/src/collection-manager/index.tsx +++ b/packages/core/client/src/collection-manager/index.tsx @@ -25,3 +25,4 @@ export * from './collectionPlugin'; export * from './mixins/InheritanceCollectionMixin'; export * from './sub-table'; export * from './CollectionHistoryProvider'; +export * from './utils'; diff --git a/packages/core/client/src/collection-manager/utils.ts b/packages/core/client/src/collection-manager/utils.ts new file mode 100644 index 000000000..392a01bd2 --- /dev/null +++ b/packages/core/client/src/collection-manager/utils.ts @@ -0,0 +1,16 @@ +export function parseCollectionName(collection: string) { + if (!collection) { + return []; + } + const dataSourceCollection = collection.split(':'); + const collectionName = dataSourceCollection.pop(); + const dataSourceName = dataSourceCollection[0] ?? 'main'; + return [dataSourceName, collectionName]; +} + +export function joinCollectionName(dataSourceName: string, collectionName: string) { + if (!dataSourceName || dataSourceName === 'main') { + return collectionName; + } + return `${dataSourceName}:${collectionName}`; +} diff --git a/packages/core/client/src/locale/zh-CN.json b/packages/core/client/src/locale/zh-CN.json index 96591b4b7..d0d907b5b 100644 --- a/packages/core/client/src/locale/zh-CN.json +++ b/packages/core/client/src/locale/zh-CN.json @@ -851,7 +851,7 @@ "loading": "加载中", "name is required": "名称不能为空", "The {{type}} \"{{name}}\" may have been deleted. Please remove this {{blockType}}.": "{{type}} \"{{name}}\" 可能已被删除。请删除当前{{blockType}}.", - "data source": "数据源", + "Data source": "数据源", "DataSource": "数据源", "Data model": "数据模型", "Security": "认证与安全", diff --git a/packages/core/client/src/schema-component/antd/collection-select/CollectionSelect.tsx b/packages/core/client/src/schema-component/antd/collection-select/CollectionSelect.tsx index fab0388f7..ad0dd3c14 100644 --- a/packages/core/client/src/schema-component/antd/collection-select/CollectionSelect.tsx +++ b/packages/core/client/src/schema-component/antd/collection-select/CollectionSelect.tsx @@ -1,18 +1,20 @@ import { connect, mapReadPretty, observer, useField } from '@formily/react'; -import { Select, SelectProps, Tag } from 'antd'; -import React, { useContext } from 'react'; +import { Cascader, Select, SelectProps, Tag } from 'antd'; +import React, { useCallback, useContext, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; import { useSelfAndChildrenCollections } from '../../../collection-manager/action-hooks'; import { useCollection_deprecated, useCollectionManager_deprecated } from '../../../collection-manager/hooks'; import { useCompile } from '../../hooks'; import { FilterContext } from '../filter/context'; +import { useDataSourceManager } from '../../../data-source'; +import { parseCollectionName } from '../../../collection-manager'; export type CollectionSelectProps = SelectProps & { filter?: (item: any, index: number, array: any[]) => boolean; isTableOid?: boolean; }; -function useOptions({ filter, isTableOid }: CollectionSelectProps) { +function useCollectionOptions({ filter, isTableOid }: CollectionSelectProps) { const compile = useCompile(); const field: any = useField(); const ctx: any = useContext(FilterContext); @@ -29,20 +31,30 @@ function useOptions({ filter, isTableOid }: CollectionSelectProps) { typeof filter === 'function' ? ((inheritCollections || currentCollections) as any[]).filter(filter) : inheritCollections || currentCollections; - return filtered - .filter((item) => !item.hidden) - .map((item) => ({ - label: compile(item.title || item.label), - value: item.name || item.value, - color: item.category?.color, - })); + return useMemo( + () => + filtered + .filter((item) => !item.hidden) + .map((item) => ({ + label: compile(item.title || item.label), + value: item.name || item.value, + color: item.category?.color, + })), + [filtered], + ); } export const CollectionSelect = connect( (props: CollectionSelectProps) => { const { filter, ...others } = props; - const options = useOptions(props); + const options = useCollectionOptions(props); const { t } = useTranslation(); + const optionFilter = useCallback( + (input, option) => + (option?.label.toLowerCase() ?? '').includes(input.toLocaleLowerCase()) || + (option?.value.toString().toLowerCase() ?? '').includes(input.toLocaleLowerCase()), + [], + ); return ( + ); +}); + +export const DataSourceCollectionCascader = connect((props) => { + const dataSourceManager = useDataSourceManager(); + const compile = useCompile(); + const { value, onChange, dataSourceFilter, collectionFilter, ...others } = props; + const [dataSourceName, collectionName] = parseCollectionName(value); + const path = [dataSourceName, collectionName].filter(Boolean); + const dataSources = dataSourceManager.getDataSources(); + + const options = useMemo(() => { + return (dataSourceFilter ? dataSources.filter(dataSourceFilter) : dataSources).map((dataSource) => { + return { + label: compile(dataSource.displayName), + value: dataSource.key, + children: dataSource.collectionManager.collectionInstancesArr + .filter(collectionFilter ?? ((collection) => !collection.hidden)) + .map((collection) => { + return { + label: compile(collection.title), + value: collection.name, + }; + }), + }; + }); + }, [dataSources, dataSourceFilter, collectionFilter]); + + const handleChange = useCallback( + (value) => { + if (!value) { + return onChange(value); + } + onChange(value[0] === 'main' ? value[1] : value.join(':')); + }, + [onChange], + ); + return ; +}); diff --git a/packages/core/data-source-manager/src/index.ts b/packages/core/data-source-manager/src/index.ts index 3abc107ee..a7aec23a1 100644 --- a/packages/core/data-source-manager/src/index.ts +++ b/packages/core/data-source-manager/src/index.ts @@ -9,3 +9,4 @@ export * from './load-default-actions'; export * from './types'; export * from './data-source-with-database'; +export * from './utils'; diff --git a/packages/core/data-source-manager/src/utils.ts b/packages/core/data-source-manager/src/utils.ts new file mode 100644 index 000000000..79eec06f6 --- /dev/null +++ b/packages/core/data-source-manager/src/utils.ts @@ -0,0 +1,9 @@ +export function parseCollectionName(collection: string) { + if (!collection) { + return []; + } + const dataSourceCollection = collection.split(':'); + const collectionName = dataSourceCollection.pop(); + const dataSourceName = dataSourceCollection[0] ?? 'main'; + return [dataSourceName, collectionName]; +} From 4015cf1c0d92e3dec81a122661fc064ffab83ff8 Mon Sep 17 00:00:00 2001 From: Junyi Date: Wed, 13 Mar 2024 11:42:00 +0800 Subject: [PATCH 7/8] fix(plugin-workflow): fix duplicated triggering schedule event (#3692) --- .../server/triggers/ScheduleTrigger/DateFieldScheduleTrigger.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/DateFieldScheduleTrigger.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/DateFieldScheduleTrigger.ts index 4682e7a3e..66e2e8047 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/DateFieldScheduleTrigger.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/DateFieldScheduleTrigger.ts @@ -358,7 +358,7 @@ export default class ScheduleTrigger { } const { collection } = workflow.config; - const event = `${collection}.afterSave`; + const event = `${collection}.afterSaveWithAssociations`; const name = getHookId(workflow, event); if (this.events.has(name)) { const listener = this.events.get(name); From c7cfeec6a191055c0ec65d15a43fd593a197005e Mon Sep 17 00:00:00 2001 From: katherinehhh Date: Wed, 13 Mar 2024 12:07:45 +0800 Subject: [PATCH 8/8] feat: add uuid & nanoid & unitTimestamp interface (#3684) * refactor: select & radio compoent supports multiple type of value * fix: ridio test * feat: uuid & nanoid & snowflake interface * refactor: delete snowflake * feat: nanoid field type (#3685) * refactor: add child in inheritance of tree collection (#3676) * refactor: add child in inheritance of tree collection * refactor: add child in inheritance of tree collection * style: style improve * feat: nanoid field * chore: nanoid field type map --------- Co-authored-by: katherinehhh * chore: nanoid options * refactor: unixTimestamp * fix: test * refactor: unixTimestamp * refactor: unixTimestamp * refactor: locale imrove * refactor: local improve * refactor: nanoIDInput * refactor: nanoIDInput * refactor: nanoIDInput * refactor: unixTimestamp * refactor: nanoIDInput * fix: test --------- Co-authored-by: ChengLei Shao --- .../collection-manager/collectionPlugin.ts | 6 ++ .../collection-manager/interfaces/index.ts | 3 + .../collection-manager/interfaces/nanoid.ts | 56 +++++++++++++++++++ .../interfaces/unixTimestamp.tsx | 42 ++++++++++++++ .../src/collection-manager/interfaces/uuid.ts | 44 +++++++++++++++ packages/core/client/src/locale/zh-CN.json | 9 ++- .../unixTimestampComponentFieldSettings.tsx | 22 ++++++++ .../antd/date-picker/DatePicker.tsx | 1 + .../client/src/schema-component/antd/index.ts | 2 + .../antd/nanoIDInput/NanoIDInput.tsx | 46 +++++++++++++++ .../antd/nanoIDInput/index.tsx | 1 + .../src/schema-component/antd/radio/Radio.tsx | 14 ++++- .../antd/radio/demos/demo2.tsx | 4 +- .../antd/radio/demos/demo3.tsx | 4 +- .../schema-component/antd/select/Select.tsx | 2 +- .../src/schema-component/antd/select/utils.ts | 5 +- .../antd/unixTimestamp/UnixTimestamp.tsx | 49 ++++++++++++++++ .../antd/unixTimestamp/index.tsx | 1 + .../schema-settings/SchemaSettingsPlugin.ts | 3 + .../src/__tests__/fields/nanoid-field.test.ts | 39 +++++++++++++ packages/core/database/src/fields/index.ts | 3 + .../core/database/src/fields/nanoid-field.ts | 40 +++++++++++++ .../core/database/src/view/field-type-map.ts | 15 ++--- 23 files changed, 394 insertions(+), 17 deletions(-) create mode 100644 packages/core/client/src/collection-manager/interfaces/nanoid.ts create mode 100644 packages/core/client/src/collection-manager/interfaces/unixTimestamp.tsx create mode 100644 packages/core/client/src/collection-manager/interfaces/uuid.ts create mode 100644 packages/core/client/src/modules/fields/component/UnixTimestamp/unixTimestampComponentFieldSettings.tsx create mode 100644 packages/core/client/src/schema-component/antd/nanoIDInput/NanoIDInput.tsx create mode 100644 packages/core/client/src/schema-component/antd/nanoIDInput/index.tsx create mode 100644 packages/core/client/src/schema-component/antd/unixTimestamp/UnixTimestamp.tsx create mode 100644 packages/core/client/src/schema-component/antd/unixTimestamp/index.tsx create mode 100644 packages/core/database/src/__tests__/fields/nanoid-field.test.ts create mode 100644 packages/core/database/src/fields/nanoid-field.ts diff --git a/packages/core/client/src/collection-manager/collectionPlugin.ts b/packages/core/client/src/collection-manager/collectionPlugin.ts index 913ef22db..93b0bf2b0 100644 --- a/packages/core/client/src/collection-manager/collectionPlugin.ts +++ b/packages/core/client/src/collection-manager/collectionPlugin.ts @@ -40,6 +40,9 @@ import { UpdatedByFieldInterface, UrlFieldInterface, SortFieldInterface, + UUIDFieldInterface, + NanoidFieldInterface, + UnixTimestampFieldInterface, } from './interfaces'; import { GeneralCollectionTemplate, @@ -155,6 +158,9 @@ export class CollectionPlugin extends Plugin { UpdatedByFieldInterface, UrlFieldInterface, SortFieldInterface, + UUIDFieldInterface, + NanoidFieldInterface, + UnixTimestampFieldInterface, ]); } diff --git a/packages/core/client/src/collection-manager/interfaces/index.ts b/packages/core/client/src/collection-manager/interfaces/index.ts index 10a1672cb..f1a10caed 100644 --- a/packages/core/client/src/collection-manager/interfaces/index.ts +++ b/packages/core/client/src/collection-manager/interfaces/index.ts @@ -34,3 +34,6 @@ export * from './updatedAt'; export * from './updatedBy'; export * from './url'; export * from './sort'; +export * from './uuid'; +export * from './nanoid'; +export * from './unixTimestamp'; diff --git a/packages/core/client/src/collection-manager/interfaces/nanoid.ts b/packages/core/client/src/collection-manager/interfaces/nanoid.ts new file mode 100644 index 000000000..adfd59fa2 --- /dev/null +++ b/packages/core/client/src/collection-manager/interfaces/nanoid.ts @@ -0,0 +1,56 @@ +import { CollectionFieldInterface } from '../../data-source/collection-field-interface/CollectionFieldInterface'; +import { operators } from './properties'; +export class NanoidFieldInterface extends CollectionFieldInterface { + name = 'nanoid'; + type = 'object'; + group = 'advanced'; + order = 0; + title = '{{t("Nano ID")}}'; + hidden = false; + sortable = true; + default = { + type: 'nanoid', + uiSchema: { + type: 'string', + 'x-component': 'NanoIDInput', + }, + }; + availableTypes = ['string', 'uid']; + properties = { + 'uiSchema.title': { + type: 'string', + title: '{{t("Field display name")}}', + required: true, + 'x-decorator': 'FormItem', + 'x-component': 'Input', + }, + name: { + type: 'string', + title: '{{t("Field name")}}', + required: true, + 'x-disabled': true, + 'x-decorator': 'FormItem', + 'x-component': 'Input', + description: + "{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.')}}", + }, + customAlphabet: { + type: 'string', + title: '{{t("Alphabet")}}', + default: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', + 'x-decorator': 'FormItem', + 'x-component': 'Input', + }, + size: { + type: 'number', + title: '{{t("Length")}}', + default: 21, + 'x-decorator': 'FormItem', + 'x-component': 'InputNumber', + }, + }; + filterable = { + operators: operators.string, + }; + titleUsable = true; +} diff --git a/packages/core/client/src/collection-manager/interfaces/unixTimestamp.tsx b/packages/core/client/src/collection-manager/interfaces/unixTimestamp.tsx new file mode 100644 index 000000000..f2de2f355 --- /dev/null +++ b/packages/core/client/src/collection-manager/interfaces/unixTimestamp.tsx @@ -0,0 +1,42 @@ +import { CollectionFieldInterface } from '../../data-source/collection-field-interface/CollectionFieldInterface'; +import { dateTimeProps, defaultProps, operators } from './properties'; + +export class UnixTimestampFieldInterface extends CollectionFieldInterface { + name = 'unixTimestamp'; + type = 'object'; + group = 'datetime'; + order = 1; + title = '{{t("Unix Timestamp")}}'; + sortable = true; + default = { + type: 'bigInt', + uiSchema: { + type: 'number', + 'x-component': 'UnixTimestamp', + 'x-component-props': { + accuracy: 'millisecond', + showTime: true, + }, + }, + }; + availableTypes = ['integet', 'bigInt']; + hasDefaultValue = true; + properties = { + ...defaultProps, + 'uiSchema.x-component-props.accuracy': { + type: 'string', + title: '{{t("Accuracy")}}', + 'x-component': 'Radio.Group', + 'x-decorator': 'FormItem', + default: 'millisecond', + enum: [ + { value: 'millisecond', label: '{{t("Millisecond")}}' }, + { value: 'second', label: '{{t("Second")}}' }, + ], + }, + }; + filterable = { + operators: operators.number, + }; + titleUsable = true; +} diff --git a/packages/core/client/src/collection-manager/interfaces/uuid.ts b/packages/core/client/src/collection-manager/interfaces/uuid.ts new file mode 100644 index 000000000..f54be0b34 --- /dev/null +++ b/packages/core/client/src/collection-manager/interfaces/uuid.ts @@ -0,0 +1,44 @@ +import { CollectionFieldInterface } from '../../data-source/collection-field-interface/CollectionFieldInterface'; +import { operators } from './properties'; + +export class UUIDFieldInterface extends CollectionFieldInterface { + name = 'uuid'; + type = 'object'; + group = 'advanced'; + order = 0; + title = '{{t("UUID")}}'; + hidden = false; + sortable = true; + default = { + type: 'uuid', + uiSchema: { + type: 'string', + 'x-component': 'Input', + 'x-validator': 'uuid', + }, + }; + availableTypes = ['string', 'uid']; + properties = { + 'uiSchema.title': { + type: 'string', + title: '{{t("Field display name")}}', + required: true, + 'x-decorator': 'FormItem', + 'x-component': 'Input', + }, + name: { + type: 'string', + title: '{{t("Field name")}}', + required: true, + 'x-disabled': true, + 'x-decorator': 'FormItem', + 'x-component': 'Input', + description: + "{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.')}}", + }, + }; + filterable = { + operators: operators.string, + }; + titleUsable = true; +} diff --git a/packages/core/client/src/locale/zh-CN.json b/packages/core/client/src/locale/zh-CN.json index d0d907b5b..13f2b191e 100644 --- a/packages/core/client/src/locale/zh-CN.json +++ b/packages/core/client/src/locale/zh-CN.json @@ -891,5 +891,12 @@ "Owners": "负责人", "Plugin settings": "插件设置", "Menu": "菜单", - "Drag and drop sorting field": "拖拽排序字段" + "Drag and drop sorting field": "拖拽排序字段", + "Alphabet": "字符", + "Accuracy": "精确度", + "Millisecond": "毫秒", + "Second": "秒", + "Unix Timestamp": "Unix 时间戳", + "Field value do not meet the requirements": "字符不符合要求", + "Field value size is": "字符长度要求" } diff --git a/packages/core/client/src/modules/fields/component/UnixTimestamp/unixTimestampComponentFieldSettings.tsx b/packages/core/client/src/modules/fields/component/UnixTimestamp/unixTimestampComponentFieldSettings.tsx new file mode 100644 index 000000000..5bc587c9d --- /dev/null +++ b/packages/core/client/src/modules/fields/component/UnixTimestamp/unixTimestampComponentFieldSettings.tsx @@ -0,0 +1,22 @@ +import { useFieldSchema } from '@formily/react'; +import { SchemaSettings } from '../../../../application/schema-settings/SchemaSettings'; +import { SchemaSettingsDateFormat } from '../../../../schema-settings/SchemaSettingsDateFormat'; +import { useColumnSchema } from '../../../../schema-component/antd/table-v2/Table.Column.Decorator'; + +export const unixTimestampComponentFieldSettings = new SchemaSettings({ + name: 'fieldSettings:component:UnixTimestamp', + items: [ + { + name: 'dateDisplayFormat', + Component: SchemaSettingsDateFormat as any, + useComponentProps() { + const schema = useFieldSchema(); + const { fieldSchema: tableColumnSchema } = useColumnSchema(); + const fieldSchema = tableColumnSchema || schema; + return { + fieldSchema, + }; + }, + }, + ], +}); diff --git a/packages/core/client/src/schema-component/antd/date-picker/DatePicker.tsx b/packages/core/client/src/schema-component/antd/date-picker/DatePicker.tsx index 60dfe93bf..6430eddb6 100644 --- a/packages/core/client/src/schema-component/antd/date-picker/DatePicker.tsx +++ b/packages/core/client/src/schema-component/antd/date-picker/DatePicker.tsx @@ -38,6 +38,7 @@ const InternalRangePicker = connect( export const DatePicker = (props) => { const { utc = true } = useDatePickerContext(); const value = Array.isArray(props.value) ? props.value[0] : props.value; + console.log(value); props = { utc, ...props }; return ; }; diff --git a/packages/core/client/src/schema-component/antd/index.ts b/packages/core/client/src/schema-component/antd/index.ts index 9e75092e1..e03080bde 100644 --- a/packages/core/client/src/schema-component/antd/index.ts +++ b/packages/core/client/src/schema-component/antd/index.ts @@ -50,5 +50,7 @@ export * from './time-picker'; export * from './tree-select'; export * from './upload'; export * from './variable'; +export * from './unixTimestamp'; +export * from './nanoIDInput'; import './index.less'; diff --git a/packages/core/client/src/schema-component/antd/nanoIDInput/NanoIDInput.tsx b/packages/core/client/src/schema-component/antd/nanoIDInput/NanoIDInput.tsx new file mode 100644 index 000000000..648cb411e --- /dev/null +++ b/packages/core/client/src/schema-component/antd/nanoIDInput/NanoIDInput.tsx @@ -0,0 +1,46 @@ +import { customAlphabet as Alphabet } from 'nanoid'; +import React, { useEffect } from 'react'; +import { LoadingOutlined } from '@ant-design/icons'; +import { connect, mapProps, mapReadPretty, useForm } from '@formily/react'; +import { Input as AntdInput } from 'antd'; +import { ReadPretty } from '../input'; +import { useCollectionField } from '../../../data-source/collection-field/CollectionFieldProvider'; +import { useTranslation } from 'react-i18next'; + +export const NanoIDInput = Object.assign( + connect( + AntdInput, + mapProps((props: any, field: any) => { + const { size, customAlphabet } = useCollectionField(); + const { t } = useTranslation(); + const form = useForm(); + function isValidNanoid(value) { + if (value.length !== size) { + return t('Field value size is') + ` ${size}`; + } + for (let i = 0; i < value.length; i++) { + if (customAlphabet.indexOf(value[i]) === -1) { + return t(`Field value do not meet the requirements`); + } + } + } + + useEffect(() => { + if (!field.initialValue) { + field.setInitialValue(Alphabet(customAlphabet, size)()); + } + form.setFieldState(field.props.name, (state) => { + state.validator = isValidNanoid; + }); + }, []); + return { + ...props, + suffix: {field?.['loading'] || field?.['validating'] ? : props.suffix}, + }; + }), + mapReadPretty(ReadPretty.Input), + ), + { + ReadPretty: ReadPretty.Input, + }, +); diff --git a/packages/core/client/src/schema-component/antd/nanoIDInput/index.tsx b/packages/core/client/src/schema-component/antd/nanoIDInput/index.tsx new file mode 100644 index 000000000..7381a29c0 --- /dev/null +++ b/packages/core/client/src/schema-component/antd/nanoIDInput/index.tsx @@ -0,0 +1 @@ +export * from './NanoIDInput'; diff --git a/packages/core/client/src/schema-component/antd/radio/Radio.tsx b/packages/core/client/src/schema-component/antd/radio/Radio.tsx index eb0b165e6..7ff5cf6e8 100644 --- a/packages/core/client/src/schema-component/antd/radio/Radio.tsx +++ b/packages/core/client/src/schema-component/antd/radio/Radio.tsx @@ -21,9 +21,17 @@ Radio.__ANT_RADIO = true; Radio.Group = connect( AntdRadio.Group, - mapProps({ - dataSource: 'options', - }), + mapProps( + { + dataSource: 'options', + }, + (props) => { + return { + ...props, + value: props.value && typeof props.value !== 'boolean' ? props.value.toString() : props.value, + }; + }, + ), mapReadPretty((props) => { if (!isValid(props.value)) { return
; diff --git a/packages/core/client/src/schema-component/antd/radio/demos/demo2.tsx b/packages/core/client/src/schema-component/antd/radio/demos/demo2.tsx index c99560caa..849f98879 100644 --- a/packages/core/client/src/schema-component/antd/radio/demos/demo2.tsx +++ b/packages/core/client/src/schema-component/antd/radio/demos/demo2.tsx @@ -9,11 +9,11 @@ import React from 'react'; const options = [ { label: '男', - value: 1, + value: '1', }, { label: '女', - value: 2, + value: '2', }, ]; diff --git a/packages/core/client/src/schema-component/antd/radio/demos/demo3.tsx b/packages/core/client/src/schema-component/antd/radio/demos/demo3.tsx index ed086d49b..e9ca3c293 100644 --- a/packages/core/client/src/schema-component/antd/radio/demos/demo3.tsx +++ b/packages/core/client/src/schema-component/antd/radio/demos/demo3.tsx @@ -8,12 +8,12 @@ import React from 'react'; const options = [ { label: '男', - value: 1, + value: '1', color: 'blue', }, { label: '女', - value: 2, + value: '2', color: 'red', }, ]; diff --git a/packages/core/client/src/schema-component/antd/select/Select.tsx b/packages/core/client/src/schema-component/antd/select/Select.tsx index 3d9784817..9207a1bc7 100644 --- a/packages/core/client/src/schema-component/antd/select/Select.tsx +++ b/packages/core/client/src/schema-component/antd/select/Select.tsx @@ -122,7 +122,7 @@ const InternalSelect = connect( } return undefined; } - return v; + return v ? v.toString() : v; }; return ( v[fieldNames.value] === value) || { value, label: value }; + const option = options.find((v) => v[fieldNames.value] == value) || { + value, + label: value ? value.toString() : value, + }; current.push(option); } return current; diff --git a/packages/core/client/src/schema-component/antd/unixTimestamp/UnixTimestamp.tsx b/packages/core/client/src/schema-component/antd/unixTimestamp/UnixTimestamp.tsx new file mode 100644 index 000000000..4eeed12d3 --- /dev/null +++ b/packages/core/client/src/schema-component/antd/unixTimestamp/UnixTimestamp.tsx @@ -0,0 +1,49 @@ +import { connect, mapReadPretty } from '@formily/react'; +import React, { useMemo } from 'react'; +import { DatePicker } from '../date-picker'; +import dayjs from 'dayjs'; + +const toValue = (value: any, accuracy) => { + if (value) { + return timestampToDate(value, accuracy); + } + return null; +}; + +function timestampToDate(timestamp, accuracy = 'millisecond') { + if (accuracy === 'second') { + timestamp *= 1000; // 如果精确度是秒级,则将时间戳乘以1000转换为毫秒级 + } + return dayjs(timestamp); +} + +function getTimestamp(date, accuracy = 'millisecond') { + if (accuracy === 'second') { + return dayjs(date).unix(); + } else { + return dayjs(date).valueOf(); // 默认返回毫秒级时间戳 + } +} + +export const UnixTimestamp = connect( + (props) => { + const { value, onChange, accuracy } = props; + const v = useMemo(() => toValue(value, accuracy), [value]); + return ( + { + if (onChange) { + onChange(getTimestamp(v, accuracy)); + } + }} + /> + ); + }, + mapReadPretty((props) => { + const { value, accuracy } = props; + const v = useMemo(() => toValue(value, accuracy), [value]); + return ; + }), +); diff --git a/packages/core/client/src/schema-component/antd/unixTimestamp/index.tsx b/packages/core/client/src/schema-component/antd/unixTimestamp/index.tsx new file mode 100644 index 000000000..fdc2fed17 --- /dev/null +++ b/packages/core/client/src/schema-component/antd/unixTimestamp/index.tsx @@ -0,0 +1 @@ +export * from './UnixTimestamp'; diff --git a/packages/core/client/src/schema-settings/SchemaSettingsPlugin.ts b/packages/core/client/src/schema-settings/SchemaSettingsPlugin.ts index 2afec8ee8..c6db2687b 100644 --- a/packages/core/client/src/schema-settings/SchemaSettingsPlugin.ts +++ b/packages/core/client/src/schema-settings/SchemaSettingsPlugin.ts @@ -42,6 +42,7 @@ import { subformPopoverComponentFieldSettings } from '../modules/fields/componen import { selectComponentFieldSettings } from '../modules/fields/component/Select/selectComponentFieldSettings'; import { subTablePopoverComponentFieldSettings } from '../modules/fields/component/SubTable/subTablePopoverComponentFieldSettings'; import { tagComponentFieldSettings } from '../modules/fields/component/Tag/tagComponentFieldSettings'; +import { unixTimestampComponentFieldSettings } from '../modules/fields/component/UnixTimestamp/unixTimestampComponentFieldSettings'; export class SchemaSettingsPlugin extends Plugin { async load() { @@ -90,6 +91,8 @@ export class SchemaSettingsPlugin extends Plugin { this.schemaSettingsManager.add(subformPopoverComponentFieldSettings); this.schemaSettingsManager.add(subTablePopoverComponentFieldSettings); this.schemaSettingsManager.add(datePickerComponentFieldSettings); + this.schemaSettingsManager.add(unixTimestampComponentFieldSettings); + this.schemaSettingsManager.add(fileManagerComponentFieldSettings); this.schemaSettingsManager.add(tagComponentFieldSettings); this.schemaSettingsManager.add(cascadeSelectComponentFieldSettings); diff --git a/packages/core/database/src/__tests__/fields/nanoid-field.test.ts b/packages/core/database/src/__tests__/fields/nanoid-field.test.ts new file mode 100644 index 000000000..84c4be459 --- /dev/null +++ b/packages/core/database/src/__tests__/fields/nanoid-field.test.ts @@ -0,0 +1,39 @@ +import { mockDatabase } from '../'; +import { Database } from '../../database'; + +describe('nanoid field', () => { + let db: Database; + + beforeEach(async () => { + db = mockDatabase(); + await db.clean({ drop: true }); + }); + + afterEach(async () => { + await db.close(); + }); + + it('should create nanoid field type', async () => { + const Test = db.collection({ + name: 'tests', + autoGenId: false, + fields: [ + { + type: 'nanoid', + name: 'id', + primaryKey: true, + size: 21, + customAlphabet: '1234567890abcdef', + }, + { + type: 'nanoid', + name: 'id2', + }, + ], + }); + await Test.sync(); + const test = await Test.model.create(); + expect(test.id).toHaveLength(21); + expect(test.id2).toHaveLength(12); + }); +}); diff --git a/packages/core/database/src/fields/index.ts b/packages/core/database/src/fields/index.ts index 264140a24..eb630051d 100644 --- a/packages/core/database/src/fields/index.ts +++ b/packages/core/database/src/fields/index.ts @@ -25,6 +25,7 @@ import { TimeFieldOptions } from './time-field'; import { UidFieldOptions } from './uid-field'; import { UUIDFieldOptions } from './uuid-field'; import { VirtualFieldOptions } from './virtual-field'; +import { NanoidFieldOptions } from './nanoid-field'; export * from './array-field'; export * from './belongs-to-field'; @@ -48,6 +49,7 @@ export * from './time-field'; export * from './uid-field'; export * from './uuid-field'; export * from './virtual-field'; +export * from './nanoid-field'; export type FieldOptions = | BaseFieldOptions @@ -70,6 +72,7 @@ export type FieldOptions = | DateFieldOptions | UidFieldOptions | UUIDFieldOptions + | NanoidFieldOptions | PasswordFieldOptions | ContextFieldOptions | BelongsToFieldOptions diff --git a/packages/core/database/src/fields/nanoid-field.ts b/packages/core/database/src/fields/nanoid-field.ts new file mode 100644 index 000000000..78e5a0aa8 --- /dev/null +++ b/packages/core/database/src/fields/nanoid-field.ts @@ -0,0 +1,40 @@ +import { DataTypes } from 'sequelize'; +import { BaseColumnFieldOptions, Field } from './field'; +import { customAlphabet, nanoid } from 'nanoid'; + +const DEFAULT_SIZE = 12; +export class NanoidField extends Field { + get dataType() { + return DataTypes.STRING; + } + + init() { + const { name, size, customAlphabet: customAlphabetOptions } = this.options; + + this.listener = async (instance) => { + const value = instance.get(name); + if (!value) { + const nanoIdFunc = customAlphabetOptions ? customAlphabet(customAlphabetOptions) : nanoid; + instance.set(name, nanoIdFunc(size || DEFAULT_SIZE)); + } + }; + } + + bind() { + super.bind(); + this.on('beforeCreate', this.listener); + this.on('beforeUpdate', this.listener); + } + + unbind() { + super.unbind(); + this.off('beforeCreate', this.listener); + this.off('beforeUpdate', this.listener); + } +} + +export interface NanoidFieldOptions extends BaseColumnFieldOptions { + type: 'nanoid'; + size?: number; + customAlphabet?: string; +} diff --git a/packages/core/database/src/view/field-type-map.ts b/packages/core/database/src/view/field-type-map.ts index 7ca352ed3..fc2116373 100644 --- a/packages/core/database/src/view/field-type-map.ts +++ b/packages/core/database/src/view/field-type-map.ts @@ -1,9 +1,10 @@ const postgres = { - 'character varying': 'string', - varchar: 'string', + 'character varying': ['string', 'uuid', 'nanoid'], + varchar: ['string', 'uuid', 'nanoid'], + char: ['string', 'uuid', 'nanoid'], + character: 'string', text: 'text', - char: 'string', oid: 'string', name: 'string', @@ -29,7 +30,7 @@ const postgres = { path: 'json', polygon: 'json', circle: 'json', - uuid: 'string', + uuid: 'uuid', }; const mysql = { @@ -41,10 +42,10 @@ const mysql = { 'tinyint unsigned': ['integer', 'boolean', 'sort'], 'mediumint unsigned': ['integer', 'boolean', 'sort'], - char: 'string', + char: ['string', 'uuid', 'nanoid'], + varchar: ['string', 'uuid', 'nanoid'], date: 'date', time: 'time', - varchar: 'string', text: 'text', longtext: 'text', int: ['integer', 'sort'], @@ -64,7 +65,7 @@ const mysql = { const sqlite = { text: 'text', - varchar: 'string', + varchar: ['string', 'uuid', 'nanoid'], integer: 'integer', real: 'real',