diff options
author | Fawn <fangrui_tong@brown.edu> | 2020-01-09 15:29:47 -0500 |
---|---|---|
committer | Fawn <fangrui_tong@brown.edu> | 2020-01-09 15:29:47 -0500 |
commit | e0a8d325d601d305a166c1683dccfcc67e91fe95 (patch) | |
tree | a6e2144d9d316ccb9d42d4eb019f8a9ed4d438f2 /src/client/util/RichTextMenu.tsx | |
parent | 47700705b6e0304eaed00843959561b5baa0a31a (diff) |
code cleaning richtextmenu
Diffstat (limited to 'src/client/util/RichTextMenu.tsx')
-rw-r--r-- | src/client/util/RichTextMenu.tsx | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/client/util/RichTextMenu.tsx b/src/client/util/RichTextMenu.tsx index da5979f57..454afe3b7 100644 --- a/src/client/util/RichTextMenu.tsx +++ b/src/client/util/RichTextMenu.tsx @@ -155,6 +155,7 @@ export default class RichTextMenu extends AntimodeMenu { const activeSizes = active && active.get("sizes"); console.log("active families", activeFamilies); + console.log("other active families", this.activeFontFamilyOnSelection()); this.activeFontFamily = !activeFamilies || activeFamilies.length === 0 ? "Arial" : activeFamilies.length === 1 ? String(activeFamilies[0]) : "various"; this.activeFontSize = !activeSizes || activeSizes.length === 0 ? "13pt" : activeSizes.length === 1 ? String(activeSizes[0]) + "pt" : "various"; @@ -184,10 +185,26 @@ export default class RichTextMenu extends AntimodeMenu { } } + activeFontFamilyOnSelection() { + if (!this.view) return; + + //current selection + const state = this.view.state; + const activeFamilies: string[] = []; + const pos = this.view.state.selection.$from; + const ref_node: ProsNode | null = this.reference_node(pos); + if (ref_node && ref_node !== this.view.state.doc && ref_node.isText) { + ref_node.marks.forEach(m => m.type === state.schema.marks.pFontFamily && activeFamilies.push(m.attrs.family)); + } + return activeFamilies; + } + // finds font sizes and families in selection getActiveFontStylesOnSelection() { if (!this.view) return; + console.log("\nget active font styles"); + const activeFamilies: string[] = []; const activeSizes: string[] = []; const state = this.view.state; @@ -195,6 +212,7 @@ export default class RichTextMenu extends AntimodeMenu { const ref_node = this.reference_node(pos); if (ref_node && ref_node !== this.view.state.doc && ref_node.isText) { ref_node.marks.forEach(m => { + console.log("attribute", m.attrs); m.type === state.schema.marks.pFontFamily && activeFamilies.push(m.attrs.family); m.type === state.schema.marks.pFontSize && activeSizes.push(String(m.attrs.fontSize) + "pt"); }); |