diff options
| author | bob <bcz@cs.brown.edu> | 2020-03-03 10:49:22 -0500 |
|---|---|---|
| committer | bob <bcz@cs.brown.edu> | 2020-03-03 10:49:22 -0500 |
| commit | d4fd33ea337b1136344b73b92e9d5494ff94f090 (patch) | |
| tree | 02680cccb52a8be0509d53617608fd116f03ea39 /src/client/util/RichTextRules.ts | |
| parent | dbdf81e191107240a62086ebe65d1dc5e3b503c6 (diff) | |
fixes to allow navigation from hashtag tag to pivot/schema/stacking views
Diffstat (limited to 'src/client/util/RichTextRules.ts')
| -rw-r--r-- | src/client/util/RichTextRules.ts | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/client/util/RichTextRules.ts b/src/client/util/RichTextRules.ts index af3b1a81e..70a1a5154 100644 --- a/src/client/util/RichTextRules.ts +++ b/src/client/util/RichTextRules.ts @@ -100,6 +100,16 @@ export class RichTextRules { const fieldView = state.schema.nodes.dashField.create({ fieldKey, docid }); return state.tr.deleteRange(start, end).insert(start, fieldView); }), + // create an inline view of a tag stored under the '#' field + new InputRule( + new RegExp(/#([a-zA-Z_\-0-9]+)\s$/), + (state, match, start, end) => { + const tag = match[1]; + if (!tag) return state.tr; + this.Document[DataSym]["#"] = tag; + const fieldView = state.schema.nodes.dashField.create({ fieldKey: "#" }); + return state.tr.deleteRange(start, end).insert(start, fieldView); + }), // create an inline view of a document {{ <layoutKey> : <Doc> }} // {{:Doc}} => show default view of document {{<layout>}} => show layout for this doc {{<layout> : Doc}} => show layout for another doc new InputRule( new RegExp(/\{\{([a-zA-Z_ \-0-9]*)(:[a-zA-Z_ \-0-9]+)?\}\}$/), |
