Name
sn_sow_em.SOWAlertRecordTabUtilsSNC
Description
No description available
Script
var SOWAlertRecordTabUtilsSNC = Class.create();
SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS = {
OVERVIEW: 'Overview',
SURROUNDING_LOGS: 'Surrounding logs',
METRICS: 'Metrics',
PLAYBOOK: 'Playbook',
RELATED_RECORDS: 'Related records'
};
var LABELS = {
OVERVIEW: gs.getMessage('Overview'),
SURROUNDING_LOGS: gs.getMessage('Surrounding logs'),
METRICS: gs.getMessage('Metrics'),
};
SOWAlertRecordTabUtilsSNC.RECORD_TABS = (function(){
var obj = {};
// EM stand alone (not anomaly)
obj[SOWAlertCommonUtilsSNC.ALERT_TYPE_KEY.STAND_ALONE_ALERT] = {
tabs: [SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.OVERVIEW, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.METRICS, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.PLAYBOOK, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.RELATED_RECORDS]
};
// Log analytics alert standalone
obj[SOWAlertCommonUtilsSNC.ALERT_TYPE_KEY.STAND_ALONE_LOG_ANALYTICS] = {
tabs: [SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.OVERVIEW, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.SURROUNDING_LOGS, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.METRICS, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.PLAYBOOK, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.RELATED_RECORDS]
};
// EM standalone as a group member
obj[SOWAlertCommonUtilsSNC.ALERT_TYPE_KEY.GROUP_MEMBER_STAND_ALONE] = {
tabs: [SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.OVERVIEW, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.METRICS, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.PLAYBOOK, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.RELATED_RECORDS]
},
// Log analytics alert standalone as a group member member
obj[SOWAlertCommonUtilsSNC.ALERT_TYPE_KEY.GROUP_MEMBER_LOG_ANALYTICS_STAND_ALONE] = {
tabs: [SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.OVERVIEW, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.SURROUNDING_LOGS, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.METRICS, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.PLAYBOOK, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.RELATED_RECORDS]
};
// Read-only (member of component based)
obj[SOWAlertCommonUtilsSNC.ALERT_TYPE_KEY.GROUP_MEMBER_READ_ONLY] = {
tabs: []
};
// Component-based as a group member
obj[SOWAlertCommonUtilsSNC.ALERT_TYPE_KEY.GROUP_MEMBER_COMPONENT_BASED] = {
tabs: [SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.OVERVIEW, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.SURROUNDING_LOGS, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.PLAYBOOK, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.RELATED_RECORDS]
};
// Rule based/manual– primary
obj[SOWAlertCommonUtilsSNC.ALERT_TYPE_KEY.GROUP_RULE_BASED] = {
tabs: [SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.OVERVIEW, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.METRICS, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.PLAYBOOK, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.RELATED_RECORDS]
};
obj[SOWAlertCommonUtilsSNC.ALERT_TYPE_KEY.GROUP_MANUAL] = {
tabs: [SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.OVERVIEW, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.METRICS, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.PLAYBOOK, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.RELATED_RECORDS]
};
// Automated - Group
obj[SOWAlertCommonUtilsSNC.ALERT_TYPE_KEY.GROUP_AUTOMATED] = {
tabs: [SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.OVERVIEW, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.PLAYBOOK, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.RELATED_RECORDS]
};
// Tag Cluster - Group
obj[SOWAlertCommonUtilsSNC.ALERT_TYPE_KEY.GROUP_TAG_CLUSTER] = {
tabs: [SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.OVERVIEW, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.PLAYBOOK, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.RELATED_RECORDS]
};
// CMDB - Group
obj[SOWAlertCommonUtilsSNC.ALERT_TYPE_KEY.GROUP_CMDB] = {
tabs: [SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.OVERVIEW, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.PLAYBOOK, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.RELATED_RECORDS]
};
// Log analytics group
obj[SOWAlertCommonUtilsSNC.ALERT_TYPE_KEY.GROUP_LOG_ANALYTICS] = {
tabs: [SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.OVERVIEW, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.SURROUNDING_LOGS, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.PLAYBOOK, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.RELATED_RECORDS]
},
// Component-based
obj[SOWAlertCommonUtilsSNC.ALERT_TYPE_KEY.GROUP_COMPONENT_BASED] = {
tabs: [SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.OVERVIEW, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.SURROUNDING_LOGS, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.PLAYBOOK, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.RELATED_RECORDS]
};
// Text based group
obj[SOWAlertCommonUtilsSNC.ALERT_TYPE_KEY.GROUP_TEXT_BASED] = {
tabs: [SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.PLAYBOOK, SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.RELATED_RECORDS]
};
// None of the above
obj[SOWAlertCommonUtilsSNC.ALERT_TYPE_KEY.NONE] = {
tabs: [SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.RELATED_RECORDS]
};
return obj;
})();
SOWAlertRecordTabUtilsSNC.prototype = {
PLUGIN_LOG_ANALYTICS: 'com.glideapp.itom.occultus',
APP_ITOM_MONITORING: 'sn_itmon',
initialize: function() {
},
getOverviewTabRoute: function() {
return {
"route": "alert-overview",
"fields": {
"show": true
},
"label": LABELS.OVERVIEW,
"options": {}
};
},
getMetricsTabRoute: function() {
if (!GlidePluginManager.isActive(this.APP_ITOM_MONITORING))
return null;
return {
"route": "metrics",
"fields": {
"show": true
},
"label": LABELS.METRICS,
"options": {}
};
},
getSurroundingLogsTabRoute: function() {
if (!GlidePluginManager.isActive(this.PLUGIN_LOG_ANALYTICS))
return null;
return {
"route": "surrounding-logs",
"fields": {
"show": true
},
"label": LABELS.SURROUNDING_LOGS,
"options": {}
};
},
getAlertRecordTabsToShow: function(alertGr) {
var util = new sn_sow_em.SOWAlertCommonUtils();
var alertType = util.getAlertType(alertGr);
var tabsToShow = [];
if (alertType) {
tabsToShow = SOWAlertRecordTabUtilsSNC.RECORD_TABS[alertType].tabs;
// Additional check on cmdb_ci for Metrics tab
var alertCi = alertGr.cmdb_ci + '';
if (alertCi === '') {
// Remove Metrics tab if present
tabsToShow = tabsToShow.filter(function(tab){
return tab !== SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.METRICS;
});
}
}
return tabsToShow;
},
getAlertRecordTabRoutes: function(alertGr) {
var tabs = this.getAlertRecordTabsToShow(alertGr);
var tabRoutes = [], route, tab;
for (var i = 0; i < tabs.length; i++) {
tab = tabs[i];
route = null;
switch(tab) {
case SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.OVERVIEW:
route = this.getOverviewTabRoute();
break;
case SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.SURROUNDING_LOGS:
route = this.getSurroundingLogsTabRoute();
break;
case SOWAlertRecordTabUtilsSNC.RECORD_TAB_KEYS.METRICS:
route = this.getMetricsTabRoute();
break;
default:
// nothing
}
if (route)
tabRoutes.push(route);
}
return tabRoutes;
},
type: 'SOWAlertRecordTabUtilsSNC'
};
Sys ID
6a414dfa0b1201105f02818393673ae7