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