Reload entity after renaming doc
This commit is contained in:
parent
059953ae04
commit
be306774c8
|
|
@ -41,6 +41,7 @@ class DocumentGrid extends StatelessWidget {
|
||||||
@required this.documents,
|
@required this.documents,
|
||||||
@required this.onUploadDocument,
|
@required this.onUploadDocument,
|
||||||
@required this.onDeleteDocument,
|
@required this.onDeleteDocument,
|
||||||
|
@required this.onRenamedDocument,
|
||||||
this.onViewExpense,
|
this.onViewExpense,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -48,6 +49,7 @@ class DocumentGrid extends StatelessWidget {
|
||||||
final Function(MultipartFile) onUploadDocument;
|
final Function(MultipartFile) onUploadDocument;
|
||||||
final Function(DocumentEntity, String, String) onDeleteDocument;
|
final Function(DocumentEntity, String, String) onDeleteDocument;
|
||||||
final Function(DocumentEntity) onViewExpense;
|
final Function(DocumentEntity) onViewExpense;
|
||||||
|
final Function onRenamedDocument;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
@ -133,6 +135,7 @@ class DocumentGrid extends StatelessWidget {
|
||||||
document: document,
|
document: document,
|
||||||
onDeleteDocument: onDeleteDocument,
|
onDeleteDocument: onDeleteDocument,
|
||||||
onViewExpense: onViewExpense,
|
onViewExpense: onViewExpense,
|
||||||
|
onRenamedDocument: onRenamedDocument,
|
||||||
isFromExpense: false,
|
isFromExpense: false,
|
||||||
))
|
))
|
||||||
.toList(),
|
.toList(),
|
||||||
|
|
@ -149,12 +152,14 @@ class DocumentTile extends StatelessWidget {
|
||||||
@required this.onDeleteDocument,
|
@required this.onDeleteDocument,
|
||||||
@required this.onViewExpense,
|
@required this.onViewExpense,
|
||||||
@required this.isFromExpense,
|
@required this.isFromExpense,
|
||||||
|
@required this.onRenamedDocument,
|
||||||
});
|
});
|
||||||
|
|
||||||
final DocumentEntity document;
|
final DocumentEntity document;
|
||||||
final Function(DocumentEntity, String, String) onDeleteDocument;
|
final Function(DocumentEntity, String, String) onDeleteDocument;
|
||||||
final Function(DocumentEntity) onViewExpense;
|
final Function(DocumentEntity) onViewExpense;
|
||||||
final bool isFromExpense;
|
final bool isFromExpense;
|
||||||
|
final Function onRenamedDocument;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
@ -260,7 +265,7 @@ class DocumentTile extends StatelessWidget {
|
||||||
context,
|
context,
|
||||||
localization.renamedDocument)
|
localization.renamedDocument)
|
||||||
..future.then((value) {
|
..future.then((value) {
|
||||||
store.dispatch(RefreshData());
|
onRenamedDocument();
|
||||||
}),
|
}),
|
||||||
entity: document
|
entity: document
|
||||||
.rebuild((b) => b..name = name)),
|
.rebuild((b) => b..name = name)),
|
||||||
|
|
|
||||||
|
|
@ -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/client/client_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 ClientViewDocuments extends StatelessWidget {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
final store = StoreProvider.of<AppState>(context);
|
||||||
final client = viewModel.client;
|
final client = viewModel.client;
|
||||||
|
|
||||||
return DocumentGrid(
|
return DocumentGrid(
|
||||||
|
|
@ -20,6 +24,7 @@ class ClientViewDocuments 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(LoadClient(clientId: client.id)),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
// 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/constants.dart';
|
import 'package:invoiceninja_flutter/constants.dart';
|
||||||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
import 'package:invoiceninja_flutter/data/models/entities.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/app/form_card.dart';
|
import 'package:invoiceninja_flutter/ui/app/form_card.dart';
|
||||||
import 'package:invoiceninja_flutter/ui/app/forms/decorated_form_field.dart';
|
import 'package:invoiceninja_flutter/ui/app/forms/decorated_form_field.dart';
|
||||||
|
|
@ -77,6 +80,7 @@ class ExpenseEditNotesState extends State<ExpenseEditNotes> {
|
||||||
|
|
||||||
@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;
|
||||||
|
|
@ -115,12 +119,15 @@ class ExpenseEditNotesState extends State<ExpenseEditNotes> {
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
DocumentGrid(
|
DocumentGrid(
|
||||||
documents: expense.documents.toList(),
|
documents: expense.documents.toList(),
|
||||||
onUploadDocument: (path) =>
|
onUploadDocument: (path) =>
|
||||||
widget.viewModel.onUploadDocument(context, path),
|
widget.viewModel.onUploadDocument(context, path),
|
||||||
onDeleteDocument: (document, password, idToken) => widget
|
onDeleteDocument: (document, password, idToken) => widget
|
||||||
.viewModel
|
.viewModel
|
||||||
.onDeleteDocument(context, document, password, idToken))
|
.onDeleteDocument(context, document, password, idToken),
|
||||||
|
onRenamedDocument: () =>
|
||||||
|
store.dispatch(LoadExpense(expenseId: expense.id)),
|
||||||
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue