UNPKG

react-design-editor

Version:

Design Editor Tools with React.js + ant.design + fabric.js

81 lines (80 loc) 2.32 kB
import { fabric } from 'fabric'; import Handler from './Handler'; import { VideoObject } from '../objects/Video'; import { ChartObject } from '../objects/Chart'; import { IframeObject } from '../objects/Iframe'; import { ElementObject } from '../objects/Element'; export type ElementType = 'container' | 'script' | 'style'; export type ElementObjectType = VideoObject | ChartObject | IframeObject | ElementObject; export interface ElementCode { html?: string; css?: string; js?: string; } declare class ElementHandler { handler?: Handler; constructor(handler: Handler); /** * Set element by id * @param {string} id * @param {*} source * @returns {void} */ setById: (id: string, source: any) => void; /** * Set element * @param {ElementObjectType} obj * @param {*} source */ set: (obj: ElementObjectType, source: any) => void; /** * Find element by id with type * @param {string} id * @param {ElementType} [type='container'] * @returns */ findById: (id: string, type?: ElementType) => HTMLElement; /** * Remove element * @param {HTMLElement} el * @returns */ remove: (el: HTMLElement) => void; /** * Remove element by id * @param {string} id */ removeById: (id: string) => void; /** * Remove element by ids * @param {string[]} ids */ removeByIds: (ids: string[]) => void; /** * Set position * @param {HTMLElement} el * @param {number} left * @param {number} top * @returns */ setPosition: (el: HTMLElement, obj: fabric.Object) => void; setPositionByOrigin: (el: HTMLElement, obj: fabric.Object, left: number, top: number) => void; /** * Set size * @param {HTMLElement} el * @param {number} width * @param {number} height * @returns */ setSize: (el: HTMLElement, obj: fabric.Object) => void; /** * Set scale or angle * @param {HTMLElement} el * @param {number} scaleX * @param {number} scaleY * @param {number} angle * @returns */ setScaleOrAngle: (el: HTMLElement, obj: fabric.Object) => void; } export default ElementHandler;