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

Offical Documentation

Official Docs: