From ebc3050a998ba3236c77b195dc3914ae8dc074d7 Mon Sep 17 00:00:00 2001 From: "CN\\wuwx26" Date: Mon, 16 Nov 2020 08:56:22 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=96=B0=E7=94=9F=E6=88=90freezen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/freezen.js | 270 ++++++++++++++++++------------------- 1 file changed, 134 insertions(+), 136 deletions(-) diff --git a/src/controllers/freezen.js b/src/controllers/freezen.js index 22c2ac2..6e74c7d 100644 --- a/src/controllers/freezen.js +++ b/src/controllers/freezen.js @@ -1662,175 +1662,173 @@ const luckysheetFreezen = { return; } - if(file["freezen"] == null){ - let freezen = null; - - // transform to freezen - if(frozen.type === 'row'){ - let scrollTop = 0; - let row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop); - if(row_st == -1){ - row_st = 0; - } - let top = Store.visibledatarow[row_st] - 2 - scrollTop + Store.columnHeaderHeight; - let freezenhorizontaldata = [Store.visibledatarow[row_st], row_st + 1, scrollTop, luckysheetFreezen.cutVolumn(Store.visibledatarow, row_st + 1), top]; - - freezen = { - horizontal:{ - freezenhorizontaldata: freezenhorizontaldata, - top: top - } - } - + let freezen = null; + + // transform to freezen + if(frozen.type === 'row'){ + let scrollTop = 0; + let row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop); + if(row_st == -1){ + row_st = 0; } - else if(frozen.type === 'column'){ - let scrollLeft = 0; - let col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft); - if(col_st == -1){ - col_st = 0; - } - let left = Store.visibledatacolumn[col_st] - 2 - scrollLeft + Store.rowHeaderWidth; - let freezenverticaldata = [Store.visibledatacolumn[col_st], col_st + 1, scrollLeft, luckysheetFreezen.cutVolumn(Store.visibledatacolumn, col_st + 1), left]; - - freezen = { - vertical:{ - freezenverticaldata: freezenverticaldata, - left: left - } + let top = Store.visibledatarow[row_st] - 2 - scrollTop + Store.columnHeaderHeight; + let freezenhorizontaldata = [Store.visibledatarow[row_st], row_st + 1, scrollTop, luckysheetFreezen.cutVolumn(Store.visibledatarow, row_st + 1), top]; + + freezen = { + horizontal:{ + freezenhorizontaldata: freezenhorizontaldata, + top: top } } - else if(frozen.type === 'both'){ - let scrollTop = 0; - let row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop); - if(row_st == -1){ - row_st = 0; - } - let top = Store.visibledatarow[row_st] - 2 - scrollTop + Store.columnHeaderHeight; - let freezenhorizontaldata = [Store.visibledatarow[row_st], row_st + 1, scrollTop, luckysheetFreezen.cutVolumn(Store.visibledatarow, row_st + 1), top]; - - let scrollLeft = 0; - let col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft); - if(col_st == -1){ - col_st = 0; - } - let left = Store.visibledatacolumn[col_st] - 2 - scrollLeft + Store.rowHeaderWidth; - let freezenverticaldata = [Store.visibledatacolumn[col_st], col_st + 1, scrollLeft, luckysheetFreezen.cutVolumn(Store.visibledatacolumn, col_st + 1), left]; - - freezen = { - horizontal:{ - freezenhorizontaldata: freezenhorizontaldata, - top: top - }, - vertical:{ - freezenverticaldata: freezenverticaldata, - left: left - } - } - + + } + else if(frozen.type === 'column'){ + let scrollLeft = 0; + let col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft); + if(col_st == -1){ + col_st = 0; } - else if(frozen.type === 'rangeRow'){ - let scrollTop = 0; - let row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop); - - let row_focus = frozen.range["row_focus"]; + let left = Store.visibledatacolumn[col_st] - 2 - scrollLeft + Store.rowHeaderWidth; + let freezenverticaldata = [Store.visibledatacolumn[col_st], col_st + 1, scrollLeft, luckysheetFreezen.cutVolumn(Store.visibledatacolumn, col_st + 1), left]; - if(row_focus > row_st){ - row_st = row_focus; + freezen = { + vertical:{ + freezenverticaldata: freezenverticaldata, + left: left } - - if(row_st == -1){ - row_st = 0; + } + } + else if(frozen.type === 'both'){ + let scrollTop = 0; + let row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop); + if(row_st == -1){ + row_st = 0; + } + let top = Store.visibledatarow[row_st] - 2 - scrollTop + Store.columnHeaderHeight; + let freezenhorizontaldata = [Store.visibledatarow[row_st], row_st + 1, scrollTop, luckysheetFreezen.cutVolumn(Store.visibledatarow, row_st + 1), top]; + + let scrollLeft = 0; + let col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft); + if(col_st == -1){ + col_st = 0; + } + let left = Store.visibledatacolumn[col_st] - 2 - scrollLeft + Store.rowHeaderWidth; + let freezenverticaldata = [Store.visibledatacolumn[col_st], col_st + 1, scrollLeft, luckysheetFreezen.cutVolumn(Store.visibledatacolumn, col_st + 1), left]; + + freezen = { + horizontal:{ + freezenhorizontaldata: freezenhorizontaldata, + top: top + }, + vertical:{ + freezenverticaldata: freezenverticaldata, + left: left } + } - let top = Store.visibledatarow[row_st] - 2 - scrollTop + Store.columnHeaderHeight; - let freezenhorizontaldata = [Store.visibledatarow[row_st], row_st + 1, scrollTop, luckysheetFreezen.cutVolumn(Store.visibledatarow, row_st + 1), top]; + } + else if(frozen.type === 'rangeRow'){ + let scrollTop = 0; + let row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop); - freezen = { - horizontal:{ - freezenhorizontaldata: freezenhorizontaldata, - top: top - } - } + let row_focus = frozen.range["row_focus"]; + if(row_focus > row_st){ + row_st = row_focus; + } + + if(row_st == -1){ + row_st = 0; } - else if(frozen.type === 'rangeColumn'){ - let scrollLeft = 0; - let col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft); - let column_focus = frozen.range["column_focus"]; + let top = Store.visibledatarow[row_st] - 2 - scrollTop + Store.columnHeaderHeight; + let freezenhorizontaldata = [Store.visibledatarow[row_st], row_st + 1, scrollTop, luckysheetFreezen.cutVolumn(Store.visibledatarow, row_st + 1), top]; - if(column_focus > col_st){ - col_st = column_focus; + freezen = { + horizontal:{ + freezenhorizontaldata: freezenhorizontaldata, + top: top } + } - if(col_st == -1){ - col_st = 0; - } + } + else if(frozen.type === 'rangeColumn'){ + let scrollLeft = 0; + let col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft); - let left = Store.visibledatacolumn[col_st] - 2 - scrollLeft + Store.rowHeaderWidth; - let freezenverticaldata = [Store.visibledatacolumn[col_st], col_st + 1, scrollLeft, luckysheetFreezen.cutVolumn(Store.visibledatacolumn, col_st + 1), left]; + let column_focus = frozen.range["column_focus"]; - freezen = { - vertical:{ - freezenverticaldata: freezenverticaldata, - left: left - } - } + if(column_focus > col_st){ + col_st = column_focus; + } + if(col_st == -1){ + col_st = 0; } - else if(frozen.type === 'rangeBoth'){ - let scrollTop = 0; - let row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop); - let row_focus = frozen.range["row_focus"]; + let left = Store.visibledatacolumn[col_st] - 2 - scrollLeft + Store.rowHeaderWidth; + let freezenverticaldata = [Store.visibledatacolumn[col_st], col_st + 1, scrollLeft, luckysheetFreezen.cutVolumn(Store.visibledatacolumn, col_st + 1), left]; - if(row_focus > row_st){ - row_st = row_focus; - } - - if(row_st == -1){ - row_st = 0; + freezen = { + vertical:{ + freezenverticaldata: freezenverticaldata, + left: left } + } - let top = Store.visibledatarow[row_st] - 2 - scrollTop + Store.columnHeaderHeight; - let freezenhorizontaldata = [Store.visibledatarow[row_st], row_st + 1, scrollTop, luckysheetFreezen.cutVolumn(Store.visibledatarow, row_st + 1), top]; + } + else if(frozen.type === 'rangeBoth'){ + let scrollTop = 0; + let row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop); - let scrollLeft = 0; - let col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft); + let row_focus = frozen.range["row_focus"]; - let column_focus = frozen.range["column_focus"]; + if(row_focus > row_st){ + row_st = row_focus; + } + + if(row_st == -1){ + row_st = 0; + } - if(column_focus > col_st){ - col_st = column_focus; - } + let top = Store.visibledatarow[row_st] - 2 - scrollTop + Store.columnHeaderHeight; + let freezenhorizontaldata = [Store.visibledatarow[row_st], row_st + 1, scrollTop, luckysheetFreezen.cutVolumn(Store.visibledatarow, row_st + 1), top]; - if(col_st == -1){ - col_st = 0; - } + let scrollLeft = 0; + let col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft); - let left = Store.visibledatacolumn[col_st] - 2 - scrollLeft + Store.rowHeaderWidth; - let freezenverticaldata = [Store.visibledatacolumn[col_st], col_st + 1, scrollLeft, luckysheetFreezen.cutVolumn(Store.visibledatacolumn, col_st + 1), left]; + let column_focus = frozen.range["column_focus"]; - freezen = { - horizontal:{ - freezenhorizontaldata: freezenhorizontaldata, - top: top - }, - vertical:{ - freezenverticaldata: freezenverticaldata, - left: left - } - } + if(column_focus > col_st){ + col_st = column_focus; } - else if(frozen.type === 'cancel'){ - freezen = { - horizontal: null, - vertical: null - } + + if(col_st == -1){ + col_st = 0; } - file["freezen"] = freezen; + let left = Store.visibledatacolumn[col_st] - 2 - scrollLeft + Store.rowHeaderWidth; + let freezenverticaldata = [Store.visibledatacolumn[col_st], col_st + 1, scrollLeft, luckysheetFreezen.cutVolumn(Store.visibledatacolumn, col_st + 1), left]; + + freezen = { + horizontal:{ + freezenhorizontaldata: freezenhorizontaldata, + top: top + }, + vertical:{ + freezenverticaldata: freezenverticaldata, + left: left + } + } } + else if(frozen.type === 'cancel'){ + freezen = { + horizontal: null, + vertical: null + } + } + + file["freezen"] = freezen; } }