UNPKG

activator-oce-exporter

Version:

Extract Activator binder and convert it to valid OCE mono pacakge

30 lines (25 loc) 875 B
import { FusionStore } from '../services/fusion-store'; /** * Listens to editor mode changes and adds 'edit-mode' className to the root element */ export function ModeTrackable(superClass) { return class extends superClass { handleEditorMode(isEditMode) { const method = isEditMode ? 'add' : 'remove'; this.classList[method]('edit-mode'); return this.editorModeChanged && this.editorModeChanged(isEditMode); } connectedCallback() { super.connectedCallback(); this.handleEditorMode(FusionStore.store.getState().app.isEditMode); this.unsubscribe = FusionStore.subscribe('app.isEditMode', (state) => { this.handleEditorMode(state.app.isEditMode); }); } disconnectedCallback() { super.disconnectedCallback(); this.unsubscribe(); } }; } ModeTrackable.EditModeClassName = 'edit-mode';