handsontable 0.0.0-next-09eb648-20230511 → 0.0.0-next-0962f2c-20230512

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

package/helpers/mixed.js CHANGED
@@ -152,7 +152,7 @@ var domMessages = {
152
152
  function _injectProductInfo(key, element) {
153
153
  var hasValidType = !isEmpty(key);
154
154
  var isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
155
- var hotVersion = "0.0.0-next-09eb648-20230511";
155
+ var hotVersion = "0.0.0-next-0962f2c-20230512";
156
156
  var keyValidityDate;
157
157
  var consoleMessageState = 'invalid';
158
158
  var domMessageState = 'invalid';
package/helpers/mixed.mjs CHANGED
@@ -142,7 +142,7 @@ var domMessages = {
142
142
  export function _injectProductInfo(key, element) {
143
143
  var hasValidType = !isEmpty(key);
144
144
  var isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
145
- var hotVersion = "0.0.0-next-09eb648-20230511";
145
+ var hotVersion = "0.0.0-next-0962f2c-20230512";
146
146
  var keyValidityDate;
147
147
  var consoleMessageState = 'invalid';
148
148
  var domMessageState = 'invalid';
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "url": "https://github.com/handsontable/handsontable/issues"
11
11
  },
12
12
  "author": "Handsoncode <hello@handsontable.com>",
13
- "version": "0.0.0-next-09eb648-20230511",
13
+ "version": "0.0.0-next-0962f2c-20230512",
14
14
  "main": "index",
15
15
  "module": "index.mjs",
16
16
  "jsnext:main": "index.mjs",
@@ -14,6 +14,8 @@ export interface BorderRange {
14
14
  };
15
15
  }
16
16
  export type DetailedSettings = (SimpleCellCoords | BorderRange) & {
17
+ start?: BorderOptions | string;
18
+ end?: BorderOptions | string;
17
19
  left?: BorderOptions | string;
18
20
  right?: BorderOptions | string;
19
21
  top?: BorderOptions | string;
@@ -484,38 +484,53 @@ var ManualRowMove = /*#__PURE__*/function (_BasePlugin) {
484
484
  }
485
485
  var wtTable = this.hot.view._wt.wtTable;
486
486
  var TD = priv.target.TD;
487
- var rootElementOffset = (0, _element.offset)(this.hot.rootElement);
488
- var tdOffsetTop = this.hot.view.THEAD.offsetHeight + this.getRowsHeight(0, coords.row - 1);
489
- var mouseOffsetTop = priv.target.eventPageY - rootElementOffset.top + wtTable.holder.scrollTop;
487
+ var rootElement = this.hot.rootElement;
488
+ var rootElementOffset = (0, _element.offset)(rootElement);
489
+ var trimmingContainer = (0, _element.getTrimmingContainer)(rootElement);
490
+ var tableScroll = wtTable.holder.scrollTop;
491
+ var trimmingContainerScroll;
492
+
493
+ // Trimming container is the `window` element.
494
+ if (this.hot.rootWindow === trimmingContainer) {
495
+ trimmingContainerScroll = trimmingContainer.scrollY;
496
+ } else {
497
+ trimmingContainerScroll = trimmingContainer.scrollTop;
498
+ }
499
+ var pixelsAbove = rootElementOffset.top - trimmingContainerScroll;
500
+ var pixelsRelToTableStart = priv.target.eventPageY - pixelsAbove + tableScroll;
490
501
  var hiderHeight = wtTable.hider.offsetHeight;
491
502
  var tbodyOffsetTop = wtTable.TBODY.offsetTop;
492
503
  var backlightElemMarginTop = this.backlight.getOffset().top;
493
504
  var backlightElemHeight = this.backlight.getSize().height;
505
+ var tdMiddle = TD.offsetHeight / 2;
506
+ var tdHeight = TD.offsetHeight;
507
+ var tdStartPixel = this.hot.view.THEAD.offsetHeight + this.getRowsHeight(0, coords.row - 1);
508
+ var isBelowTable = pixelsRelToTableStart >= tdStartPixel + tdMiddle;
494
509
  if (this.isFixedRowTop(coords.row)) {
495
- tdOffsetTop += wtTable.holder.scrollTop;
510
+ tdStartPixel += wtTable.holder.scrollTop;
496
511
  }
497
512
  if (coords.row < 0) {
498
513
  // if hover on colHeader
499
514
  priv.target.row = firstVisible > 0 ? firstVisible - 1 : firstVisible;
500
- } else if (TD.offsetHeight / 2 + tdOffsetTop <= mouseOffsetTop) {
515
+ } else if (isBelowTable) {
501
516
  // if hover on lower part of TD
502
517
  priv.target.row = coords.row + 1;
503
518
  // unfortunately first row is bigger than rest
504
- tdOffsetTop += coords.row === 0 ? TD.offsetHeight - 1 : TD.offsetHeight;
519
+ tdStartPixel += coords.row === 0 ? tdHeight - 1 : tdHeight;
505
520
  } else {
506
521
  // elsewhere on table
507
522
  priv.target.row = coords.row;
508
523
  }
509
- var backlightTop = mouseOffsetTop;
510
- var guidelineTop = tdOffsetTop;
511
- if (mouseOffsetTop + backlightElemHeight + backlightElemMarginTop >= hiderHeight) {
524
+ var backlightTop = pixelsRelToTableStart;
525
+ var guidelineTop = tdStartPixel;
526
+ if (pixelsRelToTableStart + backlightElemHeight + backlightElemMarginTop >= hiderHeight) {
512
527
  // prevent display backlight below table
513
528
  backlightTop = hiderHeight - backlightElemHeight - backlightElemMarginTop;
514
- } else if (mouseOffsetTop + backlightElemMarginTop < tbodyOffsetTop) {
529
+ } else if (pixelsRelToTableStart + backlightElemMarginTop < tbodyOffsetTop) {
515
530
  // prevent display above below table
516
531
  backlightTop = tbodyOffsetTop + Math.abs(backlightElemMarginTop);
517
532
  }
518
- if (tdOffsetTop >= hiderHeight - 1) {
533
+ if (tdStartPixel >= hiderHeight - 1) {
519
534
  // prevent display guideline below table
520
535
  guidelineTop = hiderHeight - 1;
521
536
  }
@@ -34,7 +34,7 @@ import "core-js/modules/es.symbol.iterator.js";
34
34
  import { BasePlugin } from "../base/index.mjs";
35
35
  import Hooks from "../../pluginHooks.mjs";
36
36
  import { arrayReduce } from "../../helpers/array.mjs";
37
- import { addClass, removeClass, offset } from "../../helpers/dom/element.mjs";
37
+ import { addClass, removeClass, offset, getTrimmingContainer } from "../../helpers/dom/element.mjs";
38
38
  import { rangeEach } from "../../helpers/number.mjs";
39
39
  import EventManager from "../../eventManager.mjs";
40
40
  import BacklightUI from "./ui/backlight.mjs";
@@ -477,38 +477,53 @@ export var ManualRowMove = /*#__PURE__*/function (_BasePlugin) {
477
477
  }
478
478
  var wtTable = this.hot.view._wt.wtTable;
479
479
  var TD = priv.target.TD;
480
- var rootElementOffset = offset(this.hot.rootElement);
481
- var tdOffsetTop = this.hot.view.THEAD.offsetHeight + this.getRowsHeight(0, coords.row - 1);
482
- var mouseOffsetTop = priv.target.eventPageY - rootElementOffset.top + wtTable.holder.scrollTop;
480
+ var rootElement = this.hot.rootElement;
481
+ var rootElementOffset = offset(rootElement);
482
+ var trimmingContainer = getTrimmingContainer(rootElement);
483
+ var tableScroll = wtTable.holder.scrollTop;
484
+ var trimmingContainerScroll;
485
+
486
+ // Trimming container is the `window` element.
487
+ if (this.hot.rootWindow === trimmingContainer) {
488
+ trimmingContainerScroll = trimmingContainer.scrollY;
489
+ } else {
490
+ trimmingContainerScroll = trimmingContainer.scrollTop;
491
+ }
492
+ var pixelsAbove = rootElementOffset.top - trimmingContainerScroll;
493
+ var pixelsRelToTableStart = priv.target.eventPageY - pixelsAbove + tableScroll;
483
494
  var hiderHeight = wtTable.hider.offsetHeight;
484
495
  var tbodyOffsetTop = wtTable.TBODY.offsetTop;
485
496
  var backlightElemMarginTop = this.backlight.getOffset().top;
486
497
  var backlightElemHeight = this.backlight.getSize().height;
498
+ var tdMiddle = TD.offsetHeight / 2;
499
+ var tdHeight = TD.offsetHeight;
500
+ var tdStartPixel = this.hot.view.THEAD.offsetHeight + this.getRowsHeight(0, coords.row - 1);
501
+ var isBelowTable = pixelsRelToTableStart >= tdStartPixel + tdMiddle;
487
502
  if (this.isFixedRowTop(coords.row)) {
488
- tdOffsetTop += wtTable.holder.scrollTop;
503
+ tdStartPixel += wtTable.holder.scrollTop;
489
504
  }
490
505
  if (coords.row < 0) {
491
506
  // if hover on colHeader
492
507
  priv.target.row = firstVisible > 0 ? firstVisible - 1 : firstVisible;
493
- } else if (TD.offsetHeight / 2 + tdOffsetTop <= mouseOffsetTop) {
508
+ } else if (isBelowTable) {
494
509
  // if hover on lower part of TD
495
510
  priv.target.row = coords.row + 1;
496
511
  // unfortunately first row is bigger than rest
497
- tdOffsetTop += coords.row === 0 ? TD.offsetHeight - 1 : TD.offsetHeight;
512
+ tdStartPixel += coords.row === 0 ? tdHeight - 1 : tdHeight;
498
513
  } else {
499
514
  // elsewhere on table
500
515
  priv.target.row = coords.row;
501
516
  }
502
- var backlightTop = mouseOffsetTop;
503
- var guidelineTop = tdOffsetTop;
504
- if (mouseOffsetTop + backlightElemHeight + backlightElemMarginTop >= hiderHeight) {
517
+ var backlightTop = pixelsRelToTableStart;
518
+ var guidelineTop = tdStartPixel;
519
+ if (pixelsRelToTableStart + backlightElemHeight + backlightElemMarginTop >= hiderHeight) {
505
520
  // prevent display backlight below table
506
521
  backlightTop = hiderHeight - backlightElemHeight - backlightElemMarginTop;
507
- } else if (mouseOffsetTop + backlightElemMarginTop < tbodyOffsetTop) {
522
+ } else if (pixelsRelToTableStart + backlightElemMarginTop < tbodyOffsetTop) {
508
523
  // prevent display above below table
509
524
  backlightTop = tbodyOffsetTop + Math.abs(backlightElemMarginTop);
510
525
  }
511
- if (tdOffsetTop >= hiderHeight - 1) {
526
+ if (tdStartPixel >= hiderHeight - 1) {
512
527
  // prevent display guideline below table
513
528
  guidelineTop = hiderHeight - 1;
514
529
  }