Commit Graph

584 Commits

Author SHA1 Message Date
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
Junyi
0c150eaf9b
feat(plugin-fm): add option for storage to remove file physically or not (#2005)
* feat(plugin-fm): add server side destroy action for removing files of attachments

* feat(plugin-fm): add client option for storage
2023-06-07 05:44:16 -07:00
chenos
a1872fa75b Revert "fix: the edit drawer's audit logs block can only get records by this … (#1917)"
This reverts commit 42ad77da68.

# Conflicts:
#	packages/core/client/src/block-provider/TableBlockProvider.tsx
#	packages/core/client/src/schema-component/antd/filter/useValues.ts
2023-06-07 20:14:02 +08:00
ChengLei Shao
5e4682be72 fix: emit async 2023-06-07 17:25:06 +08:00
ChengLei Shao
43f3cb7cfe
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
2023-06-07 15:01:50 +08:00
katherinehhh
8809df3f51
refactor(association-field): useAssociationNames hook (#1956)
* chore: useAssociationNames

* refactor: code improve

* refactor: support blocktemplate

* refactor: support blocktemplate

* refactor: useAssociationNames in block template

* fix: cross hierarchical association field layout

* fix: normal field of association field should be append

* refactor: useAssociationNames

* refactor: useCreateActionProps

* refactor: useAssociationNames params

* fix: cleanup

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-06-07 11:18:35 +08:00
ChengLei Shao
83dc81c51b
chore(collection-manager): should not throw error when source collection destoryed (#1999) 2023-06-07 11:06:35 +08:00
被雨水过滤的空气-Rairn
47838889f4
test: add tests for client (#1960)
* feat: add test utils

* test: fix compatibility problem

* refactor: use esm

* refactor: change require to import

* test: add a test

* chore: optimize launch.json

* chore(jest): optimize config

* test: fix failed

* test(Action): fix failed

* test: migration test from nocobase-next

* test: fix failed

* chore: set css to false

* fix: fix errors

* test(Filter): add test

* test(BlockItem): add test

* test(Calendar): add test

* refactor: migrate testUtils to client

* fix: avoid error

* refactor: fix lint error

* Revert "refactor: migrate testUtils to client"

This reverts commit ae569e2021a5c720111518cf3f2236e761a7186d.

* test: fix test failed

* refactor: migrate tesetUtils to @nocobase/test/client

* fix(Select): fix BUG

* refactor: remove useless code

* Revert "refactor: migrate tesetUtils to @nocobase/test/client"

This reverts commit 70d2211d5af546ae3fffaf5b53a326be8e194b34.

* test(AssociationSelect): add test

* test(CardItem): add test

* test(CollectionSelect): add test

* test(Cron): add test

* test(Details): add test

* test(ErrorFallback): add test

* test(Form): add test

* fix: fix CI

* test(FormItem): add test

* test(FormV2): add test

* test(G2Plot): add test

* test(Gantt): add test

* test(Grid): add test

* test(GridCard): add test

* test(Kanban): add test

* test(List): add test

* test(Menu): add test

* test(Page): add test

* test(Pagination): add test

* test(Preview): add test

* test(RemoteSelect): add test

* test: fix: failed

* refactor: remove useless code

* test(Table): add test

* test(TableV2): add test

* test(Tabs): add test

* test(Variable): add test

* test(Upload): add test

* chore: comment

* Revert "refactor: change require to import"

This reverts commit 3a23607e6faeda6f8b5bee02b9d8fa33bf9d2684.

* refactor: remove useless code

* fix: fix translation bug

* fix: fix export position

* test: update snap
2023-06-07 10:37:10 +08:00
Junyi
a8191ed26f
fix(plugin-formula): fix result component caused page crash (#1996) 2023-06-06 09:04:13 -07:00
ChengLei Shao
c604f37222
feat(collection-manger): lazy load collection field (#1993)
* feat(collection-manger): lazy load collection field

* chore: console.log
2023-06-06 22:48:43 +08:00
black
42ad77da68
fix: the edit drawer's audit logs block can only get records by this … (#1917)
* chore: rename resource function and add comment

* chore: remove AuditLogsDesigner when create audit logs schema

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-06-06 20:13:06 +08:00
chenos
e6a2a292b3
feat: upgrade formily (#1880)
* feat: upgrade formily

* fix: upgrade @formily/json-schema

* fix: optimizing performance

* fix: performance code

* refactor: `React.memo` and `observer` component add `displayName` property

* fix: add cache to Schema.compile

* feat: 优化代码

* fix: 修复卡顿最终的问题

* Update SchemaComponentProvider.tsx

* feat: 再次优化代码

* feat: optimized code

---------

Co-authored-by: dream2023 <1098626505@qq.com>
2023-06-06 19:33:04 +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
icezohu
bc00bd161a
fix(multip-app-manager): init multiple Application instances while starting up a sub app (#1986)
* fix: init multiple Application instances while
starting up sub app

by Jacob

* fix: import error

by Jacob

* feat: use async-mutex for locking process

by Jacob

* revert: unused update

by Jacob

* test: should get same obj ref
when asynchronously access with same sub app name

by Jacob

* feat: add async-mutex dependency
to multi-app-manager package.json

by Jacob
2023-06-06 10:47:50 +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
YANG QIA
ecb2af8fd6
fix(charts): fields undefined bug (#1980) 2023-06-05 13:13:06 +08:00
ChengLei Shao
c7b9e6ac51
feat: infer belongs to association field in view collection (#1756)
support belongs to field in view collection
2023-06-04 13:04:56 +08:00
ChengLei Shao
78095d1128 chore(collection-manager): load source field options 2023-05-31 19:04:01 +08:00
Junyi
cf4e91b0f2
fix(plugin-formula): fix read-pretty component when used in association field (#1957) 2023-05-30 16:15:42 +08:00
lincode
4296db5859
feat(plugin-manager): better plugin manager experience (#1927) 2023-05-29 11:06:54 +08:00
ChengLei Shao
ebae59507f
test(audit-logs): audit log changes (#1928)
* test: audit log changes

* chore: test
2023-05-28 07:57:59 +08:00
chenos
d7f21460c6 chore(versions): 😊 publish v0.9.4-alpha.2 2023-05-26 17:05:46 +08:00
YANG QIA
849956b8ea
feat(multi-app-manager): support auto start (#1931)
* feat(multi-app-manager): support auto start

* perf(multi-app-manager): move filter to sql
2023-05-26 09:55:11 +08:00
Junyi
17ccdee9ab
fix(client): fix some warnings (#1934)
* fix(client): fix some warnings

* fix(client): fix warning
2023-05-25 18:54:06 -07:00
chenos
9c94840c6b chore(versions): 😊 publish v0.9.4-alpha.1 2023-05-25 22:48:39 +08:00
ChengLei Shao
710bd2dfd2
fix: append acl resource params (#1923)
* test: append acl resource params

* fix: test
2023-05-24 21:31:12 +08:00
katherinehhh
e299f5452c
refactor: initialization when switching field components (#1915)
* fix: toManyNester only display one data

* fix: sub-nester

* fix: initialValue

* fix: [null]

* fix: record picker initValue

* fix: initValue filter

* fix: association select  initialValue filter

* fix: association select  initialValue filter

* fix: [null]

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-05-24 10:36:29 +08:00
ChengLei Shao
6fb569cf0d
fix: eager load with belongs to many with custom source key (#1913) 2023-05-23 15:03:32 +08:00
Junyi
920bdf8705
fix(plugin-formula): use read-pretty component in result (#1911) 2023-05-22 18:15:51 -07:00
YANG QIA
d35f67d2e1
feat(app): add clear cache button (#1909) 2023-05-22 17:16:12 +08:00
ChengLei Shao
5288cbb1cf
fix: eager load belongs to many association (#1906) 2023-05-22 16:09:37 +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
ChengLei Shao
c0ef071baf
Refactor/append fields (#1883)
* chore: eager loading tree

* feat: load eager loading tree

* feat: merge stage of eager loading

* feat: merge stage of belongs to

* feat: merge stage of has one

* feat: merge stage of belongs to many

* chore: test

* chore: print tree

* chore: using eager loading tree in repository find

* fix: empty ids load

* fix: belongs to many query

* fix: load belongs to  association

* fix: eager load data accessor

* fix: has many

* fix: test

* fix: filter with appends

* chore: remove handle appends query

* chore: console.log

* chore: console.log

* fix: test
2023-05-19 16:39:00 +08:00
Junyi
16444ae6ab
fix(plugin-workflow): fix language (#1886) 2023-05-18 08:27:18 -07:00
Junyi
2060bd4d44
feat(plugin-workflow): add node description to drawer when edit node (#1882)
* feat(plugin-workflow): add node description to drawer when edit node

* fix(plugin-workflow): fix manual description

* fix(plugin-workflow): fix languages
2023-05-18 19:42:30 +08:00
chenos
e0646650f0 fix(database): migrations table name missing table prefix 2023-05-18 14:51:51 +08:00
Junyi
c988c3705a
fix(plugin-workflow): fix variable api caller in loop (#1877) 2023-05-17 17:29:18 +08:00
chenos
be50cb5929 chore: remove link to field and association fields filter 2023-05-17 17:04:33 +08:00
Chareice
390c12ab2d fix: sub app running mode when standlone deploy 2023-05-17 16:07:24 +08:00
Junyi
0264d89d14
fix(plugin-workflow): fix trigger title when workflow not loaded (#1875) 2023-05-17 14:24:50 +08:00
Junyi
f4064767c6
feat(plugin-workflow): aggregate (#1852)
* feat(plugin-workflow): add aggregate instruction

* test(plugin-workflow): add test cases

* fix(plugin-workflow): fix types

* fix(plugin-workflow): fix double result type

* test(plugin-workflow): fix test cases in mysql

* refactor(plugin-workflow): consolidate variables api

* fix(plugin-workflow): fix create node variable

* fix(plugin-workflow): fix aggregate association name

* fix(plugin-workflow): fix test cases

* fix(plugin-workflow): fix aggregate node config for duplication

* fix(plugin-workflow): fix variable api

* fix(plugin-workflow): fix variable api caller

* fix(plugin-workflow): fix job button style
2023-05-17 13:37:03 +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
Rairn
2e4636a8ca chore: avoid errors generated by collectionField 2023-05-16 20:09:36 +08:00
Junyi
0eb1c31514
feat(client): allow search by title in collection select (#1869) 2023-05-16 02:07:56 -07:00
ChengLei Shao
29956150ba
chore: skip get standalone deployment sub application (#1868)
* chore: skip get standalone deployment sub application

* feat: standalone deployment

* fix: link

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-05-16 16:38:17 +08:00
Junyi
9931e6a486
fix(plugin-workflow): remove useless context option (#1867) 2023-05-15 23:16:13 -07:00
Junyi
238af440e3
feat(plugin-workflow): loop (#1787)
* feat(plugin-workflow): add loop instruction

* fix(plugin-workflow): fix lint error

* feat(plugin-workflow): add loop variable in client

* feat(plugin-workflow): refactor and add job list to nodes in execution

* feat(plugin-workflow): allow to query multiple records

* fix(plugin-workflow): fix i18n

* fix(plugin-workflow): fix undefined value in component

* fix(plugin-workflow): fix parse context value with current node

* fix(plugin-workflow): fix revision with scope variable

* test(plugin-workflow): add failing case

* fix(plugin-workflow): fix revision with scope variable

* chore(plugin-workflow): fix lint errors

* fix(plugin-workflow): fix workflow canvas page style

* fix(plugin-workflow): revert abstracted node config drawer back to each node

* fix(plugin-workflow): fix parallel extra call

* fix(plugin-workflow): fix parallel branch end

* fix(plugin-workflow): fix jobs variable in processor

* fix(plugin-workflow): fix workflow canvas scroll style

* fix(plugin-workflow): fix slowly opening job modal

* fix(plugin-workflow): fix cycling reference
2023-05-15 18:45:45 -07:00
Dunqing
3a77e4376a
feat: support List and Grid Card block (#1753)
* feat: support details block

* feat: rename to list

* fix: imports

* feat: improve list block

* feat: support title hidden

* fix: showTitle default value

* feat: support table column actions

* feat: support appendsOnDemand

* feat: reuse same schema items

* feat: shouldn't display pagination when pages only one

* feat: block order

* feat: support card list

* fix: appends on demand

* fix: remove unused code

* fix: params

* fix: improve default pageSize

* feat: improve performance

* feat: add title designer

* feat: improve huge performance

* fix: better key

* feat: improve schema perf

* feat: improve initializer

* fix: improve grid perf

* fix: avoid haven't properties

* feat: support automatic run service when params changed

* fix: revert params

* fix: grid col width

* refactor: improve CardList performance

* fix: initializer related

* feat: i18n supports

* fix: improve get schema

* fix: create new form

* fix: revert code

* feat: css improve

* fix: i18n copy

* refactor: the CardList rename to GridCard

* feat: remove AssociationFilter item

* fix: edit and view data is incorrect

* feat: remove bulk actions

* feat: improve action bar

* feat: supports configuration of columns with different screen sizes

* fix: incorrect place to save the template

* feat: keep height in all card

* fix: remove console

* fix: rename

* refactor: improve GridCard implementation

* feat: support import/export actions

* fix: remove padding when actions is empty

* fix: remove incorrect import

* fix: remove unused props

* fix: action place

* feat: improve column count

* refactor: remove appendsOnDemand, and use useAssociationNames instated it

* fix: incorrect component

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-05-16 09:05:47 +08:00
ChengLei Shao
1c757bd025
feat: support running single sub app (#1853) 2023-05-14 16:48:53 +08:00
Junyi
6c149aadfc
feat(plugin-workflow): add delete button in workflow canvas page (#1844)
* feat(plugin-workflow): add delete button in workflow canvas page

* fix(plugin-workflow): fix redirect url after deleted

* fix(plugin-workflow): fix antd version
2023-05-11 07:48:10 -07:00