handsontable 0.0.0-next-21b8f14-20221206 → 0.0.0-next-98bffa5-20221207

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/editorManager.js CHANGED
@@ -18,6 +18,7 @@ require("core-js/modules/es.weak-map.js");
18
18
  require("core-js/modules/web.dom-collections.iterator.js");
19
19
  var _unicode = require("./helpers/unicode");
20
20
  var _event = require("./helpers/dom/event");
21
+ var _element = require("./helpers/dom/element");
21
22
  var _registry = require("./editors/registry");
22
23
  var _eventManager = _interopRequireDefault(require("./eventManager"));
23
24
  var _mixed = require("./helpers/mixed");
@@ -251,10 +252,12 @@ var EditorManager = /*#__PURE__*/function () {
251
252
  // Getting values using the modified coordinates.
252
253
  this.cellProperties = this.instance.getCellMeta(visualRowToCheck, visualColumnToCheck);
253
254
  var activeElement = this.instance.rootDocument.activeElement;
254
- if (activeElement) {
255
- // Blurring the activeElement removes unwanted border around the focusable element
256
- // (and resets activeElement prop). Without blurring the activeElement points to the
257
- // previously focusable element after clicking onto the cell (#6877).
255
+
256
+ // Blurring the `activeElement` removes the unwanted border around the focusable element (#6877)
257
+ // and resets the `document.activeElement` property. The blurring should happen only when the
258
+ // previously selected input element has not belonged to the Handsontable editor. If blurring is
259
+ // triggered for all elements, there is a problem with the disappearing IME editor (#9672).
260
+ if (activeElement && (0, _element.isOutsideInput)(activeElement)) {
258
261
  activeElement.blur();
259
262
  }
260
263
  if (!this.isCellEditable()) {
package/editorManager.mjs CHANGED
@@ -23,6 +23,7 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
23
23
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
24
24
  import { isFunctionKey, isCtrlMetaKey } from "./helpers/unicode.mjs";
25
25
  import { stopImmediatePropagation } from "./helpers/dom/event.mjs";
26
+ import { isOutsideInput } from "./helpers/dom/element.mjs";
26
27
  import { getEditorInstance } from "./editors/registry.mjs";
27
28
  import EventManager from "./eventManager.mjs";
28
29
  import { isDefined } from "./helpers/mixed.mjs";
@@ -244,10 +245,12 @@ var EditorManager = /*#__PURE__*/function () {
244
245
  // Getting values using the modified coordinates.
245
246
  this.cellProperties = this.instance.getCellMeta(visualRowToCheck, visualColumnToCheck);
246
247
  var activeElement = this.instance.rootDocument.activeElement;
247
- if (activeElement) {
248
- // Blurring the activeElement removes unwanted border around the focusable element
249
- // (and resets activeElement prop). Without blurring the activeElement points to the
250
- // previously focusable element after clicking onto the cell (#6877).
248
+
249
+ // Blurring the `activeElement` removes the unwanted border around the focusable element (#6877)
250
+ // and resets the `document.activeElement` property. The blurring should happen only when the
251
+ // previously selected input element has not belonged to the Handsontable editor. If blurring is
252
+ // triggered for all elements, there is a problem with the disappearing IME editor (#9672).
253
+ if (activeElement && isOutsideInput(activeElement)) {
251
254
  activeElement.blur();
252
255
  }
253
256
  if (!this.isCellEditable()) {
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-21b8f14-20221206";
155
+ var hotVersion = "0.0.0-next-98bffa5-20221207";
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-21b8f14-20221206";
145
+ var hotVersion = "0.0.0-next-98bffa5-20221207";
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-21b8f14-20221206",
13
+ "version": "0.0.0-next-98bffa5-20221207",
14
14
  "main": "index",
15
15
  "module": "index.mjs",
16
16
  "jsnext:main": "index.mjs",
@@ -489,15 +489,6 @@ var Endpoints = /*#__PURE__*/function () {
489
489
  var useOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
490
490
  var alterRowOffset = endpoint.alterRowOffset || 0;
491
491
  var alterColOffset = endpoint.alterColumnOffset || 0;
492
- var _ref = [this.hot.toVisualRow(endpoint.destinationRow), this.hot.toVisualColumn(endpoint.destinationColumn)],
493
- visualRowIndex = _ref[0],
494
- visualColumnIndex = _ref[1];
495
- if (visualColumnIndex !== null && visualRowIndex !== null) {
496
- // Clear the meta on the "old" indexes
497
- var cellMeta = this.hot.getCellMeta(visualRowIndex, visualColumnIndex);
498
- cellMeta.readOnly = false;
499
- cellMeta.className = '';
500
- }
501
492
  this.cellsToSetCache.push([this.hot.toVisualRow(endpoint.destinationRow + (useOffset ? alterRowOffset : 0)), this.hot.toVisualColumn(endpoint.destinationColumn + (useOffset ? alterColOffset : 0)), '']);
502
493
  }
503
494
 
@@ -512,17 +503,14 @@ var Endpoints = /*#__PURE__*/function () {
512
503
  key: "setEndpointValue",
513
504
  value: function setEndpointValue(endpoint, source) {
514
505
  var render = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
515
- // We'll need the reversed offset values, because cellMeta will be shifted AGAIN afterwards.
516
- var reverseRowOffset = -1 * endpoint.alterRowOffset || 0;
517
- var reverseColOffset = -1 * endpoint.alterColumnOffset || 0;
518
506
  var visualEndpointRowIndex = this.hot.toVisualRow(endpoint.destinationRow);
519
507
  if (endpoint.destinationRow >= this.hot.countRows() || endpoint.destinationColumn >= this.hot.countCols()) {
520
508
  this.throwOutOfBoundsWarning();
521
509
  return;
522
510
  }
523
- var destinationVisualRow = this.hot.toVisualRow(endpoint.destinationRow + reverseRowOffset);
511
+ var destinationVisualRow = this.hot.toVisualRow(endpoint.destinationRow);
524
512
  if (destinationVisualRow !== null) {
525
- var cellMeta = this.hot.getCellMeta(destinationVisualRow, endpoint.destinationColumn + reverseColOffset);
513
+ var cellMeta = this.hot.getCellMeta(destinationVisualRow, endpoint.destinationColumn);
526
514
  if (source === 'init' || cellMeta.readOnly !== endpoint.readOnly) {
527
515
  cellMeta.readOnly = endpoint.readOnly;
528
516
  cellMeta.className = 'columnSummaryResult';
@@ -485,15 +485,6 @@ var Endpoints = /*#__PURE__*/function () {
485
485
  var useOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
486
486
  var alterRowOffset = endpoint.alterRowOffset || 0;
487
487
  var alterColOffset = endpoint.alterColumnOffset || 0;
488
- var _ref = [this.hot.toVisualRow(endpoint.destinationRow), this.hot.toVisualColumn(endpoint.destinationColumn)],
489
- visualRowIndex = _ref[0],
490
- visualColumnIndex = _ref[1];
491
- if (visualColumnIndex !== null && visualRowIndex !== null) {
492
- // Clear the meta on the "old" indexes
493
- var cellMeta = this.hot.getCellMeta(visualRowIndex, visualColumnIndex);
494
- cellMeta.readOnly = false;
495
- cellMeta.className = '';
496
- }
497
488
  this.cellsToSetCache.push([this.hot.toVisualRow(endpoint.destinationRow + (useOffset ? alterRowOffset : 0)), this.hot.toVisualColumn(endpoint.destinationColumn + (useOffset ? alterColOffset : 0)), '']);
498
489
  }
499
490
 
@@ -508,17 +499,14 @@ var Endpoints = /*#__PURE__*/function () {
508
499
  key: "setEndpointValue",
509
500
  value: function setEndpointValue(endpoint, source) {
510
501
  var render = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
511
- // We'll need the reversed offset values, because cellMeta will be shifted AGAIN afterwards.
512
- var reverseRowOffset = -1 * endpoint.alterRowOffset || 0;
513
- var reverseColOffset = -1 * endpoint.alterColumnOffset || 0;
514
502
  var visualEndpointRowIndex = this.hot.toVisualRow(endpoint.destinationRow);
515
503
  if (endpoint.destinationRow >= this.hot.countRows() || endpoint.destinationColumn >= this.hot.countCols()) {
516
504
  this.throwOutOfBoundsWarning();
517
505
  return;
518
506
  }
519
- var destinationVisualRow = this.hot.toVisualRow(endpoint.destinationRow + reverseRowOffset);
507
+ var destinationVisualRow = this.hot.toVisualRow(endpoint.destinationRow);
520
508
  if (destinationVisualRow !== null) {
521
- var cellMeta = this.hot.getCellMeta(destinationVisualRow, endpoint.destinationColumn + reverseColOffset);
509
+ var cellMeta = this.hot.getCellMeta(destinationVisualRow, endpoint.destinationColumn);
522
510
  if (source === 'init' || cellMeta.readOnly !== endpoint.readOnly) {
523
511
  cellMeta.readOnly = endpoint.readOnly;
524
512
  cellMeta.className = 'columnSummaryResult';