diff --git a/app/assets/javascripts/behaviors/gl_emoji.js b/app/assets/javascripts/behaviors/gl_emoji.js index 56293d5f96f04b3ef8f5fbb5c7b40069debe95e4..d1d75658181a5df95eddbf4420b85c8de7ae5198 100644 --- a/app/assets/javascripts/behaviors/gl_emoji.js +++ b/app/assets/javascripts/behaviors/gl_emoji.js @@ -1,11 +1,10 @@ -import installCustomElements from 'document-register-element'; +import 'document-register-element'; import isEmojiUnicodeSupported from '../emoji/support'; -installCustomElements(window); +class GlEmoji extends HTMLElement { + constructor() { + super(); -export default function installGlEmojiElement() { - const GlEmojiElementProto = Object.create(HTMLElement.prototype); - GlEmojiElementProto.createdCallback = function createdCallback() { const emojiUnicode = this.textContent.trim(); const { name, unicodeVersion, fallbackSrc, fallbackSpriteClass } = this.dataset; @@ -43,9 +42,11 @@ export default function installGlEmojiElement() { }); } } - }; + } +} - document.registerElement('gl-emoji', { - prototype: GlEmojiElementProto, - }); +export default function installGlEmojiElement() { + if (!customElements.get('gl-emoji')) { + customElements.define('gl-emoji', GlEmoji); + } } diff --git a/package.json b/package.json index cebd4726274edbd654ca65d6ee4876b4ca340505..97d8fd3b17f4e2802448c0bd30685ab3bf40ae92 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "dateformat": "^3.0.3", "deckar01-task_list": "^2.2.0", "diff": "^3.4.0", - "document-register-element": "1.3.0", + "document-register-element": "1.13.1", "dropzone": "^4.2.0", "echarts": "^4.2.0-rc.2", "emoji-regex": "^7.0.3", diff --git a/yarn.lock b/yarn.lock index 1bcdd046cb9b75aab9481b0efa522e12bc471004..423c7f75d47e3c5812869c1b19a5262a8b2f87b1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3264,10 +3264,12 @@ doctrine@^2.1.0: dependencies: esutils "^2.0.2" -document-register-element@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/document-register-element/-/document-register-element-1.3.0.tgz#fb3babb523c74662be47be19c6bc33e71990d940" - integrity sha1-+zurtSPHRmK+R74Zxrwz5xmQ2UA= +document-register-element@1.13.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/document-register-element/-/document-register-element-1.13.1.tgz#dad8cb7be38e04ee3f56842e6cf81af46c1249ba" + integrity sha512-92ZyLDKg9j4rOll//NNXj25f+8rAzOkYsGJonhugKwXfeqH7bzs8Ucpvey0WzZ2ZzKdrvW9RnUw3UyOZ/uhBFw== + dependencies: + lightercollective "^0.1.0" dom-serialize@^2.2.0: version "2.2.1"