SHA256
Связи: лаборатория только локально (исключена из репозитория)
- shine-UI/js/pages/network/lab.js убран из git (git rm --cached) и добавлен в .gitignore: на сервере лаборатория не нужна (там реальные данные), локально файл остаётся и работает. - network-view.js: статический импорт lab.js заменён на ДИНАМИЧЕСКИЙ с фолбэком — если файла нет (прод/сервер), реальный экран «Связи» не ломается, а заход на /network-view/lab уводит на обычный экран. Локально лаборатория грузится как прежде. - Документация фичи отражает, что lab.js — локальный (в .gitignore). - Бамп client.version → 1.2.140. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
abfd073de8
commit
aed64e76a7
@@ -2,7 +2,6 @@ import { renderHeader } from '../components/header.js';
|
||||
import { authService, state } from '../state.js';
|
||||
import { makeProfileRoute } from '../services/shine-routes.js';
|
||||
import { makeProfileLinksRoute } from '../services/shine-routes.js';
|
||||
import { renderNetworkLab } from './network/lab.js';
|
||||
import { createForceGraph } from './network/force-graph.js';
|
||||
import { engineModelFromGraphModel } from './network/adapter.js';
|
||||
import { openNodeMenu, relationLabelRu } from './network/node-menu.js';
|
||||
@@ -217,9 +216,19 @@ let persistedCenterLogin = '';
|
||||
let persistedCenterHistory = [];
|
||||
|
||||
export function render({ navigate, route }) {
|
||||
// Лабораторный режим force-графа (Фаза 1): рендерится из мока, не трогая реальный путь ниже.
|
||||
// Лабораторный режим force-графа — ТОЛЬКО для локальной разработки. Файл `network/lab.js`
|
||||
// намеренно НЕ в гите (см. .gitignore): на сервере он не нужен (там реальные данные). Поэтому
|
||||
// импорт ДИНАМИЧЕСКИЙ — если файла нет (прод/сервер), реальный экран «Связи» не ломается,
|
||||
// а заход на /network-view/lab просто уводит на обычный экран.
|
||||
if (String(route?.params?.mode || '').trim().toLowerCase() === 'lab') {
|
||||
return renderNetworkLab({ navigate });
|
||||
const host = document.createElement('div');
|
||||
host.style.display = 'contents'; // прозрачная обёртка: lab-экран ведёт себя как прямой потомок
|
||||
let inner = null;
|
||||
import('./network/lab.js')
|
||||
.then((m) => { inner = m.renderNetworkLab({ navigate }); host.append(inner); })
|
||||
.catch(() => { navigate('network-view'); }); // нет файла (сервер) — на реальный экран
|
||||
host.cleanup = () => { if (inner && typeof inner.cleanup === 'function') inner.cleanup(); };
|
||||
return host;
|
||||
}
|
||||
const keepHistory = String(route?.params?.mode || '').trim().toLowerCase() === 'keep-history';
|
||||
const routeLogin = normalizeLogin(route?.params?.login || '');
|
||||
|
||||
Reference in New Issue
Block a user