Name
sn_grc.GRC_SupportData_AjaxUtils
Description
Example to invoke <g macro_invoke macro= sn_grc_supportingData_tablularView ref_table= $ jvar_ref_table fields= $ jvar_fields support_data_table= sn_grc_indicator_supporting_data field= document field_name_field= field_name field_name_value = value query_string= task=$ current.sys_id page_size= 20 />
Script
var GRC_SupportData_AjaxUtils = Class.create();
GRC_SupportData_AjaxUtils.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
/*
Returns Array of Row Objects
table : Table Name that stores supporting Data
field : Fiend Name that stores identification to actual record say: sys_id
queryString : filter rows matching to current record say: result=current.sys_id
fieldNameField : Field in supporting table storing field names
fieldValueField : Field in supporting table storing actual values
orderByFieldName : Field name based on which sort is done
BoolOrderByDesc : boolean value true for Descending order
startingRowIndex : Index of starting row i.e row_no - 1
endingRowIndex : Index of starting row i.e row_no - 1
*/
getRowsArray: function() {
var table = this.getParameter('sysparm_table');
var field = this.getParameter('sysparm_field');
var referenceTable = this.getParameter('sysparm_ref_table');
var queryString = this.getParameter('sysparm_queryString');
var searchQueryArray = JSON.parse(this.getParameter('sysparm_searchQuery'));
var fieldNameField = this.getParameter('sysparm_fieldNameField');
var fieldValueField = this.getParameter('sysparm_fieldValueField');
var orderByFieldName = this.getParameter('sysparm_orderByFieldName');
var BoolOrderByDesc = this.getParameter('sysparm_BoolOrderByDesc');
var startingRowIndex = this.getParameter('sysparm_startingRowIndex');
var endingRowIndex = this.getParameter('sysparm_endingRowIndex');
var grc_SupportData_DAO = new GRC_SupportData_DAO();
var row;
var rowsArray = [];
var recordSysIds = [];
if (searchQueryArray.length > 0) {
var arr = grc_SupportData_DAO.filterRecordSysIds(table, field, queryString, fieldNameField, searchQueryArray);
recordSysIds = grc_SupportData_DAO.sortRecords(arr, table, field, queryString, fieldNameField, fieldValueField, orderByFieldName, BoolOrderByDesc);
} else {
recordSysIds = grc_SupportData_DAO.getFieldDistinctValuesArray(table, field, queryString, fieldNameField, fieldValueField, orderByFieldName, BoolOrderByDesc);
}
if (parseInt(startingRowIndex) < 0) {
endingRowIndex = parseInt(endingRowIndex) - parseInt(startingRowIndex);
startingRowIndex = 0;
}
endingRowIndex = (parseInt(endingRowIndex) > recordSysIds.length) ? recordSysIds.length : parseInt(endingRowIndex);
for (var i = parseInt(startingRowIndex); i <= endingRowIndex; i++) {
row = grc_SupportData_DAO.getRowJsonString(table, queryString , field, recordSysIds[i], referenceTable, fieldNameField, fieldValueField);
if (row != '')
rowsArray.push(row + '');
}
rowsArray = JSON.stringify(rowsArray);
return rowsArray;
},
/*
Returns total Number of Rows
*/
getTotalNumberOfRows: function() {
var table = this.getParameter('sysparm_table');
var field = this.getParameter('sysparm_field');
var firstColumn = this.getParameter('sysparm_first_column');
var queryString = this.getParameter('sysparm_queryString');
var searchQueryArray = JSON.parse(this.getParameter('sysparm_searchQuery'));
var fieldNameField = this.getParameter('sysparm_fieldNameField');
var grc_SupportData_DAO = new GRC_SupportData_DAO();
var total = grc_SupportData_DAO.getTotalNumberOfRows(table, field, firstColumn, queryString, searchQueryArray, fieldNameField);
return total;
},
/*
Returns Array of distinct values for a 'field' of relevant rows according to 'queryString' from 'table'
table : Table Name that stores supporting Data
field : Fiend Name that stores identification to actual record say: sys_id
queryString : filter rows matching to current record say: result=current.sys_id
fieldNameField : Field in supporting table storing field names
fieldValueField : Field in supporting table storing actual values
orderByFieldName : Field name based on which sort is done
BoolOrderByDesc : boolean value true for Descending order
*/
getFieldDistinctValuesArray: function() {
var table = this.getParameter('sysparm_table');
var field = this.getParameter('sysparm_field');
var queryString = this.getParameter('sysparm_queryString');
var fieldNameField = this.getParameter('sysparm_fieldNameField');
var fieldValueField = this.getParameter('sysparm_fieldValueField');
var orderByFieldName = this.getParameter('sysparm_orderByFieldName');
var BoolOrderByDesc = this.getParameter('sysparm_BoolOrderByDesc');
var grc_SupportData_DAO = new GRC_SupportData_DAO();
return grc_SupportData_DAO.getFieldDistinctValuesArray(table, field, queryString, fieldNameField, fieldValueField, orderByFieldName);
},
/*
Returns Json Object containg all field value pairs for single row
table : Table Name that stores supporting Data
queryString : filter rows matching to current record say: result=current.sys_id
fieldNameField : Field in supporting table storing field names
fieldValueField : Field in supporting table storing actual values
*/
getRowJsonString: function() {
var table = this.getParameter('sysparm_table');
var queryString = this.getParameter('sysparm_queryString');
var referenceTable = this.getParameter('sysparm_ref_table');
var field = this.getParameter('sysparm_field');
var value = this.getParameter('sysparm_value');
var fieldNameField = this.getParameter('sysparm_fieldNameField');
var fieldValueField = this.getParameter('sysparm_fieldValueField');
var grc_SupportData_DAO = new GRC_SupportData_DAO();
return grc_SupportData_DAO.getRowJsonString(table, queryString , field, value, referenceTable, fieldNameField, fieldValueField);
},
/*
Returns Array of field objects containing field_name : Field_label pairs.
*/
getFieldsArray: function() {
var table = this.getParameter('sysparm_table');
var fields = this.getParameter('sysparm_fields');
var grc_SupportData_DAO = new GRC_SupportData_DAO();
return JSON.stringify(grc_SupportData_DAO.getFieldsArray(table, fields));
},
type: 'GRC_SupportData_AjaxUtils'
});
Sys ID
36369908db670450fded8d7e139619ab