@idraw/core
Advanced tools
Comparing version 0.3.0-beta.3 to 0.3.0-beta.6
@@ -1,47 +0,46 @@ | ||
import { TypeData, TypePoint, TypeBoardSizeOptions, TypeConfig, TypeElementBase, TypeElement, TypeElemDesc, TypeContext, TypeCoreOptions, TypeScreenContext, TypeScreenData } from '@idraw/types'; | ||
import { TypeIs } from './lib/is'; | ||
import { TypeCheck } from './lib/check'; | ||
import { TypeCoreEventArgMap } from './lib'; | ||
import { _board, _data, _opts, _config, _renderer, _element, _tempData, _draw, _coreEvent, _emitChangeScreen, _emitChangeData, _engine } from './names'; | ||
import { IDrawData, Point, BoardSizeOptions, IDrawConfig, DataElementBase, DataElement, DataElemDesc, IDrawContext, CoreOptions, ScreenContext, ScreenData } from '@idraw/types'; | ||
import { IsTypeUtil } from './lib/is'; | ||
import { CheckTypeUtil } from './lib/check'; | ||
import { Element, TypeCoreEventArgMap } from './lib'; | ||
import { Engine } from './lib/engine'; | ||
export default class Core { | ||
private [_board]; | ||
private [_data]; | ||
private [_opts]; | ||
private [_config]; | ||
private [_renderer]; | ||
private [_element]; | ||
private [_coreEvent]; | ||
private [_tempData]; | ||
private [_engine]; | ||
static is: TypeIs; | ||
static check: TypeCheck; | ||
constructor(mount: HTMLDivElement, opts: TypeCoreOptions, config?: TypeConfig); | ||
[_draw](opts?: { | ||
$data: IDrawData; | ||
private _board; | ||
private _opts; | ||
private _config; | ||
private _renderer; | ||
private _elementHandler; | ||
private _coreEvent; | ||
private _tempData; | ||
private _engine; | ||
static is: IsTypeUtil; | ||
static check: CheckTypeUtil; | ||
constructor(mount: HTMLDivElement, opts: CoreOptions, config?: IDrawConfig); | ||
private _emitChangeScreen; | ||
$draw(opts?: { | ||
resourceChangeUUIDs?: string[]; | ||
}): void; | ||
getElement(uuid: string): TypeElement<keyof TypeElemDesc> | null; | ||
getElementByIndex(index: number): TypeElement<keyof TypeElemDesc> | null; | ||
getElement(uuid: string): any; | ||
getElementByIndex(index: number): any; | ||
selectElementByIndex(index: number): void; | ||
selectElement(uuid: string): void; | ||
cancelElementByIndex(index: number): void; | ||
cancelElement(uuid: string, opts?: { | ||
useMode?: boolean; | ||
}): void; | ||
cancelElement(uuid: string): void; | ||
moveUpElement(uuid: string): void; | ||
moveDownElement(uuid: string): void; | ||
updateElement(elem: TypeElement<keyof TypeElemDesc>): void; | ||
addElement(elem: TypeElementBase<keyof TypeElemDesc>): string | null; | ||
updateElement(elem: DataElement<keyof DataElemDesc>): void; | ||
addElement(elem: DataElementBase<keyof DataElemDesc>): string | null; | ||
deleteElement(uuid: string): void; | ||
insertElementBefore(elem: TypeElementBase<keyof TypeElemDesc>, beforeUUID: string): any; | ||
insertElementBeforeIndex(elem: TypeElementBase<keyof TypeElemDesc>, index: number): any; | ||
getSelectedElements(): TypeElement<keyof TypeElemDesc>[]; | ||
insertElementAfter(elem: TypeElementBase<keyof TypeElemDesc>, beforeUUID: string): any; | ||
insertElementAfterIndex(elem: TypeElementBase<keyof TypeElemDesc>, index: number): any; | ||
resetSize(opts: TypeBoardSizeOptions): void; | ||
scale(ratio: number): TypeScreenContext; | ||
scrollLeft(left: number): TypeScreenContext; | ||
scrollTop(top: number): TypeScreenContext; | ||
getScreenTransform(): TypeScreenData; | ||
getData(): TypeData; | ||
setData(data: any | TypeData, opts?: { | ||
insertElementBefore(elem: DataElementBase<keyof DataElemDesc>, beforeUUID: string): any; | ||
insertElementBeforeIndex(elem: DataElementBase<keyof DataElemDesc>, index: number): any; | ||
getSelectedElements(): DataElement<string | number | symbol>[]; | ||
insertElementAfter(elem: DataElementBase<keyof DataElemDesc>, beforeUUID: string): any; | ||
insertElementAfterIndex(elem: DataElementBase<keyof DataElemDesc>, index: number): any; | ||
resetSize(opts: BoardSizeOptions): void; | ||
scale(ratio: number): ScreenContext; | ||
scrollLeft(left: number): ScreenContext; | ||
scrollTop(top: number): ScreenContext; | ||
getScreenTransform(): ScreenData; | ||
getData(): IDrawData; | ||
setData(data: any | IDrawData, opts?: { | ||
triggerChangeEvent: boolean; | ||
@@ -52,9 +51,10 @@ }): void; | ||
off<T extends keyof TypeCoreEventArgMap>(key: T, callback: (p: TypeCoreEventArgMap[T]) => void): void; | ||
pointScreenToContext(p: TypePoint): TypePoint; | ||
pointContextToScreen(p: TypePoint): TypePoint; | ||
__getBoardContext(): TypeContext; | ||
__getDisplayContext2D(): CanvasRenderingContext2D; | ||
__getOriginContext2D(): CanvasRenderingContext2D; | ||
private [_emitChangeScreen]; | ||
private [_emitChangeData]; | ||
getEngine(): Engine; | ||
pointScreenToContext(p: Point): any; | ||
pointContextToScreen(p: Point): any; | ||
$getBoardContext(): IDrawContext; | ||
$getDisplayContext2D(): CanvasRenderingContext2D; | ||
$getOriginContext2D(): CanvasRenderingContext2D; | ||
$emitChangeData(): void; | ||
$getElementHandler(): Element; | ||
} |
@@ -1,2 +0,1 @@ | ||
var _a, _b; | ||
import Board from '@idraw/board'; | ||
@@ -8,21 +7,20 @@ import { deepClone } from '@idraw/util'; | ||
import { Element, mergeConfig, CoreEvent, parseData, TempData, diffElementResourceChangeList } from './lib'; | ||
import { _board, _data, _opts, _config, _renderer, _element, _tempData, _draw, _coreEvent, _emitChangeScreen, _emitChangeData, _engine } from './names'; | ||
import { getSelectedElements, updateElement, selectElementByIndex, selectElement, cancelElementByIndex, cancelElement, getElement, getElementByIndex, moveUpElement, moveDownElement, addElement, deleteElement, insertElementBefore, insertElementBeforeIndex, insertElementAfter, insertElementAfterIndex } from './mixins/element'; | ||
import { Engine } from './lib/engine'; | ||
import { drawElementWrapper, drawAreaWrapper, drawElementListWrappers } from './lib/draw/wrapper'; | ||
export default class Core { | ||
class Core { | ||
constructor(mount, opts, config) { | ||
var _c, _d, _e; | ||
this[_a] = new CoreEvent(); | ||
this[_b] = new TempData(); | ||
this[_data] = { elements: [] }; | ||
this[_opts] = opts; | ||
this[_config] = mergeConfig(config || {}); | ||
this[_board] = new Board(mount, Object.assign(Object.assign({}, this[_opts]), { canScroll: (_c = config === null || config === void 0 ? void 0 : config.scrollWrapper) === null || _c === void 0 ? void 0 : _c.use, scrollConfig: Object.assign({ color: ((_d = config === null || config === void 0 ? void 0 : config.scrollWrapper) === null || _d === void 0 ? void 0 : _d.color) || '#000000', width: ((_e = config === null || config === void 0 ? void 0 : config.scrollWrapper) === null || _e === void 0 ? void 0 : _e.width) || 12 }, ((config === null || config === void 0 ? void 0 : config.scrollWrapper) || {})) })); | ||
this[_renderer] = new Renderer(); | ||
var _a, _b, _c; | ||
this._coreEvent = new CoreEvent(); | ||
this._tempData = new TempData(); | ||
this.$data = { elements: [] }; | ||
this._opts = opts; | ||
this._config = mergeConfig(config || {}); | ||
this._board = new Board(mount, Object.assign(Object.assign({}, this._opts), { canScroll: (_a = config === null || config === void 0 ? void 0 : config.scrollWrapper) === null || _a === void 0 ? void 0 : _a.use, scrollConfig: Object.assign({ color: ((_b = config === null || config === void 0 ? void 0 : config.scrollWrapper) === null || _b === void 0 ? void 0 : _b.color) || '#000000', width: ((_c = config === null || config === void 0 ? void 0 : config.scrollWrapper) === null || _c === void 0 ? void 0 : _c.width) || 12 }, ((config === null || config === void 0 ? void 0 : config.scrollWrapper) || {})) })); | ||
this._renderer = new Renderer(); | ||
const drawFrame = () => { | ||
const helperCtx = this[_board].getHelperContext(); | ||
const helperConfig = this[_engine].getHelperConfig(); | ||
this[_board].clear(); | ||
const { contextWidth, contextHeight, devicePixelRatio } = this[_opts]; | ||
const helperCtx = this._board.getHelperContext(); | ||
const helperConfig = this._engine.getHelperConfig(); | ||
this._board.clear(); | ||
const { contextWidth, contextHeight, devicePixelRatio } = this._opts; | ||
helperCtx.clearRect(0, 0, contextWidth * devicePixelRatio, contextHeight * devicePixelRatio); | ||
@@ -32,39 +30,44 @@ drawElementWrapper(helperCtx, helperConfig); | ||
drawElementListWrappers(helperCtx, helperConfig); | ||
this[_board].draw(); | ||
this._board.draw(); | ||
}; | ||
this[_renderer].on('drawFrame', () => { | ||
this._renderer.on('drawFrame', () => { | ||
drawFrame(); | ||
}); | ||
this[_renderer].on('drawFrameComplete', () => { | ||
this._renderer.on('drawFrameComplete', () => { | ||
drawFrame(); | ||
}); | ||
this[_element] = new Element(this[_board].getContext()); | ||
this[_engine] = new Engine({ | ||
coreEvent: this[_coreEvent], | ||
board: this[_board], | ||
element: this[_element], | ||
config: this[_config], | ||
drawFeekback: this[_draw].bind(this), | ||
getDataFeekback: () => this[_data], | ||
this._elementHandler = new Element(this._board.getContext()); | ||
this._engine = new Engine({ | ||
coreEvent: this._coreEvent, | ||
board: this._board, | ||
element: this._elementHandler, | ||
config: this._config, | ||
drawFeekback: this.$draw.bind(this), | ||
getDataFeekback: () => this.$data, | ||
selectElementByIndex: this.selectElementByIndex.bind(this), | ||
emitChangeScreen: this[_emitChangeScreen].bind(this), | ||
emitChangeData: this[_emitChangeData].bind(this) | ||
emitChangeScreen: this._emitChangeScreen.bind(this), | ||
emitChangeData: this.$emitChangeData.bind(this) | ||
}); | ||
this[_engine].init(); | ||
this[_renderer].on('drawFrame', () => { | ||
this[_coreEvent].trigger('drawFrame', undefined); | ||
this._engine.init(); | ||
this._renderer.on('drawFrame', () => { | ||
this._coreEvent.trigger('drawFrame', undefined); | ||
}); | ||
this[_renderer].on('drawFrameComplete', () => { | ||
this[_coreEvent].trigger('drawFrameComplete', undefined); | ||
this._renderer.on('drawFrameComplete', () => { | ||
this._coreEvent.trigger('drawFrameComplete', undefined); | ||
}); | ||
this[_tempData].set('hasInited', true); | ||
this._tempData.set('hasInited', true); | ||
} | ||
[(_a = _coreEvent, _b = _tempData, _draw)](opts) { | ||
this[_engine].updateHelperConfig({ | ||
width: this[_opts].width, | ||
height: this[_opts].height, | ||
devicePixelRatio: this[_opts].devicePixelRatio | ||
_emitChangeScreen() { | ||
if (this._coreEvent.has('changeScreen')) { | ||
this._coreEvent.trigger('changeScreen', Object.assign({}, this.getScreenTransform())); | ||
} | ||
} | ||
$draw(opts) { | ||
this._engine.updateHelperConfig({ | ||
width: this._opts.width, | ||
height: this._opts.height, | ||
devicePixelRatio: this._opts.devicePixelRatio | ||
}); | ||
this[_renderer].thaw(); | ||
this[_renderer].render(this[_board].getContext(), this[_data], { | ||
this._renderer.thaw(); | ||
this._renderer.render(this._board.getContext(), this.$data, { | ||
changeResourceUUIDs: (opts === null || opts === void 0 ? void 0 : opts.resourceChangeUUIDs) || [] | ||
@@ -88,4 +91,4 @@ }); | ||
} | ||
cancelElement(uuid, opts) { | ||
return cancelElement(this, uuid, opts); | ||
cancelElement(uuid) { | ||
return cancelElement(this, uuid); | ||
} | ||
@@ -123,26 +126,26 @@ moveUpElement(uuid) { | ||
resetSize(opts) { | ||
this[_opts] = Object.assign(Object.assign({}, this[_opts]), opts); | ||
this[_board].resetSize(opts); | ||
this[_draw](); | ||
this._opts = Object.assign(Object.assign({}, this._opts), opts); | ||
this._board.resetSize(opts); | ||
this.$draw(); | ||
} | ||
scale(ratio) { | ||
const screen = this[_board].scale(ratio); | ||
this[_draw](); | ||
this[_emitChangeScreen](); | ||
const screen = this._board.scale(ratio); | ||
this.$draw(); | ||
this._emitChangeScreen(); | ||
return screen; | ||
} | ||
scrollLeft(left) { | ||
const screen = this[_board].scrollX(0 - left); | ||
this[_draw](); | ||
this[_emitChangeScreen](); | ||
const screen = this._board.scrollX(0 - left); | ||
this.$draw(); | ||
this._emitChangeScreen(); | ||
return screen; | ||
} | ||
scrollTop(top) { | ||
const screen = this[_board].scrollY(0 - top); | ||
this[_draw](); | ||
this[_emitChangeScreen](); | ||
const screen = this._board.scrollY(0 - top); | ||
this.$draw(); | ||
this._emitChangeScreen(); | ||
return screen; | ||
} | ||
getScreenTransform() { | ||
const transform = this[_board].getTransform(); | ||
const transform = this._board.getTransform(); | ||
return { | ||
@@ -155,46 +158,47 @@ scale: transform.scale, | ||
getData() { | ||
return deepClone(this[_data]); | ||
return deepClone(this.$data); | ||
} | ||
setData(data, opts) { | ||
const resourceChangeUUIDs = diffElementResourceChangeList(this[_data], data); | ||
this[_data] = this[_element].initData(deepClone(parseData(data))); | ||
const resourceChangeUUIDs = diffElementResourceChangeList(this.$data, data); | ||
this.$data = this._elementHandler.initData(deepClone(parseData(data))); | ||
if (opts && opts.triggerChangeEvent === true) { | ||
this[_emitChangeData](); | ||
this.$emitChangeData(); | ||
} | ||
this[_draw]({ resourceChangeUUIDs }); | ||
this.$draw({ resourceChangeUUIDs }); | ||
} | ||
clearOperation() { | ||
this[_tempData].clear(); | ||
this[_draw](); | ||
this._tempData.clear(); | ||
this.$draw(); | ||
} | ||
on(key, callback) { | ||
this[_coreEvent].on(key, callback); | ||
this._coreEvent.on(key, callback); | ||
} | ||
off(key, callback) { | ||
this[_coreEvent].off(key, callback); | ||
this._coreEvent.off(key, callback); | ||
} | ||
getEngine() { | ||
return this._engine; | ||
} | ||
pointScreenToContext(p) { | ||
return this[_board].pointScreenToContext(p); | ||
return this._board.pointScreenToContext(p); | ||
} | ||
pointContextToScreen(p) { | ||
return this[_board].pointContextToScreen(p); | ||
return this._board.pointContextToScreen(p); | ||
} | ||
__getBoardContext() { | ||
return this[_board].getContext(); | ||
$getBoardContext() { | ||
return this._board.getContext(); | ||
} | ||
__getDisplayContext2D() { | ||
return this[_board].getDisplayContext2D(); | ||
$getDisplayContext2D() { | ||
return this._board.getDisplayContext2D(); | ||
} | ||
__getOriginContext2D() { | ||
return this[_board].getOriginContext2D(); | ||
$getOriginContext2D() { | ||
return this._board.getOriginContext2D(); | ||
} | ||
[_emitChangeScreen]() { | ||
if (this[_coreEvent].has('changeScreen')) { | ||
this[_coreEvent].trigger('changeScreen', Object.assign({}, this.getScreenTransform())); | ||
$emitChangeData() { | ||
if (this._coreEvent.has('changeData')) { | ||
this._coreEvent.trigger('changeData', deepClone(this.$data)); | ||
} | ||
} | ||
[_emitChangeData]() { | ||
if (this[_coreEvent].has('changeData')) { | ||
this[_coreEvent].trigger('changeData', deepClone(this[_data])); | ||
} | ||
$getElementHandler() { | ||
return this._elementHandler; | ||
} | ||
@@ -204,1 +208,2 @@ } | ||
Core.check = check; | ||
export default Core; |
@@ -1,5 +0,5 @@ | ||
import { TypeElement, TypeElemDesc, TypePoint } from '@idraw/types'; | ||
import { DataElement, DataElemDesc, Point } from '@idraw/types'; | ||
export declare function parseRadianToAngle(radian: number): number; | ||
export declare function parseAngleToRadian(angle: number): number; | ||
export declare function calcElementCenter(elem: TypeElement<keyof TypeElemDesc>): TypePoint; | ||
export declare function calcRadian(center: TypePoint, start: TypePoint, end: TypePoint): number; | ||
export declare function calcElementCenter(elem: DataElement<keyof DataElemDesc>): Point; | ||
export declare function calcRadian(center: Point, start: Point, end: Point): number; |
export function parseRadianToAngle(radian) { | ||
return radian / Math.PI * 180; | ||
return (radian / Math.PI) * 180; | ||
} | ||
export function parseAngleToRadian(angle) { | ||
return angle / 180 * Math.PI; | ||
return (angle / 180) * Math.PI; | ||
} | ||
@@ -10,3 +10,3 @@ export function calcElementCenter(elem) { | ||
x: elem.x + elem.w / 2, | ||
y: elem.y + elem.h / 2, | ||
y: elem.y + elem.h / 2 | ||
}; | ||
@@ -19,6 +19,6 @@ return p; | ||
if (endAngle !== null && startAngle !== null) { | ||
if (startAngle > Math.PI * 3 / 2 && endAngle < Math.PI / 2) { | ||
if (startAngle > (Math.PI * 3) / 2 && endAngle < Math.PI / 2) { | ||
return endAngle + (Math.PI * 2 - startAngle); | ||
} | ||
else if (endAngle > Math.PI * 3 / 2 && startAngle < Math.PI / 2) { | ||
else if (endAngle > (Math.PI * 3) / 2 && startAngle < Math.PI / 2) { | ||
return startAngle + (Math.PI * 2 - endAngle); | ||
@@ -25,0 +25,0 @@ } |
@@ -1,3 +0,3 @@ | ||
import { TypeElementAttrs } from '@idraw/types'; | ||
declare function attrs(attrs: TypeElementAttrs): boolean; | ||
import { DataElementAttrs } from '@idraw/types'; | ||
declare function attrs(attrs: DataElementAttrs): boolean; | ||
declare function rectDesc(desc: any): boolean; | ||
@@ -18,3 +18,3 @@ declare function circleDesc(desc: any): boolean; | ||
}; | ||
type TypeCheck = { | ||
type CheckTypeUtil = { | ||
attrs: (value: any) => boolean; | ||
@@ -28,3 +28,3 @@ rectDesc: (value: any) => boolean; | ||
}; | ||
export { TypeCheck }; | ||
export { CheckTypeUtil }; | ||
export default check; |
@@ -113,4 +113,4 @@ import is from './is'; | ||
svgDesc, | ||
htmlDesc, | ||
htmlDesc | ||
}; | ||
export default check; |
@@ -1,3 +0,3 @@ | ||
import { TypeConfig, TypeConfigStrict } from '@idraw/types'; | ||
declare function mergeConfig(config?: TypeConfig): TypeConfigStrict; | ||
import { IDrawConfig, IDrawConfigStrict } from '@idraw/types'; | ||
declare function mergeConfig(config?: IDrawConfig): IDrawConfigStrict; | ||
export { mergeConfig }; |
@@ -1,2 +0,2 @@ | ||
import { TypeElement, TypeElemDesc, TypePoint, TypeData, TypeScreenData } from '@idraw/types'; | ||
import { DataElement, DataElemDesc, Point, IDrawData, ScreenData } from '@idraw/types'; | ||
export type TypeCoreEventSelectBaseArg = { | ||
@@ -7,23 +7,23 @@ index: number | null; | ||
export type TypeCoreEventArgMap = { | ||
'error': any; | ||
'mouseOverScreen': TypePoint; | ||
'mouseLeaveScreen': void; | ||
'mouseOverElement': TypeCoreEventSelectBaseArg & { | ||
element: TypeElement<keyof TypeElemDesc>; | ||
error: any; | ||
mouseOverScreen: Point; | ||
mouseLeaveScreen: void; | ||
mouseOverElement: TypeCoreEventSelectBaseArg & { | ||
element: DataElement<keyof DataElemDesc>; | ||
}; | ||
'mouseLeaveElement': TypeCoreEventSelectBaseArg & { | ||
element: TypeElement<keyof TypeElemDesc>; | ||
mouseLeaveElement: TypeCoreEventSelectBaseArg & { | ||
element: DataElement<keyof DataElemDesc>; | ||
}; | ||
'screenClickElement': TypeCoreEventSelectBaseArg & { | ||
element: TypeElement<keyof TypeElemDesc>; | ||
screenClickElement: TypeCoreEventSelectBaseArg & { | ||
element: DataElement<keyof DataElemDesc>; | ||
}; | ||
'screenDoubleClickElement': TypeCoreEventSelectBaseArg & { | ||
element: TypeElement<keyof TypeElemDesc>; | ||
screenDoubleClickElement: TypeCoreEventSelectBaseArg & { | ||
element: DataElement<keyof DataElemDesc>; | ||
}; | ||
'screenSelectElement': TypeCoreEventSelectBaseArg & { | ||
element: TypeElement<keyof TypeElemDesc>; | ||
screenSelectElement: TypeCoreEventSelectBaseArg & { | ||
element: DataElement<keyof DataElemDesc>; | ||
}; | ||
'screenMoveElementStart': TypeCoreEventSelectBaseArg & TypePoint; | ||
'screenMoveElementEnd': TypeCoreEventSelectBaseArg & TypePoint; | ||
'screenChangeElement': TypeCoreEventSelectBaseArg & { | ||
screenMoveElementStart: TypeCoreEventSelectBaseArg & Point; | ||
screenMoveElementEnd: TypeCoreEventSelectBaseArg & Point; | ||
screenChangeElement: TypeCoreEventSelectBaseArg & { | ||
width: number; | ||
@@ -33,6 +33,6 @@ height: number; | ||
}; | ||
'changeData': TypeData; | ||
'changeScreen': TypeScreenData; | ||
'drawFrameComplete': void; | ||
'drawFrame': void; | ||
changeData: IDrawData; | ||
changeScreen: ScreenData; | ||
drawFrameComplete: void; | ||
drawFrame: void; | ||
}; | ||
@@ -39,0 +39,0 @@ export interface TypeCoreEvent { |
@@ -1,6 +0,6 @@ | ||
import { TypeElement, TypeData, TypeElemDesc } from '@idraw/types'; | ||
export declare function isChangeImageElementResource(before: TypeElement<'image'>, after: TypeElement<'image'>): boolean; | ||
export declare function isChangeSVGElementResource(before: TypeElement<'svg'>, after: TypeElement<'svg'>): boolean; | ||
export declare function isChangeHTMLElementResource(before: TypeElement<'html'>, after: TypeElement<'html'>): boolean; | ||
export declare function diffElementResourceChange(before: TypeElement<keyof TypeElemDesc>, after: TypeElement<keyof TypeElemDesc>): string | null; | ||
export declare function diffElementResourceChangeList(before: TypeData, after: TypeData): string[]; | ||
import { DataElement, IDrawData, DataElemDesc } from '@idraw/types'; | ||
export declare function isChangeImageElementResource(before: DataElement<'image'>, after: DataElement<'image'>): boolean; | ||
export declare function isChangeSVGElementResource(before: DataElement<'svg'>, after: DataElement<'svg'>): boolean; | ||
export declare function isChangeHTMLElementResource(before: DataElement<'html'>, after: DataElement<'html'>): boolean; | ||
export declare function diffElementResourceChange(before: DataElement<keyof DataElemDesc>, after: DataElement<keyof DataElemDesc>): string | null; | ||
export declare function diffElementResourceChangeList(before: IDrawData, after: IDrawData): string[]; |
export function isChangeImageElementResource(before, after) { | ||
var _a, _b; | ||
return (((_a = before === null || before === void 0 ? void 0 : before.desc) === null || _a === void 0 ? void 0 : _a.src) !== ((_b = after === null || after === void 0 ? void 0 : after.desc) === null || _b === void 0 ? void 0 : _b.src)); | ||
return ((_a = before === null || before === void 0 ? void 0 : before.desc) === null || _a === void 0 ? void 0 : _a.src) !== ((_b = after === null || after === void 0 ? void 0 : after.desc) === null || _b === void 0 ? void 0 : _b.src); | ||
} | ||
export function isChangeSVGElementResource(before, after) { | ||
var _a, _b; | ||
return (((_a = before === null || before === void 0 ? void 0 : before.desc) === null || _a === void 0 ? void 0 : _a.svg) !== ((_b = after === null || after === void 0 ? void 0 : after.desc) === null || _b === void 0 ? void 0 : _b.svg)); | ||
return ((_a = before === null || before === void 0 ? void 0 : before.desc) === null || _a === void 0 ? void 0 : _a.svg) !== ((_b = after === null || after === void 0 ? void 0 : after.desc) === null || _b === void 0 ? void 0 : _b.svg); | ||
} | ||
export function isChangeHTMLElementResource(before, after) { | ||
var _a, _b, _c, _d, _e, _f; | ||
return (((_a = before === null || before === void 0 ? void 0 : before.desc) === null || _a === void 0 ? void 0 : _a.html) !== ((_b = after === null || after === void 0 ? void 0 : after.desc) === null || _b === void 0 ? void 0 : _b.html) | ||
|| ((_c = before === null || before === void 0 ? void 0 : before.desc) === null || _c === void 0 ? void 0 : _c.width) !== ((_d = after === null || after === void 0 ? void 0 : after.desc) === null || _d === void 0 ? void 0 : _d.width) | ||
|| ((_e = before === null || before === void 0 ? void 0 : before.desc) === null || _e === void 0 ? void 0 : _e.height) !== ((_f = after === null || after === void 0 ? void 0 : after.desc) === null || _f === void 0 ? void 0 : _f.height)); | ||
return (((_a = before === null || before === void 0 ? void 0 : before.desc) === null || _a === void 0 ? void 0 : _a.html) !== ((_b = after === null || after === void 0 ? void 0 : after.desc) === null || _b === void 0 ? void 0 : _b.html) || | ||
((_c = before === null || before === void 0 ? void 0 : before.desc) === null || _c === void 0 ? void 0 : _c.width) !== ((_d = after === null || after === void 0 ? void 0 : after.desc) === null || _d === void 0 ? void 0 : _d.width) || | ||
((_e = before === null || before === void 0 ? void 0 : before.desc) === null || _e === void 0 ? void 0 : _e.height) !== ((_f = after === null || after === void 0 ? void 0 : after.desc) === null || _f === void 0 ? void 0 : _f.height)); | ||
} | ||
@@ -31,3 +31,4 @@ export function diffElementResourceChange(before, after) { | ||
} | ||
default: break; | ||
default: | ||
break; | ||
} | ||
@@ -63,3 +64,4 @@ if (isChange === true) { | ||
} | ||
default: break; | ||
default: | ||
break; | ||
} | ||
@@ -66,0 +68,0 @@ if (isChange === true) { |
@@ -1,5 +0,5 @@ | ||
import { TypeContext, TypeElement } from '@idraw/types'; | ||
export declare function clearContext(ctx: TypeContext): void; | ||
export declare function drawBgColor(ctx: TypeContext, color: string): void; | ||
export declare function drawBox(ctx: TypeContext, elem: TypeElement<'text' | 'rect'>, pattern: string | CanvasPattern | null): void; | ||
export declare function drawBoxBorder(ctx: TypeContext, elem: TypeElement<'text' | 'rect'>): void; | ||
import { IDrawContext, DataElement } from '@idraw/types'; | ||
export declare function clearContext(ctx: IDrawContext): void; | ||
export declare function drawBgColor(ctx: IDrawContext, color: string): void; | ||
export declare function drawBox(ctx: IDrawContext, elem: DataElement<'text' | 'rect'>, pattern: string | CanvasPattern | null): void; | ||
export declare function drawBoxBorder(ctx: IDrawContext, elem: DataElement<'text' | 'rect'>): void; |
@@ -1,4 +0,4 @@ | ||
import { TypeContext, TypeHelperConfig } from '@idraw/types'; | ||
export declare function drawElementWrapper(ctx: TypeContext, config: TypeHelperConfig): void; | ||
export declare function drawAreaWrapper(ctx: TypeContext, config: TypeHelperConfig): void; | ||
export declare function drawElementListWrappers(ctx: TypeContext, config: TypeHelperConfig): void; | ||
import { IDrawContext, HelperConfig } from '@idraw/types'; | ||
export declare function drawElementWrapper(ctx: IDrawContext, config: HelperConfig): void; | ||
export declare function drawAreaWrapper(ctx: IDrawContext, config: HelperConfig): void; | ||
export declare function drawElementListWrappers(ctx: IDrawContext, config: HelperConfig): void; |
@@ -1,9 +0,9 @@ | ||
import { TypeContext, TypePoint, TypeData, TypeHelperWrapperControllerDirection, TypeElement, TypeElemDesc } from '@idraw/types'; | ||
import { IDrawContext, Point, IDrawData, HelperWrapperControllerDirection, DataElement, DataElemDesc } from '@idraw/types'; | ||
export declare class Element { | ||
private _ctx; | ||
constructor(ctx: TypeContext); | ||
initData(data: TypeData): TypeData; | ||
isPointInElement(p: TypePoint, data: TypeData): [number, string | null]; | ||
dragElement(data: TypeData, uuid: string, point: TypePoint, prevPoint: TypePoint, scale: number): void; | ||
transformElement(data: TypeData, uuid: string, point: TypePoint, prevPoint: TypePoint, scale: number, direction: TypeHelperWrapperControllerDirection): null | { | ||
constructor(ctx: IDrawContext); | ||
initData(data: IDrawData): IDrawData; | ||
isPointInElement(p: Point, data: IDrawData): [number, string | null]; | ||
dragElement(data: IDrawData, uuid: string, point: Point, prevPoint: Point, scale: number): void; | ||
transformElement(data: IDrawData, uuid: string, point: Point, prevPoint: Point, scale: number, direction: HelperWrapperControllerDirection): null | { | ||
width: number; | ||
@@ -13,4 +13,4 @@ height: number; | ||
}; | ||
getElementIndex(data: TypeData, uuid: string): number; | ||
limitElementAttrs(elem: TypeElement<keyof TypeElemDesc>): void; | ||
getElementIndex(data: IDrawData, uuid: string): number; | ||
limitElementAttrs(elem: DataElement<keyof DataElemDesc>): void; | ||
} |
@@ -84,3 +84,3 @@ import { createUUID } from '@idraw/util'; | ||
].includes(direction)) { | ||
const p = calcuScaleElemPosition(elem, moveX, moveY, direction, scale); | ||
const p = calcuScaleElemPosition(elem, moveX, moveY, direction); | ||
elem.x = p.x; | ||
@@ -121,6 +121,6 @@ elem.y = p.y; | ||
} | ||
function calcuScaleElemPosition(elem, moveX, moveY, direction, scale) { | ||
function calcuScaleElemPosition(elem, moveX, moveY, direction) { | ||
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o; | ||
const p = { x: elem.x, y: elem.y, w: elem.w, h: elem.h }; | ||
let angle = elem.angle; | ||
let angle = elem.angle || 0; | ||
if (angle < 0) { | ||
@@ -147,3 +147,3 @@ angle = Math.max(0, 360 + angle); | ||
case 'top': { | ||
if (elem.angle === 0 || Math.abs(elem.angle) < limitQbliqueAngle) { | ||
if (elem.angle === 0 || Math.abs(elem.angle || 0) < limitQbliqueAngle) { | ||
if (p.h - moveY > 0) { | ||
@@ -158,3 +158,4 @@ p.y += moveY; | ||
} | ||
else if (elem.angle > 0 || elem.angle < 0) { | ||
else if (elem.angle !== undefined && | ||
(elem.angle > 0 || elem.angle < 0)) { | ||
const angle = elem.angle > 0 ? elem.angle : Math.max(0, elem.angle + 360); | ||
@@ -222,3 +223,3 @@ let moveDist = calcMoveDist(moveX, moveY); | ||
case 'right': { | ||
if (elem.angle === 0 || Math.abs(elem.angle) < limitQbliqueAngle) { | ||
if (elem.angle === 0 || Math.abs(elem.angle || 0) < limitQbliqueAngle) { | ||
if (elem.w + moveX > 0) { | ||
@@ -232,3 +233,4 @@ p.w += moveX; | ||
} | ||
else if (elem.angle > 0 || elem.angle < 0) { | ||
else if (elem.angle !== undefined && | ||
(elem.angle > 0 || elem.angle < 0)) { | ||
const angle = elem.angle > 0 ? elem.angle : Math.max(0, elem.angle + 360); | ||
@@ -295,3 +297,3 @@ let moveDist = calcMoveDist(moveX, moveY); | ||
case 'bottom': { | ||
if (elem.angle === 0 || Math.abs(elem.angle) < limitQbliqueAngle) { | ||
if (elem.angle === 0 || Math.abs(elem.angle || 0) < limitQbliqueAngle) { | ||
if (elem.h + moveY > 0) { | ||
@@ -305,3 +307,4 @@ p.h += moveY; | ||
} | ||
else if (elem.angle > 0 || elem.angle < 0) { | ||
else if (elem.angle !== undefined && | ||
(elem.angle > 0 || elem.angle < 0)) { | ||
const angle = elem.angle > 0 ? elem.angle : Math.max(0, elem.angle + 360); | ||
@@ -368,3 +371,3 @@ let moveDist = calcMoveDist(moveX, moveY); | ||
case 'left': { | ||
if (elem.angle === 0 || Math.abs(elem.angle) < limitQbliqueAngle) { | ||
if (elem.angle === 0 || Math.abs(elem.angle || 0) < limitQbliqueAngle) { | ||
if (elem.w - moveX > 0) { | ||
@@ -379,3 +382,4 @@ p.x += moveX; | ||
} | ||
else if (elem.angle > 0 || elem.angle < 0) { | ||
else if (elem.angle !== undefined && | ||
(elem.angle > 0 || elem.angle < 0)) { | ||
const angle = elem.angle > 0 ? elem.angle : Math.max(0, elem.angle + 360); | ||
@@ -382,0 +386,0 @@ let moveDist = calcMoveDist(moveX, moveY); |
@@ -1,2 +0,2 @@ | ||
import { TypeHelperWrapperControllerDirection, TypePoint } from '@idraw/types'; | ||
import { HelperWrapperControllerDirection, Point } from '@idraw/types'; | ||
import { Mode, CursorStatus } from '../constant/static'; | ||
@@ -10,5 +10,5 @@ type TempDataDesc = { | ||
hoverUUID: string | null; | ||
selectedControllerDirection: TypeHelperWrapperControllerDirection | null; | ||
hoverControllerDirection: TypeHelperWrapperControllerDirection | null; | ||
prevPoint: TypePoint | null; | ||
selectedControllerDirection: HelperWrapperControllerDirection | null; | ||
hoverControllerDirection: HelperWrapperControllerDirection | null; | ||
prevPoint: Point | null; | ||
hasChangedElement: boolean; | ||
@@ -15,0 +15,0 @@ }; |
@@ -1,3 +0,3 @@ | ||
declare const is: TypeIs; | ||
type TypeIs = { | ||
declare const is: IsTypeUtil; | ||
type IsTypeUtil = { | ||
x: (value: any) => boolean; | ||
@@ -26,2 +26,2 @@ y: (value: any) => boolean; | ||
export default is; | ||
export { TypeIs }; | ||
export { IsTypeUtil }; |
@@ -1,2 +0,2 @@ | ||
import { TypeData } from '@idraw/types'; | ||
export declare function parseData(data: any): TypeData; | ||
import { IDrawData } from '@idraw/types'; | ||
export declare function parseData(data: any): IDrawData; |
import { elementNames } from './../constant/element'; | ||
export function parseData(data) { | ||
const result = { | ||
elements: [], | ||
elements: [] | ||
}; | ||
@@ -19,3 +19,6 @@ if (Array.isArray(data === null || data === void 0 ? void 0 : data.elements)) { | ||
function isElement(elem) { | ||
if (!(isNumber(elem.x) && isNumber(elem.y) && isNumber(elem.w) && isNumber(elem.h))) { | ||
if (!(isNumber(elem.x) && | ||
isNumber(elem.y) && | ||
isNumber(elem.w) && | ||
isNumber(elem.h))) { | ||
return false; | ||
@@ -29,3 +32,3 @@ } | ||
function isNumber(num) { | ||
return (num >= 0 || num < 0); | ||
return num >= 0 || num < 0; | ||
} |
@@ -1,4 +0,4 @@ | ||
import { TypeContext, TypePoint, TypeElement, TypeElemDesc } from '@idraw/types'; | ||
declare function rotateElement(ctx: TypeContext, elem: TypeElement<keyof TypeElemDesc>, callback: (ctx: TypeContext) => void): void; | ||
declare function rotateContext(ctx: TypeContext, center: TypePoint | undefined, radian: number, callback: (ctx: TypeContext) => void): void; | ||
export { rotateContext, rotateElement, }; | ||
import { IDrawContext, Point, DataElement, DataElemDesc } from '@idraw/types'; | ||
declare function rotateElement(ctx: IDrawContext, elem: DataElement<keyof DataElemDesc>, callback: (ctx: IDrawContext) => void): void; | ||
declare function rotateContext(ctx: IDrawContext, center: Point | undefined, radian: number, callback: (ctx: IDrawContext) => void): void; | ||
export { rotateContext, rotateElement }; |
@@ -20,2 +20,2 @@ import { calcElementCenter, parseAngleToRadian } from './calculate'; | ||
} | ||
export { rotateContext, rotateElement, }; | ||
export { rotateContext, rotateElement }; |
@@ -1,20 +0,18 @@ | ||
import { TypeElement, TypeElemDesc, TypeElementBase } from '@idraw/types'; | ||
import Core from './../index'; | ||
export declare function getSelectedElements(core: Core): TypeElement<keyof TypeElemDesc>[]; | ||
export declare function getElement(core: Core, uuid: string): TypeElement<keyof TypeElemDesc> | null; | ||
export declare function getElementByIndex(core: Core, index: number): TypeElement<keyof TypeElemDesc> | null; | ||
export declare function updateElement(core: Core, elem: TypeElement<keyof TypeElemDesc>): void; | ||
import { DataElement, DataElemDesc, DataElementBase } from '@idraw/types'; | ||
import Core from '../index'; | ||
export declare function getSelectedElements(core: Core): DataElement<keyof DataElemDesc>[]; | ||
export declare function getElement(core: Core, uuid: string): DataElement<keyof DataElemDesc> | null; | ||
export declare function getElementByIndex(core: Core, index: number): DataElement<keyof DataElemDesc> | null; | ||
export declare function updateElement(core: Core, elem: DataElement<keyof DataElemDesc>): void; | ||
export declare function selectElementByIndex(core: Core, index: number): void; | ||
export declare function selectElement(core: Core, uuid: string): void; | ||
export declare function cancelElementByIndex(core: Core, index: number): void; | ||
export declare function cancelElement(core: Core, uuid: string, opts?: { | ||
useMode?: boolean; | ||
}): void; | ||
export declare function cancelElement(core: Core, uuid: string): void; | ||
export declare function moveUpElement(core: Core, uuid: string): void; | ||
export declare function moveDownElement(core: Core, uuid: string): void; | ||
export declare function addElement(core: Core, elem: TypeElementBase<keyof TypeElemDesc>): string | null; | ||
export declare function addElement(core: Core, elem: DataElementBase<keyof DataElemDesc>): string | null; | ||
export declare function deleteElement(core: Core, uuid: string): void; | ||
export declare function insertElementBefore(core: Core, elem: TypeElementBase<keyof TypeElemDesc>, beforeUUID: string): any; | ||
export declare function insertElementBeforeIndex(core: Core, elem: TypeElementBase<keyof TypeElemDesc>, index: number): any; | ||
export declare function insertElementAfter(core: Core, elem: TypeElementBase<keyof TypeElemDesc>, beforeUUID: string): any; | ||
export declare function insertElementAfterIndex(core: Core, elem: TypeElementBase<keyof TypeElemDesc>, index: number): any; | ||
export declare function insertElementBefore(core: Core, elem: DataElementBase<keyof DataElemDesc>, beforeUUID: string): any; | ||
export declare function insertElementBeforeIndex(core: Core, elem: DataElementBase<keyof DataElemDesc>, index: number): any; | ||
export declare function insertElementAfter(core: Core, elem: DataElementBase<keyof DataElemDesc>, beforeUUID: string): any; | ||
export declare function insertElementAfterIndex(core: Core, elem: DataElementBase<keyof DataElemDesc>, index: number): any; |
import { deepClone, createUUID } from '@idraw/util'; | ||
import { _data, _element, _engine, _draw, _emitChangeData } from './../names'; | ||
import { diffElementResourceChange } from './../lib/diff'; | ||
import { Mode } from './../constant/static'; | ||
import { diffElementResourceChange } from '../lib/diff'; | ||
import { Mode } from '../constant/static'; | ||
export function getSelectedElements(core) { | ||
const elems = []; | ||
let list = []; | ||
const uuid = core[_engine].temp.get('selectedUUID'); | ||
const uuid = core.getEngine().temp.get('selectedUUID'); | ||
if (typeof uuid === 'string' && uuid) { | ||
@@ -13,9 +12,8 @@ list.push(uuid); | ||
else { | ||
list = core[_engine].temp.get('selectedUUIDList'); | ||
list = core.getEngine().temp.get('selectedUUIDList'); | ||
} | ||
list.forEach((uuid) => { | ||
var _a; | ||
const index = core[_engine].helper.getElementIndexByUUID(uuid); | ||
const index = core.getEngine().helper.getElementIndexByUUID(uuid); | ||
if (index !== null && index >= 0) { | ||
const elem = (_a = core[_data]) === null || _a === void 0 ? void 0 : _a.elements[index]; | ||
const elem = core.$data.elements[index]; | ||
if (elem) | ||
@@ -29,5 +27,5 @@ elems.push(elem); | ||
let elem = null; | ||
const index = core[_engine].helper.getElementIndexByUUID(uuid); | ||
if (index !== null && core[_data].elements[index]) { | ||
elem = deepClone(core[_data].elements[index]); | ||
const index = core.getEngine().helper.getElementIndexByUUID(uuid); | ||
if (index !== null && core.$data.elements[index]) { | ||
elem = deepClone(core.$data.elements[index]); | ||
} | ||
@@ -38,4 +36,4 @@ return elem; | ||
let elem = null; | ||
if (index >= 0 && core[_data].elements[index]) { | ||
elem = deepClone(core[_data].elements[index]); | ||
if (index >= 0 && core.$data.elements[index]) { | ||
elem = deepClone(core.$data.elements[index]); | ||
} | ||
@@ -47,3 +45,3 @@ return elem; | ||
const _elem = deepClone(elem); | ||
const data = core[_data]; | ||
const data = core.getData(); | ||
const resourceChangeUUIDs = []; | ||
@@ -60,18 +58,18 @@ for (let i = 0; i < data.elements.length; i++) { | ||
} | ||
core[_emitChangeData](); | ||
core[_draw]({ resourceChangeUUIDs }); | ||
core.$emitChangeData(); | ||
core.$draw({ resourceChangeUUIDs }); | ||
} | ||
export function selectElementByIndex(core, index) { | ||
if (core[_data].elements[index]) { | ||
const uuid = core[_data].elements[index].uuid; | ||
core[_engine].temp.set('mode', Mode.NULL); | ||
if (core.$data.elements[index]) { | ||
const uuid = core.$data.elements[index].uuid; | ||
core.getEngine().temp.set('mode', Mode.NULL); | ||
if (typeof uuid === 'string') { | ||
core[_engine].temp.set('selectedUUID', uuid); | ||
core[_engine].temp.set('selectedUUIDList', []); | ||
core.getEngine().temp.set('selectedUUID', uuid); | ||
core.getEngine().temp.set('selectedUUIDList', []); | ||
} | ||
core[_draw](); | ||
core.$draw(); | ||
} | ||
} | ||
export function selectElement(core, uuid) { | ||
const index = core[_engine].helper.getElementIndexByUUID(uuid); | ||
const index = core.getEngine().helper.getElementIndexByUUID(uuid); | ||
if (typeof index === 'number' && index >= 0) { | ||
@@ -82,42 +80,42 @@ core.selectElementByIndex(index); | ||
export function cancelElementByIndex(core, index) { | ||
if (core[_data].elements[index]) { | ||
const uuid = core[_data].elements[index].uuid; | ||
const selectedUUID = core[_engine].temp.get('selectedUUID'); | ||
if (core.$data.elements[index]) { | ||
const uuid = core.$data.elements[index].uuid; | ||
const selectedUUID = core.getEngine().temp.get('selectedUUID'); | ||
if (typeof uuid === 'string' && uuid === selectedUUID) { | ||
core[_engine].temp.set('mode', Mode.NULL); | ||
core[_engine].temp.set('selectedUUID', null); | ||
core[_engine].temp.set('selectedUUIDList', []); | ||
core.getEngine().temp.set('mode', Mode.NULL); | ||
core.getEngine().temp.set('selectedUUID', null); | ||
core.getEngine().temp.set('selectedUUIDList', []); | ||
} | ||
core[_draw](); | ||
core.$draw(); | ||
} | ||
} | ||
export function cancelElement(core, uuid, opts) { | ||
const index = core[_engine].helper.getElementIndexByUUID(uuid); | ||
export function cancelElement(core, uuid) { | ||
const index = core.getEngine().helper.getElementIndexByUUID(uuid); | ||
if (typeof index === 'number' && index >= 0) { | ||
core.cancelElementByIndex(index, opts); | ||
core.cancelElementByIndex(index); | ||
} | ||
} | ||
export function moveUpElement(core, uuid) { | ||
const index = core[_engine].helper.getElementIndexByUUID(uuid); | ||
const index = core.getEngine().helper.getElementIndexByUUID(uuid); | ||
if (typeof index === 'number' && | ||
index >= 0 && | ||
index < core[_data].elements.length - 1) { | ||
const temp = core[_data].elements[index]; | ||
core[_data].elements[index] = core[_data].elements[index + 1]; | ||
core[_data].elements[index + 1] = temp; | ||
index < core.$data.elements.length - 1) { | ||
const temp = core.$data.elements[index]; | ||
core.$data.elements[index] = core.$data.elements[index + 1]; | ||
core.$data.elements[index + 1] = temp; | ||
} | ||
core[_emitChangeData](); | ||
core[_draw](); | ||
core.$emitChangeData(); | ||
core.$draw(); | ||
} | ||
export function moveDownElement(core, uuid) { | ||
const index = core[_engine].helper.getElementIndexByUUID(uuid); | ||
const index = core.getEngine().helper.getElementIndexByUUID(uuid); | ||
if (typeof index === 'number' && | ||
index > 0 && | ||
index < core[_data].elements.length) { | ||
const temp = core[_data].elements[index]; | ||
core[_data].elements[index] = core[_data].elements[index - 1]; | ||
core[_data].elements[index - 1] = temp; | ||
index < core.$data.elements.length) { | ||
const temp = core.$data.elements[index]; | ||
core.$data.elements[index] = core.$data.elements[index - 1]; | ||
core.$data.elements[index - 1] = temp; | ||
} | ||
core[_emitChangeData](); | ||
core[_draw](); | ||
core.$emitChangeData(); | ||
core.$draw(); | ||
} | ||
@@ -127,17 +125,17 @@ export function addElement(core, elem) { | ||
_elem.uuid = createUUID(); | ||
core[_data].elements.push(_elem); | ||
core[_emitChangeData](); | ||
core[_draw](); | ||
core.$data.elements.push(_elem); | ||
core.$emitChangeData(); | ||
core.$draw(); | ||
return _elem.uuid; | ||
} | ||
export function deleteElement(core, uuid) { | ||
const index = core[_element].getElementIndex(core[_data], uuid); | ||
const index = core.$getElementHandler().getElementIndex(core.getData(), uuid); | ||
if (index >= 0) { | ||
core[_data].elements.splice(index, 1); | ||
core[_emitChangeData](); | ||
core[_draw](); | ||
core.$data.elements.splice(index, 1); | ||
core.$emitChangeData(); | ||
core.$draw(); | ||
} | ||
} | ||
export function insertElementBefore(core, elem, beforeUUID) { | ||
const index = core[_engine].helper.getElementIndexByUUID(beforeUUID); | ||
const index = core.getEngine().helper.getElementIndexByUUID(beforeUUID); | ||
if (index !== null) { | ||
@@ -152,5 +150,5 @@ return core.insertElementBeforeIndex(elem, index); | ||
if (index >= 0) { | ||
core[_data].elements.splice(index, 0, _elem); | ||
core[_emitChangeData](); | ||
core[_draw](); | ||
core.$data.elements.splice(index, 0, _elem); | ||
core.$emitChangeData(); | ||
core.$draw(); | ||
return _elem.uuid; | ||
@@ -161,3 +159,3 @@ } | ||
export function insertElementAfter(core, elem, beforeUUID) { | ||
const index = core[_engine].helper.getElementIndexByUUID(beforeUUID); | ||
const index = core.getEngine().helper.getElementIndexByUUID(beforeUUID); | ||
if (index !== null) { | ||
@@ -172,5 +170,5 @@ return core.insertElementAfterIndex(elem, index); | ||
if (index >= 0) { | ||
core[_data].elements.splice(index + 1, 0, _elem); | ||
core[_emitChangeData](); | ||
core[_draw](); | ||
core.$data.elements.splice(index + 1, 0, _elem); | ||
core.$emitChangeData(); | ||
core.$draw(); | ||
return _elem.uuid; | ||
@@ -177,0 +175,0 @@ } |
@@ -1,2 +0,2 @@ | ||
import { InterfaceHelperPlugin, TypeHelperPluginEventDetail, TypeHelperPluginEventResult } from '@idraw/types'; | ||
import { InterfaceHelperPlugin, HelperPluginEventDetail, HelperPluginEventResult } from '@idraw/types'; | ||
export declare class HelperPlugin implements Required<InterfaceHelperPlugin> { | ||
@@ -6,8 +6,8 @@ readonly name: string; | ||
constructor(); | ||
onHover(detail: TypeHelperPluginEventDetail): void | TypeHelperPluginEventResult; | ||
onPoint(detail: TypeHelperPluginEventDetail): void | TypeHelperPluginEventResult; | ||
onClick(detail: TypeHelperPluginEventDetail): void | TypeHelperPluginEventResult; | ||
onMoveStart(detail: TypeHelperPluginEventDetail): void | TypeHelperPluginEventResult; | ||
onMove(detail: TypeHelperPluginEventDetail): void | TypeHelperPluginEventResult; | ||
onMoveEnd(detail: TypeHelperPluginEventDetail): void | TypeHelperPluginEventResult; | ||
onHover(detail: HelperPluginEventDetail): void | HelperPluginEventResult; | ||
onPoint(detail: HelperPluginEventDetail): void | HelperPluginEventResult; | ||
onClick(detail: HelperPluginEventDetail): void | HelperPluginEventResult; | ||
onMoveStart(detail: HelperPluginEventDetail): void | HelperPluginEventResult; | ||
onMove(detail: HelperPluginEventDetail): void | HelperPluginEventResult; | ||
onMoveEnd(detail: HelperPluginEventDetail): void | HelperPluginEventResult; | ||
} |
@@ -11,12 +11,7 @@ import { createUUID } from '@idraw/util'; | ||
} | ||
onPoint(detail) { | ||
} | ||
onClick(detail) { | ||
} | ||
onMoveStart(detail) { | ||
} | ||
onMove(detail) { | ||
} | ||
onMoveEnd(detail) { | ||
} | ||
onPoint(detail) { } | ||
onClick(detail) { } | ||
onMoveStart(detail) { } | ||
onMove(detail) { } | ||
onMoveEnd(detail) { } | ||
} |
{ | ||
"name": "@idraw/core", | ||
"version": "0.3.0-beta.3", | ||
"version": "0.3.0-beta.6", | ||
"description": "", | ||
@@ -24,8 +24,8 @@ "main": "dist/esm/index.js", | ||
"devDependencies": { | ||
"@idraw/types": "^0.3.0-beta.3" | ||
"@idraw/types": "^0.3.0-beta.6" | ||
}, | ||
"dependencies": { | ||
"@idraw/board": "^0.3.0-beta.3", | ||
"@idraw/renderer": "^0.3.0-beta.3", | ||
"@idraw/util": "^0.3.0-beta.3" | ||
"@idraw/board": "^0.3.0-beta.6", | ||
"@idraw/renderer": "^0.3.0-beta.6", | ||
"@idraw/util": "^0.3.0-beta.6" | ||
}, | ||
@@ -35,3 +35,3 @@ "publishConfig": { | ||
}, | ||
"gitHead": "2420306f422d6c7b87772690e59dbfd8c6e0729c" | ||
"gitHead": "afbadcfac219cd8e1897a080385b730374c980ea" | ||
} |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Deprecated
MaintenanceThe maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Found 1 instance in 1 package
402139
8490
0
50
Updated@idraw/board@^0.3.0-beta.6
Updated@idraw/util@^0.3.0-beta.6