History
This commit is contained in:
parent
a78e824cfe
commit
83ec81cf0c
|
|
@ -0,0 +1,26 @@
|
|||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/history_drawer_vm.dart';
|
||||
|
||||
class HistoryDrawer extends StatelessWidget {
|
||||
const HistoryDrawer({
|
||||
Key key,
|
||||
@required this.viewModel,
|
||||
}) : super(key: key);
|
||||
|
||||
final AppDrawerVM viewModel;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Drawer(
|
||||
child: SafeArea(
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
||||
Text('testk')
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:flutter_redux/flutter_redux.dart';
|
||||
import 'package:invoiceninja_flutter/redux/dashboard/dashboard_actions.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/app_builder.dart';
|
||||
import 'package:redux/redux.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/history_drawer.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/redux/company/company_selectors.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
|
||||
class HistoryDrawerBuilder extends StatelessWidget {
|
||||
const HistoryDrawerBuilder({Key key}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return StoreConnector<AppState, AppDrawerVM>(
|
||||
converter: AppDrawerVM.fromStore,
|
||||
builder: (context, viewModel) {
|
||||
return HistoryDrawer(viewModel: viewModel);
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class AppDrawerVM {
|
||||
AppDrawerVM({
|
||||
@required this.companies,
|
||||
@required this.selectedCompany,
|
||||
@required this.user,
|
||||
@required this.isLoading,
|
||||
});
|
||||
|
||||
final List<CompanyEntity> companies;
|
||||
final CompanyEntity selectedCompany;
|
||||
final UserEntity user;
|
||||
final bool isLoading;
|
||||
|
||||
static AppDrawerVM fromStore(Store<AppState> store) {
|
||||
final AppState state = store.state;
|
||||
|
||||
return AppDrawerVM(
|
||||
isLoading: state.isLoading,
|
||||
companies: companiesSelector(state),
|
||||
user: state.user,
|
||||
selectedCompany: state.selectedCompany,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -7,7 +7,7 @@ import 'package:invoiceninja_flutter/redux/ui/ui_state.dart';
|
|||
import 'package:invoiceninja_flutter/ui/app/app_bottom_bar.dart';
|
||||
import 'package:invoiceninja_flutter/utils/platforms.dart';
|
||||
|
||||
import 'app_drawer_vm.dart';
|
||||
import 'menu_drawer_vm.dart';
|
||||
|
||||
class ListScaffold extends StatelessWidget {
|
||||
const ListScaffold({
|
||||
|
|
@ -44,7 +44,7 @@ class ListScaffold extends StatelessWidget {
|
|||
return false;
|
||||
},
|
||||
child: Scaffold(
|
||||
drawer: isMobile(context) ? AppDrawerBuilder() : null,
|
||||
drawer: isMobile(context) ? MenuDrawerBuilder() : null,
|
||||
//endDrawer: isMobile(context),
|
||||
appBar: AppBar(
|
||||
automaticallyImplyLeading: false,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@ import 'package:flutter_redux/flutter_redux.dart';
|
|||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/redux/dashboard/dashboard_actions.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/app_drawer_vm.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/history_drawer_vm.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/menu_drawer_vm.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/help_text.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/screen_imports.dart';
|
||||
import 'package:invoiceninja_flutter/ui/settings/settings_screen_vm.dart';
|
||||
|
|
@ -75,10 +76,14 @@ class MainScreen extends StatelessWidget {
|
|||
|
||||
return Row(children: <Widget>[
|
||||
if (uiState.isMenuVisible) ...[
|
||||
AppDrawerBuilder(),
|
||||
MenuDrawerBuilder(),
|
||||
VerticalDivider(width: isDarkMode(context) ? 1 : .5),
|
||||
],
|
||||
Expanded(child: screen)
|
||||
Expanded(child: screen),
|
||||
if (uiState.isHistoryVisible) ...[
|
||||
VerticalDivider(width: isDarkMode(context) ? 1 : .5),
|
||||
HistoryDrawerBuilder(),
|
||||
],
|
||||
]);
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import 'package:invoiceninja_flutter/redux/dashboard/dashboard_actions.dart';
|
|||
import 'package:invoiceninja_flutter/redux/invoice/invoice_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/product/product_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/settings/settings_actions.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/app_drawer_vm.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/menu_drawer_vm.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/lists/selected_indicator.dart';
|
||||
import 'package:invoiceninja_flutter/utils/icons.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
|
@ -28,8 +28,8 @@ import 'package:url_launcher/url_launcher.dart';
|
|||
|
||||
// STARTER: import - do not remove comment
|
||||
|
||||
class AppDrawer extends StatelessWidget {
|
||||
const AppDrawer({
|
||||
class MenuDrawer extends StatelessWidget {
|
||||
const MenuDrawer({
|
||||
Key key,
|
||||
@required this.viewModel,
|
||||
}) : super(key: key);
|
||||
|
|
@ -4,20 +4,20 @@ import 'package:flutter_redux/flutter_redux.dart';
|
|||
import 'package:invoiceninja_flutter/redux/dashboard/dashboard_actions.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/app_builder.dart';
|
||||
import 'package:redux/redux.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/app_drawer.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/menu_drawer.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/redux/company/company_selectors.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
|
||||
class AppDrawerBuilder extends StatelessWidget {
|
||||
const AppDrawerBuilder({Key key}) : super(key: key);
|
||||
class MenuDrawerBuilder extends StatelessWidget {
|
||||
const MenuDrawerBuilder({Key key}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return StoreConnector<AppState, AppDrawerVM>(
|
||||
converter: AppDrawerVM.fromStore,
|
||||
builder: (context, viewModel) {
|
||||
return AppDrawer(viewModel: viewModel);
|
||||
return MenuDrawer(viewModel: viewModel);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
|
@ -11,7 +11,7 @@ import 'package:invoiceninja_flutter/redux/project/project_actions.dart';
|
|||
import 'package:invoiceninja_flutter/redux/quote/quote_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/task/task_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/ui/ui_state.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/app_drawer_vm.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/menu_drawer_vm.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/list_filter.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/list_filter_button.dart';
|
||||
import 'package:invoiceninja_flutter/ui/dashboard/dashboard_activity.dart';
|
||||
|
|
@ -57,7 +57,7 @@ class _DashboardViewState extends State<DashboardView>
|
|||
return WillPopScope(
|
||||
onWillPop: () async => true,
|
||||
child: Scaffold(
|
||||
drawer: isMobile(context) ? AppDrawerBuilder() : null,
|
||||
drawer: isMobile(context) ? MenuDrawerBuilder() : null,
|
||||
appBar: AppBar(
|
||||
leading: !isMobile(context)
|
||||
? IconButton(
|
||||
|
|
|
|||
|
|
@ -85,9 +85,9 @@ if [ ${action} = "init" ]; then
|
|||
'./lib/redux/ui/ui_state.dart'
|
||||
'./lib/ui/auth/login.dart'
|
||||
'./lib/ui/auth/login_vm.dart'
|
||||
'./lib/ui/app/app_drawer.dart'
|
||||
'./lib/ui/app/menu_drawer.dart'
|
||||
'./lib/ui/app/init.dart'
|
||||
'./lib/ui/app/app_drawer_vm.dart'
|
||||
'./lib/ui/app/menu_drawer_vm.dart'
|
||||
'./lib/ui/app/actions_menu_button.dart'
|
||||
'./lib/ui/app/app_bottom_bar.dart'
|
||||
'./lib/ui/app/app_search.dart'
|
||||
|
|
@ -336,7 +336,7 @@ else
|
|||
|
||||
comment="STARTER: import - do not remove comment"
|
||||
code="import 'package:${package}\/redux\/${module_snake}\/${module_snake}_actions.dart';${lineBreak}"
|
||||
sed -i -e "s/$comment/$comment${lineBreak}$code/g" ./lib/ui/app/app_drawer.dart
|
||||
sed -i -e "s/$comment/$comment${lineBreak}$code/g" ./lib/ui/app/menu_drawer.dart
|
||||
|
||||
comment="STARTER: menu - do not remove comment"
|
||||
code="DrawerTile(${lineBreak}"
|
||||
|
|
@ -351,7 +351,7 @@ else
|
|||
code="${code}${module_camel}: ${Module}Entity(), context: context));${lineBreak}"
|
||||
code="${code}},${lineBreak}"
|
||||
code="${code}),${lineBreak}"
|
||||
sed -i -e "s/$comment/$comment${lineBreak}$code/g" ./lib/ui/app/app_drawer.dart
|
||||
sed -i -e "s/$comment/$comment${lineBreak}$code/g" ./lib/ui/app/menu_drawer.dart
|
||||
|
||||
comment="STARTER: import - do not remove comment"
|
||||
code="import 'package:${package}\/redux\/${module_snake}\/${module_snake}_state.dart';${lineBreak}"
|
||||
|
|
|
|||
Loading…
Reference in New Issue