@fiduswriter/editor 0.1.40 → 0.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jump_hidden_nodes.d.ts","sourceRoot":"","sources":["../../src/state_plugins/jump_hidden_nodes.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAA2B,MAAM,mBAAmB,CAAA;AAmBlE,eAAO,MAAM,qBAAqB,GAAI,UAAU;IAAC,MAAM,EAAE,OAAO,CAAA;CAAC,
|
|
1
|
+
{"version":3,"file":"jump_hidden_nodes.d.ts","sourceRoot":"","sources":["../../src/state_plugins/jump_hidden_nodes.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAA2B,MAAM,mBAAmB,CAAA;AAmBlE,eAAO,MAAM,qBAAqB,GAAI,UAAU;IAAC,MAAM,EAAE,OAAO,CAAA;CAAC,gBA2E3D,CAAA"}
|
|
@@ -41,36 +41,35 @@ export const jumpHiddenNodesPlugin = (_options) => new Plugin({
|
|
|
41
41
|
: new GapCursor($pos);
|
|
42
42
|
return state.tr.setSelection(selection);
|
|
43
43
|
}
|
|
44
|
-
//
|
|
45
|
-
//
|
|
46
|
-
//
|
|
44
|
+
// Handle boundary crossing: cursor is at the start of a visible
|
|
45
|
+
// doc-level part whose preceding sibling is hidden. Use
|
|
46
|
+
// childBefore to check whether the previous doc child is hidden.
|
|
47
47
|
if (selectionSet &&
|
|
48
48
|
!posHidden(state.selection.$from) &&
|
|
49
|
-
state.selection.$from.
|
|
50
|
-
|
|
51
|
-
const
|
|
52
|
-
if (
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
new$pos = state.doc.resolve(newPos);
|
|
65
|
-
validTextSelection = new$pos.parent.inlineContent;
|
|
66
|
-
validGapCursor = GapCursor.valid(new$pos);
|
|
67
|
-
hidden = posHidden(new$pos);
|
|
49
|
+
state.selection.$from.depth >= 2) {
|
|
50
|
+
const $pos = state.selection.$from;
|
|
51
|
+
const prevChild = state.doc.childBefore($pos.pos);
|
|
52
|
+
if (prevChild &&
|
|
53
|
+
prevChild.node &&
|
|
54
|
+
prevChild.node.attrs.hidden) {
|
|
55
|
+
const dir = -1;
|
|
56
|
+
let newPos = state.selection.from, hidden = true, validTextSelection = false, validGapCursor = false;
|
|
57
|
+
let new$pos = state.selection.$from;
|
|
58
|
+
while (hidden ||
|
|
59
|
+
(!validGapCursor && !validTextSelection)) {
|
|
60
|
+
newPos += dir;
|
|
61
|
+
if (newPos === 0) {
|
|
62
|
+
return;
|
|
68
63
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
64
|
+
new$pos = state.doc.resolve(newPos);
|
|
65
|
+
validTextSelection = new$pos.parent.inlineContent;
|
|
66
|
+
validGapCursor = GapCursor.valid(new$pos);
|
|
67
|
+
hidden = posHidden(new$pos);
|
|
73
68
|
}
|
|
69
|
+
const selection = validTextSelection
|
|
70
|
+
? new TextSelection(new$pos)
|
|
71
|
+
: new GapCursor(new$pos);
|
|
72
|
+
return state.tr.setSelection(selection);
|
|
74
73
|
}
|
|
75
74
|
}
|
|
76
75
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jump_hidden_nodes.js","sourceRoot":"","sources":["../../src/state_plugins/jump_hidden_nodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAGlE,MAAM,SAAS,GAAG,CAAC,IAAiB,EAAE,EAAE;IACpC,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACzB,IACI,IAAI,CAAC,KAAK,CAAC,MAAM;YACjB,CAAC,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,EAC/C,CAAC;YACC,MAAM,GAAG,IAAI,CAAA;QACjB,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,mBAAmB,CAAC,CAAA;AAC9C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAA2B,EAAE,EAAE,CACjE,IAAI,MAAM,CAAC;IACP,GAAG;IACH,iBAAiB,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;QACxC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACzB,sCAAsC;YACtC,OAAM;QACV,CAAC;QACD,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAA;QACpD,IAAI,YAAY,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,GAAG,GACL,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC3D,IAAI,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAC7B,MAAM,GAAG,IAAI,EACb,kBAAkB,GAAG,KAAK,EAC1B,cAAc,GAAG,KAAK,CAAA;YAC1B,IAAI,IAAI,GAAgB,KAAK,CAAC,SAAS,CAAC,KAAK,CAAA;YAC7C,OAAO,MAAM,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,GAAG,CAAA;gBACb,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;oBAChD,oCAAoC;oBACpC,OAAM;gBACV,CAAC;gBACD,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBAChC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAA;gBAC9C,cAAc,GAAI,SAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC/C,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;YAC5B,CAAC;YACD,MAAM,SAAS,GAAG,kBAAkB;gBAChC,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC;gBACzB,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAA;YACzB,OAAO,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QAC3C,CAAC;QACD,
|
|
1
|
+
{"version":3,"file":"jump_hidden_nodes.js","sourceRoot":"","sources":["../../src/state_plugins/jump_hidden_nodes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -51,41 +51,44 @@ export const jumpHiddenNodesPlugin = (_options: {editor: unknown}) =>
|
|
|
51
51
|
: new GapCursor($pos)
|
|
52
52
|
return state.tr.setSelection(selection)
|
|
53
53
|
}
|
|
54
|
-
//
|
|
55
|
-
//
|
|
56
|
-
//
|
|
54
|
+
// Handle boundary crossing: cursor is at the start of a visible
|
|
55
|
+
// doc-level part whose preceding sibling is hidden. Use
|
|
56
|
+
// childBefore to check whether the previous doc child is hidden.
|
|
57
57
|
if (
|
|
58
58
|
selectionSet &&
|
|
59
59
|
!posHidden(state.selection.$from) &&
|
|
60
|
-
state.selection.$from.
|
|
60
|
+
state.selection.$from.depth >= 2
|
|
61
61
|
) {
|
|
62
|
-
|
|
63
|
-
const
|
|
64
|
-
if (
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
hidden = posHidden(new$pos)
|
|
62
|
+
const $pos = state.selection.$from
|
|
63
|
+
const prevChild = state.doc.childBefore($pos.pos)
|
|
64
|
+
if (
|
|
65
|
+
prevChild &&
|
|
66
|
+
prevChild.node &&
|
|
67
|
+
prevChild.node.attrs.hidden
|
|
68
|
+
) {
|
|
69
|
+
const dir = -1
|
|
70
|
+
let newPos = state.selection.from,
|
|
71
|
+
hidden = true,
|
|
72
|
+
validTextSelection = false,
|
|
73
|
+
validGapCursor = false
|
|
74
|
+
let new$pos: ResolvedPos = state.selection.$from
|
|
75
|
+
while (
|
|
76
|
+
hidden ||
|
|
77
|
+
(!validGapCursor && !validTextSelection)
|
|
78
|
+
) {
|
|
79
|
+
newPos += dir
|
|
80
|
+
if (newPos === 0) {
|
|
81
|
+
return
|
|
83
82
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
83
|
+
new$pos = state.doc.resolve(newPos)
|
|
84
|
+
validTextSelection = new$pos.parent.inlineContent
|
|
85
|
+
validGapCursor = (GapCursor as any).valid(new$pos)
|
|
86
|
+
hidden = posHidden(new$pos)
|
|
88
87
|
}
|
|
88
|
+
const selection = validTextSelection
|
|
89
|
+
? new TextSelection(new$pos)
|
|
90
|
+
: new GapCursor(new$pos)
|
|
91
|
+
return state.tr.setSelection(selection)
|
|
89
92
|
}
|
|
90
93
|
}
|
|
91
94
|
return undefined
|