Support entity actions in reports
This commit is contained in:
parent
afb243d36d
commit
f8930bc187
|
|
@ -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,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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({
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue