Name

sn_ppt_export.PPTGenTextUtil

Description

No description available

Script

var PPTGenTextUtil = Class.create();
PPTGenTextUtil.prototype = {
  initialize: function(directChildTable, slideDataTracker) {
  	this.directChildTable = directChildTable;
  	this.slideDataTracker = slideDataTracker;
  },
  
  runFinalStageForTextBox: function(shapeObject, slide) {
  	if (shapeObject.hasOwnProperty('href')) {
  		var listOfHyperlinks = shapeObject["href"].split(',');
  		var keyCount = 0;
  		for (var key in shapeObject["map"]) {
  			var hrefMap = GeneratePPTProcessorHelper.pptGeneratorUtil.getMapFromHyperlink(listOfHyperlinks[keyCount]);
  			keyCount++;
  			if (hrefMap.hasOwnProperty('distinctionFlag') && hrefMap["distinctionFlag"] === "base") {
  				var field = (key.split(".").length > 2) ? key.substring(key.indexOf(".") +1, key.length) : key.split(".")[1];
  				shapeObject["map"][key] = GeneratePPTProcessorHelper.pptGeneratorUtil.getBaseRecordData(GeneratePPTProcessorHelper.BASE_TABLE, GeneratePPTProcessorHelper.BASE_RECORD_SYS_ID, field, 1);
  				if(GeneratePPTProcessorHelper.pptGeneratorUtil.formatters[GeneratePPTProcessorHelper.BASE_TABLE] && GeneratePPTProcessorHelper.pptGeneratorUtil.formatters[GeneratePPTProcessorHelper.BASE_TABLE][field]) {
  					var cellFormatter = GeneratePPTProcessorHelper.pptGeneratorUtil.getMatchedCellFormatter(GeneratePPTProcessorHelper.BASE_TABLE, field, GeneratePPTProcessorHelper.BASE_RECORD_SYS_ID);
  					if(cellFormatter && Object.keys(cellFormatter).length > 0) {
  						var styleObject = JSON.parse(cellFormatter["style"]);
  						shapeObject["color"] = styleObject["color"] ? styleObject["color"] : '';
  						shapeObject["shape"] = styleObject["shape"] ? styleObject["shape"] : '';
  						shapeObject["backgroundColor"] = styleObject["backgroundColor"] ? styleObject["backgroundColor"] : '';
  					}
  				}
  			} else if (hrefMap.hasOwnProperty('distinctionFlag') && hrefMap["distinctionFlag"] === "related" && hrefMap.hasOwnProperty("repeaterTable") && hrefMap["repeaterTable"] === "true") {
  				var field = key.split(".")[1];
  				var directChildobj = this.directChildTable;
  				var repeaterTableOrderByObj = {'orderByColumnName':this.directChildTable[slide["slideNumber"]]['repeaterTableOrderBy'],'orderByDesc':this.directChildTable[slide["slideNumber"]]['repeaterTableOrderByDesc']};
  				var encodedFilter = 'sys_idIN'+this.directChildTable[slide["slideNumber"]]['sysID'];
  				if (GeneratePPTProcessorHelper.pptGeneratorUtil.isRemoteTable(key.split(".")[0]))
  					encodedFilter = ''; //query is already cached for remote table and so does the record
  				shapeObject["map"][key] = GeneratePPTProcessorHelper.pptGeneratorUtil.getRelatedListData(GeneratePPTProcessorHelper.BASE_TABLE, key.split(".")[0], GeneratePPTProcessorHelper.BASE_RECORD_SYS_ID, key.split(".")[1], 1, encodedFilter, repeaterTableOrderByObj); //order should always be 1 and not this.slideDataTracker[slide["slideNumber"]]
  				var relatedTableRecord = GeneratePPTProcessorHelper.pptGeneratorUtil.getRelatedRecordForRelatedList(GeneratePPTProcessorHelper.BASE_TABLE, key.split(".")[0], GeneratePPTProcessorHelper.BASE_RECORD_SYS_ID, key.split(".")[1], 1, encodedFilter, repeaterTableOrderByObj);
  				if(relatedTableRecord.next()) {
  					if(GeneratePPTProcessorHelper.pptGeneratorUtil.formatters[relatedTableRecord.getTableName()] && GeneratePPTProcessorHelper.pptGeneratorUtil.formatters[relatedTableRecord.getTableName()][key.split(".")[1]]) {
  						var cellFormatter = GeneratePPTProcessorHelper.pptGeneratorUtil.getMatchedCellFormatter(relatedTableRecord.getTableName(), key.split(".")[1], relatedTableRecord.getValue("sys_id"));
  						if(cellFormatter && Object.keys(cellFormatter).length > 0) {
  							var styleObject = JSON.parse(cellFormatter["style"]);
  							shapeObject["color"] = styleObject["color"] ? styleObject["color"] : '';
  							shapeObject["shape"] = styleObject["shape"] ? styleObject["shape"] : '';
  							shapeObject["backgroundColor"] = styleObject["backgroundColor"] ? styleObject["backgroundColor"] : '';
  						}
  					}
  				}
  			} else if (hrefMap.hasOwnProperty('distinctionFlag') && hrefMap["distinctionFlag"] === "related" && !hrefMap.hasOwnProperty("repeaterTable")) {
  				var textOrderByColumnName = '';
  				var textOrderByDesc = false;
  				if (hrefMap.hasOwnProperty("orderByColumnName") && hrefMap["orderByColumnName"]!=''){
  					textOrderByColumnName = hrefMap["orderByColumnName"];
  				}
  				if (hrefMap.hasOwnProperty("orderByDesc") && hrefMap["orderByDesc"]!='false'){
  					textOrderByDesc = true;
  				}
  				var field = key.split(".")[1];
  				shapeObject["map"][key] = GeneratePPTProcessorHelper.pptGeneratorUtil.getRelatedListData(GeneratePPTProcessorHelper.BASE_TABLE, key.split(".")[0], GeneratePPTProcessorHelper.BASE_RECORD_SYS_ID, key.split(".")[1], this.slideDataTracker[slide["slideNumber"]], hrefMap["filterQuery"], {'orderByColumnName':textOrderByColumnName,'orderByDesc':textOrderByDesc});
  			}
  		}
  	}
  },

  type: 'PPTGenTextUtil'
};

Sys ID

f29b644077c21110ffca78847a5a99e6

Offical Documentation

Official Docs: