Skip to content

Commit c6021e4

Browse files
authored
Create Server Side Script
1 parent 506c724 commit c6021e4

File tree

1 file changed

+130
-0
lines changed

1 file changed

+130
-0
lines changed
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
(function() {
2+
options.report_id = options.report_id || '';
3+
4+
if (options.report_id !== '') {
5+
var reportGr = new GlideRecord('sys_report');
6+
reportGr.get(options.report_id);
7+
if (reportGr.canRead())
8+
options.title = reportGr.getDisplayValue('title');
9+
}
10+
11+
var chartHelpers = chartHelpers || {};
12+
chartHelpers.i18n = chartHelpers.i18n || {};
13+
14+
chartHelpers.i18n.selectReport = gs.getMessage('Select a report in widget options!');
15+
chartHelpers.i18n.building = gs.getMessage('Building chart, please wait...');
16+
chartHelpers.i18n.total = gs.getMessage('Total');
17+
chartHelpers.i18n.maxCells = gs.getMessage('The size of the pivot table is too big. Use filters to reduce it or switch to a modern browser.');
18+
chartHelpers.i18n.chartGenerationError = gs.getMessage('An error occurred while generating chart. Please try again later.');
19+
20+
chartHelpers.i18n.showAsHeatmap = gs.getMessage('Show data as a heatmap visualization');
21+
chartHelpers.i18n.showAsMarkers = gs.getMessage('Show data using latitude and longitude');
22+
chartHelpers.i18n.saveAsJpg = gs.getMessage('Save as JPEG');
23+
chartHelpers.i18n.saveAsPng = gs.getMessage('Save as PNG');
24+
chartHelpers.i18n.highlightBasedOn = gs.getMessage('Highlight based on:');
25+
chartHelpers.i18n.isRTL = GlideI18NStyle().getDirection().equals('rtl');
26+
chartHelpers.i18n.weekNumberTitle = gs.getMessage('Week');
27+
chartHelpers.i18n.weekNumberTitleShort = gs.getMessage('Week');
28+
chartHelpers.i18n.seeMoreEvents = gs.getMessage('See {0} more events');
29+
chartHelpers.i18n.viewEventsInList = gs.getMessage('View {0} events in a list');
30+
chartHelpers.i18n.viewAllEventsInList = gs.getMessage('View all events in a list');
31+
chartHelpers.i18n.viewAllRecords = gs.getMessage('View all records');
32+
chartHelpers.i18n.none = gs.getMessage('None');
33+
chartHelpers.i18n.plusMany = gs.getMessage('+ many');
34+
chartHelpers.i18n.plusMore = gs.getMessage('+ {0} more');
35+
chartHelpers.i18n.buttonText = {
36+
prevYear: "",
37+
nextYear: "",
38+
today: gs.getMessage('today'),
39+
year: gs.getMessage('year'),
40+
month: gs.getMessage('month'),
41+
week: gs.getMessage('week'),
42+
day: gs.getMessage('day')
43+
};
44+
chartHelpers.i18n.allDayHtml = gs.getMessage('all-day');
45+
chartHelpers.i18n.daysNames = [
46+
gs.getMessage('Sunday'),
47+
gs.getMessage('Monday'),
48+
gs.getMessage('Tuesday'),
49+
gs.getMessage('Wednesday'),
50+
gs.getMessage('Thursday'),
51+
gs.getMessage('Friday'),
52+
gs.getMessage('Saturday')
53+
];
54+
chartHelpers.i18n.dayNamesShort = [
55+
gs.getMessage('Sun'),
56+
gs.getMessage('Mon'),
57+
gs.getMessage('Tue'),
58+
gs.getMessage('Wed'),
59+
gs.getMessage('Thu'),
60+
gs.getMessage('Fri'),
61+
gs.getMessage('Sat')
62+
];
63+
chartHelpers.i18n.monthNames = [
64+
gs.getMessage('January'),
65+
gs.getMessage('February'),
66+
gs.getMessage('March'),
67+
gs.getMessage('April'),
68+
gs.getMessage('May'),
69+
gs.getMessage('June'),
70+
gs.getMessage('July'),
71+
gs.getMessage('August'),
72+
gs.getMessage('September'),
73+
gs.getMessage('October'),
74+
gs.getMessage('November'),
75+
gs.getMessage('December')
76+
];
77+
chartHelpers.i18n.monthNamesShort = [
78+
gs.getMessage('Jan'),
79+
gs.getMessage('Feb'),
80+
gs.getMessage('Mar'),
81+
gs.getMessage('Apr'),
82+
gs.getMessage('May'),
83+
gs.getMessage('Jun'),
84+
gs.getMessage('Jul'),
85+
gs.getMessage('Aug'),
86+
gs.getMessage('Sep'),
87+
gs.getMessage('Oct'),
88+
gs.getMessage('Nov'),
89+
gs.getMessage('Dec')
90+
];
91+
chartHelpers.i18n.none = gs.getMessage('-- None --');
92+
chartHelpers.i18n.groupBy = gs.getMessage('Group by');
93+
chartHelpers.i18n.groupByTitle = gs.getMessage('Select a different group by field');
94+
chartHelpers.i18n.stackBy = gs.getMessage('Stacked by');
95+
chartHelpers.i18n.stackByTitle = gs.getMessage('Select a different stacked by field');
96+
chartHelpers.device = {};
97+
chartHelpers.device.type = GlideMobileExtensions.getDeviceType();
98+
99+
chartHelpers.systemParams = {
100+
firstDay: (gs.getProperty("glide.ui.date_format.first_day_of_week", 2) - 1) % 7,
101+
defaultDate: SNC.ReportUtil.getNowTimeInUSFormat(),
102+
maxEventsDisplayedPerCell: gs.getProperty("glide.report.calendar.max_events_displayed_per_cell", 3),
103+
maxMoreEventsPerDay: gs.getProperty("glide.report.calendar.max_more_events_per_day", 30),
104+
defaultEventDuration: gs.getProperty("glide.report.calendar.default_event_duration", "01:00:00"),
105+
maxDaysBack: gs.getProperty("glide.report.calendar.max_days_back", 30),
106+
enablePreviewOnHover: gs.getProperty("glide.report.calendar.enable_preview_on_hover", true)
107+
};
108+
109+
data.rectangleId = gs.generateGUID();
110+
data.ch = chartHelpers;
111+
112+
//Passing Change Details to Client Controller to show data in the modal on Click
113+
// From here
114+
if (input && input.action === 'getChangeDetails' && input.sys_id) {
115+
var gr = new GlideRecord('change_request');
116+
if (gr.get(input.sys_id)) {
117+
data.changeDetails = {
118+
number: gr.getValue('number'),
119+
short_description: gr.getValue('short_description') || 'No short description',
120+
description:gr.getValue('description') ||'No description'
121+
};
122+
} else {
123+
data.changeDetails = {
124+
error: 'Record not found'
125+
};
126+
}
127+
}
128+
// Till here
129+
130+
})();

0 commit comments

Comments
 (0)