UNPKG

@drizm/ng-whiteboard

Version:

A Canvas component for Angular which supports free drawing.

30 lines 4.25 kB
import { Injectable } from '@angular/core'; import { Subject } from 'rxjs'; export class CanvasWhiteboardService { constructor() { this._canvasDrawSubject = new Subject(); this.canvasDrawSubject$ = this._canvasDrawSubject.asObservable(); this._canvasClearSubject = new Subject(); this.canvasClearSubject$ = this._canvasClearSubject.asObservable(); this._canvasUndoSubject = new Subject(); this.canvasUndoSubject$ = this._canvasUndoSubject.asObservable(); this._canvasRedoSubject = new Subject(); this.canvasRedoSubject$ = this._canvasRedoSubject.asObservable(); } drawCanvas(updates) { this._canvasDrawSubject.next(updates); } clearCanvas() { this._canvasClearSubject.next(); } undoCanvas(updateUUD) { this._canvasUndoSubject.next(updateUUD); } redoCanvas(updateUUD) { this._canvasRedoSubject.next(updateUUD); } } CanvasWhiteboardService.decorators = [ { type: Injectable } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLXdoaXRlYm9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXdoaXRlYm9hcmQvc3JjL2xpYi9fc2VydmljZXMvY2FudmFzLXdoaXRlYm9hcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHM0MsTUFBTSxPQUFPLHVCQUF1QjtJQURwQztRQUVVLHVCQUFrQixHQUFzQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzlFLHVCQUFrQixHQUF5QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFMUYsd0JBQW1CLEdBQWlCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDMUQsd0JBQW1CLEdBQW9CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV2RSx1QkFBa0IsR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN6RCx1QkFBa0IsR0FBb0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXJFLHVCQUFrQixHQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3pELHVCQUFrQixHQUFvQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFpQi9FLENBQUM7SUFmUSxVQUFVLENBQUMsT0FBaUM7UUFDakQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxTQUFpQjtRQUNqQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxVQUFVLENBQUMsU0FBaUI7UUFDakMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxDQUFDOzs7WUE1QkYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2FudmFzV2hpdGVib2FyZFVwZGF0ZSB9IGZyb20gJy4uL19jbGFzc2VzL2NhbnZhcy13aGl0ZWJvYXJkLXVwZGF0ZS5tb2RlbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENhbnZhc1doaXRlYm9hcmRTZXJ2aWNlIHtcclxuICBwcml2YXRlIF9jYW52YXNEcmF3U3ViamVjdDogU3ViamVjdDxDYW52YXNXaGl0ZWJvYXJkVXBkYXRlW10+ID0gbmV3IFN1YmplY3QoKTtcclxuICBjYW52YXNEcmF3U3ViamVjdCQ6IE9ic2VydmFibGU8Q2FudmFzV2hpdGVib2FyZFVwZGF0ZVtdPiA9IHRoaXMuX2NhbnZhc0RyYXdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwcml2YXRlIF9jYW52YXNDbGVhclN1YmplY3Q6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgY2FudmFzQ2xlYXJTdWJqZWN0JDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5fY2FudmFzQ2xlYXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwcml2YXRlIF9jYW52YXNVbmRvU3ViamVjdDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBjYW52YXNVbmRvU3ViamVjdCQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuX2NhbnZhc1VuZG9TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwcml2YXRlIF9jYW52YXNSZWRvU3ViamVjdDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBjYW52YXNSZWRvU3ViamVjdCQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuX2NhbnZhc1JlZG9TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwdWJsaWMgZHJhd0NhbnZhcyh1cGRhdGVzOiBDYW52YXNXaGl0ZWJvYXJkVXBkYXRlW10pOiB2b2lkIHtcclxuICAgIHRoaXMuX2NhbnZhc0RyYXdTdWJqZWN0Lm5leHQodXBkYXRlcyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXJDYW52YXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jYW52YXNDbGVhclN1YmplY3QubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVuZG9DYW52YXModXBkYXRlVVVEOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NhbnZhc1VuZG9TdWJqZWN0Lm5leHQodXBkYXRlVVVEKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWRvQ2FudmFzKHVwZGF0ZVVVRDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jYW52YXNSZWRvU3ViamVjdC5uZXh0KHVwZGF0ZVVVRCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==