Task statuses

This commit is contained in:
Hillel Coren 2020-10-28 23:35:58 +02:00
parent 856ecac17f
commit 4f73e10874
5 changed files with 14 additions and 0 deletions

View File

@ -99,6 +99,9 @@ abstract class TaskStatusEntity extends Object
case TaskStatusFields.name:
response = taskStatusA.name.compareTo(taskStatusB.name);
break;
case TaskStatusFields.sortOrder:
response = taskStatusA.sortOrder.compareTo(taskStatusB.sortOrder);
break;
default:
print('## ERROR: sort by taskStatus.$sortField is not implemented');
break;

View File

@ -64,6 +64,7 @@ class TaskStatusEditVM {
},
onCancelPressed: (BuildContext context) {
createEntity(context: context, entity: TaskStatusEntity(), force: true);
store.dispatch(UpdateCurrentRoute(state.uiState.previousRoute));
},
onSavePressed: (BuildContext context) {
final Completer<TaskStatusEntity> completer =

View File

@ -26,6 +26,7 @@ class _TaskStatusViewState extends State<TaskStatusView> {
return ViewScaffold(
isFilter: widget.isFilter,
entity: taskStatus,
onBackPressed: () => viewModel.onBackPressed(),
body: ListView(
children: <Widget>[],
),

View File

@ -3,6 +3,8 @@ import 'package:invoiceninja_flutter/constants.dart';
import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:invoiceninja_flutter/redux/ui/ui_actions.dart';
import 'package:invoiceninja_flutter/ui/task_status/task_status_screen.dart';
import 'package:invoiceninja_flutter/utils/completers.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
import 'package:redux/redux.dart';
@ -47,6 +49,7 @@ class TaskStatusViewVM {
@required this.isSaving,
@required this.isLoading,
@required this.isDirty,
@required this.onBackPressed,
});
factory TaskStatusViewVM.fromStore(Store<AppState> store) {
@ -73,6 +76,8 @@ class TaskStatusViewVM {
onRefreshed: (context) => _handleRefresh(context),
onEntityAction: (BuildContext context, EntityAction action) =>
handleEntitiesActions(context, [taskStatus], action, autoPop: true),
onBackPressed: () =>
store.dispatch(UpdateCurrentRoute(TaskStatusScreen.route)),
);
}
@ -81,6 +86,7 @@ class TaskStatusViewVM {
final CompanyEntity company;
final Function(BuildContext, EntityAction) onEntityAction;
final Function(BuildContext) onRefreshed;
final Function onBackPressed;
final bool isSaving;
final bool isLoading;
final bool isDirty;

View File

@ -15,6 +15,7 @@ mixin LocalizationsProvider on LocaleCodeAware {
static final Map<String, Map<String, String>> _localizedValues = {
'en': {
// STARTER: lang key - do not remove comment
'sort_order': 'Sort Order',
'task_status': 'Status',
'task_statuses': 'Task Statuses',
'new_task_status': 'New Task Status',
@ -4832,6 +4833,8 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get showTasksTableHelp =>
_localizedValues[localeCode]['show_tasks_table_help'] ?? '';
String get sortOrder => _localizedValues[localeCode]['sort_order'] ?? '';
String lookup(String key) {
final lookupKey = toSnakeCase(key);