From eecc233a774364616218d737454bffe8a5343c11 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Thu, 19 Jan 2023 17:04:24 +0400 Subject: [PATCH] Move ComponentTextNode to TS --- src/dom_components/model/Component.ts | 2 +- src/dom_components/model/ComponentTextNode.js | 36 --------------- src/dom_components/model/ComponentTextNode.ts | 46 +++++++++++++++++++ 3 files changed, 47 insertions(+), 37 deletions(-) delete mode 100644 src/dom_components/model/ComponentTextNode.js create mode 100644 src/dom_components/model/ComponentTextNode.ts diff --git a/src/dom_components/model/Component.ts b/src/dom_components/model/Component.ts index e13741fb3..eea331826 100644 --- a/src/dom_components/model/Component.ts +++ b/src/dom_components/model/Component.ts @@ -1946,7 +1946,7 @@ export default class Component extends StyleableModel { return result(this.prototype, 'defaults'); } - static isComponent(el: HTMLElement) { + static isComponent(el: HTMLElement): ComponentDefinitionDefined | boolean | undefined { return { tagName: toLowerCase(el.tagName) }; } diff --git a/src/dom_components/model/ComponentTextNode.js b/src/dom_components/model/ComponentTextNode.js deleted file mode 100644 index d642b7759..000000000 --- a/src/dom_components/model/ComponentTextNode.js +++ /dev/null @@ -1,36 +0,0 @@ -import Component from './Component'; -import { escapeNodeContent } from 'utils/mixins'; - -export default class ComponentTextNode extends Component { - get defaults() { - return { - ...super.defaults, - tagName: '', - droppable: false, - layerable: false, - selectable: false, - editable: true, - }; - } - - toHTML() { - const parent = this.parent(); - const content = this.get('content'); - return parent?.is('script') ? content : this.__escapeContent(content); - } - - __escapeContent(content) { - return escapeNodeContent(content); - } -} - -ComponentTextNode.isComponent = el => { - var result = ''; - if (el.nodeType === 3) { - result = { - type: 'textnode', - content: el.textContent, - }; - } - return result; -}; diff --git a/src/dom_components/model/ComponentTextNode.ts b/src/dom_components/model/ComponentTextNode.ts new file mode 100644 index 000000000..5e9179645 --- /dev/null +++ b/src/dom_components/model/ComponentTextNode.ts @@ -0,0 +1,46 @@ +import Component from './Component'; +import { escapeNodeContent } from '../../utils/mixins'; + +export default class ComponentTextNode extends Component { + get defaults() { + return { + // @ts-ignore + ...super.defaults, + tagName: '', + droppable: false, + layerable: false, + selectable: false, + editable: true, + }; + } + + toHTML() { + const parent = this.parent(); + const content = this.get('content')!; + return parent?.is('script') ? content : this.__escapeContent(content); + } + + __escapeContent(content: string) { + return escapeNodeContent(content); + } + + static isComponent(el: HTMLElement) { + if (el.nodeType === 3) { + return { + type: 'textnode', + content: el.textContent, + }; + } + } +} + +// ComponentTextNode.isComponent = el => { +// var result = ''; +// if (el.nodeType === 3) { +// result = { +// type: 'textnode', +// content: el.textContent, +// }; +// } +// return result; +// };