From bb7436a97e600bd6d83d9f1c43657fa21c13a2eb Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Tue, 11 Feb 2020 17:24:38 +0200 Subject: [PATCH] Reports --- lib/ui/app/dialogs/multiselect_dialog.dart | 19 ++++++++++++++++++- lib/ui/reports/reports_screen.dart | 1 + lib/utils/i18n.dart | 3 +++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/lib/ui/app/dialogs/multiselect_dialog.dart b/lib/ui/app/dialogs/multiselect_dialog.dart index 58858e4c6..fb7e62fdf 100644 --- a/lib/ui/app/dialogs/multiselect_dialog.dart +++ b/lib/ui/app/dialogs/multiselect_dialog.dart @@ -1,9 +1,11 @@ import 'package:flutter/material.dart'; +import 'package:invoiceninja_flutter/ui/app/forms/app_dropdown_button.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; void multiselectDialog( {BuildContext context, String title, + String addTitle, List options, List selected, Function(List) onSelected}) { @@ -36,10 +38,11 @@ void multiselectDialog( } class _MultiSelectList extends StatefulWidget { - const _MultiSelectList({this.options, this.selected}); + const _MultiSelectList({this.options, this.selected, this.addTitle}); final List options; final List selected; + final String addTitle; @override _MultiSelectListState createState() => _MultiSelectListState(); @@ -61,6 +64,20 @@ class _MultiSelectListState extends State<_MultiSelectList> { child: Column( mainAxisSize: MainAxisSize.min, children: [ + AppDropdownButton( + labelText: widget.addTitle, + items: widget.options + .map((option) => DropdownMenuItem( + child: Text(option), + value: option, + )) + .toList(), + value: null, + showBlank: true, + onChanged: (dynamic value) { + print('## selected $value'); + }, + ), Expanded( child: ReorderableListView( children: selected diff --git a/lib/ui/reports/reports_screen.dart b/lib/ui/reports/reports_screen.dart index bea5e8f31..b5e656cc6 100644 --- a/lib/ui/reports/reports_screen.dart +++ b/lib/ui/reports/reports_screen.dart @@ -133,6 +133,7 @@ class ReportsScreen extends StatelessWidget { options: ['one', 'two', 'three', 'four'], selected: ['one', 'two', 'three'], title: localization.editColumns, + addTitle: localization.addColumn, ); }, ) diff --git a/lib/utils/i18n.dart b/lib/utils/i18n.dart index 1605899fc..3e8f746bf 100644 --- a/lib/utils/i18n.dart +++ b/lib/utils/i18n.dart @@ -14,6 +14,7 @@ abstract class LocaleCodeAware { mixin LocalizationsProvider on LocaleCodeAware { static final Map> _localizedValues = { 'en': { + 'add_column': 'Add Column', 'edit_columns': 'Edit Columns', 'columns': 'Columns', 'aging': 'Aging', @@ -15996,6 +15997,8 @@ mixin LocalizationsProvider on LocaleCodeAware { String get editColumns => _localizedValues[localeCode]['edit_columns']; + String get addColumn => _localizedValues[localeCode]['add_column']; + String lookup(String key) { final lookupKey = toSnakeCase(key);