mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
feat: created at and updated at field type (#2572)
* feat: created at and updated at field type * style: context for rust asserts, change checks in flutter * fix: mistake in if condition * style: add comma end of array * feat: created at and updated at field type * fix: typo in const variable * style: cargo fmt * refactor: opti cell insert * chore: remove redundant clone * refactor: date type option * fix: tauri build --------- Co-authored-by: nathan <nathan@appflowy.io>
This commit is contained in:
committed by
GitHub
parent
a85cc62a58
commit
9a213fa562
@ -40,6 +40,8 @@ class CellControllerBuilder {
|
||||
cellDataPersistence: TextCellDataPersistence(cellId: _cellId),
|
||||
);
|
||||
case FieldType.DateTime:
|
||||
case FieldType.UpdatedAt:
|
||||
case FieldType.CreatedAt:
|
||||
final cellDataLoader = CellDataLoader(
|
||||
cellId: _cellId,
|
||||
parser: DateCellDataParser(),
|
||||
|
@ -353,7 +353,13 @@ class RowDataBuilder {
|
||||
}
|
||||
|
||||
void insertDate(FieldInfo fieldInfo, DateTime date) {
|
||||
assert(fieldInfo.fieldType == FieldType.DateTime);
|
||||
assert(
|
||||
[
|
||||
FieldType.DateTime,
|
||||
FieldType.UpdatedAt,
|
||||
FieldType.CreatedAt,
|
||||
].contains(fieldInfo.fieldType),
|
||||
);
|
||||
final timestamp = date.millisecondsSinceEpoch ~/ 1000;
|
||||
_cellDataByFieldId[fieldInfo.field.id] = timestamp.toString();
|
||||
}
|
||||
|
@ -84,10 +84,19 @@ class FilterBackendService {
|
||||
required String fieldId,
|
||||
String? filterId,
|
||||
required DateFilterConditionPB condition,
|
||||
required FieldType fieldType,
|
||||
int? start,
|
||||
int? end,
|
||||
int? timestamp,
|
||||
}) {
|
||||
assert(
|
||||
[
|
||||
FieldType.DateTime,
|
||||
FieldType.UpdatedAt,
|
||||
FieldType.CreatedAt,
|
||||
].contains(fieldType),
|
||||
);
|
||||
|
||||
var filter = DateFilterPB();
|
||||
if (timestamp != null) {
|
||||
filter.timestamp = $fixnum.Int64(timestamp);
|
||||
@ -105,7 +114,7 @@ class FilterBackendService {
|
||||
return insertFilter(
|
||||
fieldId: fieldId,
|
||||
filterId: filterId,
|
||||
fieldType: FieldType.DateTime,
|
||||
fieldType: fieldType,
|
||||
data: filter.writeToBuffer(),
|
||||
);
|
||||
}
|
||||
|
@ -362,6 +362,8 @@ Widget? _buildHeaderIcon(GroupData customData) {
|
||||
}
|
||||
break;
|
||||
case FieldType.DateTime:
|
||||
case FieldType.UpdatedAt:
|
||||
case FieldType.CreatedAt:
|
||||
break;
|
||||
case FieldType.MultiSelect:
|
||||
break;
|
||||
|
@ -93,11 +93,14 @@ class GridCreateFilterBloc
|
||||
condition: CheckboxFilterConditionPB.IsChecked,
|
||||
);
|
||||
case FieldType.DateTime:
|
||||
case FieldType.UpdatedAt:
|
||||
case FieldType.CreatedAt:
|
||||
final timestamp = DateTime.now().millisecondsSinceEpoch ~/ 1000;
|
||||
return _filterBackendSvc.insertDateFilter(
|
||||
fieldId: fieldId,
|
||||
condition: DateFilterConditionPB.DateIs,
|
||||
timestamp: timestamp,
|
||||
fieldType: field.fieldType,
|
||||
);
|
||||
case FieldType.MultiSelect:
|
||||
return _filterBackendSvc.insertSelectOptionFilter(
|
||||
|
@ -23,7 +23,11 @@ class FilterInfo {
|
||||
}
|
||||
|
||||
DateFilterPB? dateFilter() {
|
||||
if (filter.fieldType != FieldType.DateTime) {
|
||||
if (![
|
||||
FieldType.DateTime,
|
||||
FieldType.UpdatedAt,
|
||||
FieldType.CreatedAt,
|
||||
].contains(filter.fieldType)) {
|
||||
return null;
|
||||
}
|
||||
return DateFilterPB.fromBuffer(filter.data);
|
||||
|
@ -25,6 +25,8 @@ Widget buildFilterChoicechip(FilterInfo filterInfo) {
|
||||
case FieldType.Checkbox:
|
||||
return CheckboxFilterChoicechip(filterInfo: filterInfo);
|
||||
case FieldType.DateTime:
|
||||
case FieldType.UpdatedAt:
|
||||
case FieldType.CreatedAt:
|
||||
return DateFilterChoicechip(filterInfo: filterInfo);
|
||||
case FieldType.MultiSelect:
|
||||
return SelectOptionFilterChoicechip(filterInfo: filterInfo);
|
||||
|
@ -8,6 +8,8 @@ extension FieldTypeListExtension on FieldType {
|
||||
case FieldType.Checkbox:
|
||||
return "grid/field/checkbox";
|
||||
case FieldType.DateTime:
|
||||
case FieldType.UpdatedAt:
|
||||
case FieldType.CreatedAt:
|
||||
return "grid/field/date";
|
||||
case FieldType.MultiSelect:
|
||||
return "grid/field/multi_select";
|
||||
@ -31,6 +33,10 @@ extension FieldTypeListExtension on FieldType {
|
||||
return LocaleKeys.grid_field_checkboxFieldName.tr();
|
||||
case FieldType.DateTime:
|
||||
return LocaleKeys.grid_field_dateFieldName.tr();
|
||||
case FieldType.UpdatedAt:
|
||||
return LocaleKeys.grid_field_updatedAtFieldName.tr();
|
||||
case FieldType.CreatedAt:
|
||||
return LocaleKeys.grid_field_createdAtFieldName.tr();
|
||||
case FieldType.MultiSelect:
|
||||
return LocaleKeys.grid_field_multiSelectFieldName.tr();
|
||||
case FieldType.Number:
|
||||
|
@ -73,6 +73,8 @@ TypeOptionWidgetBuilder makeTypeOptionWidgetBuilder({
|
||||
),
|
||||
);
|
||||
case FieldType.DateTime:
|
||||
case FieldType.UpdatedAt:
|
||||
case FieldType.CreatedAt:
|
||||
return DateTypeOptionWidgetBuilder(
|
||||
makeTypeOptionContextWithDataController<DateTypeOptionPB>(
|
||||
viewId: viewId,
|
||||
@ -202,6 +204,8 @@ TypeOptionContext<T>
|
||||
dataParser: CheckboxTypeOptionWidgetDataParser(),
|
||||
) as TypeOptionContext<T>;
|
||||
case FieldType.DateTime:
|
||||
case FieldType.UpdatedAt:
|
||||
case FieldType.CreatedAt:
|
||||
return DateTypeOptionContext(
|
||||
dataController: dataController,
|
||||
dataParser: DateTypeOptionDataParser(),
|
||||
|
@ -39,6 +39,8 @@ class CardCellBuilder<CustomCardData> {
|
||||
key: key,
|
||||
);
|
||||
case FieldType.DateTime:
|
||||
case FieldType.UpdatedAt:
|
||||
case FieldType.CreatedAt:
|
||||
return DateCardCell<CustomCardData>(
|
||||
renderHook: renderHook?.renderHook[FieldType.DateTime],
|
||||
cellControllerBuilder: cellControllerBuilder,
|
||||
|
@ -34,6 +34,8 @@ class GridCellBuilder {
|
||||
key: key,
|
||||
);
|
||||
case FieldType.DateTime:
|
||||
case FieldType.UpdatedAt:
|
||||
case FieldType.CreatedAt:
|
||||
return GridDateCell(
|
||||
cellControllerBuilder: cellControllerBuilder,
|
||||
key: key,
|
||||
|
@ -335,6 +335,8 @@ GridCellStyle? _customCellStyle(FieldType fieldType) {
|
||||
case FieldType.Checkbox:
|
||||
return null;
|
||||
case FieldType.DateTime:
|
||||
case FieldType.UpdatedAt:
|
||||
case FieldType.CreatedAt:
|
||||
return DateCellStyle(
|
||||
alignment: Alignment.centerLeft,
|
||||
);
|
||||
|
Reference in New Issue
Block a user