@progress/telerik-jquery-report-viewer 21.24.130 → 22.24.514

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/accessibility.js +218 -0
  3. package/dist/cjs/binder.js +172 -0
  4. package/dist/cjs/command.js +32 -0
  5. package/dist/cjs/commandSet.js +167 -0
  6. package/dist/cjs/controller.js +1207 -0
  7. package/dist/cjs/documentMapArea.js +168 -0
  8. package/dist/cjs/domUtils.js +50 -0
  9. package/dist/cjs/enums.js +52 -0
  10. package/dist/cjs/event-emitter.js +17 -0
  11. package/dist/cjs/events.js +23 -0
  12. package/dist/cjs/globalSettings.js +9 -0
  13. package/dist/cjs/history.js +131 -0
  14. package/dist/cjs/index.js +58 -0
  15. package/dist/cjs/jqueryThrottleDebounce.js +48 -0
  16. package/dist/cjs/kendo-jquery.js +4 -0
  17. package/dist/cjs/mainMenu.js +332 -0
  18. package/dist/cjs/mem-storage.js +44 -0
  19. package/dist/cjs/pagesArea.js +641 -0
  20. package/dist/cjs/parameterValidators.js +167 -0
  21. package/dist/cjs/parameters.js +921 -0
  22. package/dist/cjs/parametersArea.js +502 -0
  23. package/dist/cjs/perspectives.js +138 -0
  24. package/dist/cjs/print.js +166 -0
  25. package/dist/cjs/report-viewer/report-viewer-settings.js +138 -0
  26. package/dist/cjs/reportViewer.js +654 -0
  27. package/dist/cjs/scroll.js +537 -0
  28. package/dist/cjs/search.js +634 -0
  29. package/dist/cjs/sendEmail.js +435 -0
  30. package/dist/cjs/service-client-sentinel.js +52 -0
  31. package/dist/cjs/serviceClient.js +405 -0
  32. package/dist/cjs/sideMenu.js +225 -0
  33. package/dist/cjs/sr.js +164 -0
  34. package/dist/cjs/stringResources.js +11 -0
  35. package/dist/cjs/telerikReportViewer.kendo.js +60196 -0
  36. package/dist/cjs/telerikReportViewer.kendo.min.js +19776 -0
  37. package/dist/cjs/template-cache.js +39 -0
  38. package/dist/cjs/touch.js +86 -0
  39. package/dist/cjs/uiController.js +142 -0
  40. package/dist/cjs/uiFreezeCoordinator.js +281 -0
  41. package/dist/cjs/utils.js +492 -0
  42. package/dist/es/accessibility.js +214 -0
  43. package/dist/es/binder.js +168 -0
  44. package/dist/es/command.js +28 -0
  45. package/dist/es/commandSet.js +163 -0
  46. package/dist/es/controller.js +1203 -0
  47. package/dist/es/documentMapArea.js +164 -0
  48. package/dist/es/domUtils.js +43 -0
  49. package/dist/es/enums.js +41 -0
  50. package/dist/es/event-emitter.js +13 -0
  51. package/dist/es/events.js +19 -0
  52. package/dist/es/globalSettings.js +5 -0
  53. package/dist/es/history.js +127 -0
  54. package/dist/es/index.js +24 -0
  55. package/dist/es/jqueryThrottleDebounce.js +46 -0
  56. package/dist/es/kendo-jquery.js +1 -0
  57. package/dist/es/mainMenu.js +328 -0
  58. package/dist/es/mem-storage.js +40 -0
  59. package/dist/es/pagesArea.js +637 -0
  60. package/dist/es/parameterValidators.js +163 -0
  61. package/dist/es/parameters.js +916 -0
  62. package/dist/es/parametersArea.js +498 -0
  63. package/dist/es/perspectives.js +134 -0
  64. package/dist/es/print.js +162 -0
  65. package/dist/es/report-viewer/report-viewer-settings.js +134 -0
  66. package/dist/es/reportViewer.js +650 -0
  67. package/dist/es/scroll.js +533 -0
  68. package/dist/es/search.js +630 -0
  69. package/dist/es/sendEmail.js +431 -0
  70. package/dist/es/service-client-sentinel.js +48 -0
  71. package/dist/es/serviceClient.js +401 -0
  72. package/dist/es/sideMenu.js +221 -0
  73. package/dist/es/sr.js +162 -0
  74. package/dist/es/stringResources.js +7 -0
  75. package/dist/es/telerikReportViewer.kendo.js +60194 -0
  76. package/dist/es/telerikReportViewer.kendo.min.js +19774 -0
  77. package/dist/es/template-cache.js +35 -0
  78. package/dist/es/touch.js +82 -0
  79. package/dist/es/uiController.js +138 -0
  80. package/dist/es/uiFreezeCoordinator.js +277 -0
  81. package/dist/es/utils.js +447 -0
  82. package/dist/font/font-icons.css +4 -4
  83. package/dist/font/font-icons.min.css +3 -3
  84. package/dist/js/telerikReportViewer.js +8574 -8249
  85. package/dist/js/telerikReportViewer.min.js +1 -17
  86. package/dist/js/telerikReportViewer.stringResources.js +166 -173
  87. package/dist/styles/telerikReportViewer.css +1 -1
  88. package/dist/styles/telerikReportViewer.min.css +1 -1
  89. package/dist/templates/telerikReportViewerTemplate-FA.html +3 -3
  90. package/dist/templates/telerikReportViewerTemplate.html +3 -3
  91. package/package.json +13 -7
  92. /package/dist/font/{ReportingIcons-18.0.24.130.ttf → ReportingIcons-18.1.24.514.ttf} +0 -0
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  This package is part of [Telerik Reporting](https://www.telerik.com/reporting).
4
4
 
5
- This version of Telerik jQuery Report Viewer requires Telerik Report Server or Telerik Reporting REST Service 18.0.24.130.
5
+ This version of Telerik jQuery Report Viewer requires Telerik Report Server or Telerik Reporting REST Service 18.1.24.514.
6
6
 
7
7
  __Intended for internal purposes only.__
8
8
 
@@ -0,0 +1,218 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils = require('./utils.js');
6
+ var stringResources = require('./stringResources.js');
7
+
8
+ var defaultOptions = {};
9
+ function Accessibility(options) {
10
+ var controller;
11
+ var pageInitialized = false;
12
+ var areas;
13
+ var lastArea;
14
+ var keyMap = {
15
+ //keys for navigating on areas. Used in conjunction with CTRL+ALT to avoid duplicating default shortcuts behavior.
16
+ CONFIRM_KEY: 13,
17
+ CONTENT_AREA_KEY: 67,
18
+ //C
19
+ DOCUMENT_MAP_AREA_KEY: 68,
20
+ //D
21
+ MENU_AREA_KEY: 77,
22
+ //M
23
+ PARAMETERS_AREA_KEY: 80
24
+ //P
25
+ };
26
+ options = $.extend({}, defaultOptions, options);
27
+ controller = options.controller;
28
+ if (!controller) {
29
+ throw "No controller (telerikReporting.ReportViewerController) has been specified.";
30
+ }
31
+ controller.reportLoadComplete(function() {
32
+ setAccessibilityUI();
33
+ var content = findContentArea();
34
+ if (content.length > 0) {
35
+ content.focus();
36
+ }
37
+ }).pageReady(function(event, page) {
38
+ initPage(page);
39
+ pageInitialized = true;
40
+ }).error(function(e, message) {
41
+ focusOnErrorMessage();
42
+ window.setTimeout(setAccessibilityUI, 500);
43
+ });
44
+ controller.updateUI(function(e) {
45
+ if (pageInitialized) {
46
+ setPageSelector();
47
+ decorateMenuItems();
48
+ }
49
+ });
50
+ function setAccessibilityUI() {
51
+ if (!areas) {
52
+ initAreas();
53
+ $(document.body).off("keydown", processKeyDown);
54
+ $(document.body).on("keydown", processKeyDown);
55
+ }
56
+ }
57
+ function focusOnErrorMessage() {
58
+ var selectorChain = ["div.trv-pages-area", "div.trv-error-message"];
59
+ var $errMsg = utils.findElement(selectorChain);
60
+ if ($errMsg.length === 0) {
61
+ return;
62
+ }
63
+ $errMsg.attr("tabIndex", 0);
64
+ $errMsg.focus();
65
+ }
66
+ function initPage(page) {
67
+ if (!page) {
68
+ return;
69
+ }
70
+ setAccessibilityUI();
71
+ var area = areas[keyMap.CONTENT_AREA_KEY];
72
+ setContentAreaKeyDown(area);
73
+ }
74
+ function setPageSelector() {
75
+ var $pagers = $(".trv-report-pager");
76
+ if ($pagers.length > 0) {
77
+ var pageNumber = controller.getCurrentPageNumber();
78
+ var pageCount = controller.getPageCount();
79
+ utils.each($pagers, function() {
80
+ var $pager = $(this);
81
+ $pager.attr("aria-label", utils.stringFormat(stringResources.stringResources.ariaLabelPageNumberSelector, [pageNumber, pageCount]));
82
+ var $pageInputs = $pager.find("input[data-role=telerik_ReportViewer_PageNumberInput]");
83
+ if ($pageInputs.length > 0) {
84
+ utils.each($pageInputs, function() {
85
+ var $this = $(this);
86
+ $this.attr("aria-label", stringResources.stringResources.ariaLabelPageNumberEditor);
87
+ $this.attr("min", "1");
88
+ $this.attr("max", "" + pageCount);
89
+ });
90
+ }
91
+ });
92
+ }
93
+ }
94
+ function initAreas() {
95
+ areas = {};
96
+ areas[keyMap.DOCUMENT_MAP_AREA_KEY] = findDocumentMapArea();
97
+ areas[keyMap.MENU_AREA_KEY] = findMenuArea();
98
+ areas[keyMap.CONTENT_AREA_KEY] = findContentArea();
99
+ var parametersArea = findParametersArea();
100
+ if (parametersArea) {
101
+ areas[keyMap.PARAMETERS_AREA_KEY] = parametersArea;
102
+ setParameterEditorsKeyDown(parametersArea);
103
+ }
104
+ }
105
+ function findContentArea() {
106
+ return utils.findElement(["div[data-role=telerik_ReportViewer_PagesArea]"]);
107
+ }
108
+ function findDocumentMapArea() {
109
+ return utils.findElement(["div[data-role=telerik_ReportViewer_DocumentMapArea]", "div[data-role=treeview]"]);
110
+ }
111
+ function findMenuArea() {
112
+ return utils.findElement("ul[data-role=telerik_ReportViewer_MainMenu]");
113
+ }
114
+ function findParametersArea() {
115
+ return utils.findElement(["div[data-role=telerik_ReportViewer_ParametersArea]", "div.trv-parameters-area-content"]);
116
+ }
117
+ function processKeyDown(event) {
118
+ if (!areas) {
119
+ return;
120
+ }
121
+ if (!(event.altKey && event.ctrlKey)) {
122
+ return;
123
+ }
124
+ var currentArea = areas[event.which];
125
+ if (!currentArea) {
126
+ return;
127
+ }
128
+ if (!IsAreaContainerVisible(currentArea.parent())) {
129
+ return;
130
+ }
131
+ var className = "k-focus";
132
+ if (lastArea) {
133
+ lastArea.removeClass(className);
134
+ }
135
+ currentArea.addClass(className);
136
+ currentArea.focus();
137
+ lastArea = currentArea;
138
+ event.preventDefault();
139
+ }
140
+ function setParameterEditorsKeyDown(parametersAreaContent) {
141
+ if (parametersAreaContent.length === 0) {
142
+ return;
143
+ }
144
+ var $paramsArea = parametersAreaContent.parent("div[data-role=telerik_ReportViewer_ParametersArea]");
145
+ if (!IsAreaContainerVisible($paramsArea)) {
146
+ return;
147
+ }
148
+ utils.each(parametersAreaContent.children(), function() {
149
+ $(this).keydown(function(event) {
150
+ if (event.which == keyMap.CONFIRM_KEY) {
151
+ var paramsButton = $paramsArea.find("button.trv-parameters-area-preview-button");
152
+ paramsButton.focus();
153
+ event.preventDefault();
154
+ }
155
+ });
156
+ });
157
+ }
158
+ function IsAreaContainerVisible(container) {
159
+ return container && !(container.hasClass("k-collapsed") || container.hasClass("trv-hidden"));
160
+ }
161
+ function setContentAreaKeyDown(contentArea) {
162
+ if (!contentArea) {
163
+ return;
164
+ }
165
+ var actions = contentArea.find("div [data-reporting-action]");
166
+ if (!actions.length > 0) {
167
+ return;
168
+ }
169
+ utils.each(actions, function() {
170
+ var $action = $(this);
171
+ $action.keydown(function(event) {
172
+ if (event.which == keyMap.CONFIRM_KEY) {
173
+ $action.click();
174
+ }
175
+ });
176
+ });
177
+ }
178
+ function decorateMenuItems() {
179
+ var menuAreas = areas[keyMap.MENU_AREA_KEY];
180
+ if (!menuAreas) {
181
+ return;
182
+ }
183
+ utils.each(menuAreas, function() {
184
+ var $menu = $(this);
185
+ var menuItems = $menu.children("li.k-item");
186
+ utils.each(menuItems, function() {
187
+ var $menuItem = $(this);
188
+ if (!$menuItem.hasClass("trv-report-pager")) {
189
+ var ariaLabel = $menuItem.attr("aria-label");
190
+ var expandableSr = utils.stringFormat(". {0}", [stringResources.stringResources.ariaLabelExpandable]);
191
+ var expandable = $menuItem.find("ul").length > 0 && ariaLabel.indexOf(expandableSr) < 0 ? expandableSr : "";
192
+ var selectedSr = utils.stringFormat(". {0}", [stringResources.stringResources.ariaLabelSelected]);
193
+ var selected = $menuItem.hasClass("k-selected") && ariaLabel.indexOf(selectedSr) < 0 ? selectedSr : "";
194
+ var label = ariaLabel + expandable + selected;
195
+ $menuItem.attr("aria-label", label);
196
+ if ($menuItem.hasClass("k-disabled")) {
197
+ $menuItem.attr("aria-disabled", "true");
198
+ } else {
199
+ $menuItem.removeAttr("aria-disabled");
200
+ }
201
+ }
202
+ });
203
+ });
204
+ }
205
+ function setKeyMap(keyMapValues) {
206
+ keyMap = keyMapValues;
207
+ areas = void 0;
208
+ }
209
+ function getKeyMap() {
210
+ return keyMap;
211
+ }
212
+ return {
213
+ getKeyMap,
214
+ setKeyMap
215
+ };
216
+ }
217
+
218
+ exports.Accessibility = Accessibility;
@@ -0,0 +1,172 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils = require('./utils.js');
6
+ var globalSettings = require('./globalSettings.js');
7
+
8
+ var Binder = {
9
+ bind: function($element) {
10
+ var args = Array.prototype.slice.call(arguments, 1);
11
+ attachCommands($element, args);
12
+ var result = $element.find('[data-role^="telerik_ReportViewer_"]');
13
+ utils.each(result, function() {
14
+ var $this = $(this);
15
+ var f = $.fn[$this.attr("data-role")];
16
+ if (typeof f === "function") {
17
+ f.apply($this, args);
18
+ }
19
+ });
20
+ }
21
+ };
22
+ function attachCommands($element, args) {
23
+ var commands = args[0].commands;
24
+ var viewerOptions = args[1];
25
+ var elementSelector = '[data-command^="telerik_ReportViewer_"]';
26
+ var customElementSelector = "[data-target-report-viewer]" + elementSelector;
27
+ $element.on("click", elementSelector, commandHandler);
28
+ if (!globalSettings.GlobalSettings.CommandHandlerAttached) {
29
+ $(document.body).on("click", customElementSelector, customCommandHandler);
30
+ globalSettings.GlobalSettings.CommandHandlerAttached = true;
31
+ }
32
+ utils.each(commands, function(key, command) {
33
+ attachCommand(key, command, viewerOptions, $element);
34
+ });
35
+ function commandHandler(e) {
36
+ var prefixedDataCommand = $(this).attr("data-command");
37
+ if (prefixedDataCommand) {
38
+ var dataCommand = prefixedDataCommand.substring("telerik_ReportViewer_".length);
39
+ var cmd = commands[dataCommand];
40
+ if (cmd && cmd.enabled()) {
41
+ cmd.exec($(this).attr("data-command-parameter"));
42
+ }
43
+ e.preventDefault();
44
+ }
45
+ }
46
+ function customCommandHandler(e) {
47
+ var $this = $(this);
48
+ var prefixedDataCommand = $this.attr("data-command");
49
+ var reportViewerTarget = $this.attr("data-target-report-viewer");
50
+ if (prefixedDataCommand && reportViewerTarget) {
51
+ var dataCommand = prefixedDataCommand.substring("telerik_ReportViewer_".length);
52
+ var reportViewer = $(reportViewerTarget).data("telerik_ReportViewer");
53
+ var cmd = reportViewer.commands[dataCommand];
54
+ if (cmd.enabled()) {
55
+ cmd.exec($(this).attr("data-command-parameter"));
56
+ }
57
+ e.preventDefault();
58
+ }
59
+ }
60
+ }
61
+ function attachCommand(dataCommand, cmd, viewerOptions, $element) {
62
+ if (cmd) {
63
+ var elementSelector = '[data-command="telerik_ReportViewer_' + dataCommand + '"]';
64
+ var customElementSelector = '[data-target-report-viewer="' + viewerOptions.selector + '"]' + elementSelector;
65
+ var $defaultElement = $element.find(elementSelector);
66
+ var $customElement = $(customElementSelector);
67
+ $(cmd).on("enabledChanged", function(e) {
68
+ (cmd.enabled() ? $.fn.removeClass : $.fn.addClass).call($defaultElement.parent("li"), "k-disabled");
69
+ (cmd.enabled() ? $.fn.removeClass : $.fn.addClass).call($customElement, viewerOptions.disabledButtonClass);
70
+ }).on("checkedChanged", function(e) {
71
+ var defaultTarget = $defaultElement.parent("li");
72
+ (cmd.checked() ? $.fn.addClass : $.fn.removeClass).call(defaultTarget, getSelectedClassName(defaultTarget));
73
+ (cmd.checked() ? $.fn.addClass : $.fn.removeClass).call($customElement, viewerOptions.checkedButtonClass);
74
+ });
75
+ }
76
+ }
77
+ function getSelectedClassName($element) {
78
+ return $element.hasClass("trv-menu-toggleable") ? "k-selected !k-bg-primary" : "k-selected";
79
+ }
80
+ function LinkButton(dom, options) {
81
+ var cmd;
82
+ var $element = $(dom);
83
+ var dataCommand = $element.attr("data-command");
84
+ if (dataCommand) {
85
+ cmd = options.commands[dataCommand];
86
+ }
87
+ if (cmd) {
88
+ $element.click(function(e) {
89
+ if (cmd.enabled()) {
90
+ cmd.exec($(this).attr("data-command-parameter"));
91
+ } else {
92
+ e.preventDefault();
93
+ }
94
+ });
95
+ $(cmd).on("enabledChanged", function(e) {
96
+ (cmd.enabled() ? $.fn.removeClass : $.fn.addClass).call($element, "disabled");
97
+ }).on("checkedChanged", function(e) {
98
+ (cmd.checked() ? $.fn.addClass : $.fn.removeClass).call($element, "checked");
99
+ });
100
+ }
101
+ }
102
+ var linkButton_pluginName = "telerik_ReportViewer_LinkButton";
103
+ $.fn[linkButton_pluginName] = function(options) {
104
+ return utils.each(this, function() {
105
+ if (!$.data(this, linkButton_pluginName)) {
106
+ $.data(this, linkButton_pluginName, new LinkButton(this, options));
107
+ }
108
+ });
109
+ };
110
+ function PageNumberInput(dom, options) {
111
+ var $element = $(dom);
112
+ var oldValue = 0;
113
+ var cmd = options.commands["goToPage"];
114
+ function setPageNumber(value) {
115
+ if (oldValue !== value || !$element.is(":focus")) {
116
+ $element.val(value);
117
+ oldValue = value;
118
+ }
119
+ }
120
+ options.controller.pageNumberChange(function(e, value) {
121
+ setPageNumber(value);
122
+ });
123
+ $element.change(function() {
124
+ var val = $(this).val();
125
+ var num = utils.tryParseInt(val);
126
+ if (!isNaN(num)) {
127
+ var result = cmd.exec(num);
128
+ setPageNumber(result);
129
+ }
130
+ });
131
+ $element.keydown(function(e) {
132
+ if (e.which == 13) {
133
+ $(this).change();
134
+ return e.preventDefault();
135
+ }
136
+ });
137
+ function validateValue(value) {
138
+ return /^([0-9]+)$/.test(value);
139
+ }
140
+ $element.keypress(function(event) {
141
+ if (utils.isSpecialKey(event.keyCode)) {
142
+ return true;
143
+ }
144
+ var newValue = $element.val() + String.fromCharCode(event.charCode);
145
+ return validateValue(newValue);
146
+ }).on("paste", function(event) {
147
+ });
148
+ }
149
+ var pageNumberInput_pluginName = "telerik_ReportViewer_PageNumberInput";
150
+ $.fn[pageNumberInput_pluginName] = function(options) {
151
+ return utils.each(this, function() {
152
+ if (!$.data(this, pageNumberInput_pluginName)) {
153
+ $.data(this, pageNumberInput_pluginName, new PageNumberInput(this, options));
154
+ }
155
+ });
156
+ };
157
+ function PageCountLabel(dom, options) {
158
+ var $element = $(dom);
159
+ options.controller.pageCountChange(function(e, value) {
160
+ $element.text(value);
161
+ });
162
+ }
163
+ var pageCountLabel_pluginName = "telerik_ReportViewer_PageCountLabel";
164
+ $.fn[pageCountLabel_pluginName] = function(options) {
165
+ return utils.each(this, function() {
166
+ if (!$.data(this, pageCountLabel_pluginName)) {
167
+ $.data(this, pageCountLabel_pluginName, new PageCountLabel(this, options));
168
+ }
169
+ });
170
+ };
171
+
172
+ exports.Binder = Binder;
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ function Command(execCallback) {
6
+ var enabledState = true;
7
+ var checkedState = false;
8
+ var cmd = {
9
+ enabled: function(state) {
10
+ if (arguments.length === 0) {
11
+ return enabledState;
12
+ }
13
+ var newState = Boolean(state);
14
+ enabledState = newState;
15
+ $(this).trigger("enabledChanged");
16
+ return cmd;
17
+ },
18
+ checked: function(state) {
19
+ if (arguments.length === 0) {
20
+ return checkedState;
21
+ }
22
+ var newState = Boolean(state);
23
+ checkedState = newState;
24
+ $(this).trigger("checkedChanged");
25
+ return cmd;
26
+ },
27
+ exec: execCallback
28
+ };
29
+ return cmd;
30
+ }
31
+
32
+ exports.Command = Command;
@@ -0,0 +1,167 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var enums = require('./enums.js');
6
+ var command = require('./command.js');
7
+
8
+ var scaleTransitionMap = {};
9
+ scaleTransitionMap[enums.ScaleModes.FIT_PAGE] = { scaleMode: enums.ScaleModes.FIT_PAGE_WIDTH };
10
+ scaleTransitionMap[enums.ScaleModes.FIT_PAGE_WIDTH] = { scaleMode: enums.ScaleModes.SPECIFIC, scale: 1 };
11
+ scaleTransitionMap[enums.ScaleModes.SPECIFIC] = { scaleMode: enums.ScaleModes.FIT_PAGE };
12
+ var scaleValues = [0.1, 0.25, 0.5, 0.75, 1, 1.5, 2, 4, 8];
13
+ function CommandSet(options) {
14
+ var controller = options.controller;
15
+ if (!controller) {
16
+ throw "No options.controller.";
17
+ }
18
+ var historyManager = options.history;
19
+ if (!historyManager) {
20
+ throw "No options.history.";
21
+ }
22
+ function getDocumentMapVisible() {
23
+ var args = {};
24
+ controller.getDocumentMapState(args);
25
+ return Boolean(args.visible);
26
+ }
27
+ function getParametersAreaVisible() {
28
+ var args = {};
29
+ controller.getParametersAreaState(args);
30
+ return Boolean(args.visible);
31
+ }
32
+ function getSideMenuVisible() {
33
+ var args = {};
34
+ controller.getSideMenuVisible(args);
35
+ return Boolean(args.visible);
36
+ }
37
+ function getSearchDialogVisible() {
38
+ var args = {};
39
+ controller.getSearchDialogState(args);
40
+ return Boolean(args.visible);
41
+ }
42
+ function getSendEmailDialogVisible() {
43
+ var args = {};
44
+ controller.getSendEmailDialogState(args);
45
+ return Boolean(args.visible);
46
+ }
47
+ return {
48
+ "historyBack": new command.Command(function() {
49
+ historyManager.back();
50
+ }),
51
+ "historyForward": new command.Command(function() {
52
+ historyManager.forward();
53
+ }),
54
+ "stopRendering": new command.Command(function() {
55
+ controller.stopRendering();
56
+ }),
57
+ "goToPrevPage": new command.Command(function() {
58
+ controller.navigateToPage(controller.getCurrentPageNumber() - 1);
59
+ }),
60
+ "goToNextPage": new command.Command(function() {
61
+ controller.navigateToPage(controller.getCurrentPageNumber() + 1);
62
+ }),
63
+ "goToFirstPage": new command.Command(function() {
64
+ controller.navigateToPage(1);
65
+ }),
66
+ "goToLastPage": new command.Command(function() {
67
+ controller.navigateToPage(controller.getPageCount());
68
+ }),
69
+ "goToPage": new command.Command(function(pageNumber) {
70
+ if (!isNaN(pageNumber)) {
71
+ var pageCount = controller.getPageCount();
72
+ if (pageNumber > pageCount) {
73
+ pageNumber = pageCount;
74
+ } else if (pageNumber < 1) {
75
+ pageNumber = 1;
76
+ }
77
+ controller.navigateToPage(pageNumber);
78
+ return pageNumber;
79
+ }
80
+ }),
81
+ "refresh": new command.Command(
82
+ function() {
83
+ controller.refreshReport(true);
84
+ }
85
+ ),
86
+ "export": new command.Command(function(format) {
87
+ if (format) {
88
+ controller.exportReport(format);
89
+ }
90
+ }),
91
+ "print": new command.Command(function() {
92
+ controller.printReport();
93
+ }),
94
+ "pageMode": new command.Command(function() {
95
+ controller.setPageMode(
96
+ controller.getPageMode() === enums.PageModes.SINGLE_PAGE ? enums.PageModes.CONTINUOUS_SCROLL : enums.PageModes.SINGLE_PAGE
97
+ );
98
+ }),
99
+ "togglePrintPreview": new command.Command(function() {
100
+ controller.setViewMode(
101
+ controller.getViewMode() === enums.ViewModes.PRINT_PREVIEW ? enums.ViewModes.INTERACTIVE : enums.ViewModes.PRINT_PREVIEW
102
+ );
103
+ }),
104
+ "toggleDocumentMap": new command.Command(function() {
105
+ controller.setDocumentMapVisible({ visible: !getDocumentMapVisible() });
106
+ }),
107
+ "toggleParametersArea": new command.Command(function() {
108
+ controller.setParametersAreaVisible({ visible: !getParametersAreaVisible() });
109
+ }),
110
+ "zoom": new command.Command(function(scale) {
111
+ controller.setScale(scale);
112
+ }),
113
+ "zoomIn": new command.Command(function() {
114
+ zoom(1);
115
+ }),
116
+ "zoomOut": new command.Command(function() {
117
+ zoom(-1);
118
+ }),
119
+ "toggleSideMenu": new command.Command(function() {
120
+ controller.setSideMenuVisible({ visible: !getSideMenuVisible() });
121
+ }),
122
+ "toggleZoomMode": new command.Command(function(e) {
123
+ var scale = controller.getScale();
124
+ var scaleMode = controller.getScaleMode();
125
+ controller.setScale(scaleTransitionMap[scaleMode].scale || scale);
126
+ controller.setScaleMode(scaleTransitionMap[scaleMode].scaleMode);
127
+ }),
128
+ "toggleSearchDialog": new command.Command(function() {
129
+ controller.setSearchDialogVisible({ visible: !getSearchDialogVisible() });
130
+ }),
131
+ "toggleSendEmailDialog": new command.Command(function() {
132
+ controller.setSendEmailDialogVisible({ visible: !getSendEmailDialogVisible() });
133
+ })
134
+ };
135
+ function zoom(step) {
136
+ controller.setScale(getZoomScale(controller.getScale(), step));
137
+ }
138
+ function getZoomScale(scale, steps) {
139
+ var pos = -1;
140
+ var length = scaleValues.length;
141
+ for (var i = 0; i < length; i++) {
142
+ var value = scaleValues[i];
143
+ if (scale < value) {
144
+ pos = i - 0.5;
145
+ break;
146
+ }
147
+ if (scale === value) {
148
+ pos = i;
149
+ break;
150
+ }
151
+ }
152
+ pos = pos + steps;
153
+ if (steps >= 0) {
154
+ pos = Math.round(pos - 0.49);
155
+ } else {
156
+ pos = Math.round(pos + 0.49);
157
+ }
158
+ if (pos < 0) {
159
+ pos = 0;
160
+ } else if (pos > length - 1) {
161
+ pos = length - 1;
162
+ }
163
+ return scaleValues[pos];
164
+ }
165
+ }
166
+
167
+ exports.CommandSet = CommandSet;