Browse Source

Use currentView in RTE

pull/5649/head
Artur Arseniev 3 years ago
parent
commit
cc4767f4ce
  1. 14
      src/rich_text_editor/index.ts

14
src/rich_text_editor/index.ts

@ -90,7 +90,7 @@ export interface CustomRTE<T = any> {
} }
interface ModelRTE { interface ModelRTE {
enabled: boolean; currentView?: ComponentView;
} }
export default class RichTextEditorModule extends Module<RichTextEditorConfig & { pStylePrefix?: string }> { export default class RichTextEditorModule extends Module<RichTextEditorConfig & { pStylePrefix?: string }> {
@ -123,11 +123,9 @@ export default class RichTextEditorModule extends Module<RichTextEditorConfig &
this.pfx = config.stylePrefix!; this.pfx = config.stylePrefix!;
this.actions = config.actions || []; this.actions = config.actions || [];
const model = new Model({ const model = new Model();
enabled: false,
});
this.model = model; this.model = model;
model.on('change:enabled', this.__trgCustom, this); model.on('change:currentView', this.__trgCustom, this);
this.__dbdTrgCustom = debounce(() => this.__trgCustom(), 0); this.__dbdTrgCustom = debounce(() => this.__trgCustom(), 0);
if (!hasWin()) return this; if (!hasWin()) return this;
const toolbar = document.createElement('div'); const toolbar = document.createElement('div');
@ -142,7 +140,7 @@ export default class RichTextEditorModule extends Module<RichTextEditorConfig &
__trgCustom() { __trgCustom() {
const { model, em, events } = this; const { model, em, events } = this;
em.trigger(events.custom, { em.trigger(events.custom, {
enabled: !!model.get('enabled'), enabled: !!model.get('currentView'),
container: this.getToolbarEl(), container: this.getToolbarEl(),
actions: this.getAll(), actions: this.getAll(),
}); });
@ -375,7 +373,7 @@ export default class RichTextEditorModule extends Module<RichTextEditorConfig &
em.trigger('rte:enable', view, rteInst); em.trigger('rte:enable', view, rteInst);
} }
this.model.set({ enabled: true }); this.model.set({ currentView: view });
return rteInst; return rteInst;
} }
@ -413,6 +411,6 @@ export default class RichTextEditorModule extends Module<RichTextEditorConfig &
em.trigger('rte:disable', view, rte); em.trigger('rte:disable', view, rte);
} }
this.model.set({ enabled: false }); this.model.unset('currentView');
} }
} }

Loading…
Cancel
Save