Frontend
1. ShowDashboard
a. OutputDashboard layouts
// layouts of OutputDashboard form
ensure form OutputDashboard
ensure grid: TeaVsCoffee
ensure layoutGrid Calendar kind: calendar
fromDateField: TeaVsCoffee.Date
titleField: TeaVsCoffee.Month
showFields: [Date, TotalSales, MonthInNumber, TotalTea, TotalCoffee, Month]
ensure layoutGrid LineChart kind: xyChartBarGraph
xAxis: TeaVsCoffee.Month
ensure xAxis AxisX
ensure yAxis AxisY
color.value: red
color.shade: s500
field: TeaVsCoffee.TotalSales
ensure layoutGrid BarGraph kind: xyChartBarGraph
xAxis: TeaVsCoffee.Month
ensure xAxis AxisX
ensure yAxis AxisY1
field: TeaVsCoffee.TotalTea
ensure yAxis AxisY2
field: TeaVsCoffee.TotalCoffee
ensure yAxis AxisY3
field: TeaVsCoffee.TotalSales
ensure layoutGrid XYChart kind: xyChartBarGraph
xAxis: TeaVsCoffee.Month
ensure yAxis AxisY
field: TeaVsCoffee.TotalSales
ensure grid: PendingPayments
ensure layoutGrid Table kind: table
columnSizeSet: ["Flex"]
renderingMode: flex
showComps: [InvoiceId, InvoiceDate, OfficeName, OfficeNo, PendingPayments.Amount]
ensure grid: TopCustomerSet
ensure layoutGrid TableLayout kind: table
columnSizeSet: ["AutoSize"]
showComps: [Name, TopCustomerSet.Amount]
ensure form OutputDashboard
ensure layout Header kind: content
direction: horizontal
contentPadding: thick
showPaddingSet: ["top"]
end.fields: [ShowAggregatedReport]
ensure layout TeaVsCoffeeChart kind: content
displayLabel: "Tea vs Coffee"
direction: vertical
showBorderSet: ["bottom"]
contentPadding: thin
showPaddingSet: ["top", "bottom"]
flexCenter.gridLayouts: [TeaVsCoffee.BarGraph]
ensure layout PendingPayments kind: content
displayLabel: "Pending Payments"
direction: vertical
showBorderSet: ["bottom"]
contentPadding: thick
showPaddingSet: ["top", "bottom"]
flexCenter.gridLayouts: [PendingPayments.Table]
ensure layout TopCustomers kind: content
flexCenter.gridLayouts: [TopCustomerSet.TableLayout]
displayLabel: "Top 5 Customers"
direction: vertical
contentPadding: thin
showPaddingSet: ["top", "bottom"]
ensure layout Dashboard kind: content
direction: vertical
start.formLayouts: [Header]
flexCenter.formLayouts: [TeaVsCoffeeChart, PendingPayments, TopCustomers]
ensure layout DashboardTemplate kind: template
paperSize: a4Size
b. Action
// this action runs the Dashboard report
ensure action ShowDashboard kind: report
icon: "AnalyticsRounded"
report: Dashboard
outputFormContentLayout: Dashboard
2. ShowAggregatedReport
a. OutputAggregated layouts
// layouts for OutputAggregated form
ensure form OutputAggregated
ensure grid: SalesByCustomer
ensure layoutGrid Table kind: table
columnSizeSet: ["Flex", "AutoSize"]
showComps: [Office, SalesByCustomer.TotalCoffee, SalesByCustomer.TotalTea, SalesByCustomer.TotalAmount]
ensure form OutputAggregated
ensure layout ReportSection1 kind: content
direction: vertical
contentPadding: thick
start.fields: [Summary.Date, Summary.FromDate, Summary.ToDate]
ensure layout ReportSection2 kind: content
direction: vertical
contentPadding: thick
start.fields: [Summary.TotalTea, Summary.TotalCoffee, Summary.TotalSales]
ensure layout ReportSection kind: content
direction: horizontal
contentPadding: thick
start.formLayouts: [ReportSection1]
end.formLayouts: [ReportSection2]
ensure layout Report kind: content
direction: vertical
start.padding: thick
start.showBorderSet: ["bottom"]
start.formLayouts: [ReportSection]
flexCenter.gridLayouts: [SalesByCustomer.Table]
ensure layout Template kind: template
paperSize: a4Size
b. Action
// this action runs the AggregatedReport
ensure action ShowAggregatedReport kind: report
icon: "AnalyticsRounded"
report: AggregatedReport
outputFormContentLayout: Report
outputFormTemplateLayout: Template
sendMessageToInbox: false
c. Button action
ensure form OutputDashboard
ensure section: Details
ensure field ShowAggregatedReport
action: ShowAggregatedReport
3. DeeplinkDashboard
// deeplink for external user for dashboard
ensure deeplink DeeplinkDashboard kind: report
visibilityConstraint: allowPublicSharing
creationRoles: [Owner]
expiry: withinOneWeek
showHeader: true
showEnterprise: true
report: Dashboard
outputFormContentLayout: Dashboard
outputFormTemplateLayout: DashboardTemplate
4. Group actions
// this group has all the actions those can be performed for dashboard
ensure group Dashboard
allowPromptAssistant: false
hideActionMenu: true
pinnedActions: [ShowDashboard, ShowAggregatedReport]
defaultAction: ShowDashboard
actionPermission: {
'ShowDashboard': {
'menuGroup': 'Report',
'roles': [
'Owner'
]
},
'ShowAggregatedReport': {
'roles': [
'Owner'
]
}
}