Task statuses

This commit is contained in:
Hillel Coren 2023-05-03 22:18:01 +03:00
parent 47a1298eb7
commit c174442090
3 changed files with 82 additions and 72 deletions

View File

@ -63,6 +63,8 @@ class _CompanyGatewayListState extends State<CompanyGatewayList> {
if (state.isSaving) LinearProgressIndicator(),
RefreshIndicator(
onRefresh: () => widget.viewModel.onRefreshed(context),
child: Padding(
padding: const EdgeInsets.all(8),
child: ReorderableListView(
scrollController: _controller,
onReorder: (oldIndex, newIndex) {
@ -88,13 +90,15 @@ class _CompanyGatewayListState extends State<CompanyGatewayList> {
companyGateway: companyGateway,
onRemovePressed: widget
.viewModel.state.settingsUIState.isFiltered
? () => widget.viewModel.onRemovePressed(companyGatewayId)
? () =>
widget.viewModel.onRemovePressed(companyGatewayId)
: null,
isChecked: isInMultiselect &&
listUIState.isSelected(companyGateway.id));
}).toList(),
),
),
),
],
);
}

View File

@ -63,6 +63,8 @@ class _TaskStatusListState extends State<TaskStatusList> {
if (state.isSaving) LinearProgressIndicator(),
RefreshIndicator(
onRefresh: () => widget.viewModel.onRefreshed(context),
child: Padding(
padding: const EdgeInsets.all(8),
child: ReorderableListView(
scrollController: _controller,
onReorder: (oldIndex, newIndex) {
@ -89,11 +91,12 @@ class _TaskStatusListState extends State<TaskStatusList> {
? () => widget.viewModel.onRemovePressed(companyGatewayId)
: null,
*/
isChecked:
isInMultiselect && listUIState.isSelected(taskStatus.id));
isChecked: isInMultiselect &&
listUIState.isSelected(taskStatus.id));
}).toList(),
),
),
),
],
);
}

View File

@ -13,6 +13,7 @@ import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
import 'package:invoiceninja_flutter/redux/task_status/task_status_actions.dart';
import 'package:invoiceninja_flutter/ui/app/app_bottom_bar.dart';
import 'package:invoiceninja_flutter/ui/app/buttons/app_text_button.dart';
import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart';
import 'package:invoiceninja_flutter/ui/app/list_filter.dart';
import 'package:invoiceninja_flutter/ui/app/list_scaffold.dart';
@ -65,7 +66,8 @@ class TaskStatusScreen extends StatelessWidget {
},
appBarActions: [
if (viewModel.isInMultiselect)
TextButton(
AppTextButton(
isInHeader: true,
onPressed: () async {
final taskStatusIds = listUIState.selectedIds
.map<TaskStatusEntity>(
@ -80,7 +82,8 @@ class TaskStatusScreen extends StatelessWidget {
(_) => store.dispatch(ClearTaskStatusMultiselect())),
);
},
child: Text(localization.actions)),
label: localization.actions,
),
],
body: TaskStatusListBuilder(),
bottomNavigationBar: AppBottomBar(