Name

sn_cd.cd_RefQualsAJAX

Description

Client reference qualifier APIs for Content Publishing tables and dictionaries.

Script

var cd_RefQualsAJAX = Class.create();
cd_RefQualsAJAX.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {

  /** Return the reference qualifier for widget selection
   * query @param sysparm_content_sys_id sys_id of the content
   * query @param sysparm_content_type_sys_id sys_id of the content type
   * @return object {query: string}
   */
  getWidgetQuery: function() {
      var result = {};
      var contentTypeSysId = this.getParameter('sysparm_content_type_sys_id');
      var spPageSysId = this.getParameter('sysparm_sp_page_sys_id');
      var query = cd_RefQuals.spInstanceByContentTypeAndSpPage(contentTypeSysId, spPageSysId);
      var parser = new global.JSON();
      result = {
          query: query
      };

      return parser.encode(result);
  },

  /** Return the reference qualifier for page selection
   * query @param sysparm_content_sp_instance_sys_id sys_id of the content sp_instance
   * @return object {query: string}
   */
  getSpPageQuery: function() {
      var result = {
          query: ''
      };
      var spInstanceSysId = this.getParameter('sysparm_sp_instance_sys_id');
      var spInstanceGr = new GlideRecord('sp_instance');
      var parser = new global.JSON();
      var query = '';
      if (spInstanceGr.get(spInstanceSysId)) {
          query = cd_RefQuals.spPageBySpInstance(spInstanceGr);
          result.query = query;
      } else {
          query = cd_RefQuals._getSpPageQuery();
          result.query = query;
      }

      return parser.encode(result);
  },

  getTopicQuery: function() {
  	var result = {
          query: ''
      };
      var taxonomyId = this.getParameter('sysparm_taxonomy_sys_id');
      var parser = new global.JSON();
      var query = cd_RefQuals.topicsByTaxonomySysId(taxonomyId);

  	// Check template field availability for backward support
  	var topicRecord = new GlideRecord('topic');
  	if (topicRecord.isValidField('template')) {
  		var template = this.getParameter('sysparm_sp_page_sys_id');
  		if (!template) {
  			var spInstanceSysId = this.getParameter('sysparm_sp_instance_sys_id');
  			var spInstanceGr = new GlideRecord('sp_instance');
  			if (spInstanceGr.get(spInstanceSysId))
  				template = spInstanceGr.sp_column.sp_row.sp_container.sp_page.toString();
  		}
  		query = cd_RefQuals.topicsByTemplateSysId(query, template);
  	}

      result.query = cd_RefQuals.getUnownedTopics(query) + '^active=true';

      return parser.encode(result);
  },

  type: 'cd_RefQualsAJAX'
});

Sys ID

7d44fd665ba53010953330ad5981c788

Offical Documentation

Official Docs: