diff options
Diffstat (limited to 'src/client/views/nodes')
-rw-r--r-- | src/client/views/nodes/IconTagBox.tsx | 7 | ||||
-rw-r--r-- | src/client/views/nodes/formattedText/RichTextRules.ts | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/client/views/nodes/IconTagBox.tsx b/src/client/views/nodes/IconTagBox.tsx index 3d021fd73..ea1c3591a 100644 --- a/src/client/views/nodes/IconTagBox.tsx +++ b/src/client/views/nodes/IconTagBox.tsx @@ -14,6 +14,7 @@ import { ObservableReactComponent } from '../ObservableReactComponent'; import { PropertiesView } from '../PropertiesView'; import { DocumentView } from './DocumentView'; import './IconTagBox.scss'; +import { TagItem } from '../TagsView'; export interface IconTagProps { Views: DocumentView[]; @@ -55,6 +56,8 @@ export class IconTagBox extends ObservableReactComponent<IconTagProps> { */ setIconTag = undoable((icon: string, state: boolean) => { this._props.Views.forEach(view => { + state && TagItem.addTagToDoc(view.dataDoc, icon); + !state && TagItem.removeTagFromDoc(view.dataDoc, icon); view.dataDoc[icon] = state; }); }, 'toggle card tag'); @@ -66,7 +69,7 @@ export class IconTagBox extends ObservableReactComponent<IconTagProps> { * @returns */ getButtonIcon = (doc: Doc, icon: IconProp): JSX.Element => { - const isActive = doc[icon.toString()]; + const isActive = TagItem.docHasTag(doc, icon.toString()); // doc[icon.toString()]; const color = isActive ? '#4476f7' : '#323232'; return <FontAwesomeIcon icon={icon} style={{ color, height: '20px', width: '20px' }} />; @@ -91,7 +94,7 @@ export class IconTagBox extends ObservableReactComponent<IconTagProps> { key={i} type="button" onClick={() => { - const state = this.View.Document[iconMap(i).toString()]; + const state = TagItem.docHasTag(this.View.Document, iconMap(i).toString()); // this.View.Document[iconMap(i).toString()]; this.setIconTag(iconMap(i), !state); }}> {this.getButtonIcon(this.View.Document, iconMap(i))} diff --git a/src/client/views/nodes/formattedText/RichTextRules.ts b/src/client/views/nodes/formattedText/RichTextRules.ts index 0ef67b4be..f58434906 100644 --- a/src/client/views/nodes/formattedText/RichTextRules.ts +++ b/src/client/views/nodes/formattedText/RichTextRules.ts @@ -406,7 +406,7 @@ export class RichTextRules { this.Document[DocData].tags = new List<string>(tags); this.Document._layout_showTags = true; } - const fieldView = state.schema.nodes.dashField.create({ fieldKey: '#' + tag }); + const fieldView = state.schema.nodes.dashField.create({ fieldKey: tag.startsWith('@') ? tag.replace(/^@/, '') : '#' + tag }); return state.tr .setSelection(new TextSelection(state.doc.resolve(start), state.doc.resolve(end))) .replaceSelectionWith(fieldView, true) |