@progress/telerik-jquery-report-viewer 25.25.211 → 26.25.521

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 (103) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/accessibility.js +22 -64
  3. package/dist/cjs/aiPrompt.js +311 -0
  4. package/dist/cjs/base-component.js +8 -11
  5. package/dist/cjs/binder.js +12 -12
  6. package/dist/cjs/command.js +44 -25
  7. package/dist/cjs/commandSet.js +78 -53
  8. package/dist/cjs/components/button.js +41 -0
  9. package/dist/cjs/components/toggle-button.js +47 -0
  10. package/dist/cjs/constants.js +22 -0
  11. package/dist/cjs/documentMapArea.js +114 -93
  12. package/dist/cjs/event-emitter.js +2 -8
  13. package/dist/cjs/history.js +13 -12
  14. package/dist/cjs/index.js +4 -12
  15. package/dist/cjs/mainMenu.js +38 -28
  16. package/dist/cjs/mem-storage.js +7 -13
  17. package/dist/cjs/notificationService.js +128 -0
  18. package/dist/cjs/parameterValidators.js +26 -25
  19. package/dist/cjs/parameters.js +180 -161
  20. package/dist/cjs/parametersArea.js +306 -298
  21. package/dist/cjs/perspectives.js +23 -27
  22. package/dist/cjs/report-viewer/report-viewer-settings.js +4 -10
  23. package/dist/cjs/reportViewer.js +441 -190
  24. package/dist/cjs/search.js +218 -328
  25. package/dist/cjs/sendEmail.js +259 -264
  26. package/dist/cjs/service-client-sentinel.js +1 -1
  27. package/dist/cjs/sideMenu.js +20 -16
  28. package/dist/cjs/sr.js +9 -5
  29. package/dist/cjs/template-cache.js +2 -2
  30. package/dist/cjs/toolbar/button.js +18 -0
  31. package/dist/cjs/toolbar/link-button.js +6 -12
  32. package/dist/cjs/toolbar/page-count-label.js +1 -1
  33. package/dist/cjs/toolbar/page-number-input.js +16 -14
  34. package/dist/cjs/toolbar.js +186 -0
  35. package/dist/cjs/touch.js +8 -8
  36. package/dist/cjs/uiController.js +70 -57
  37. package/dist/cjs/utils.js +20 -207
  38. package/dist/font/font-icons.css +25 -222
  39. package/dist/font/font-icons.min.css +3 -3
  40. package/dist/js/telerikReportViewer.js +8173 -9110
  41. package/dist/js/telerikReportViewer.kendo.js +105616 -60642
  42. package/dist/js/telerikReportViewer.kendo.min.js +2 -2
  43. package/dist/js/telerikReportViewer.min.js +1 -1
  44. package/dist/js/telerikReportViewer.stringResources.js +9 -5
  45. package/dist/styles/telerikReportViewer.css +3 -3
  46. package/dist/styles/telerikReportViewer.min.css +3 -3
  47. package/dist/templates/telerikReportViewerTemplate.html +299 -238
  48. package/package.json +2 -3
  49. package/dist/cjs/controller.js +0 -1226
  50. package/dist/cjs/kendo-jquery.js +0 -4
  51. package/dist/cjs/pagesArea.js +0 -625
  52. package/dist/cjs/print.js +0 -165
  53. package/dist/cjs/scroll.js +0 -535
  54. package/dist/cjs/serviceClient.js +0 -311
  55. package/dist/cjs/telerikReportViewer.kendo.js +0 -60196
  56. package/dist/cjs/telerikReportViewer.kendo.min.js +0 -19776
  57. package/dist/cjs/uiFreezeCoordinator.js +0 -282
  58. package/dist/es/accessibility.js +0 -204
  59. package/dist/es/base-component.js +0 -22
  60. package/dist/es/binder.js +0 -75
  61. package/dist/es/command.js +0 -28
  62. package/dist/es/commandSet.js +0 -163
  63. package/dist/es/controller.js +0 -1222
  64. package/dist/es/documentMapArea.js +0 -161
  65. package/dist/es/domUtils.js +0 -43
  66. package/dist/es/enums.js +0 -41
  67. package/dist/es/event-emitter.js +0 -127
  68. package/dist/es/events.js +0 -20
  69. package/dist/es/globalSettings.js +0 -5
  70. package/dist/es/history.js +0 -131
  71. package/dist/es/index.js +0 -25
  72. package/dist/es/jqueryThrottleDebounce.js +0 -46
  73. package/dist/es/kendo-jquery.js +0 -1
  74. package/dist/es/mainMenu.js +0 -319
  75. package/dist/es/mem-storage.js +0 -40
  76. package/dist/es/pagesArea.js +0 -621
  77. package/dist/es/parameterValidators.js +0 -160
  78. package/dist/es/parameters.js +0 -916
  79. package/dist/es/parametersArea.js +0 -493
  80. package/dist/es/perspectives.js +0 -134
  81. package/dist/es/print.js +0 -161
  82. package/dist/es/report-viewer/report-viewer-settings.js +0 -134
  83. package/dist/es/reportViewer.js +0 -666
  84. package/dist/es/scroll.js +0 -531
  85. package/dist/es/search.js +0 -580
  86. package/dist/es/sendEmail.js +0 -388
  87. package/dist/es/service-client-sentinel.js +0 -49
  88. package/dist/es/serviceClient.js +0 -307
  89. package/dist/es/sideMenu.js +0 -212
  90. package/dist/es/sr.js +0 -164
  91. package/dist/es/stringResources.js +0 -7
  92. package/dist/es/telerikReportViewer.kendo.js +0 -60194
  93. package/dist/es/telerikReportViewer.kendo.min.js +0 -19774
  94. package/dist/es/template-cache.js +0 -35
  95. package/dist/es/toolbar/link-button.js +0 -38
  96. package/dist/es/toolbar/page-count-label.js +0 -14
  97. package/dist/es/toolbar/page-number-input.js +0 -60
  98. package/dist/es/touch.js +0 -82
  99. package/dist/es/uiController.js +0 -138
  100. package/dist/es/uiFreezeCoordinator.js +0 -278
  101. package/dist/es/utils.js +0 -444
  102. package/dist/templates/telerikReportViewerTemplate-FA.html +0 -317
  103. /package/dist/font/{ReportingIcons-19.0.25.211.ttf → ReportingIcons-19.1.25.521.ttf} +0 -0
@@ -2,71 +2,91 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var enums = require('./enums.js');
6
5
  var command = require('./command.js');
6
+ var RCV = require('@progress/telerik-common-report-viewer');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n["default"] = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var RCV__namespace = /*#__PURE__*/_interopNamespace(RCV);
7
27
 
8
28
  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 };
29
+ scaleTransitionMap[RCV__namespace.ScaleMode.FitPage] = RCV__namespace.ScaleMode.FitPageWidth;
30
+ scaleTransitionMap[RCV__namespace.ScaleMode.FitPageWidth] = RCV__namespace.ScaleMode.Specific;
31
+ scaleTransitionMap[RCV__namespace.ScaleMode.Specific] = RCV__namespace.ScaleMode.FitPage;
12
32
  var scaleValues = [0.1, 0.25, 0.5, 0.75, 1, 1.5, 2, 4, 8];
13
33
  function CommandSet(options) {
14
34
  var controller = options.controller;
15
35
  if (!controller) {
16
36
  throw "No options.controller.";
17
37
  }
38
+ var notificationService = options.notificationService;
39
+ if (!notificationService) {
40
+ throw "No options.notificationService.";
41
+ }
18
42
  var historyManager = options.history;
19
43
  if (!historyManager) {
20
44
  throw "No options.history.";
21
45
  }
22
46
  function getDocumentMapVisible() {
23
47
  var args = {};
24
- controller.getDocumentMapState(args);
48
+ notificationService.getDocumentMapState(args);
25
49
  return Boolean(args.visible);
26
50
  }
27
51
  function getParametersAreaVisible() {
28
52
  var args = {};
29
- controller.getParametersAreaState(args);
30
- return Boolean(args.visible);
31
- }
32
- function getSideMenuVisible() {
33
- var args = {};
34
- controller.getSideMenuVisible(args);
53
+ notificationService.getParametersAreaState(args);
35
54
  return Boolean(args.visible);
36
55
  }
37
56
  function getSearchDialogVisible() {
38
- var args = {};
39
- controller.getSearchDialogState(args);
40
- return Boolean(args.visible);
57
+ return Boolean(controller.getSearchInitiated());
41
58
  }
42
59
  function getSendEmailDialogVisible() {
43
60
  var args = {};
44
- controller.getSendEmailDialogState(args);
61
+ notificationService.getSendEmailDialogState(args);
45
62
  return Boolean(args.visible);
46
63
  }
64
+ function getAiPromptDialogVisible() {
65
+ return Boolean(controller.getAiPromptInitiated());
66
+ }
47
67
  return {
48
- "historyBack": new command.Command(function() {
68
+ "historyBack": new command.Command(() => {
49
69
  historyManager.back();
50
70
  }),
51
- "historyForward": new command.Command(function() {
71
+ "historyForward": new command.Command(() => {
52
72
  historyManager.forward();
53
73
  }),
54
- "stopRendering": new command.Command(function() {
74
+ "stopRendering": new command.Command(() => {
55
75
  controller.stopRendering();
56
76
  }),
57
- "goToPrevPage": new command.Command(function() {
77
+ "goToPrevPage": new command.Command(() => {
58
78
  controller.navigateToPage(controller.getCurrentPageNumber() - 1);
59
79
  }),
60
- "goToNextPage": new command.Command(function() {
80
+ "goToNextPage": new command.Command(() => {
61
81
  controller.navigateToPage(controller.getCurrentPageNumber() + 1);
62
82
  }),
63
- "goToFirstPage": new command.Command(function() {
83
+ "goToFirstPage": new command.Command(() => {
64
84
  controller.navigateToPage(1);
65
85
  }),
66
- "goToLastPage": new command.Command(function() {
86
+ "goToLastPage": new command.Command(() => {
67
87
  controller.navigateToPage(controller.getPageCount());
68
88
  }),
69
- "goToPage": new command.Command(function(pageNumber) {
89
+ "goToPage": new command.Command((pageNumber) => {
70
90
  if (!isNaN(pageNumber)) {
71
91
  var pageCount = controller.getPageCount();
72
92
  if (pageNumber > pageCount) {
@@ -78,62 +98,67 @@ function CommandSet(options) {
78
98
  return pageNumber;
79
99
  }
80
100
  }),
81
- "refresh": new command.Command(
82
- function() {
83
- controller.refreshReport(true, false);
84
- }
85
- ),
86
- "export": new command.Command(function(format) {
101
+ "refresh": new command.Command(() => {
102
+ controller.refreshReport(true, "", false);
103
+ }),
104
+ "export": new command.Command((format) => {
87
105
  if (format) {
88
106
  controller.exportReport(format);
89
107
  }
90
108
  }),
91
- "print": new command.Command(function() {
109
+ "print": new command.Command(() => {
92
110
  controller.printReport();
93
111
  }),
94
- "pageMode": new command.Command(function() {
112
+ "pageMode": new command.Command(() => {
95
113
  controller.setPageMode(
96
- controller.getPageMode() === enums.PageModes.SINGLE_PAGE ? enums.PageModes.CONTINUOUS_SCROLL : enums.PageModes.SINGLE_PAGE
114
+ controller.getPageMode() === RCV__namespace.PageMode.SinglePage ? RCV__namespace.PageMode.ContinuousScroll : RCV__namespace.PageMode.SinglePage
97
115
  );
116
+ controller.refreshReportCore(false, controller.getReportDocumentId());
98
117
  }),
99
- "togglePrintPreview": new command.Command(function() {
118
+ "togglePrintPreview": new command.Command(() => {
100
119
  controller.setViewMode(
101
- controller.getViewMode() === enums.ViewModes.PRINT_PREVIEW ? enums.ViewModes.INTERACTIVE : enums.ViewModes.PRINT_PREVIEW
120
+ controller.getViewMode() === RCV__namespace.ViewMode.PrintPreview ? RCV__namespace.ViewMode.Interactive : RCV__namespace.ViewMode.PrintPreview
102
121
  );
122
+ controller.refreshReportCore(false, controller.getReportDocumentId());
103
123
  }),
104
- "toggleDocumentMap": new command.Command(function() {
105
- controller.setDocumentMapVisible({ visible: !getDocumentMapVisible() });
124
+ "toggleDocumentMap": new command.Command(() => {
125
+ notificationService.setDocumentMapVisible({ visible: !getDocumentMapVisible() });
106
126
  }),
107
- "toggleParametersArea": new command.Command(function() {
108
- controller.setParametersAreaVisible({ visible: !getParametersAreaVisible() });
127
+ "toggleParametersArea": new command.Command(() => {
128
+ notificationService.setParametersAreaVisible({ visible: !getParametersAreaVisible() });
109
129
  }),
110
- "zoom": new command.Command(function(scale) {
130
+ "zoom": new command.Command((scale) => {
131
+ controller.setScaleMode(RCV__namespace.ScaleMode.Specific);
111
132
  controller.setScale(scale);
112
133
  }),
113
- "zoomIn": new command.Command(function() {
134
+ "zoomIn": new command.Command(() => {
114
135
  zoom(1);
115
136
  }),
116
- "zoomOut": new command.Command(function() {
137
+ "zoomOut": new command.Command(() => {
117
138
  zoom(-1);
118
139
  }),
119
- "toggleSideMenu": new command.Command(function() {
120
- controller.setSideMenuVisible({ visible: !getSideMenuVisible() });
121
- }),
122
- "toggleZoomMode": new command.Command(function(e) {
123
- var scale = controller.getScale();
140
+ "toggleZoomMode": new command.Command((e) => {
124
141
  var scaleMode = controller.getScaleMode();
125
- controller.setScale(scaleTransitionMap[scaleMode].scale || scale);
126
- controller.setScaleMode(scaleTransitionMap[scaleMode].scaleMode);
142
+ var newScaleMode = scaleTransitionMap[scaleMode];
143
+ controller.setScaleMode(scaleTransitionMap[newScaleMode]);
144
+ if (newScaleMode === RCV__namespace.ScaleMode.Specific) {
145
+ controller.setScale(1);
146
+ }
147
+ }),
148
+ "toggleSearchDialog": new command.Command(() => {
149
+ notificationService.setSearchDialogVisible({ visible: !getSearchDialogVisible() });
127
150
  }),
128
- "toggleSearchDialog": new command.Command(function() {
129
- controller.setSearchDialogVisible({ visible: !getSearchDialogVisible() });
151
+ "toggleSendEmailDialog": new command.Command(() => {
152
+ notificationService.setSendEmailDialogVisible({ visible: !getSendEmailDialogVisible() });
130
153
  }),
131
- "toggleSendEmailDialog": new command.Command(function() {
132
- controller.setSendEmailDialogVisible({ visible: !getSendEmailDialogVisible() });
154
+ "toggleAiPromptDialog": new command.Command(() => {
155
+ notificationService.setAiPromptDialogVisible({ visible: !getAiPromptDialogVisible() });
133
156
  })
134
157
  };
135
158
  function zoom(step) {
136
- controller.setScale(getZoomScale(controller.getScale(), step));
159
+ var scale = getZoomScale(controller.getScale(), step);
160
+ controller.setScale(scale);
161
+ controller.setScaleMode(RCV__namespace.ScaleMode.Specific);
137
162
  }
138
163
  function getZoomScale(scale, steps) {
139
164
  var pos = -1;
@@ -0,0 +1,41 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var baseComponent = require('../base-component.js');
6
+
7
+ class Button extends baseComponent.BaseComponent {
8
+ // #region fields
9
+ icon;
10
+ click;
11
+ component;
12
+ // #endregion
13
+ // #region constructors
14
+ constructor(element, options) {
15
+ super(element, options);
16
+ this.options.icon = element.dataset.icon;
17
+ this.options.fillMode = element.dataset.fillMode;
18
+ this.component = new kendo.ui.Button(element, this.options);
19
+ this._initCommand();
20
+ }
21
+ // #endregion
22
+ // #region methods
23
+ _initCommand() {
24
+ if (!this.options.command) {
25
+ return;
26
+ }
27
+ const command = this.options.command;
28
+ this.component.setOptions({
29
+ click: (event) => {
30
+ event.preventDefault();
31
+ command.exec();
32
+ }
33
+ });
34
+ $(command).on("enabledChanged", (event, newState) => {
35
+ this.component.enable(newState);
36
+ });
37
+ }
38
+ // #endregion
39
+ }
40
+
41
+ exports.Button = Button;
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var baseComponent = require('../base-component.js');
6
+
7
+ class ToggleButton extends baseComponent.BaseComponent {
8
+ // #region fields
9
+ icon;
10
+ click;
11
+ component;
12
+ // #endregion
13
+ // #region constructors
14
+ constructor(element, options) {
15
+ super(element, options);
16
+ this.options.icon = element.dataset.icon;
17
+ this.options.fillMode = element.dataset.fillMode;
18
+ this.component = new kendo.ui.Button(element, this.options);
19
+ this._initCommand();
20
+ }
21
+ // #endregion
22
+ // #region methods
23
+ _initCommand() {
24
+ if (!this.options.command) {
25
+ return;
26
+ }
27
+ const command = this.options.command;
28
+ this.component.setOptions({
29
+ click: (event) => {
30
+ event.preventDefault();
31
+ command.setChecked(command.getChecked() ? false : true);
32
+ }
33
+ });
34
+ $(command).on("enabledChanged", (event, newState) => {
35
+ this.component.enable(newState);
36
+ });
37
+ $(command).on("checkedChanged", (event, newState) => {
38
+ if (newState) {
39
+ this.component.element.addClass("k-selected");
40
+ } else {
41
+ this.component.element.removeClass("k-selected");
42
+ }
43
+ });
44
+ }
45
+ }
46
+
47
+ exports.ToggleButton = ToggleButton;
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const ToolBarConstants = {
6
+ TitleAttr: "title",
7
+ AriaLabelAttr: "aria-label",
8
+ DataCommandAttr: "data-command",
9
+ DataCommandParameterAttr: "data-command-parameter",
10
+ ExportDropdownId: "export-dropdown",
11
+ PageNumberInputDataRoleSelector: '[data-role="telerik_ReportViewer_PageNumberInput"]',
12
+ PageCountLabelDataRoleSelector: '[data-role="telerik_ReportViewer_PageCountLabel"]',
13
+ Button: "button",
14
+ ButtonGroup: "buttonGroup",
15
+ ToggleButton: "toggle-button",
16
+ DropDownButton: "dropDownButton",
17
+ MenuButton: "menu-button",
18
+ Separator: "separator",
19
+ CustomElement: "custom-element"
20
+ };
21
+
22
+ exports.ToolBarConstants = ToolBarConstants;
@@ -4,162 +4,183 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var stringResources = require('./stringResources.js');
6
6
  var enums = require('./enums.js');
7
- var globalSettings = require('./globalSettings.js');
8
7
 
9
8
  var defaultOptions = {};
10
- function DocumentMapArea(placeholder, options, otherOptions) {
11
- options = $.extend({}, defaultOptions, options, otherOptions);
12
- var controller = options.controller;
13
- if (!controller) {
14
- throw "No controller (telerikReporting.reportViewerController) has been specified.";
15
- }
16
- var $placeholder = $(placeholder);
17
- var $documentMap;
18
- var documentMapVisible = options.documentMapVisible !== false;
19
- var enableAccessibility = options.enableAccessibility;
20
- var currentReport = null;
21
- var documentMapNecessary = false;
22
- init();
23
- function init() {
24
- $documentMap = $('<div id="' + options.viewerSelector + '-documentMap"></div>');
25
- $documentMap.appendTo(placeholder);
26
- attach();
27
- replaceStringResources($placeholder);
28
- }
29
- function onTreeViewSelectionChanged(e) {
30
- var documentMapNode = this.dataItem(e.node);
9
+ class DocumentMapArea {
10
+ // #region fields element: HTMLElement;
11
+ options;
12
+ viewerOptions;
13
+ controller;
14
+ notificationService;
15
+ $element;
16
+ $documentMap;
17
+ documentMapVisible;
18
+ enableAccessibility;
19
+ currentReport;
20
+ documentMapNecessary;
21
+ // #endregion
22
+ // #region constructor
23
+ constructor(element, options, viewerOptions) {
24
+ this.element = element;
25
+ this.options = $.extend({}, defaultOptions, options, viewerOptions);
26
+ this.controller = this.options.controller;
27
+ if (!this.controller) {
28
+ throw "No controller (telerikReporting.reportViewerController) has been specified.";
29
+ }
30
+ this.notificationService = this.options.notificationService;
31
+ if (!this.notificationService) {
32
+ throw "No notificationService (telerikReporting.NotificationService) has been specified.";
33
+ }
34
+ this.$element = $(this.element);
35
+ this.$documentMap;
36
+ this.documentMapVisible = this.options.documentMapVisible !== false;
37
+ this.enableAccessibility = this.options.enableAccessibility;
38
+ this.currentReport = null;
39
+ this.documentMapNecessary = false;
40
+ this.init();
41
+ }
42
+ // #endregion
43
+ init() {
44
+ this.$documentMap = $('<div id="' + this.options.viewerSelector + '-documentMap" data-role="treeview"></div>');
45
+ this.$documentMap.appendTo(this.element);
46
+ this._attachEvents();
47
+ this.replaceStringResources(this.$element);
48
+ }
49
+ onTreeViewSelectionChanged(event) {
50
+ var documentMapNode = event.sender.dataItem(event.node);
31
51
  var page = documentMapNode.page;
32
52
  var id = documentMapNode.id;
33
- controller.navigateToPage(page, {
53
+ this.controller.navigateToPage(page, {
34
54
  type: "bookmark",
35
55
  id
36
56
  });
37
57
  }
38
- function onTreeViewNodeExpand(e) {
39
- if (enableAccessibility) {
40
- window.setTimeout(function() {
41
- setNodeAccessibilityAttributes(e.node);
58
+ onTreeViewNodeExpand(event) {
59
+ if (this.enableAccessibility) {
60
+ window.setTimeout(() => {
61
+ this.setNodeAccessibilityAttributes(event.node);
42
62
  }, 100);
43
63
  }
44
64
  }
45
- function setNodeAccessibilityAttributes(node) {
65
+ setNodeAccessibilityAttributes(node) {
46
66
  var $items = $(node).find("li");
47
67
  Array.from($items).forEach((item) => {
48
68
  var $li = $(item);
49
69
  $li.attr("aria-label", $li[0].innerText);
50
70
  });
51
71
  }
52
- function resetReportAndClearItems() {
53
- documentMapNecessary = false;
54
- showDocumentMap(false);
55
- var r = controller.getReportSource().report;
56
- var clearMapItems = currentReport !== r || !isVisible();
57
- currentReport = r;
72
+ resetReportAndClearItems() {
73
+ this.documentMapNecessary = false;
74
+ this.showDocumentMap(false);
75
+ const r = this.controller.getReportSource().report;
76
+ const clearMapItems = this.currentReport !== r || !this.isVisible();
77
+ this.currentReport = r;
58
78
  if (clearMapItems) {
59
- clearDocumentMap();
79
+ this.clearDocumentMap();
60
80
  }
61
81
  }
62
- function clearDocumentMap() {
63
- displayDocumentMap([]);
82
+ clearDocumentMap() {
83
+ this.displayDocumentMap([]);
64
84
  }
65
- function displayDocumentMap(documentMap) {
85
+ displayDocumentMap(documentMap) {
66
86
  var hasDocumentMap = documentMap && !$.isEmptyObject(documentMap);
67
- var $treeView = $documentMap.data("kendoTreeView");
87
+ var $treeView = this.$documentMap.data("kendoTreeView");
68
88
  if (!$treeView) {
69
89
  try {
70
- $documentMap.kendoTreeView({
90
+ this.$documentMap.kendoTreeView({
71
91
  dataTextField: "text",
72
- select: onTreeViewSelectionChanged
92
+ select: this.onTreeViewSelectionChanged.bind(this)
73
93
  });
74
- $treeView = $documentMap.data("kendoTreeView");
94
+ $treeView = this.$documentMap.data("kendoTreeView");
75
95
  } catch (e) {
76
96
  console.error("Instantiation of Kendo TreeView as Document Map threw an exception", e);
77
97
  throw e;
78
98
  }
79
99
  }
80
100
  $treeView.setDataSource(documentMap);
81
- if (enableAccessibility) {
82
- setAccessibilityAttributes($treeView);
101
+ if (this.enableAccessibility) {
102
+ this.setAccessibilityAttributes($treeView);
83
103
  }
84
- showDocumentMap(hasDocumentMap);
104
+ this.showDocumentMap(hasDocumentMap);
85
105
  }
86
- function setAccessibilityAttributes(treeView) {
87
- treeView.bind("expand", onTreeViewNodeExpand);
106
+ setAccessibilityAttributes(treeView) {
107
+ treeView.bind("expand", this.onTreeViewNodeExpand.bind(this));
88
108
  treeView.element.attr("aria-label", stringResources.stringResources.ariaLabelDocumentMap);
89
109
  var listItems = treeView.element.find("ul");
90
110
  Array.from(listItems).forEach((list) => {
91
- setNodeAccessibilityAttributes(list);
111
+ this.setNodeAccessibilityAttributes(list);
92
112
  });
93
- if (documentMapNecessary) {
94
- setSplitbarAccessibilityAttributes();
113
+ if (this.documentMapNecessary) {
114
+ this.setSplitbarAccessibilityAttributes();
95
115
  }
96
116
  }
97
- function setSplitbarAccessibilityAttributes() {
98
- var splitbar = $placeholder.next();
99
- if (options.documentMapAreaPosition === enums.DocumentMapAreaPositions.RIGHT) {
100
- splitbar = $placeholder.prev();
117
+ setSplitbarAccessibilityAttributes() {
118
+ var splitbar = this.$element.next();
119
+ if (this.options.documentMapAreaPosition === enums.DocumentMapAreaPositions.RIGHT) {
120
+ splitbar = this.$element.prev();
101
121
  }
102
122
  splitbar.attr("aria-label", stringResources.stringResources.ariaLabelDocumentMapSplitter);
103
123
  }
104
- function isVisible() {
124
+ isVisible() {
105
125
  var args = {};
106
- controller.getDocumentMapState(args);
126
+ this.notificationService.getDocumentMapState(args);
107
127
  return args.visible;
108
128
  }
109
- function beginLoad() {
110
- $placeholder.addClass("trv-loading");
129
+ beginLoad() {
130
+ this.$element.addClass("trv-loading");
111
131
  }
112
- function endLoad() {
113
- $placeholder.removeClass("trv-loading");
132
+ endLoad() {
133
+ this.$element.removeClass("trv-loading");
114
134
  }
115
- function showDocumentMap(show) {
116
- var splitter = globalSettings.GlobalSettings.viewerInstances.find((element) => element.id === options.viewerSelector + "-document-map-splitter").instance;
117
- var sibling = $placeholder.next();
118
- if (options.documentMapAreaPosition === enums.DocumentMapAreaPositions.RIGHT) {
119
- sibling = $placeholder.prev();
135
+ showDocumentMap(show) {
136
+ var splitter = $("#" + this.options.viewerSelector + "-document-map-splitter").getKendoSplitter();
137
+ var sibling = this.$element.next();
138
+ if (this.options.documentMapAreaPosition === enums.DocumentMapAreaPositions.RIGHT) {
139
+ sibling = this.$element.prev();
120
140
  }
121
141
  if (splitter) {
122
- (documentMapNecessary ? $.fn.removeClass : $.fn.addClass).call(sibling, "trv-hidden");
142
+ (this.documentMapNecessary ? $.fn.removeClass : $.fn.addClass).call(sibling, "k-hidden");
123
143
  splitter.toggle(".trv-document-map", show);
124
144
  }
125
145
  }
126
- function attach() {
127
- controller.beforeLoadParameters(function() {
128
- resetReportAndClearItems();
129
- }).beginLoadReport(function() {
130
- beginLoad();
131
- }).reportLoadComplete(function(event, args) {
132
- if (args.documentMapAvailable) {
133
- documentMapNecessary = true;
134
- displayDocumentMap(args.documentMapNodes);
135
- controller.setDocumentMapVisible({ enabled: true, visible: documentMapVisible });
146
+ _attachEvents() {
147
+ this.controller.on("beforeLoadParameters", () => {
148
+ this.resetReportAndClearItems();
149
+ }).on("beginLoadReport", () => {
150
+ this.beginLoad();
151
+ }).onAsync("reportLoadComplete", async (reportInfo) => {
152
+ if (reportInfo.documentMapAvailable) {
153
+ this.documentMapNecessary = true;
154
+ this.displayDocumentMap(reportInfo.documentMapNodes);
155
+ this.notificationService.setDocumentMapVisible({ enabled: true, visible: this.documentMapVisible });
136
156
  } else {
137
- documentMapNecessary = false;
138
- showDocumentMap(documentMapNecessary);
157
+ this.documentMapNecessary = false;
158
+ this.showDocumentMap(this.documentMapNecessary);
139
159
  }
140
- endLoad();
141
- }).error(function(event, error) {
142
- endLoad();
143
- clearDocumentMap();
144
- }).renderingStopped(function() {
145
- documentMapNecessary = false;
146
- showDocumentMap(false);
160
+ this.endLoad();
161
+ }).on("error", () => {
162
+ this.endLoad();
163
+ this.clearDocumentMap();
164
+ }).on("renderingStopped", () => {
165
+ this.documentMapNecessary = false;
166
+ this.showDocumentMap(false);
147
167
  });
148
- controller.setDocumentMapVisible(function(event, args) {
149
- documentMapVisible = args.visible;
150
- showDocumentMap(documentMapVisible && documentMapNecessary);
151
- }).getDocumentMapState(function(event, args) {
152
- args.enabled = documentMapNecessary;
153
- args.visible = documentMapVisible;
168
+ this.notificationService.setDocumentMapVisible((event, args) => {
169
+ this.documentMapVisible = args.visible;
170
+ this.showDocumentMap(this.documentMapVisible && this.documentMapNecessary);
171
+ }).getDocumentMapState((event, args) => {
172
+ args.enabled = this.documentMapNecessary;
173
+ args.visible = this.documentMapVisible;
154
174
  });
155
175
  }
156
- function replaceStringResources($documentMap2) {
157
- var $documentMapOverlay = $documentMap2.find(".trv-document-map-overlay");
176
+ replaceStringResources($documentMap) {
177
+ var $documentMapOverlay = $documentMap.find(".trv-document-map-overlay");
158
178
  if (!$documentMapOverlay) {
159
179
  return;
160
180
  }
161
181
  $documentMapOverlay.attr("aria-label", stringResources.stringResources[$documentMapOverlay.attr("aria-label")]);
162
182
  }
183
+ // #endregion
163
184
  }
164
185
 
165
186
  exports.DocumentMapArea = DocumentMapArea;
@@ -2,17 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var __defProp = Object.defineProperty;
6
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
- var __publicField = (obj, key, value) => {
8
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
9
- return value;
10
- };
11
5
  class EventEmitter extends EventTarget {
6
+ _events;
7
+ _eventsCount;
12
8
  constructor() {
13
9
  super();
14
- __publicField(this, "_events");
15
- __publicField(this, "_eventsCount");
16
10
  this._events = {};
17
11
  this._eventsCount = 0;
18
12
  }