UNPKG

core-graphics

Version:

A core library for creating shape-based graphic editors

108 lines (105 loc) 3.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isHistoryEvent = isHistoryEvent; exports.isPersistedHistoryEvent = isPersistedHistoryEvent; exports.getPersistedHistoryEvent = getPersistedHistoryEvent; exports.getHistoryEventFromPersisted = getHistoryEventFromPersisted; exports.isIdentityEvent = isIdentityEvent; exports.isShapeAddEvent = isShapeAddEvent; exports.isShapeUpdateEvent = isShapeUpdateEvent; exports.isShapeRemoveEvent = isShapeRemoveEvent; exports.isShapeChangeOrderEvent = isShapeChangeOrderEvent; exports.isEraseAllEvent = isEraseAllEvent; exports.isHistoryEventsGroup = isHistoryEventsGroup; exports.identityHistoryEvent = identityHistoryEvent; exports.shapeAddEvent = shapeAddEvent; exports.shapeUpdateEvent = shapeUpdateEvent; exports.shapeRemoveEvent = shapeRemoveEvent; exports.shapesRemoveEvent = shapesRemoveEvent; exports.shapeChangeOrderEvent = shapeChangeOrderEvent; exports.eraseAllEvent = eraseAllEvent; exports.historyEventsGroup = historyEventsGroup; function isHistoryEvent(event) { return !!event; } function isPersistedHistoryEvent(event) { return !!event; } function getPersistedHistoryEvent(params, ev) { var id = params.id; var author = params.author; var _params$applied = params.applied; var applied = _params$applied === undefined ? true : _params$applied; return { id: id, author: author, applied: applied, ev: ev }; } function getHistoryEventFromPersisted(persisted) { return persisted.ev; } var HistoryEventType = exports.HistoryEventType = undefined; (function (HistoryEventType) { HistoryEventType[HistoryEventType["Identity"] = 0] = "Identity"; HistoryEventType[HistoryEventType["AddShape"] = 1] = "AddShape"; HistoryEventType[HistoryEventType["UpdateShape"] = 2] = "UpdateShape"; HistoryEventType[HistoryEventType["RemoveShape"] = 3] = "RemoveShape"; HistoryEventType[HistoryEventType["ChangeShapeOrder"] = 4] = "ChangeShapeOrder"; HistoryEventType[HistoryEventType["EraseAll"] = 5] = "EraseAll"; HistoryEventType[HistoryEventType["Grouped"] = 6] = "Grouped"; })(HistoryEventType || (exports.HistoryEventType = HistoryEventType = {})); function isIdentityEvent(base) { return base.type === HistoryEventType.Identity; } function isShapeAddEvent(base) { return base.type === HistoryEventType.AddShape; } function isShapeUpdateEvent(base) { return base.type === HistoryEventType.UpdateShape; } function isShapeRemoveEvent(base) { return base.type === HistoryEventType.RemoveShape; } function isShapeChangeOrderEvent(base) { return base.type === HistoryEventType.ChangeShapeOrder; } function isEraseAllEvent(base) { return base.type === HistoryEventType.EraseAll; } function isHistoryEventsGroup(base) { return base.type === HistoryEventType.Grouped; } function identityHistoryEvent() { return { type: HistoryEventType.Identity }; } function shapeAddEvent(shapeData) { return { type: HistoryEventType.AddShape, payload: shapeData }; } function shapeUpdateEvent(id, shapeData) { return { type: HistoryEventType.UpdateShape, payload: { shapeData: shapeData, id: id } }; } function shapeRemoveEvent(shapeId) { return { type: HistoryEventType.RemoveShape, payload: { id: shapeId } }; } function shapesRemoveEvent(shapesIds) { var events = shapesIds.map(function (shapeId, index) { return shapeRemoveEvent(shapeId); }); return historyEventsGroup(events); } function shapeChangeOrderEvent(params) { var shapeId = params.shapeId; var value = params.value; var relative = params.relative; return { type: HistoryEventType.ChangeShapeOrder, payload: { id: shapeId, value: value, relative: relative } }; } function eraseAllEvent() { return { type: HistoryEventType.EraseAll }; } function historyEventsGroup(events) { return { type: HistoryEventType.Grouped, payload: events }; }