* chore: remove async trait
* chore: require From<AnyMap> for trait TypeOption
* refactor: simplify group controller by removing GroupController trait
* chore: rename GroupControllerOperation trait to GroupController
* chore: add some docs
* chore: remove plural struct and use Vec directly
* chore: unnecessary mut
* chore: use same name to indicate passthrough
* chore: remove unused trait
* chore: rename group context to group controller context
* chore: remove group name
* chore: move type option interceptor to GroupCustomize and split off delegates for group context and group controller
* chore: adapt tests to changes
* chore: adapt flutter frontend to changes
* chore: code cleanup
* chore: fix clippy and adapt tauri frontend to changes
* chore: group controller code clean up
* chore: no need to pass cell data when moving row
* chore: rename some functions and variables
* chore: remove content filter
* feat: fill cells according to active filters
* chore: short circuit filter_row function
* chore: delete corresponding filters when filtered filter is deleted
* chore: validate filters when loading
* chore: remove unnecessary tuple in return
* chore: use trait
* chore: add tests
* chore: enable relation to
* chore: fix database name and improve UI
* chore: remove database view id from relation type option
* chore: add remove row id test
* chore: improve appearance of untitled rows
* chore: empty in row detail
* fix: cannot add events after closing
---------
Co-authored-by: Richard Shiue <71320345+richardshiue@users.noreply.github.com>
* feat: floating calculations row
* fix: calculate cell overflow + tooltip
* fix: empty text cell should be counted as empty
* fix: empty text cell sohuld not be counted as not empty
* fix: conversion of some field types for calculations
* fix: tooltip + size of duplicate event button
* fix: minor view meta info changes
* fix: apply number format on word/char count
* fix: dart format
* fix: hide arrow for calc values
---------
Co-authored-by: Richard Shiue <71320345+richardshiue@users.noreply.github.com>
* refactor: port away from extra SortType struct
* refactor: add validator to flowy_database and clean up unused structs
* refactor: port away from extra FilterType struct
* chore: analysis options
* fix: clippy and dart/ts compile
* fix: tauri build
---------
Co-authored-by: nathan <nathan@appflowy.io>
* feat: support reminder on date
* feat: support reminder on date in database
* fix: include time static
* fix: do not force unwrap
* chore: clean flutter code
* test: add test for reminder in database
* fix: interpret reminder option
* feat: date and reminder on mobile
* feat: improve notification actions and support open row
* feat: support dates in document
* fix: minor changes + review
* feat: support reminder on mobile in document
* feat: support open row on database reminder mobile
* test: add more tests
* fix: first part of review
* fix: open row responsibility
* fix: abstract application logic from presentation layer
* fix: update reminder on date cell update
* test: fix failing test
* fix: show correct selected day after end date toggled
* refactor: include field type option in FieldPB
* refactor: adapt changes on flutter
* refactor: adapt changes on new tauri grid
* refactor: adapt changes on old tauri grid/board
* chore: merge
* fix: update auto-update fields on change group
auto-update fields should get updated when on moving row from one
group to another. They where getting updated only on changing row
properties directly.
Also added integration test for changing row groupd related to #3010.
* style: rust format
* fix: add board group test to runner
* fix: update auto updated fiels only when group has changed
* fix: apply group changeset before move_row
* fix: get from_row before move_row
* fix: groups method changed to get_all_groups
* fix: pass from group id in move group payload
We can't know the from group id from the row itself. Because a row
can exist in multiple groups (group by multiselect).
* fix: MoveGroupRowPayloadPB from_group_id index
* feat: allow inserting fields before or after a certain field
* fix: tauri build
* chore: implement frontend
* test: rust-lib tests
* test: integration test
* chore: point to temp collab rev
* chore: bump collab rev
* chore: fix tauri build
* chore: fix the tauri build, for real this time
* fix: new field editor show detail not general
---------
Co-authored-by: nathan <nathan@appflowy.io>
* feat: hide/unhide ui
* chore: implement collapsible side bar and adjust group header (#2)
* refactor: hidden columns into own file
* chore: adjust new group button position
* fix: flowy icon buton secondary color bleed
* chore: some UI adjustments
* fix: some regressions
* chore: proper group is_visible fetching
* chore: use a bloc to manage hidden groups
* fix: hiding groups not working
* chore: implement hidden group popups
* chore: proper ungrouped item column management
* chore: remove ungrouped items button
* chore: flowy hover build
* fix: clean up code
* test: integration tests
* fix: not null promise on null value
* fix: hide and unhide multiple groups
* chore: i18n and code review
* chore: missed review
* fix: rust-lib-test
* fix: dont completely remove flowyiconhovercolor
* chore: apply suggest
* fix: number of rows inside hidden groups not updating properly
* fix: hidden groups disappearing after collapse
* fix: hidden group title alignment
* fix: insert newly unhidden groups into the correct position
* chore: adjust padding all around
* feat: reorder hidden groups
* chore: adjust padding
* chore: collapse hidden groups section persist
* chore: no status group at beginning
* fix: hiding groups when grouping with other types
* chore: disable rename groups that arent supported
* chore: update appflowy board ref
* chore: better naming
* feat: delete kanban groups
* chore: forgot to save
* chore: fix build and small ui adjustments
* chore: add a confirm dialog when deleting a column
* fix: flutter lint
* test: add integration test
* chore: fix some design review issues
* chore: apply suggestions from Nathan
* fix: write lock on group controller
---------
Co-authored-by: Mathias Mogensen <mathias@appflowy.io>
* feat: hide/unhide ui
* chore: implement collapsible side bar and adjust group header (#2)
* refactor: hidden columns into own file
* chore: adjust new group button position
* fix: flowy icon buton secondary color bleed
* chore: some UI adjustments
* fix: some regressions
* chore: proper group is_visible fetching
* chore: use a bloc to manage hidden groups
* fix: hiding groups not working
* chore: implement hidden group popups
* chore: proper ungrouped item column management
* chore: remove ungrouped items button
* chore: flowy hover build
* fix: clean up code
* test: integration tests
* fix: not null promise on null value
* fix: hide and unhide multiple groups
* chore: i18n and code review
* chore: missed review
* fix: rust-lib-test
* fix: dont completely remove flowyiconhovercolor
* chore: apply suggest
* fix: number of rows inside hidden groups not updating properly
* fix: hidden groups disappearing after collapse
* fix: hidden group title alignment
* fix: insert newly unhidden groups into the correct position
* chore: adjust padding all around
* feat: reorder hidden groups
* chore: adjust padding
* chore: collapse hidden groups section persist
* chore: no status group at beginning
* fix: hiding groups when grouping with other types
* chore: disable rename groups that arent supported
* chore: update appflowy board ref
* chore: better naming
* test: fix tests
---------
Co-authored-by: Mathias Mogensen <mathias@appflowy.io>
* fix: load database fail caused by spawning long run task
* chore: yield long run task
* chore: fmt
* chore: update client api
* feat: copy data between server
* ci: fix af cloud test
* feat: implement backend logic
* fix: did_create_row not working properly
* fix: did_delete_group not working properly
* fix: test
* chore: fix clippy
* fix: new card not editable and in wrong position
* feat: imlement UI for add new stack
* test: add integration test
* chore: i18n
* chore: remove debug message
* chore: merge conflict
---------
Co-authored-by: nathan <nathan@appflowy.io>
* feat: add end date to time cell data
* feat: implement ui for end time
* test: add date to text test
* chore: clippy warnings
* fix: unexpected time parsing
* fix: fix the date logic when toggling end date
---------
Co-authored-by: nathan <nathan@appflowy.io>
* fix: stringify date cell includes time if true
* refactor: LastModified and CreatedAt type option
* chore: frontend implementation
* chore: some adjustments and fix tests
* fix: integration tests
* chore: timestamp type option ui
* feat: group by date
* test: added more tests for group by date
* fix: print month in abbrev format
* chore: adapt group event changes
* style: remove comment
* fix: change date on changing group
* fix: dont count time in relative group
* fix: check beginning of month is within 30 days
* refactor: unify group id date format
---------
Co-authored-by: nathan <nathan@appflowy.io>
* chore: Add _ClearDateFieldButton
* chore: Add new DateCellCalendarEvent to clear date
* chore: Add grid_field_clearDate translation token
* refactor: _ClearDateFieldButton -> _ClearDateButton
* fix: Fix dart(unused_element) in _ClearDateButton
* feat: Handle clearDate
* Revert "feat: Handle clearDate"
This reverts commit fd145ef8e9589f3b4aa1a16e5d72c15b6d0b53c4.
* feat: Handle clearDate
* feat: Add clear_flag field
* feat: check clear_flag to clear date
* chore: update exisitng tests
* fix: add mssing import
* refactor: remove check for timeFormatError
* fix: fix margin on _ClearDateButton
* refactor: _ClearDateButton -> ClearDateButton
* test: add clear date backend unit test
* test: add clear date integration test
* test: add clear date to edit time cell test
* chore: mark ClearDateButton visible for testing
* feat: close date editor popover on clear date
* style: make AppFlowyPopover taller
* fix: trim dateStr in _dateStrFromCellData
* fix: don't dismiss CellEditor after clearDate