Company selector

This commit is contained in:
unknown 2018-05-23 12:07:00 -07:00
parent 1ae335997e
commit 5b50a81d94
2 changed files with 11 additions and 4 deletions

View File

@ -6,12 +6,14 @@ class CustomDrawer extends StatelessWidget {
final String companyName; final String companyName;
final bool hasMultipleCompanies; final bool hasMultipleCompanies;
final List<CompanyEntity> companies; final List<CompanyEntity> companies;
final String selectedCompanyId;
CustomDrawer({ CustomDrawer({
Key key, Key key,
@required this.companyName, @required this.companyName,
@required this.hasMultipleCompanies, @required this.hasMultipleCompanies,
@required this.companies, @required this.companies,
@required this.selectedCompanyId,
}) : super(key: key); }) : super(key: key);
@override @override
@ -24,14 +26,15 @@ class CustomDrawer extends StatelessWidget {
final _multipleCompanies = Align( final _multipleCompanies = Align(
alignment: FractionalOffset.bottomLeft, alignment: FractionalOffset.bottomLeft,
child: new DropdownButton<String>( child: new DropdownButton<String>(
value: this.selectedCompanyId,
items: this.companies.map((CompanyEntity company) => items: this.companies.map((CompanyEntity company) =>
DropdownMenuItem<String>( DropdownMenuItem<String>(
value: company.id.toString(), value: (this.companies.indexOf(company) + 1).toString(),
child: Text(company.id.toString()), child: Text(company.name),
) )
).toList(), ).toList(),
onChanged: (_) { onChanged: (value) {
print('on change: ' + value);
}, },
), ),
/* /*

View File

@ -19,6 +19,7 @@ class CustomDrawerVM extends StatelessWidget {
companyName: vm.companyName, companyName: vm.companyName,
hasMultipleCompanies: vm.hasMultipleCompanies, hasMultipleCompanies: vm.hasMultipleCompanies,
companies: vm.companies, companies: vm.companies,
selectedCompanyId: vm.selectedCompanyId,
); );
}, },
); );
@ -29,11 +30,13 @@ class _ViewModel {
final String companyName; final String companyName;
final bool hasMultipleCompanies; final bool hasMultipleCompanies;
final List<CompanyEntity> companies; final List<CompanyEntity> companies;
final String selectedCompanyId;
_ViewModel({ _ViewModel({
@required this.companyName, @required this.companyName,
@required this.hasMultipleCompanies, @required this.hasMultipleCompanies,
@required this.companies, @required this.companies,
@required this.selectedCompanyId,
}); });
static _ViewModel fromStore(Store<AppState> store) { static _ViewModel fromStore(Store<AppState> store) {
@ -41,6 +44,7 @@ class _ViewModel {
companyName: store.state.selectedCompany().name, companyName: store.state.selectedCompany().name,
hasMultipleCompanies: store.state.companyState2.company.token != null, hasMultipleCompanies: store.state.companyState2.company.token != null,
companies: companiesSelector(store.state), companies: companiesSelector(store.state),
selectedCompanyId: store.state.selectedCompanyId.toString(),
); );
} }
} }