@drizm/ng-whiteboard
Version:
A Canvas component for Angular which supports free drawing.
40 lines • 5.93 kB
JavaScript
export var CanvasWhiteboardUpdateType;
(function (CanvasWhiteboardUpdateType) {
CanvasWhiteboardUpdateType[CanvasWhiteboardUpdateType["START"] = 0] = "START";
CanvasWhiteboardUpdateType[CanvasWhiteboardUpdateType["DRAG"] = 1] = "DRAG";
CanvasWhiteboardUpdateType[CanvasWhiteboardUpdateType["STOP"] = 2] = "STOP";
})(CanvasWhiteboardUpdateType || (CanvasWhiteboardUpdateType = {}));
export class CanvasWhiteboardUpdate {
constructor(x, y, type, UUID, selectedShape, selectedShapeOptions) {
this.x = x;
this.y = y;
this.type = type;
this.UUID = UUID;
this.selectedShape = selectedShape;
this.selectedShapeOptions = selectedShapeOptions;
}
static deserializeJson(json) {
let parsedJson;
try {
parsedJson = JSON.parse(json);
return new CanvasWhiteboardUpdate(parsedJson.x, parsedJson.y, parsedJson.type, parsedJson.uuid, parsedJson.selectedShape, parsedJson.selectedShapeOptions);
}
catch (e) {
console.error('The canvas whiteboard update is not parseable');
return null;
}
}
stringify() {
var _a, _b;
const objectToSerialize = {
x: (_a = this.x) === null || _a === void 0 ? void 0 : _a.toFixed(3),
y: (_b = this.y) === null || _b === void 0 ? void 0 : _b.toFixed(3),
type: this.type,
uuid: this.UUID,
selectedShape: this.selectedShape,
selectedShapeOptions: this.selectedShapeOptions || undefined
};
return JSON.stringify(objectToSerialize);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLXdoaXRlYm9hcmQtdXBkYXRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctd2hpdGVib2FyZC9zcmMvbGliL19jbGFzc2VzL2NhbnZhcy13aGl0ZWJvYXJkLXVwZGF0ZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQU4sSUFBWSwwQkFJWDtBQUpELFdBQVksMEJBQTBCO0lBQ3BDLDZFQUFTLENBQUE7SUFDVCwyRUFBUSxDQUFBO0lBQ1IsMkVBQVEsQ0FBQTtBQUNWLENBQUMsRUFKVywwQkFBMEIsS0FBMUIsMEJBQTBCLFFBSXJDO0FBRUQsTUFBTSxPQUFPLHNCQUFzQjtJQXlCakMsWUFBWSxDQUFVLEVBQ1YsQ0FBVSxFQUNWLElBQWlDLEVBQ2pDLElBQWEsRUFDYixhQUFzQixFQUN0QixvQkFBbUQ7UUFDN0QsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztJQUNuRCxDQUFDO0lBN0JELE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBUztRQUM5QixJQUFJLFVBQVUsQ0FBQztRQUNmLElBQUk7WUFDRixVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QixPQUFPLElBQUksc0JBQXNCLENBQy9CLFVBQVUsQ0FBQyxDQUFDLEVBQ1osVUFBVSxDQUFDLENBQUMsRUFDWixVQUFVLENBQUMsSUFBSSxFQUNmLFVBQVUsQ0FBQyxJQUFJLEVBQ2YsVUFBVSxDQUFDLGFBQWEsRUFDeEIsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUM7U0FDcEM7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztZQUMvRCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQWdCRCxTQUFTOztRQUNQLE1BQU0saUJBQWlCLEdBQUc7WUFDeEIsQ0FBQyxRQUFFLElBQUksQ0FBQyxDQUFDLDBDQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDckIsQ0FBQyxRQUFFLElBQUksQ0FBQyxDQUFDLDBDQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxTQUFTO1NBQzdELENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NhbnZhc1doaXRlYm9hcmRTaGFwZU9wdGlvbnN9IGZyb20gJy4vc2hhcGUvY2FudmFzLXdoaXRlYm9hcmQtc2hhcGUtb3B0aW9ucyc7XHJcblxyXG5leHBvcnQgZW51bSBDYW52YXNXaGl0ZWJvYXJkVXBkYXRlVHlwZSB7XHJcbiAgU1RBUlQgPSAwLFxyXG4gIERSQUcgPSAxLFxyXG4gIFNUT1AgPSAyXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDYW52YXNXaGl0ZWJvYXJkVXBkYXRlIHtcclxuICB4PzogbnVtYmVyO1xyXG4gIHk/OiBudW1iZXI7XHJcbiAgdHlwZT86IENhbnZhc1doaXRlYm9hcmRVcGRhdGVUeXBlO1xyXG4gIFVVSUQ/OiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWRTaGFwZT86IHN0cmluZztcclxuICBzZWxlY3RlZFNoYXBlT3B0aW9ucz86IENhbnZhc1doaXRlYm9hcmRTaGFwZU9wdGlvbnM7XHJcblxyXG4gIHN0YXRpYyBkZXNlcmlhbGl6ZUpzb24oanNvbjogYW55KTogQ2FudmFzV2hpdGVib2FyZFVwZGF0ZSB8IG51bGwge1xyXG4gICAgbGV0IHBhcnNlZEpzb247XHJcbiAgICB0cnkge1xyXG4gICAgICBwYXJzZWRKc29uID0gSlNPTi5wYXJzZShqc29uKTtcclxuICAgICAgcmV0dXJuIG5ldyBDYW52YXNXaGl0ZWJvYXJkVXBkYXRlKFxyXG4gICAgICAgIHBhcnNlZEpzb24ueCxcclxuICAgICAgICBwYXJzZWRKc29uLnksXHJcbiAgICAgICAgcGFyc2VkSnNvbi50eXBlLFxyXG4gICAgICAgIHBhcnNlZEpzb24udXVpZCxcclxuICAgICAgICBwYXJzZWRKc29uLnNlbGVjdGVkU2hhcGUsXHJcbiAgICAgICAgcGFyc2VkSnNvbi5zZWxlY3RlZFNoYXBlT3B0aW9ucyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZSBjYW52YXMgd2hpdGVib2FyZCB1cGRhdGUgaXMgbm90IHBhcnNlYWJsZScpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHg/OiBudW1iZXIsXHJcbiAgICAgICAgICAgICAgeT86IG51bWJlcixcclxuICAgICAgICAgICAgICB0eXBlPzogQ2FudmFzV2hpdGVib2FyZFVwZGF0ZVR5cGUsXHJcbiAgICAgICAgICAgICAgVVVJRD86IHN0cmluZyxcclxuICAgICAgICAgICAgICBzZWxlY3RlZFNoYXBlPzogc3RyaW5nLFxyXG4gICAgICAgICAgICAgIHNlbGVjdGVkU2hhcGVPcHRpb25zPzogQ2FudmFzV2hpdGVib2FyZFNoYXBlT3B0aW9ucykge1xyXG4gICAgdGhpcy54ID0geDtcclxuICAgIHRoaXMueSA9IHk7XHJcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5VVUlEID0gVVVJRDtcclxuICAgIHRoaXMuc2VsZWN0ZWRTaGFwZSA9IHNlbGVjdGVkU2hhcGU7XHJcbiAgICB0aGlzLnNlbGVjdGVkU2hhcGVPcHRpb25zID0gc2VsZWN0ZWRTaGFwZU9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBzdHJpbmdpZnkoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IG9iamVjdFRvU2VyaWFsaXplID0ge1xyXG4gICAgICB4OiB0aGlzLng/LnRvRml4ZWQoMyksXHJcbiAgICAgIHk6IHRoaXMueT8udG9GaXhlZCgzKSxcclxuICAgICAgdHlwZTogdGhpcy50eXBlLFxyXG4gICAgICB1dWlkOiB0aGlzLlVVSUQsXHJcbiAgICAgIHNlbGVjdGVkU2hhcGU6IHRoaXMuc2VsZWN0ZWRTaGFwZSxcclxuICAgICAgc2VsZWN0ZWRTaGFwZU9wdGlvbnM6IHRoaXMuc2VsZWN0ZWRTaGFwZU9wdGlvbnMgfHwgdW5kZWZpbmVkXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmplY3RUb1NlcmlhbGl6ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==