* 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: observer
* refactor(plugin-formula): merge 2 formula field type
* fix(plugin-formula): fix types
* fix(plugin-formula): fix type
* fix(plugin-formula): fix formulajs version
* fix(plugin-formula): change to VariableInput to avoid range error
* test(plugin-formula): add test
* fix(plugin-formula): fix test case
* fix(plugin-formula): fix test case
* fix(plugin-formula): fix test case
* refactor(plugin-formula): move components into plugin
* fix(plugin-formula): fix migration
* fix(plugin-formula): revert legacy component to fix build
* fix(plugin-formula): fix test case
* fix(plugin-formula): fix test case
* fix(plugin-formula): fix read-pretty component
* fix(plugin-formula): fix formula result component
* feat(plugin-formula): add checkbox display X
---------
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>
* fix: request api support dynamic custom
* fix: scope undefined will not work
* fix: use formily compile
* fix: user may be null
* fix: export add context