@atlaskit/editor-common 76.26.5 → 76.26.6

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 76.26.6
4
+
5
+ ### Patch Changes
6
+
7
+ - [#60295](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/60295) [`48109245628a`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/48109245628a) - Optimised the change node diff scan which occurs for every dispatched transaction within the editor
8
+
3
9
  ## 76.26.5
4
10
 
5
11
  ### Patch Changes
@@ -16,7 +16,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
16
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
17
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
18
18
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
19
- var packageVersion = "76.26.5";
19
+ var packageVersion = "76.26.6";
20
20
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
21
21
  // Remove URL as it has UGC
22
22
  // TODO: Sanitise the URL instead of just removing it
@@ -24,7 +24,7 @@ var _templateObject, _templateObject2, _templateObject3;
24
24
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
25
25
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** @jsx jsx */
26
26
  var packageName = "@atlaskit/editor-common";
27
- var packageVersion = "76.26.5";
27
+ var packageVersion = "76.26.6";
28
28
  var halfFocusRing = 1;
29
29
  var dropOffset = '0, 8';
30
30
  var DropList = /*#__PURE__*/function (_Component) {
@@ -9,6 +9,7 @@ exports.toJSON = toJSON;
9
9
  exports.validateNodes = exports.validNode = void 0;
10
10
  var _editorJsonTransformer = require("@atlaskit/editor-json-transformer");
11
11
  var _utils = require("@atlaskit/editor-prosemirror/utils");
12
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
13
  /**
13
14
  * Finds all top level nodes affected by the transaction
14
15
  * Uses from/to positions in transaction's steps to work out which nodes will
@@ -17,25 +18,36 @@ var _utils = require("@atlaskit/editor-prosemirror/utils");
17
18
  var findChangedNodesFromTransaction = exports.findChangedNodesFromTransaction = function findChangedNodesFromTransaction(tr) {
18
19
  var nodes = [];
19
20
  var steps = tr.steps || [];
20
- steps.forEach(function (step) {
21
- var to = step.to,
22
- from = step.from,
23
- slice = step.slice;
24
- var size = slice && slice.content ? slice.content.size : 0;
25
- var _loop = function _loop() {
26
- if (i <= tr.doc.content.size) {
27
- var topLevelNode = tr.doc.resolve(i).node(1);
28
- if (topLevelNode && !nodes.find(function (n) {
29
- return n === topLevelNode;
30
- })) {
31
- nodes.push(topLevelNode);
21
+ if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.find-changed-nodes-from-transaction-optimisation')) {
22
+ steps.forEach(function (step) {
23
+ step.getMap().forEach(function (oldStart, oldEnd, newStart, newEnd) {
24
+ tr.doc.nodesBetween(newStart, newEnd, function (node) {
25
+ nodes.push(node);
26
+ return false;
27
+ });
28
+ });
29
+ });
30
+ } else {
31
+ steps.forEach(function (step) {
32
+ var to = step.to,
33
+ from = step.from,
34
+ slice = step.slice;
35
+ var size = slice && slice.content ? slice.content.size : 0;
36
+ var _loop = function _loop() {
37
+ if (i <= tr.doc.content.size) {
38
+ var topLevelNode = tr.doc.resolve(i).node(1);
39
+ if (topLevelNode && !nodes.find(function (n) {
40
+ return n === topLevelNode;
41
+ })) {
42
+ nodes.push(topLevelNode);
43
+ }
32
44
  }
45
+ };
46
+ for (var i = from; i <= to + size; i++) {
47
+ _loop();
33
48
  }
34
- };
35
- for (var i = from; i <= to + size; i++) {
36
- _loop();
37
- }
38
- });
49
+ });
50
+ }
39
51
  return nodes;
40
52
  };
41
53
  var validNode = exports.validNode = function validNode(node) {
@@ -1,6 +1,6 @@
1
1
  const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
2
2
  const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
3
- const packageVersion = "76.26.5";
3
+ const packageVersion = "76.26.6";
4
4
  const sanitiseSentryEvents = (data, _hint) => {
5
5
  // Remove URL as it has UGC
6
6
  // TODO: Sanitise the URL instead of just removing it
@@ -9,7 +9,7 @@ import { themed } from '@atlaskit/theme/components';
9
9
  import { borderRadius } from '@atlaskit/theme/constants';
10
10
  import Layer from '../Layer';
11
11
  const packageName = "@atlaskit/editor-common";
12
- const packageVersion = "76.26.5";
12
+ const packageVersion = "76.26.6";
13
13
  const halfFocusRing = 1;
14
14
  const dropOffset = '0, 8';
15
15
  class DropList extends Component {
@@ -1,5 +1,6 @@
1
1
  import { JSONTransformer } from '@atlaskit/editor-json-transformer';
2
2
  import { findParentNodeOfType } from '@atlaskit/editor-prosemirror/utils';
3
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
3
4
  /**
4
5
  * Finds all top level nodes affected by the transaction
5
6
  * Uses from/to positions in transaction's steps to work out which nodes will
@@ -8,22 +9,33 @@ import { findParentNodeOfType } from '@atlaskit/editor-prosemirror/utils';
8
9
  export const findChangedNodesFromTransaction = tr => {
9
10
  const nodes = [];
10
11
  const steps = tr.steps || [];
11
- steps.forEach(step => {
12
- const {
13
- to,
14
- from,
15
- slice
16
- } = step;
17
- const size = slice && slice.content ? slice.content.size : 0;
18
- for (let i = from; i <= to + size; i++) {
19
- if (i <= tr.doc.content.size) {
20
- const topLevelNode = tr.doc.resolve(i).node(1);
21
- if (topLevelNode && !nodes.find(n => n === topLevelNode)) {
22
- nodes.push(topLevelNode);
12
+ if (getBooleanFF('platform.editor.find-changed-nodes-from-transaction-optimisation')) {
13
+ steps.forEach(step => {
14
+ step.getMap().forEach((oldStart, oldEnd, newStart, newEnd) => {
15
+ tr.doc.nodesBetween(newStart, newEnd, node => {
16
+ nodes.push(node);
17
+ return false;
18
+ });
19
+ });
20
+ });
21
+ } else {
22
+ steps.forEach(step => {
23
+ const {
24
+ to,
25
+ from,
26
+ slice
27
+ } = step;
28
+ const size = slice && slice.content ? slice.content.size : 0;
29
+ for (let i = from; i <= to + size; i++) {
30
+ if (i <= tr.doc.content.size) {
31
+ const topLevelNode = tr.doc.resolve(i).node(1);
32
+ if (topLevelNode && !nodes.find(n => n === topLevelNode)) {
33
+ nodes.push(topLevelNode);
34
+ }
23
35
  }
24
36
  }
25
- }
26
- });
37
+ });
38
+ }
27
39
  return nodes;
28
40
  };
29
41
  export const validNode = node => {
@@ -6,7 +6,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
6
6
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
7
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
8
8
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
9
- var packageVersion = "76.26.5";
9
+ var packageVersion = "76.26.6";
10
10
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
11
11
  // Remove URL as it has UGC
12
12
  // TODO: Sanitise the URL instead of just removing it
@@ -19,7 +19,7 @@ import { themed } from '@atlaskit/theme/components';
19
19
  import { borderRadius } from '@atlaskit/theme/constants';
20
20
  import Layer from '../Layer';
21
21
  var packageName = "@atlaskit/editor-common";
22
- var packageVersion = "76.26.5";
22
+ var packageVersion = "76.26.6";
23
23
  var halfFocusRing = 1;
24
24
  var dropOffset = '0, 8';
25
25
  var DropList = /*#__PURE__*/function (_Component) {
@@ -1,5 +1,6 @@
1
1
  import { JSONTransformer } from '@atlaskit/editor-json-transformer';
2
2
  import { findParentNodeOfType } from '@atlaskit/editor-prosemirror/utils';
3
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
3
4
  /**
4
5
  * Finds all top level nodes affected by the transaction
5
6
  * Uses from/to positions in transaction's steps to work out which nodes will
@@ -8,25 +9,36 @@ import { findParentNodeOfType } from '@atlaskit/editor-prosemirror/utils';
8
9
  export var findChangedNodesFromTransaction = function findChangedNodesFromTransaction(tr) {
9
10
  var nodes = [];
10
11
  var steps = tr.steps || [];
11
- steps.forEach(function (step) {
12
- var to = step.to,
13
- from = step.from,
14
- slice = step.slice;
15
- var size = slice && slice.content ? slice.content.size : 0;
16
- var _loop = function _loop() {
17
- if (i <= tr.doc.content.size) {
18
- var topLevelNode = tr.doc.resolve(i).node(1);
19
- if (topLevelNode && !nodes.find(function (n) {
20
- return n === topLevelNode;
21
- })) {
22
- nodes.push(topLevelNode);
12
+ if (getBooleanFF('platform.editor.find-changed-nodes-from-transaction-optimisation')) {
13
+ steps.forEach(function (step) {
14
+ step.getMap().forEach(function (oldStart, oldEnd, newStart, newEnd) {
15
+ tr.doc.nodesBetween(newStart, newEnd, function (node) {
16
+ nodes.push(node);
17
+ return false;
18
+ });
19
+ });
20
+ });
21
+ } else {
22
+ steps.forEach(function (step) {
23
+ var to = step.to,
24
+ from = step.from,
25
+ slice = step.slice;
26
+ var size = slice && slice.content ? slice.content.size : 0;
27
+ var _loop = function _loop() {
28
+ if (i <= tr.doc.content.size) {
29
+ var topLevelNode = tr.doc.resolve(i).node(1);
30
+ if (topLevelNode && !nodes.find(function (n) {
31
+ return n === topLevelNode;
32
+ })) {
33
+ nodes.push(topLevelNode);
34
+ }
23
35
  }
36
+ };
37
+ for (var i = from; i <= to + size; i++) {
38
+ _loop();
24
39
  }
25
- };
26
- for (var i = from; i <= to + size; i++) {
27
- _loop();
28
- }
29
- });
40
+ });
41
+ }
30
42
  return nodes;
31
43
  };
32
44
  export var validNode = function validNode(node) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "76.26.5",
3
+ "version": "76.26.6",
4
4
  "description": "A package that contains common classes and components for editor and renderer",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -219,6 +219,9 @@
219
219
  },
220
220
  "platform.editor.popup.fix-flicker-react-18": {
221
221
  "type": "boolean"
222
+ },
223
+ "platform.editor.find-changed-nodes-from-transaction-optimisation": {
224
+ "type": "boolean"
222
225
  }
223
226
  }
224
227
  }