From 6c39ac3538c4cdb3e4a68eb0148178dae07a0a05 Mon Sep 17 00:00:00 2001 From: chenos Date: Tue, 16 Mar 2021 14:31:54 +0800 Subject: [PATCH] Develop (#68) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor: fields/views/pages... * update * update * update * updates * updates * add yarn.lock * updates * updates * updates * updates * updates * updates * updates * updates * updates * developerMode * 一大波更新 * bugfix * fix: hide the sorting settings * fix: reload menu when menu is updated * 页面重构 * modify text * 补充细节 * system settings * 继续更新补充 * fix: 多级菜单支持 * 无限嵌套 * fix: icon * 省市区参数调整 * 表单描述、文案调整 * 支持草稿 * 邮箱登录 * 细节补充 * 菜单页面权限初步 * 详情页打开方式 * 菜单父级、草稿问题 * 描述文字 * 详情分组显示 * 状态改为 radio * 菜单权限 * 跳过省市区 api * 修复权限数据范围 * onDraft * 页面跳转 * 修改文案 * 注册、登录 * fix: 权限过滤问题 * 微调上传组件样式 * 0.4.0-alpha.0 * father-build * remove father-build * 细节调整 --- .gitignore | 1 + package.json | 5 +- packages/actions/package.json | 6 +- packages/actions/src/actions/common.ts | 12 +- packages/app/package.json | 21 +- packages/app/src/api-client.ts | 1 + packages/app/src/api/migrations/add-menus.ts | 181 + .../src/api/migrations/collections/authors.ts | 107 +- .../src/api/migrations/collections/books.ts | 71 + packages/app/src/api/migrations/init.ts | 272 +- packages/app/src/app.ts | 10 +- .../app/src/components/actions/style.less | 9 +- .../components/form.fields/cascader/index.tsx | 35 +- .../form.fields/drawer-select/index.tsx | 112 +- .../components/form.fields/filter/index.tsx | 2 +- .../form.fields/form-description/index.tsx | 8 +- .../form.fields/permissions/index.tsx | 40 +- .../src/components/form.fields/registry.ts | 5 + .../form.fields/remote-select/index.tsx | 20 +- .../form.fields/sub-table/Table.tsx | 111 +- .../components/form.fields/upload/index.tsx | 16 +- .../form.fields/virtual-table/Form.tsx | 52 + .../form.fields/virtual-table/Table.tsx | 254 + .../form.fields/virtual-table/index.tsx | 20 + .../components/form.fields/wysiwyg/index.tsx | 11 + packages/app/src/components/menu/index.tsx | 3 + .../pages/AdminLoader/Actions/index.tsx | 274 + .../pages/AdminLoader/Drawer/index.tsx | 177 + .../pages/AdminLoader/Page/index.tsx | 89 + .../pages/AdminLoader/Page/style.less | 32 + .../AdminLoader/SideMenuLayout/index.tsx | 59 + .../AdminLoader/SideMenuLayout/style.less | 21 + .../pages/AdminLoader/TopMenuLayout/index.tsx | 55 + .../AdminLoader/TopMenuLayout/logo-blue.svg | 1 + .../AdminLoader/TopMenuLayout/logo-white.svg | 7 + .../pages/AdminLoader/TopMenuLayout/logo.svg | 1 + .../AdminLoader/TopMenuLayout/style.less | 29 + .../pages/AdminLoader/View/Association.tsx | 27 + .../pages/AdminLoader/View/Descriptions.tsx | 115 + .../pages/AdminLoader/View/FilterForm.tsx | 49 + .../pages/AdminLoader/View/Form.tsx | 245 + .../pages/AdminLoader/View/SubTable.tsx | 291 + .../pages/AdminLoader/View/Table.tsx | 470 + .../pages/AdminLoader/View/Wysiwyg.tsx | 26 + .../pages/AdminLoader/View/index.tsx | 68 + .../pages/AdminLoader/View/style.less | 67 + .../components/pages/AdminLoader/index.tsx | 57 + .../pages/AdminLoader/menu/index.tsx | 91 + .../pages/AdminLoader/menu/style.less | 7 + .../components/pages/TopMenuLayout/index.tsx | 7 +- packages/app/src/components/pages/style.less | 17 + .../app/src/components/views/Field/index.tsx | 44 +- .../app/src/components/views/Form/Login.tsx | 22 +- .../src/components/views/Form/Register.tsx | 19 +- .../app/src/components/views/Form/style.less | 6 + .../components/views/SortableTable/index.tsx | 7 +- packages/app/src/global.less | 3 + packages/app/src/pages/document.ejs | 1 + packages/app/src/templates.tsx | 1 + packages/client/package.json | 2 +- packages/create-nocobase-app/package.json | 2 +- packages/database/package.json | 2 +- packages/father-build/.local | 1 - packages/father-build/.npmignore | 4 - packages/father-build/README.md | 4 - packages/father-build/bin/father-build.js | 61 - packages/father-build/package.json | 80 - packages/father-build/src/babel.ts | 238 - packages/father-build/src/build.test.ts | 54 - packages/father-build/src/build.ts | 238 - .../build/babel-browser-files/.fatherrc.js | 8 - .../expected/es/browser.js | 1 - .../babel-browser-files/expected/es/node.js | 1 - .../build/babel-browser-files/src/browser.js | 2 - .../build/babel-browser-files/src/node.js | 2 - .../build/babel-cjs-lazy/.fatherrc.js | 8 - .../fixtures/build/babel-cjs-lazy/src/foo.js | 3 - .../build/babel-cjs-lazy/src/index.js | 3 - .../.fatherrc.js | 10 - .../expected/es/index.js | 2 - .../p1.js | 20 - .../p2.js | 20 - .../preset.js | 8 - .../src/index.js | 3 - .../build/babel-importLibToEs/.fatherrc.js | 5 - .../babel-importLibToEs/expected/es/index.js | 2 - .../build/babel-importLibToEs/src/index.js | 3 - .../babel-less-to-css-forbid/.fatherrc.js | 6 - .../expected/es/foo.js | 6 - .../expected/es/foo.module.less | 3 - .../expected/es/index.less | 6 - .../build/babel-less-to-css-forbid/src/foo.js | 6 - .../src/foo.module.less | 3 - .../babel-less-to-css-forbid/src/index.less | 6 - .../build/babel-less-to-css/.fatherrc.js | 6 - .../babel-less-to-css/expected/es/foo.js | 6 - .../expected/es/foo.module.css | 3 - .../babel-less-to-css/expected/es/index.css | 3 - .../build/babel-less-to-css/src/foo.js | 6 - .../babel-less-to-css/src/foo.module.less | 3 - .../build/babel-less-to-css/src/index.less | 6 - .../build/babel-node-files/.fatherrc.js | 8 - .../babel-node-files/expected/es/browser.js | 1 - .../babel-node-files/expected/es/node.js | 1 - .../build/babel-node-files/src/browser.js | 2 - .../build/babel-node-files/src/node.js | 2 - .../build/babel-node-tsx-jsx/.fatherrc.js | 5 - .../babel-node-tsx-jsx/expected/es/B.d.ts | 1 - .../build/babel-node-tsx-jsx/expected/es/B.js | 1 - .../build/babel-node-tsx-jsx/expected/es/C.js | 1 - .../babel-node-tsx-jsx/expected/es/node.js | 1 - .../build/babel-node-tsx-jsx/src/B.tsx | 2 - .../build/babel-node-tsx-jsx/src/C.jsx | 2 - .../build/babel-node-tsx-jsx/src/node.js | 2 - .../build/babel-node-tsx-jsx/tsconfig.json | 9 - .../fixtures/build/babel-normal/.fatherrc.js | 5 - .../build/babel-normal/expected/es/foo.js | 3 - .../build/babel-normal/expected/es/index.js | 3 - .../build/babel-normal/expected/es/types.d.ts | 0 .../__test__/__snapshots__/index.test.js.snap | 1 - .../babel-normal/src/__test__/index.test.js | 1 - .../fixtures/build/babel-normal/src/bar.md | 1 - .../fixtures/build/babel-normal/src/bar.mdx | 1 - .../build/babel-normal/src/demos/foo.js | 3 - .../src/fixtures/example/package.json | 1 - .../build/babel-normal/src/foo.e2e.ts | 0 .../fixtures/build/babel-normal/src/foo.js | 4 - .../build/babel-normal/src/foo.spec.ts | 0 .../build/babel-normal/src/foo.test.js | 0 .../build/babel-normal/src/foo.test.jsx | 0 .../build/babel-normal/src/foo.test.ts | 0 .../build/babel-normal/src/foo.test.tsx | 0 .../fixtures/build/babel-normal/src/index.js | 4 - .../build/babel-normal/src/types.d.ts | 0 .../build/babel-runtimeHelpers/.fatherrc.js | 6 - .../babel-runtimeHelpers/expected/es/index.js | 21 - .../build/babel-runtimeHelpers/package.json | 5 - .../build/babel-runtimeHelpers/src/index.js | 9 - .../fixtures/build/babel-syntax/.fatherrc.js | 4 - .../build/babel-syntax/expected/index.esm.js | 84 - .../fixtures/build/babel-syntax/package.json | 5 - .../src/fixtures/build/babel-syntax/src/a.js | 4 - .../src/fixtures/build/babel-syntax/src/b.js | 8 - .../fixtures/build/babel-syntax/src/index.js | 32 - .../build/babel-ts-3.7-features/.fatherrc.js | 4 - .../expected/es/index.d.ts | 2 - .../expected/es/index.js | 6 - .../build/babel-ts-3.7-features/src/index.ts | 11 - .../.fatherrc.js | 6 - .../expected/es/index.js | 3 - .../src/index.ts | 7 - .../tsconfig.json | 8 - .../babel-typescript-template/.fatherrc.js | 5 - .../expected/es/index.d.ts | 5 - .../expected/es/index.js | 3 - .../babel-typescript-template/src/index.ts | 7 - .../build/babel-typescript/.fatherrc.js | 5 - .../babel-typescript/expected/es/index.d.ts | 5 - .../babel-typescript/expected/es/index.js | 3 - .../build/babel-typescript/src/index.ts | 7 - .../build/babel-typescript/tsconfig.json | 10 - .../fixtures/build/config-array/.fatherrc.js | 13 - .../build/config-array/expected/index.umd.js | 13 - .../fixtures/build/config-array/src/index.js | 2 - .../fixtures/build/config-array/ui/index.js | 1 - .../lerna-root-config-override/.fatherrc.js | 4 - .../expected/bar/index.js | 3 - .../expected/foo/index.js | 3 - .../lerna-root-config-override/lerna.json | 1 - .../packages/bar/package.json | 1 - .../packages/bar/src/index.js | 2 - .../packages/foo/package.json | 1 - .../packages/foo/src/index.js | 2 - .../build/lerna-root-config/.fatherrc.js | 4 - .../expected/bar/index.esm.js | 1 - .../expected/foo/index.esm.js | 1 - .../build/lerna-root-config/lerna.json | 1 - .../packages/bar/package.json | 1 - .../packages/bar/src/index.js | 2 - .../packages/foo/package.json | 1 - .../packages/foo/src/index.js | 2 - .../build/lerna-root-scope/.fatherrc.js | 3 - .../expected/bar/index.esm.js | 1 - .../expected/foo/index.esm.js | 1 - .../build/lerna-root-scope/lerna.json | 1 - .../packages/bar/.fatherrc.js | 3 - .../packages/bar/package.json | 1 - .../packages/bar/src/index.js | 2 - .../packages/foo/.fatherrc.js | 3 - .../packages/foo/package.json | 1 - .../packages/foo/src/index.js | 2 - .../build/lerna-root-tsconfig/.fatherrc.js | 4 - .../expected/bar/es/index.js | 3 - .../expected/foo/es/index.js | 3 - .../build/lerna-root-tsconfig/lerna.json | 1 - .../packages/bar/package.json | 1 - .../packages/bar/src/index.ts | 4 - .../packages/foo/package.json | 1 - .../packages/foo/src/index.ts | 4 - .../build/lerna-root-tsconfig/tsconfig.json | 12 - .../expected/bar/index.esm.js | 1 - .../expected/foo/index.esm.js | 1 - .../build/lerna-scope-packages/lerna.json | 1 - .../packages/@hoo/bar/.fatherrc.js | 4 - .../packages/@hoo/bar/package.json | 1 - .../packages/@hoo/bar/src/index.js | 2 - .../packages/foo/.fatherrc.js | 4 - .../packages/foo/package.json | 1 - .../packages/foo/src/index.js | 2 - .../build/lerna/expected/bar/index.esm.js | 1 - .../build/lerna/expected/foo/index.esm.js | 1 - .../src/fixtures/build/lerna/lerna.json | 1 - .../build/lerna/packages/bar/.fatherrc.js | 4 - .../build/lerna/packages/bar/package.json | 1 - .../build/lerna/packages/bar/src/index.js | 2 - .../build/lerna/packages/foo/.fatherrc.js | 4 - .../build/lerna/packages/foo/package.json | 1 - .../build/lerna/packages/foo/src/index.js | 2 - .../.fatherrc.js | 6 - .../expected/index.umd.js | 33 - .../package.json | 3 - .../packages/fooo/package.json | 9 - .../packages/fooo/src/index.js | 5 - .../src/index.js | 1 - .../.fatherrc.js | 12 - .../expected/index.umd.js | 26 - .../package.json | 5 - .../src/index.js | 4 - .../build/rollup-commonjs-deps/.fatherrc.js | 6 - .../expected/index.umd.js | 20 - .../build/rollup-commonjs-deps/package.json | 5 - .../build/rollup-commonjs-deps/src/index.js | 4 - .../build/rollup-config-alias/.fatherrc.js | 4 - .../rollup-config-alias/expected/index.esm.js | 6 - .../build/rollup-config-alias/src/index.js | 6 - .../rollup-css-autoprefixer/.fatherrc.js | 10 - .../expected/index.esm.js | 31 - .../build/rollup-css-autoprefixer/src/foo.css | 4 - .../rollup-css-autoprefixer/src/index.js | 3 - .../build/rollup-css-extract/.fatherrc.js | 5 - .../rollup-css-extract/expected/index.esm.css | 2 - .../rollup-css-extract/expected/index.esm.js | 1 - .../build/rollup-css-extract/src/foo.css | 2 - .../build/rollup-css-extract/src/index.js | 3 - .../build/rollup-css-inject/.fatherrc.js | 5 - .../rollup-css-inject/expected/index.esm.js | 3 - .../build/rollup-css-inject/src/foo.css | 2 - .../build/rollup-css-inject/src/index.js | 3 - .../build/rollup-css-modules/.fatherrc.js | 5 - .../rollup-css-modules/expected/index.esm.js | 32 - .../build/rollup-css-modules/src/foo.css | 2 - .../build/rollup-css-modules/src/index.js | 3 - .../fixtures/build/rollup-css/.fatherrc.js | 4 - .../build/rollup-css/expected/index.esm.js | 31 - .../src/fixtures/build/rollup-css/src/foo.css | 2 - .../fixtures/build/rollup-css/src/index.js | 3 - .../build/rollup-esm-minify/.fatherrc.js | 4 - .../rollup-esm-minify/expected/index.esm.js | 1 - .../build/rollup-esm-minify/package.json | 5 - .../build/rollup-esm-minify/src/foo.js | 4 - .../build/rollup-esm-minify/src/index.js | 5 - .../build/rollup-esm-mjs/.fatherrc.js | 4 - .../rollup-esm-mjs/expected/index.esm.js | 6 - .../build/rollup-esm-mjs/expected/index.mjs | 1 - .../build/rollup-esm-mjs/package.json | 5 - .../fixtures/build/rollup-esm-mjs/src/foo.js | 4 - .../build/rollup-esm-mjs/src/index.js | 6 - .../rollup-externalsExclude/.fatherrc.js | 11 - .../expected/index.esm.js | 5 - .../rollup-externalsExclude/expected/index.js | 7 - .../rollup-externalsExclude/package.json | 3 - .../rollup-externalsExclude/src/index.js | 2 - .../.fatherrc.js | 10 - .../expected/index.esm.js | 2 - .../p1.js | 20 - .../p2.js | 20 - .../preset.js | 8 - .../src/index.js | 3 - .../build/rollup-extraExternals/.fatherrc.js | 9 - .../expected/index.esm.js | 5 - .../build/rollup-extraExternals/package.json | 3 - .../build/rollup-extraExternals/src/index.js | 6 - .../rollup-extraRollupPlugins/.fatherrc.js | 10 - .../expected/index.esm.js | 1 - .../rollup-extraRollupPlugins/package.json | 3 - .../rollup-extraRollupPlugins/src/index.js | 2 - .../rollup-import-directory/.fatherrc.js | 4 - .../expected/index.esm.js | 1 - .../rollup-import-directory/src/foo/index.js | 2 - .../rollup-import-directory/src/index.js | 1 - .../build/rollup-importLibToEs/.fatherrc.js | 5 - .../expected/index.esm.js | 5 - .../rollup-importLibToEs/expected/index.js | 7 - .../build/rollup-importLibToEs/src/index.js | 3 - .../fixtures/build/rollup-inject/.fatherrc.js | 7 - .../build/rollup-inject/expected/index.esm.js | 3 - .../fixtures/build/rollup-inject/package.json | 5 - .../fixtures/build/rollup-inject/src/index.js | 1 - .../fixtures/build/rollup-json/.fatherrc.js | 4 - .../build/rollup-json/expected/index.esm.js | 6 - .../fixtures/build/rollup-json/src/index.js | 3 - .../fixtures/build/rollup-json/src/pkg.json | 3 - .../build/rollup-less-modules/.fatherrc.js | 5 - .../rollup-less-modules/expected/index.esm.js | 32 - .../build/rollup-less-modules/src/foo.less | 2 - .../build/rollup-less-modules/src/index.js | 3 - .../rollup-less-node-modules/.fatherrc.js | 4 - .../expected/index.esm.js | 31 - .../rollup-less-node-modules/src/foo.less | 3 - .../rollup-less-node-modules/src/index.js | 3 - .../fixtures/build/rollup-less/.fatherrc.js | 4 - .../build/rollup-less/expected/index.esm.js | 31 - .../fixtures/build/rollup-less/src/foo.less | 2 - .../fixtures/build/rollup-less/src/index.js | 3 - .../build/rollup-multiple-entry/.fatherrc.js | 8 - .../rollup-multiple-entry/expected/bar.esm.js | 1 - .../rollup-multiple-entry/expected/foo.esm.js | 1 - .../build/rollup-multiple-entry/src/bar.js | 2 - .../build/rollup-multiple-entry/src/foo.js | 2 - .../build/rollup-node-resolve/.fatherrc.js | 9 - .../rollup-node-resolve/expected/index.umd.js | 10 - .../build/rollup-node-resolve/package.json | 5 - .../build/rollup-node-resolve/src/index.js | 3 - .../fixtures/build/rollup-normal/.fatherrc.js | 6 - .../build/rollup-normal/expected/index.esm.js | 7 - .../build/rollup-normal/expected/index.js | 9 - .../build/rollup-normal/expected/index.umd.js | 12 - .../rollup-normal/expected/index.umd.min.js | 1 - .../fixtures/build/rollup-normal/package.json | 5 - .../fixtures/build/rollup-normal/src/foo.js | 4 - .../fixtures/build/rollup-normal/src/index.js | 4 - .../.fatherrc.js | 29 - .../expected/dva.bar.js | 8 - .../expected/dva.bar.min.js | 1 - .../expected/dva.esm.js | 1 - .../expected/dva.foo.cjs.js | 3 - .../expected/dva.foo.esm.js | 1 - .../expected/dva.foo.umd.js | 8 - .../expected/dva.foo.umd.min.js | 1 - .../expected/dva.js | 3 - .../expected/dva.umd.js | 8 - .../expected/dva.umd.min.js | 1 - .../src/bar.js | 2 - .../src/foo.js | 2 - .../src/index.js | 2 - .../build/rollup-replace/.fatherrc.js | 7 - .../rollup-replace/expected/index.esm.js | 1 - .../build/rollup-replace/package.json | 3 - .../build/rollup-replace/src/index.js | 2 - .../build/rollup-resolve-jsx/.fatherrc.js | 4 - .../rollup-resolve-jsx/expected/index.esm.js | 11 - .../build/rollup-resolve-jsx/package.json | 5 - .../build/rollup-resolve-jsx/src/Foo.jsx | 2 - .../build/rollup-resolve-jsx/src/index.js | 3 - .../build/rollup-runtimeHelpers/.fatherrc.js | 6 - .../expected/index.esm.js | 17 - .../rollup-runtimeHelpers/expected/index.js | 38 - .../build/rollup-runtimeHelpers/package.json | 5 - .../build/rollup-runtimeHelpers/src/index.js | 6 - .../fixtures/build/rollup-sass/.fatherrc.js | 4 - .../build/rollup-sass/expected/index.esm.js | 31 - .../fixtures/build/rollup-sass/src/foo.scss | 2 - .../fixtures/build/rollup-sass/src/index.js | 3 - .../build/rollup-svgr/.umirc.library.js | 3 - .../build/rollup-svgr/dist/index.esm.js | 22 - .../build/rollup-svgr/expected/index.esm.js | 22 - .../fixtures/build/rollup-svgr/package.json | 5 - .../fixtures/build/rollup-svgr/src/index.jsx | 3 - .../fixtures/build/rollup-svgr/src/menu.svg | 12 - .../.fatherrc.ts | 7 - .../expected/index.esm.js | 5 - .../expected/index.js | 7 - .../expected/type/index.d.ts | 5 - .../src/index.ts | 7 - .../tsconfig.json | 9 - .../typings.d.ts | 7 - .../build/rollup-typescript/.fatherrc.ts | 4 - .../rollup-typescript/expected/index.d.ts | 5 - .../rollup-typescript/expected/index.esm.js | 5 - .../build/rollup-typescript/expected/index.js | 7 - .../build/rollup-typescript/src/index.ts | 7 - .../build/rollup-typescript/tsconfig.json | 8 - .../build/rollup-typescript/typings.d.ts | 7 - .../build/rollup-umd-auto-name/.fatherrc.js | 6 - .../expected/index.umd.js | 13 - .../build/rollup-umd-auto-name/package.json | 3 - .../build/rollup-umd-auto-name/src/index.js | 4 - .../.fatherrc.js | 5 - .../expected/index.umd.css | 2 - .../expected/index.umd.js | 8 - .../expected/index.umd.min.css | 1 - .../expected/index.umd.min.js | 1 - .../src/foo.css | 2 - .../src/index.js | 3 - .../build/rollup-umd-globals/.fatherrc.js | 9 - .../rollup-umd-globals/expected/index.umd.js | 11 - .../build/rollup-umd-globals/package.json | 5 - .../build/rollup-umd-globals/src/index.js | 3 - .../build/rollup-umd-name/.fatherrc.js | 7 - .../rollup-umd-name/expected/index.umd.js | 13 - .../build/rollup-umd-name/src/index.js | 4 - .../build/rollup-umd-overrides/.fatherrc.js | 18 - .../expected/fetch.umd.js | 13 - .../expected/index.umd.js | 13 - .../build/rollup-umd-overrides/src/fetch.js | 4 - .../build/rollup-umd-overrides/src/index.js | 4 - .../build/rollup-umd-sourcemap/.fatherrc.js | 8 - .../expected/index.umd.js | 14 - .../expected/index.umd.js.map | 1 - .../build/rollup-umd-sourcemap/src/index.js | 4 - .../build/target-node-version/.fatherrc.js | 7 - .../target-node-version/expected/es/index.js | 4 - .../build/target-node-version/src/index.js | 6 - .../fixtures/build/target-node/.fatherrc.js | 6 - .../build/target-node/expected/index.esm.js | 6 - .../build/target-node/expected/index.js | 8 - .../fixtures/build/target-node/src/index.js | 6 - packages/father-build/src/getBabelConfig.ts | 95 - packages/father-build/src/getRollupConfig.ts | 317 - packages/father-build/src/getUserConfig.ts | 58 - packages/father-build/src/importLibToEs.js | 26 - packages/father-build/src/index.ts | 3 - .../src/normalizeBundleOpts.test.ts | 53 - .../father-build/src/normalizeBundleOpts.ts | 24 - packages/father-build/src/randomColor.ts | 34 - packages/father-build/src/registerBabel.ts | 23 - packages/father-build/src/rollup.ts | 62 - packages/father-build/src/schema.test.ts | 39 - packages/father-build/src/schema.ts | 170 - packages/father-build/src/types.d.ts | 99 - packages/father-build/src/utils.ts | 11 - packages/father-build/template/tsconfig.json | 23 - packages/plugin-action-logs/package.json | 10 +- .../src/collections/action_logs.ts | 49 +- packages/plugin-automations/package.json | 10 +- .../src/collections/automations.ts | 70 + .../src/collections/automations_jobs.ts | 54 + packages/plugin-china-region/package.json | 4 +- .../src/db/seeders/init.ts | 28 +- packages/plugin-collections/package.json | 10 +- .../src/collections/collections.ts | 151 + .../src/collections/fields.ts | 83 + .../src/collections/scopes.ts | 47 + .../src/interfaces/types.ts | 28 +- .../src/models/collection.ts | 11 +- packages/plugin-collections/src/server.ts | 39 +- packages/plugin-file-manager/package.json | 10 +- packages/plugin-full-collections/package.json | 17 + .../src/__tests__/collections.test.ts | 67 + .../src/__tests__/fields.test.ts | 81 + .../src/__tests__/index.ts | 144 + .../src/collections/collections.ts | 81 + .../src/collections/fields.ts | 100 + .../src/collections/menus.ts | 84 + .../src/collections/pages.ts | 88 + .../src/collections/views.ts | 63 + .../src/fields/randomString.ts | 27 + .../src/hooks/collections.afterCreate.ts | 6 + .../src/hooks/collections.beforeValidate.ts | 3 + .../src/hooks/fields.afterCreate.ts | 6 + .../src/hooks/fields.beforeValidate.ts | 36 + .../src/interfaces/index.ts | 118 + .../src/interfaces/types.ts | 738 + .../src/models/base.ts | 77 + .../src/models/collection.ts | 100 + .../src/models/field.ts | 60 + .../src/models/index.ts | 3 + .../src/models/view.ts | 33 + .../plugin-full-collections/src/server.ts | 40 + packages/plugin-full-collections/src/utils.ts | 23 + .../src/views/index.ts | 92 + .../src/views/types.ts | 403 + packages/plugin-pages/package.json | 13 +- packages/plugin-pages/src/actions/getInfo.ts | 60 + .../plugin-pages/src/actions/getRoutes.ts | 5 +- packages/plugin-pages/src/actions/getTree.ts | 76 + .../plugin-pages/src/actions/menus:list.ts | 15 + .../plugin-pages/src/actions/roles.menus.ts | 32 + .../src/actions/views_v2:getInfo.ts | 381 + .../plugin-pages/src/collections/menus.ts | 334 + .../src/collections/menus_views_v2.ts | 196 + .../plugin-pages/src/collections/pages_v2.ts | 301 + .../src/collections/pages_views_v2.ts | 84 + .../src/collections/system_settings.ts | 80 + .../src/collections/views_actions_v2.ts | 119 + .../src/collections/views_details_v2.ts | 93 + .../src/collections/views_fields_v2.ts | 105 + .../plugin-pages/src/collections/views_v2.ts | 301 + .../plugin-pages/src/fields/randomString.ts | 27 + packages/plugin-pages/src/models/BaseModel.ts | 214 + packages/plugin-pages/src/server.ts | 75 + packages/plugin-pages/src/utils.ts | 10 + packages/plugin-pages/src/views/index.ts | 101 + packages/plugin-pages/src/views/types.ts | 264 + packages/plugin-permissions/package.json | 10 +- .../src/AccessController.ts | 4 + .../src/collections/roles.ts | 74 + packages/plugin-users/package.json | 10 +- packages/plugin-users/src/actions/login.ts | 4 +- .../plugin-users/src/collections/users.ts | 66 + packages/resourcer/package.json | 6 +- packages/server/package.json | 8 +- yarn.lock | 13340 ++++++++++++++++ 503 files changed, 22828 insertions(+), 4178 deletions(-) create mode 100644 packages/app/src/api/migrations/add-menus.ts create mode 100644 packages/app/src/components/form.fields/virtual-table/Form.tsx create mode 100644 packages/app/src/components/form.fields/virtual-table/Table.tsx create mode 100644 packages/app/src/components/form.fields/virtual-table/index.tsx create mode 100644 packages/app/src/components/form.fields/wysiwyg/index.tsx create mode 100644 packages/app/src/components/pages/AdminLoader/Actions/index.tsx create mode 100644 packages/app/src/components/pages/AdminLoader/Drawer/index.tsx create mode 100644 packages/app/src/components/pages/AdminLoader/Page/index.tsx create mode 100644 packages/app/src/components/pages/AdminLoader/Page/style.less create mode 100644 packages/app/src/components/pages/AdminLoader/SideMenuLayout/index.tsx create mode 100644 packages/app/src/components/pages/AdminLoader/SideMenuLayout/style.less create mode 100644 packages/app/src/components/pages/AdminLoader/TopMenuLayout/index.tsx create mode 100644 packages/app/src/components/pages/AdminLoader/TopMenuLayout/logo-blue.svg create mode 100644 packages/app/src/components/pages/AdminLoader/TopMenuLayout/logo-white.svg create mode 100644 packages/app/src/components/pages/AdminLoader/TopMenuLayout/logo.svg create mode 100644 packages/app/src/components/pages/AdminLoader/TopMenuLayout/style.less create mode 100644 packages/app/src/components/pages/AdminLoader/View/Association.tsx create mode 100644 packages/app/src/components/pages/AdminLoader/View/Descriptions.tsx create mode 100644 packages/app/src/components/pages/AdminLoader/View/FilterForm.tsx create mode 100644 packages/app/src/components/pages/AdminLoader/View/Form.tsx create mode 100644 packages/app/src/components/pages/AdminLoader/View/SubTable.tsx create mode 100644 packages/app/src/components/pages/AdminLoader/View/Table.tsx create mode 100644 packages/app/src/components/pages/AdminLoader/View/Wysiwyg.tsx create mode 100644 packages/app/src/components/pages/AdminLoader/View/index.tsx create mode 100644 packages/app/src/components/pages/AdminLoader/View/style.less create mode 100644 packages/app/src/components/pages/AdminLoader/index.tsx create mode 100644 packages/app/src/components/pages/AdminLoader/menu/index.tsx create mode 100644 packages/app/src/components/pages/AdminLoader/menu/style.less delete mode 100644 packages/father-build/.local delete mode 100644 packages/father-build/.npmignore delete mode 100644 packages/father-build/README.md delete mode 100755 packages/father-build/bin/father-build.js delete mode 100644 packages/father-build/package.json delete mode 100644 packages/father-build/src/babel.ts delete mode 100644 packages/father-build/src/build.test.ts delete mode 100644 packages/father-build/src/build.ts delete mode 100644 packages/father-build/src/fixtures/build/babel-browser-files/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/babel-browser-files/expected/es/browser.js delete mode 100644 packages/father-build/src/fixtures/build/babel-browser-files/expected/es/node.js delete mode 100644 packages/father-build/src/fixtures/build/babel-browser-files/src/browser.js delete mode 100644 packages/father-build/src/fixtures/build/babel-browser-files/src/node.js delete mode 100644 packages/father-build/src/fixtures/build/babel-cjs-lazy/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/babel-cjs-lazy/src/foo.js delete mode 100644 packages/father-build/src/fixtures/build/babel-cjs-lazy/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/babel-extra-babel-presets-and-plugins/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/babel-extra-babel-presets-and-plugins/expected/es/index.js delete mode 100644 packages/father-build/src/fixtures/build/babel-extra-babel-presets-and-plugins/p1.js delete mode 100644 packages/father-build/src/fixtures/build/babel-extra-babel-presets-and-plugins/p2.js delete mode 100644 packages/father-build/src/fixtures/build/babel-extra-babel-presets-and-plugins/preset.js delete mode 100644 packages/father-build/src/fixtures/build/babel-extra-babel-presets-and-plugins/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/babel-importLibToEs/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/babel-importLibToEs/expected/es/index.js delete mode 100644 packages/father-build/src/fixtures/build/babel-importLibToEs/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/babel-less-to-css-forbid/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/babel-less-to-css-forbid/expected/es/foo.js delete mode 100644 packages/father-build/src/fixtures/build/babel-less-to-css-forbid/expected/es/foo.module.less delete mode 100644 packages/father-build/src/fixtures/build/babel-less-to-css-forbid/expected/es/index.less delete mode 100644 packages/father-build/src/fixtures/build/babel-less-to-css-forbid/src/foo.js delete mode 100644 packages/father-build/src/fixtures/build/babel-less-to-css-forbid/src/foo.module.less delete mode 100644 packages/father-build/src/fixtures/build/babel-less-to-css-forbid/src/index.less delete mode 100644 packages/father-build/src/fixtures/build/babel-less-to-css/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/babel-less-to-css/expected/es/foo.js delete mode 100644 packages/father-build/src/fixtures/build/babel-less-to-css/expected/es/foo.module.css delete mode 100644 packages/father-build/src/fixtures/build/babel-less-to-css/expected/es/index.css delete mode 100644 packages/father-build/src/fixtures/build/babel-less-to-css/src/foo.js delete mode 100644 packages/father-build/src/fixtures/build/babel-less-to-css/src/foo.module.less delete mode 100644 packages/father-build/src/fixtures/build/babel-less-to-css/src/index.less delete mode 100644 packages/father-build/src/fixtures/build/babel-node-files/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/babel-node-files/expected/es/browser.js delete mode 100644 packages/father-build/src/fixtures/build/babel-node-files/expected/es/node.js delete mode 100644 packages/father-build/src/fixtures/build/babel-node-files/src/browser.js delete mode 100644 packages/father-build/src/fixtures/build/babel-node-files/src/node.js delete mode 100644 packages/father-build/src/fixtures/build/babel-node-tsx-jsx/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/babel-node-tsx-jsx/expected/es/B.d.ts delete mode 100644 packages/father-build/src/fixtures/build/babel-node-tsx-jsx/expected/es/B.js delete mode 100644 packages/father-build/src/fixtures/build/babel-node-tsx-jsx/expected/es/C.js delete mode 100644 packages/father-build/src/fixtures/build/babel-node-tsx-jsx/expected/es/node.js delete mode 100644 packages/father-build/src/fixtures/build/babel-node-tsx-jsx/src/B.tsx delete mode 100644 packages/father-build/src/fixtures/build/babel-node-tsx-jsx/src/C.jsx delete mode 100644 packages/father-build/src/fixtures/build/babel-node-tsx-jsx/src/node.js delete mode 100644 packages/father-build/src/fixtures/build/babel-node-tsx-jsx/tsconfig.json delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/expected/es/foo.js delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/expected/es/index.js delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/expected/es/types.d.ts delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/src/__test__/__snapshots__/index.test.js.snap delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/src/__test__/index.test.js delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/src/bar.md delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/src/bar.mdx delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/src/demos/foo.js delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/src/fixtures/example/package.json delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/src/foo.e2e.ts delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/src/foo.js delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/src/foo.spec.ts delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/src/foo.test.js delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/src/foo.test.jsx delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/src/foo.test.ts delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/src/foo.test.tsx delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/babel-normal/src/types.d.ts delete mode 100644 packages/father-build/src/fixtures/build/babel-runtimeHelpers/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/babel-runtimeHelpers/expected/es/index.js delete mode 100644 packages/father-build/src/fixtures/build/babel-runtimeHelpers/package.json delete mode 100644 packages/father-build/src/fixtures/build/babel-runtimeHelpers/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/babel-syntax/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/babel-syntax/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/babel-syntax/package.json delete mode 100644 packages/father-build/src/fixtures/build/babel-syntax/src/a.js delete mode 100644 packages/father-build/src/fixtures/build/babel-syntax/src/b.js delete mode 100644 packages/father-build/src/fixtures/build/babel-syntax/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/babel-ts-3.7-features/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/babel-ts-3.7-features/expected/es/index.d.ts delete mode 100644 packages/father-build/src/fixtures/build/babel-ts-3.7-features/expected/es/index.js delete mode 100644 packages/father-build/src/fixtures/build/babel-ts-3.7-features/src/index.ts delete mode 100644 packages/father-build/src/fixtures/build/babel-typescript-disable-typecheck/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/babel-typescript-disable-typecheck/expected/es/index.js delete mode 100644 packages/father-build/src/fixtures/build/babel-typescript-disable-typecheck/src/index.ts delete mode 100644 packages/father-build/src/fixtures/build/babel-typescript-disable-typecheck/tsconfig.json delete mode 100644 packages/father-build/src/fixtures/build/babel-typescript-template/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/babel-typescript-template/expected/es/index.d.ts delete mode 100644 packages/father-build/src/fixtures/build/babel-typescript-template/expected/es/index.js delete mode 100644 packages/father-build/src/fixtures/build/babel-typescript-template/src/index.ts delete mode 100644 packages/father-build/src/fixtures/build/babel-typescript/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/babel-typescript/expected/es/index.d.ts delete mode 100644 packages/father-build/src/fixtures/build/babel-typescript/expected/es/index.js delete mode 100644 packages/father-build/src/fixtures/build/babel-typescript/src/index.ts delete mode 100644 packages/father-build/src/fixtures/build/babel-typescript/tsconfig.json delete mode 100644 packages/father-build/src/fixtures/build/config-array/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/config-array/expected/index.umd.js delete mode 100644 packages/father-build/src/fixtures/build/config-array/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/config-array/ui/index.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-config-override/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-config-override/expected/bar/index.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-config-override/expected/foo/index.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-config-override/lerna.json delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-config-override/packages/bar/package.json delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-config-override/packages/bar/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-config-override/packages/foo/package.json delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-config-override/packages/foo/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-config/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-config/expected/bar/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-config/expected/foo/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-config/lerna.json delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-config/packages/bar/package.json delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-config/packages/bar/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-config/packages/foo/package.json delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-config/packages/foo/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-scope/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-scope/expected/bar/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-scope/expected/foo/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-scope/lerna.json delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-scope/packages/bar/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-scope/packages/bar/package.json delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-scope/packages/bar/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-scope/packages/foo/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-scope/packages/foo/package.json delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-scope/packages/foo/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-tsconfig/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-tsconfig/expected/bar/es/index.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-tsconfig/expected/foo/es/index.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-tsconfig/lerna.json delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-tsconfig/packages/bar/package.json delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-tsconfig/packages/bar/src/index.ts delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-tsconfig/packages/foo/package.json delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-tsconfig/packages/foo/src/index.ts delete mode 100644 packages/father-build/src/fixtures/build/lerna-root-tsconfig/tsconfig.json delete mode 100644 packages/father-build/src/fixtures/build/lerna-scope-packages/expected/bar/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-scope-packages/expected/foo/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-scope-packages/lerna.json delete mode 100644 packages/father-build/src/fixtures/build/lerna-scope-packages/packages/@hoo/bar/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-scope-packages/packages/@hoo/bar/package.json delete mode 100644 packages/father-build/src/fixtures/build/lerna-scope-packages/packages/@hoo/bar/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-scope-packages/packages/foo/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/lerna-scope-packages/packages/foo/package.json delete mode 100644 packages/father-build/src/fixtures/build/lerna-scope-packages/packages/foo/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/lerna/expected/bar/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/lerna/expected/foo/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/lerna/lerna.json delete mode 100644 packages/father-build/src/fixtures/build/lerna/packages/bar/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/lerna/packages/bar/package.json delete mode 100644 packages/father-build/src/fixtures/build/lerna/packages/bar/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/lerna/packages/foo/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/lerna/packages/foo/package.json delete mode 100644 packages/father-build/src/fixtures/build/lerna/packages/foo/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/require-node_modules-in-sub-directory/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/require-node_modules-in-sub-directory/expected/index.umd.js delete mode 100644 packages/father-build/src/fixtures/build/require-node_modules-in-sub-directory/package.json delete mode 100644 packages/father-build/src/fixtures/build/require-node_modules-in-sub-directory/packages/fooo/package.json delete mode 100644 packages/father-build/src/fixtures/build/require-node_modules-in-sub-directory/packages/fooo/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/require-node_modules-in-sub-directory/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-commonjs-deps-named-exports/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-commonjs-deps-named-exports/expected/index.umd.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-commonjs-deps-named-exports/package.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-commonjs-deps-named-exports/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-commonjs-deps/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-commonjs-deps/expected/index.umd.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-commonjs-deps/package.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-commonjs-deps/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-config-alias/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-config-alias/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-config-alias/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-css-autoprefixer/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-css-autoprefixer/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-css-autoprefixer/src/foo.css delete mode 100644 packages/father-build/src/fixtures/build/rollup-css-autoprefixer/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-css-extract/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-css-extract/expected/index.esm.css delete mode 100644 packages/father-build/src/fixtures/build/rollup-css-extract/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-css-extract/src/foo.css delete mode 100644 packages/father-build/src/fixtures/build/rollup-css-extract/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-css-inject/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-css-inject/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-css-inject/src/foo.css delete mode 100644 packages/father-build/src/fixtures/build/rollup-css-inject/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-css-modules/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-css-modules/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-css-modules/src/foo.css delete mode 100644 packages/father-build/src/fixtures/build/rollup-css-modules/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-css/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-css/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-css/src/foo.css delete mode 100644 packages/father-build/src/fixtures/build/rollup-css/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-esm-minify/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-esm-minify/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-esm-minify/package.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-esm-minify/src/foo.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-esm-minify/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-esm-mjs/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-esm-mjs/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-esm-mjs/expected/index.mjs delete mode 100644 packages/father-build/src/fixtures/build/rollup-esm-mjs/package.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-esm-mjs/src/foo.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-esm-mjs/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-externalsExclude/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-externalsExclude/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-externalsExclude/expected/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-externalsExclude/package.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-externalsExclude/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-extra-babel-presets-and-plugins/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-extra-babel-presets-and-plugins/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-extra-babel-presets-and-plugins/p1.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-extra-babel-presets-and-plugins/p2.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-extra-babel-presets-and-plugins/preset.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-extra-babel-presets-and-plugins/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-extraExternals/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-extraExternals/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-extraExternals/package.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-extraExternals/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-extraRollupPlugins/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-extraRollupPlugins/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-extraRollupPlugins/package.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-extraRollupPlugins/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-import-directory/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-import-directory/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-import-directory/src/foo/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-import-directory/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-importLibToEs/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-importLibToEs/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-importLibToEs/expected/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-importLibToEs/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-inject/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-inject/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-inject/package.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-inject/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-json/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-json/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-json/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-json/src/pkg.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-less-modules/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-less-modules/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-less-modules/src/foo.less delete mode 100644 packages/father-build/src/fixtures/build/rollup-less-modules/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-less-node-modules/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-less-node-modules/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-less-node-modules/src/foo.less delete mode 100644 packages/father-build/src/fixtures/build/rollup-less-node-modules/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-less/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-less/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-less/src/foo.less delete mode 100644 packages/father-build/src/fixtures/build/rollup-less/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-multiple-entry/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-multiple-entry/expected/bar.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-multiple-entry/expected/foo.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-multiple-entry/src/bar.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-multiple-entry/src/foo.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-node-resolve/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-node-resolve/expected/index.umd.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-node-resolve/package.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-node-resolve/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-normal/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-normal/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-normal/expected/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-normal/expected/index.umd.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-normal/expected/index.umd.min.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-normal/package.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-normal/src/foo.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-normal/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-outputFilename-with-overrides/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-outputFilename-with-overrides/expected/dva.bar.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-outputFilename-with-overrides/expected/dva.bar.min.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-outputFilename-with-overrides/expected/dva.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-outputFilename-with-overrides/expected/dva.foo.cjs.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-outputFilename-with-overrides/expected/dva.foo.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-outputFilename-with-overrides/expected/dva.foo.umd.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-outputFilename-with-overrides/expected/dva.foo.umd.min.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-outputFilename-with-overrides/expected/dva.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-outputFilename-with-overrides/expected/dva.umd.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-outputFilename-with-overrides/expected/dva.umd.min.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-outputFilename-with-overrides/src/bar.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-outputFilename-with-overrides/src/foo.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-outputFilename-with-overrides/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-replace/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-replace/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-replace/package.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-replace/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-resolve-jsx/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-resolve-jsx/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-resolve-jsx/package.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-resolve-jsx/src/Foo.jsx delete mode 100644 packages/father-build/src/fixtures/build/rollup-resolve-jsx/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-runtimeHelpers/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-runtimeHelpers/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-runtimeHelpers/expected/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-runtimeHelpers/package.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-runtimeHelpers/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-sass/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-sass/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-sass/src/foo.scss delete mode 100644 packages/father-build/src/fixtures/build/rollup-sass/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-svgr/.umirc.library.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-svgr/dist/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-svgr/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-svgr/package.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-svgr/src/index.jsx delete mode 100644 packages/father-build/src/fixtures/build/rollup-svgr/src/menu.svg delete mode 100644 packages/father-build/src/fixtures/build/rollup-typescript-declarationDir/.fatherrc.ts delete mode 100644 packages/father-build/src/fixtures/build/rollup-typescript-declarationDir/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-typescript-declarationDir/expected/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-typescript-declarationDir/expected/type/index.d.ts delete mode 100644 packages/father-build/src/fixtures/build/rollup-typescript-declarationDir/src/index.ts delete mode 100644 packages/father-build/src/fixtures/build/rollup-typescript-declarationDir/tsconfig.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-typescript-declarationDir/typings.d.ts delete mode 100644 packages/father-build/src/fixtures/build/rollup-typescript/.fatherrc.ts delete mode 100644 packages/father-build/src/fixtures/build/rollup-typescript/expected/index.d.ts delete mode 100644 packages/father-build/src/fixtures/build/rollup-typescript/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-typescript/expected/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-typescript/src/index.ts delete mode 100644 packages/father-build/src/fixtures/build/rollup-typescript/tsconfig.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-typescript/typings.d.ts delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-auto-name/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-auto-name/expected/index.umd.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-auto-name/package.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-auto-name/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-css-extract-minFile/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-css-extract-minFile/expected/index.umd.css delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-css-extract-minFile/expected/index.umd.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-css-extract-minFile/expected/index.umd.min.css delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-css-extract-minFile/expected/index.umd.min.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-css-extract-minFile/src/foo.css delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-css-extract-minFile/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-globals/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-globals/expected/index.umd.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-globals/package.json delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-globals/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-name/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-name/expected/index.umd.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-name/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-overrides/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-overrides/expected/fetch.umd.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-overrides/expected/index.umd.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-overrides/src/fetch.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-overrides/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-sourcemap/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-sourcemap/expected/index.umd.js delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-sourcemap/expected/index.umd.js.map delete mode 100644 packages/father-build/src/fixtures/build/rollup-umd-sourcemap/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/target-node-version/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/target-node-version/expected/es/index.js delete mode 100644 packages/father-build/src/fixtures/build/target-node-version/src/index.js delete mode 100644 packages/father-build/src/fixtures/build/target-node/.fatherrc.js delete mode 100644 packages/father-build/src/fixtures/build/target-node/expected/index.esm.js delete mode 100644 packages/father-build/src/fixtures/build/target-node/expected/index.js delete mode 100644 packages/father-build/src/fixtures/build/target-node/src/index.js delete mode 100644 packages/father-build/src/getBabelConfig.ts delete mode 100644 packages/father-build/src/getRollupConfig.ts delete mode 100644 packages/father-build/src/getUserConfig.ts delete mode 100644 packages/father-build/src/importLibToEs.js delete mode 100644 packages/father-build/src/index.ts delete mode 100644 packages/father-build/src/normalizeBundleOpts.test.ts delete mode 100644 packages/father-build/src/normalizeBundleOpts.ts delete mode 100644 packages/father-build/src/randomColor.ts delete mode 100644 packages/father-build/src/registerBabel.ts delete mode 100644 packages/father-build/src/rollup.ts delete mode 100644 packages/father-build/src/schema.test.ts delete mode 100644 packages/father-build/src/schema.ts delete mode 100644 packages/father-build/src/types.d.ts delete mode 100644 packages/father-build/src/utils.ts delete mode 100644 packages/father-build/template/tsconfig.json create mode 100644 packages/plugin-full-collections/package.json create mode 100644 packages/plugin-full-collections/src/__tests__/collections.test.ts create mode 100644 packages/plugin-full-collections/src/__tests__/fields.test.ts create mode 100644 packages/plugin-full-collections/src/__tests__/index.ts create mode 100644 packages/plugin-full-collections/src/collections/collections.ts create mode 100644 packages/plugin-full-collections/src/collections/fields.ts create mode 100644 packages/plugin-full-collections/src/collections/menus.ts create mode 100644 packages/plugin-full-collections/src/collections/pages.ts create mode 100644 packages/plugin-full-collections/src/collections/views.ts create mode 100644 packages/plugin-full-collections/src/fields/randomString.ts create mode 100644 packages/plugin-full-collections/src/hooks/collections.afterCreate.ts create mode 100644 packages/plugin-full-collections/src/hooks/collections.beforeValidate.ts create mode 100644 packages/plugin-full-collections/src/hooks/fields.afterCreate.ts create mode 100644 packages/plugin-full-collections/src/hooks/fields.beforeValidate.ts create mode 100644 packages/plugin-full-collections/src/interfaces/index.ts create mode 100644 packages/plugin-full-collections/src/interfaces/types.ts create mode 100644 packages/plugin-full-collections/src/models/base.ts create mode 100644 packages/plugin-full-collections/src/models/collection.ts create mode 100644 packages/plugin-full-collections/src/models/field.ts create mode 100644 packages/plugin-full-collections/src/models/index.ts create mode 100644 packages/plugin-full-collections/src/models/view.ts create mode 100644 packages/plugin-full-collections/src/server.ts create mode 100644 packages/plugin-full-collections/src/utils.ts create mode 100644 packages/plugin-full-collections/src/views/index.ts create mode 100644 packages/plugin-full-collections/src/views/types.ts create mode 100644 packages/plugin-pages/src/actions/getInfo.ts create mode 100644 packages/plugin-pages/src/actions/getTree.ts create mode 100644 packages/plugin-pages/src/actions/menus:list.ts create mode 100644 packages/plugin-pages/src/actions/roles.menus.ts create mode 100644 packages/plugin-pages/src/actions/views_v2:getInfo.ts create mode 100644 packages/plugin-pages/src/collections/menus.ts create mode 100644 packages/plugin-pages/src/collections/menus_views_v2.ts create mode 100644 packages/plugin-pages/src/collections/pages_v2.ts create mode 100644 packages/plugin-pages/src/collections/pages_views_v2.ts create mode 100644 packages/plugin-pages/src/collections/system_settings.ts create mode 100644 packages/plugin-pages/src/collections/views_actions_v2.ts create mode 100644 packages/plugin-pages/src/collections/views_details_v2.ts create mode 100644 packages/plugin-pages/src/collections/views_fields_v2.ts create mode 100644 packages/plugin-pages/src/collections/views_v2.ts create mode 100644 packages/plugin-pages/src/fields/randomString.ts create mode 100644 packages/plugin-pages/src/models/BaseModel.ts create mode 100644 packages/plugin-pages/src/views/index.ts create mode 100644 packages/plugin-pages/src/views/types.ts create mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore index 0b36a1d7c..442d4de10 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ lib/ .DS_Store package-lock.json yarn.lock +!/yarn.lock yarn-error.log lerna-debug.log packages/database/package-lock.json diff --git a/package.json b/package.json index ae4ac7777..414129944 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,7 @@ "start:app:server": "cd packages/app && nodemon", "start-server": "yarn nodemon", "bootstrap": "lerna bootstrap --no-ci", - "build": "npm run build-father-build && node packages/father-build/bin/father-build.js", - "build-father-build": "cd packages/father-build && npm run build", + "build": "father-build", "clean": "lerna clean", "db:start": "docker-compose up -d", "lint": "eslint --ext .ts,.tsx,.js \"packages/*/src/**.@(ts|tsx|js)\" --fix", @@ -36,7 +35,7 @@ "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^4.2.1", "eslint-plugin-standard": "^4.0.1", - "father-build": "^1.18.5", + "father-build": "^1.19.2", "jest": "^26.1.0", "koa": "^2.13.0", "koa-bodyparser": "^4.3.0", diff --git a/packages/actions/package.json b/packages/actions/package.json index 76af01999..514277bfc 100644 --- a/packages/actions/package.json +++ b/packages/actions/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/actions", - "version": "0.3.0-alpha.0", + "version": "0.4.0-alpha.0", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", @@ -8,8 +8,8 @@ }, "license": "MIT", "dependencies": { - "@nocobase/database": "^0.3.0-alpha.0", - "@nocobase/resourcer": "^0.3.0-alpha.0" + "@nocobase/database": "^0.4.0-alpha.0", + "@nocobase/resourcer": "^0.4.0-alpha.0" }, "devDependencies": { "koa": "^2.13.0", diff --git a/packages/actions/src/actions/common.ts b/packages/actions/src/actions/common.ts index 747bee9eb..22c794920 100644 --- a/packages/actions/src/actions/common.ts +++ b/packages/actions/src/actions/common.ts @@ -286,6 +286,7 @@ export async function get(ctx: Context, next: Next) { resourceKeyAttribute, fields = [] } = ctx.action.params; + console.log({associated, resourceField}) if (associated && resourceField) { const AssociatedModel = ctx.db.getModel(associatedName); if (!(associated instanceof AssociatedModel)) { @@ -297,7 +298,16 @@ export async function get(ctx: Context, next: Next) { fields, }); if (resourceField instanceof HASONE || resourceField instanceof BELONGSTO) { - const model: Model = await associated[getAccessor]({ ...options, context: ctx }); + let model: Model = await associated[getAccessor]({ context: ctx }); + if (model) { + model = await TargetModel.findOne({ + ...options, + context: ctx, + where: { + [TargetModel.primaryKeyAttribute]: model[TargetModel.primaryKeyAttribute], + }, + }); + } ctx.body = model; } else if (resourceField instanceof HASMANY || resourceField instanceof BELONGSTOMANY) { const [model]: Model[] = await associated[getAccessor]({ diff --git a/packages/app/package.json b/packages/app/package.json index ab5bea1b7..b9dec4ed6 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,12 +1,12 @@ { "name": "@nocobase/app", - "version": "0.3.0-alpha.0", + "version": "0.4.0-alpha.0", "private": true, "scripts": { "start": "concurrently \"nodemon\" \"umi dev\"", "start-api": "nodemon", "db-migrate": "ts-node ./src/api/migrate.ts", - "build": "father-build && umi build", + "build": "umi build", "postinstall": "umi generate tmp", "prettier": "prettier --write '**/*.{js,jsx,tsx,ts,less,md,json}'", "test": "umi-test", @@ -26,18 +26,18 @@ "dependencies": { "@ant-design/pro-layout": "^5.0.12", "@formily/antd-components": "^1.3.6", - "@nocobase/client": "^0.3.0-alpha.0", - "@nocobase/database": "^0.3.0-alpha.0", - "@nocobase/father-build": "^0.3.0-alpha.0", - "@nocobase/plugin-action-logs": "^0.3.0-alpha.0", - "@nocobase/plugin-china-region": "^0.3.0-alpha.0", - "@nocobase/plugin-collections": "^0.3.0-alpha.0", - "@nocobase/plugin-pages": "^0.3.0-alpha.0", - "@nocobase/server": "^0.3.0-alpha.0", + "@nocobase/client": "^0.4.0-alpha.0", + "@nocobase/database": "^0.4.0-alpha.0", + "@nocobase/plugin-action-logs": "^0.4.0-alpha.0", + "@nocobase/plugin-china-region": "^0.4.0-alpha.0", + "@nocobase/plugin-collections": "^0.4.0-alpha.0", + "@nocobase/plugin-pages": "^0.4.0-alpha.0", + "@nocobase/server": "^0.4.0-alpha.0", "@types/react-big-calendar": "^0.24.8", "@umijs/preset-react": "1.x", "@umijs/test": "^3.2.23", "ahooks": "^2.9.3", + "antd": "^4.13.0", "array-move": "^3.0.1", "clean-deep": "^3.4.0", "concurrently": "^5.3.0", @@ -48,6 +48,7 @@ "react": "16.14.0", "react-big-calendar": "^0.30.0", "react-dom": "16.14.0", + "react-drag-listview": "^0.1.8", "react-image-lightbox": "^5.1.1", "react-sortable-hoc": "^1.11.0", "styled-components": "^5.2.1", diff --git a/packages/app/src/api-client.ts b/packages/app/src/api-client.ts index e9848e2d6..145b4d397 100644 --- a/packages/app/src/api-client.ts +++ b/packages/app/src/api-client.ts @@ -40,6 +40,7 @@ class ApiClient { options.params = restParams; } else { options.method = 'post'; + options.params = restParams; options.data = values; } if (associatedKey) { diff --git a/packages/app/src/api/migrations/add-menus.ts b/packages/app/src/api/migrations/add-menus.ts new file mode 100644 index 000000000..26ea5d7ec --- /dev/null +++ b/packages/app/src/api/migrations/add-menus.ts @@ -0,0 +1,181 @@ +import api from '../app'; +import Database from '@nocobase/database'; +import views_v2 from '@nocobase/plugin-pages/src/collections/views_v2'; +import { Op } from 'sequelize'; + +(async () => { + await api.loadPlugins(); + const database: Database = api.database; + + await api.database.sync(); + await api.database.getModel('collections').load({skipExisting: true}); + + const [Collection, Field, Page, Menu, View] = database.getModels(['collections', 'fields', 'pages_v2', 'menus', 'views_v2']); + + // await Collection.import(require('./collections/authors').default, { update: true }); + // await Collection.import(require('./collections/books').default, { update: true }); + + await Menu.truncate(); + await Page.destroy({ + where: { + id: { + [Op.not]: null, + }, + } + }); + await View.destroy({ + where: { + id: { + [Op.not]: null, + }, + } + }); + + const collection = await Collection.findOne({ + where: { + name: 'views_v2', + } + }); + + await collection.updateAssociations({ + fields: views_v2.fields, + views_v2: views_v2.views_v2, + }); + + // const authors = require('./collections/authors').default; + + console.log('views_v2.fields', views_v2.fields.map(field=>field.name)); + + // await collection.updateAssociations({ + // views_v2: authors.views_v2, + // }); + + + + const tables = database.getTables([ + 'collections', + 'fields', + 'menus', + 'pages_v2', + 'views_v2', + 'pages_views_v2', + 'automations', + 'automations_jobs', + 'action_logs', + 'users', + 'roles', + 'scopes', + 'views_actions_v2', + 'views_pages_v2', + 'views_fields_v2', + ]); + + for (let table of tables) { + console.log(table.getName()); + await Collection.import(table.getOptions(), { update: true, migrate: false }); + } + + const menus = [ + { + title: '仪表盘', + icon: 'DashboardOutlined', + type: 'group', + children: [ + { + title: '欢迎光临', + icon: 'DatabaseOutlined', + type: 'page', + pageName: 'welcome' + }, + ], + }, + { + title: '数据', + icon: 'DatabaseOutlined', + type: 'group', + children: [ + { + title: '作者', + icon: 'DatabaseOutlined', + type: 'page', + pageName: 'authors.all', + }, + { + title: '申请表单', + icon: 'DatabaseOutlined', + type: 'page', + pageName: 'authors.form', + }, + ], + }, + { + title: '用户', + icon: 'TeamOutlined', + type: 'group', + children: [ + { + title: '用户管理', + icon: 'DatabaseOutlined', + type: 'page', + pageName: 'users.all', + }, + ], + }, + { + title: '动态', + icon: 'NotificationOutlined', + type: 'group', + children: [ + { + title: '操作日志', + icon: 'DatabaseOutlined', + type: 'page', + pageName: 'action_logs.all', + }, + ], + }, + { + title: '配置', + icon: 'SettingOutlined', + type: 'group', + children: [ + { + title: '数据表配置', + icon: 'DatabaseOutlined', + type: 'page', + pageName: 'collections.all', + }, + { + title: '菜单配置', + icon: 'MenuOutlined', + type: 'page', + pageName: 'menus.all', + }, + { + title: '页面配置', + icon: 'MenuOutlined', + type: 'page', + pageName: 'pages_v2.globals', + }, + { + title: '权限配置', + icon: 'MenuOutlined', + type: 'page', + pageName: 'roles.all', + }, + { + title: '自动化配置', + icon: 'MenuOutlined', + type: 'page', + pageName: 'automations.all', + }, + ], + }, + ]; + + for (const item of menus) { + const menu = await Menu.create(item); + await menu.updateAssociations(item); + } + +})(); diff --git a/packages/app/src/api/migrations/collections/authors.ts b/packages/app/src/api/migrations/collections/authors.ts index a568a3726..b67436a13 100644 --- a/packages/app/src/api/migrations/collections/authors.ts +++ b/packages/app/src/api/migrations/collections/authors.ts @@ -39,17 +39,19 @@ export default { showInForm: true, }, }, - // { - // interface: 'linkTo', - // title: '书籍', - // target: 'books', - // labelField: 'name', - // component: { - // showInTable: true, - // showInDetail: true, - // showInForm: true, - // }, - // }, + { + interface: 'linkTo', + type: 'belongsToMany', + title: '书籍', + name: 'books', + target: 'books', + labelField: 'name', + component: { + showInTable: true, + showInDetail: true, + showInForm: true, + }, + }, { interface: 'createdBy', title: '创建人', @@ -87,4 +89,87 @@ export default { }, } ], + views_v2: [ + { + type: 'table', + name: 'table', + title: '全部数据', + labelField: 'name', + actions: [ + { + name: 'filter', + type: 'filter', + title: '过滤', + fields: [ + 'name', + ], + // viewName: 'form', + }, + { + name: 'create', + type: 'create', + title: '新增', + viewName: 'form', + }, + { + name: 'destroy', + type: 'destroy', + title: '删除', + }, + ], + fields: ['name'], + detailsOpenMode: 'drawer', // window + details: ['descriptions', 'books'], + sort: ['id'], + }, + { + type: 'descriptions', + name: 'descriptions', + title: '详情', + fields: ['name'], + actions: [ + { + name: 'update', + type: 'update', + title: '编辑', + viewName: 'form', + }, + ], + }, + { + type: 'form', + name: 'form', + title: '表单', + fields: ['name'], + }, + { + type: 'association', + name: 'books', + title: '书籍', + targetViewName: 'table', + targetFieldName: 'books', + }, + ], + pages_v2: [ + { + title: '全部数据', + name: 'all', + views: ['table'], + }, + { + title: '详情', + name: 'descriptions', + views: ['descriptions'], + }, + { + title: '表单', + name: 'form', + views: ['form'], + }, + { + title: '书籍', + name: 'books', + views: ['books'], + }, + ], }; diff --git a/packages/app/src/api/migrations/collections/books.ts b/packages/app/src/api/migrations/collections/books.ts index 5f651e94b..71c34eb35 100644 --- a/packages/app/src/api/migrations/collections/books.ts +++ b/packages/app/src/api/migrations/collections/books.ts @@ -74,4 +74,75 @@ export default { }, } ], + views_v2: [ + { + type: 'table', + name: 'table', + title: '全部数据', + labelField: 'name', + actions: [ + { + name: 'filter', + type: 'filter', + title: '过滤', + fields: [ + 'name', + ], + // viewName: 'form', + }, + { + name: 'create', + type: 'create', + title: '新增', + viewName: 'form', + }, + { + name: 'destroy', + type: 'destroy', + title: '删除', + }, + ], + fields: ['name'], + detailsOpenMode: 'drawer', // window + details: ['descriptions', 'form'], + sort: ['id'], + }, + { + type: 'descriptions', + name: 'descriptions', + title: '详情', + fields: ['name'], + actions: [ + { + name: 'update', + type: 'update', + title: '编辑', + viewName: 'form', + }, + ], + }, + { + type: 'form', + name: 'form', + title: '表单', + fields: ['name'], + }, + ], + pages_v2: [ + { + title: '全部数据', + name: 'all', + views: ['table'], + }, + { + title: '详情', + name: 'descriptions', + views: ['descriptions'], + }, + { + title: '表单', + name: 'form', + views: ['form'], + }, + ], }; diff --git a/packages/app/src/api/migrations/init.ts b/packages/app/src/api/migrations/init.ts index 24c2fd149..fc7c80002 100644 --- a/packages/app/src/api/migrations/init.ts +++ b/packages/app/src/api/migrations/init.ts @@ -17,134 +17,15 @@ const data = [ type: 'layout', template: 'TopMenuLayout', sort: 10, - children: [ - { - title: '仪表盘', - type: 'page', - path: '/dashboard', - icon: 'DashboardOutlined', - template: 'page1', - sort: 20, - showInMenu: true, - }, - { - title: '数据', - type: 'layout', - path: '/collections', - icon: 'DatabaseOutlined', - template: 'SideMenuLayout', - sort: 30, - showInMenu: true, - children: [ - // { - // title: '页面3', - // type: 'page', - // path: '/collections/page3', - // icon: 'dashboard', - // template: 'page3', - // sort: 40, - // }, - // { - // title: '页面4', - // type: 'page', - // path: '/collections/page4', - // icon: 'dashboard', - // template: 'page4', - // sort: 50, - // }, - ] - }, - { - title: '用户', - type: 'layout', - path: '/users', - icon: 'TeamOutlined', - template: 'SideMenuLayout', - sort: 70, - showInMenu: true, - children: [ - { - title: '用户管理', - type: 'collection', - path: '/users/users', - icon: 'UserOutlined', - template: 'collection', - collection: 'users', - sort: 80, - showInMenu: true, - }, - ] - }, - { - title: '动态', - type: 'layout', - path: '/activity', - icon: 'NotificationOutlined', - template: 'SideMenuLayout', - sort: 85, - showInMenu: true, - children: [ - { - title: '操作记录', - type: 'collection', - path: '/activity/logs', - icon: 'HistoryOutlined', - template: 'collection', - collection: 'action_logs', - sort: 80, - showInMenu: true, - }, - ] - }, - { - title: '配置', - type: 'layout', - path: '/settings', - icon: 'SettingOutlined', - template: 'SideMenuLayout', - sort: 90, - showInMenu: true, - children: [ - { - title: '页面与菜单', - type: 'collection', - collection: 'pages', - path: '/settings/pages', - icon: 'MenuOutlined', - sort: 100, - developerMode: true, - showInMenu: true, - }, - { - title: '数据表配置', - type: 'collection', - collection: 'collections', - path: '/settings/collections', - icon: 'TableOutlined', - sort: 110, - showInMenu: true, - }, - { - title: '权限组配置', - type: 'collection', - collection: 'roles', - path: '/settings/roles', - icon: 'TableOutlined', - sort: 120, - showInMenu: true, - }, - { - title: '自动化配置', - type: 'collection', - collection: 'automations', - path: '/settings/automations', - icon: 'TableOutlined', - sort: 130, - showInMenu: true, - }, - ] - }, - ], + redirect: '/admin', + }, + { + title: '后台', + path: '/admin', + type: 'page', + inherit: false, + template: 'AdminLoader', + order: 230, }, { title: '登录页面', @@ -161,7 +42,7 @@ const data = [ inherit: false, template: 'register', order: 130, - } + }, ]; (async () => { @@ -190,6 +71,7 @@ const data = [ nickname: "超级管理员", password: "admin", username: "admin", + email: 'dev@nocobase.com', token: "38979f07e1fca68fb3d2", }); } @@ -221,14 +103,16 @@ const data = [ }); } const Role = database.getModel('roles'); - const roles = await Role.bulkCreate([ - { title: '系统开发组', type: -1 }, - { title: '匿名用户组', type: 0 }, - { title: '普通用户组', default: true }, - ]); - await roles[0].updateAssociations({ - users: user - }); + if (Role) { + const roles = await Role.bulkCreate([ + { title: '系统开发组', type: -1 }, + // { title: '匿名用户组', type: 0 }, + { title: '普通用户组', default: true }, + ]); + await roles[0].updateAssociations({ + users: user + }); + } const Action = database.getModel('actions'); // 全局 @@ -238,8 +122,116 @@ const data = [ // 导入地域数据 await chinaRegionSeederInit(api); - await database.getModel('collections').import(require('./collections/example').default); - await database.getModel('collections').import(require('./collections/authors').default); - await database.getModel('collections').import(require('./collections/books').default); + // await database.getModel('collections').import(require('./collections/example').default); + // await database.getModel('collections').import(require('./collections/authors').default); + // await database.getModel('collections').import(require('./collections/books').default); + + const Menu = database.getModel('menus'); + + const menus = [ + { + title: '仪表盘', + icon: 'DashboardOutlined', + type: 'group', + children: [ + { + title: '欢迎光临', + icon: 'DatabaseOutlined', + type: 'page', + views: [], + name: 'welcome', + }, + ], + }, + { + title: '数据', + icon: 'DatabaseOutlined', + type: 'group', + children: [], + }, + { + title: '用户', + icon: 'TeamOutlined', + type: 'group', + children: [ + { + title: '用户管理', + icon: 'DatabaseOutlined', + type: 'page', + views: ['users.table'], + name: 'users', + }, + ], + }, + { + title: '动态', + icon: 'NotificationOutlined', + type: 'group', + developerMode: true, + children: [ + { + title: '操作日志', + icon: 'DatabaseOutlined', + type: 'page', + views: ['action_logs.table'], + developerMode: true, + name: 'auditing', + }, + ], + }, + { + title: '配置', + icon: 'SettingOutlined', + type: 'group', + developerMode: true, + children: [ + { + name: 'system_settings', + title: '系统配置', + icon: 'DatabaseOutlined', + type: 'page', + views: ['system_settings.descriptions'], + developerMode: true, + }, + { + name: 'collections', + title: '数据表配置', + icon: 'DatabaseOutlined', + type: 'page', + views: ['collections.table'], + developerMode: true, + }, + { + name: 'menus', + title: '菜单和页面配置', + icon: 'MenuOutlined', + type: 'page', + views: ['menus.table'], + developerMode: true, + }, + { + name: 'permissions', + title: '权限配置', + icon: 'MenuOutlined', + type: 'page', + views: ['roles.table'], + developerMode: true, + }, + { + name: 'automations', + title: '自动化配置', + icon: 'MenuOutlined', + type: 'page', + views: ['automations.table'], + developerMode: true, + }, + ], + }, + ]; + + for (const item of menus) { + const menu = await Menu.create(item); + await menu.updateAssociations(item); + } await database.close(); })(); diff --git a/packages/app/src/app.ts b/packages/app/src/app.ts index 16a18babc..bc329dcc7 100644 --- a/packages/app/src/app.ts +++ b/packages/app/src/app.ts @@ -35,6 +35,9 @@ export const request: RequestConfig = { export async function getInitialState() { const { pathname, search } = location; console.log(location); + const { data: systemSettings = {} } = await umiRequest('/system_settings:get?fields[appends]=logo,logo.storage', { + method: 'get', + }); let redirect = ''; // if (href.includes('?')) { redirect = `?redirect=${pathname}${search}`; @@ -49,11 +52,13 @@ export async function getInitialState() { if (!data.id) { history.push('/login' + redirect); return { + systemSettings, currentUser: {}, }; } return { + systemSettings, currentUser: data, }; } catch (error) { @@ -62,5 +67,8 @@ export async function getInitialState() { } } - return {}; + return { + systemSettings, + currentUser: {}, + }; } \ No newline at end of file diff --git a/packages/app/src/components/actions/style.less b/packages/app/src/components/actions/style.less index 3a699ce2b..0b1edb723 100644 --- a/packages/app/src/components/actions/style.less +++ b/packages/app/src/components/actions/style.less @@ -1,12 +1,11 @@ .action-buttons { display: flex; - justify-content: flex-end; + // justify-content: flex-end; min-height: 32px; + flex-direction: row-reverse; + align-items: flex-start; .action-button { - margin-right: 8px; - &:last-child { - margin-right: 0; - } + margin-left: 8px; } .filter-action-button { position: absolute; diff --git a/packages/app/src/components/form.fields/cascader/index.tsx b/packages/app/src/components/form.fields/cascader/index.tsx index 1f094399b..210d6e393 100644 --- a/packages/app/src/components/form.fields/cascader/index.tsx +++ b/packages/app/src/components/form.fields/cascader/index.tsx @@ -24,17 +24,40 @@ export const Cascader = connect({ })(function (props) { const { disabled, - target, - labelField, - valueField = 'id', - parentField, - maxLevel, - changeOnSelect, + // target, + // labelField, + // valueField = 'id', + // parentField, + // maxLevel, + // changeOnSelect, value = [], onChange, + schema = {}, // TODO(feature): 增加静态数据支持 // dataSource: [] } = props; + const { + target, + targetKey: valueField, + // 值字段 + // valueField: 'code', + // 名称字段 + labelField, + // TODO(refactor): 等 toWhere 重构完成后要改成 parent + // 上级字段名 + parentField, + maxLevel, + // valueField = 'id', + // 深度限制,默认:-1(代表不控制,即如果是数据表,则无限加载) + // limit: -1, + // 可选层级,默认:-1(代表可选的最深层级) + // maxLevel: null, + // 是否可以不选择到最深一级 + // 'x-component-props': { changeOnSelect: true } + incompletely: changeOnSelect, + + } = schema; + const fieldNames = { label: labelField, value: valueField, diff --git a/packages/app/src/components/form.fields/drawer-select/index.tsx b/packages/app/src/components/form.fields/drawer-select/index.tsx index 638f96c86..b11ec0eda 100644 --- a/packages/app/src/components/form.fields/drawer-select/index.tsx +++ b/packages/app/src/components/form.fields/drawer-select/index.tsx @@ -1,6 +1,6 @@ import React, { useState } from 'react' import { connect } from '@formily/react-schema-renderer' -import { Select, Drawer, Button, Space } from 'antd' +import { Select, Button, Space } from 'antd' import { mapStyledProps, mapTextComponent, @@ -9,13 +9,15 @@ import { isArr } from '../shared' import ViewFactory from '@/components/views' +import Drawer from '@/components/pages/AdminLoader/Drawer'; +import View from '@/components/pages/AdminLoader/View'; function transform({value, multiple, labelField, valueField = 'id'}) { let selectedKeys = []; let selectedValue = []; - const values = Array.isArray(value) ? value : []; - selectedKeys = values.map(item => item[valueField]); - selectedValue = values.map(item => { + const values = Array.isArray(value) ? value : [value]; + selectedKeys = values.filter(item => item).map(item => item[valueField]); + selectedValue = values.filter(item => item).map(item => { return { value: item[valueField], label: item[labelField], @@ -27,14 +29,13 @@ function transform({value, multiple, labelField, valueField = 'id'}) { return [selectedKeys, selectedValue]; } -function DrawerSelectComponent(props) { - const { disabled, target, multiple, filter, resourceName, associatedKey, labelField, valueField = 'id', value, onChange } = props; +export function DrawerSelectComponent(props) { + const { __parent, size, schema = {}, disabled, viewName, target, multiple, filter, resourceName, associatedKey, labelField, valueField = 'id', value, onChange } = props; const [selectedKeys, selectedValue] = transform({value, multiple, labelField, valueField }); - const [visible, setVisible] = useState(false); const [selectedRowKeys, setSelectedRowKeys] = useState(multiple ? selectedKeys : [selectedKeys]); const [selectedRows, setSelectedRows] = useState(selectedValue); const [options, setOptions] = useState(selectedValue); - // console.log('valuevaluevaluevaluevaluevalue', value); + const { title = '' } = schema; return ( <> - { - setVisible(false); - }} - footer={[ -
- - - - -
- - ]} - > - { - // 需要返回的是 array - const [selectedKeys, selectedValue] = transform({value: values, multiple: true, labelField, valueField }); - setSelectedRows(selectedValue); - setSelectedRowKeys(selectedKeys); - // console.log('valuevaluevaluevaluevaluevalue', {values, selectedKeys, selectedValue}); - }} - // associatedKey={} - // associatedName={associatedName} - viewName={'table'} - /> -
); } diff --git a/packages/app/src/components/form.fields/filter/index.tsx b/packages/app/src/components/form.fields/filter/index.tsx index 95a349da4..173cac2a4 100644 --- a/packages/app/src/components/form.fields/filter/index.tsx +++ b/packages/app/src/components/form.fields/filter/index.tsx @@ -480,7 +480,7 @@ export const Filter = connect({ ], }; const { value, onChange, associatedKey, filter = {}, sourceName, sourceFilter = {}, fields = [], ...restProps } = props; - + console.log('filter', {associatedKey}) const { data = [], loading = true } = useRequest(() => { return associatedKey ? api.resource(`collections.fields`).list({ associatedKey, diff --git a/packages/app/src/components/form.fields/form-description/index.tsx b/packages/app/src/components/form.fields/form-description/index.tsx index b230926f3..9e2fb54d7 100644 --- a/packages/app/src/components/form.fields/form-description/index.tsx +++ b/packages/app/src/components/form.fields/form-description/index.tsx @@ -6,12 +6,14 @@ import { markdown } from '@/components/views/Field' export const FormDescription = createVirtualBox( 'description', - styled(({ children, className, ...props }) => { + styled(({ schema = {}, children, className, ...props }) => { + const { title, tooltip } = schema as any; + console.log({schema}) return ( - - {typeof children === 'string' && children &&
} + {typeof tooltip === 'string' && tooltip &&
}
) })` diff --git a/packages/app/src/components/form.fields/permissions/index.tsx b/packages/app/src/components/form.fields/permissions/index.tsx index 77d1bbda4..bdba2294f 100644 --- a/packages/app/src/components/form.fields/permissions/index.tsx +++ b/packages/app/src/components/form.fields/permissions/index.tsx @@ -9,6 +9,7 @@ import findIndex from 'lodash/findIndex'; import get from 'lodash/get'; import set from 'lodash/set'; import { Scope } from './Scope'; +import { DrawerSelectComponent } from '../drawer-select'; export const Permissions = {} as {Actions: any, Fields: any, Tabs: any}; @@ -70,11 +71,15 @@ Permissions.Actions = connect({ } const values = [...value||[]]; const index = findIndex(values, (item: any) => item && item.name === `${resourceKey}:${record.name}`); + console.log(values, index, `${resourceKey}:${record.name}`, get(values, [index, 'scope'])); return ( - + // { + // const values = [...value||[]]; + // const index = findIndex(values, (item: any) => item && item.name === `${resourceKey}:${record.name}`); + // if (index === -1) { + // values.push({ + // name: `${resourceKey}:${record.name}`, + // scope_id: data, + // }); + // } else { + // set(values, [index, 'scope_id'], data); + // } + // console.log('valvalvalvalval', {values}) + // onChange(values); + // console.log('valvalvalvalval', data); + // }} + // /> ) } }, diff --git a/packages/app/src/components/form.fields/registry.ts b/packages/app/src/components/form.fields/registry.ts index 192938940..e00ae8d79 100644 --- a/packages/app/src/components/form.fields/registry.ts +++ b/packages/app/src/components/form.fields/registry.ts @@ -24,6 +24,8 @@ import { Permissions } from './permissions' import { DraggableTable } from './draggable-table' import { Values } from './values' import { Automations } from './automations' +import { VirtualTable } from './virtual-table' +import { Wysiwyg } from './wysiwyg' export const setup = () => { registerFormFields({ @@ -44,6 +46,7 @@ export const setup = () => { month: DatePicker.MonthPicker, week: DatePicker.WeekPicker, string: Input, + select: Input, icon: Icon, textarea: Input.TextArea, number: NumberPicker, @@ -60,11 +63,13 @@ export const setup = () => { subTable: SubTable, draggableTable: DraggableTable, values: Values, + wysiwyg: Wysiwyg, 'permissions.actions': Permissions.Actions, 'permissions.fields': Permissions.Fields, 'permissions.tabs': Permissions.Tabs, 'automations.datetime': Automations.DateTime, 'automations.endmode': Automations.EndMode, 'automations.cron': Automations.Cron, + 'virtualTable': VirtualTable, }); } diff --git a/packages/app/src/components/form.fields/remote-select/index.tsx b/packages/app/src/components/form.fields/remote-select/index.tsx index 9d22b73d5..56d202d4f 100644 --- a/packages/app/src/components/form.fields/remote-select/index.tsx +++ b/packages/app/src/components/form.fields/remote-select/index.tsx @@ -12,9 +12,26 @@ import { import { useRequest } from 'umi'; import api from '@/api-client'; import { Spin } from '@nocobase/client' +import get from 'lodash/get'; function RemoteSelectComponent(props) { - const { value, onChange, disabled, resourceName, associatedKey, filter, labelField, valueField = 'id', objectValue, placeholder, multiple } = props; + let { schema = {}, value, onChange, disabled, resourceName, associatedKey, filter, labelField, valueField, objectValue, placeholder, multiple } = props; + console.log({schema}); + if (!resourceName) { + resourceName = get(schema, 'component.resourceName'); + } + if (!filter) { + filter = get(schema, 'component.filter'); + } + if (!labelField) { + labelField = get(schema, 'component.labelField'); + } + if (!valueField) { + valueField = get(schema, 'component.valueField'); + } + if (!valueField) { + valueField = 'id'; + } const { data = [], loading = true } = useRequest(() => { return api.resource(resourceName).list({ associatedKey, @@ -27,6 +44,7 @@ function RemoteSelectComponent(props) { if (multiple) { selectProps.mode = 'multiple' } + console.log({ data, props, associatedKey }) return ( <>