flexmonster 2.9.26 → 2.9.29

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 (45) hide show
  1. package/flexmonster.css +11 -6
  2. package/flexmonster.es5.full.js +2671 -2660
  3. package/flexmonster.es5.js +2588 -2577
  4. package/flexmonster.full.js +2482 -2476
  5. package/flexmonster.js +2399 -2393
  6. package/flexmonster.min.css +1 -1
  7. package/lib/html2canvas.v1.min.js +1 -1
  8. package/lib/jspdf.min.js +1 -1
  9. package/localizations/uk.json +4 -4
  10. package/package.json +1 -1
  11. package/theme/accessible/flexmonster.css +11 -6
  12. package/theme/accessible/flexmonster.min.css +1 -1
  13. package/theme/blackorange/flexmonster.css +11 -6
  14. package/theme/blackorange/flexmonster.min.css +1 -1
  15. package/theme/brightorange/flexmonster.css +11 -6
  16. package/theme/brightorange/flexmonster.min.css +1 -1
  17. package/theme/dark/flexmonster.css +11 -6
  18. package/theme/dark/flexmonster.min.css +1 -1
  19. package/theme/flexmonster-base.less +11 -6
  20. package/theme/green/flexmonster.css +11 -6
  21. package/theme/green/flexmonster.min.css +1 -1
  22. package/theme/lightblue/flexmonster.css +11 -6
  23. package/theme/lightblue/flexmonster.min.css +1 -1
  24. package/theme/macos/flexmonster.css +11 -6
  25. package/theme/macos/flexmonster.min.css +1 -1
  26. package/theme/midnight/flexmonster.css +11 -6
  27. package/theme/midnight/flexmonster.min.css +1 -1
  28. package/theme/old/flexmonster.css +11 -6
  29. package/theme/old/flexmonster.min.css +1 -1
  30. package/theme/orange/flexmonster.css +11 -6
  31. package/theme/orange/flexmonster.min.css +1 -1
  32. package/theme/purple/flexmonster.css +11 -6
  33. package/theme/purple/flexmonster.min.css +1 -1
  34. package/theme/softdefault/flexmonster.css +11 -6
  35. package/theme/softdefault/flexmonster.min.css +1 -1
  36. package/theme/stripedblue/flexmonster.css +11 -6
  37. package/theme/stripedblue/flexmonster.min.css +1 -1
  38. package/theme/stripedteal/flexmonster.css +11 -6
  39. package/theme/stripedteal/flexmonster.min.css +1 -1
  40. package/theme/teal/flexmonster.css +11 -6
  41. package/theme/teal/flexmonster.min.css +1 -1
  42. package/theme/yellow/flexmonster.css +11 -6
  43. package/theme/yellow/flexmonster.min.css +1 -1
  44. package/toolbar/flexmonster.toolbar.js +25 -16
  45. package/types/flexmonster.d.ts +1 -0
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Flexmonster Pivot Table & Charts [https://www.flexmonster.com/]
3
- * May 2022 (v. 2.9.26)
3
+ * July 2022 (v. 2.9.29)
4
4
  * Copyright (c) 2022 Flexmonster. All rights reserved.
5
5
  *
6
6
  * Flexmonster Pivot Table & Charts commercial licenses may be obtained at
@@ -475,7 +475,7 @@ FlexmonsterToolbar.prototype.init = function () {
475
475
  if (_this.toolbar.scrollLeft + luft * epsillon >= maxWidth && _this.rightScrollButton.classList.contains("fm-scroll-arrow")) {
476
476
  changeListWrapperWidth("remove");
477
477
  _this.rightScrollButton.classList.remove("fm-scroll-arrow");
478
- } else if (_this.toolbar.scrollLeft < maxWidth && !_this.rightScrollButton.classList.contains("fm-scroll-arrow")) {
478
+ } else if (_this.toolbar.scrollLeft + luft * epsillon < maxWidth && !_this.rightScrollButton.classList.contains("fm-scroll-arrow")) {
479
479
  changeListWrapperWidth("add");
480
480
  _this.addClass(_this.rightScrollButton, "fm-scroll-arrow");
481
481
  }
@@ -2506,7 +2506,8 @@ FlexmonsterToolbar.prototype.enterFullscreen = function (element) {
2506
2506
 
2507
2507
  this.toolbarWrapper.style.width = "100%";
2508
2508
  var fullScreenChangeHandler = null;
2509
- this.init();
2509
+
2510
+ this._redrawToolbar();
2510
2511
 
2511
2512
  if (element.requestFullscreen) {
2512
2513
  element.requestFullscreen();
@@ -2578,7 +2579,7 @@ FlexmonsterToolbar.prototype.exitFullscreen = function () {
2578
2579
  document.msExitFullscreen();
2579
2580
  }
2580
2581
 
2581
- this.init();
2582
+ this._redrawToolbar();
2582
2583
 
2583
2584
  this.setText(document.querySelector("#fm-tab-fullscreen .fm-tab-label"), this.Labels.fullscreen);
2584
2585
  document.querySelector("#fm-tab-fullscreen .fm-svg-icon").innerHTML = this.icons.fullscreen;
@@ -3193,29 +3194,37 @@ FlexmonsterToolbar.prototype.createTabMenu = function (dataProvider, parentTab)
3193
3194
 
3194
3195
  function show() {
3195
3196
  parentTab.classList.add("fm-opened");
3196
- parentTab.classList.remove("fm-align-right");
3197
3197
  menuList.classList.remove("fm-dropdown-scrollable-left");
3198
3198
  menuList.classList.remove("fm-dropdown-scrollable-right");
3199
3199
  menuContainer.style.right = menuContainer.style.left = null;
3200
+
3200
3201
  var menuRect = menuContainer.getBoundingClientRect();
3202
+ var parentRect = parentTab.getBoundingClientRect();
3201
3203
  var toolbarRect = _this.toolbarWrapper.getBoundingClientRect();
3202
3204
  var leftScrollArrow = _this.container.querySelector(".fm-left-scroll-button");
3205
+ var leftScrollArrowRect = leftScrollArrow ? leftScrollArrow.getBoundingClientRect() : null;
3203
3206
  var rightScrollArrow = _this.container.querySelector(".fm-right-scroll-button");
3204
3207
  var arrowWidth = (leftScrollArrow ? leftScrollArrow.offsetWidth : 0) + (rightScrollArrow ? rightScrollArrow.offsetWidth : 0);
3205
- if (menuRect.right > toolbarRect.right - arrowWidth) {
3206
- menuContainer.style.right = 0;
3207
- _this.addClass(parentTab, "fm-align-right");
3208
+
3209
+ if ((menuRect.left > parentRect.right - arrowWidth || menuRect.left < parentRect.left + arrowWidth)
3210
+ && parentRect.right + menuRect.width < toolbarRect.right && _this.toolbar.scrollLeft > 0) {// this case handles left positioning with scroll
3211
+ menuContainer.style.left = 0;
3208
3212
  menuRect = menuContainer.getBoundingClientRect();
3209
- if (menuRect.right > toolbarRect.right - (rightScrollArrow ? rightScrollArrow.offsetWidth : 0)) {
3210
- var luft = menuRect.right - rightScrollArrow.getBoundingClientRect().left + 5;
3211
- menuContainer.style.right = luft + "px";
3212
- _this.removeClass(parentTab, "fm-align-right");
3213
- menuList.classList.add("fm-dropdown-scrollable-right");
3214
- }
3215
- } else if (menuRect.left < toolbarRect.left + (leftScrollArrow ? leftScrollArrow.offsetWidth : 0)) { //this block handles cases when scrolling tabs are partly hidden
3216
- var luft = (leftScrollArrow ? leftScrollArrow.getBoundingClientRect().right : 0) - menuRect.left + 5;
3213
+
3214
+ var luft = Math.round(parentRect.right - menuRect.left - parentRect.width * 0.6);
3217
3215
  menuContainer.style.left = luft + "px";
3218
3216
  menuList.classList.add("fm-dropdown-scrollable-left");
3217
+ } else if (menuRect.right > toolbarRect.right - arrowWidth
3218
+ && parentRect.left + parentRect.width / 2 - menuRect.width > 0) {//this case handles right positioning
3219
+ menuContainer.style.right = 0;
3220
+ menuRect = menuContainer.getBoundingClientRect();
3221
+
3222
+ var luft = Math.round(menuRect.right - parentRect.left - parentRect.width * 0.6);
3223
+ menuContainer.style.right = luft + "px";
3224
+ menuList.classList.add("fm-dropdown-scrollable-right");
3225
+ } else if (leftScrollArrowRect && parentRect.left < leftScrollArrowRect.right) {// this case handles left positon on the edge
3226
+ menuContainer.style.left = 0;
3227
+ menuList.classList.add("fm-dropdown-scrollable-left");
3219
3228
  }
3220
3229
  setActiveItemAt(-2);
3221
3230
  parentTab.querySelector("a").setAttribute("aria-activedescendant", menuList.children.item(0).id);
@@ -247,6 +247,7 @@ declare namespace Flexmonster {
247
247
  catalog?: string;
248
248
  cube?: string;
249
249
  data?: object[];
250
+ dataRootPath?: string;
250
251
  dataSourceInfo?: string;
251
252
  fieldSeparator?: string;
252
253
  thousandSeparator?: string;