flexmonster 2.9.29 → 2.9.32

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 (54) hide show
  1. package/flexmonster.css +1 -1
  2. package/flexmonster.es5.full.js +2207 -2205
  3. package/flexmonster.es5.js +2104 -2103
  4. package/flexmonster.full.js +2082 -2081
  5. package/flexmonster.js +1979 -1979
  6. package/flexmonster.min.css +1 -1
  7. package/localizations/de.json +3 -0
  8. package/localizations/en.json +3 -0
  9. package/localizations/es.json +3 -0
  10. package/localizations/fr.json +3 -0
  11. package/localizations/hu.json +3 -0
  12. package/localizations/id.json +3 -0
  13. package/localizations/it.json +3 -0
  14. package/localizations/nl.json +3 -0
  15. package/localizations/pt.json +3 -0
  16. package/localizations/th.json +3 -0
  17. package/localizations/tr.json +3 -0
  18. package/localizations/uk.json +4 -1
  19. package/localizations/zh.json +3 -0
  20. package/package.json +1 -1
  21. package/theme/accessible/flexmonster.css +1 -1
  22. package/theme/accessible/flexmonster.min.css +1 -1
  23. package/theme/blackorange/flexmonster.css +1 -1
  24. package/theme/blackorange/flexmonster.min.css +1 -1
  25. package/theme/brightorange/flexmonster.css +1 -1
  26. package/theme/brightorange/flexmonster.min.css +1 -1
  27. package/theme/dark/flexmonster.css +1 -1
  28. package/theme/dark/flexmonster.min.css +1 -1
  29. package/theme/flexmonster-base.less +1 -1
  30. package/theme/green/flexmonster.css +1 -1
  31. package/theme/green/flexmonster.min.css +1 -1
  32. package/theme/lightblue/flexmonster.css +1 -1
  33. package/theme/lightblue/flexmonster.min.css +1 -1
  34. package/theme/macos/flexmonster.css +1 -1
  35. package/theme/macos/flexmonster.min.css +1 -1
  36. package/theme/midnight/flexmonster.css +1 -1
  37. package/theme/midnight/flexmonster.min.css +1 -1
  38. package/theme/old/flexmonster.css +1 -1
  39. package/theme/old/flexmonster.min.css +1 -1
  40. package/theme/orange/flexmonster.css +1 -1
  41. package/theme/orange/flexmonster.min.css +1 -1
  42. package/theme/purple/flexmonster.css +1 -1
  43. package/theme/purple/flexmonster.min.css +1 -1
  44. package/theme/softdefault/flexmonster.css +1 -1
  45. package/theme/softdefault/flexmonster.min.css +1 -1
  46. package/theme/stripedblue/flexmonster.css +1 -1
  47. package/theme/stripedblue/flexmonster.min.css +1 -1
  48. package/theme/stripedteal/flexmonster.css +1 -1
  49. package/theme/stripedteal/flexmonster.min.css +1 -1
  50. package/theme/teal/flexmonster.css +1 -1
  51. package/theme/teal/flexmonster.min.css +1 -1
  52. package/theme/yellow/flexmonster.css +1 -1
  53. package/theme/yellow/flexmonster.min.css +1 -1
  54. package/toolbar/flexmonster.toolbar.js +500 -485
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Flexmonster Pivot Table & Charts [https://www.flexmonster.com/]
3
- * July 2022 (v. 2.9.29)
3
+ * August 2022 (v. 2.9.32)
4
4
  * Copyright (c) 2022 Flexmonster. All rights reserved.
5
5
  *
6
6
  * Flexmonster Pivot Table & Charts commercial licenses may be obtained at
@@ -26,45 +26,45 @@ FlexmonsterToolbar.prototype.getTabs = function () {
26
26
  icon: this.icons.connect,
27
27
  kibana: false,
28
28
  menu: [{
29
- title: Labels.connect_local_csv,
30
- id: "fm-tab-connect-local-csv",
31
- handler: this.connectLocalCSVHandler,
32
- mobile: false,
33
- icon: this.icons.connect_csv
34
- },
35
- {
36
- title: Labels.connect_local_json,
37
- id: "fm-tab-connect-local-json",
38
- handler: this.connectLocalJSONHandler,
39
- mobile: false,
40
- icon: this.icons.connect_json
41
- },
42
- {
43
- title: this.osUtils.isMobile ? Labels.connect_remote_csv_mobile : Labels.connect_remote_csv,
44
- id: "fm-tab-connect-remote-csv",
45
- handler: this.connectRemoteCSV,
46
- icon: this.icons.connect_csv_remote
47
- },
48
- {
49
- title: this.osUtils.isMobile ? Labels.connect_remote_json_mobile : Labels.connect_remote_json,
50
- id: "fm-tab-connect-remote-json",
51
- handler: this.connectRemoteJSON,
52
- icon: this.icons.connect_json_remote
53
- },
54
- {
55
- title: this.osUtils.isMobile ? Labels.connect_olap_mobile : Labels.connect_olap,
56
- id: "fm-tab-connect-olap",
57
- handler: this.connectOLAP,
58
- flat: false,
59
- icon: this.icons.connect_olap
60
- },
61
- {
62
- title: this.osUtils.isMobile ? Labels.connect_elastic_mobile : Labels.connect_elastic,
63
- id: "fm-tab-connect-elastic",
64
- handler: this.connectElastic,
65
- flat: false,
66
- icon: this.icons.connect_elastic
67
- }
29
+ title: Labels.connect_local_csv,
30
+ id: "fm-tab-connect-local-csv",
31
+ handler: this.connectLocalCSVHandler,
32
+ mobile: false,
33
+ icon: this.icons.connect_csv
34
+ },
35
+ {
36
+ title: Labels.connect_local_json,
37
+ id: "fm-tab-connect-local-json",
38
+ handler: this.connectLocalJSONHandler,
39
+ mobile: false,
40
+ icon: this.icons.connect_json
41
+ },
42
+ {
43
+ title: this.osUtils.isMobile ? Labels.connect_remote_csv_mobile : Labels.connect_remote_csv,
44
+ id: "fm-tab-connect-remote-csv",
45
+ handler: this.connectRemoteCSV,
46
+ icon: this.icons.connect_csv_remote
47
+ },
48
+ {
49
+ title: this.osUtils.isMobile ? Labels.connect_remote_json_mobile : Labels.connect_remote_json,
50
+ id: "fm-tab-connect-remote-json",
51
+ handler: this.connectRemoteJSON,
52
+ icon: this.icons.connect_json_remote
53
+ },
54
+ {
55
+ title: this.osUtils.isMobile ? Labels.connect_olap_mobile : Labels.connect_olap,
56
+ id: "fm-tab-connect-olap",
57
+ handler: this.connectOLAP,
58
+ flat: false,
59
+ icon: this.icons.connect_olap
60
+ },
61
+ {
62
+ title: this.osUtils.isMobile ? Labels.connect_elastic_mobile : Labels.connect_elastic,
63
+ id: "fm-tab-connect-elastic",
64
+ handler: this.connectElastic,
65
+ flat: false,
66
+ icon: this.icons.connect_elastic
67
+ }
68
68
  ]
69
69
  });
70
70
 
@@ -75,18 +75,18 @@ FlexmonsterToolbar.prototype.getTabs = function () {
75
75
  icon: this.icons.open,
76
76
  kibana: false,
77
77
  menu: [{
78
- title: Labels.local_report,
79
- id: "fm-tab-open-local-report",
80
- handler: this.openLocalReport,
81
- mobile: false,
82
- icon: this.icons.open_local
83
- },
84
- {
85
- title: this.osUtils.isMobile ? Labels.remote_report_mobile : Labels.remote_report,
86
- id: "fm-tab-open-remote-report",
87
- handler: this.openRemoteReport,
88
- icon: this.icons.open_remote
89
- }
78
+ title: Labels.local_report,
79
+ id: "fm-tab-open-local-report",
80
+ handler: this.openLocalReport,
81
+ mobile: false,
82
+ icon: this.icons.open_local
83
+ },
84
+ {
85
+ title: this.osUtils.isMobile ? Labels.remote_report_mobile : Labels.remote_report,
86
+ id: "fm-tab-open-remote-report",
87
+ handler: this.openRemoteReport,
88
+ icon: this.icons.open_remote
89
+ }
90
90
  ]
91
91
  });
92
92
 
@@ -107,46 +107,46 @@ FlexmonsterToolbar.prototype.getTabs = function () {
107
107
  mobile: false,
108
108
  icon: this.icons.export,
109
109
  menu: [{
110
- title: Labels.export_print,
111
- id: "fm-tab-export-print",
112
- handler: this.printHandler,
113
- icon: this.icons.export_print
114
- },
115
- {
116
- title: Labels.export_html,
117
- id: "fm-tab-export-html",
118
- handler: this.exportHandler,
119
- args: "html",
120
- icon: this.icons.export_html
121
- },
122
- {
123
- title: Labels.export_csv,
124
- id: "fm-tab-export-csv",
125
- handler: this.exportHandler,
126
- args: "csv",
127
- icon: this.icons.export_csv
128
- },
129
- {
130
- title: Labels.export_excel,
131
- id: "fm-tab-export-excel",
132
- handler: this.exportHandler,
133
- args: "excel",
134
- icon: this.icons.export_excel
135
- },
136
- {
137
- title: Labels.export_image,
138
- id: "fm-tab-export-image",
139
- handler: this.exportHandler,
140
- args: "image",
141
- icon: this.icons.export_image
142
- },
143
- {
144
- title: Labels.export_pdf,
145
- id: "fm-tab-export-pdf",
146
- handler: this.exportHandler,
147
- args: "pdf",
148
- icon: this.icons.export_pdf
149
- },
110
+ title: Labels.export_print,
111
+ id: "fm-tab-export-print",
112
+ handler: this.printHandler,
113
+ icon: this.icons.export_print
114
+ },
115
+ {
116
+ title: Labels.export_html,
117
+ id: "fm-tab-export-html",
118
+ handler: this.exportHandler,
119
+ args: "html",
120
+ icon: this.icons.export_html
121
+ },
122
+ {
123
+ title: Labels.export_csv,
124
+ id: "fm-tab-export-csv",
125
+ handler: this.exportHandler,
126
+ args: "csv",
127
+ icon: this.icons.export_csv
128
+ },
129
+ {
130
+ title: Labels.export_excel,
131
+ id: "fm-tab-export-excel",
132
+ handler: this.exportHandler,
133
+ args: "excel",
134
+ icon: this.icons.export_excel
135
+ },
136
+ {
137
+ title: Labels.export_image,
138
+ id: "fm-tab-export-image",
139
+ handler: this.exportHandler,
140
+ args: "image",
141
+ icon: this.icons.export_image
142
+ },
143
+ {
144
+ title: Labels.export_pdf,
145
+ id: "fm-tab-export-pdf",
146
+ handler: this.exportHandler,
147
+ args: "pdf",
148
+ icon: this.icons.export_pdf
149
+ },
150
150
  ]
151
151
  });
152
152
  // Share tab
@@ -177,63 +177,63 @@ FlexmonsterToolbar.prototype.getTabs = function () {
177
177
  onShowHandler: this.checkChartMultipleMeasures,
178
178
  icon: this.icons.charts,
179
179
  menu: [{
180
- title: Labels.charts_column,
181
- id: "fm-tab-charts-column",
182
- handler: this.chartsHandler,
183
- args: "column",
184
- icon: this.icons.charts
185
- },
186
- {
187
- title: Labels.charts_bar_horizontal,
188
- id: "fm-tab-charts-bar-horizontal",
189
- handler: this.chartsHandler,
190
- args: "bar_h",
191
- icon: this.icons.charts_bar
192
- },
193
- {
194
- title: Labels.charts_line,
195
- id: "fm-tab-charts-line",
196
- handler: this.chartsHandler,
197
- args: "line",
198
- icon: this.icons.charts_line
199
- },
200
- {
201
- title: Labels.charts_scatter,
202
- id: "fm-tab-charts-scatter",
203
- handler: this.chartsHandler,
204
- args: "scatter",
205
- icon: this.icons.charts_scatter
206
- },
207
- {
208
- title: Labels.charts_pie,
209
- id: "fm-tab-charts-pie",
210
- handler: this.chartsHandler,
211
- args: "pie",
212
- icon: this.icons.charts_pie
213
- },
214
- {
215
- title: Labels.charts_stacked_column,
216
- id: "fm-tab-charts-stacked-column",
217
- handler: this.chartsHandler,
218
- args: "stacked_column",
219
- flat: false,
220
- icon: this.icons.charts_stacked_column
221
- },
222
- {
223
- title: Labels.charts_column_line,
224
- id: "fm-tab-charts-column-line",
225
- handler: this.chartsHandler,
226
- args: "column_line",
227
- icon: this.icons.charts_column_line
228
- },
229
- {
230
- title: Labels.charts_multiple,
231
- id: "fm-tab-charts-multiple",
232
- handler: this.chartsMultipleHandler,
233
- flat: false,
234
- mobile: false,
235
- type: "checkbox"
236
- }
180
+ title: Labels.charts_column,
181
+ id: "fm-tab-charts-column",
182
+ handler: this.chartsHandler,
183
+ args: "column",
184
+ icon: this.icons.charts
185
+ },
186
+ {
187
+ title: Labels.charts_bar_horizontal,
188
+ id: "fm-tab-charts-bar-horizontal",
189
+ handler: this.chartsHandler,
190
+ args: "bar_h",
191
+ icon: this.icons.charts_bar
192
+ },
193
+ {
194
+ title: Labels.charts_line,
195
+ id: "fm-tab-charts-line",
196
+ handler: this.chartsHandler,
197
+ args: "line",
198
+ icon: this.icons.charts_line
199
+ },
200
+ {
201
+ title: Labels.charts_scatter,
202
+ id: "fm-tab-charts-scatter",
203
+ handler: this.chartsHandler,
204
+ args: "scatter",
205
+ icon: this.icons.charts_scatter
206
+ },
207
+ {
208
+ title: Labels.charts_pie,
209
+ id: "fm-tab-charts-pie",
210
+ handler: this.chartsHandler,
211
+ args: "pie",
212
+ icon: this.icons.charts_pie
213
+ },
214
+ {
215
+ title: Labels.charts_stacked_column,
216
+ id: "fm-tab-charts-stacked-column",
217
+ handler: this.chartsHandler,
218
+ args: "stacked_column",
219
+ flat: false,
220
+ icon: this.icons.charts_stacked_column
221
+ },
222
+ {
223
+ title: Labels.charts_column_line,
224
+ id: "fm-tab-charts-column-line",
225
+ handler: this.chartsHandler,
226
+ args: "column_line",
227
+ icon: this.icons.charts_column_line
228
+ },
229
+ {
230
+ title: Labels.charts_multiple,
231
+ id: "fm-tab-charts-multiple",
232
+ handler: this.chartsMultipleHandler,
233
+ flat: false,
234
+ mobile: false,
235
+ type: "checkbox"
236
+ }
237
237
  ]
238
238
  });
239
239
  tabs.push({
@@ -247,17 +247,17 @@ FlexmonsterToolbar.prototype.getTabs = function () {
247
247
  icon: this.icons.format,
248
248
  rightGroup: true,
249
249
  menu: [{
250
- title: this.osUtils.isMobile ? Labels.format_cells_mobile : Labels.format_cells,
251
- id: "fm-tab-format-cells",
252
- handler: this.formatCellsHandler,
253
- icon: this.icons.format_number
254
- },
255
- {
256
- title: this.osUtils.isMobile ? Labels.conditional_formatting_mobile : Labels.conditional_formatting,
257
- id: "fm-tab-format-conditional",
258
- handler: this.conditionalFormattingHandler,
259
- icon: this.icons.format_conditional
260
- }
250
+ title: this.osUtils.isMobile ? Labels.format_cells_mobile : Labels.format_cells,
251
+ id: "fm-tab-format-cells",
252
+ handler: this.formatCellsHandler,
253
+ icon: this.icons.format_number
254
+ },
255
+ {
256
+ title: this.osUtils.isMobile ? Labels.conditional_formatting_mobile : Labels.conditional_formatting,
257
+ id: "fm-tab-format-conditional",
258
+ handler: this.conditionalFormattingHandler,
259
+ icon: this.icons.format_conditional
260
+ }
261
261
  ]
262
262
  });
263
263
 
@@ -429,8 +429,8 @@ FlexmonsterToolbar.prototype.init = function () {
429
429
  for (var i = 0; i < children.length; i++) {
430
430
  var classList = children[i].classList;
431
431
  if (!(classList.contains("fm-popup") ||
432
- classList.contains("fm-modal-overlay") ||
433
- classList.contains("fm-popup-modal-overlay"))) {
432
+ classList.contains("fm-modal-overlay") ||
433
+ classList.contains("fm-popup-modal-overlay"))) {
434
434
  elementsToDelete.push(children[i]);
435
435
  }
436
436
  }
@@ -441,7 +441,8 @@ FlexmonsterToolbar.prototype.init = function () {
441
441
  }
442
442
 
443
443
  var enableToolbarScrolling = function () { //enables scrolling if possible
444
- if (_this.toolbar.scrollWidth - _this.toolbar.clientWidth > 0) {
444
+ var singleArrowWidth = 20;
445
+ if (_this.toolbar.scrollWidth - _this.toolbar.clientWidth > singleArrowWidth) {
445
446
  _this.leftScrollButton = document.createElement("div");
446
447
  _this.leftScrollButton.classList.add("fm-left-scroll-button");
447
448
  _this.rightScrollButton = document.createElement("div");
@@ -509,21 +510,17 @@ FlexmonsterToolbar.prototype.init = function () {
509
510
  }
510
511
  }
511
512
 
512
-
513
513
  _this._redrawToolbar = function () {
514
514
  clear();
515
-
516
515
  createToolbar();
517
-
518
516
  enableToolbarScrolling();
519
-
520
517
  if (_this.isFullscreen()) {
521
- document.querySelector("#fm-tab-fullscreen > a > div").innerHTML = _this.icons.minimize;
518
+ _this.pivotContainer.querySelector("#fm-tab-fullscreen > a > div").innerHTML = _this.icons.minimize;
519
+ _this.setText(_this.pivotContainer.querySelector("#fm-tab-fullscreen .fm-tab-label"), _this.Labels.minimize);
522
520
  }
523
521
  }
524
-
522
+
525
523
  _this._redrawToolbar();
526
-
527
524
  window.addEventListener("resize", _this._redrawToolbar);
528
525
  }
529
526
 
@@ -774,7 +771,7 @@ FlexmonsterToolbar.prototype.printHandler = function () {
774
771
  this.pivot.print();
775
772
  }
776
773
  FlexmonsterToolbar.prototype.exportHandler = function (type) {
777
- (type == "pdf") ? this.showExportPdfDialog(): this.pivot.exportTo(type);
774
+ (type == "pdf") ? this.showExportPdfDialog() : this.pivot.exportTo(type);
778
775
  }
779
776
  // Share tab
780
777
  FlexmonsterToolbar.prototype.shareReportHandler = function () {
@@ -803,15 +800,15 @@ FlexmonsterToolbar.prototype.showConnectToRemoteCSVDialog = function () {
803
800
  dialog.content.classList.add("fm-popup-w500");
804
801
  dialog.setTitle(Labels.open_remote_csv);
805
802
  dialog.setToolbar([{
806
- id: "fm-btn-open",
807
- label: Labels.open,
808
- handler: applyHandler,
809
- isPositive: true
810
- },
811
- {
812
- id: "fm-btn-cancel",
813
- label: Labels.cancel
814
- }
803
+ id: "fm-btn-open",
804
+ label: Labels.open,
805
+ handler: applyHandler,
806
+ isPositive: true
807
+ },
808
+ {
809
+ id: "fm-btn-cancel",
810
+ label: Labels.cancel
811
+ }
815
812
  ]);
816
813
 
817
814
  var content = document.createElement("div");
@@ -842,15 +839,15 @@ FlexmonsterToolbar.prototype.showConnectToRemoteJsonDialog = function () {
842
839
  dialog.content.classList.add("fm-popup-w500");
843
840
  dialog.setTitle(Labels.open_remote_json);
844
841
  dialog.setToolbar([{
845
- id: "fm-btn-open",
846
- label: Labels.open,
847
- handler: applyHandler,
848
- isPositive: true
849
- },
850
- {
851
- id: "fm-btn-cancel",
852
- label: Labels.cancel
853
- }
842
+ id: "fm-btn-open",
843
+ label: Labels.open,
844
+ handler: applyHandler,
845
+ isPositive: true
846
+ },
847
+ {
848
+ id: "fm-btn-cancel",
849
+ label: Labels.cancel
850
+ }
854
851
  ]);
855
852
 
856
853
  var content = document.createElement("div");
@@ -903,16 +900,16 @@ FlexmonsterToolbar.prototype.showConnectToElasticDialog = function () {
903
900
  dialog.content.classList.add("fm-popup-w570");
904
901
  dialog.setTitle(Labels.connect_elastic_title);
905
902
  dialog.setToolbar([{
906
- id: "fm-btn-open",
907
- label: Labels.ok,
908
- handler: okHandler,
909
- disabled: true,
910
- isPositive: true
911
- },
912
- {
913
- id: "fm-btn-cancel",
914
- label: Labels.cancel
915
- }
903
+ id: "fm-btn-open",
904
+ label: Labels.ok,
905
+ handler: okHandler,
906
+ disabled: true,
907
+ isPositive: true
908
+ },
909
+ {
910
+ id: "fm-btn-cancel",
911
+ label: Labels.cancel
912
+ }
916
913
  ]);
917
914
 
918
915
  var content = document.createElement("div");
@@ -1025,16 +1022,16 @@ FlexmonsterToolbar.prototype.showConnectToOLAPDialog = function () {
1025
1022
  dialog.content.classList.add("fm-popup-w570");
1026
1023
  dialog.setTitle(this.osUtils.isMobile ? Labels.connect_olap_mobile : Labels.olap_connection_tool);
1027
1024
  dialog.setToolbar([{
1028
- id: "fm-btn-open",
1029
- label: Labels.ok,
1030
- handler: okHandler,
1031
- disabled: true,
1032
- isPositive: true
1033
- },
1034
- {
1035
- id: "fm-btn-cancel",
1036
- label: Labels.cancel
1037
- }
1025
+ id: "fm-btn-open",
1026
+ label: Labels.ok,
1027
+ handler: okHandler,
1028
+ disabled: true,
1029
+ isPositive: true
1030
+ },
1031
+ {
1032
+ id: "fm-btn-cancel",
1033
+ label: Labels.cancel
1034
+ }
1038
1035
  ]);
1039
1036
 
1040
1037
  var content = document.createElement("div");
@@ -1133,15 +1130,15 @@ FlexmonsterToolbar.prototype.showOpenRemoteReportDialog = function () {
1133
1130
  dialog.content.classList.add("fm-popup-w500");
1134
1131
  dialog.setTitle(Labels.open_remote_report);
1135
1132
  dialog.setToolbar([{
1136
- id: "fm-btn-open",
1137
- label: Labels.open,
1138
- handler: applyHandler,
1139
- isPositive: true
1140
- },
1141
- {
1142
- id: "fm-btn-cancel",
1143
- label: Labels.cancel
1144
- }
1133
+ id: "fm-btn-open",
1134
+ label: Labels.open,
1135
+ handler: applyHandler,
1136
+ isPositive: true
1137
+ },
1138
+ {
1139
+ id: "fm-btn-cancel",
1140
+ label: Labels.cancel
1141
+ }
1145
1142
  ]);
1146
1143
  var content = document.createElement("div");
1147
1144
  var textInput = document.createElement("input");
@@ -1159,163 +1156,163 @@ FlexmonsterToolbar.prototype.showOpenRemoteReportDialog = function () {
1159
1156
  // Format cells
1160
1157
  FlexmonsterToolbar.prototype.defaults.numberFormatting = {
1161
1158
  textAligns: [{
1162
- label: "align_left",
1163
- value: "left"
1164
- },
1165
- {
1166
- label: "align_right",
1167
- value: "right"
1168
- },
1169
- {
1170
- label: "align_center",
1171
- value: "center"
1172
- },
1159
+ label: "align_left",
1160
+ value: "left"
1161
+ },
1162
+ {
1163
+ label: "align_right",
1164
+ value: "right"
1165
+ },
1166
+ {
1167
+ label: "align_center",
1168
+ value: "center"
1169
+ },
1173
1170
  ],
1174
1171
  thousandsSeparators: [{
1175
- label: "none",
1176
- value: ""
1177
- },
1178
- {
1179
- label: "space",
1180
- value: " "
1181
- },
1182
- {
1183
- label: ",",
1184
- value: ","
1185
- },
1186
- {
1187
- label: ".",
1188
- value: "."
1189
- },
1172
+ label: "none",
1173
+ value: ""
1174
+ },
1175
+ {
1176
+ label: "space",
1177
+ value: " "
1178
+ },
1179
+ {
1180
+ label: ",",
1181
+ value: ","
1182
+ },
1183
+ {
1184
+ label: ".",
1185
+ value: "."
1186
+ },
1190
1187
  ],
1191
1188
  decimalSeparators: [{
1192
- label: ",",
1193
- value: ","
1194
- },
1195
- {
1196
- label: ".",
1197
- value: "."
1198
- },
1189
+ label: ",",
1190
+ value: ","
1191
+ },
1192
+ {
1193
+ label: ".",
1194
+ value: "."
1195
+ },
1199
1196
  ],
1200
1197
  decimalPlaces: [{
1201
- label: "none",
1202
- value: -1
1203
- },
1204
- {
1205
- label: "0",
1206
- value: 0
1207
- },
1208
- {
1209
- label: "1",
1210
- value: 1
1211
- },
1212
- {
1213
- label: "2",
1214
- value: 2
1215
- },
1216
- {
1217
- label: "3",
1218
- value: 3
1219
- },
1220
- {
1221
- label: "4",
1222
- value: 4
1223
- },
1224
- {
1225
- label: "5",
1226
- value: 5
1227
- },
1228
- {
1229
- label: "6",
1230
- value: 6
1231
- },
1232
- {
1233
- label: "7",
1234
- value: 7
1235
- },
1236
- {
1237
- label: "8",
1238
- value: 8
1239
- },
1240
- {
1241
- label: "9",
1242
- value: 9
1243
- },
1198
+ label: "none",
1199
+ value: -1
1200
+ },
1201
+ {
1202
+ label: "0",
1203
+ value: 0
1204
+ },
1205
+ {
1206
+ label: "1",
1207
+ value: 1
1208
+ },
1209
+ {
1210
+ label: "2",
1211
+ value: 2
1212
+ },
1213
+ {
1214
+ label: "3",
1215
+ value: 3
1216
+ },
1217
+ {
1218
+ label: "4",
1219
+ value: 4
1220
+ },
1221
+ {
1222
+ label: "5",
1223
+ value: 5
1224
+ },
1225
+ {
1226
+ label: "6",
1227
+ value: 6
1228
+ },
1229
+ {
1230
+ label: "7",
1231
+ value: 7
1232
+ },
1233
+ {
1234
+ label: "8",
1235
+ value: 8
1236
+ },
1237
+ {
1238
+ label: "9",
1239
+ value: 9
1240
+ },
1244
1241
  ],
1245
1242
  positiveCurrencyFormats: [{
1246
- label: "$1",
1247
- value: "$1"
1248
- },
1249
- {
1250
- label: "1$",
1251
- value: "1$"
1252
- },
1243
+ label: "$1",
1244
+ value: "$1"
1245
+ },
1246
+ {
1247
+ label: "1$",
1248
+ value: "1$"
1249
+ },
1253
1250
  ],
1254
1251
  negativeCurrencyFormats: [{
1255
- label: "-$1",
1256
- value: "-$1"
1257
- },
1258
- {
1259
- label: "-1$",
1260
- value: "-1$"
1261
- },
1262
- {
1263
- label: "$-1",
1264
- value: "$-1"
1265
- },
1266
- {
1267
- label: "$1-",
1268
- value: "$1-"
1269
- },
1270
- {
1271
- label: "1-$",
1272
- value: "1-$"
1273
- },
1274
- {
1275
- label: "1$-",
1276
- value: "1$-"
1277
- },
1278
- {
1279
- label: "($1)",
1280
- value: "($1)"
1281
- },
1282
- {
1283
- label: "(1$)",
1284
- value: "(1$)"
1285
- },
1252
+ label: "-$1",
1253
+ value: "-$1"
1254
+ },
1255
+ {
1256
+ label: "-1$",
1257
+ value: "-1$"
1258
+ },
1259
+ {
1260
+ label: "$-1",
1261
+ value: "$-1"
1262
+ },
1263
+ {
1264
+ label: "$1-",
1265
+ value: "$1-"
1266
+ },
1267
+ {
1268
+ label: "1-$",
1269
+ value: "1-$"
1270
+ },
1271
+ {
1272
+ label: "1$-",
1273
+ value: "1$-"
1274
+ },
1275
+ {
1276
+ label: "($1)",
1277
+ value: "($1)"
1278
+ },
1279
+ {
1280
+ label: "(1$)",
1281
+ value: "(1$)"
1282
+ },
1286
1283
  ],
1287
1284
  negativeNumberFormats: [{
1288
- label: "-1",
1289
- value: "-1"
1290
- },
1291
- {
1292
- label: "- 1",
1293
- value: "- 1"
1294
- },
1295
- {
1296
- label: "1-",
1297
- value: "1-"
1298
- },
1299
- {
1300
- label: "1 -",
1301
- value: "1 -"
1302
- },
1303
- {
1304
- label: "(1)",
1305
- value: "(1)"
1306
- },
1285
+ label: "-1",
1286
+ value: "-1"
1287
+ },
1288
+ {
1289
+ label: "- 1",
1290
+ value: "- 1"
1291
+ },
1292
+ {
1293
+ label: "1-",
1294
+ value: "1-"
1295
+ },
1296
+ {
1297
+ label: "1 -",
1298
+ value: "1 -"
1299
+ },
1300
+ {
1301
+ label: "(1)",
1302
+ value: "(1)"
1303
+ },
1307
1304
  ],
1308
1305
  isPercent: [{
1309
- label: "true_value",
1310
- value: true
1311
- },
1312
- {
1313
- label: "false_value",
1314
- value: false
1315
- },
1306
+ label: "true_value",
1307
+ value: true
1308
+ },
1309
+ {
1310
+ label: "false_value",
1311
+ value: false
1312
+ },
1316
1313
  ]
1317
1314
  }
1318
- FlexmonsterToolbar.prototype.ConfirmationPopUp = function () {}
1315
+ FlexmonsterToolbar.prototype.ConfirmationPopUp = function () { }
1319
1316
  FlexmonsterToolbar.prototype.showFormatCellsDialog = function (measureName, measureAggregation) {
1320
1317
  var self = this;
1321
1318
  var Labels = this.Labels;
@@ -1411,16 +1408,16 @@ FlexmonsterToolbar.prototype.showFormatCellsDialog = function (measureName, meas
1411
1408
  ConfirmationPopUp.prototype.initializePopUp = function () {
1412
1409
  this.dialog.setTitle(Labels.confirm_title);
1413
1410
  confirmPopUp.dialog.setToolbar([{
1414
- id: "fm-btn-apply",
1415
- label: Labels.ok,
1416
- handler: switchToMeasure,
1417
- isPositive: true
1418
- },
1419
- {
1420
- id: "fm-btn-cancel",
1421
- label: Labels.cancel,
1422
- handler: restoreEditedMeasure
1423
- }
1411
+ id: "fm-btn-apply",
1412
+ label: Labels.ok,
1413
+ handler: switchToMeasure,
1414
+ isPositive: true
1415
+ },
1416
+ {
1417
+ id: "fm-btn-cancel",
1418
+ label: Labels.cancel,
1419
+ handler: restoreEditedMeasure
1420
+ }
1424
1421
  ], false, this.removePopUp);
1425
1422
  var content = document.createElement("div");
1426
1423
  var contentLabel = document.createElement("label");
@@ -1462,8 +1459,8 @@ FlexmonsterToolbar.prototype.showFormatCellsDialog = function (measureName, meas
1462
1459
  var formatObject = {};
1463
1460
  formatObject = filterFormatting(formatObject);
1464
1461
  if ((formatObject.hasOwnProperty("textAlign") || formatObject.hasOwnProperty("thousandsSeparator") || formatObject.hasOwnProperty("decimalSeparator") ||
1465
- formatObject.hasOwnProperty("decimalPlaces") || formatObject.hasOwnProperty("currencySymbol") || formatObject.hasOwnProperty("positiveCurrencyFormat") ||
1466
- formatObject.hasOwnProperty("negativeCurrencyFormat") || formatObject.hasOwnProperty("nullValue") || formatObject.hasOwnProperty("isPercent")) &&
1462
+ formatObject.hasOwnProperty("decimalPlaces") || formatObject.hasOwnProperty("currencySymbol") || formatObject.hasOwnProperty("positiveCurrencyFormat") ||
1463
+ formatObject.hasOwnProperty("negativeCurrencyFormat") || formatObject.hasOwnProperty("nullValue") || formatObject.hasOwnProperty("isPercent")) &&
1467
1464
  (currentMeasureNames && currentMeasureNames.length > 0)) {
1468
1465
  confirmPopUp.createPopUp();
1469
1466
  confirmPopUp.initializePopUp();
@@ -1575,8 +1572,8 @@ FlexmonsterToolbar.prototype.showFormatCellsDialog = function (measureName, meas
1575
1572
  var measure = null;
1576
1573
  for (var i = 0; i < measuresList.length; i++) {
1577
1574
  measure = getMeasureFromUniqueName(measuresList[i]);
1578
- self.pivot.setFormat(formatVO,
1579
- (measure[0] == "" ? null : measure[0]),
1575
+ self.pivot.setFormat(formatVO,
1576
+ (measure[0] == "" ? null : measure[0]),
1580
1577
  (self.singleAggregationFormatting ? undefined : measure[1]));
1581
1578
  }
1582
1579
  // if (valuesDropDown.getValue() === "" && currentReport.hasOwnProperty("formats")) {
@@ -1617,15 +1614,15 @@ FlexmonsterToolbar.prototype.showFormatCellsDialog = function (measureName, meas
1617
1614
  dialog.content.classList.add("fm-popup-format-cells");
1618
1615
  dialog.setTitle(this.osUtils.isMobile ? Labels.format : Labels.format_cells);
1619
1616
  dialog.setToolbar([{
1620
- id: "fm-btn-apply",
1621
- label: Labels.apply,
1622
- handler: applyHandler,
1623
- isPositive: true
1624
- },
1625
- {
1626
- id: "fm-btn-cancel",
1627
- label: Labels.cancel
1628
- }
1617
+ id: "fm-btn-apply",
1618
+ label: Labels.apply,
1619
+ handler: applyHandler,
1620
+ isPositive: true
1621
+ },
1622
+ {
1623
+ id: "fm-btn-cancel",
1624
+ label: Labels.cancel
1625
+ }
1629
1626
  ], true);
1630
1627
 
1631
1628
  var content = document.createElement("div");
@@ -1904,15 +1901,15 @@ FlexmonsterToolbar.prototype.showConditionalFormattingDialog = function (measure
1904
1901
  dialog.content.classList.add("fm-popup-conditional");
1905
1902
  dialog.setTitle(this.osUtils.isMobile ? Labels.conditional : Labels.conditional_formatting);
1906
1903
  dialog.setToolbar([{
1907
- id: "fm-btn-apply",
1908
- label: Labels.apply,
1909
- handler: applyHandler,
1910
- isPositive: true
1911
- },
1912
- {
1913
- id: "fm-btn-cancel",
1914
- label: Labels.cancel
1915
- }
1904
+ id: "fm-btn-apply",
1905
+ label: Labels.apply,
1906
+ handler: applyHandler,
1907
+ isPositive: true
1908
+ },
1909
+ {
1910
+ id: "fm-btn-cancel",
1911
+ label: Labels.cancel
1912
+ }
1916
1913
  ], true);
1917
1914
 
1918
1915
  var addConditionBtn = document.createElement("button");
@@ -1980,37 +1977,37 @@ FlexmonsterToolbar.prototype.showConditionalFormattingDialog = function (measure
1980
1977
  FlexmonsterToolbar.prototype.defaults.fontSizes = ["8px", "9px", "10px", "11px", "12px", "13px", "14px"];
1981
1978
  FlexmonsterToolbar.prototype.defaults.fonts = ['Arial', 'Lucida Sans Unicode', 'Verdana', 'Courier New', 'Palatino Linotype', 'Tahoma', 'Impact', 'Trebuchet MS', 'Georgia', 'Times New Roman'];
1982
1979
  FlexmonsterToolbar.prototype.defaults.conditions = [{
1983
- label: "less_than",
1984
- value: '<'
1985
- },
1986
- {
1987
- label: "less_than_or_equal",
1988
- value: '<='
1989
- },
1990
- {
1991
- label: "greater_than",
1992
- value: '>'
1993
- },
1994
- {
1995
- label: "greater_than_or_equal",
1996
- value: '>='
1997
- },
1998
- {
1999
- label: "equal_to",
2000
- value: '='
2001
- },
2002
- {
2003
- label: "not_equal_to",
2004
- value: '!='
2005
- },
2006
- {
2007
- label: "between",
2008
- value: '><'
2009
- },
2010
- {
2011
- label: "is_empty",
2012
- value: 'isNaN'
2013
- }
1980
+ label: "less_than",
1981
+ value: '<'
1982
+ },
1983
+ {
1984
+ label: "less_than_or_equal",
1985
+ value: '<='
1986
+ },
1987
+ {
1988
+ label: "greater_than",
1989
+ value: '>'
1990
+ },
1991
+ {
1992
+ label: "greater_than_or_equal",
1993
+ value: '>='
1994
+ },
1995
+ {
1996
+ label: "equal_to",
1997
+ value: '='
1998
+ },
1999
+ {
2000
+ label: "not_equal_to",
2001
+ value: '!='
2002
+ },
2003
+ {
2004
+ label: "between",
2005
+ value: '><'
2006
+ },
2007
+ {
2008
+ label: "is_empty",
2009
+ value: 'isNaN'
2010
+ }
2014
2011
  ];
2015
2012
  FlexmonsterToolbar.prototype.createConditionalFormattingItem = function (data, allConditions, isMSAS) {
2016
2013
  var self = this;
@@ -2020,7 +2017,7 @@ FlexmonsterToolbar.prototype.createConditionalFormattingItem = function (data, a
2020
2017
  var MEASURE_UNIQUENAME_DELIMETER = "_@@_@@_@@_";
2021
2018
  //generates uniqueName based on measure's uniqueName and aggregation
2022
2019
  var getMeasureUniqueName = function (uniqueName, aggregation) {
2023
- return _isMSAS || aggregation === "none" || aggregation === "" ? uniqueName : uniqueName + MEASURE_UNIQUENAME_DELIMETER + aggregation;
2020
+ return _isMSAS || aggregation === "none" || aggregation === "" ? uniqueName : uniqueName + MEASURE_UNIQUENAME_DELIMETER + aggregation;
2024
2021
  }
2025
2022
  //generates measure tuple (uniqueName and aggregation) based on getMeasureUniqueName result
2026
2023
  var getMeasureFromUniqueName = function (uniqueName) {
@@ -2048,7 +2045,7 @@ FlexmonsterToolbar.prototype.createConditionalFormattingItem = function (data, a
2048
2045
  value: ""
2049
2046
  }];
2050
2047
  if (selectedMeasure && selectedMeasureAggregation === "" && (currentMeasure && !currentMeasure.calculated) && !isMSAS) {
2051
- var measureItemList = measures.filter(function(item) {
2048
+ var measureItemList = measures.filter(function (item) {
2052
2049
  return item.uniqueName === selectedMeasure;
2053
2050
  });
2054
2051
  var selectedMeasureLabel = measureItemList.length > 0 ? measureItemList[0].name + " (" + Labels.all + ")" : selectedMeasure + " (" + Labels.all + ")";
@@ -2071,8 +2068,8 @@ FlexmonsterToolbar.prototype.createConditionalFormattingItem = function (data, a
2071
2068
  }
2072
2069
  }
2073
2070
  valuesDropDown.setDataProvider(dataProvider);
2074
- valuesDropDown.setValue(selectedMeasure && selectedMeasureAggregation !== undefined
2075
- ? getMeasureUniqueName(selectedMeasure, selectedMeasureAggregation)
2071
+ valuesDropDown.setValue(selectedMeasure && selectedMeasureAggregation !== undefined
2072
+ ? getMeasureUniqueName(selectedMeasure, selectedMeasureAggregation)
2076
2073
  : (selectedMeasure ? selectedMeasure : dataProvider[0].value));
2077
2074
  };
2078
2075
 
@@ -2321,15 +2318,15 @@ FlexmonsterToolbar.prototype.showOptionsDialog = function () {
2321
2318
  dialog.content.classList.add("fm-popup-options");
2322
2319
  dialog.setTitle(this.osUtils.isMobile ? Labels.options : Labels.layout_options);
2323
2320
  dialog.setToolbar([{
2324
- id: "fm-btn-apply",
2325
- label: Labels.apply,
2326
- handler: applyHandler,
2327
- isPositive: true
2328
- },
2329
- {
2330
- id: "fm-btn-cancel",
2331
- label: Labels.cancel
2332
- }
2321
+ id: "fm-btn-apply",
2322
+ label: Labels.apply,
2323
+ handler: applyHandler,
2324
+ isPositive: true
2325
+ },
2326
+ {
2327
+ id: "fm-btn-cancel",
2328
+ label: Labels.cancel
2329
+ }
2333
2330
  ], true);
2334
2331
 
2335
2332
  var content = document.createElement("div");
@@ -2445,15 +2442,15 @@ FlexmonsterToolbar.prototype.showExportPdfDialog = function () {
2445
2442
  var dialog = this.popupManager.createPopup();
2446
2443
  dialog.setTitle(Labels.choose_page_orientation);
2447
2444
  dialog.setToolbar([{
2448
- id: "fm-btn-apply",
2449
- label: Labels.apply,
2450
- handler: applyHandler,
2451
- isPositive: true
2452
- },
2453
- {
2454
- id: "fm-btn-cancel",
2455
- label: Labels.cancel
2456
- }
2445
+ id: "fm-btn-apply",
2446
+ label: Labels.apply,
2447
+ handler: applyHandler,
2448
+ isPositive: true
2449
+ },
2450
+ {
2451
+ id: "fm-btn-cancel",
2452
+ label: Labels.cancel
2453
+ }
2457
2454
  ]);
2458
2455
 
2459
2456
  var content = document.createElement("div");
@@ -2485,39 +2482,21 @@ FlexmonsterToolbar.prototype.isFullscreen = function () {
2485
2482
  FlexmonsterToolbar.prototype.enterFullscreen = function (element) {
2486
2483
  if (element.requestFullscreen || element.webkitRequestFullScreen ||
2487
2484
  element.mozRequestFullScreen || (element.msRequestFullscreen && window == top)) {
2488
- this.containerStyle = {
2489
- width: this.container.style.width,
2490
- height: this.container.style.height,
2491
- position: this.container.style.position,
2492
- top: this.container.style.top,
2493
- bottom: this.container.style.bottom,
2494
- left: this.container.style.left,
2495
- right: this.container.style.right,
2496
- marginTop: this.container.style.marginTop,
2497
- marginLeft: this.container.style.marginLeft,
2498
- zIndex: this.container.style.zIndex
2499
- };
2500
- this.container.style.width = "100%";
2501
- this.container.style.height = "100%";
2502
- this.container.style.position = "fixed";
2503
- this.container.style.top = 0 + "px";
2504
- this.container.style.left = 0 + "px";
2505
- this.container.style.zIndex = 2147483647;
2506
-
2507
- this.toolbarWrapper.style.width = "100%";
2508
- var fullScreenChangeHandler = null;
2509
-
2510
- this._redrawToolbar();
2511
-
2485
+ var _this = this;
2512
2486
  if (element.requestFullscreen) {
2513
- element.requestFullscreen();
2514
- fullScreenChangeHandler = function () {
2515
- if (!this.isFullscreen()) {
2516
- this.exitFullscreen();
2517
- element.removeEventListener("fullscreenchange", fullScreenChangeHandler);
2518
- }
2519
- }.bind(this);
2520
- element.addEventListener("fullscreenchange", fullScreenChangeHandler, false);
2487
+ element.requestFullscreen().then(function () {
2488
+ var fullScreenChangeHandler = function () {
2489
+ if (!_this.isFullscreen()) {
2490
+ _this.exitFullscreen();
2491
+ element.removeEventListener("fullscreenchange", fullScreenChangeHandler);
2492
+ } else {
2493
+ _this.onFullscreenEntered();
2494
+ }
2495
+ }.bind(_this);
2496
+ element.addEventListener("fullscreenchange", fullScreenChangeHandler, false);
2497
+ }).catch(function () {
2498
+ _this.onFullscreenError();
2499
+ });
2521
2500
  } else if (element.webkitRequestFullScreen) {
2522
2501
  var ua = navigator.userAgent;
2523
2502
  if ((ua.indexOf("Safari") > -1) && (ua.indexOf("Chrome") == -1)) {
@@ -2525,28 +2504,34 @@ FlexmonsterToolbar.prototype.enterFullscreen = function (element) {
2525
2504
  } else {
2526
2505
  element.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
2527
2506
  }
2528
- fullScreenChangeHandler = function () {
2507
+ var fullScreenChangeHandler = function () {
2529
2508
  if (!this.isFullscreen()) {
2530
2509
  this.exitFullscreen();
2531
2510
  element.removeEventListener("webkitfullscreenchange", fullScreenChangeHandler);
2511
+ } else {
2512
+ this.onFullscreenEntered();
2532
2513
  }
2533
2514
  }.bind(this);
2534
2515
  element.addEventListener("webkitfullscreenchange", fullScreenChangeHandler, false);
2535
2516
  } else if (element.mozRequestFullScreen) {
2536
2517
  element.mozRequestFullScreen();
2537
- fullScreenChangeHandler = function () {
2518
+ var fullScreenChangeHandler = function () {
2538
2519
  if (!this.isFullscreen()) {
2539
2520
  this.exitFullscreen();
2540
2521
  document.removeEventListener("mozfullscreenchange", fullScreenChangeHandler);
2522
+ } else {
2523
+ this.onFullscreenEntered();
2541
2524
  }
2542
2525
  }.bind(this);
2543
2526
  document.addEventListener("mozfullscreenchange", fullScreenChangeHandler, false);
2544
2527
  } else if (element.msRequestFullscreen) { //IE 11
2545
2528
  element.msRequestFullscreen();
2546
- fullScreenChangeHandler = function () {
2529
+ var fullScreenChangeHandler = function () {
2547
2530
  if (!this.isFullscreen()) {
2548
2531
  this.exitFullscreen();
2549
2532
  document.removeEventListener("MSFullscreenChange", fullScreenChangeHandler);
2533
+ } else {
2534
+ this.onFullscreenEntered();
2550
2535
  }
2551
2536
  }.bind(this);
2552
2537
  document.addEventListener("MSFullscreenChange", fullScreenChangeHandler, false);
@@ -2555,6 +2540,36 @@ FlexmonsterToolbar.prototype.enterFullscreen = function (element) {
2555
2540
  alert("Fullscreen mode in IE11 is not supported when Pivot is embedded in IFrame.");
2556
2541
  }
2557
2542
  }
2543
+ FlexmonsterToolbar.prototype.onFullscreenEntered = function () {
2544
+ this.containerStyle = {
2545
+ width: this.container.style.width,
2546
+ height: this.container.style.height,
2547
+ position: this.container.style.position,
2548
+ top: this.container.style.top,
2549
+ bottom: this.container.style.bottom,
2550
+ left: this.container.style.left,
2551
+ right: this.container.style.right,
2552
+ marginTop: this.container.style.marginTop,
2553
+ marginLeft: this.container.style.marginLeft,
2554
+ zIndex: this.container.style.zIndex
2555
+ };
2556
+ this.container.style.width = "100%";
2557
+ this.container.style.height = "100%";
2558
+ this.container.style.position = "fixed";
2559
+ this.container.style.top = 0 + "px";
2560
+ this.container.style.left = 0 + "px";
2561
+ this.container.style.zIndex = 2147483647;
2562
+
2563
+ this.toolbarWrapper.style.width = "100%";
2564
+
2565
+ this._redrawToolbar();
2566
+ }
2567
+ FlexmonsterToolbar.prototype.onFullscreenError = function () {
2568
+ this.pivot.alert({
2569
+ title: this.Labels.fullscreenErrorTitle,
2570
+ message: this.Labels.fullscreenErrorMessage,
2571
+ });
2572
+ }
2558
2573
  FlexmonsterToolbar.prototype.exitFullscreen = function () {
2559
2574
  this.container.style.width = this.containerStyle.width;
2560
2575
  this.container.style.height = this.containerStyle.height;
@@ -2629,7 +2644,7 @@ FlexmonsterToolbar.prototype.makeSelectableByKeyboard = function (element) {
2629
2644
  if (document.activeElement !== element) {
2630
2645
  return;
2631
2646
  }
2632
- if (e.which == 13 /*enter*/ || e.which == 32 /*space*/ ) {
2647
+ if (e.which == 13 /*enter*/ || e.which == 32 /*space*/) {
2633
2648
  element.click();
2634
2649
  var el = element.querySelector("input");
2635
2650
  if (el) {
@@ -3166,7 +3181,7 @@ FlexmonsterToolbar.prototype.createTabMenu = function (dataProvider, parentTab)
3166
3181
  setActiveItemAt(e.keyCode == 40 ? _activeItemIndex + 1 : _activeItemIndex - 1);
3167
3182
  e.preventDefault();
3168
3183
  }
3169
- if (e.keyCode == 13 /*enter*/ || e.keyCode == 32 /*space*/ ) {
3184
+ if (e.keyCode == 13 /*enter*/ || e.keyCode == 32 /*space*/) {
3170
3185
  if (_isOpen) {
3171
3186
  if (_activeItemIndex >= 0) {
3172
3187
  var data = dataProvider[_activeItemIndex];
@@ -3181,7 +3196,7 @@ FlexmonsterToolbar.prototype.createTabMenu = function (dataProvider, parentTab)
3181
3196
  e.preventDefault();
3182
3197
  }
3183
3198
  }
3184
- if (_isOpen && e.keyCode == 27 /*esc*/ ) {
3199
+ if (_isOpen && e.keyCode == 27 /*esc*/) {
3185
3200
  hide();
3186
3201
  e.stopImmediatePropagation();
3187
3202
  }
@@ -3206,7 +3221,7 @@ FlexmonsterToolbar.prototype.createTabMenu = function (dataProvider, parentTab)
3206
3221
  var rightScrollArrow = _this.container.querySelector(".fm-right-scroll-button");
3207
3222
  var arrowWidth = (leftScrollArrow ? leftScrollArrow.offsetWidth : 0) + (rightScrollArrow ? rightScrollArrow.offsetWidth : 0);
3208
3223
 
3209
- if ((menuRect.left > parentRect.right - arrowWidth || menuRect.left < parentRect.left + arrowWidth)
3224
+ if ((menuRect.left > parentRect.right - arrowWidth || menuRect.left < parentRect.left + arrowWidth)
3210
3225
  && parentRect.right + menuRect.width < toolbarRect.right && _this.toolbar.scrollLeft > 0) {// this case handles left positioning with scroll
3211
3226
  menuContainer.style.left = 0;
3212
3227
  menuRect = menuContainer.getBoundingClientRect();
@@ -3214,11 +3229,11 @@ FlexmonsterToolbar.prototype.createTabMenu = function (dataProvider, parentTab)
3214
3229
  var luft = Math.round(parentRect.right - menuRect.left - parentRect.width * 0.6);
3215
3230
  menuContainer.style.left = luft + "px";
3216
3231
  menuList.classList.add("fm-dropdown-scrollable-left");
3217
- } else if (menuRect.right > toolbarRect.right - arrowWidth
3232
+ } else if (menuRect.right > toolbarRect.right - arrowWidth
3218
3233
  && parentRect.left + parentRect.width / 2 - menuRect.width > 0) {//this case handles right positioning
3219
3234
  menuContainer.style.right = 0;
3220
3235
  menuRect = menuContainer.getBoundingClientRect();
3221
-
3236
+
3222
3237
  var luft = Math.round(menuRect.right - parentRect.left - parentRect.width * 0.6);
3223
3238
  menuContainer.style.right = luft + "px";
3224
3239
  menuList.classList.add("fm-dropdown-scrollable-right");