Commit Graph

167 Commits

Author SHA1 Message Date
Junyi
9a376e4116
refactor(plugin-workflow): change node config api render to component (#2014)
* refactor(plugin-workflow): change node config api render to component

* fix(plugin-workflow): fix trigger drawer error and remove unused api

* fix(plugin-workflow): fix return value of request node run phase

* fix(client): fix classname order in action button
2023-06-08 21:09:22 -07: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
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
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
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
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
Junyi
c988c3705a
fix(plugin-workflow): fix variable api caller in loop (#1877) 2023-05-17 17:29:18 +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
Junyi
0eb1c31514
feat(client): allow search by title in collection select (#1869) 2023-05-16 02:07:56 -07: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
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
Junyi
7fcdc5d336
fix(plugin-workflow): select menu width (#1820) 2023-05-07 22:50:43 -07:00
Junyi
eb0089190e
fix(utils): fix json-templates bug and moved to utils (#1784) 2023-04-28 22:22:08 +08:00
Junyi
4db3b283b0
fix(evaluators): fix date result in variable (#1781) 2023-04-28 14:50:35 +08:00
chenos
77a6cbf773 chore: cleanup 2023-04-26 22:32:45 +08:00
被雨水过滤的空气-Rairn
e45b3ce95c
fix: hide default value for expression (#1765) 2023-04-26 00:23:31 -07:00
被雨水过滤的空气-Rairn
95e4e7e7b0
fix(variable-input): fix style (#1761)
* fix(variable-input): fix style

* refactor: avoid lint error

* feat: add invariable

* fix: fix the default value variable of the expression is empty
2023-04-26 09:56:25 +08:00
chenos
883f1e6fd1
fix: eslint (#1759)
* fix: eslint

* fix: eslint --fix

* fix: changelog
2023-04-25 13:12:14 +08:00
Junyi
eac3c6f0c8
fix(plugin-workflow): request headers and params should support input (#1750) 2023-04-23 01:51:56 -07:00
Junyi
5d2724583c
fix(plugin-workflow): fix foreignkey in variable (#1740) 2023-04-20 19:52:13 -07:00
Junyi
edd2ec7fe6
fix(plugin-workflow): fix manual migration script (#1735) 2023-04-20 02:09:17 -07:00
Junyi
a5b4684a48
refactor(plugin-workflow): change single form to custom form block (#1707)
* refactor(plugin-workflow): change single form to custom form block

* fix(plugin-workflow): fix migration

* fix(plugin-workflow): fix manual node initializer

* test(plugin-workflow): migrate test cases

* refactor(plugin-workflow): split custom form code

* fix(plugin-workflow): fix types

* refactor(plugin-workflow): change manual form config data structure

* fix(plugin-workflow): fix no options manual node variable

* fix(plugin-workflow): fix migration script
2023-04-18 18:41:18 -07:00
Junyi
422429e772
refactor(plugin-workflow): migrate menu items to options (#1724) 2023-04-18 06:46:59 -07:00
Junyi
0450789d63
fix(plugin-workflow): fix request body variable component (#1703)
* fix(plugin-workflow): fix request body variable component

* fix(client): add missed file
2023-04-14 16:46:51 +08:00
Dunqing
1fdc456c0b
feat: improve plugin manager ui (#1650)
* feat: improve plugin view

* feat: work compatibility

* feat: avoid cause error

* feat: complete

* docs: revert

* fix: header cannot displayed

* feat: improve

* feat: update page css

* feat: update fixedblock design

* chore: upgrade antd

* fix: improve code

* fix: build error

* fix: build error

* fix: pagination cannot be fully displayed

* feat: improve

* fix: ts error

* chore: sqlite view field test

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: chareice <chareice@live.com>
2023-04-12 12:24:09 +08:00
Junyi
0126a48cfa
feat(plugin-workflow): add workflow specific logger (#1677)
* feat(plugin-workflow): add workflow specific logger

* fix(plugin-workflow): fix packages

* refactor(logger): adjust logger path env
2023-04-10 06:00:29 -07:00
Junyi
e9d5fa7f9c
fix(plugin-workflow): fix null collection fields (#1674) 2023-04-08 00:20:33 -07:00
Junyi
93348c9ce6
fix(client): fix variable component read pretty mode (#1673) 2023-04-07 23:40:18 -07:00
Junyi
52329df140
feat: (plugin-workflow) dynamic expression (#1560)
* feat(plugin-formula): add dynamic expression field

* feat(plugin-workflow): add dynamic expression for calculation

* refactor(client): allow select part of paths in variable component

* fix(client): fix types

* feat(plugin-formula): add dynamic expression config

* feat(plugin-workflow): add dynamic calculation

* refactor(plugin-formula): move expression field type to workflow plugin

* fix(plugin-workflow): fix types

* fix(plugin-workflow): fix register field in client

* fix(plugin-workflow): fix expression result value default

* fix(plugin-workflow): fix dynamic expression field error when switch collection

* fix(plugin-workflow): test component value change

* test(plugin-workflow): test component linkages

* refactor(plugin-workflow): change to expression collection template

* fix(client): fix hooks of Variable.TextArea

* fix(client): fix to import evaluators in client

* fix(evaluators): move renderReference method to plugin

* fix(plugin-workflow): fix missed component

* fix(plugin-workflow): fix dynamic expression test case

* refactor(client): change popover to double click to choose entire object

* refactor(plugin-workflow): make variable options and filter more sensible

* fix(plugin-workflow): fix form effect

* fix(plugin-workflow): fix variable filtering in collection trigger

* fix(plugin-workflow): fix types

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-04-07 19:52:31 -07:00
Junyi
0d0c5ff9e0
feat(plugin-workflow): add array mapping support in processor (#1662) 2023-04-07 16:08:25 +08:00
Junyi
3ec8b2d45f
fix(plugin-workflow): fix appends null to collection trigger (#1661) 2023-04-07 16:04:40 +08:00
Junyi
0ecbd715a6
fix(plugin-workflow): fix todo drawer data load (#1656) 2023-04-06 05:07:38 -07:00
Junyi
7a4f2a011b
fix(plugin-workflow): fix manual node drawer (#1653) 2023-04-05 21:23:57 -07:00
Junyi
7036879ea6
refactor(client): change Variable.TextArea to controlled component (#1605)
* refactor(client): change Variable.TextArea to controlled component

* fix(client): fix space and range index

* fix(client): fix ime state in Variable.TextArea

* chore(ci): trigger ci

* fix(client): fix expression validation

* fix(plugin-workflow): fix test case

* fix(client): fix caret when not focused

* fix(client): add html-sanitize

* fix(client): fix range errors on any input

* fix(client): fix start and end range
2023-04-03 08:57:19 +08:00
Junyi
822099271a
fix(plugin-workflow): fix minors ui issues (#1635)
* fix(plugin-workflow): fix minors ui issues

* fix(plugin-workflow): add refresh after title changed back

* fix(plugin-workflow): fix collection fields variable
2023-04-02 13:24:25 +08:00
被雨水过滤的空气-Rairn
098140d511
feat(parse-variables): support to parse variables in filter params (#1558)
* fix: add field linkage on setting default datetime

* fix: fix dateonly timezone problem

* fix: improve test

* docs(DatePicker): add demos

* fix(DatePicker): should return the beginning of a second

* feat(DatePicker): support non-UTC

* refactor: rename

* fix(RangePicker): get correct end date

* test(mapDatePicker): add test

* test(mapRangePicker): add test

* feat(Filter): use non-UTC to filter

* feat(FilterBlock): use non-UTC to filter

* feat: add '$dateBetween' operator in datetime

* feat: use RangePicker on toggled to 'dateBetween' operator

* feat: set ranges for RangePicker

* feat: backend support to parse 'dateBetween' operator

* fix: fix build error

* fix: adaptive content width

* feat: support to use var on data scope

* feat: add parse-variables plugin

* feat: support to parse variables

* feat: support only to set system variables

* test: rename

* feat: cover all

* fix: fix build error

* feat(RangePicker): extend more shortcut keys

* feat(parse-variables): support more date var

* feat: support user variables

* feat: disable unmatched options

* fix: use component name to filter option

* fix: fix build error

* feat: remove some operator of id

* chore: remove useless operators

* fix: built in plugin

* refactor: move to core from plugin

* refactor: remove code of plugin

* refactor: remove useless code

* fix: should after acl

* Update server.ts

* fix: compatible with old version

* feat: test cases

* refactor: rename to 'is between'

* refactor: parse filter

* fix: improve code

* feat: test cases

* fix: fix error

* fix: improve parse date

* fix: date variables

* fix: day range

* fix: test error

* fix: typo

* fix: test error

* feat: $user variable

* fix: toDate

* fix: fix the value range of shortcuts

* feat: add quarter and test

* feat: support to use user's association fields to filter

* refactor: use maxDepth

* refactor: remove useless code

* fix: make AssociationSelect.Designer to support variables

* fix: getField

* fix: parse utc

* fix: remove only

* fix: filter by ctx.db.getFieldByPath

* fix: avoid error

* fix: add translation

* fix(RangePicker): can be set to empty

* feat(utils): add hasEmptyValue

* fix: should not save empty

* fix: last few days should include today

* fix: limit user variable type to display

* fix: parse filter error

* fix: empty

* test: [skip ci]

* fix: remove ';'

* feat: improve code

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-03-30 23:49:57 +08:00
Junyi
c572b696cc
fix(plugin-workflow): fix todo list form read-pretty for non-assigneed user (#1615)
Fix #1572.
2023-03-29 18:16:46 +08:00
Junyi
435eaee262
fix(plugin-workflow): add default actions value of manual node (#1600) 2023-03-25 17:48:01 +08:00
Junyi
d8e8f5ec45
feat(plugin-workflow): add failOnEmpty option for query node (#1599) 2023-03-24 23:15:03 -07:00
Junyi
cc50b38a12
fix(plugin-workflow): use toJSON instead of get to get valid result (#1596) 2023-03-24 23:54:07 +08:00
Italo A. G
726b08e87a
Translation pt-BR (Brazilian Portuguese) (#1591)
* feat: portuguese brazil translations

* feat: add pt-BR languate to the plugins

* feat: add pt-BR languate to the plugins
2023-03-23 22:53:33 +08:00
Junyi
c3b89c9abf
fix(plugin-workflow): fix input width in request node config (#1585) 2023-03-21 13:04:37 +08:00
ChengLei Shao
0832a56868
feat: multiple apps (#1540)
* chore: skip yarn install in pm command

* feat: dump sub app by sub app name

* feat: dump & restore by sub app

* chore: enable application name to edit

* chore: field belongsTo uiSchema

* test: drop schema

* feat: uiSchema migrator

* fix: test

* fix: remove uiSchema

* fix: rerun migration

* chore: migrate fieldsHistory uiSchema

* fix: set uiSchema options

* chore: transaction params

* fix: sql error in mysql

* fix: sql compatibility

* feat: collection group api

* chore: restore & dump action template

* chore: tmp commit

* chore: collectionGroupAction

* feat: dumpableCollection api

* refactor: dump command

* fix: remove uiSchemaUid

* chore: get uiSchemaUid from tmp field

* feat: return dumped file url in dumper.dump

* feat: dump api

* refactor: collection groyoup

* chore: comment

* feat: restore command force option

* feat: dump with collection groups

* refactor: restore command

* feat: restore http api

* fix: test

* fix: test

* fix: restore test

* chore: volta pin

* fix: sub app load collection options

* fix: stop sub app

* feat: add stopped status to application to prevent duplicate application stop

* chore: tmp commit

* test: upgrade

* feat: pass upgrade event to sub app

* fix: app manager client

* fix: remove stopped status

* fix: emit beforeStop event

* feat: support dump & restore subApp through api

* chore: dumpable collections api

* refactor: getTableNameWithSchema

* fix: schema name

* feat:  cname

* refactor: collection 同步实现方式

* refactor: move collection group manager to database

* fix: test

* fix: remove uiSchema

* fix: uiSchema

* fix: remove settings

* chore: plugin enable & disable event

* feat: modal warning

* fix: users_jobs namespace

* fix: rolesUischemas namespace

* fix: am snippet

* feat: beforeSubAppInstall event

* fix: improve NOCOBASE_LOCALE_KEY & NOCOBASE_ROLE_KEY

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-03-10 19:16:00 +08:00
Junyi
ea4d4ac062
feat(plugin-workflow) config preload associations in triggers and nodes (#1548)
* feat(plugin-workflow): add preload associations for triggers and nodes

* feat(plugin-workflow): add appends parameter to schedule trigger

* fix(plugin-workflow): fix import

* fix(plugin-workflow): fix component injection

* test(plugin-workflow): add test case
2023-03-10 16:36:58 +08:00
Junyi
060ccd04e7
fix(plugin-workflow): fix module import (#1550) (#1552)
* fix(plugin-workflow): fix module import (#1550)

* fix(plugin-workflow): fix module import
2023-03-08 23:00:44 +08:00
Junyi
313217a671
fix(plugin-workflow): fix assignees config component in manual node (#1547) 2023-03-07 19:24:02 +08:00