Google Chrome 125、Microsoft Edge 125 以降でルート定義のルートデザイナが正しく動作しません。

 
【発生条件】
    ブラウザに Google Chrome 125、Microsoft Edge 125 以降を利用している場合にルート定義のルートデザイナにて下記の事象が発生します。

    ・ノード移動時にノードがカーソルに追尾しない。
    ・ノード移動時にノードとノードを繋ぐ線が計算されない。
    ・ノード上でmousedown→カーソル移動→mouseup でクリック状態が解除されない。
    ・AccelStudioのワークフロー管理画面のルート編集画面で、ノード設定サイズ変更バーでサイズ変更できない、スムーズにサイズ変更できない

【原因】
    Chromiumの仕様が変更されたためです。

    バージョン125以前では、mousemoveイベントをキャンセルすることで、テキスト選択、ドラッグ&ドロップを防ぐことができました。
    仕様変更により上記が出来なくなったため発生しています。
    https://developer.chrome.com/blog/chrome-125-beta?hl=ja#interoperable_mousemove_default_action

【回避方法】
    以下のコードを埋め込むことにより回避可能です。
    利用する機能に応じて対応してください。

    ・対象
    ・① ルート定義 -> バージョン -> ルート詳細タブ
        %RESIN-HOME%\webapps\imart\workflow\csjs\imw_designer\imw_designer.js
    ・② BIS定義 -> ルート定義 -> バージョン -> ルート詳細タブ
        %RESIN-HOME%\webapps\imart\bis\csjs\imw_designer\imw_designer.js
    ・③ AccelStudioアプリケーション管理 -> ワークフロー -> ルート編集
        %RESIN-HOME%\webapps\imart\im_workflow\js\imw_designer\imw_designer.js

    ・対応
        1. ファイル最下部に以下の2つの関数を追加します。
            IMWToolbarEvent.prototype.onDragStartNode = function(e) {
                e = initEvent(e);
                if (e.preventDefault) e.preventDefault();
                if (e.stopPropagation) e.stopPropagation();
            }
            IMWWorkEvent.prototype.onDragStartNode = function(e) {
                e = initEvent(e);
                if (e.preventDefault) e.preventDefault();
                if (e.stopPropagation) e.stopPropagation();
            }
        2. IMWWork.prototype.addNode関数 に 「node.ondragstart = events.onDragStartNode;」を追加してください。
            node.ondragfinish = events.onDragFinishNode;
            + node.ondragstart = events.onDragStartNode;
            node.style.height = node.offset_h + "px";
        3.1 ①、②のファイルについては下記の対応をしてください。
            IMWToolbar.prototype.addNode関数 に 「node.ondragstart = events.onDragStartNode;」を追加してください。
            node.onmouseout = events.onMouseOutNode;
            + node.ondragstart = events.onDragStartNode;
            this.nodes[prop.type] = td;
        3.2 ③のファイルについては下記の対応をしてください。
            IMWToolbar.prototype.addNode関数 に 「tr.ondragstart = events.onDragStartNode;」を追加してください。
            tr.onmouseover = events.onMouseOverNode;
            tr.onmouseout = events.onMouseOutNode;
            + tr.ondragstart = events.onDragStartNode;

【対応方法】
    Chromiumの仕様のため、製品側でプログラムを改修します。

    関連要件:要件 [37603] Chrome、Edgeのバージョン125での仕様変更によるルート編集画面での操作性が悪くなる現象を改善します。

    修正されたバージョンは以下です。
    intra-mart Accel Platform 2023 Autumn(パッチを適用)
    intra-mart Accel Platform 2024 Spring(パッチを適用)
    intra-mart Accel Platform 2024 Autumn 以降

 -- 対象 -------------------------------------------------------------------------
    iAP/Accel Platform/全アップデート
 --------------------------------------------------------------------------------


FAQID:1334
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
Powered by Zendesk