fix: 补备选区展开持久化(localStorage bk_open_+_bkAttr恢复+箭头)——刷新保留展开状态(此前assert失败未生效)
This commit is contained in:
+6
-2
@@ -2766,7 +2766,8 @@ const renderRegimeRow = (s, rg, bkKey) => {
|
||||
const rGradeBadge = rGrade && rGrade !== 'ok' && rGrade !== 'good' && rGrade !== 'great' ? '' : '';
|
||||
// 2026-08-18 按温区判定激活(而非全局 s.current)——该策略在当前表温区 rg 是否激活
|
||||
const isActive = window._isActRegime(s, rg);
|
||||
const _bkAttr = bkKey ? ' data-bk="' + bkKey + '" class="hidden"' : '';
|
||||
// 2026-08-18 展开持久化:读 localStorage 决定备选行是否 hidden(非总是折叠)
|
||||
const _bkAttr = bkKey ? ' data-bk="' + bkKey + '"' + (window._bkOpen(bkKey) ? '' : ' class="hidden"') : '';
|
||||
return '<tr' + (_bkAttr || '') + ' class="border-b border-slate-800/50 hover:bg-slate-800/30 cursor-pointer ' + rRowBg + '" onclick="showStrategyDetail(\'' + s.version + '\')">' +
|
||||
'<td class="px-2 py-1.5 font-mono font-bold ' + rStateCls + '">' + s.version + ' ' + rStateBadge + ((s.market && s.market !== 'all') ? ' <span class="text-[10px] bg-cyan-500/20 text-cyan-300 px-1 rounded">' + (s.market === 'hk' ? '港' : 'A') + '</span>' : '') + '</td>' +
|
||||
'<td class="px-2 py-1.5 whitespace-normal break-words" title="' + (s.hypothesis || s.summary || '').replace(/"/g, '"') + '">' + (s.name || '') + (smallSample ? ' <span class="text-amber-500" title="样本<40笔">⚠️</span>' : '') + ' ' +
|
||||
@@ -2882,7 +2883,7 @@ const renderRegimeRow = (s, rg, bkKey) => {
|
||||
if (backup.length) {
|
||||
html += '<tr class="border-t border-slate-700/50"><td colspan="15" class="px-2 py-1 text-[10px] text-slate-400">' +
|
||||
'<button onclick="toggleBackup(\'' + marketLabel + rg + '\')" class="hover:text-slate-200">' +
|
||||
'<span id="bk-arrow-' + marketLabel + rg + '">▶</span> 备选 (资格达标未激活, ' + backup.length + ') <span class="text-slate-600">点击展开</span></button></td></tr>';
|
||||
'<span id="bk-arrow-' + marketLabel + rg + '">' + (window._bkOpen(marketLabel + rg) ? '\u25bc' : '\u25b6') + '</span> 备选 (资格达标未激活, ' + backup.length + ') <span class="text-slate-600">点击展开</span></button></td></tr>';
|
||||
// 2026-08-17 修复:备选行直接进同一 tbody(renderRegimeRow 传 bkKey, 行加 data-bk+hidden),列宽与表头对齐
|
||||
html += backup.map(s => renderRegimeRow(s, rg, marketLabel + rg)).join('');
|
||||
}
|
||||
@@ -2898,7 +2899,10 @@ const renderRegimeRow = (s, rg, bkKey) => {
|
||||
const hidden = rows[0].classList.contains('hidden');
|
||||
rows.forEach(r => r.classList.toggle('hidden'));
|
||||
if (arrow) arrow.textContent = hidden ? '\u25bc' : '\u25b6';
|
||||
// 2026-08-18 展开状态持久化(刷新保留)
|
||||
try { localStorage.setItem('bk_open_' + key, hidden ? '1' : '0'); } catch(e) {}
|
||||
};
|
||||
window._bkOpen = function(key) { try { return localStorage.getItem('bk_open_' + key) === '1'; } catch(e) { return false; } };
|
||||
// ── 2026-08-15 按市场×温区展示:6表格 = A股当前市 → 港股当前市 → A股其他2市 → 港股其他2市,
|
||||
// 每表格列出该市场在该温区有数据的所有可用策略(含未激活,按该温区胜率降序),激活策略高亮;温度并入当前市标题尾部
|
||||
const usableStrats = strategies.filter(s => s.current === true || s.state === 'available');
|
||||
|
||||
Reference in New Issue
Block a user