@atlaskit/editor-plugin-emoji 6.3.0 → 7.0.0

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,28 @@
1
1
  # @atlaskit/editor-plugin-emoji
2
2
 
3
+ ## 7.0.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`36b63f147e5a7`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/36b63f147e5a7) -
8
+ [https://product-fabric.atlassian.net/browse/ED-29410](ED-29410) - skip emoji rerenderign if
9
+ `EmojiNodeDataProvider.getData` returns the same value
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
15
+ ## 6.4.0
16
+
17
+ ### Minor Changes
18
+
19
+ - [`687c1b8fa7801`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/687c1b8fa7801) -
20
+ EDITOR-1566 bump adf-schema + update validator
21
+
22
+ ### Patch Changes
23
+
24
+ - Updated dependencies
25
+
3
26
  ## 6.3.0
4
27
 
5
28
  ### Minor Changes
@@ -11,6 +11,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
11
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
+ var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
14
15
  var _coreUtils = require("@atlaskit/editor-common/core-utils");
15
16
  var _emoji = require("@atlaskit/editor-common/emoji");
16
17
  var _monitoring = require("@atlaskit/editor-common/monitoring");
@@ -64,8 +65,13 @@ var EmojiNodeView = exports.EmojiNodeView = /*#__PURE__*/function () {
64
65
  var _DOMSerializer$render = _model.DOMSerializer.renderSpec(document, (0, _emojiNodeSpec.emojiToDom)(this.node)),
65
66
  dom = _DOMSerializer$render.dom;
66
67
  this.dom = dom;
67
- this.domElement = (0, _expValEquals.expValEquals)('platform_editor_emoji_otp', 'isEnabled', true) && this.isHTMLElement(dom) || !(0, _expValEquals.expValEquals)('platform_editor_emoji_otp', 'isEnabled', true) && dom instanceof HTMLElement ? dom : undefined;
68
+ if ((0, _expValEquals.expValEquals)('platform_editor_emoji_otp', 'isEnabled', true)) {
69
+ this.domElement = this.isHTMLElement(dom) ? dom : undefined;
70
+ } else {
71
+ this.domElement = dom instanceof HTMLElement ? dom : undefined;
72
+ }
68
73
  if ((0, _expValEquals.expValEquals)('platform_editor_emoji_otp', 'isEnabled', true) && emojiNodeDataProvider) {
74
+ var previousEmojiDescription;
69
75
  emojiNodeDataProvider.getData(node, function (payload) {
70
76
  if (payload.error) {
71
77
  EmojiNodeView.logError(payload.error);
@@ -84,6 +90,11 @@ var EmojiNodeView = exports.EmojiNodeView = /*#__PURE__*/function () {
84
90
  _this.renderFallback();
85
91
  return;
86
92
  }
93
+ if ((0, _isEqual.default)(previousEmojiDescription, emojiDescription)) {
94
+ // Do not re-render if the emoji description is the same as before
95
+ return;
96
+ }
97
+ previousEmojiDescription = emojiDescription;
87
98
  _this.renderEmoji(emojiDescription, emojiRepresentation);
88
99
  });
89
100
  } else {
@@ -1,4 +1,5 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import isEqual from 'lodash/isEqual';
2
3
  import { isSSR } from '@atlaskit/editor-common/core-utils';
3
4
  import { messages, EmojiSharedCssClassName, defaultEmojiHeight } from '@atlaskit/editor-common/emoji';
4
5
  import { logException } from '@atlaskit/editor-common/monitoring';
@@ -58,8 +59,13 @@ export class EmojiNodeView {
58
59
  dom
59
60
  } = DOMSerializer.renderSpec(document, emojiToDom(this.node));
60
61
  this.dom = dom;
61
- this.domElement = expValEquals('platform_editor_emoji_otp', 'isEnabled', true) && this.isHTMLElement(dom) || !expValEquals('platform_editor_emoji_otp', 'isEnabled', true) && dom instanceof HTMLElement ? dom : undefined;
62
+ if (expValEquals('platform_editor_emoji_otp', 'isEnabled', true)) {
63
+ this.domElement = this.isHTMLElement(dom) ? dom : undefined;
64
+ } else {
65
+ this.domElement = dom instanceof HTMLElement ? dom : undefined;
66
+ }
62
67
  if (expValEquals('platform_editor_emoji_otp', 'isEnabled', true) && emojiNodeDataProvider) {
68
+ let previousEmojiDescription;
63
69
  emojiNodeDataProvider.getData(node, payload => {
64
70
  if (payload.error) {
65
71
  EmojiNodeView.logError(payload.error);
@@ -78,6 +84,11 @@ export class EmojiNodeView {
78
84
  this.renderFallback();
79
85
  return;
80
86
  }
87
+ if (isEqual(previousEmojiDescription, emojiDescription)) {
88
+ // Do not re-render if the emoji description is the same as before
89
+ return;
90
+ }
91
+ previousEmojiDescription = emojiDescription;
81
92
  this.renderEmoji(emojiDescription, emojiRepresentation);
82
93
  });
83
94
  } else {
@@ -3,6 +3,7 @@ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
3
  import _createClass from "@babel/runtime/helpers/createClass";
4
4
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
5
  import _regeneratorRuntime from "@babel/runtime/regenerator";
6
+ import isEqual from 'lodash/isEqual';
6
7
  import { isSSR } from '@atlaskit/editor-common/core-utils';
7
8
  import { messages, EmojiSharedCssClassName, defaultEmojiHeight } from '@atlaskit/editor-common/emoji';
8
9
  import { logException } from '@atlaskit/editor-common/monitoring';
@@ -56,8 +57,13 @@ export var EmojiNodeView = /*#__PURE__*/function () {
56
57
  var _DOMSerializer$render = DOMSerializer.renderSpec(document, emojiToDom(this.node)),
57
58
  dom = _DOMSerializer$render.dom;
58
59
  this.dom = dom;
59
- this.domElement = expValEquals('platform_editor_emoji_otp', 'isEnabled', true) && this.isHTMLElement(dom) || !expValEquals('platform_editor_emoji_otp', 'isEnabled', true) && dom instanceof HTMLElement ? dom : undefined;
60
+ if (expValEquals('platform_editor_emoji_otp', 'isEnabled', true)) {
61
+ this.domElement = this.isHTMLElement(dom) ? dom : undefined;
62
+ } else {
63
+ this.domElement = dom instanceof HTMLElement ? dom : undefined;
64
+ }
60
65
  if (expValEquals('platform_editor_emoji_otp', 'isEnabled', true) && emojiNodeDataProvider) {
66
+ var previousEmojiDescription;
61
67
  emojiNodeDataProvider.getData(node, function (payload) {
62
68
  if (payload.error) {
63
69
  EmojiNodeView.logError(payload.error);
@@ -76,6 +82,11 @@ export var EmojiNodeView = /*#__PURE__*/function () {
76
82
  _this.renderFallback();
77
83
  return;
78
84
  }
85
+ if (isEqual(previousEmojiDescription, emojiDescription)) {
86
+ // Do not re-render if the emoji description is the same as before
87
+ return;
88
+ }
89
+ previousEmojiDescription = emojiDescription;
79
90
  _this.renderEmoji(emojiDescription, emojiRepresentation);
80
91
  });
81
92
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-emoji",
3
- "version": "6.3.0",
3
+ "version": "7.0.0",
4
4
  "description": "Emoji plugin for @atlaskit/editor-core",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -21,37 +21,38 @@
21
21
  "singleton": true
22
22
  },
23
23
  "dependencies": {
24
- "@atlaskit/adf-schema": "^51.1.2",
25
- "@atlaskit/editor-plugin-analytics": "^5.2.0",
26
- "@atlaskit/editor-plugin-annotation": "^5.4.0",
27
- "@atlaskit/editor-plugin-base": "^6.2.0",
28
- "@atlaskit/editor-plugin-editor-viewmode": "^7.0.0",
29
- "@atlaskit/editor-plugin-metrics": "^6.2.0",
30
- "@atlaskit/editor-plugin-type-ahead": "^5.2.0",
24
+ "@atlaskit/adf-schema": "^51.2.0",
25
+ "@atlaskit/editor-plugin-analytics": "^6.0.0",
26
+ "@atlaskit/editor-plugin-annotation": "^6.0.0",
27
+ "@atlaskit/editor-plugin-base": "^7.0.0",
28
+ "@atlaskit/editor-plugin-editor-viewmode": "^8.0.0",
29
+ "@atlaskit/editor-plugin-metrics": "^7.0.0",
30
+ "@atlaskit/editor-plugin-type-ahead": "^6.0.0",
31
31
  "@atlaskit/editor-prosemirror": "7.0.0",
32
32
  "@atlaskit/editor-shared-styles": "^3.6.0",
33
33
  "@atlaskit/emoji": "^69.5.0",
34
- "@atlaskit/icon": "^28.2.0",
35
- "@atlaskit/node-data-provider": "^6.3.0",
34
+ "@atlaskit/icon": "^28.3.0",
35
+ "@atlaskit/node-data-provider": "^7.0.0",
36
36
  "@atlaskit/platform-feature-flags": "^1.1.0",
37
37
  "@atlaskit/prosemirror-input-rules": "^3.4.0",
38
38
  "@atlaskit/theme": "^21.0.0",
39
- "@atlaskit/tmp-editor-statsig": "^12.29.0",
39
+ "@atlaskit/tmp-editor-statsig": "^12.31.0",
40
40
  "@atlaskit/tokens": "^6.3.0",
41
41
  "@babel/runtime": "^7.0.0",
42
42
  "@emotion/react": "^11.7.1",
43
+ "lodash": "^4.17.21",
43
44
  "react-intl-next": "npm:react-intl@^5.18.1",
44
45
  "react-loadable": "^5.1.0"
45
46
  },
46
47
  "peerDependencies": {
47
- "@atlaskit/editor-common": "^109.13.0",
48
+ "@atlaskit/editor-common": "^110.0.0",
48
49
  "react": "^18.2.0",
49
50
  "react-dom": "^18.2.0"
50
51
  },
51
52
  "devDependencies": {
52
53
  "@af/visual-regression": "workspace:^",
53
- "@atlaskit/editor-plugin-composition": "^4.0.0",
54
- "@atlaskit/editor-plugin-decorations": "^5.0.0",
54
+ "@atlaskit/editor-plugin-composition": "^5.0.0",
55
+ "@atlaskit/editor-plugin-decorations": "^6.0.0",
55
56
  "@atlaskit/ssr": "workspace:^",
56
57
  "@testing-library/react": "^13.4.0",
57
58
  "wait-for-expect": "^1.2.0"