- const onScrollDebounced = debounce(editor.actions.syncDisplayPosition.bind(editor.actions), 100, false);
- let syncActive = editor.settings.get('scrollSync');
- editor.settings.onChange('scrollSync', val => {
- syncActive = val;
- });
-
- const domEventHandlers = {
- // Handle scroll to sync display view
- scroll: (event: Event) => syncActive && onScrollDebounced(event),
- // Handle image & content drag n drop
- drop: (event: DragEvent) => {
- if (!event.dataTransfer) {
- return;
- }
-
- const templateId = event.dataTransfer.getData('bookstack/template');
- if (templateId) {
- event.preventDefault();
- editor.actions.insertTemplate(templateId, event.pageX, event.pageY);
- }