@takagaki/cortex-decisions-viewer 0.12.5 → 0.12.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/render.js +31 -0
- package/package.json +1 -1
package/dist/render.js
CHANGED
|
@@ -8300,6 +8300,14 @@ ${deriveCapTile.toString()}
|
|
|
8300
8300
|
|
|
8301
8301
|
function renderOps() {
|
|
8302
8302
|
renderConnMap();
|
|
8303
|
+
// 🔴 **先読みが飛行中なら、いま作った図を確認中へ倒す(#264)。**
|
|
8304
|
+
// 先読み(起動時の loadLiveFleet)は操作タブを開く前に走るので、
|
|
8305
|
+
// 確認中へ倒す口(loadLiveFleet の connMapConfirmingShown の1回)は
|
|
8306
|
+
// **conn-map の DOM が無い時点で使い切られている**——ここで呼び直さないと、
|
|
8307
|
+
// 応答が届く前に操作タブを開いた人には**焼いた状態が断言されたまま**出る
|
|
8308
|
+
// (#256 で消した瞬きが、先読みの経路だけで戻ってくる)。
|
|
8309
|
+
// タイル側は描画時に liveConfirming() を評価する作りなので追加対応は要らない。
|
|
8310
|
+
if (liveConfirming()) showConfirmingConnMap();
|
|
8303
8311
|
renderDataSources();
|
|
8304
8312
|
loadLiveFleet();
|
|
8305
8313
|
// **まとめ表がまだ答えていない行があれば取り直す。** 取得前は0件なので、
|
|
@@ -8900,6 +8908,11 @@ ${deriveCapTile.toString()}
|
|
|
8900
8908
|
if (capConfigState(cap)) continue;
|
|
8901
8909
|
var node = wrap.querySelector('[data-target="ds-' + cap + '"]');
|
|
8902
8910
|
if (!node) continue;
|
|
8911
|
+
// 🔴 **すでに退避してある能力は二度と触らない(#264)。** 先読みの経路では
|
|
8912
|
+
// ここが1回の描画で2回呼ばれうる(renderOps の飛行中分岐 → loadLiveFleet の
|
|
8913
|
+
// 初回1回)。上書きすると **退避に「cm-pending」が入り**、失敗・見切りで
|
|
8914
|
+
// 戻したときに確認中の表示が焼いた値として復活する=確認中で固まる。
|
|
8915
|
+
if (node.hasAttribute("data-cm-baked-class")) continue;
|
|
8903
8916
|
node.setAttribute("data-cm-baked-class", node.getAttribute("class") || "");
|
|
8904
8917
|
node.setAttribute("class", "cm-node cm-pending");
|
|
8905
8918
|
var sync = node.querySelector(".cm-sync");
|
|
@@ -10554,5 +10567,23 @@ ${deriveCapTile.toString()}
|
|
|
10554
10567
|
|
|
10555
10568
|
window.addEventListener("popstate", route);
|
|
10556
10569
|
route();
|
|
10570
|
+
/**
|
|
10571
|
+
* 接続状況の先読み(#264)。**開いたタブに関係なく、起動時に1回だけ取りに行く。**
|
|
10572
|
+
*
|
|
10573
|
+
* op=state は 0.12.0 から常に全能力を要求するので(ALL_STATE_CAPS の項)、
|
|
10574
|
+
* この1回で操作タブが必要とする材料は全部揃う——操作タブを開いた時点で
|
|
10575
|
+
* LIVE_STATE が既にあり、「確認中…」を待たずに確定表示が出る。
|
|
10576
|
+
*
|
|
10577
|
+
* 🔴 **route() の後に置く(renderList / renderOps 側にフックしない)。**
|
|
10578
|
+
* renderList はタブを切り替えるたびに走るので、あちらに置くと「起動時に1回」
|
|
10579
|
+
* ではなくなる。しかも **popstate はこの行を通らない**(listener は route だけ)
|
|
10580
|
+
* ので、戻る/進むで先読みが何度も走ることもない。
|
|
10581
|
+
*
|
|
10582
|
+
* 取りに行かない案件(intake 無し・fetch 無し)で確認中が出たまま固まる心配は
|
|
10583
|
+
* ない——判定は loadLiveFleet 内の liveConfirmPossible が持つ。多重fetchも
|
|
10584
|
+
* 既存の liveFleetRequested の再入防止が守る(?tab=ops で開いた場合は
|
|
10585
|
+
* renderOps 側の呼び出しが先に飛んでいるので、ここは何もせずに戻る)。
|
|
10586
|
+
*/
|
|
10587
|
+
loadLiveFleet();
|
|
10557
10588
|
})();
|
|
10558
10589
|
`;
|
package/package.json
CHANGED