Reload entity after renaming doc
This commit is contained in:
parent
be306774c8
commit
cb6944ac02
|
|
@ -12,7 +12,6 @@ import 'package:http/http.dart' as http;
|
|||
import 'package:http/http.dart';
|
||||
import 'package:image_cropper/image_cropper.dart';
|
||||
import 'package:image_picker/image_picker.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/document/document_actions.dart';
|
||||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
// Flutter imports:
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_redux/flutter_redux.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
|
||||
// Project imports:
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/redux/expense/expense_actions.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/document_grid.dart';
|
||||
import 'package:invoiceninja_flutter/ui/expense/view/expense_view_vm.dart';
|
||||
|
||||
|
|
@ -15,11 +18,15 @@ class ExpenseViewDocuments extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final store = StoreProvider.of<AppState>(context);
|
||||
|
||||
return DocumentGrid(
|
||||
documents: expense.documents.toList(),
|
||||
onUploadDocument: (path) => viewModel.onUploadDocument(context, path),
|
||||
onDeleteDocument: (document, password, idToken) =>
|
||||
viewModel.onDeleteDocument(context, document, password, idToken),
|
||||
onRenamedDocument: () =>
|
||||
store.dispatch(LoadExpense(expenseId: expense.id)),
|
||||
onViewExpense: null,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
// Flutter imports:
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_redux/flutter_redux.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
|
||||
// Project imports:
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/redux/group/group_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/group/group_selectors.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/FieldGrid.dart';
|
||||
|
|
@ -49,6 +50,7 @@ class _GroupViewState extends State<GroupView>
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final store = StoreProvider.of<AppState>(context);
|
||||
final localization = AppLocalization.of(context);
|
||||
final viewModel = widget.viewModel;
|
||||
final state = viewModel.state;
|
||||
|
|
@ -110,6 +112,8 @@ class _GroupViewState extends State<GroupView>
|
|||
viewModel.onUploadDocument(context, path),
|
||||
onDeleteDocument: (document, password, idToken) => viewModel
|
||||
.onDeleteDocument(context, document, password, idToken),
|
||||
onRenamedDocument: () =>
|
||||
store.dispatch(LoadGroup(groupId: group.id)),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import 'package:flutter/material.dart';
|
|||
import 'package:flutter_redux/flutter_redux.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/vendor_model.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/invoice/invoice_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/vendor/vendor_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/vendor/vendor_selectors.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/autobill_dropdown_menu_item.dart';
|
||||
|
|
@ -939,18 +940,21 @@ class InvoiceEditDesktopState extends State<InvoiceEditDesktop>
|
|||
HelpText(localization.saveToUploadDocuments)
|
||||
else
|
||||
DocumentGrid(
|
||||
documents: invoice.documents.toList(),
|
||||
onUploadDocument: (path) => widget
|
||||
.entityViewModel
|
||||
.onUploadDocument(context, path),
|
||||
onDeleteDocument:
|
||||
(document, password, idToken) =>
|
||||
widget.entityViewModel
|
||||
.onDeleteDocument(
|
||||
context,
|
||||
document,
|
||||
password,
|
||||
idToken))
|
||||
documents:
|
||||
originalInvoice.documents.toList(),
|
||||
onUploadDocument: (path) => widget
|
||||
.entityViewModel
|
||||
.onUploadDocument(context, path),
|
||||
onDeleteDocument: (document, password,
|
||||
idToken) =>
|
||||
widget.entityViewModel.onDeleteDocument(
|
||||
context,
|
||||
document,
|
||||
password,
|
||||
idToken),
|
||||
onRenamedDocument: () => store.dispatch(
|
||||
LoadInvoice(invoiceId: invoice.id)),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
// Flutter imports:
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_redux/flutter_redux.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
|
||||
// Project imports:
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/redux/invoice/invoice_actions.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/document_grid.dart';
|
||||
import 'package:invoiceninja_flutter/ui/invoice/view/invoice_view_vm.dart';
|
||||
|
||||
|
|
@ -16,12 +19,16 @@ class InvoiceViewDocuments extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final store = StoreProvider.of<AppState>(context);
|
||||
|
||||
return DocumentGrid(
|
||||
documents: invoice.documents.toList(),
|
||||
onUploadDocument: (path) => viewModel.onUploadDocument(context, path),
|
||||
onDeleteDocument: (document, password, idToken) =>
|
||||
viewModel.onDeleteDocument(context, document, password, idToken),
|
||||
onViewExpense: (document) => viewModel.onViewExpense(context, document),
|
||||
onRenamedDocument: () =>
|
||||
store.dispatch(LoadInvoice(invoiceId: invoice.id)),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
// Flutter imports:
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_redux/flutter_redux.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/redux/product/product_actions.dart';
|
||||
|
||||
// Project imports:
|
||||
import 'package:invoiceninja_flutter/ui/app/document_grid.dart';
|
||||
|
|
@ -13,6 +16,7 @@ class ProductViewDocuments extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final store = StoreProvider.of<AppState>(context);
|
||||
final product = viewModel.product;
|
||||
|
||||
return DocumentGrid(
|
||||
|
|
@ -20,6 +24,8 @@ class ProductViewDocuments extends StatelessWidget {
|
|||
onUploadDocument: (path) => viewModel.onUploadDocument(context, path),
|
||||
onDeleteDocument: (document, password, idToken) =>
|
||||
viewModel.onDeleteDocument(context, document, password, idToken),
|
||||
onRenamedDocument: () =>
|
||||
store.dispatch(LoadProduct(productId: product.id)),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
// Flutter imports:
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_redux/flutter_redux.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/redux/project/project_actions.dart';
|
||||
|
||||
// Project imports:
|
||||
import 'package:invoiceninja_flutter/ui/app/document_grid.dart';
|
||||
|
|
@ -13,6 +16,7 @@ class ProjectViewDocuments extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final store = StoreProvider.of<AppState>(context);
|
||||
final project = viewModel.project;
|
||||
|
||||
return DocumentGrid(
|
||||
|
|
@ -20,6 +24,8 @@ class ProjectViewDocuments extends StatelessWidget {
|
|||
onUploadDocument: (path) => viewModel.onUploadDocument(context, path),
|
||||
onDeleteDocument: (document, password, idToken) =>
|
||||
viewModel.onDeleteDocument(context, document, password, idToken),
|
||||
onRenamedDocument: () =>
|
||||
store.dispatch(LoadProject(projectId: project.id)),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,15 @@
|
|||
// Flutter imports:
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_redux/flutter_redux.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
|
||||
// Package imports:
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
import 'package:flutter_redux/flutter_redux.dart';
|
||||
|
||||
// Project imports:
|
||||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
||||
import 'package:invoiceninja_flutter/main_app.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/redux/payment_term/payment_term_selectors.dart';
|
||||
import 'package:invoiceninja_flutter/redux/settings/settings_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/static/static_selectors.dart';
|
||||
|
|
@ -217,6 +218,7 @@ class _CompanyDetailsState extends State<CompanyDetails>
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final store = StoreProvider.of<AppState>(context);
|
||||
final localization = AppLocalization.of(context);
|
||||
final viewModel = widget.viewModel;
|
||||
final state = viewModel.state;
|
||||
|
|
@ -700,6 +702,7 @@ class _CompanyDetailsState extends State<CompanyDetails>
|
|||
viewModel.onUploadDocument(context, path),
|
||||
onDeleteDocument: (document, password, idToken) => viewModel
|
||||
.onDeleteDocument(context, document, password, idToken),
|
||||
onRenamedDocument: () => store.dispatch(RefreshData()),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
// Flutter imports:
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_redux/flutter_redux.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/redux/task/task_actions.dart';
|
||||
|
||||
// Project imports:
|
||||
import 'package:invoiceninja_flutter/ui/app/document_grid.dart';
|
||||
|
|
@ -13,6 +16,7 @@ class TaskViewDocuments extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final store = StoreProvider.of<AppState>(context);
|
||||
final task = viewModel.task;
|
||||
|
||||
return DocumentGrid(
|
||||
|
|
@ -20,6 +24,7 @@ class TaskViewDocuments extends StatelessWidget {
|
|||
onUploadDocument: (path) => viewModel.onUploadDocument(context, path),
|
||||
onDeleteDocument: (document, password, idToken) =>
|
||||
viewModel.onDeleteDocument(context, document, password, idToken),
|
||||
onRenamedDocument: () => store.dispatch(LoadTask(taskId: task.id)),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
// Flutter imports:
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_redux/flutter_redux.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/redux/vendor/vendor_actions.dart';
|
||||
|
||||
// Project imports:
|
||||
import 'package:invoiceninja_flutter/ui/app/document_grid.dart';
|
||||
|
|
@ -13,6 +16,7 @@ class VendorViewDocuments extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final store = StoreProvider.of<AppState>(context);
|
||||
final vendor = viewModel.vendor;
|
||||
|
||||
return DocumentGrid(
|
||||
|
|
@ -20,6 +24,7 @@ class VendorViewDocuments extends StatelessWidget {
|
|||
onUploadDocument: (path) => viewModel.onUploadDocument(context, path),
|
||||
onDeleteDocument: (document, password, idToken) =>
|
||||
viewModel.onDeleteDocument(context, document, password, idToken),
|
||||
onRenamedDocument: () => store.dispatch(LoadVendor(vendorId: vendor.id)),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue