PluginProbe
Extendify / 3.2.1
Extendify v3.2.1
3.2.1 3.2.0 3.1.6 3.1.5 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 3.0.6 3.0.5 3.0.4 trunk 0.1.0 0.10.0 0.10.1 0.10.2 0.11.0 0.11.1 0.2.0 0.3.0 0.3.1 0.4.0 0.5.0 0.6.0 All 127 releases
← All changes | src/QuickEdit/lib/save-bridge.js +5 -19 3.1.13.2.1 View file →
@@ -1,17 +1,11 @@
1 -// Lets non-React callers (hover-bar's click rule, Agent's chat submit)
2 -// trigger the QE canvas's save. Without this, every implicit-close gesture
3 -// — cross-block click, click-outside, Ask AI pill, agent chat submit —
4 -// silently discards the user's in-flight edits.
1 +// Lets hover-bar's click rule (plain DOM, not React) trigger the QE canvas's
2 +// save, so a click outside an open canvas doesn't silently discard the user's
3 +// in-flight edits.
5 4 //
6 5 // BlockTextEditor registers its `handleSave` on mount. The bridge stays a
7 6 // no-op when nothing is registered (no QE canvas open) so callers can
8 7 // fire-and-forget.
9 -//
10 -// Cross-block click passes `alsoClear: false` so handleSave skips its
11 -// final `clearSelected()` — the new click is already calling
12 -// `setSelected(B)` synchronously after, and we don't want the async save
13 -// completion to overwrite B with null.
14 8
15 9 let saver = null;
16 10
17 11 export const registerSaver = (fn) => {
@@ -23,16 +17,8 @@
23 17 };
24 18
25 19 export const hasSaver = () => !!saver;
26 20
27 -export const saveSelected = (options = {}) => {
21 +export const saveSelected = () => {
28 22 if (!saver) return Promise.resolve();
29 - return Promise.resolve(saver(options));
23 + return Promise.resolve(saver());
30 24 };
31 -
32 -export const AGENT_SUBMIT_EVENT = 'extendify-quick-edit:agent-submit';
33 -
34 -if (typeof window !== 'undefined') {
35 - window.addEventListener(AGENT_SUBMIT_EVENT, () => {
36 - if (saver) saver({ alsoClear: true });
37 - });
38 -}