SHA256
Связи: вернуть лабораторию в ветку (для просмотра графа на моках)
Откат удаления из aed64e7: lab.js снова в репозитории, статический импорт в network-view.js,
строка lab.js убрана из .gitignore. Лаборатория /network-view/lab нужна для демонстрации/проверки
графа на мок-данных без бэкенда. Бамп client.version → 1.2.141.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,7 @@ 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';
|
||||
@@ -216,19 +217,9 @@ let persistedCenterLogin = '';
|
||||
let persistedCenterHistory = [];
|
||||
|
||||
export function render({ navigate, route }) {
|
||||
// Лабораторный режим force-графа — ТОЛЬКО для локальной разработки. Файл `network/lab.js`
|
||||
// намеренно НЕ в гите (см. .gitignore): на сервере он не нужен (там реальные данные). Поэтому
|
||||
// импорт ДИНАМИЧЕСКИЙ — если файла нет (прод/сервер), реальный экран «Связи» не ломается,
|
||||
// а заход на /network-view/lab просто уводит на обычный экран.
|
||||
// Лабораторный режим force-графа (Фаза 1): рендерится из мока, не трогая реальный путь ниже.
|
||||
if (String(route?.params?.mode || '').trim().toLowerCase() === 'lab') {
|
||||
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;
|
||||
return renderNetworkLab({ navigate });
|
||||
}
|
||||
const keepHistory = String(route?.params?.mode || '').trim().toLowerCase() === 'keep-history';
|
||||
const routeLogin = normalizeLogin(route?.params?.login || '');
|
||||
|
||||
Reference in New Issue
Block a user