* feat(layout): integrate ConfigProvider for theme management in admin layout
* feat(layout): add mobile layout context and transform utility for schema
* feat(toolbar): disable dragging in mobile layout for BlockSchemaToolbar
* test: add unit tests for transformMultiColumnToSingleColumn function
* feat: add mobile layout support to form schema transformation
* feat: support mobile layout in Tabs component schema transformation
* feat: integrate mobile layout support into designable components
* feat: refactor mobile layout hooks and integrate MobileComponentsProvider
* feat: update mobile layout styles and integrate global theme in ActionDrawer
* feat: update Mobile component to use CommonDrawer for popup handling in mobile layout
* feat: adjust padding in ActionDrawer style for improved layout on mobile
* feat: optimize scope usage in InternalPicker for improved performance
* feat: update Action.Page style to improve overflow handling
* style: remove minHeight from ActionDrawer style
* feat: add mobile layout support and transform schema for multi-column fields
* feat: support mobile components
* fix(mobile): issue with mobile flash/flicker
* feat: hide Plugin manager and Settings center
* feat: hide scroll bar in mobile
* feat(todos): support to collapse sider menu
* feat: enhance mobile layout theme support with dark mode
* feat: register workflow blocks to mobile page
* fix: should hide Divider in subpage
* refactor: rename 'Data blocks' to 'Desktop data blocks'
* feat: adapt blocks within subpages for mobile
* feat: adapt Filter action
* feat: isolate block templates between desktop and mobile
* refactor: export storePopupContext
* feat: support popup URL for 'Workflow todos'
* chore: update e2e tests
* chore: make e2e tests pass
* chore: add comment
* fix: make popup style of duplicate and bulk edit right
* fix(GridCard): ensure single column display in mobile
* fix: fix goBack
* refactor: make more stable
* refactor: change name for add blocks menu
* fix: fix block template for mobile
* feat: adapt Apply action of approval block to mobile
* fix(Map): use window.open to redirect to configuration page
* Revert "fix(Map): use window.open to redirect to configuration page"
This reverts commit 248ae8b68cfd78415184dfab2442081363872fb0.
* fix: redirect to the main app page when URL is starts with 'admin'
* fix(Link): make path right
* fix: refactor Popup to fix draging bug
* fix: should auto refresh when submiting in Manual popup
* fix(Action.Container): should return null when visible is false (T-4949)
* fix: increase z-index of subpage to cover Amap elements
* fix: fix tab switching not work (T-4985)
* fix(Link): should be change Link's URL of all table rows after editing URL (T-4981)
* fix: fix URL not changed after closing popup (T-4987)
* fix: make unit tests pass
* fix: make unit tests pass
* chore: get e2e tests to pass
* fix: use Popup to display data picker (T-4965)
* fix: use mobile Popup in some bloks
* refactor: use local isMobile
* fix: increase Popup's z-index to cover subpage
* fix: optimize Popup for mobile
* style: createRecordAction style improve
* refactor(AssociationField): get Component from AssociationFieldModeProvider
* refactor(InternalPopoverNester): support custom Container component
* feat: adapt PopoverNester to mobile
* chore: update unit tests
* fix: get e2e tests to pass
* chore: make e2e more stable
* refactor: move mobile-action-page in adaptor-of-desktop folder
* fix: get the z-index of popups and subpages correct
* feat: unify the styles of popups
* chore: make e2e more stable
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: katherinehhh <katherine_15995@163.com>
* fix: reject update when filter is empty object
* chore: valid filter when destroy data
* fix: test
* refactor(utils): move isValidFilter to utils
* chore: test
* chore: test
* chore: test
* fix(plugin-workflow-manual): fix test case
* fix(plugin-workflow-manual): add filter check for update form in manual node
* chore: validate filter params as middleware
* chore: action filter validate in data-source-manager
* chore: acl filter params validate test
* chore: move validate filter params middleware into core
* Update nocobase-test-e2e.yml
* chore: only run workflow's tests
* chore: only run workflow's tests
* fix: updateRecordForm
* Revert "chore: only run workflow's tests"
This reverts commit 64ce1241718ef516ff9bf7245296dee963ab2e43.
* Revert "chore: only run workflow's tests"
This reverts commit b9057b35ec4f87ba13c08650ffc7919e32eb3fc3.
---------
Co-authored-by: mytharcher <mytharcher@gmail.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Zeke Zhang <958414905@qq.com>
Co-authored-by: hongboji <j414562100@qq.com>
* feat: add getValuesByPath
* fix(FilterFormBlock): fix association field can not to filter
* test: hasMany filter test
* fix: remove null in filter
* fix: fix not responding for filter button
* fix: fix oho and o2m and obo
* fix: fix isInFilterFormBlock
* fix: fix errors
* fix: should filter out when params is empty
---------
Co-authored-by: chareice <chareice@live.com>
* feat: support to add File collection
* feat: support to upload files
* refactor: rename 'ReadPretty.Attachment' to 'ReadPretty.File'
* feat: support to associate the File collection
* refactor: add Preview and replace Upload.Selector
* fix(Preview): fix some problems in ReadPretty mode
* feat: use 'preview' as a default title field
* feat: support only local storage now
* fix: should not show 'Add new' button
* chore: add default value for file storage
* fix: fix preview field of file collection cannot be displayed normally
* fix: only Table and Details can display File collection
* chore: translate
* refactor: migration to plugin from core
* refactor: change 'preview' to 'url'
* fix: only 'belongsTo' and 'belongsToMany' can linked file collection
* fix: fix storage and add a field called storage in file collection
* feat: add 'deletable' to configure the visibility of the delete button
* fix: fix can't upload attachment problem
* fix: remove more option
* fix: can't use preview to filter
* fix: remove Import action option
* refactor: remove useless code
* chore: optimize condition
* chore: remove comment
* test: windows compatible
* refactor: optimize upload
* fix: upload action
* fix: createAction
* fix: uploads
* fix: file collection cannot be inherited by other collections
* fix: url should be editable
* fix: url is filterable
* fix: use input interface for url field
* fix: fix error
* fix: remove subform
* Revert "chore: translate"
This reverts commit 53cd346dab8cbee0c52a9da3cf83a99dff2def34.
* refactor: move translation to plugin
* fix: title is editable
* fix: collection?.template === 'file'
* fix: fix order of URL
* fix(collection-manager): allow collectionCategories:list
* chore: add translation
* fix(upload): should enable to use drawer
* refactor: move code to plugin
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
* 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>
* refactor: audit log (#1516)
* refactor: audit-log
* refactor: audit-log fix view action
* refactor: audit-log view fix
* refactor(audit-log): collection field fix
* refactor: audit-log view field fix
* refactor(audit-log): support fixedBlock
* refactor(audit-log): i18n fix
* feat(filter-blocks): support form-block
* feat(filter-blocks): add FilterProvider
* feat: filter data blocks
* perf: use useMemo
* refactor: rename
* feat: collect filter params
* refactor: rename
* refactor: remove useless code
* feat: add 'Connect data blocks' option
* feat: support 'x-filter-targets' to save data-blocks
* refactor: extract Form.FilterFormDesigner
* feat: extract FormItem.FilterFormDesigner
* refactor: extract common editing options
* feat: support to set operator
* feat: use operator created by user
* fix: improve loading
* fix: merge prev params
* feat: support reset
* refactor: rename
* chore: left a TODO
* feat: add Table.FilterDesigner
* feat: support filter-table
* refactor: reduce code
* feat: handle click event of table row
* feat: support to connect association collection
* feat: support Collapse
* feat: show empty
* refactor: optimize readability
* fix: keep state as latest
* fix: highlight row on selected
* feat: highlight data block on hover
* fix: avoid misuse
* chore: reduce code
* fix(Table): support to cancel select
* fix(Collapse): merge multiple filter params
* chore: make to pass CI
* feat: merge all filter params
* refactor: remove useless code
* fix: undefined
* fix(Form): fix bug with association fields
* chore: fix typo
* fix: use title
* chore: avoid infinite loops
* test: cancel comments
* fix: make ci normal
* fix: filter down non-association fields
* fix: fix page crash
* fix: use correct operator
* fix: avoid infinte loops
* style: optimize style on hover
* fix: avoid crash
* chore: optimize empty description
* fix: avoid targetKey empty
* refactor: use getTargetKey instead
* fix: filter out unfilterable fields
* refactor: avoid to invoke hook multiple times
* refactor: reduce the judgment conditions of component
* fix: group fields in the right way
* fix: fix error of type
* fix: fix error on no FilterBlockProvider
* fix(Table): fix fexed-block bug
* chore: reduce gap
* fix(Form): use AssociationSelect by default
* fix: remove g2plot blocks
* fix(Form): remove 'Display association fields'
* fix(Table): use radio
* fix(Table): no need Actions
* fix: fix template problem
* fix(Table): keep only 'filter' and 'refresh'
* fix: use collection name as identifier for data blocks
* fix: make sure all fields are editable
* fix(Form): remove custom actions
* fix(Details): display empty component on no data
* feat(Form): support association fields
* refactor: rename
* feat(Form): support for deep-level association fields
* Revert "fix(Table): keep only 'filter' and 'refresh'"
This reverts commit 61a1d101a7d15223cfd3523adb33567fff545568.
* Revert "fix(Table): no need Actions"
This reverts commit 8314629e92fb3b5b7ec1c97904a42c76c43e4d4a.
* Revert "fix(Table): use radio"
This reverts commit c6f009740e1835f9762653a721ff64f52d0994cf.
* feat(Table): highlight row on selected
* feat: support to cacel highlight
* fix: type error
* feat: remove Table from filter list
* fix(Table): highlight rows problem
* refactor: remove usless code
* refactor(Collapse): detach from Table
* fix(Table): highlighting row problem
* fix: translate problem
* fix(Collapse): fix error of useProps
* fix(Table): avoid undefined
* Update Details.tsx
* Update DetailsBlockProvider.tsx
* refactor: rename target.name to target.uid
* fix: add translate
* style: add padding
---------
Co-authored-by: anuoua <anuoua@gmail.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
* fix: fix date format
* fix: fix date format
* fix: export date
* fix: get current timezone
* fix: datetime render
* fix: gmt
* fix: gmt date
* fix: utf offset
Co-authored-by: chenos <chenlinxh@gmail.com>
* fix: fix accuracy of percent
* fix: fix accuracy of percent
* fix: test unit modify
* fix: export number
Co-authored-by: chenos <chenlinxh@gmail.com>