Name
global.SPSearchResultActions
Description
Get payload field table from action name
Script
var SPSearchResultActions = Class.create();
SPSearchResultActions.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getPayloadFieldDefTable: function() {
var actionId = this.getParameter('sysparm_actionId');
var result = this.newItem('result');
result.setAttribute('payloadFieldTable', '');
var gr = new GlideRecord('sys_declarative_action_assignment');
gr.addQuery('sys_id', actionId);
gr.query();
if (gr.next())
result.setAttribute('payloadFieldTable', gr.client_action.payload_field_table);
},
getSuggestionResultAction: function() {
var tableName = this.getParameter('sysparam_tableName');
var sysId = this.getParameter('sysparam_sysId');
var portalId = this.getParameter('sysparam_portalId');
var answer = this.newItem('answer');
var className = this._getClassName(tableName, sysId);
if (className != null) {
//Retrieve the declarative action from record's EVAM config
var m2mGr = new GlideRecord('sys_ux_predicate_m2m_action_assignment');
m2mGr.addQuery('predicate.active', true);
m2mGr.addQuery('predicate.table', this._checkIfClassNameExistsInViewConfig(className, tableName));
m2mGr.addQuery('predicate.predicate_bundle', 'IN', this._getEVAMBundle(portalId));
m2mGr.addActiveQuery();
m2mGr.query();
if (m2mGr.next()) {
answer = m2mGr.declarative_action_assignment;
}
}
return answer;
},
_getClassName: function(table, sysId) {
var sGr = new GlideRecord(table);
if (sGr.get(sysId))
return sGr.getValue('sys_class_name');
return table;
},
_checkIfClassNameExistsInViewConfig: function(className, tableName) {
var sGr = new GlideRecord('sys_ux_composite_data_template_predicate');
sGr.addQuery('table', className);
sGr.query();
if (sGr.next()) {
return className;
}
return tableName;
},
//Returns EVAM view config bundle for the portal
_getEVAMBundle: function(id) {
var arr = [];
var portalGr = new GlideRecord('sp_portal');
if (portalGr.get(id)) {
var m2mGr = new GlideRecord('sys_ux_composite_data_m2m_predicate_bundle');
m2mGr.addQuery('dataset', portalGr.search_results_configuration);
m2mGr.query();
while (m2mGr.next()) {
arr.push("" + m2mGr.predicate_bundle);
}
}
return arr;
},
type: 'SPSearchResultActions'
});
Sys ID
a375ded977131010e46abe41a9106124