import { CanvasObject } from './CanvasObject'; import { TextInterface } from '../../../CanvasInterface/Objects/Text'; import { CanvasObjectEvents } from '../../../CanvasInterface/Objects/CanvasObject'; import { Logger } from '../../../Utils/Logger'; import HTML2Paper from '../Utils/HTML2Paper'; const logger = new Logger('Text'); export class Text extends CanvasObject implements TextInterface { protected _content = ''; constructor(options?: any) { super(); this.initOptions(options); if (options.content) { this.wrappedObject = { content: options.content, }; } } get content() { return this._content; } set content(value: string) { this._content = value; this._observable.triggerEvent(CanvasObjectEvents.OnChange); } set contentHTML(element) { this._content = element.innerHTML; this._observable.triggerEvent(CanvasObjectEvents.OnChange); } get contentHTML() { return this._content; } getState() { const { content } = this; return { ...super.getState(), content, }; } toObject(...args) { const { content } = this; return { ...super.toObject(...args), content, }; } }