@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
JavaScript
/**
* @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=