react-design-editor
Version:
Design Editor Tools with React.js + ant.design + fabric.js
81 lines (80 loc) • 2.32 kB
TypeScript
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;