Browse Source

Move ComponentTextNode to TS

ts-components
Artur Arseniev 3 years ago
parent
commit
eecc233a77
  1. 2
      src/dom_components/model/Component.ts
  2. 36
      src/dom_components/model/ComponentTextNode.js
  3. 46
      src/dom_components/model/ComponentTextNode.ts

2
src/dom_components/model/Component.ts

@ -1946,7 +1946,7 @@ export default class Component extends StyleableModel<ComponentProperties> {
return result(this.prototype, 'defaults');
}
static isComponent(el: HTMLElement) {
static isComponent(el: HTMLElement): ComponentDefinitionDefined | boolean | undefined {
return { tagName: toLowerCase(el.tagName) };
}

36
src/dom_components/model/ComponentTextNode.js

@ -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;
};

46
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;
// };
Loading…
Cancel
Save