Commit Graph

186 Commits

Author SHA1 Message Date
Zeke Zhang
a2be1a0e33
feat(variable): add current role (#3167)
* feat(variable): add current role

* chore: translate

* feat: parsing in the backend

* fix: fix tests
2023-12-08 19:19:53 +08:00
YANG QIA
ff097936dd
fix(lm): reserve i18n namespaces for plugins to avoid conflicts (#3121)
* fix: fix T-2063

* fix: fix T-2589

* chore: remove translation of page header

* chore: add version check for migration

* chore: switch locale files to JSON format

* fix: bug

* fix(auth): fix translation

* fix: add App provider

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-12-06 14:30:17 +08:00
jack zhang
35b06cbfa0
refactor: plugin settings manager (#2712)
* feat: add settingsCenter

* fix: style bug

* chore: optimized code

* refactor: settingCenter Auth

* feat: add aclSnippet option

* refactor: all plugin's setting center api

* feat: add plugin with name

* docs: add settings-center doc

* fix: settings center menu sort by name

* fix: change setting center layout

* fix: change hello sort

* test: add SettingsCenter.ts test case

* fix: bug

* fix: acl bug

* fix: bug

* fix: bug and 404 page

* fix: test bug

* fix: test bug

* fix: bug

* fix: locale

* fix: styling

* fix: rename settingsCenter to pluginSettingsManager

* fix: styling

* fix: e2e bug

* fix: e2e bug

* fix: locale

* feat: update docs

* fix: update

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-11-13 11:01:18 +08:00
ChengLei Shao
ac3f63b110
feat: drop table with cascade option (#2973)
* refactor: delete collection support cascade

* chore: remove collection from database

* feat: remove collection with cascade option

* chore: test

* chore: test

* chore: delete collection support cascade

* refactor: code improve

* refactor: locale improve

* style: delete collection modal style improve

* revert: filemanger-plugin

* revert: code improve

* revert: code improve

* revert: fix: bluk dele collection

* fix: cascade === true && cascade === 'true'

---------

Co-authored-by: katherinehhh <katherine_15995@163.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-11-06 11:50:37 +08:00
被雨水过滤的空气-Rain
e67107cd2e
refactor(variable): rename (#2937) 2023-10-30 14:57:28 +08:00
被雨水过滤的空气-Rain
e05a30380a
feat(variable): add current parent record (#2857)
* feat(variable): add currentParentRecord

* chore: resolve table actions

* chore: get collection name of parent

* chore: table block and details block

* chore: list block

* chore: grid card block

* chore: calendar

* fix: bulk button

* refactor: use useMemo

* fix: fix form block
2023-10-19 22:55:05 +08:00
katherinehhh
c923dfafed
refactor(duplicate action):duplicate fields error when change duplicate mode & support unselect all (#2768)
* refactor: depulication action

* refactor: depulication action
2023-10-09 14:29:26 +08:00
katherinehhh
7dd7a65a38
feat: association support select cascade for tree collection field (#2514)
* feat: association field support cascade select

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: locale improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: cascadeSelect support m2m association field

* refactor: cascadeSelect support m2m association field

* refactor: code improve

* feat(database): append with options

* feat: recursively load parent instances

* chore: test

* refactor: code improve

* fix: load with appends

* refactor: code improve

* chore: test

* refactor: code improve

* refactor: code improve

* refactor: code improve

* chore: load with belongs to many

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

---------

Co-authored-by: ChengLei Shao <chareice@live.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-09-25 18:18:14 +08:00
YANG QIA
89635982b4
feat(db): add sql collection (#2419)
* feat(db): add sql collection

* feat: frontend

* perf: issue of select

* fix: sql model

* fix: sql collection schema

* fix: implement sql collection

* fix: dependency

* fix: remove type declaration in actions

* fix: backend test

* chore: remove some ops of block using sql collection

* chore: remove sql collections from Form and Kanban

* feat: add execute button to sql input

* feat(backend): support infer fields by parsing sql

* feat(frontend): support infer interface by parsing sql

* fix: fix update issues and improve

* fix: update issue

* chore: update yarn.lock

* fix: fix T-1548

* fix: fix T-1544

* fix: fix T-1545

* fix: fix T-1549

* fix: test

* fix: fix T-1556

* fix: remove map action diviver

* chore: debug

* chore: remove schema of sql collection

* fix: sql collection schema

* chore: remove debug log & fix T-1555

* fix: fix T-1679

* fix: sql update issue

* fix: sql attribute issue

* fix: bug of star attribute

* fix: test

* fix: test

* fix: reset fields when updating sql collection

* fix(collection-manager): redundant fields after set collection fields

* fix: test

* fix: destory with individuals hook

* chore: save

* chore: test

* fix: fields sync issue

* fix: remove underscored option of sql collection

* chore: mutex in fields.afterDestroy

* fix: test

* chore: yarn.lock

* chore: update collections.setFields

* feat: improve sql input

* fix: fix T-1742 & improve

* chore: fix conflicts

* fix: workspace

* fix: build

* fix: test

* chore: add translations

* fix: reviewed issues

* chore: update yarn.lock

---------

Co-authored-by: ChengLei Shao <chareice@live.com>
2023-09-25 15:03:23 +08:00
jack zhang
705b7449f0
feat: new plugin manager, supports adding plugins through UI (#2430)
* refactor: plugin manager page

* fix: bug

* feat: addByNpm api

* fix: improve the addByNpm

* feat: improve applicationPlugins:list api

* fix: re-download npm package when restart app

* fix: plugin delete api

* feat: plugin detail api

* feat: zipUrl add api

* fix: upload api bug

* fix: plugin detail info

* feat: upgrade api

* fix: upload api

* feat: handle plugin load error

* feat: support authToken

* feat: muti lang

* fix: build error

* fix: self review

* Update plugin-manager.ts

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: bugs

* fix: detail click and remove isOfficial

* fix: upgrade no refresh

* fix: file size and type check

* fix: bug

* fix: upgrade error

* fix: bug

* fix: bug

* fix: plugin card layout

* fix: handling exceptional cases

* fix: tgz file support

* fix: macos compress file

* fix: bug

* fix: bug

* fix: bug

* fix: bug

* fix: add upgrade npm type

* fix: bugs

* fix: bug

* fix: change plugins static expose url

* fix: api prefix

* fix: bug

* fix: add nginx `/static/plugin/` path

* fix: bugs and pr docker build no dts

* fix: bug

* fix: build tools bug

* fix: improve code

* fix: build bug

* feat: improve plugin info

* fix: ui bug

* fix: plugin document bug

* feat: improve code

* feat: improve code

* feat: process dev deps check

* feat: improve code

* feat: process.env.IS_DEV_CMD

* fix: do not delete the plugin package

* feat: plugin symlink

* fix: tsx watch --ignore=./storage/plugins/**

* fix: test error

* fix: improve code

* fix: improve code

* fix: emitStartedEvent

* fix: improve code

* fix: type error

* fix: test error

* test: console.log

* fix: createStoragePluginSymLink

* fix: clientStaticMiddleware rename to clientStaticUtils

* feat: build tools support plugins folder

* fix: 350px

* fix: error

* feat: client dev support plugin folder

* fix: clear cli options

* fix: typeError: Converting circular structure to JSON

* fix: plugin name

* chore: restart application after command

* feat: upgrade error & docs

* Update v14-changelog.md

* Update v14-changelog.md

* Update v14-changelog.md

* fix: gateway test

* refactor(plugin-workflow): add ready state for gracefully tearing down

* Revert "chore: restart application after command"

This reverts commit 5015274f8e4e06e506e15754b672330330e8c7f8.

* chore: stop application whe restart

* T 1218 change plugin folder (#2629)

* feat: change folder name

* feat: change `pm create` command

* feat:  revert plugin name change

* fix: delete samples

* feat: change plugins folder

* fix: pm create

* feat: update docs

* fix: link package error

* fix: docs

* fix: create command

* fix: pm add error

* fix: create  add build

* fix: pm creatre + add

* feat: add tar command

* fix: docs

* fix: bug

* fix: docs

---------

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

* feat: docs

* Update your-fisrt-plugin.md

* Update your-fisrt-plugin.md

* chore: application reload

* chore: test

* fix: pm add error

* chore: preset install skip exists plugin

* fix: createIfNotExists

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: chareice <chareice@live.com>
Co-authored-by: Zhou <zhou.working@gmail.com>
Co-authored-by: mytharcher <mytharcher@gmail.com>
2023-09-12 22:39:23 +08:00
YANG QIA
f736085af6
chore: remove username interface (#2621) 2023-09-09 00:28:35 +08:00
chenos
0663844573 fix: improve translation 2023-08-24 18:39:54 +08:00
ChengLei Shao
39ee4b8873
feat: application supervisor (#2353)
* chore: skip sync localization-management plugin enable status

* chore: unSyncPlugins array

* chore: remove install at dev

* chore: gateway and supervisor

* chore: install command

* chore: remove app manager

* chore: share plugin

* chore: wsserver

* chore: websocket server

* chore: websocket connection with app status

* feat: socket server at gateway

* chore: loading message

* chore: ready status

* chore: handle app error

* feat: restart app at supervisor

* feat: health check endpoint

* chore: test

* chore: test

* chore: test

* chore: test

* chore: build

* chore: test

* chore: build

* chore: application ready status

* chore: error message

* chore: handle application error

* chore: handle error in load

* chore: report error in websocket

* chore: ws error

* chore: ws error

* chore: typo

* chore: switch app ready status at install

* chore: test

* chore: test

* chore: test

* chore: test

* feat: add WebSocket client

* chore: start gateway

* chore: start command in application

* chore: code

* chore: pm command

* chore: run start after load sub app

* feat: application fsm

* refactor: server life cycle (#2402)

* refactor: server life cycle

* fix: test error

* fix: test error

* fix: test error

* fix: app.start

* fix: cronjob stop

* fix: db.sync before upgrade

* fix: pm.get

* fix: test error

* fix: test error

* fix: test error

* test: add test cases

* fix: remove PluginType

* chore: start application after install

* chore: fsm

* chore: working status

* chore: working command

* chore: remove swith app ready status

* chore: switch status after working done

* chore: ws status

* chore: gateway error

* chore: test

* chore: stopping status

* chore: test

* chore: test

* feat: app proxy

* chore: application destory

* chore: application message changed with status

* chore: test

* chore: test timeout

* test: remove listener add by plugin

* test: remove listener add by plugin

* chore: test

* feat: app maintaining

* fix: add AppMaintainingDialog

* feat: off

* test: gateway http response

* test: gateway with errors

* chore: unkown error

* chore: websocket message

* chore: ws message

* chore: code

* chore: error format

* chore: delay app load

* feat: improve code

* chore: application initializing status

* chore: supervisor with app status

* chore: command status response

* chore: test

* chore: ws message

* chore: test

* fix: command running message

* feat: restart

* chore: code

* chore: status transition

* chore: test

* fix: improve code

* fix: error

* fix: restart

* fix: command

* chore: reset client app tag when app selector changed

* chore: error report

* fix: application status

* fix: build

* chore: disable help command dispatch

* chore: test

* test: multi apps test

* fix: improve code

* fix: test

* fix: test

* fix: multi apps single running

* fix: improve code

* fix: app status

* chore: move plugin static file to gateway

* feat: static file handler

* chore: test

* chore: enable plugins in share collection

* chore: gateway serve upload files

* fix: improve client

* chore: ws nginx config

* fix: gateway with naonoid

* fix: db sync

* fix: loading

* fix: ping

* fix: locale load

* fix: yarn start --quickstart

* fix: add debug log

* chore: application started event

* chore: running working message payload

* chore: nginx log

* chore: nginxconf

* chore: working message log

* feat: logs

* feat: compression

* fix: remove koa-send and koa-static

* fix: remove -e

* fix: remove nginx

* fix: remove -e

* fix: __appName

* chore: delay install sub application

* chore: sync plugin status

* fix: boot sub app

* fix: main app reload

* fix: test

* fix: app status

* test: field.bind block event loop

* feat: newrelic

* feat: debug log

* chore: upgrade

* fix(file-manager): test error

* fix: default app selector

* fix: reload after maintained

* chore: boot sub app

* chore: application destroy command

* chore: destroy command

* chore: clean code

* chore: package.json

* chore: maintaining message

* chore: test

* fix: collection.sync

* feat: add test cases

* chore: application

* fix: test error

* feat: improve codes and add test cases

* fix: test error

* fix: pm enable and disable

* fix: pm.disable

* feat: update docs

* chore: update dockerfile

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-08-24 17:47:45 +08:00
YANG QIA
be6b949f55
feat(auth): support signing in with username (#2376)
* feat(auth): support signing in with username

* chore: compatibility && add INIT_ROOT_USERNAME

* chore: add default username of root user

* chore: add notice

* fix: typo

* chore: change rule of username

* fix: sqlite add unique constraint

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-08-19 22:02:26 +08:00
Junyi
dea4c6f9c7
feat(plugin-workflow): add sort and pagination to query node params (#2453)
* refactor(core): expose some utils and constants

* feat(plugin-workfow): add sort and pagination to query node params

* fix(plugin-workflow): fix job result json style

* fix(plugin-workflow): fix sort param

* fix(plugin-workflow): fix test cases
2023-08-14 20:32:51 -07:00
chenos
15504c2813 fix: improve translation 2023-08-12 10:18:47 +08:00
Junyi
86e672e9bb
feat(plugin-workflow): add form trigger type (#2347)
* feat(plugin-workflow): add form trigger

* test(plugin-workflow): add test cases

* fix(client): fix component warning

* fix(plugin-workflow): fix context data for create and update

* fix(plugin-workflow): allow to select any form type workflow in configuration

* fix(client): fix tree component value

* fix(client): fix value render in component

* fix(plugin-workflow): fix context load

* fix(client): fix type

* fix(client): fix type

* fix(plugin-workflow): fix params

* fix(plugin-workflow): fix required

* fix(plugin): fix context not matching collection error

* fix(plugin-workflow): fix test cases

* refactor(plugin-workflow): change trigger workflow action config to cascaded

* fix(plugin-workflow): remove useless locale

* fix(client): adjust locale

* fix(client): remove useless locale
2023-08-09 12:12:57 +08:00
katherinehhh
d333ad201a
feat(association-field): association field support sub-form(popover) (#2373)
* refactor: association field support sub-form(popover)

* refactor: code improve

* refactor: code improve

* refactor: sub-table support field component cinfig

* refactor: sub-table support field component cinfig

* refactor: sub-table support field component cinfig

* refactor: code improve

* refactor: code improve

* refactor: useAssociationNames

* refactor: locale improve

* refactor: locale improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* fix: code improve

* refactor: code refactor

* style: style improve

* Update database.ts

* refactor: code imporve

* refactor: code imporve

* style: style improve

* style: style improve

* refactor: code imporve

* style: style improve

* refactor: code imporve

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-08-04 09:48:03 +08:00
jack zhang
5df3b0e75d
refactor!: plugins build and plugins load (#2253)
* refactor: plugin build and plugin template

* refactor: plugins' deps

* refactor: plugins bugs

* feat: add plugin static middleware

* fix: bugs

* refactor: frontend plugin add from remote

* refactor: delete useless app/client/plugins

* fix: requirejs move to local

* fix: tests case

* refactor: add src/client and src/server dir check

* fix: lodash tree shaking

* refactor: add BUILD_TIP

* refactor: add file size tip

* fix: bugs

* fix: bug

* fix: change china-division

* fix: change plugins response

* fix: recover dynamicImport

* fix: change server src entry

* fix: test error

* fix: plugins sourcemap => false

* fix: production file error

* refactor: change build tools to vite and tsup

* fix: yarn.lock

* fix: bugs

* fix: server build bugs

* fix: delete .fatherrc.ts

* fix: bug

* fix: bug

* fix: bugs

* fix: bugs

* fix: bugs

* refactor: add plugin d.ts

* refactor: delete fatherrc

* refactor: delete father scripts

* refactor: build bug

* fix: bug

* fix: deps adjust

* fix: add build tips

* fix: bug

* refactor: ignore plugins when build client

* docs: update doc

* refactor: docs and build

* fix: bug

* refactor: build deps

* fix: add USER_REMOTE_PLUGIN env

* feat: add plugin static cache

* feat: add build deps cache

* fix: bugs

* test: add test

* fix: add plugin depden on plugin tip

* fix: adjust shouldDevDependencies

* fix: deps

* fix: ajust deps

* fix: mobile style error

* fix: map error

* fix: test

* fix: bug

* feat: lodash and dayjs import from themself

* feat: @emotion/css 、ahooks and lodash to global

* fix: theme-editor plugin error

* fix: review

* feat: move all plugins' dependencies to devDependencies

* feat: change build

* feat: add devPlugins

* fix: bug

* fix: bugs

* fix: bugs

* fix: bugs

* feat: build bugs

* fix: bugs

* fix: bugs

* fix: review

* fix: bug

* fix: change deps build

* fix: bugs

* fix: bug

* fix: bug

* fix: bugs

* fix: bug

* fix: bug

* fix: multi language

* fix: dist

* fix: cronstrue

* fix: getPackageClientStaticUrl

* fix: antd dayjs locale

* fix: plugin' d.ts import from dist

* fix: multi language

* fix: build types error

* fix: requireModule

* fix: plugin lifecycle

* fix: client resource

* fix: improve code

* fix: locale

* feat: custom build

* fix: require locale

* fix: improve code

* fix: improve code

* fix: skip preset

* fix: collection undefined

* feat: yarn build

* fix: remove enabled

* fix: update dockerfile

* fix: formily version

* docs: update v12 changelog

* fix: devDependencies

* feat: @nocobase/app

* feat: generateAppDir

* fix: improve code

* fix: 0.11.1-alpha.5

* fix: missing @nocobase/client

* fix: error

* fix: add .npmignore

* feat: upgrade antd version

* fix: dependencies

* fix: peerDependencies

* fix: remove china-division dep

* fix: toposort deps

* fix: update dockerfile

* fix: plugin template

* fix: app client outputPath

* feat: update docs

* fix: nginx server root

* fix: storage/.app-dev

* fix: getChinaDivisionData

* feat: plugin info

* feat: update docs

* fix: docs menu

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-08-02 00:07:52 +08:00
katherinehhh
18bf6e507e
refactor(association field): association field support tag field mode (#2251)
* refactor: association field support tag field mode

* refactor: association field support tag field mode

* refactor: locale improve

* refactor: color field

* refactor: locale improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: colorPicker refactor

* refactor: colorPicker refactor

* fix: color field failed to config  defaultValue

* style: style improve

* refactor: code improve

* fix: merge bug

* refactor: color field defaultValue

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-07-31 16:23:04 +08:00
katherinehhh
8f1d0d80af
refactor: form data templates and depulicate action support sync from form fields (#2314)
* refactor: sync from form fields

* refactor: sync from form fields

* refactor: sync from form fields

* refactor: data fields

* refactor: traverseFields

* refactor: traverseFields

* refactor: locale improve

* fix: merge bug

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: depulicate action support sync form form fields

* refactor: code refactor

* refactor: direct duplicate support select all

* refactor: code improve

* refactor: code improve

* refactor: hasOne and hasMany avaliable for deplicate

* refactor:  code improve

* refactor: locale improve

* refactor: code improve

* refactor: code improve
2023-07-31 16:17:18 +08:00
dijoux
a80815c5ad
Feat/translation fr_FR (#2275)
* feat: client and plugin translation FR

* fix: fr translation

* fix: fr translation
2023-07-25 15:04:35 +08:00
katherinehhh
18900d54f4
feat: customize action support create record for any collection (#2264)
* feat: customize button support customize add record

* refactor: code improve

* refactor: schemaSetting default value

* refactor: schemaSetting default value

* refactor: schemaSetting default value

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: locale improve

* refactor: code improve

* fix: fix style of default variable input (T-1154)

* fix: merge bug

---------

Co-authored-by: Rain <958414905@qq.com>
2023-07-25 14:51:45 +08:00
katherinehhh
b42e3b4042
refactor: form data template support data scope config (#2229)
* refactor: data template support data scope config

* refactor: data template support data scope config

* refactor: locale improve

* refactor: code improve

* refactor: data template config data scope and title field should  linkage with collection field

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: locale improve

* refactor: locale improve

* refactor: code improve
2023-07-25 14:42:30 +08:00
katherinehhh
137e3eb171
refactor: date field UI supports configuration formatting (#2241)
* refactor: support format in datetime field

* refactor: support format config  in datetime field

* fix: datetime field support dateformat config

* fix: datetime field support dateformat config

* refactor: table column support date format config

* refactor: table column support date format config

* refactor: table column support date format config

* refactor: code improve

* refactor: code improve

* fix: merge bug

* fix: merge bug

* style: style improve

* Update index.tsx

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: locale improve

* refactor: locale improve

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-07-25 13:51:50 +08:00
chenos
d8529e1d06
refactor: add locale plugin (#2261)
* refactor: add locale plugin

* fix: dayjs locale
2023-07-18 15:30:58 +08:00
ChengLei Shao
3510531182
feat(database): view collection support for add new, update and delete actions (#2119)
* feat: writeableView options in view collection

* refactor: view collection support edit

* refactor: view collection support edit

* refactor: view collection support edit

* refactor: view collection support edit

* test: insert into view with join table

* chore: typo

* chore: package.json

* chore: sql parser

* chore: query interface

* chore: test

* feat: update view collection

* chore: test

* chore: test

* chore: github action pg version

* fix: params in update and delete

* refactor: locale improve

---------

Co-authored-by: katherinehhh <katherine_15995@163.com>
2023-07-14 14:49:12 +08:00
jack zhang
2cb1203aa4
refactor(client)!: application, router and plugin (#2068)
BREAKING CHANGE:

* refactor: update umi version 3.x to version 4.x

* refactor: update react-router-dom version to 6.x

* refactor(react-router-dom): change Layout Component `props.children` to `<Outlet />`

* refactor(react-router-dom): change <Route /> props and <RouteSwitch /> correct

* refactor(react-router-dom): replace `<Redirect />` to `<Navigate replace />`

* refactor(react-router-dom): replace `useHistory` to `useNavigate`

* refactor(react-router-dom): replace `useRouteMatch` to `useParams`

* refactor(react-router-dom & dumi): fix <RouteSwitch /> & umi document bug

* refactor(react-router-dom): `useRoutes` Optimize `<RouteSwitch />` code

* refactor(react-router-dom): update `Route` types and docs

* refactor(react-router-dom): optimize RouteSwitch code

* refactor(react-router-dom): `useLocation` no generics type

* refactor(react-router-dom): add `less v3.9.0` to `resolutions` to solve the error of `gulp-less`

* refactor(react-router-dom): fix `<RouteSwitch />`  `props.routes` as an array is not handled

* chore: upgrade `dumi` and refactor docs

* fix: completed code review, add `targets` to solve browser compatibility & removed `chainWebpack`

* refactor(dumi): upgraded dumi under `packages/core/client`

* refactor(dumi): delete `packages/core/dumi-theme-nocobase`

* refactor(dumi): degrade `react`  & replace `dumi-theme-antd` to `dumi-theme-nocobase`

* refactor(dumi): solve conflicts between multiple dumi applications

* fix: login page error in react 17

* refactor(dumi): remove less resolutions

* refactor(dumi): umi add `msfu: true` config

* fix: merge bug

* fix: self code review

* fix: code reivew and test bug

* refactor: upgrade react to 18

* refactor: degrade react types to 17

* chore: fix ci error

* fix: support routerBase & fix workflow page params

* fix(doc): menu externel link

* fix: build error

* fix: delete

* fix: vitest error

* fix: react-router new code replace

* fix: vitest markdown error

* fix: title is none when refresh

* fix: merge error

* fix: sidebar width is wrong

* fix: useProps error

* fix: side-menu-width

* fix: menu selectId is wrong & useProps is string

* fix: menu selected first default & side menu hide when change

* fix: test error & v0.10 change log

* fix: new compnent doc modify

* fix: set umi `fastRefresh=false`

* refactor: application v2

* fix: improve code

* fix: bug

* fix: page = 0 error

* fix: workflow navigate error

* feat: plugin manager

* fix: afterAdd

* feat: complete basic functional refactor

* fix: performance Application

* feat: support client and server build

* refactor: nocobase build-in plugin and providers

* fix: server can't start

* refactor: all plugins package `Prodiver` change to `Plugin`

* feat: nested router and change mobile client

* feat: delete application-v1 and router-switch

* feat: improve routes

* fix: change mobile not nested

* feat: delete RouteSwitchContext and change buildin Provider to Plugin

* feat: delete RouteSwitchContext plugins

* fix: refactor SchemaComponentOptions

* feat: improve SchemaComponentOptions

* fix: add useAdminSchemaUid

* fix: merge master error

* fix: vitest error

* fix: bug

* feat: bugs

* fix: improve code

* fix: restore code

* feat: vitest

* fix: bugs

* fix: bugs

* docs: update doc

* feat: improve code

* feat: add docs and imporve code

* fix: bugs

* feat: add tests

* fix: remove deps

* fix: muti app router error

* fix: router error

* fix: workflow error

* fix: cli error

* feat: change NoCobase -> Nocobase

* fix: code review

* fix: type error

* fix: cli error and plugin demo

* feat: update doc theme

* fix: build error

* fix: mobile router

* fix: code rewview

* fix: bug

* fix: test bug

* fix: bug

* refactor: add the "client" directory to all plugins

* refactor: modify samples client and plugin template

* fix: merge error

* fix: add files in package.json

* refactor: add README to files in package.json

* fix: adjust plugins depencies

* refactor: completing plugins' devDependencies and dependencies

* fix: bug

* refactor: remove @emotion/css

* refactor: jsonwebtoken deps

* refactor: remove sequelize

* refactor: dayjs and moment deps

* fix: bugs

* fix: bug

* fix: cycle detect

* fix: merge bug

* feat: new plugin bug

* fix: lang bug

* fix: dynamic import bug

* refactor: plugins and example add father config

* feat: improve code

* fix: add AppSpin and AppError components

* Revert "refactor: plugins and example add father config"

This reverts commit 483315bca5524e4b8cbbb20cbad77986f081089d.

# Conflicts:
#	packages/plugins/auth/package.json
#	packages/plugins/multi-app-manager/package.json
#	packages/samples/command/package.json
#	packages/samples/custom-collection-template/package.json
#	packages/samples/ratelimit/package.json
#	packages/samples/shop-actions/package.json
#	packages/samples/shop-events/package.json
#	packages/samples/shop-modeling/package.json

* feat: update doc

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-07-07 14:35:22 +08:00
katherinehhh
566668daa1
refactor: enable child collection support current object (#2188)
* refactor: enable child collection support current object

* refactor: locale improve
2023-07-06 11:30:45 +08:00
katherinehhh
046a0b4f4d
feat(collection-manager): tableOID field and collection field (#2161)
* feat: support tableOid interface

* chore: child collection filter operator

* chore: test

* refactor: support tableOid and collection field

* chore: test

* fix: refactor: collectionSelect

* refactor: support linkage from form in add child

* refactor: add child support linkage form form

* refactor: code improve

* feat: support undefined value in childIn query

* chore: test

* refactor: locale improve

* refactor: code  improve

* refactor: code  improve

* refactor: tableoid only support pg

* refactor: tableoid only support pg

* refactor: code improve

* refactor: collection operator

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: collection field support options config

* refactor: collection field support options config

* feat: tableoid migration

* fix: item.options?.inherits

---------

Co-authored-by: ChengLei Shao <chareice@live.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-07-04 23:16:49 +08:00
yaroslav.kr
dd3e872b06
Add *.pdf preview (#2105)
* Create uk-UA.json

added Ukrainian locale json

* Add files via upload

* fix

* Update uk_UA.ts

* feat(client): add pdf preview

* feat(client): add pdf preview to upload

* fix: refactor pdf preview

---------

Co-authored-by: alexkash <kashmensky@gmail.com>
2023-06-27 16:00:41 +08:00
katherinehhh
7c5df477f3
fix: deleting the last field from sub table, the entire table will be delete (#2077)
* fix:  deleting the last field from  sub table, the entire table will be deleted

* refactor: association select support data scope in sub-table

* refactor: locale improve

* style: sub-table style improve
2023-06-25 14:01:52 +08:00
katherinehhh
cb52b80cf0
feat: data scope support variables for association fields (#2049)
* feat: association field support data scope

* refactor: association data scope

* refactor: association data scope local

* refactor: association data scope

* refactor: association data scope  code improve

* refactor: code improve

* fix: useFormVariable

* fix: useFormVariable

* chore: useFormVariable

* chore: useFormVariable

* chore: useFormVariable

* chore: useFormVariable

* refactor: locale improve

* refactor: locale improve

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-06-22 20:19:34 +08:00
jack zhang
d76e8fb87f
refactor: upgrade umi, react and react-router-dom (#1921)
* refactor: update umi version 3.x to version 4.x

* refactor: update react-router-dom version to 6.x

* refactor(react-router-dom): change Layout Component `props.children` to `<Outlet />`

* refactor(react-router-dom): change <Route /> props and <RouteSwitch /> correct

* refactor(react-router-dom): replace `<Redirect />` to `<Navigate replace />`

* refactor(react-router-dom): replace `useHistory` to `useNavigate`

* refactor(react-router-dom): replace `useRouteMatch` to `useParams`

* refactor(react-router-dom & dumi): fix <RouteSwitch /> & umi document bug

* refactor(react-router-dom): `useRoutes` Optimize `<RouteSwitch />` code

* refactor(react-router-dom): update `Route` types and docs

* refactor(react-router-dom): optimize RouteSwitch code

* refactor(react-router-dom): `useLocation` no generics type

* refactor(react-router-dom): add `less v3.9.0` to `resolutions` to solve the error of `gulp-less`

* refactor(react-router-dom): fix `<RouteSwitch />`  `props.routes` as an array is not handled

* chore: upgrade `dumi` and refactor docs

* fix: completed code review, add `targets` to solve browser compatibility & removed `chainWebpack`

* refactor(dumi): upgraded dumi under `packages/core/client`

* refactor(dumi): delete `packages/core/dumi-theme-nocobase`

* refactor(dumi): degrade `react`  & replace `dumi-theme-antd` to `dumi-theme-nocobase`

* refactor(dumi): solve conflicts between multiple dumi applications

* fix: login page error in react 17

* refactor(dumi): remove less resolutions

* refactor(dumi): umi add `msfu: true` config

* fix: merge bug

* fix: self code review

* fix: code reivew and test bug

* refactor: upgrade react to 18

* refactor: degrade react types to 17

* chore: fix ci error

* fix: support routerBase & fix workflow page params

* fix(doc): menu externel link

* fix: build error

* fix: delete

* fix: vitest error

* fix: react-router new code replace

* fix: vitest markdown error

* fix: title is none when refresh

* fix: merge error

* fix: sidebar width is wrong

* fix: useProps error

* fix: side-menu-width

* fix: menu selectId is wrong & useProps is string

* fix: menu selected first default & side menu hide when change

* fix: test error & v0.10 change log

* fix: new compnent doc modify

* fix: set umi `fastRefresh=false`

* refactor: application v2

* fix: improve code

* fix: bug

* fix: page = 0 error

* fix: workflow navigate error

* feat: plugin manager

* fix: afterAdd

* feat: update docs

* feat: update docs

* fix: page tab change not work

* fix: login redirect query param doesn't work

* fix: bug and doc

* feat: update docs

* fix: ci error

* fix: merge main

* feat: update docs

* feat: update docs

* feat: update docs

* chore(versions): 😊 publish v0.10.0-alpha.1

* fix: translations

* chore: backend node test max old space size

* docs: add useSearchParams

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: ChengLei Shao <chareice@live.com>
2023-06-20 11:48:02 +08:00
Junyi
ebdbc2dae3
fix(client): fix locale (#2074) 2023-06-18 21:01:14 -07:00
katherinehhh
4faf64f905
refactor(association-field): support sub table (#1862)
* fix: association select support data scope and sort setting

* fix: appends on demand loading

* fix: asociationSelect support multiple

* fix: recordPicker -> AssociationField

* fix: add migration

* fix: audit logs not show assication data

* fix: flattenNestedList

* refactor: file manager field mode

* refactor: field mode refactor

* fix: subtable action

* fix: subtable appends

* refactor: code improve

* fix: nester add new

* feat: sub table

* fix: data scope not effect immediately

* fix: association add new

* fix: association field failed to  add new and mutual influence

* style: style improve

* style: style improve

* refactor: updateAssociationValues

* refactor: form init values

* refactor: select options

* fix: form initialValues

* fix: record picker values

* fix: field value change when field mode change

* fix: select data scope

* feat: add migration

* fix: table column enable link

* fix: table column enable link

* refactor: locale improve

* fix: migration

* fix: mutiple config

* fix: readPretty enable link

* fix: appends on demand

* fix: enable link style

* refactor: locale improve

* refactor: locale improve

* feat: sub-form migration

* fix: skip migration

* fix: translation

* fix: skip migration

* fix: getLabelFormatValue

* fix: error TS2339: Property 'find' does not exist on type 'string | SchemaEnum<any>'

* refactor: remove the logic code for converting old record picker

* refactor: locale

* refactor: association field support sub-table

* refactor: locale

* fix: sub-table should not support add new

* refactor: code improve

* refactor: locale

* fix: compatibility history Subtable

* fix: getNesterAppends filter bug

* refactor: useFieldModeOptions

* refactor: subTable

* fix: associationSelect

* fix: associationSelect

* fix: associationSelect

* fix: getAssociationAppends

* fix: sub-form collection context

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* fix: sub-table

* fix: appends

* fix: sub-table-appends

* fix: undefine id

* fix: sub-table appends

* refactor: sub-table

* refactor: sub-table supoort delete

* fix: sub-table-appends

* refactor: sub table initvvalue

* fix: sub-table-appends

* fix:  association field appends

* fix:  association field appends

* fix:  association field appends

* style: style improve

* style: style improve

* refactor: textArear Markdown RichText

* style: style improve

* fix: title field

* refactor: code improve

* fix: system fields are not allowed to be edited

* refactor: subtable does not support inline operations

* refactor: jons edit in table

* refactor: sequence readOnly in table

* refactor: json readOnly in table

* fix: sub-table appends

* fix: runWhenParamsChanged

* fix: runWhenParamsChanged

* fix: sub-table appends

* fix: sub-table appends

* refactor: sub-table

* style: checkbox group intable

* style: delete button style improve

* fix: json edit in table

* fix: sub-table appends

* style: upload file in table column

* refactor: map edit in table

* refactor: map edit in table

* refactor: map field display in sub-table

* fix: support mutiple row

* refactor: sub-table

* refactor: sub-table not support sortable

* fix: sub-table appends

* fix: sub-table appends

* chore: useAssociationNames

* refactor: code improve

* refactor: support blocktemplate

* refactor: support blocktemplate

* fix: subtable

* fix: subtable initValue

* refactor: useAssociationNames in block template

* fix: cross hierarchical association field layout

* fix: normal field of association field should be append

* style: upload field in table

* refactor: sub table should not row selection

* style: checkboxGroup and radioGroup display in sub-table

* refactor: locale

* refactor: code improve

* refactor: quickEdit in sub-table

* refactor: quickEdit

* refactor: quickEdit

* refactor: quickEdit

* refactor: quickEdit

* style: quickEdit style improve

* style: quickEdit style improve

* style: quickEdit style improve

* refactor: sub-table support required config

* refactor: cell validate

* refactor: cell validate

* refactor: cell required validate

* refactor: cell required validate

* refactor: sub-table display when readPretty

* refactor: sub-table required

* refactor: sub-table required

* refactor: sub-table required

* refactor: sub-table initialValue

* refactor: table

* refactor: sub-tble field  required

* refactor: sub-table style improve

* refactor: sub-table attachemnt

* refactor: code improve

* test: tableV2 snap

* fix: subtable drag

* test: tableV2 snap

* refactor: checkbox group and radio group in sub-table

* refactor: sub-table required style

* style: markdown style in sub-table

* refactor: markdown display in sub-table

* refactor: json field display in sub-table

* refactor: code improve

* style: style improve

* style: style improve

* refactor: inserView when designable

* refactor:  china-region load data when dropdown click

* refactor: code improve

* refactor: code improve

* refactor: display loading when the form is first loaded

* refactor: display loading when the form is first loaded

* fix: verification exception when deleting sub table rows

* refactor: sub-table code improve

* refactor: sub-table code improve

* fix: json error feedback

* refactor: code improve

* fix: json onchange

* fix:  sub table data did not change when switching data templates

* test: variable test

* test: variable test

* refactor: data template

* refactor: code improve

* refactor: code improve

* fix: upload readpretty

* fix: attach upload in sub-tabl

* fix: remove small

* fix: attach upload in sub-table

* refactor: association fields should not display in sub-table

* fix: dropdownMatchSelectWidth

* refactor: association fields should not display in sub-table

* refactor: selectFile is false in sub-table

* refactor: attacattachment in sub-table

* refactor: attacattachment in sub-table

* fix: selector style

* refactor: quick edit component

* fix: zindex

* style: style improve

* style: style improve

* feat: styling

* fix: style

* fix: style

* refactor: quickEdit getContainer

* refactor: quickEdit

* refactor: quickEdit

* fix: improve code

* refactor: code improve

* refactor: code improve

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-06-16 12:07:43 +08:00
katherinehhh
70890f2f50
feat(association field):quick add new (#1953)
* refactor: association select support quieck add

* chore: tmp commit

* refactor: association select support quick add

* feat: firstOrCreate

* refactor: locale

* refactor: create api

* chore: firstOrCreate

* feat: updateOrCreate

* chore: test

* refactor: save mode edit in add new form

* feat: values to filter

* refactor: loacle improve

* refactor: loacle improve

* refactor: loacle improve

* feat: firstOrCreate http api

* refactor: code improve

* fix: build error

* refactor: local

* refactor: locale improve

* refactor: useCollectionFieldsOptions

* fix: code imprtove

* refactor: code improve

* refactor: dropdown open

* refactor: add new mode

* refactor: add new mode code improve

* refactor: add new mode code improve

* refactor: add new mode code improve

---------

Co-authored-by: chareice <chareice@live.com>
2023-06-15 16:40:42 +08:00
katherinehhh
7abfbe7be4
fix: duplicate action locale (#2052) 2023-06-15 16:04:27 +08:00
YANG QIA
24601aa66f
feat(auth): support custom authentication (#2007)
* feat(auth): init auth package & collection

* feat(auth): register

* feat(auth): use authenticator

* feat(auth): mapRoles

* feat(auth): refactor

* feat(auth): base auth class

* feat(auth): add plugin

* chore(auth): test

* chore(auth): add test cases

* feat(auth): authenticators pane

* chore(auth): custom hook useAuthTypes

* feat(auth): authenticator pane

* chore(auth): store options schema using context

* feat(auth): signInPage provider

* feat(auth): signUpPage provider

* chore(auth): solve build errors

* chore(auth): add dependency

* chore(auth): remove dependency cycles

* chore(auth): add plugin-auth to preset

* chore(auth): fix test

* feat(auth): authenticator enable status

* fix(test): fix test using new authentication

* feat(auth): migration, set up basic auth

* chore(auth): can set options ui by component

* fix(test): workflow manunal.test

* fix(test): typo

* feat(auth): support multi-language

* chore(auth): imporve code

* chore(auth): hide button if no configuration

* chore(auth): readme

* chore(auth): remove allowSignup prop

* chore(auth): move configure pane to edit form

* fix(auth): jwt options bug

* feat(auth): init sms-auth

* chore(auth): at least authenticator required

* chore(auth): add test

* feat(auth): support sms auth

* fix(auth): fix test

* chore(auth): move findOrCreateUser to AuthModel

* chore(auth): history compatible processing

* feat(auth): support SAML auth

* chore(auth): saml auth list

* chore(saml-auth): improve ui

* Merge branch 'main' into feat/authentication

* chore(auth): improve code

* fix(saml-auth): fix bug

* fix(saml-auth): fix saml options

* chore(saml-auth): compatible processing && ut

* fix(auth): signin page bug

* chore(auth): saml compatible processing

* feat(auth): oidc-auth

* fix(oidc-auth): bug

* fix(oidc-auth): bug

* fix(auth): fix test

* chore(auth): filter enabled authenticator

* chore(oidc): add field map

* chore(auth): update readme

* docs(auth): create sms-auth readme

* feat(auth): allow signup config

* test(auth): fix test

* feat(auth): allow saml and oidc use http

* chore(oidc-auth): extends timeout

* docs(auth): update readme

* feat(auth): support sort

* docs(saml): update readme

* feat(auth): support sort all authenticator

* Merge branch 'main' into feat/authentication

* Merge branch 'main' into feat/authentication

* feat: improve code

* docs(auth): add doc

* Merge branch 'main' into feat/authentication

* chore: update yarn.lock

* feat: improve code

* chore(acl): write role to acl if it exists in database and not found … (#2001)

* chore(acl): write role to acl if it exists in database and not found in acl

* fix: test

* fix: eager load with nested association (#2002)

* chore: upgrade vitest

* chore: edit

* refactor: auth class

* fix: set options

* chore(acl): write role to acl if it exists in database and not found … (#2001)

* chore(acl): write role to acl if it exists in database and not found in acl

* fix: test

* fix: eager load with nested association (#2002)

* chore: upgrade vitest

* chore: add migrations

* test: fix api-client test

* chore: add sms-auth

* feat: avoid no permission after auth type disabled

* fix: translation

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-06-07 23:46:42 +08:00
katherinehhh
c3c02d8925
feat: duplicate action (#1973)
* feat: depulicate action

* feat: depulicate action

* refactor: duplicate action

* refactor: duplicate action

* refactor: duplicate action

* refactor:  support quick duplicate

* refactor: local improve

* refactor: local improve

* fix: duplicate intialValue

* refactor: detail action support duplicate

* refactor: action role check

* fix: duplicate support linkage rule

* fix: duplicate action support openMode and openSize

* fix: duplicate action support linkage rule

* refactor: locale

* refactor: detail block support duplicate action

* refactor: code improve

* refactor: code improve

* refactor: duplicate action improve

* refactor:  wait time after click is too long, a Duplicating is required

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-06-07 11:25:32 +08:00
Junyi
36d16bc015
refactor(plugin-fm): change api and allow to select storage (#1250)
* refactor(plugin-fm): change api and allow to select storage

* fix(plugin-fm): fix lint errors and demo actions

* refactor(plugin-fm): refactor action codes

* fix(plugin-fm): fix api in test

* fix(plugin-fm): fix build

* fix(plugin-fm): fix locale

* refactor(plugin-fm): hide storage from api and use sourceField param

* fix(plugin-fm): fix storage select load

* fix: improve code

* fix(plugin-fm): change to attachmentField

* refactor(plugin-fm): change middleware name

* fix(plugin-fm): fix params in test cases

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-06-06 19:30:42 +08:00
Junyi
2c9ce09304
feat(plugin-workflow): manual forms (#1748)
* feat(plugin-workflow): add create record form for manual node

* feat(plugin-workflow): add update form for manual node

* fix(plugin-workflow): fix antd version and menu

* refactor(plugin-workflow): change collection config modal to initializer sub-menu

* test(plugin-workflow): add test case

* fix(plugin-workflow): fix todo components based on forms

* fix(plugin-workflow): fix cycling trigger when create or update

* fix(plugin-workflow): fix transaction in manual processor

* refactor(plugin-workflow): optimize todo list data loading

* fix(plugin-workflow): fix uncommitted manual action effects

* fix(plugin-workflow): fix save multiple forms and only submit one

* chore(plugin-workflow): fix lint

* fix(plugin-workflow): fix lint error

* refactor(plugin-workflow): abstract workflow scoped FormBlockProvider

* fix(plugin-workflow): adjust designable api to use current schema in refresh

* fix(plugin-workflow): fix schema config and support block template

* fix(plugin-workflow): fix lint and build error

* fix(plugin-workflow): adjust components and scope to inner schema component

* fix(plugin-workflow): fix ref template in todo drawer

* fix(plugin-workflow): fix todo form undefined

* fix(plugin-workflow): fix manual form schema

* fix(plugin-workflow): fix manual createdBy/updatedBy user

* fix(plugin-workflow): disable save to template on create form

* fix(plugin-workflow): fix manual form variables

* fix(plugin-workflow): fix FormBlockProvider for default field value

* fix(plugin-workflow): fix manual node variables
2023-06-05 16:52:43 +08:00
chenos
c3d359925c
fix(association-field): allow dissociate (#1940) 2023-05-26 12:36:09 +08:00
chenos
efbd7c7020
fix(association-field): allow multiple (#1938) 2023-05-26 11:38:03 +08:00
被雨水过滤的空气-Rairn
c722ca41d9
feat(data-template): support for unlimited levels of fields selection (#1910)
* refactor: use useMemo

* refactor: use useCallback

* feat(Data-template): change maxDepth from 3 to 10

* feat(Data-template): support for unlimited levels of fields selection

* fix: fix invalid selection

* fix: should be updated when data changes

* feat: parent treeNode and children treeNodes are not associated

* fix: avoid error

* fix: fix error

* chore: remove notification

* fix: parant node should be selected when child is selected

* fix: auto select all ancester nodes
2023-05-25 15:23:32 +08:00
xilesun
518ca740f8 fix(locale): translation typo 2023-05-22 19:58:55 +08:00
被雨水过滤的空气-Rairn
110b00bc01
fix(Data-template): fix bug when deleting fields (#1907)
* chore: add translation

* fix(Data-template): fix bug when deleting fields

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-05-22 17:17:33 +08:00
YANG QIA
d35f67d2e1
feat(app): add clear cache button (#1909) 2023-05-22 17:16:12 +08:00
YANG QIA
eac034cb23
feat: support reboot application manually (#1889)
* feat(reload-btn): reload application manually

* feat(app): support reboot

* feat: collections load after upgrade

* feat(reboot): support reboot manually

* chore(reboot): some typo

* fix(reboot): fix storage path

* fix(reboot): change restart file path

* fix: menu divider

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-05-19 20:34:22 +08:00
JoGosGitHub
770f53ec4e
Feat/translation es_ES (#1801)
* feat: client and plugin translation ES

* fix: es translation

* fix: es translation
2023-05-17 11:39:37 +08:00