private _getAnchorForClickOpenHyperlink()

in packages/roosterjs-react-editor/lib/components/LeanRooster.tsx [547:566]


    private _getAnchorForClickOpenHyperlink(ev: React.MouseEvent<HTMLDivElement>, element: HTMLElement): HTMLAnchorElement {
        const { clickOpenHyperlinkViewMode, readonly } = this.props;
        const isPrimaryButton = ev.button === 0;
        if (!isPrimaryButton || !clickOpenHyperlinkViewMode || readonly || this.mode !== LeanRoosterModes.View) {
            return null;
        }

        // Hyperlink plugin will handle CTRL+Click when editor is created and FireFox will handle for contenteditable
        const ctrlOpen = Browser.isMac ? ev.metaKey : ev.ctrlKey;
        if ((this._editor && ctrlOpen) || (Browser.isFirefox && ctrlOpen)) {
            return null;
        }

        const anchor = findClosestElementAncestor(element, this._contentDiv, "a[href]");
        if (anchor) {
            return anchor as HTMLAnchorElement;
        }

        return null;
    }