Skip to content

Commit 7969ed7

Browse files
committed
refactor(bem): replace Block/Elem with cn() in RichText/view.jsx
Migrated RichText tag component from Block/Elem to cn() helper. - Removed Block/Elem from imports (cn was already imported) - Replaced <Block name="richtext" tag={ObjectTag}> with <ObjectTag className={cn("richtext")...}> - Replaced <Elem name="container"> with <div className={cn("richtext").elem("container")...}> - Replaced <Elem name="loading"> with <div className={cn("richtext").elem("loading")...}> - Replaced <Elem name="iframe" tag="iframe"> with <iframe className={cn("richtext").elem("iframe")...}> - Preserved refs, mods, className="htx-richtext" via .mix(), dangerouslySetInnerHTML, and all props - Added type assertion for loading ref - Handles both inline and iframe rendering modes - No behavior change, equivalent class strings
1 parent a579c69 commit 7969ed7

File tree

1 file changed

+11
-15
lines changed
  • web/libs/editor/src/tags/object/RichText

1 file changed

+11
-15
lines changed

web/libs/editor/src/tags/object/RichText/view.jsx

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import * as xpath from "xpath-range";
99
import ObjectTag from "../../../components/Tags/Object";
1010
import { STATE_CLASS_MODS } from "../../../mixins/HighlightMixin";
1111
import Utils from "../../../utils";
12-
import { Block, cn, Elem } from "../../../utils/bem";
12+
import { cn } from "../../../utils/bem";
1313
import { htmlEscape, matchesSelector } from "../../../utils/html";
1414
import {
1515
applyTextGranularity,
@@ -558,44 +558,40 @@ class RichTextPieceView extends Component {
558558
};
559559

560560
return (
561-
<Block name="richtext" tag={ObjectTag} item={item}>
562-
<Elem
561+
<ObjectTag item={item} className={cn("richtext").toClassName()}>
562+
<div
563563
key="root"
564-
name="container"
565-
mod={{ canResizeSpans: ff.isActive(ff.FF_ADJUSTABLE_SPANS) }}
564+
className={cn("richtext").elem("container").mod({ canResizeSpans: ff.isActive(ff.FF_ADJUSTABLE_SPANS) }).mix("htx-richtext").toClassName()}
566565
ref={(el) => {
567566
item.mountNodeRef.current = el;
568567
el && this.markObjectAsLoaded();
569568
}}
570569
data-linenumbers={isText && settings.showLineNumbers ? "enabled" : "disabled"}
571-
className="htx-richtext"
572570
dangerouslySetInnerHTML={{ __html: val }}
573571
{...eventHandlers}
574572
/>
575-
</Block>
573+
</ObjectTag>
576574
);
577575
}
578576
return (
579-
<Block name="richtext" tag={ObjectTag} item={item}>
580-
<Elem name="loading" ref={this.loadingRef}>
577+
<ObjectTag item={item} className={cn("richtext").toClassName()}>
578+
<div className={cn("richtext").elem("loading").toClassName()} ref={this.loadingRef as any}>
581579
<LoadingOutlined />
582-
</Elem>
580+
</div>
583581

584-
<Elem
582+
<iframe
585583
key="root"
586-
name="iframe"
587-
tag="iframe"
584+
className={cn("richtext").elem("iframe").mix("htx-richtext").toClassName()}
588585
referrerPolicy="no-referrer"
589586
sandbox="allow-same-origin allow-scripts"
590587
ref={(el) => {
591588
item.setReady(false);
592589
item.mountNodeRef.current = el;
593590
}}
594-
className="htx-richtext"
595591
srcDoc={val}
596592
onLoad={this.onIFrameLoad}
597593
/>
598-
</Block>
594+
</ObjectTag>
599595
);
600596
}
601597
}

0 commit comments

Comments
 (0)