# extendify/3.2.1/src/QuickEdit/lib/save-bridge.js

Extendify, version 3.2.1. 25 lines.

- Page: https://pluginprobe.com/plugins/extendify/3.2.1/code/src/QuickEdit/lib/save-bridge.js
- Raw: https://pluginprobe.com/plugins/extendify/3.2.1/raw/src/QuickEdit/lib/save-bridge.js
- Modified: 2026-08-12T16:23:58+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/extendify/3.2.1/code/src/QuickEdit/lib/save-bridge.js#L10-L20`.

```javascript
// Lets hover-bar's click rule (plain DOM, not React) trigger the QE canvas's
// save, so a click outside an open canvas doesn't silently discard the user's
// in-flight edits.
//
// BlockTextEditor registers its `handleSave` on mount. The bridge stays a
// no-op when nothing is registered (no QE canvas open) so callers can
// fire-and-forget.

let saver = null;

export const registerSaver = (fn) => {
	saver = fn;
};

export const unregisterSaver = (fn) => {
	if (saver === fn) saver = null;
};

export const hasSaver = () => !!saver;

export const saveSelected = () => {
	if (!saver) return Promise.resolve();
	return Promise.resolve(saver());
};

```
