Reworked filters
This commit is contained in:
parent
4e9f2f9b31
commit
adae8737a4
|
|
@ -47,275 +47,274 @@ class MainScreen extends StatelessWidget {
|
|||
return StoreBuilder(
|
||||
//onInit: (Store<AppState> store) => store.dispatch(RefreshData()),
|
||||
builder: (BuildContext context, Store<AppState> store) {
|
||||
final state = store.state;
|
||||
final uiState = state.uiState;
|
||||
final prefState = state.prefState;
|
||||
final subRoute = '/' + uiState.subRoute;
|
||||
String mainRoute = '/' + uiState.mainRoute;
|
||||
Widget screen = BlankScreen();
|
||||
final state = store.state;
|
||||
final uiState = state.uiState;
|
||||
final prefState = state.prefState;
|
||||
final subRoute = '/' + uiState.subRoute;
|
||||
String mainRoute = '/' + uiState.mainRoute;
|
||||
Widget screen = BlankScreen();
|
||||
|
||||
bool isFullScreen = false;
|
||||
if (prefState.isDesktop) {
|
||||
if ([
|
||||
InvoiceScreen.route,
|
||||
QuoteScreen.route,
|
||||
CreditScreen.route,
|
||||
].contains(mainRoute) &&
|
||||
subRoute == '/edit') {
|
||||
isFullScreen = true;
|
||||
bool isFullScreen = false;
|
||||
if (prefState.isDesktop) {
|
||||
if ([
|
||||
InvoiceScreen.route,
|
||||
QuoteScreen.route,
|
||||
CreditScreen.route,
|
||||
].contains(mainRoute) &&
|
||||
subRoute == '/edit') {
|
||||
isFullScreen = true;
|
||||
}
|
||||
}
|
||||
if (prefState.isNotMobile &&
|
||||
DesignEditScreen.route == uiState.currentRoute) {
|
||||
isFullScreen = true;
|
||||
}
|
||||
|
||||
if (isFullScreen) {
|
||||
switch (mainRoute) {
|
||||
case InvoiceScreen.route:
|
||||
screen = InvoiceEditScreen();
|
||||
break;
|
||||
case QuoteScreen.route:
|
||||
screen = QuoteEditScreen();
|
||||
break;
|
||||
case CreditScreen.route:
|
||||
screen = CreditEditScreen();
|
||||
break;
|
||||
default:
|
||||
switch (uiState.currentRoute) {
|
||||
case DesignEditScreen.route:
|
||||
screen = DesignEditScreen();
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
bool editingFilterEntity = false;
|
||||
if (prefState.fullHeightFilter &&
|
||||
uiState.filterEntityId != null &&
|
||||
subRoute == '/edit') {
|
||||
if (mainRoute == '/${uiState.filterEntityType}') {
|
||||
mainRoute = '/' + uiState.previousMainRoute;
|
||||
editingFilterEntity = true;
|
||||
}
|
||||
if (prefState.isNotMobile &&
|
||||
DesignEditScreen.route == uiState.currentRoute) {
|
||||
isFullScreen = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (isFullScreen) {
|
||||
switch (mainRoute) {
|
||||
case InvoiceScreen.route:
|
||||
screen = InvoiceEditScreen();
|
||||
break;
|
||||
case QuoteScreen.route:
|
||||
screen = QuoteEditScreen();
|
||||
break;
|
||||
case CreditScreen.route:
|
||||
screen = CreditEditScreen();
|
||||
break;
|
||||
default:
|
||||
switch (uiState.currentRoute) {
|
||||
case DesignEditScreen.route:
|
||||
screen = DesignEditScreen();
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
bool editingFilterEntity = false;
|
||||
if (prefState.fullHeightFilter &&
|
||||
uiState.filterEntityId != null &&
|
||||
subRoute == '/edit') {
|
||||
if (mainRoute == '/${uiState.filterEntityType}') {
|
||||
mainRoute = '/' + uiState.previousMainRoute;
|
||||
editingFilterEntity = true;
|
||||
}
|
||||
}
|
||||
|
||||
switch (mainRoute) {
|
||||
case DashboardScreenBuilder.route:
|
||||
screen = Row(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: DashboardScreenBuilder(),
|
||||
flex: 5,
|
||||
),
|
||||
if (prefState.showHistory) ...[
|
||||
_CustomDivider(),
|
||||
HistoryDrawerBuilder(),
|
||||
],
|
||||
],
|
||||
);
|
||||
break;
|
||||
case ClientScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.client,
|
||||
listWidget: ClientScreenBuilder(),
|
||||
viewWidget: ClientViewScreen(),
|
||||
editWidget: ClientEditScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
case ProductScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.product,
|
||||
listWidget: ProductScreenBuilder(),
|
||||
viewWidget: ProductViewScreen(),
|
||||
editWidget: ProductEditScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
case InvoiceScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.invoice,
|
||||
listWidget: InvoiceScreenBuilder(),
|
||||
viewWidget: InvoiceViewScreen(),
|
||||
editWidget: InvoiceEditScreen(),
|
||||
emailWidget: InvoiceEmailScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
case PaymentScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.payment,
|
||||
listWidget: PaymentScreenBuilder(),
|
||||
viewWidget: PaymentViewScreen(),
|
||||
editWidget: PaymentEditScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
case QuoteScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.quote,
|
||||
listWidget: QuoteScreenBuilder(),
|
||||
viewWidget: QuoteViewScreen(),
|
||||
editWidget: QuoteEditScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
case CreditScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.credit,
|
||||
listWidget: CreditScreenBuilder(),
|
||||
viewWidget: CreditViewScreen(),
|
||||
editWidget: CreditEditScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
case ProjectScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.project,
|
||||
listWidget: ProjectScreenBuilder(),
|
||||
viewWidget: ProjectViewScreen(),
|
||||
editWidget: ProjectEditScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
case TaskScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.task,
|
||||
listWidget: TaskScreenBuilder(),
|
||||
viewWidget: TaskViewScreen(),
|
||||
editWidget: TaskEditScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
case VendorScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.vendor,
|
||||
listWidget: VendorScreenBuilder(),
|
||||
viewWidget: VendorViewScreen(),
|
||||
editWidget: VendorEditScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
case ExpenseScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.expense,
|
||||
listWidget: ExpenseScreenBuilder(),
|
||||
viewWidget: ExpenseViewScreen(),
|
||||
editWidget: ExpenseEditScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
|
||||
case SettingsScreen.route:
|
||||
screen = SettingsScreens();
|
||||
break;
|
||||
case ReportsScreen.route:
|
||||
screen = Row(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: ReportsScreenBuilder(),
|
||||
flex: 5,
|
||||
),
|
||||
if (prefState.showHistory) ...[
|
||||
_CustomDivider(),
|
||||
HistoryDrawerBuilder(),
|
||||
],
|
||||
],
|
||||
);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return WillPopScope(
|
||||
onWillPop: () async {
|
||||
final state = store.state;
|
||||
final historyList = state.historyList;
|
||||
|
||||
if (historyList.length <= 1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
final isEditing = state.uiState.isEditing;
|
||||
final index = isEditing ? 0 : 1;
|
||||
HistoryRecord history;
|
||||
|
||||
for (int i = index; i < historyList.length; i++) {
|
||||
final item = historyList[i];
|
||||
if ([
|
||||
EntityType.dashboard,
|
||||
EntityType.reports,
|
||||
EntityType.settings,
|
||||
].contains(item.entityType)) {
|
||||
history = item;
|
||||
break;
|
||||
} else {
|
||||
if (item.id == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
final entity = state.getEntityMap(item.entityType)[item.id]
|
||||
as BaseEntity;
|
||||
if (entity == null || !entity.isActive) {
|
||||
continue;
|
||||
}
|
||||
|
||||
history = item;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!isEditing) {
|
||||
store.dispatch(PopLastHistory());
|
||||
}
|
||||
|
||||
if (history == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
switch (history.entityType) {
|
||||
case EntityType.dashboard:
|
||||
store.dispatch(
|
||||
ViewDashboard(navigator: Navigator.of(context)));
|
||||
break;
|
||||
case EntityType.reports:
|
||||
store.dispatch(ViewReports(navigator: Navigator.of(context)));
|
||||
break;
|
||||
case EntityType.settings:
|
||||
store.dispatch(ViewSettings(
|
||||
navigator: Navigator.of(context), section: history.id));
|
||||
break;
|
||||
default:
|
||||
viewEntityById(
|
||||
context: context,
|
||||
entityId: history.id,
|
||||
entityType: history.entityType,
|
||||
);
|
||||
}
|
||||
|
||||
return false;
|
||||
},
|
||||
child: SafeArea(
|
||||
child: FocusTraversalGroup(
|
||||
policy: WidgetOrderTraversalPolicy(),
|
||||
child: ChangeLayoutBanner(
|
||||
appLayout: prefState.appLayout,
|
||||
suggestedLayout: AppLayout.desktop,
|
||||
child: Row(children: <Widget>[
|
||||
if (prefState.showMenu) ...[
|
||||
MenuDrawerBuilder(),
|
||||
_CustomDivider(),
|
||||
],
|
||||
Expanded(
|
||||
child: AppBorder(
|
||||
child: screen,
|
||||
isLeft: prefState.showMenu,
|
||||
)),
|
||||
]),
|
||||
switch (mainRoute) {
|
||||
case DashboardScreenBuilder.route:
|
||||
screen = Row(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: DashboardScreenBuilder(),
|
||||
flex: 5,
|
||||
),
|
||||
),
|
||||
if (prefState.showHistory) ...[
|
||||
_CustomDivider(),
|
||||
HistoryDrawerBuilder(),
|
||||
],
|
||||
],
|
||||
);
|
||||
break;
|
||||
case ClientScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.client,
|
||||
listWidget: ClientScreenBuilder(),
|
||||
viewWidget: ClientViewScreen(),
|
||||
editWidget: ClientEditScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
case ProductScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.product,
|
||||
listWidget: ProductScreenBuilder(),
|
||||
viewWidget: ProductViewScreen(),
|
||||
editWidget: ProductEditScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
case InvoiceScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.invoice,
|
||||
listWidget: InvoiceScreenBuilder(),
|
||||
viewWidget: InvoiceViewScreen(),
|
||||
editWidget: InvoiceEditScreen(),
|
||||
emailWidget: InvoiceEmailScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
case PaymentScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.payment,
|
||||
listWidget: PaymentScreenBuilder(),
|
||||
viewWidget: PaymentViewScreen(),
|
||||
editWidget: PaymentEditScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
case QuoteScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.quote,
|
||||
listWidget: QuoteScreenBuilder(),
|
||||
viewWidget: QuoteViewScreen(),
|
||||
editWidget: QuoteEditScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
case CreditScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.credit,
|
||||
listWidget: CreditScreenBuilder(),
|
||||
viewWidget: CreditViewScreen(),
|
||||
editWidget: CreditEditScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
case ProjectScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.project,
|
||||
listWidget: ProjectScreenBuilder(),
|
||||
viewWidget: ProjectViewScreen(),
|
||||
editWidget: ProjectEditScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
case TaskScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.task,
|
||||
listWidget: TaskScreenBuilder(),
|
||||
viewWidget: TaskViewScreen(),
|
||||
editWidget: TaskEditScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
case VendorScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.vendor,
|
||||
listWidget: VendorScreenBuilder(),
|
||||
viewWidget: VendorViewScreen(),
|
||||
editWidget: VendorEditScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
case ExpenseScreen.route:
|
||||
screen = EntityScreens(
|
||||
entityType: EntityType.expense,
|
||||
listWidget: ExpenseScreenBuilder(),
|
||||
viewWidget: ExpenseViewScreen(),
|
||||
editWidget: ExpenseEditScreen(),
|
||||
editingFIlterEntity: editingFilterEntity,
|
||||
);
|
||||
break;
|
||||
|
||||
case SettingsScreen.route:
|
||||
screen = SettingsScreens();
|
||||
break;
|
||||
case ReportsScreen.route:
|
||||
screen = Row(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: ReportsScreenBuilder(),
|
||||
flex: 5,
|
||||
),
|
||||
if (prefState.showHistory) ...[
|
||||
_CustomDivider(),
|
||||
HistoryDrawerBuilder(),
|
||||
],
|
||||
],
|
||||
);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return WillPopScope(
|
||||
onWillPop: () async {
|
||||
final state = store.state;
|
||||
final historyList = state.historyList;
|
||||
|
||||
if (historyList.length <= 1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
final isEditing = state.uiState.isEditing;
|
||||
final index = isEditing ? 0 : 1;
|
||||
HistoryRecord history;
|
||||
|
||||
for (int i = index; i < historyList.length; i++) {
|
||||
final item = historyList[i];
|
||||
if ([
|
||||
EntityType.dashboard,
|
||||
EntityType.reports,
|
||||
EntityType.settings,
|
||||
].contains(item.entityType)) {
|
||||
history = item;
|
||||
break;
|
||||
} else {
|
||||
if (item.id == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
final entity =
|
||||
state.getEntityMap(item.entityType)[item.id] as BaseEntity;
|
||||
if (entity == null || !entity.isActive) {
|
||||
continue;
|
||||
}
|
||||
|
||||
history = item;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!isEditing) {
|
||||
store.dispatch(PopLastHistory());
|
||||
}
|
||||
|
||||
if (history == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
switch (history.entityType) {
|
||||
case EntityType.dashboard:
|
||||
store.dispatch(ViewDashboard(navigator: Navigator.of(context)));
|
||||
break;
|
||||
case EntityType.reports:
|
||||
store.dispatch(ViewReports(navigator: Navigator.of(context)));
|
||||
break;
|
||||
case EntityType.settings:
|
||||
store.dispatch(ViewSettings(
|
||||
navigator: Navigator.of(context), section: history.id));
|
||||
break;
|
||||
default:
|
||||
viewEntityById(
|
||||
context: context,
|
||||
entityId: history.id,
|
||||
entityType: history.entityType,
|
||||
);
|
||||
}
|
||||
|
||||
return false;
|
||||
},
|
||||
child: SafeArea(
|
||||
child: FocusTraversalGroup(
|
||||
policy: WidgetOrderTraversalPolicy(),
|
||||
child: ChangeLayoutBanner(
|
||||
appLayout: prefState.appLayout,
|
||||
suggestedLayout: AppLayout.desktop,
|
||||
child: Row(children: <Widget>[
|
||||
if (prefState.showMenu) ...[
|
||||
MenuDrawerBuilder(),
|
||||
_CustomDivider(),
|
||||
],
|
||||
Expanded(
|
||||
child: AppBorder(
|
||||
child: screen,
|
||||
isLeft: prefState.showMenu,
|
||||
)),
|
||||
]),
|
||||
),
|
||||
);
|
||||
});
|
||||
),
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -683,29 +682,35 @@ class _EntityFilter extends StatelessWidget {
|
|||
opacity: show ? 1 : 0,
|
||||
duration: Duration(milliseconds: kDefaultAnimationDuration),
|
||||
curve: Curves.easeInOutCubic,
|
||||
child: Row(
|
||||
children: filterEntity == null
|
||||
? []
|
||||
: [
|
||||
SizedBox(width: 4),
|
||||
Expanded(
|
||||
child: Align(
|
||||
alignment: Alignment.centerLeft,
|
||||
child: FlatButton(
|
||||
child: Text(
|
||||
'${localization.lookup('$filterEntityType')} › ${filterEntity.listDisplayName}',
|
||||
style: TextStyle(fontSize: 17),
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.start,
|
||||
maxLines: 1,
|
||||
),
|
||||
onPressed: () => viewEntity(
|
||||
entity: filterEntity,
|
||||
context: context,
|
||||
),
|
||||
),
|
||||
child: filterEntity == null
|
||||
? Container(
|
||||
color: Theme.of(context).cardColor,
|
||||
)
|
||||
: AppBar(
|
||||
leading: IconButton(
|
||||
tooltip: localization.preview,
|
||||
icon: Icon(Icons.chrome_reader_mode),
|
||||
onPressed: () => store.dispatch(
|
||||
UserPreferencesChanged(fullHeightFilter: true)),
|
||||
),
|
||||
title: Align(
|
||||
alignment: Alignment.centerLeft,
|
||||
child: FlatButton(
|
||||
padding: const EdgeInsets.only(left: 0),
|
||||
child: Text(
|
||||
'${localization.lookup('$filterEntityType')} › ${filterEntity.listDisplayName}',
|
||||
style: TextStyle(fontSize: 17),
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.start,
|
||||
maxLines: 1,
|
||||
),
|
||||
onPressed: () => viewEntity(
|
||||
entity: filterEntity,
|
||||
context: context,
|
||||
),
|
||||
),
|
||||
),
|
||||
actions: [
|
||||
PopupMenuButton<EntityType>(
|
||||
child: Row(
|
||||
children: [
|
||||
|
|
@ -760,9 +765,9 @@ class _EntityFilter extends StatelessWidget {
|
|||
entityId: uiState.filterEntityId,
|
||||
entityType: uiState.filterEntityType,
|
||||
)),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -156,51 +156,12 @@ class MenuDrawer extends StatelessWidget {
|
|||
},
|
||||
);
|
||||
|
||||
/*
|
||||
final _expandedCompanySelector = viewModel.companies.isEmpty
|
||||
? SizedBox()
|
||||
: DropdownButtonHideUnderline(
|
||||
child: DropdownButton<String>(
|
||||
isExpanded: true,
|
||||
icon: Icon(Icons.arrow_drop_down),
|
||||
value: viewModel.selectedCompanyIndex,
|
||||
items: [
|
||||
...viewModel.companies
|
||||
.map((CompanyEntity company) => DropdownMenuItem<String>(
|
||||
value:
|
||||
(viewModel.companies.indexOf(company)).toString(),
|
||||
child: _companyListItem(company),
|
||||
))
|
||||
.toList(),
|
||||
if (viewModel.state.userCompany.isAdmin)
|
||||
DropdownMenuItem<String>(
|
||||
value: null,
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
SizedBox(width: 2),
|
||||
Icon(Icons.add_circle, size: 32),
|
||||
SizedBox(width: 28),
|
||||
Text(localization.addCompany),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
onChanged: (value) {
|
||||
if (value == null) {
|
||||
viewModel.onAddCompany(context);
|
||||
} else {
|
||||
viewModel.onCompanyChanged(
|
||||
context, value, viewModel.companies[int.parse(value)]);
|
||||
}
|
||||
},
|
||||
));
|
||||
*/
|
||||
|
||||
return AnimatedContainer(
|
||||
width: state.isMenuCollapsed ? 65 : kDrawerWidth,
|
||||
duration: Duration(
|
||||
milliseconds:
|
||||
state.prefState.fullHeightFilter ? 0 : kDefaultAnimationDuration),
|
||||
milliseconds: state.uiState.filterEntityType != null
|
||||
? 0
|
||||
: kDefaultAnimationDuration),
|
||||
curve: Curves.easeInOutCubic,
|
||||
child: Drawer(
|
||||
child: SafeArea(
|
||||
|
|
|
|||
|
|
@ -51,10 +51,14 @@ class ViewScaffold extends StatelessWidget {
|
|||
entity.entityType == state.uiState.filterEntityType) {
|
||||
leading = IconButton(
|
||||
icon: Icon(Icons.clear),
|
||||
onPressed: () => store
|
||||
.dispatch(UserPreferencesChanged(fullHeightFilter: false)),
|
||||
/*
|
||||
onPressed: () => store.dispatch(FilterByEntity(
|
||||
entityType: state.uiState.filterEntityType,
|
||||
entityId: state.uiState.filterEntityId,
|
||||
)),
|
||||
*/
|
||||
);
|
||||
} else if (isSettings) {
|
||||
leading = IconButton(
|
||||
|
|
|
|||
|
|
@ -158,14 +158,6 @@ class _DeviceSettingsState extends State<DeviceSettings> {
|
|||
activeColor: Theme.of(context).accentColor,
|
||||
),
|
||||
*/
|
||||
SwitchListTile(
|
||||
title: Text(localization.fullHeightFilter),
|
||||
value: prefState.fullHeightFilter,
|
||||
onChanged: (value) =>
|
||||
viewModel.onFullHeightFilterChanged(context, value),
|
||||
secondary: Icon(Icons.filter_list),
|
||||
activeColor: Theme.of(context).accentColor,
|
||||
),
|
||||
viewModel.state.company.isModuleEnabled(EntityType.task)
|
||||
? SwitchListTile(
|
||||
title:
|
||||
|
|
|
|||
|
|
@ -47,8 +47,6 @@ class DeviceSettingsVM {
|
|||
@required this.authenticationSupported,
|
||||
@required this.onMenuModeChanged,
|
||||
@required this.onHistoryModeChanged,
|
||||
@required this.onFullHeightFilterChanged,
|
||||
@required this.onFullWidthEditorChanged,
|
||||
});
|
||||
|
||||
static DeviceSettingsVM fromStore(Store<AppState> store) {
|
||||
|
|
@ -103,12 +101,6 @@ class DeviceSettingsVM {
|
|||
onHistoryModeChanged: (context, value) async {
|
||||
store.dispatch(UserPreferencesChanged(historyMode: value));
|
||||
},
|
||||
onFullHeightFilterChanged: (context, value) async {
|
||||
store.dispatch(UserPreferencesChanged(fullHeightFilter: value));
|
||||
},
|
||||
onFullWidthEditorChanged: (context, value) async {
|
||||
store.dispatch(UserPreferencesChanged(fullWidthEditor: value));
|
||||
},
|
||||
onLayoutChanged: (BuildContext context, AppLayout value) async {
|
||||
if (store.state.prefState.appLayout == value) {
|
||||
return;
|
||||
|
|
@ -158,8 +150,6 @@ class DeviceSettingsVM {
|
|||
final AppState state;
|
||||
final Function(BuildContext) onLogoutTap;
|
||||
final Function(BuildContext) onRefreshTap;
|
||||
final Function(BuildContext, bool) onFullHeightFilterChanged;
|
||||
final Function(BuildContext, bool) onFullWidthEditorChanged;
|
||||
final Function(BuildContext, bool) onDarkModeChanged;
|
||||
final Function(BuildContext, AppLayout) onLayoutChanged;
|
||||
final Function(BuildContext, AppSidebarMode) onMenuModeChanged;
|
||||
|
|
|
|||
|
|
@ -73,8 +73,6 @@ mixin LocalizationsProvider on LocaleCodeAware {
|
|||
'deleted_payment_term': 'Successfully deleted payment term',
|
||||
'removed_payment_term': 'Successfully removed payment term',
|
||||
'restored_payment_term': 'Successfully restored payment term',
|
||||
'full_width_editor': 'Full Width Editor',
|
||||
'full_height_filter': 'Full Height Filter',
|
||||
'email_sign_in': 'Sign in with email',
|
||||
'change': 'Change',
|
||||
'change_to_mobile_layout': 'Change to the mobile layout?',
|
||||
|
|
@ -38695,12 +38693,6 @@ mixin LocalizationsProvider on LocaleCodeAware {
|
|||
|
||||
String get emailSignIn => _localizedValues[localeCode]['email_sign_in'] ?? '';
|
||||
|
||||
String get fullWidthEditor =>
|
||||
_localizedValues[localeCode]['full_width_editor'] ?? '';
|
||||
|
||||
String get fullHeightFilter =>
|
||||
_localizedValues[localeCode]['full_height_filter'] ?? '';
|
||||
|
||||
String get configurePaymentTerms =>
|
||||
_localizedValues[localeCode]['configure_payment_terms'] ?? '';
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue