Tablet layout

This commit is contained in:
Hillel Coren 2019-08-20 19:11:59 +03:00
parent 952fa28935
commit a643fa677c
22 changed files with 38 additions and 32 deletions

View File

@ -22,8 +22,11 @@ class ViewDocument implements PersistUI {
} }
class EditDocument implements PersistUI { class EditDocument implements PersistUI {
EditDocument( EditDocument({
{this.document, this.context, this.completer,}); this.document,
this.context,
this.completer,
});
final DocumentEntity document; final DocumentEntity document;
final BuildContext context; final BuildContext context;

View File

@ -17,7 +17,8 @@ Reducer<int> selectedIdReducer = combineReducers([
TypedReducer<int, ViewExpense>((selectedId, action) => action.expenseId), TypedReducer<int, ViewExpense>((selectedId, action) => action.expenseId),
TypedReducer<int, AddExpenseSuccess>( TypedReducer<int, AddExpenseSuccess>(
(selectedId, action) => action.expense.id), (selectedId, action) => action.expense.id),
TypedReducer<int, FilterExpensesByEntity>((selectedId, action) => 0) TypedReducer<int, FilterExpensesByEntity>(
(selectedId, action) => action.entityId == null ? selectedId : 0)
]); ]);
final editingReducer = combineReducers<ExpenseEntity>([ final editingReducer = combineReducers<ExpenseEntity>([

View File

@ -204,7 +204,6 @@ List<int> clientExpenseList(
return list; return list;
} }
bool hasExpenseChanges( bool hasExpenseChanges(
ExpenseEntity expense, BuiltMap<int, ExpenseEntity> expenseMap) => ExpenseEntity expense, BuiltMap<int, ExpenseEntity> expenseMap) =>
expense.isNew || expense != expenseMap[expense.id]; expense.isNew || expense != expenseMap[expense.id];

View File

@ -40,7 +40,8 @@ Reducer<int> selectedIdReducer = combineReducers([
(selectedId, action) => action.invoice.id), (selectedId, action) => action.invoice.id),
TypedReducer<int, ShowEmailInvoice>( TypedReducer<int, ShowEmailInvoice>(
(selectedId, action) => action.invoice.id), (selectedId, action) => action.invoice.id),
TypedReducer<int, FilterInvoicesByEntity>((selectedId, action) => 0) TypedReducer<int, FilterInvoicesByEntity>(
(selectedId, action) => action.entityId == null ? selectedId : 0)
]); ]);
final editingReducer = combineReducers<InvoiceEntity>([ final editingReducer = combineReducers<InvoiceEntity>([

View File

@ -17,7 +17,8 @@ Reducer<int> selectedIdReducer = combineReducers([
TypedReducer<int, ViewPayment>((selectedId, action) => action.paymentId), TypedReducer<int, ViewPayment>((selectedId, action) => action.paymentId),
TypedReducer<int, AddPaymentSuccess>( TypedReducer<int, AddPaymentSuccess>(
(selectedId, action) => action.payment.id), (selectedId, action) => action.payment.id),
TypedReducer<int, FilterPaymentsByEntity>((selectedId, action) => 0) TypedReducer<int, FilterPaymentsByEntity>(
(selectedId, action) => action.entityId == null ? selectedId : 0)
]); ]);
final editingReducer = combineReducers<PaymentEntity>([ final editingReducer = combineReducers<PaymentEntity>([

View File

@ -140,5 +140,5 @@ String invoiceStatsForClient(
} }
bool hasPaymentChanges( bool hasPaymentChanges(
PaymentEntity payment, BuiltMap<int, PaymentEntity> paymentMap) => PaymentEntity payment, BuiltMap<int, PaymentEntity> paymentMap) =>
payment.isNew || payment != paymentMap[payment.id]; payment.isNew || payment != paymentMap[payment.id];

View File

@ -36,7 +36,7 @@ class EditProject implements PersistUI {
{@required this.project, {@required this.project,
@required this.context, @required this.context,
this.completer, this.completer,
this.cancelCompleter, this.cancelCompleter,
this.force = false}); this.force = false});
final ProjectEntity project; final ProjectEntity project;

View File

@ -33,7 +33,8 @@ Reducer<int> selectedIdReducer = combineReducers([
TypedReducer<int, ViewProject>((selectedId, action) => action.projectId), TypedReducer<int, ViewProject>((selectedId, action) => action.projectId),
TypedReducer<int, AddProjectSuccess>( TypedReducer<int, AddProjectSuccess>(
(selectedId, action) => action.project.id), (selectedId, action) => action.project.id),
TypedReducer<int, FilterProjectsByEntity>((selectedId, action) => 0) TypedReducer<int, FilterProjectsByEntity>(
(selectedId, action) => action.entityId == null ? selectedId : 0)
]); ]);
final editingReducer = combineReducers<ProjectEntity>([ final editingReducer = combineReducers<ProjectEntity>([

View File

@ -166,7 +166,6 @@ String projectStatsForClient(
return str; return str;
} }
bool hasProjectChanges( bool hasProjectChanges(
ProjectEntity project, BuiltMap<int, ProjectEntity> projectMap) => ProjectEntity project, BuiltMap<int, ProjectEntity> projectMap) =>
project.isNew || project != projectMap[project.id]; project.isNew || project != projectMap[project.id];

View File

@ -93,7 +93,7 @@ Middleware<AppState> _editQuote() {
if (isMobile(action.context)) { if (isMobile(action.context)) {
final quote = final quote =
await Navigator.of(action.context).pushNamed(QuoteEditScreen.route); await Navigator.of(action.context).pushNamed(QuoteEditScreen.route);
if (action.completer != null && quote != null) { if (action.completer != null && quote != null) {
action.completer.complete(quote); action.completer.complete(quote);

View File

@ -37,7 +37,8 @@ Reducer<int> selectedIdReducer = combineReducers([
TypedReducer<int, ViewQuote>((selectedId, action) => action.quoteId), TypedReducer<int, ViewQuote>((selectedId, action) => action.quoteId),
TypedReducer<int, AddQuoteSuccess>((selectedId, action) => action.quote.id), TypedReducer<int, AddQuoteSuccess>((selectedId, action) => action.quote.id),
TypedReducer<int, ShowEmailQuote>((selectedId, action) => action.quote.id), TypedReducer<int, ShowEmailQuote>((selectedId, action) => action.quote.id),
TypedReducer<int, FilterQuotesByEntity>((selectedId, action) => 0) TypedReducer<int, FilterQuotesByEntity>(
(selectedId, action) => action.entityId == null ? selectedId : 0)
]); ]);
final editingReducer = combineReducers<InvoiceEntity>([ final editingReducer = combineReducers<InvoiceEntity>([

View File

@ -26,7 +26,8 @@ TaskTime editTaskTime(TaskTime taskTime, dynamic action) {
Reducer<int> selectedIdReducer = combineReducers([ Reducer<int> selectedIdReducer = combineReducers([
TypedReducer<int, ViewTask>((selectedId, action) => action.taskId), TypedReducer<int, ViewTask>((selectedId, action) => action.taskId),
TypedReducer<int, AddTaskSuccess>((selectedId, action) => action.task.id), TypedReducer<int, AddTaskSuccess>((selectedId, action) => action.task.id),
TypedReducer<int, FilterTasksByEntity>((selectedId, action) => 0) TypedReducer<int, FilterTasksByEntity>(
(selectedId, action) => action.entityId == null ? selectedId : 0)
]); ]);
final editingReducer = combineReducers<TaskEntity>([ final editingReducer = combineReducers<TaskEntity>([

View File

@ -221,7 +221,5 @@ String taskStatsForProject(int projectId, BuiltMap<int, TaskEntity> taskMap,
return str; return str;
} }
bool hasTaskChanges(TaskEntity task, BuiltMap<int, TaskEntity> taskMap) =>
bool hasTaskChanges(
TaskEntity task, BuiltMap<int, TaskEntity> taskMap) =>
task.isNew || task != taskMap[task.id]; task.isNew || task != taskMap[task.id];

View File

@ -34,7 +34,7 @@ class EditVendor implements PersistUI {
@required this.context, @required this.context,
this.contact, this.contact,
this.completer, this.completer,
this.cancelCompleter, this.cancelCompleter,
this.force = false}); this.force = false});
final VendorEntity vendor; final VendorEntity vendor;

View File

@ -44,7 +44,8 @@ VendorContactEntity editVendorContact(
Reducer<int> selectedIdReducer = combineReducers([ Reducer<int> selectedIdReducer = combineReducers([
TypedReducer<int, ViewVendor>((selectedId, action) => action.vendorId), TypedReducer<int, ViewVendor>((selectedId, action) => action.vendorId),
TypedReducer<int, AddVendorSuccess>((selectedId, action) => action.vendor.id), TypedReducer<int, AddVendorSuccess>((selectedId, action) => action.vendor.id),
TypedReducer<int, FilterVendorsByEntity>((selectedId, action) => 0) TypedReducer<int, FilterVendorsByEntity>(
(selectedId, action) => action.entityId == null ? selectedId : 0)
]); ]);
final editingReducer = combineReducers<VendorEntity>([ final editingReducer = combineReducers<VendorEntity>([

View File

@ -79,7 +79,6 @@ double calculateVendorBalance(int vendorId, int currencyId,
return total; return total;
} }
bool hasVendorChanges( bool hasVendorChanges(
VendorEntity vendor, BuiltMap<int, VendorEntity> vendorMap) => VendorEntity vendor, BuiltMap<int, VendorEntity> vendorMap) =>
vendor.isNew || vendor != vendorMap[vendor.id]; vendor.isNew || vendor != vendorMap[vendor.id];

View File

@ -24,7 +24,8 @@ class ListFilterButton extends StatelessWidget {
: store.state.uiState.filter, : store.state.uiState.filter,
builder: (BuildContext context, filter) { builder: (BuildContext context, filter) {
return FlatButton( return FlatButton(
child: Text(filter == null ? localization.search : localization.close), child:
Text(filter == null ? localization.search : localization.close),
onPressed: () => onFilterPressed(filter == null ? '' : null), onPressed: () => onFilterPressed(filter == null ? '' : null),
); );
}, },

View File

@ -138,7 +138,6 @@ class EntityScreens extends StatelessWidget {
final subRoute = uiState.subRoute; final subRoute = uiState.subRoute;
final entityUIState = state.getUIState(entityType); final entityUIState = state.getUIState(entityType);
return Row( return Row(
children: <Widget>[ children: <Widget>[
Expanded( Expanded(

View File

@ -260,9 +260,11 @@ class _CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
), ),
], ],
), ),
leading: IconButton(icon: Icon(Icons.arrow_back), onPressed: () { leading: IconButton(
viewModel.onBackPressed(); icon: Icon(Icons.arrow_back),
}), onPressed: () {
viewModel.onBackPressed();
}),
actions: client.isNew actions: client.isNew
? [] ? []
: [ : [

View File

@ -63,9 +63,7 @@ class TaskListItem extends StatelessWidget {
return DismissibleEntity( return DismissibleEntity(
isSelected: task.id == isSelected: task.id ==
(uiState.isEditing (uiState.isEditing ? taskUIState.editing.id : taskUIState.selectedId),
? taskUIState.editing.id
: taskUIState.selectedId),
user: user, user: user,
entity: task, entity: task,
onEntityAction: onEntityAction, onEntityAction: onEntityAction,

View File

@ -13731,7 +13731,8 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get download => _localizedValues[localeCode]['download']; String get download => _localizedValues[localeCode]['download'];
String get noRecordSelected => _localizedValues[localeCode]['no_record_selected']; String get noRecordSelected =>
_localizedValues[localeCode]['no_record_selected'];
String get requiresAnEnterprisePlan => String get requiresAnEnterprisePlan =>
_localizedValues[localeCode]['requires_an_enterprise_plan']; _localizedValues[localeCode]['requires_an_enterprise_plan'];

View File

@ -18,7 +18,7 @@ Reducer<int> selectedIdReducer = combineReducers([
(int selectedId, dynamic dynamicAction) => action.stubId), (int selectedId, dynamic dynamicAction) => action.stubId),
TypedReducer<int, AddStubSuccess>( TypedReducer<int, AddStubSuccess>(
(int selectedId, dynamic dynamicAction) => action.stub.id), (int selectedId, dynamic dynamicAction) => action.stub.id),
TypedReducer<int, FilterStubsByEntity>((selectedId, action) => 0) TypedReducer<int, FilterStubsByEntity>((selectedId, action) => action.entityId == null ? selectedId : 0)
]); ]);
final editingReducer = combineReducers<StubEntity>([ final editingReducer = combineReducers<StubEntity>([