UNPKG

@instechnologies/ng-rooster

Version:

ng-rooster is wrapper to roosterjs, an open source library created by Microsoft: https://github.com/Microsoft/roosterjs.

112 lines 7.61 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { getFormatState } from 'roosterjs'; import { Observable, Subject } from 'rxjs'; export class FormatStateObservable extends Observable { constructor() { super(((/** * @param {?} subscriber * @return {?} */ subscriber => { this._subject.subscribe((/** * @param {?} value * @return {?} */ (value) => subscriber.next(value)), (/** * @param {?} error * @return {?} */ error => subscriber.error(error)), (/** * @return {?} */ () => subscriber.complete())); }))); this._subject = new Subject(); this._contentChangeSubject = new Subject(); } /** * @return {?} */ getContentObservable() { return this._contentChangeSubject; } /** * @param {?} editor * @return {?} */ initialize(editor) { this.editor = editor; } /** * @return {?} */ getName() { return 'FormatStateObservable'; } /** * @return {?} */ dispose() { this._subject.complete(); this._contentChangeSubject.complete(); } /** * @param {?} event * @return {?} */ onPluginEvent(event) { //console.log(event); switch (event.eventType) { case 4 /* MouseDown */: this.getFormatState(); break; case 0 /* KeyDown */: this.getFormatState(); break; case 6 /* ContentChanged */: this.getFormatState(); case 11 /* Input */: this.getContent(); break; } } /** * @private * @return {?} */ getContent() { /** @type {?} */ let content = this.editor.getContent(true); this._contentChangeSubject.next(content); } /** * @private * @return {?} */ getFormatState() { /** @type {?} */ let state = getFormatState(this.editor); this._subject.next(state); } } if (false) { /** * @type {?} * @private */ FormatStateObservable.prototype._subject; /** * @type {?} * @private */ FormatStateObservable.prototype._contentChangeSubject; /** * @type {?} * @private */ FormatStateObservable.prototype.editor; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LXN0YXRlLm9ic2VydmFibGUucGx1Z2luLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGluc3RlY2hub2xvZ2llcy9uZy1yb29zdGVyLyIsInNvdXJjZXMiOlsibGliL3BsdWdpbnMvZm9ybWF0LXN0YXRlLm9ic2VydmFibGUucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQW1FLGNBQWMsRUFBYSxNQUFNLFdBQVcsQ0FBQztBQUN2SCxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsVUFBdUI7SUFXOUQ7UUFFSSxLQUFLLENBQUU7Ozs7UUFBQyxVQUFVLENBQUEsRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVM7Ozs7WUFBQyxDQUFDLEtBQUssRUFBQyxFQUFFLENBQUEsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Ozs7WUFBRSxLQUFLLENBQUEsRUFBRSxDQUFBLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDOzs7WUFBRSxHQUFFLEVBQUUsQ0FBQSxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUMsQ0FBQztRQUN4SCxDQUFDLEVBQUMsQ0FBRSxDQUFDO1FBYkQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFlLENBQUM7UUFDdEMsMEJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQWF0RCxDQUFDOzs7O0lBVk0sb0JBQW9CO1FBRXZCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3RDLENBQUM7Ozs7O0lBU0QsVUFBVSxDQUFDLE1BQWM7UUFFdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQzs7OztJQUVELE9BQU87UUFFSCxPQUFPLHVCQUF1QixDQUFDO0lBQ25DLENBQUM7Ozs7SUFHRCxPQUFPO1FBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUMsQ0FBQzs7Ozs7SUFFRCxhQUFhLENBQUUsS0FBa0I7UUFFN0IscUJBQXFCO1FBQ3JCLFFBQU8sS0FBSyxDQUFDLFNBQVMsRUFDdEI7WUFDSTtnQkFDRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3pCLE1BQU07WUFFTjtnQkFDRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3pCLE1BQU07WUFFTjtnQkFDRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFFekI7Z0JBQ0csSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNyQixNQUFNO1NBQ1Q7SUFDTCxDQUFDOzs7OztJQUVPLFVBQVU7O1lBRVYsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztRQUMxQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7Ozs7O0lBRU8sY0FBYzs7WUFFZCxLQUFLLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUVKOzs7Ozs7SUFuRUcseUNBQThDOzs7OztJQUM5QyxzREFBc0Q7Ozs7O0lBQ3RELHVDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvclBsdWdpbiwgRWRpdG9yLCBQbHVnaW5FdmVudCwgRm9ybWF0U3RhdGUsIFBsdWdpbkV2ZW50VHlwZSwgZ2V0Rm9ybWF0U3RhdGUsIGVkaXRUYWJsZSB9IGZyb20gJ3Jvb3N0ZXJqcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBGb3JtYXRTdGF0ZU9ic2VydmFibGUgZXh0ZW5kcyBPYnNlcnZhYmxlPEZvcm1hdFN0YXRlPiBpbXBsZW1lbnRzIEVkaXRvclBsdWdpblxyXG57XHJcbiAgICBwcml2YXRlIF9zdWJqZWN0ID0gbmV3IFN1YmplY3Q8Rm9ybWF0U3RhdGU+KCk7XHJcbiAgICBwcml2YXRlIF9jb250ZW50Q2hhbmdlU3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICAgIHByaXZhdGUgZWRpdG9yOiBFZGl0b3I7XHJcblxyXG4gICAgcHVibGljIGdldENvbnRlbnRPYnNlcnZhYmxlKCkgOiBPYnNlcnZhYmxlPHN0cmluZz5cclxuICAgIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29udGVudENoYW5nZVN1YmplY3Q7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoKVxyXG4gICAge1xyXG4gICAgICAgIHN1cGVyKCAoc3Vic2NyaWJlcj0+e1xyXG4gICAgICAgICAgICB0aGlzLl9zdWJqZWN0LnN1YnNjcmliZSgodmFsdWUpPT5zdWJzY3JpYmVyLm5leHQodmFsdWUpLCBlcnJvcj0+c3Vic2NyaWJlci5lcnJvcihlcnJvciksICgpPT5zdWJzY3JpYmVyLmNvbXBsZXRlKCkpO1xyXG4gICAgICAgIH0pICk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZShlZGl0b3I6IEVkaXRvcikgOiB2b2lkXHJcbiAgICB7XHJcbiAgICAgICB0aGlzLmVkaXRvciA9IGVkaXRvcjtcclxuICAgIH1cclxuXHJcbiAgICBnZXROYW1lKCkgOiBzdHJpbmdcclxuICAgIHtcclxuICAgICAgICByZXR1cm4gJ0Zvcm1hdFN0YXRlT2JzZXJ2YWJsZSc7XHJcbiAgICB9ICAgXHJcbiAgICBcclxuICAgIFxyXG4gICAgZGlzcG9zZSgpIDogdm9pZFxyXG4gICAge1xyXG4gICAgICAgIHRoaXMuX3N1YmplY3QuY29tcGxldGUoKTtcclxuICAgICAgICB0aGlzLl9jb250ZW50Q2hhbmdlU3ViamVjdC5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uUGx1Z2luRXZlbnQ/KGV2ZW50OiBQbHVnaW5FdmVudCkgOiB2b2lkXHJcbiAgICB7XHJcbiAgICAgICAgLy9jb25zb2xlLmxvZyhldmVudCk7XHJcbiAgICAgICAgc3dpdGNoKGV2ZW50LmV2ZW50VHlwZSlcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGNhc2UgUGx1Z2luRXZlbnRUeXBlLk1vdXNlRG93bjpcclxuICAgICAgICAgICAgICAgdGhpcy5nZXRGb3JtYXRTdGF0ZSgpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgY2FzZSBQbHVnaW5FdmVudFR5cGUuS2V5RG93bjpcclxuICAgICAgICAgICAgICAgdGhpcy5nZXRGb3JtYXRTdGF0ZSgpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgUGx1Z2luRXZlbnRUeXBlLkNvbnRlbnRDaGFuZ2VkOlxyXG4gICAgICAgICAgICAgICB0aGlzLmdldEZvcm1hdFN0YXRlKCk7ICAgICAgIFxyXG4gICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgY2FzZSBQbHVnaW5FdmVudFR5cGUuSW5wdXQ6XHJcbiAgICAgICAgICAgICAgIHRoaXMuZ2V0Q29udGVudCgpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRDb250ZW50KCk6IHZvaWRcclxuICAgIHtcclxuICAgICAgICBsZXQgY29udGVudCA9IHRoaXMuZWRpdG9yLmdldENvbnRlbnQodHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5fY29udGVudENoYW5nZVN1YmplY3QubmV4dChjb250ZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEZvcm1hdFN0YXRlKCk6IHZvaWRcclxuICAgIHtcclxuICAgICAgICBsZXQgc3RhdGUgPSBnZXRGb3JtYXRTdGF0ZSh0aGlzLmVkaXRvcik7XHJcbiAgICAgICAgdGhpcy5fc3ViamVjdC5uZXh0KHN0YXRlKTtcclxuICAgIH1cclxuXHJcbn0iXX0=