UNPKG

ngx-trumbowyg

Version:

This an Angular wrapper for [Trumbowyg WYSIWYG editor](https://alex-d.github.io/Trumbowyg/).

167 lines (166 loc) 11.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; /** * @abstract */ var /** * @abstract */ EditorBase = /** @class */ (function () { function EditorBase(editorControl, _config) { this.editorControl = editorControl; this._config = _config; if (_config && _config.events && (_config.events['tbwinit'] || _config.events['tbwchange'] || _config.events['tbwfocus'])) { throw new Error('Forbidden event registration. These events are protected for the Ngx-Trumbowyg library: tbwinit, tbwchange, tbwfocus'); } editorControl.valueAccessor = this; } /** * @return {?} */ EditorBase.prototype.ngOnInit = /** * @return {?} */ function () { var /** @type {?} */ control = this.editorControl.control; control.setValidators(control.validator); control.updateValueAndValidity(); }; /** * @return {?} */ EditorBase.prototype.ngAfterViewInit = /** * @return {?} */ function () { var _this = this; var /** @type {?} */ editor = $(this._editor.nativeElement) .trumbowyg(tslib_1.__assign({}, this._config, this.options)) .on('tbwinit', function () { _this.setDisabledState(_this._disabled); _this.setContent(_this._initValue); }) .on('tbwchange', function () { _this._onChange(_this.getContent()); }) .on('tbwfocus', function () { _this._onTouch(); }); if (this._config && this._config.events) { var /** @type {?} */ events_1 = this._config.events; Object.keys(events_1).forEach(function (eventName) { editor.on(eventName, events_1[eventName]()); }); } }; /** * @param {?} fn * @return {?} */ EditorBase.prototype.registerOnChange = /** * @param {?} fn * @return {?} */ function (fn) { this._onChange = fn; }; /** * @param {?} fn * @return {?} */ EditorBase.prototype.registerOnTouched = /** * @param {?} fn * @return {?} */ function (fn) { this._onTouch = fn; }; /** * @param {?} value * @return {?} */ EditorBase.prototype.writeValue = /** * @param {?} value * @return {?} */ function (value) { this._initValue = value; if (this._editor && this._editor.nativeElement) { this.setContent(value); } }; /** * @param {?} disabled * @return {?} */ EditorBase.prototype.setDisabledState = /** * @param {?} disabled * @return {?} */ function (disabled) { this._disabled = disabled; if (this._editor) { $(this._editor.nativeElement).trumbowyg(this._disabled ? 'disable' : 'enable'); } }; /** * @return {?} */ EditorBase.prototype.ngOnDestroy = /** * @return {?} */ function () { $(this._editor.nativeElement).trumbowyg('destroy'); }; /** * @param {?} content * @return {?} */ EditorBase.prototype.setContent = /** * @param {?} content * @return {?} */ function (content) { $(this._editor.nativeElement).trumbowyg('html', content); }; /** * @return {?} */ EditorBase.prototype.getContent = /** * @return {?} */ function () { return $(this._editor.nativeElement).trumbowyg('html'); }; return EditorBase; }()); /** * @abstract */ export { EditorBase }; function EditorBase_tsickle_Closure_declarations() { /** @type {?} */ EditorBase.prototype.options; /** @type {?} */ EditorBase.prototype.placeholder; /** @type {?} */ EditorBase.prototype._editor; /** @type {?} */ EditorBase.prototype._initValue; /** @type {?} */ EditorBase.prototype._disabled; /** @type {?} */ EditorBase.prototype._onChange; /** @type {?} */ EditorBase.prototype._onTouch; /** @type {?} */ EditorBase.prototype.editorControl; /** @type {?} */ EditorBase.prototype._config; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWJhc2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtdHJ1bWJvd3lnLyIsInNvdXJjZXMiOlsibGliL2NvbW1vbnMvZWRpdG9yLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFNQTs7O0FBQUE7SUFlRSxvQkFBc0IsYUFBd0IsRUFBWSxPQUF5QjtRQUE3RCxrQkFBYSxHQUFiLGFBQWEsQ0FBVztRQUFZLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQ2pGLEVBQUUsQ0FBQyxDQUNELE9BQU87WUFDUCxPQUFPLENBQUMsTUFBTTtZQUNkLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQ3pGLENBQUMsQ0FBQyxDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYixzSEFBc0gsQ0FDdkgsQ0FBQztTQUNIO1FBQ0QsYUFBYSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7S0FDcEM7Ozs7SUFFRCw2QkFBUTs7O0lBQVI7UUFDRSxxQkFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFDM0MsT0FBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUM7S0FDbEM7Ozs7SUFFRCxvQ0FBZTs7O0lBQWY7UUFBQSxpQkFvQkM7UUFuQkMscUJBQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQzthQUN6QyxTQUFTLHNCQUFNLElBQUksQ0FBQyxPQUFPLEVBQUssSUFBSSxDQUFDLE9BQU8sRUFBRzthQUMvQyxFQUFFLENBQUMsU0FBUyxFQUFFO1lBQ2IsS0FBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0QyxLQUFJLENBQUMsVUFBVSxDQUFDLEtBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNsQyxDQUFDO2FBQ0QsRUFBRSxDQUFDLFdBQVcsRUFBRTtZQUNmLEtBQUksQ0FBQyxTQUFTLENBQUMsS0FBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7U0FDbkMsQ0FBQzthQUNELEVBQUUsQ0FBQyxVQUFVLEVBQUU7WUFDZCxLQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakIsQ0FBQyxDQUFDO1FBRUwsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDeEMscUJBQU0sUUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ25DLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsU0FBUztnQkFDbkMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUMzQyxDQUFDLENBQUM7U0FDSjtLQUNGOzs7OztJQUVELHFDQUFnQjs7OztJQUFoQixVQUFpQixFQUFjO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0tBQ3JCOzs7OztJQUVELHNDQUFpQjs7OztJQUFqQixVQUFrQixFQUFjO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0tBQ3BCOzs7OztJQUVELCtCQUFVOzs7O0lBQVYsVUFBVyxLQUFVO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBRXhCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEI7S0FDRjs7Ozs7SUFFRCxxQ0FBZ0I7Ozs7SUFBaEIsVUFBaUIsUUFBaUI7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFFMUIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDakIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDaEY7S0FDRjs7OztJQUVELGdDQUFXOzs7SUFBWDtRQUNFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUNwRDs7Ozs7SUFFTywrQkFBVTs7OztjQUFDLE9BQWU7UUFDaEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQzs7Ozs7SUFHbkQsK0JBQVU7Ozs7UUFDaEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQzs7cUJBL0YzRDtJQWlHQyxDQUFBOzs7O0FBM0ZELHNCQTJGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJ1bWJvd3lnT3B0aW9ucyB9IGZyb20gJy4uL2NvbmZpZ3MvdHJ1bWJvd3lnLW9wdGlvbnMnO1xuXG5kZWNsYXJlIGNvbnN0ICQ6IGFueTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVkaXRvckJhc2UgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBvcHRpb25zOiBUcnVtYm93eWdPcHRpb25zIHwgbnVsbDtcblxuICBwbGFjZWhvbGRlcjogc3RyaW5nIHwgbnVsbDtcblxuICBwcm90ZWN0ZWQgX2VkaXRvcjogRWxlbWVudFJlZjtcblxuICBwcm90ZWN0ZWQgX2luaXRWYWx1ZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuO1xuXG4gIHByaXZhdGUgX29uQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcblxuICBwcml2YXRlIF9vblRvdWNoOiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBlZGl0b3JDb250cm9sOiBOZ0NvbnRyb2wsIHByb3RlY3RlZCBfY29uZmlnOiBUcnVtYm93eWdPcHRpb25zKSB7XG4gICAgaWYgKFxuICAgICAgX2NvbmZpZyAmJlxuICAgICAgX2NvbmZpZy5ldmVudHMgJiZcbiAgICAgIChfY29uZmlnLmV2ZW50c1sndGJ3aW5pdCddIHx8IF9jb25maWcuZXZlbnRzWyd0YndjaGFuZ2UnXSB8fCBfY29uZmlnLmV2ZW50c1sndGJ3Zm9jdXMnXSlcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0ZvcmJpZGRlbiBldmVudCByZWdpc3RyYXRpb24uIFRoZXNlIGV2ZW50cyBhcmUgcHJvdGVjdGVkIGZvciB0aGUgTmd4LVRydW1ib3d5ZyBsaWJyYXJ5OiB0Yndpbml0LCB0YndjaGFuZ2UsIHRid2ZvY3VzJ1xuICAgICAgKTtcbiAgICB9XG4gICAgZWRpdG9yQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmVkaXRvckNvbnRyb2wuY29udHJvbDtcbiAgICBjb250cm9sLnNldFZhbGlkYXRvcnMoY29udHJvbC52YWxpZGF0b3IpO1xuICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGVkaXRvciA9ICQodGhpcy5fZWRpdG9yLm5hdGl2ZUVsZW1lbnQpXG4gICAgICAudHJ1bWJvd3lnKHsgLi4udGhpcy5fY29uZmlnLCAuLi50aGlzLm9wdGlvbnMgfSlcbiAgICAgIC5vbigndGJ3aW5pdCcsICgpID0+IHtcbiAgICAgICAgdGhpcy5zZXREaXNhYmxlZFN0YXRlKHRoaXMuX2Rpc2FibGVkKTtcbiAgICAgICAgdGhpcy5zZXRDb250ZW50KHRoaXMuX2luaXRWYWx1ZSk7XG4gICAgICB9KVxuICAgICAgLm9uKCd0YndjaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMuZ2V0Q29udGVudCgpKTtcbiAgICAgIH0pXG4gICAgICAub24oJ3Rid2ZvY3VzJywgKCkgPT4ge1xuICAgICAgICB0aGlzLl9vblRvdWNoKCk7XG4gICAgICB9KTtcblxuICAgIGlmICh0aGlzLl9jb25maWcgJiYgdGhpcy5fY29uZmlnLmV2ZW50cykge1xuICAgICAgY29uc3QgZXZlbnRzID0gdGhpcy5fY29uZmlnLmV2ZW50cztcbiAgICAgIE9iamVjdC5rZXlzKGV2ZW50cykuZm9yRWFjaChldmVudE5hbWUgPT4ge1xuICAgICAgICBlZGl0b3Iub24oZXZlbnROYW1lLCBldmVudHNbZXZlbnROYW1lXSgpKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoID0gZm47XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9pbml0VmFsdWUgPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLl9lZGl0b3IgJiYgdGhpcy5fZWRpdG9yLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuc2V0Q29udGVudCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gZGlzYWJsZWQ7XG5cbiAgICBpZiAodGhpcy5fZWRpdG9yKSB7XG4gICAgICAkKHRoaXMuX2VkaXRvci5uYXRpdmVFbGVtZW50KS50cnVtYm93eWcodGhpcy5fZGlzYWJsZWQgPyAnZGlzYWJsZScgOiAnZW5hYmxlJyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgJCh0aGlzLl9lZGl0b3IubmF0aXZlRWxlbWVudCkudHJ1bWJvd3lnKCdkZXN0cm95Jyk7XG4gIH1cblxuICBwcml2YXRlIHNldENvbnRlbnQoY29udGVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgJCh0aGlzLl9lZGl0b3IubmF0aXZlRWxlbWVudCkudHJ1bWJvd3lnKCdodG1sJywgY29udGVudCk7XG4gIH1cblxuICBwcml2YXRlIGdldENvbnRlbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJCh0aGlzLl9lZGl0b3IubmF0aXZlRWxlbWVudCkudHJ1bWJvd3lnKCdodG1sJyk7XG4gIH1cbn1cbiJdfQ==