' + rawText.replace(//g,'>') + ''; + var qResp = await fetch('/api.cfm?action=query&sql=SELECT%20elements_json%20FROM%20documents%20WHERE%20id%3D\'' + docId + '\''); + var qData = await qResp.json(); + var elements = []; + if (qData.OK && qData.ROWS && qData.ROWS.length > 0) { + var ej = qData.ROWS[0].ELEMENTS_JSON; + if (typeof ej === 'object' && ej.Value) ej = ej.Value; + elements = JSON.parse(ej); + } + + // Общий textify для обеих панелей + var textLines = []; + elements.forEach(function(el) { + var etype = el.type || el.TYPE || '?'; + if (etype === 'paragraph') { + textLines.push(el.text || el.TEXT || ''); + } else if (etype === 'table') { + var rows = el.rows || el.ROWS || []; + if (rows.length > 0) { + var ncols = (rows[0]||[]).length; + textLines.push('--- Таблица ' + rows.length + '×' + ncols + ' ---'); + rows.forEach(function(row) { + var cells = (row||[]).map(function(c){ return String(c||'').replace(/\n/g,' ').replace(/\|/g,'\\|'); }); + textLines.push('| ' + cells.join(' | ') + ' |'); + }); + textLines.push(''); + } + } + }); + var textify = textLines.join('\n').replace(//g,'>'); + + // Левая: сырой текст (textify) + leftHtml = '
' + textify + ''; + + // Правая: статистика + textify + rightHtml += '
Размер' + formatSize(f.size) + '
';
+ rightHtml += 'Изменён' + formatDate(f.lastModified) + '
';
+ if (f.parseInfo) {
+ var d = f.parseInfo;
+ rightHtml += 'Элементов' + (d.ELEMENT_COUNT||0) + '
';
+ rightHtml += 'Параграфов' + (d.PARAGRAPHS||0) + '
';
+ rightHtml += 'Таблиц' + (d.TABLES||0) + '
';
+ rightHtml += 'Строк таблиц' + (d.TABLE_ROWS||0) + '
';
+ if (d.PAGES) rightHtml += 'Страниц' + d.PAGES + '
';
+ if (d.PARSE_TIME_MS) {
+ rightHtml += 'Время парсинга' + (d.PARSE_TIME_MS > 1000 ? (d.PARSE_TIME_MS/1000).toFixed(1) + ' с' : d.PARSE_TIME_MS + ' мс') + '
';
+ }
+ if (d.TEXT_LENGTH) rightHtml += 'Символов' + d.TEXT_LENGTH.toLocaleString() + '
';
+ if (d.ERRORS && d.ERRORS.length > 0) {
+ rightHtml += 'Ошибки:
';
+ rightHtml += '' + d.ERRORS.join('\n') + '';
+ }
+ }
+ rightHtml += 'Все элементы:
';
+ rightHtml += '' + textify + ''; + rightHtml += '
doc_id' + (f.doc_id || '—') + '
';
+ if (f.supp_id) {
+ rightHtml += 'supp_id' + f.supp_id + '
';
+ rightHtml += 'Тип ДС' + (f.supp_type || '—') + '
';
+ }
} catch(e) {
leftHtml = 'Ошибка';
}
@@ -577,69 +633,6 @@ async function showText(i) {
leftHtml = '(ещё не загружен)';
}
- // Правая панель: распарсено — все элементы полностью
- var rightHtml = '';
- // Базовая инфа сверху
- rightHtml += 'Размер' + formatSize(f.size) + '
';
- rightHtml += 'Изменён' + formatDate(f.lastModified) + '
';
- if (f.parseInfo) {
- var d = f.parseInfo;
- rightHtml += 'Элементов' + (d.ELEMENT_COUNT||0) + '
';
- rightHtml += 'Параграфов' + (d.PARAGRAPHS||0) + '
';
- rightHtml += 'Таблиц' + (d.TABLES||0) + '
';
- rightHtml += 'Строк таблиц' + (d.TABLE_ROWS||0) + '
';
- if (d.PAGES) rightHtml += 'Страниц' + d.PAGES + '
';
- if (d.PARSE_TIME_MS) {
- rightHtml += 'Время парсинга' + (d.PARSE_TIME_MS > 1000 ? (d.PARSE_TIME_MS/1000).toFixed(1) + ' с' : d.PARSE_TIME_MS + ' мс') + '
';
- }
- if (d.TEXT_LENGTH) rightHtml += 'Символов' + d.TEXT_LENGTH.toLocaleString() + '
';
- if (d.ERRORS && d.ERRORS.length > 0) {
- rightHtml += 'Ошибки:
';
- rightHtml += '' + d.ERRORS.join('\n') + '';
- }
- }
-
- // Все элементы из БД
- if (docId) {
- try {
- var qResp = await fetch('/api.cfm?action=query&sql=SELECT%20elements_json%20FROM%20documents%20WHERE%20id%3D\'' + docId + '\'');
- var qData = await qResp.json();
- if (qData.OK && qData.ROWS && qData.ROWS.length > 0) {
- var ej = qData.ROWS[0].ELEMENTS_JSON;
- if (typeof ej === 'object' && ej.Value) ej = ej.Value;
- var elements = JSON.parse(ej);
- rightHtml += 'Все элементы:
';
- var lines = [];
- elements.forEach(function(el) {
- var etype = el.type || el.TYPE || '?';
- if (etype === 'paragraph') {
- lines.push((el.text || el.TEXT || ''));
- } else if (etype === 'table') {
- var rows = el.rows || el.ROWS || [];
- if (rows.length > 0) {
- var ncols = (rows[0]||[]).length;
- lines.push('--- Таблица ' + rows.length + '×' + ncols + ' ---');
- rows.forEach(function(row) {
- var cells = (row||[]).map(function(c){ return String(c||'').replace(/\n/g,' ').replace(/\|/g,'\\|'); });
- lines.push('| ' + cells.join(' | ') + ' |');
- });
- lines.push('');
- }
- }
- });
- rightHtml += '' + lines.join('\n').replace(//g,'>') + '';
- }
- } catch(e) {
- rightHtml += 'Ошибка загрузки элементов
';
- }
- }
-
- rightHtml += 'doc_id' + (f.doc_id || '—') + '
';
- if (f.supp_id) {
- rightHtml += 'supp_id' + f.supp_id + '
';
- rightHtml += 'Тип ДС' + (f.supp_type || '—') + '
';
- }
-
var html = '' +
'' +
'' +
Сырой текст
' + leftHtml + 'Распарсено
' + rightHtml + '