Support entity actions in reports

This commit is contained in:
Hillel Coren 2022-03-16 21:12:27 +02:00
parent afb243d36d
commit f8930bc187
12 changed files with 46 additions and 63 deletions

View File

@ -89,7 +89,7 @@ ReportResult clientReport(
StaticState staticState,
) {
final List<List<ReportElement>> data = [];
final List<String> entityIds = [];
final List<BaseEntity> entities = [];
BuiltList<ClientReportFields> columns;
final reportSettings = userCompany.settings?.reportSettings;
@ -336,7 +336,7 @@ ReportResult clientReport(
if (!skip) {
data.add(row);
entityIds.add(client.id);
entities.add(client);
}
}
@ -351,7 +351,6 @@ ReportResult clientReport(
defaultColumns:
defaultColumns.map((item) => EnumUtils.parse(item)).toList(),
data: data,
entityType: EntityType.client,
entityIds: entityIds,
entities: entities,
);
}

View File

@ -96,7 +96,7 @@ ReportResult creditReport(
StaticState staticState,
) {
final List<List<ReportElement>> data = [];
final List<String> entityIds = [];
final List<BaseEntity> entities = [];
BuiltList<CreditReportFields> columns;
final reportSettings = userCompany.settings?.reportSettings;
@ -363,7 +363,7 @@ ReportResult creditReport(
if (!skip) {
data.add(row);
entityIds.add(credit.id);
entities.add(credit);
}
}
@ -378,7 +378,6 @@ ReportResult creditReport(
defaultColumns:
defaultColumns.map((item) => EnumUtils.parse(item)).toList(),
data: data,
entityType: EntityType.credit,
entityIds: entityIds,
entities: entities,
);
}

View File

@ -63,7 +63,7 @@ ReportResult documentReport(
BuiltMap<String, UserEntity> userMap,
) {
final List<List<ReportElement>> data = [];
final List<String> entityIds = [];
final List<BaseEntity> entities = [];
BuiltList<DocumentReportFields> columns;
final localization =
@ -188,7 +188,7 @@ ReportResult documentReport(
final row = _getRow(quote, document);
if (row != null) {
data.add(row);
entityIds.add(document.id);
entities.add(document);
}
});
});
@ -205,7 +205,6 @@ ReportResult documentReport(
defaultColumns.map((item) => EnumUtils.parse(item)).toList(),
data: data,
showTotals: false,
entityType: EntityType.document,
entityIds: entityIds,
entities: entities,
);
}

View File

@ -79,7 +79,7 @@ ReportResult expenseReport(
StaticState staticState,
) {
final List<List<ReportElement>> data = [];
final List<String> entityIds = [];
final List<BaseEntity> entities = [];
BuiltList<ExpenseReportFields> columns;
final reportSettings = userCompany.settings?.reportSettings;
@ -241,7 +241,7 @@ ReportResult expenseReport(
if (!skip) {
data.add(row);
entityIds.add(expense.id);
entities.add(expense);
}
}
@ -256,7 +256,6 @@ ReportResult expenseReport(
defaultColumns:
defaultColumns.map((item) => EnumUtils.parse(item)).toList(),
data: data,
entityType: EntityType.expense,
entityIds: entityIds,
entities: entities,
);
}

View File

@ -118,7 +118,7 @@ ReportResult invoiceReport(
StaticState staticState,
) {
final List<List<ReportElement>> data = [];
final List<String> entityIds = [];
final List<BaseEntity> entities = [];
BuiltList<InvoiceReportFields> columns;
final reportSettings = userCompany.settings?.reportSettings;
@ -419,7 +419,7 @@ ReportResult invoiceReport(
if (!skip) {
data.add(row);
entityIds.add(invoice.id);
entities.add(invoice);
}
}
@ -434,7 +434,6 @@ ReportResult invoiceReport(
defaultColumns:
defaultColumns.map((item) => EnumUtils.parse(item)).toList(),
data: data,
entityType: EntityType.invoice,
entityIds: entityIds,
entities: entities,
);
}

View File

@ -67,7 +67,7 @@ ReportResult paymentReport(
StaticState staticState,
) {
final List<List<ReportElement>> data = [];
final List<String> entityIds = [];
final List<BaseEntity> entities = [];
BuiltList<PaymentReportFields> columns;
final reportSettings = userCompany.settings?.reportSettings;
@ -233,7 +233,7 @@ ReportResult paymentReport(
if (!skip) {
data.add(row);
entityIds.add(payment.id);
entities.add(payment);
}
}
@ -248,7 +248,6 @@ ReportResult paymentReport(
defaultColumns:
defaultColumns.map((item) => EnumUtils.parse(item)).toList(),
data: data,
entityType: EntityType.payment,
entityIds: entityIds,
entities: entities,
);
}

View File

@ -47,7 +47,7 @@ ReportResult productReport(
StaticState staticState,
) {
final List<List<ReportElement>> data = [];
final List<String> entityIds = [];
final List<BaseEntity> entities = [];
BuiltList<ProductReportFields> columns;
final reportSettings = userCompany.settings?.reportSettings;
@ -154,7 +154,7 @@ ReportResult productReport(
if (!skip) {
data.add(row);
entityIds.add(product.id);
entities.add(product);
}
}
@ -169,7 +169,6 @@ ReportResult productReport(
defaultColumns:
defaultColumns.map((item) => EnumUtils.parse(item)).toList(),
data: data,
entityType: EntityType.product,
entityIds: entityIds,
entities: entities,
);
}

View File

@ -95,7 +95,7 @@ ReportResult quoteReport(
StaticState staticState,
) {
final List<List<ReportElement>> data = [];
final List<String> entityIds = [];
final List<BaseEntity> entities = [];
BuiltList<QuoteReportFields> columns;
final reportSettings = userCompany.settings?.reportSettings;
@ -355,7 +355,7 @@ ReportResult quoteReport(
if (!skip) {
data.add(row);
entityIds.add(quote.id);
entities.add(quote);
}
}
@ -370,7 +370,6 @@ ReportResult quoteReport(
defaultColumns:
defaultColumns.map((item) => EnumUtils.parse(item)).toList(),
data: data,
entityType: EntityType.quote,
entityIds: entityIds,
entities: entities,
);
}

View File

@ -81,7 +81,7 @@ ReportResult recurringExpenseReport(
StaticState staticState,
) {
final List<List<ReportElement>> data = [];
final List<String> entityIds = [];
final List<BaseEntity> entities = [];
BuiltList<RecurringExpenseReportFields> columns;
final localization = AppLocalization.of(navigatorKey.currentContext);
@ -249,7 +249,7 @@ ReportResult recurringExpenseReport(
if (!skip) {
data.add(row);
entityIds.add(expense.id);
entities.add(expense);
}
}
@ -265,7 +265,6 @@ ReportResult recurringExpenseReport(
defaultColumns:
defaultColumns.map((item) => EnumUtils.parse(item)).toList(),
data: data,
entityType: EntityType.recurringExpense,
entityIds: entityIds,
entities: entities,
);
}

View File

@ -115,7 +115,7 @@ ReportResult recurringInvoiceReport(
StaticState staticState,
) {
final List<List<ReportElement>> data = [];
final List<String> entityIds = [];
final List<BaseEntity> entities = [];
BuiltList<RecurringInvoiceReportFields> columns;
final localization = AppLocalization.of(navigatorKey.currentContext);
@ -400,7 +400,7 @@ ReportResult recurringInvoiceReport(
if (!skip) {
data.add(row);
entityIds.add(invoice.id);
entities.add(invoice);
}
}
@ -416,7 +416,6 @@ ReportResult recurringInvoiceReport(
defaultColumns:
defaultColumns.map((item) => EnumUtils.parse(item)).toList(),
data: data,
entityType: EntityType.recurringInvoice,
entityIds: entityIds,
entities: entities,
);
}

View File

@ -188,14 +188,10 @@ class ReportsScreen extends StatelessWidget {
),
];
final firstEntityId =
reportResult.entityIds != null && reportResult.entityIds.isNotEmpty
? reportResult.entityIds.first
final firstEntity =
reportResult.entities != null && reportResult.entities.isNotEmpty
? reportResult.entities.first
: null;
BaseEntity firstEntity;
if (firstEntityId != null) {
firstEntity = state.getEntityMap(reportResult.entityType)[firstEntityId];
}
final chartChildren = [
AppDropdownButton<String>(
@ -285,9 +281,9 @@ class ReportsScreen extends StatelessWidget {
: firstEntity.getActions(
userCompany: state.userCompany, multiselect: true),
entity: firstEntity,
onSelected: (context, action) {
//
}),
onSelected: (context, action) =>
handleEntitiesActions(reportResult.entities, action),
),
),
if (isMobile(context) || !state.prefState.isHistoryVisible)
Builder(
@ -670,8 +666,7 @@ class ReportResult {
@required this.allColumns,
@required this.defaultColumns,
@required this.data,
this.entityType,
this.entityIds,
this.entities,
this.showTotals = true,
});
@ -679,8 +674,7 @@ class ReportResult {
final List<String> allColumns;
final List<String> defaultColumns;
final List<List<ReportElement>> data;
final List<String> entityIds;
final EntityType entityType;
final List<BaseEntity> entities;
final bool showTotals;
static bool matchField({

View File

@ -79,7 +79,7 @@ ReportResult taskReport(
StaticState staticState,
) {
final List<List<ReportElement>> data = [];
final List<String> entityIds = [];
final List<BaseEntity> entities = [];
BuiltList<TaskReportFields> columns;
final reportSettings = userCompany.settings?.reportSettings;
@ -239,7 +239,7 @@ ReportResult taskReport(
if (!skip) {
data.add(row);
entityIds.add(task.id);
entities.add(task);
}
}
@ -253,7 +253,6 @@ ReportResult taskReport(
defaultColumns:
defaultColumns.map((item) => EnumUtils.parse(item)).toList(),
data: data,
entityType: EntityType.task,
entityIds: entityIds,
entities: entities,
);
}