flexmonster 2.9.26 → 2.9.27

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 (41) hide show
  1. package/flexmonster.css +11 -6
  2. package/flexmonster.es5.full.js +2815 -2805
  3. package/flexmonster.es5.js +2573 -2563
  4. package/flexmonster.full.js +2473 -2468
  5. package/flexmonster.js +2231 -2226
  6. package/flexmonster.min.css +1 -1
  7. package/package.json +1 -1
  8. package/theme/accessible/flexmonster.css +11 -6
  9. package/theme/accessible/flexmonster.min.css +1 -1
  10. package/theme/blackorange/flexmonster.css +11 -6
  11. package/theme/blackorange/flexmonster.min.css +1 -1
  12. package/theme/brightorange/flexmonster.css +11 -6
  13. package/theme/brightorange/flexmonster.min.css +1 -1
  14. package/theme/dark/flexmonster.css +11 -6
  15. package/theme/dark/flexmonster.min.css +1 -1
  16. package/theme/flexmonster-base.less +11 -6
  17. package/theme/green/flexmonster.css +11 -6
  18. package/theme/green/flexmonster.min.css +1 -1
  19. package/theme/lightblue/flexmonster.css +11 -6
  20. package/theme/lightblue/flexmonster.min.css +1 -1
  21. package/theme/macos/flexmonster.css +11 -6
  22. package/theme/macos/flexmonster.min.css +1 -1
  23. package/theme/midnight/flexmonster.css +11 -6
  24. package/theme/midnight/flexmonster.min.css +1 -1
  25. package/theme/old/flexmonster.css +11 -6
  26. package/theme/old/flexmonster.min.css +1 -1
  27. package/theme/orange/flexmonster.css +11 -6
  28. package/theme/orange/flexmonster.min.css +1 -1
  29. package/theme/purple/flexmonster.css +11 -6
  30. package/theme/purple/flexmonster.min.css +1 -1
  31. package/theme/softdefault/flexmonster.css +11 -6
  32. package/theme/softdefault/flexmonster.min.css +1 -1
  33. package/theme/stripedblue/flexmonster.css +11 -6
  34. package/theme/stripedblue/flexmonster.min.css +1 -1
  35. package/theme/stripedteal/flexmonster.css +11 -6
  36. package/theme/stripedteal/flexmonster.min.css +1 -1
  37. package/theme/teal/flexmonster.css +11 -6
  38. package/theme/teal/flexmonster.min.css +1 -1
  39. package/theme/yellow/flexmonster.css +11 -6
  40. package/theme/yellow/flexmonster.min.css +1 -1
  41. package/toolbar/flexmonster.toolbar.js +22 -14
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Flexmonster Pivot Table & Charts [https://www.flexmonster.com/]
3
- * May 2022 (v. 2.9.26)
3
+ * June 2022 (v. 2.9.27)
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
  }
@@ -3193,29 +3193,37 @@ FlexmonsterToolbar.prototype.createTabMenu = function (dataProvider, parentTab)
3193
3193
 
3194
3194
  function show() {
3195
3195
  parentTab.classList.add("fm-opened");
3196
- parentTab.classList.remove("fm-align-right");
3197
3196
  menuList.classList.remove("fm-dropdown-scrollable-left");
3198
3197
  menuList.classList.remove("fm-dropdown-scrollable-right");
3199
3198
  menuContainer.style.right = menuContainer.style.left = null;
3199
+
3200
3200
  var menuRect = menuContainer.getBoundingClientRect();
3201
+ var parentRect = parentTab.getBoundingClientRect();
3201
3202
  var toolbarRect = _this.toolbarWrapper.getBoundingClientRect();
3202
3203
  var leftScrollArrow = _this.container.querySelector(".fm-left-scroll-button");
3204
+ var leftScrollArrowRect = leftScrollArrow ? leftScrollArrow.getBoundingClientRect() : null;
3203
3205
  var rightScrollArrow = _this.container.querySelector(".fm-right-scroll-button");
3204
3206
  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");
3207
+
3208
+ if ((menuRect.left > parentRect.right - arrowWidth || menuRect.left < parentRect.left + arrowWidth)
3209
+ && parentRect.right + menuRect.width < toolbarRect.right && _this.toolbar.scrollLeft > 0) {// this case handles left positioning with scroll
3210
+ menuContainer.style.left = 0;
3208
3211
  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;
3212
+
3213
+ var luft = Math.round(parentRect.right - menuRect.left - parentRect.width * 0.6);
3217
3214
  menuContainer.style.left = luft + "px";
3218
3215
  menuList.classList.add("fm-dropdown-scrollable-left");
3216
+ } else if (menuRect.right > toolbarRect.right - arrowWidth
3217
+ && parentRect.left + parentRect.width / 2 - menuRect.width > 0) {//this case handles right positioning
3218
+ menuContainer.style.right = 0;
3219
+ menuRect = menuContainer.getBoundingClientRect();
3220
+
3221
+ var luft = Math.round(menuRect.right - parentRect.left - parentRect.width * 0.6);
3222
+ menuContainer.style.right = luft + "px";
3223
+ menuList.classList.add("fm-dropdown-scrollable-right");
3224
+ } else if (leftScrollArrowRect && parentRect.left < leftScrollArrowRect.right) {// this case handles left positon on the edge
3225
+ menuContainer.style.left = 0;
3226
+ menuList.classList.add("fm-dropdown-scrollable-left");
3219
3227
  }
3220
3228
  setActiveItemAt(-2);
3221
3229
  parentTab.querySelector("a").setAttribute("aria-activedescendant", menuList.children.item(0).id);