|
|
@@ -23,6 +23,7 @@ import { anchor, showWbw } from "../../../reducers/wbw";
|
|
|
import { ParaLinkCtl } from "../ParaLink";
|
|
|
import { IStudio } from "../../auth/Studio";
|
|
|
import WbwPaliDiscussionIcon from "./WbwPaliDiscussionIcon";
|
|
|
+import { TooltipPlacement } from "antd/lib/tooltip";
|
|
|
|
|
|
//生成视频播放按钮
|
|
|
interface IVideoIcon {
|
|
|
@@ -65,11 +66,14 @@ const WbwPaliWidget = ({
|
|
|
onSave,
|
|
|
}: IWidget) => {
|
|
|
const [popOpen, setPopOpen] = useState(false);
|
|
|
+ const [popOnTop, setPopOnTop] = useState(false);
|
|
|
+
|
|
|
const [paliColor, setPaliColor] = useState("unset");
|
|
|
const divShell = useRef<HTMLDivElement>(null);
|
|
|
const wbwAnchor = useAppSelector(anchor);
|
|
|
const addParam = useAppSelector(relationAddParam);
|
|
|
const wordSn = `${data.book}-${data.para}-${data.sn.join("-")}`;
|
|
|
+
|
|
|
useEffect(() => {
|
|
|
if (wbwAnchor) {
|
|
|
if (wbwAnchor.id !== wordSn || wbwAnchor.channel !== channelId) {
|
|
|
@@ -177,6 +181,7 @@ const WbwPaliWidget = ({
|
|
|
<WbwDetail
|
|
|
data={data}
|
|
|
visible={popOpen}
|
|
|
+ popIsTop={popOnTop}
|
|
|
onClose={() => {
|
|
|
setPaliColor("unset");
|
|
|
setPopOpen(false);
|
|
|
@@ -191,6 +196,7 @@ const WbwPaliWidget = ({
|
|
|
onAttachmentSelectOpen={(open: boolean) => {
|
|
|
setPopOpen(!open);
|
|
|
}}
|
|
|
+ onPopTopChange={(value: boolean) => setPopOnTop(!value)}
|
|
|
/>
|
|
|
);
|
|
|
|
|
|
@@ -304,6 +310,12 @@ const WbwPaliWidget = ({
|
|
|
const divRight = divShell.current?.getBoundingClientRect().right;
|
|
|
const toDivRight = divRight ? containerWidth - divRight : 0;
|
|
|
|
|
|
+ let popPlacement: TooltipPlacement;
|
|
|
+ if (popOnTop) {
|
|
|
+ popPlacement = toDivRight > 200 ? "top" : "topRight";
|
|
|
+ } else {
|
|
|
+ popPlacement = toDivRight > 200 ? "bottom" : "bottomRight";
|
|
|
+ }
|
|
|
return (
|
|
|
<div className="pali_shell" ref={divShell}>
|
|
|
<span className="pali_shell_spell">
|
|
|
@@ -323,7 +335,7 @@ const WbwPaliWidget = ({
|
|
|
|
|
|
<Popover
|
|
|
content={wbwDialog}
|
|
|
- placement={toDivRight > 200 ? "bottom" : "bottomRight"}
|
|
|
+ placement={popPlacement}
|
|
|
trigger="click"
|
|
|
open={popOpen}
|
|
|
>
|