How to Add a Link to Dashboard
Sometimes it might be useful for users to be able to open a page within Pricefx directly from the dashboard.
The easiest way is to use the addLink DashboardController method.
Example
def controller = api.newController()
controller.addLink("Open Quote", controller.QC_DETAILS_PAGE, "2529.Q")
return controller
Note:
This method is available from the 7.0 Bijou release and only in the Pricefx UI.
Only Dashboards, Quotes and Agreements & Promotions internal page tokens are supported in old Ember Dashboards for the
controller.addButton
method.
Link in a Result Matrix
Links to documents can be included in a result matrix. See an example of a dashboard logic element below, which demonstrates various format types in a result matrix, including a link to a Quote:
def fields = [
[name: "% String value", type: FieldFormatType.TEXT],
[name: "Integer value", type: FieldFormatType.INTEGER],
[name: "Numeric value", type: FieldFormatType.NUMERIC],
[name: "Date value", type: FieldFormatType.DATE],
[name: "Date Time value", type: FieldFormatType.DATETIME],
[name: "Link", type: FieldFormatType.LINK]
];
def m = api.newMatrix(fields.collect{it -> it.name});
def rows = [];
def d = new Date();
for (int i=0; i< 100; i++) {
rows << ["somewhere "+i, i, 0.11*i, d-i, d+i, m.linkCell(i, 'priceShopPage', i)];
}
fields.each {field ->
m.setColumnFormat(field.name, field.type);
}
rows.each {row ->
m.addRow((0..row.size()-1).collectEntries{index ->
[fields[index].name, row[index]]
});
}
def event_name = api.dashboardWideEvent('recalculateDashboard')
m.onRowSelection().triggerEvent(event_name)
.withColValueAsEventDataAttr('% String value', 'DA1')
.withColValueAsEventDataAttr('Numeric value', 'DA2')
.withColValueAsEventDataAttr('Integer value', 'DA3')
return m;
Definition of m.linkCell(value, targetPage, targetPageState)
:
value – Object that is passed, should contain the quote ID.
targetPage – The name of the page to link to:
priceShopPage – For redirecting to quotes.
dashboardPage – For dashboards.
targetPageState
Found an issue in documentation? Write to us.