Name

sn_devstudio.FileTypeListLayoutHandler

Description

No description available

Script

var FileTypeListLayoutHandler = (function(appId) { 
  
  function loadTables() {
  	var gr = new GlideRecord('sys_ui_list');
  	gr.addQuery('sys_scope', appId);
  	gr.addNullQuery('sys_user');
  	gr.orderBy('sys_name'); // Table name
  	gr.query();
  	var tableNames = _gr(gr).map(function(row) { return row.getValue('sys_name')});
  	var tableLabelMap = TableLabelMap.labelsForTables(tableNames);
  	gr.query();
  	
  	var recordFiles = _gr(gr).map(function(row) {
  		if (!isReportView(row)) {
  			return fileForRecord(row, tableLabelMap);
  		}
  	});
  	
  	return _.filter(recordFiles, function(row) { return !!row});
  }
  
  function isReportView(record) {
  	var viewName = record.view.getDisplayValue();
  	
  	if (viewName.startsWith('Rpt-temp'))
  		return true;
  	
  	if(viewName.startsWith('Rpt') && viewName.length == 35)
  		return true;
  }
  
  function fileForRecord(record, tableLabelMap) {
  	var sysId = record.getUniqueValue();
  	var viewName = record.view.name + '';
  	var viewTitle = record.view.sys_name + '';
  	var name = record.getValue('sys_name');
  	if (tableLabelMap[name])
  		name = tableLabelMap[name];
  	var tableName = record.getValue('name');
  	if (viewTitle)
  		name += ' [' + viewTitle + ']';
  	return FileTypeFileBuilder.newFile()
  		.withId(sysId)
  		.withName(name)
  		.withSysId(sysId)
  		.addCustom('view', viewName)
  		.addCustom('tableName', tableName)
  		.build();
  }
  
  return {
  	filesForKey : loadTables
  }
  
});

Sys ID

951d9ae8eb40020007e48c1cf106feb0

Offical Documentation

Official Docs: