Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Address and City columns of the grid can be fully customized, plus name replaced using a custom plugin. The example code of such a plugin:

Code Block
languagejs
var SampleCustomer = SampleCustomer || {};
SampleCustomer.Plugins = SampleCustomer.Plugins || {};

SampleCustomer.Plugins.manipulateSearchResults = async function(context) {
    debugger;
    context.customerSearchResults.setColumnHeaders(["foo", "bar"]);
    context.customerSearchResults.setRowData("b41a1595-e321-ec11-b6e6-6045bd8a1d39", "foo", ["bar", "qwe"]);
};

...

Manipulates the column headers of the grid. Only Address and City columns ca be overridden. Default columns are removed when the method is called.

  • columnHeadercolumnHeaders: string array of column headers

...

  • id: primary key (GUID) of the item

  • name: the value which should be displayed in Name column of the grid

  • fieldValues: array of additional field (string) values to be displayed

addRow(id, name, type, fieldValues, iconPath) function

Adds a new item to search results. Can be used to add extra content to the grid on top of the ones found by OoB logic.

  • id: primary key (GUID) of the item to be added

  • name: the value which should be displayed in Name column of the grid

  • type: logical name of item (account or contact)

  • fieldValues: array of additional field (string) values to be displayed

  • iconPath: must be null when adding contacts or accounts. It is reserved for future use, to be able to list other entity types as well. Atm. only accounts and contacts are supported.

hideRow(id) function

Available from v1.2.2 on.

Marks the item with the specified id as hidden.

Such rows will not be rendered by multiple matches list. If only one single item remains visible, the rest will be treated as if only one item was found:

  • Multiple matches list is not visible

  • The single item (account or contact) is set as the context of call

The number of columns given to setColumnHeaders and length of fieldValues array on addRow and setRowData functions have to be identical. Within the plugin all the features of The API throws an error if the number of columns don’t match.

All the features of Microsoft CIF API can be used within the plugin, e.g. to retrieve any record and supply the retrieved data to setRowData function.

...