* fix: graphical interface override tabs
* fix: link of markdown too longer
* fix: page tab designer override in compact theme
* feat: url should be ellipsis
* 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>
* refactor: getTableNameWithSchema
* feat: allow create collection with same name in difference schema
* feat: support multiple schema with inherit
* feat: repository after find hook & relation repository __colection attribute
* chore: debug info
* chore: tmp commit
* fix: tableoid to tablename error
* feat: filter child table by tableoid
* feat: filter child table by collection name
* fix: sync runner
* chore: test
* fix: jest empty test error
* 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
* test: create view collection
* feat: view collection class
* feat: list view
* chore: skip sync view collection
* test: should create view collection in difference schema
* test: create view collection in collection manager
* feat: create view collection by user sql
* test: view resourcer
* feat: view collection
* feat: view collection cannot be added, deleted, or modified
* feat: view collection cannot be added, deleted, or modified
* feat: view collection cannot be added, deleted, or modified
* feat: view collection cannot be added, deleted, or modified
* refactor: connect to database view
* refactor: sync from database
* chore: rename list view sql
* chore: list view fields api
* chore: create collection without viewName
* feat: bring out fields when selecting a view
* chore: bring out fields when selecting a view
* feat: view field inference class
* chore: bring out fields when selecting a view
* chore: sync form database view
* chore: sync form database view
* refactor: view collection local
* feat: view get api
* feat: database type infer
* feat: integer map
* chore: remove from in view list
* chore: build error
* chore: uniq collection
* fix: typo
* chore: replace collection list source field
* fix: destroy view collection
* chore: timestamp field map
* refactor: interface avalableTypes
* refactor: interface avalableTypes
* chore: list fields test
* refactor: interface avalableTypes
* chore: uiSchema response in field source
* fix: view query
* chore: collection snippet
* refactor: view collection support preview
* fix: handle field source
* fix: typo
* fix: configure fileds title
* fix: configure fileds title
* fix: configure fileds title
* fix: sync from databse interface
* fix: sync from databse interface
* feat: set fields api
* fix: sync from databse fix
* feat: possibleTypes
* chore: fields get
* fix: sync from databse
* fix: list view test
* fix: view test in difference schema
* chore: comment
* feat: when there is only one source collection, the view is a subset of a Collection
* feat: view collection add field
* fix: inherit query with schema
* fix: test
* fix: ci test
* fix: test with schema
* chore: set pg default search path
* chore: mysql test
* fix: test with schema
* chore: test
* chore: action test
* chore: view column usage return type
* feat: mysql field inference
* fix: tableName
* chore: node sql parser
* fix: sql build
* fix: database build
* fix: mysql test
* feat: view collection uiSchema title
* fix: incorrect field source display when switching views
* refactor: view collection not allow modify
* fix: view collection is allow add, delete, and modify
* fix: mysql test
* fix: sqlite test
* fix: sqlite test
* fix: sqlite test
* fix: sqlite test
* chore: add id field as default target key
* style: style improve
* feat: load source field options
* style: style improve
* chore: disable remove column in view collection
* chore: support creating view collection with different schemas with the same name
* chore: support creating view collection with different schemas with the same name
* fix: query view in difference schema
* refactor: view collection viewname
* fix: query view collection in difference schema
* fix: field load
* chore: field options
* fix: mysql test
* fix: uiSchema component error when using a view field in a block
* fix: sqlite test
* chore: test
* fix: dump user views
* fix: view collection can be updated and edited in table block
* chore: sync from database display last field configuration
* chore: loadCollections
* chore: sync from database display last field configuration
* fix: field options merge issues
* style: preview table
* fix: view collection is allow using in kanban blocks
* refactor: code improve
* fix: view collection can be updated an edited in calendar block
* chore: disable infer field without interface
* feat: preview only shows source or interface fields
* fix: test
* refactor: locale
* feat: sql parser
* chore: remove node-sql-parser
* fix: yarn.lock
* test: view repository
* fix: view repository test
* chore: console.log
* chore: console.log
* fix: mysql without schema
* fix: mysql without schema
* chore: preview with field schema
* chore: tableActionInitializers
* style: preview style improve
* chore: parameter is filter when there is no filterByTk
* fix: preview pagination
* fix: preview pagination
* style: preview table style improve
* fix: sync from database loading
* chore: preview performance optimization
* chore: preview performance optimization
* feat: limit & offset
* chore: preview performance optimization
* test: field with dot column
* fix: datetime interface display
* fix: missing boolean type
* fix: sync
* fix: sync from database
* style: style improve
* style: style improve
* style: style improve
* chore: preview table
* chore: preview table
* chore: preview table
* fix: styling
---------
Co-authored-by: katherinehhh <katherine_15995@163.com>
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>