Tablet layout
This commit is contained in:
parent
952fa28935
commit
a643fa677c
|
|
@ -22,8 +22,11 @@ class ViewDocument implements PersistUI {
|
|||
}
|
||||
|
||||
class EditDocument implements PersistUI {
|
||||
EditDocument(
|
||||
{this.document, this.context, this.completer,});
|
||||
EditDocument({
|
||||
this.document,
|
||||
this.context,
|
||||
this.completer,
|
||||
});
|
||||
|
||||
final DocumentEntity document;
|
||||
final BuildContext context;
|
||||
|
|
|
|||
|
|
@ -17,7 +17,8 @@ Reducer<int> selectedIdReducer = combineReducers([
|
|||
TypedReducer<int, ViewExpense>((selectedId, action) => action.expenseId),
|
||||
TypedReducer<int, AddExpenseSuccess>(
|
||||
(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>([
|
||||
|
|
|
|||
|
|
@ -204,7 +204,6 @@ List<int> clientExpenseList(
|
|||
return list;
|
||||
}
|
||||
|
||||
|
||||
bool hasExpenseChanges(
|
||||
ExpenseEntity expense, BuiltMap<int, ExpenseEntity> expenseMap) =>
|
||||
ExpenseEntity expense, BuiltMap<int, ExpenseEntity> expenseMap) =>
|
||||
expense.isNew || expense != expenseMap[expense.id];
|
||||
|
|
|
|||
|
|
@ -40,7 +40,8 @@ Reducer<int> selectedIdReducer = combineReducers([
|
|||
(selectedId, action) => action.invoice.id),
|
||||
TypedReducer<int, ShowEmailInvoice>(
|
||||
(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>([
|
||||
|
|
|
|||
|
|
@ -17,7 +17,8 @@ Reducer<int> selectedIdReducer = combineReducers([
|
|||
TypedReducer<int, ViewPayment>((selectedId, action) => action.paymentId),
|
||||
TypedReducer<int, AddPaymentSuccess>(
|
||||
(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>([
|
||||
|
|
|
|||
|
|
@ -140,5 +140,5 @@ String invoiceStatsForClient(
|
|||
}
|
||||
|
||||
bool hasPaymentChanges(
|
||||
PaymentEntity payment, BuiltMap<int, PaymentEntity> paymentMap) =>
|
||||
PaymentEntity payment, BuiltMap<int, PaymentEntity> paymentMap) =>
|
||||
payment.isNew || payment != paymentMap[payment.id];
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ class EditProject implements PersistUI {
|
|||
{@required this.project,
|
||||
@required this.context,
|
||||
this.completer,
|
||||
this.cancelCompleter,
|
||||
this.cancelCompleter,
|
||||
this.force = false});
|
||||
|
||||
final ProjectEntity project;
|
||||
|
|
|
|||
|
|
@ -33,7 +33,8 @@ Reducer<int> selectedIdReducer = combineReducers([
|
|||
TypedReducer<int, ViewProject>((selectedId, action) => action.projectId),
|
||||
TypedReducer<int, AddProjectSuccess>(
|
||||
(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>([
|
||||
|
|
|
|||
|
|
@ -166,7 +166,6 @@ String projectStatsForClient(
|
|||
return str;
|
||||
}
|
||||
|
||||
|
||||
bool hasProjectChanges(
|
||||
ProjectEntity project, BuiltMap<int, ProjectEntity> projectMap) =>
|
||||
ProjectEntity project, BuiltMap<int, ProjectEntity> projectMap) =>
|
||||
project.isNew || project != projectMap[project.id];
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ Middleware<AppState> _editQuote() {
|
|||
|
||||
if (isMobile(action.context)) {
|
||||
final quote =
|
||||
await Navigator.of(action.context).pushNamed(QuoteEditScreen.route);
|
||||
await Navigator.of(action.context).pushNamed(QuoteEditScreen.route);
|
||||
|
||||
if (action.completer != null && quote != null) {
|
||||
action.completer.complete(quote);
|
||||
|
|
|
|||
|
|
@ -37,7 +37,8 @@ Reducer<int> selectedIdReducer = combineReducers([
|
|||
TypedReducer<int, ViewQuote>((selectedId, action) => action.quoteId),
|
||||
TypedReducer<int, AddQuoteSuccess>((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>([
|
||||
|
|
|
|||
|
|
@ -26,7 +26,8 @@ TaskTime editTaskTime(TaskTime taskTime, dynamic action) {
|
|||
Reducer<int> selectedIdReducer = combineReducers([
|
||||
TypedReducer<int, ViewTask>((selectedId, action) => action.taskId),
|
||||
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>([
|
||||
|
|
|
|||
|
|
@ -221,7 +221,5 @@ String taskStatsForProject(int projectId, BuiltMap<int, TaskEntity> taskMap,
|
|||
return str;
|
||||
}
|
||||
|
||||
|
||||
bool hasTaskChanges(
|
||||
TaskEntity task, BuiltMap<int, TaskEntity> taskMap) =>
|
||||
bool hasTaskChanges(TaskEntity task, BuiltMap<int, TaskEntity> taskMap) =>
|
||||
task.isNew || task != taskMap[task.id];
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ class EditVendor implements PersistUI {
|
|||
@required this.context,
|
||||
this.contact,
|
||||
this.completer,
|
||||
this.cancelCompleter,
|
||||
this.cancelCompleter,
|
||||
this.force = false});
|
||||
|
||||
final VendorEntity vendor;
|
||||
|
|
|
|||
|
|
@ -44,7 +44,8 @@ VendorContactEntity editVendorContact(
|
|||
Reducer<int> selectedIdReducer = combineReducers([
|
||||
TypedReducer<int, ViewVendor>((selectedId, action) => action.vendorId),
|
||||
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>([
|
||||
|
|
|
|||
|
|
@ -79,7 +79,6 @@ double calculateVendorBalance(int vendorId, int currencyId,
|
|||
return total;
|
||||
}
|
||||
|
||||
|
||||
bool hasVendorChanges(
|
||||
VendorEntity vendor, BuiltMap<int, VendorEntity> vendorMap) =>
|
||||
VendorEntity vendor, BuiltMap<int, VendorEntity> vendorMap) =>
|
||||
vendor.isNew || vendor != vendorMap[vendor.id];
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@ class ListFilterButton extends StatelessWidget {
|
|||
: store.state.uiState.filter,
|
||||
builder: (BuildContext context, filter) {
|
||||
return FlatButton(
|
||||
child: Text(filter == null ? localization.search : localization.close),
|
||||
child:
|
||||
Text(filter == null ? localization.search : localization.close),
|
||||
onPressed: () => onFilterPressed(filter == null ? '' : null),
|
||||
);
|
||||
},
|
||||
|
|
|
|||
|
|
@ -138,7 +138,6 @@ class EntityScreens extends StatelessWidget {
|
|||
final subRoute = uiState.subRoute;
|
||||
final entityUIState = state.getUIState(entityType);
|
||||
|
||||
|
||||
return Row(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
|
|
|
|||
|
|
@ -260,9 +260,11 @@ class _CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
|
|||
),
|
||||
],
|
||||
),
|
||||
leading: IconButton(icon: Icon(Icons.arrow_back), onPressed: () {
|
||||
viewModel.onBackPressed();
|
||||
}),
|
||||
leading: IconButton(
|
||||
icon: Icon(Icons.arrow_back),
|
||||
onPressed: () {
|
||||
viewModel.onBackPressed();
|
||||
}),
|
||||
actions: client.isNew
|
||||
? []
|
||||
: [
|
||||
|
|
|
|||
|
|
@ -63,9 +63,7 @@ class TaskListItem extends StatelessWidget {
|
|||
|
||||
return DismissibleEntity(
|
||||
isSelected: task.id ==
|
||||
(uiState.isEditing
|
||||
? taskUIState.editing.id
|
||||
: taskUIState.selectedId),
|
||||
(uiState.isEditing ? taskUIState.editing.id : taskUIState.selectedId),
|
||||
user: user,
|
||||
entity: task,
|
||||
onEntityAction: onEntityAction,
|
||||
|
|
|
|||
|
|
@ -13731,7 +13731,8 @@ mixin LocalizationsProvider on LocaleCodeAware {
|
|||
|
||||
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 =>
|
||||
_localizedValues[localeCode]['requires_an_enterprise_plan'];
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ Reducer<int> selectedIdReducer = combineReducers([
|
|||
(int selectedId, dynamic dynamicAction) => action.stubId),
|
||||
TypedReducer<int, AddStubSuccess>(
|
||||
(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>([
|
||||
|
|
|
|||
Loading…
Reference in New Issue