PDF preview
This commit is contained in:
parent
1d97dd29b4
commit
93bcff1165
|
|
@ -26,7 +26,7 @@ class CreditEditItemsScreen extends StatelessWidget {
|
|||
Widget build(BuildContext context) {
|
||||
return StoreConnector<AppState, CreditEditItemsVM>(
|
||||
converter: (Store<AppState> store) {
|
||||
return CreditEditItemsVM.fromStore(store, isTasks);
|
||||
return CreditEditItemsVM.fromStore(store, onChanged, isTasks);
|
||||
},
|
||||
builder: (context, viewModel) {
|
||||
if (viewModel.state.prefState.isEditorFullScreen(EntityType.invoice)) {
|
||||
|
|
@ -34,7 +34,6 @@ class CreditEditItemsScreen extends StatelessWidget {
|
|||
viewModel: viewModel,
|
||||
entityViewModel: this.viewModel,
|
||||
isTasks: isTasks,
|
||||
onChanged: onChanged,
|
||||
);
|
||||
} else {
|
||||
return InvoiceEditItems(
|
||||
|
|
@ -72,15 +71,19 @@ class CreditEditItemsVM extends EntityEditItemsVM {
|
|||
onMovedInvoiceItem: onMovedInvoiceItem,
|
||||
);
|
||||
|
||||
factory CreditEditItemsVM.fromStore(Store<AppState> store, bool isTasks) {
|
||||
factory CreditEditItemsVM.fromStore(
|
||||
Store<AppState> store, Function onChanged, bool isTasks) {
|
||||
return CreditEditItemsVM(
|
||||
state: store.state,
|
||||
company: store.state.company,
|
||||
invoice: store.state.creditUIState.editing,
|
||||
invoiceItemIndex: store.state.creditUIState.editingItemIndex,
|
||||
onRemoveInvoiceItemPressed: (index) =>
|
||||
store.dispatch(DeleteCreditItem(index)),
|
||||
onDoneInvoiceItemPressed: () => store.dispatch(EditCreditItem()),
|
||||
onRemoveInvoiceItemPressed: (index) {
|
||||
store.dispatch(DeleteCreditItem(index));
|
||||
},
|
||||
onDoneInvoiceItemPressed: () {
|
||||
store.dispatch(EditCreditItem());
|
||||
},
|
||||
onChangedInvoiceItem: (creditItem, index) {
|
||||
final credit = store.state.creditUIState.editing;
|
||||
if (index == credit.lineItems.length) {
|
||||
|
|
@ -94,9 +97,11 @@ class CreditEditItemsVM extends EntityEditItemsVM {
|
|||
.dispatch(UpdateCreditItem(creditItem: creditItem, index: index));
|
||||
}
|
||||
},
|
||||
onMovedInvoiceItem: (oldIndex, newIndex) => store.dispatch(
|
||||
MoveCreditItem(oldIndex: oldIndex, newIndex: newIndex),
|
||||
),
|
||||
onMovedInvoiceItem: (oldIndex, newIndex) {
|
||||
store.dispatch(
|
||||
MoveCreditItem(oldIndex: oldIndex, newIndex: newIndex),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,13 +23,11 @@ class InvoiceEditItemsDesktop extends StatefulWidget {
|
|||
@required this.viewModel,
|
||||
@required this.entityViewModel,
|
||||
@required this.isTasks,
|
||||
@required this.onChanged,
|
||||
});
|
||||
|
||||
final EntityEditItemsVM viewModel;
|
||||
final EntityEditVM entityViewModel;
|
||||
final bool isTasks;
|
||||
final Function onChanged;
|
||||
|
||||
@override
|
||||
_InvoiceEditItemsDesktopState createState() =>
|
||||
|
|
@ -57,16 +55,13 @@ class _InvoiceEditItemsDesktopState extends State<InvoiceEditItemsDesktop> {
|
|||
|
||||
if (index == lineItems.length) {
|
||||
viewModel.onChangedInvoiceItem(lineItem, index);
|
||||
widget.onChanged();
|
||||
} else if (lineItem != lineItems[index]) {
|
||||
if (debounce) {
|
||||
_debouncer.run(() {
|
||||
viewModel.onChangedInvoiceItem(lineItem, index);
|
||||
widget.onChanged();
|
||||
});
|
||||
} else {
|
||||
viewModel.onChangedInvoiceItem(lineItem, index);
|
||||
widget.onChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ class InvoiceEditItemsScreen extends StatelessWidget {
|
|||
Widget build(BuildContext context) {
|
||||
return StoreConnector<AppState, InvoiceEditItemsVM>(
|
||||
converter: (Store<AppState> store) {
|
||||
return InvoiceEditItemsVM.fromStore(store, isTasks);
|
||||
return InvoiceEditItemsVM.fromStore(store, onChanged, isTasks);
|
||||
},
|
||||
builder: (context, viewModel) {
|
||||
if (viewModel.state.prefState.isEditorFullScreen(EntityType.invoice)) {
|
||||
|
|
@ -33,7 +33,6 @@ class InvoiceEditItemsScreen extends StatelessWidget {
|
|||
viewModel: viewModel,
|
||||
entityViewModel: this.viewModel,
|
||||
isTasks: isTasks,
|
||||
onChanged: onChanged,
|
||||
);
|
||||
} else {
|
||||
return InvoiceEditItems(
|
||||
|
|
@ -97,17 +96,25 @@ class InvoiceEditItemsVM extends EntityEditItemsVM {
|
|||
onMovedInvoiceItem: onMovedInvoiceItem,
|
||||
);
|
||||
|
||||
factory InvoiceEditItemsVM.fromStore(Store<AppState> store, bool isTasks) {
|
||||
factory InvoiceEditItemsVM.fromStore(
|
||||
Store<AppState> store,
|
||||
Function onChanged,
|
||||
bool isTasks,
|
||||
) {
|
||||
return InvoiceEditItemsVM(
|
||||
state: store.state,
|
||||
company: store.state.company,
|
||||
invoice: store.state.invoiceUIState.editing,
|
||||
invoiceItemIndex: store.state.invoiceUIState.editingItemIndex,
|
||||
addLineItem: () =>
|
||||
store.dispatch(AddInvoiceItem(invoiceItem: InvoiceItemEntity())),
|
||||
addLineItem: () {
|
||||
store.dispatch(AddInvoiceItem(invoiceItem: InvoiceItemEntity()));
|
||||
onChanged();
|
||||
},
|
||||
deleteLineItem: null,
|
||||
onRemoveInvoiceItemPressed: (index) =>
|
||||
store.dispatch(DeleteInvoiceItem(index)),
|
||||
onRemoveInvoiceItemPressed: (index) {
|
||||
store.dispatch(DeleteInvoiceItem(index));
|
||||
onChanged();
|
||||
},
|
||||
clearSelectedInvoiceItem: () => store.dispatch(EditInvoiceItem()),
|
||||
onChangedInvoiceItem: (invoiceItem, index) {
|
||||
final invoice = store.state.invoiceUIState.editing;
|
||||
|
|
@ -121,10 +128,14 @@ class InvoiceEditItemsVM extends EntityEditItemsVM {
|
|||
store.dispatch(
|
||||
UpdateInvoiceItem(invoiceItem: invoiceItem, index: index));
|
||||
}
|
||||
onChanged();
|
||||
},
|
||||
onMovedInvoiceItem: (oldIndex, newIndex) {
|
||||
store.dispatch(
|
||||
MoveInvoiceItem(oldIndex: oldIndex, newIndex: newIndex),
|
||||
);
|
||||
onChanged();
|
||||
},
|
||||
onMovedInvoiceItem: (oldIndex, newIndex) => store.dispatch(
|
||||
MoveInvoiceItem(oldIndex: oldIndex, newIndex: newIndex),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ class QuoteEditItemsScreen extends StatelessWidget {
|
|||
Widget build(BuildContext context) {
|
||||
return StoreConnector<AppState, QuoteEditItemsVM>(
|
||||
converter: (Store<AppState> store) {
|
||||
return QuoteEditItemsVM.fromStore(store);
|
||||
return QuoteEditItemsVM.fromStore(store, onChanged);
|
||||
},
|
||||
builder: (context, viewModel) {
|
||||
if (viewModel.state.prefState.isEditorFullScreen(EntityType.invoice)) {
|
||||
|
|
@ -32,7 +32,6 @@ class QuoteEditItemsScreen extends StatelessWidget {
|
|||
viewModel: viewModel,
|
||||
entityViewModel: this.viewModel,
|
||||
isTasks: false,
|
||||
onChanged: onChanged,
|
||||
);
|
||||
} else {
|
||||
return InvoiceEditItems(
|
||||
|
|
@ -70,15 +69,19 @@ class QuoteEditItemsVM extends EntityEditItemsVM {
|
|||
onMovedInvoiceItem: onMovedInvoiceItem,
|
||||
);
|
||||
|
||||
factory QuoteEditItemsVM.fromStore(Store<AppState> store) {
|
||||
factory QuoteEditItemsVM.fromStore(
|
||||
Store<AppState> store, Function onChanged) {
|
||||
return QuoteEditItemsVM(
|
||||
state: store.state,
|
||||
company: store.state.company,
|
||||
invoice: store.state.quoteUIState.editing,
|
||||
invoiceItemIndex: store.state.quoteUIState.editingItemIndex,
|
||||
onRemoveInvoiceItemPressed: (index) =>
|
||||
store.dispatch(DeleteQuoteItem(index)),
|
||||
onDoneInvoiceItemPressed: () => store.dispatch(EditQuoteItem()),
|
||||
onRemoveInvoiceItemPressed: (index) {
|
||||
store.dispatch(DeleteQuoteItem(index));
|
||||
},
|
||||
onDoneInvoiceItemPressed: () {
|
||||
store.dispatch(EditQuoteItem());
|
||||
},
|
||||
onChangedInvoiceItem: (quoteItem, index) {
|
||||
final quote = store.state.quoteUIState.editing;
|
||||
if (index == quote.lineItems.length) {
|
||||
|
|
@ -87,9 +90,11 @@ class QuoteEditItemsVM extends EntityEditItemsVM {
|
|||
store.dispatch(UpdateQuoteItem(quoteItem: quoteItem, index: index));
|
||||
}
|
||||
},
|
||||
onMovedInvoiceItem: (oldIndex, newIndex) => store.dispatch(
|
||||
MoveQuoteItem(oldIndex: oldIndex, newIndex: newIndex),
|
||||
),
|
||||
onMovedInvoiceItem: (oldIndex, newIndex) {
|
||||
store.dispatch(
|
||||
MoveQuoteItem(oldIndex: oldIndex, newIndex: newIndex),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ class RecurringInvoiceEditItemsScreen extends StatelessWidget {
|
|||
Widget build(BuildContext context) {
|
||||
return StoreConnector<AppState, RecurringInvoiceEditItemsVM>(
|
||||
converter: (Store<AppState> store) {
|
||||
return RecurringInvoiceEditItemsVM.fromStore(store, isTasks);
|
||||
return RecurringInvoiceEditItemsVM.fromStore(store, onChanged, isTasks);
|
||||
},
|
||||
builder: (context, viewModel) {
|
||||
if (viewModel.state.prefState.isEditorFullScreen(EntityType.invoice)) {
|
||||
|
|
@ -34,7 +34,6 @@ class RecurringInvoiceEditItemsScreen extends StatelessWidget {
|
|||
viewModel: viewModel,
|
||||
entityViewModel: this.viewModel,
|
||||
isTasks: isTasks,
|
||||
onChanged: onChanged,
|
||||
);
|
||||
} else {
|
||||
return InvoiceEditItems(
|
||||
|
|
@ -73,16 +72,19 @@ class RecurringInvoiceEditItemsVM extends EntityEditItemsVM {
|
|||
);
|
||||
|
||||
factory RecurringInvoiceEditItemsVM.fromStore(
|
||||
Store<AppState> store, bool isTasks) {
|
||||
Store<AppState> store, Function onChanged, bool isTasks) {
|
||||
return RecurringInvoiceEditItemsVM(
|
||||
state: store.state,
|
||||
company: store.state.company,
|
||||
invoice: store.state.recurringInvoiceUIState.editing,
|
||||
invoiceItemIndex: store.state.recurringInvoiceUIState.editingItemIndex,
|
||||
onRemoveInvoiceItemPressed: (index) =>
|
||||
store.dispatch(DeleteRecurringInvoiceItem(index)),
|
||||
onDoneInvoiceItemPressed: () =>
|
||||
store.dispatch(EditRecurringInvoiceItem()),
|
||||
onRemoveInvoiceItemPressed: (index) {
|
||||
store.dispatch(DeleteRecurringInvoiceItem(index));
|
||||
onChanged();
|
||||
},
|
||||
onDoneInvoiceItemPressed: () {
|
||||
store.dispatch(EditRecurringInvoiceItem());
|
||||
},
|
||||
onChangedInvoiceItem: (item, index) {
|
||||
final invoice = store.state.recurringInvoiceUIState.editing;
|
||||
if (index == invoice.lineItems.length) {
|
||||
|
|
@ -94,10 +96,14 @@ class RecurringInvoiceEditItemsVM extends EntityEditItemsVM {
|
|||
} else {
|
||||
store.dispatch(UpdateRecurringInvoiceItem(item: item, index: index));
|
||||
}
|
||||
onChanged();
|
||||
},
|
||||
onMovedInvoiceItem: (oldIndex, newIndex) {
|
||||
store.dispatch(
|
||||
MoveRecurringInvoiceItem(oldIndex: oldIndex, newIndex: newIndex),
|
||||
);
|
||||
onChanged();
|
||||
},
|
||||
onMovedInvoiceItem: (oldIndex, newIndex) => store.dispatch(
|
||||
MoveRecurringInvoiceItem(oldIndex: oldIndex, newIndex: newIndex),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue