* perf: use useMemo
* refactor: extract className
* refactor: fix lint warning
* fix: fix can not be selected
* refactor: reduces count of compile runs
* fix: fix T-494
* fix: should disable options that no children
* fix: fix T-496
* fix: avoid delete last tab will brake mobile client
* fix: when schema not exists
* feat: support redirect to mobile route in app
* fix: re-insert repeat routes
* feat: sync title
* fix: sync title
* fix: when TabBar is empty will cause page crashed
* fix: default label i18n not work
* fix: delete last menu will cannot add block ,Close T-434
* fix: tab cannot add block in drawer, Close T-437
* fix: hidden connect data block
* fix: login should use replace
* feat: display configuration of mobile-client address
* fix(client): fix json input component value handling
* fix(client): fix json input test case
* refactor(client): remove format button from json variable component
* refactor(client): move json input style to global
* test(client): remove unused test case
* 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
* feat: init mobile client
* feat: add plugin
* feat: ready to develop
* feat: update pm styels
* feat: add mobile center
* feat: router ready
* feat: support menu block, then menu ready
* fix: incorrect path
* feat: support TabBar
* feat: tabbar, menu support dragging
* feat: support page and header
* feat: mobile view
* fix: optional schema
* feat: improve styles
* fix: user-scalable
* feat: support pc component show in mobile
* feat: hidden divider
* fix: improve drawer props
* feat: support list block
* feat: rename to details list
* feat: page support tabs
* feat: improve designer css
* feat: complete enable/disabled header of page
* feat: some improve
* feat: improve empty data
* fix: header info cannot displayed
* chore: update deps
* fix: incorrect spacing
* fix: menu designer
* refactor: re implement
* feat: support page template
* feat: clean code
* feat: support i18n
* chore: update lock
* feat: support GirdCard in mobile
* fix: build failed
* feat: only render one column in mobile interface
* fix: back button should not display in container
* fix: switch to padding
* fix: fixedBlockDesignRItem shouldn't display in dosen't support block
* fix: update font family
* fix: remove gridcard title
* fix: dragging scope is too wide
* fix: add menu cannot direct display
* refactor: improve tabbar schema usage
* refactor: improve menu schema
* feat: should to use simple pagination
* feat: the tag should pre-wrap
* feat: improve the configuration button
* feat: improve name
* fix: clear data when modal is closed
* fix: the tag is too long
* fix: i18n
* fix: font incorrect
* feat: add map block
* fix: some maps error
* feat: support global action in page
* feat: improve border color
* feat: improve performance, the count stop early
* style: improve
* fix: incorrect font
* fix: style conflict
* chore: update version
* chore: missing dep
* feat: support setting block
* feat: improve settings block and improve
* feat: support onBackPressed
* fix: ts error
* feat: improve cannot find tab should navigate to mobile
* docs: update
* chore: update deps
* fix: showTitle state is incorrect
* feat: improve jsbridge apis
* fix: navigate to admin after signout
* chore: remove mgrid block
* fix: ts error
* fix: switch role will reload to root page
* fix: update deps
* fix: upgrade formily to 2.2.24
---------
Co-authored-by: dream2023 <1098626505@qq.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
* 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>
* 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
* fix: data scope and sorting rule config should not display in normal field
* fix: data scope and sorting rule config should not display in normal field
* fix: allowMultiple should display in association field
* refactor: remove useless code
* perf: async loading of user variable data
* perf: async loading children
* perf: add maxDepth
* refactor: use useMemo
* fix: avoid old data
* refactor: linkage rule support to many association field
* refactor: linkage rule support toMany
* fix: support toMany association field
* fix: support toMany association field
* fix: operator support toMany association field
* refactor: useLinkageCollectionFilterOptions
* refactor: optimize
* feat(Data-template): support to set data scope and title field
* fix: fix error when no template data
* fix: fix error
* fix: operator
* chore: remove id
* fix: filter
* fix: should be global
* fix: submit
* fix: global sync
* fix: title field
* fix: fix filter
* fix: fix first created
* fix: collection
* fix: collection
* fix: collection
* chore: should show N/A
* Revert "chore: should show N/A"
This reverts commit 00c91d77612aea0801fec88b5f3f91e4be999439.
* chore: should show N/A
* chore: remove useless code
* refactor: use useMemo
* refactor: use useCallback
* feat(Data-template): change maxDepth from 3 to 10
* feat(Data-template): support for unlimited levels of fields selection
* fix: fix invalid selection
* fix: should be updated when data changes
* feat: parent treeNode and children treeNodes are not associated
* fix: avoid error
* fix: fix error
* chore: remove notification
* fix: parant node should be selected when child is selected
* fix: auto select all ancester nodes
* fix: only when the new data is successfully created can the data be associated
* fix: associate empty object data
* Update index.ts
* fix: to many nester cannot be deleted when there is one data
* fix: code improve
* fix: association field add new button should not drag
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
* feat: support to parse association variable
* chore: change comment
* feat(operators): support array as value in string operator
* refactor: add a special marker
* feat: date support to-multi field variables
* feat: support for notIn
* refactor: rename
* test: fix test error
* Revert "test: fix test error"
This reverts commit 3d139698f6295678a39b77b08c88427f9fafe247.
* Revert "refactor: rename"
This reverts commit 2e16225c038e18ee25f1136d510cb4746bd9932f.
* Revert "feat: support for notIn"
This reverts commit 2087e5c4da1429b260890d5136c714ad541955a9.
* Revert "feat: date support to-multi field variables"
This reverts commit 0d7b2db0512ba7b632a2ab61f37cf83c0d06b9a1.
* Revert "refactor: add a special marker"
This reverts commit 7ba2e4bc00d79f60a2e90340df65b2938985750a.
* Revert "feat(operators): support array as value in string operator"
This reverts commit 0897cd19e9863248ef9e2af6c91ee14e805778a4.
* refactor: improve code
* test: fix can not import style file
* feat: only eq and ne oprators support mutil relation fields
* test: add example.test.ts
* refactor: remove jsonata
* Revert "test: add example.test.ts"
This reverts commit 0ad2ea458cd8a964891490d2021a5b000f391395.
* test: fix error
* fix: fix error
* refactor: remove async
* chore: rebase
* test: fix error
* test: fix errors
* refactor: default one data for multiple association
* refactor: default one data for multiple association
* refactor: default one data for multiple association
* fix: initial value
* fix: add new
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
* fix: inherit fields filter Foreign Key fields
* fix: association select no options displayed when clearing filter
* fix: association select no options displayed when clearing filter
* feat: assoociation add new supoort button edit
* feat: assoociation add new supoort button edit
* fix: add new button type
* refactor: add new support button edit
* chore: skip sync overriding field default value
* chore: test
* chore: override field does not allow setting default values
---------
Co-authored-by: katherinehhh <katherine_15995@163.com>
* fix: fix the default value being overwriitten
* feat: supports association fields to set default value
* feat: support to toggle multiple
* feat: support to use variables to set default value
* refactor: migrate hooks
* fix: fix the title disappearing
* feat: suport to use current-user variable
* fix: fix error
* fix: one to one and one to many should not support to set default value
* fix: fix error when searching
* style: set the width of modal
* fix: should not support to set default value for system fields
* refactor: fix lint error
* style: optimize inputNumber width
* refactor: extract to one function
* refactor: extract function
* fix: should not display default when field is readPretty
* style: optimize width of select
* fix: avoid error
* fix: should not display multiple option when subtable
* fix: should not display default when attachment
* fix: chinaRegion
* chore: optimize code
* fix: build error
* fix: multiple should be true by default
* refactor: optimize code
* fix: fix Select multiple mode
* refactor: optimize code
* fix: width
* fix: fix the displaying problem of Select
* fix: fix error
* fix: filter out fields
* feat: format date
* feat: optimize
* fix: fix error
* feat: use the default title field
* fix: fix bug
* style: automatically omit cell content based on width
* fix: cell tooltips are only displayed when the width is exceeded
* chore: multiple select ellipsis in table collection
* fix: no automatic thumbnail when table column content exceeds width
* refactor: table ellipsis
* refactor: isOverflowTooltip
* feat: configure fields
* feat: edit
* feat: enable delete action
* style: indent style
* feat: support to override and view inherited fields
* feat: support to delete and add field and sync
* fix: should delete the seleted option
* feat: support to setting title field
* feat: avoid infinite loops and add default title field
* feat(data-templates): use titleField to display title
* fix: fix the pagination of collection manager
* feat: add prompt for title field switch
* feat: filter field types
* feat: not use title switch when field interface is icon
* feat: translate
* fix: sync update collections data
* feat: translate
* fix: fix build error
---------
Co-authored-by: chenos <chenlinxh@gmail.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(Map): support to filter other blocks
* feat: highlight marker when selected
* feat: clear filter params when cancel connect
* feat: support line and polygon
* feat(Form): support to select existing data as template
* refactor: extract useDataTemplates
* feat(Form): support to use template
* fix: template switch
* fix: fix association field
* fix: filter fields
* fix: fix unselected default value
* fix: avoid errors
* refactor: remove useless code
* refactor: move templateSelect to FormBlockProvider
* feat: add a checkbox to toggle template selector
* feat: change the options order
* feat: hide Collection option when no inherit
* fix: optimize the label text
* fix: should empty form
* fix: should hide configuration when is not added
* chore: change text
* fix: template selector not displayed
* feat: optimize template
* feat: data template middleware
* fix: template select
* fix: default
* fix: fields
* feat: field delete button changed from hidden to disabled
* fix: improve code
* fix: prefix error
* fix: items
* feat: use Tree
* fix: maxDepth
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
* feat: add Gantt block
* feat: gantt block congiure action
* feat: gantt block congiure fields
* feat: gantt block congiure fields
* feat: gantt block congiure fields
* feat: gantt block code improve
* feat: gantt block code improve
* feat: gantt block code improve
* feat: gantt block time range
* feat: gantt block date change
* feat: gantt block progress change
* feat: gantt block columnWidth fix
* feat: gantt block action configure
* feat: gant block init fix
* feat: gant block table configure
* feat: gant block table configure
* feat: gant block table configure
* feat: gant expend when table expend
* feat: modulecss ->less
* feat: style improve
* feat: style module -> emotion css
* feat: gantt process handle
* feat: gantt block empty state placeholder
* feat: table actions suport config
* feat: gantt block suprt time range change
* feat: gantt block suprt process update
* feat: gantt block suprt process update
* feat: gantt block suprt process update
* feat: gantt block suprt process update
* feat: gantt block configure actions
* feat: gantt block style improve
* feat: gantt table actions column is configured by default
* feat: gantt block surport bulk update
* feat: gantt block surport bulk update&bulk edit
* feat: gantt block action configure fix
* feat: gant block code improve
* feat: do not display gantt bar when the start date is empty
* feat: gant configure actions
* feat: gant task change
* feat: gant calendar style improve
* style: gant local
* style: gant grid style improve
* style: gant calendar style improve
* style: gant style improve
* refactor: gant bar suport click
* feat: adjacency list
* fix: error
* feat: collection extender
* Revert "feat: collection extender"
This reverts commit a942eee769.
* fix: registerBuiltInListeners
* chore: getAllNodeIds
# Conflicts:
# packages/plugins/acl/src/server.ts
* fix: get list data tree ids
# Conflicts:
# packages/plugins/acl/src/__tests__/list-action.test.ts
* feat: suport add child
* feat: demo3
* feat: suport add child
* feat: support add child
* feat: support add child
* fix: tree true
* feat: suport expend and collapse
* feat: support expend and collapse
* feat: support expend and collapse
* feat: table block of the selector supports tree table
* feat: expand and collapse are only displayed in the tree table
* fix: when the tree table is closed and opened, it needs to be refreshed to take effect
* fix: test
* refactor: add child is hidden when the tree table is closed
* refactor: tree table filter the children field
* refactor: tree table filter the children field
* refactor: tree table filter the children field
* refactor: expand and collapse button does not support modify name and icon
* refactor: parent cannot be modified when adding child
* refactor: expand and collapse button hide when treetable is closed
* refactor: expand and collapse button hide when treetable is closed
* refactor: expand and collapse button hide when treetable is closed
* refactor: expand and collapse button hide when treetable is closed
* refactor: expand and collapse button hide when treetable is closed
* refactor: expand and collapse button hide when treetable is closed
* refactor: expand and collapse button hide when treetable is closed
* refactor: expand and collapse button hide when treetable is closed
* refactor: filter out the node itself when selecting parent
* refactor: filter out the node itself when selecting parent
* refactor: tree collection locale
* refactor: tree collection locale
* feat: gantt block support tree collection
* fix: parameter exception when creating data selector
* feat: gantt block support tree collection
* feat: gantt block support tree collection
* fix: tableActionColumnInitializers
* style: style improve
* fix: gantt expansion exception
* style: style improve
* style: style improve
* style: calendar style improve
* style: style improve
* style: code improve
* refactor: gantt chart also highlights when table rows are selected
* fix: time scale default value
* fix: end field is nor requried to set
* fix: detailed blocks not appear when child record is clicked
* fix: detailed blocks not appear when child record is clicked
* refactor: gantt default expand all
* feat: gantt adapt to compact themes
* feat: gantt adapt to compact themes
* refactor: style improve
* refactor: style improve
* refactor: style improve
* refactor: style improve
* refactor: style improve
* refactor: style improve
* refactor: style improve
* refactor: sort by start date
* refactor: style improve
* refactor: style improve
* fix: styling
* fix: font-family
* fix: font-weight: 400
* feat: custom color
* fix: styling
* fix: style
* refactor: style improve
* refactor: style improve
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
* feat(Upload.DraggerV2): add loading
* feat: auto close on uploading over
* feat: auto selected when upload is complete
* feat: filter selected options
* feat: add quick-upload and select-file
* fix: should not appear on readPretty mode
* fix: radio
* fix: compatible with older version
* feat: improving the interaction of radio selections
* fix: show two butons by default
* 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 53cd346dab.
* 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(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>