Name
global.linkGeneratorWorkspace
Description
No description available
Script
var linkGeneratorWorkspace = Class.create();
// Workspace constants
linkGeneratorWorkspace.WORKSPACE_ACTION_OPEN_URL = 'e477ea65532333003eddddeeff7b12eb';
linkGeneratorWorkspace.WORKSPACE_PAYLOAD_TABLE_OPEN_URL = 'var__m_sys_declarative_action_payload_field_e477ea65532333003eddddeeff7b12eb';
linkGeneratorWorkspace.WORKSPACE_MODEL_FIELD = '15920e6d534723003eddddeeff7b1244';
linkGeneratorWorkspace.prototype = {
initialize: function() {},
createWorkspaceDecoratorForLinkMapping: function(grLinkMapping) {
var gr = new GlideRecord('sys_declarative_action_assignment');
gr.initialize();
gr.setValue('action_type', 'field');
gr.setValue('client_action', linkGeneratorWorkspace.WORKSPACE_ACTION_OPEN_URL);
gr.setValue('declarative_action_type', 'dispatch_action');
gr.setValue('design_icon', 'open_link_right_outline');
gr.setValue('model', linkGeneratorWorkspace.WORKSPACE_MODEL_FIELD);
gr.setValue('payload_map_input_table', linkGeneratorWorkspace.WORKSPACE_PAYLOAD_TABLE_OPEN_URL);
this._setDecoratorFieldsFromLinkMapping(grLinkMapping, gr);
return gr.insert();
},
updateWorkspaceDecoratorForLinkMapping: function(grLinkMapping) {
if (grLinkMapping.workspace_decorator.nil())
return;
var gr = grLinkMapping.workspace_decorator.getRefRecord();
this._setDecoratorFieldsFromLinkMapping(grLinkMapping, gr);
gr.update();
},
removeWorkspaceDecoratorForLinkMapping: function(grLinkMapping) {
if (grLinkMapping.workspace_decorator.nil())
return;
var gr = grLinkMapping.workspace_decorator.getRefRecord();
if (gr.isValidRecord())
gr.deleteRecord();
},
_setDecoratorFieldsFromLinkMapping : function(grLinkGeneratorMapping, grDeclarativeActionMapping) {
grDeclarativeActionMapping.setValue('active', grLinkGeneratorMapping.active && 'agent_workspace' == grLinkGeneratorMapping.type);
grDeclarativeActionMapping.setValue('label', grLinkGeneratorMapping.btn_name);
grDeclarativeActionMapping.setValue('action_name', grLinkGeneratorMapping.btn_name);
grDeclarativeActionMapping.setValue('table', grLinkGeneratorMapping.map_table);
grDeclarativeActionMapping.setValue('field_name', grLinkGeneratorMapping.map_field_name);
grDeclarativeActionMapping.setValue('payload_map', 'url=/api/now/generatedlink/getGeneratedFormURL?name=' + grLinkGeneratorMapping.link_generator.value + '&tableName={{tableName}}&recordId={{recordSysId}}&fieldName={{fieldName}}&fieldValue={{value}}');
grDeclarativeActionMapping.setValue('script_condition', 'current.getTableName() == "' + grLinkGeneratorMapping.map_table + '"');
},
type: 'linkGeneratorWorkspace'
};
Sys ID
eeb135003ba333003585802b13efc4e4