Skip to content

Commit 9998f09

Browse files
committed
Несколько проблем при выводе макетов в основном из-за граничных условий
1 parent d75b288 commit 9998f09

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

src/templatePanel.ts

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,15 @@ export class TemplatePanel {
8383
let lastColumns = '';
8484
8585
// Нет основной группы колонок => неоткуда брать формат колонок для окончания таблицы => пропускаем.
86-
if (mainColumns.length !== 0) {
87-
for(let i = (columns.columnsItem ?? []).length + totalAdditionalColumns; i < columns.size; i++) {
88-
const formatIndex = Number(mainColumns[0].columnsItem
89-
.filter(column => column.index === i)[0].column.formatIndex) - 1;
90-
const columnWidth = document.format[formatIndex].width ? document.format[formatIndex].width : '80';
91-
92-
lastColumns += `<th style="max-width:${columnWidth}px; width: ${columnWidth}px;">${i + 1}</th>`;
86+
if (mainColumns.length !== 0 && mainColumns[0].columnsItem) {
87+
for(let i = columns.columnsItem.length + totalAdditionalColumns; i < columns.size; i++) {
88+
const columnByIndex = mainColumns[0].columnsItem.filter(column => column.index === i);
89+
if (columnByIndex && columnByIndex.length > 0) {
90+
const formatIndex = Number(columnByIndex[0].column.formatIndex) - 1;
91+
const columnWidth = document.format[formatIndex].width ? document.format[formatIndex].width : '80';
92+
93+
lastColumns += `<th style="max-width:${columnWidth}px; width: ${columnWidth}px;">${i + 1}</th>`;
94+
}
9395
}
9496
}
9597
@@ -164,7 +166,7 @@ function _getColumn(templatecolumn: TemplateColumn, indexRow: number, document:
164166
return;
165167
}
166168

167-
merge = document.merge.filter(m => m.r == indexRow && m.c == indexColumn);
169+
merge = document.merge?.filter(m => m.r == indexRow && m.c == indexColumn);
168170

169171
const hasMergeColumns = HasMergeColumns(merge);
170172
const hasMergeRows = HasMergeRows(merge);
@@ -248,10 +250,10 @@ function _getColumn(templatecolumn: TemplateColumn, indexRow: number, document:
248250
}
249251

250252
function FindRowMerge(indexRow: number, merge: TemplateMergeCells[]) {
251-
return merge
253+
return merge && merge.length ? merge
252254
.filter(m =>
253255
m.h && m.w &&
254-
(m.r < indexRow && m.r + m.h >= indexRow));
256+
(m.r < indexRow && m.r + m.h >= indexRow)) : [];
255257
}
256258

257259
function HasMergeColumns(merge: TemplateMergeCells[]) {

0 commit comments

Comments
 (0)