Browse Source

fix(bug): bug

bug
master
wpxp123456 5 years ago
parent
commit
fc8f61b015
  1. 2
      src/controllers/constant.js
  2. 125
      src/controllers/rowColumnOperation.js

2
src/controllers/constant.js

@ -735,7 +735,7 @@ function menuToolBar (){
style="user-select: none;"> style="user-select: none;">
<div aria-posinset="4" aria-setsize="7" class="luckysheet-inline-block luckysheet-toolbar-combo-button-caption" <div aria-posinset="4" aria-setsize="7" class="luckysheet-inline-block luckysheet-toolbar-combo-button-caption"
style="user-select: none;"> style="user-select: none;">
<input aria-label="${toolbar.fontSize}" class="luckysheet-toolbar-combo-button-input luckysheet-toolbar-textinput luckysheet-mousedown-cancel" <input aria-label="${toolbar.fontSize}" class="luckysheet-toolbar-combo-button-input luckysheet-toolbar-textinput"
role="combobox" style="user-select: none;" tabindex="-1" type="text" value="10" role="combobox" style="user-select: none;" tabindex="-1" type="text" value="10"
/> />
</div> </div>

125
src/controllers/rowColumnOperation.js

@ -8,6 +8,7 @@ import {
getObjType, getObjType,
showrightclickmenu, showrightclickmenu,
luckysheetContainerFocus, luckysheetContainerFocus,
luckysheetfontformat,
} from '../utils/util'; } from '../utils/util';
import { getSheetIndex, getRangetxt } from '../methods/get'; import { getSheetIndex, getRangetxt } from '../methods/get';
import { import {
@ -1486,6 +1487,7 @@ export function rowColumnOperationInitial(){
function luckysheetcolsdbclick() { function luckysheetcolsdbclick() {
Store.luckysheet_cols_change_size = false; Store.luckysheet_cols_change_size = false;
$("#luckysheet-change-size-line").hide(); $("#luckysheet-change-size-line").hide();
$("#luckysheet-cols-change-size").css("opacity", 0); $("#luckysheet-cols-change-size").css("opacity", 0);
$("#luckysheet-sheettable, #luckysheet-cols-h-c, .luckysheet-cols-h-cells, .luckysheet-cols-h-cells canvas").css("cursor", "default"); $("#luckysheet-sheettable, #luckysheet-cols-h-c, .luckysheet-cols-h-cells, .luckysheet-cols-h-cells canvas").css("cursor", "default");
@ -1493,77 +1495,51 @@ function luckysheetcolsdbclick() {
let mouse = mouseposition(event.pageX, event.pageY); let mouse = mouseposition(event.pageX, event.pageY);
let scrollLeft = $("#luckysheet-cols-h-c").scrollLeft(); let scrollLeft = $("#luckysheet-cols-h-c").scrollLeft();
let x = mouse[0] + scrollLeft; let x = mouse[0] + scrollLeft;
let winW = $(window).width();
let colIndex = colLocation(x)[2];
let row_index = Store.visibledatarow.length - 1, let d = editor.deepCopyFlowData(Store.flowdata);
row = Store.visibledatarow[row_index], let canvas = $("#luckysheetTableContent").get(0).getContext("2d");
row_pre = 0;
let col_location = colLocation(x),
col = col_location[1],
col_pre = col_location[0],
col_index = col_location[2];
Store.luckysheet_cols_change_size_start = [col_pre, col_index];
let dataflow = $("#luckysheetTableContent").get(0).getContext("2d");
let cfg = $.extend(true, {}, Store.config); let cfg = $.extend(true, {}, Store.config);
if (cfg["columnlen"] == null) {
cfg["columnlen"] = {};
}
let matchColumn = {}; let matchColumn = {};
for(let s = 0; s < Store.luckysheet_select_save.length; s++){ for(let s = 0; s < Store.luckysheet_select_save.length; s++){
let c1 = Store.luckysheet_select_save[s].column[0], let c1 = Store.luckysheet_select_save[s].column[0],
c2 = Store.luckysheet_select_save[s].column[1]; c2 = Store.luckysheet_select_save[s].column[1];
if (col_index < c1 || col_index > c2) { if (colIndex < c1 || colIndex > c2) {
if(col_index in matchColumn){//此列已计算过 if(colIndex in matchColumn){//此列已计算过
continue; continue;
} }
x = -Infinity; let currentColLen = Store.defaultcollen;
let countret = 0;
let fontsize = 13;
for (let r = 0; r < Store.flowdata.length; r++) {
if (countret >= 15) {
break;
}
let value = getcellvalue(r, Store.luckysheet_cols_change_size_start[1], Store.flowdata); for(let r = 0; r < d.length; r++){
let mask = getcellvalue(r, Store.luckysheet_cols_change_size_start[1], Store.flowdata, "m"); let cell = d[r][colIndex];
if(mask != null){ if(cell == null || isRealNull(cell.v)){
value = mask;
}
let cell = Store.flowdata[r][Store.luckysheet_cols_change_size_start[1]];
if(getObjType(cell) == "object" && ("fs" in cell)){
if(cell.fs > fontsize){
fontsize = cell.fs;
}
}
if (value == null || value.toString().length == 0) {
countret++;
continue; continue;
} }
let textMetrics = dataflow.measureText(value).width;
if (textMetrics > x) {
x = textMetrics;
}
}
let size = x + fontsize * 1.5; let fontset = luckysheetfontformat(cell);
if ((x + 3) < 30) { canvas.font = fontset;
size = 30;
}
if (x >= winW - 100 + scrollLeft) { let value = getcellvalue(r, colIndex, d).toString(); //单元格文本
size = winW - 100 + scrollLeft; let textMetrics = canvas.measureText(value).width; //文本宽度
}
if (cfg["columnlen"] == null) { if(textMetrics + 6 > currentColLen){
cfg["columnlen"] = {}; currentColLen = textMetrics + 6;
}
} }
cfg["columnlen"][Store.luckysheet_cols_change_size_start[1]] = Math.ceil(size); if(currentColLen != Store.defaultcollen){
cfg["columnlen"][colIndex] = currentColLen;
}
matchColumn[col_index] = 1; matchColumn[colIndex] = 1;
} }
else { else {
for (let c = c1; c <= c2; c++) { for (let c = c1; c <= c2; c++) {
@ -1571,46 +1547,29 @@ function luckysheetcolsdbclick() {
continue; continue;
} }
x = -Infinity; let currentColLen = Store.defaultcollen;
let countret = 0;
let fontsize = 13;
for (let r = 0; r < Store.flowdata.length; r++) {
if (countret >= 15) {
break;
}
let value = getcellvalue(r, c, Store.flowdata);
let cell = Store.flowdata[r][c];
if(getObjType(cell) == "object" && ("fs" in cell)){
if(cell.fs > fontsize){
fontsize = cell.fs;
}
}
if (isRealNull(value)) { for(let r = 0; r < d.length; r++){
countret++; let cell = d[r][c];
if(cell == null || isRealNull(cell.v)){
continue; continue;
} }
let textMetrics = dataflow.measureText(value).width; let fontset = luckysheetfontformat(cell);
if (textMetrics > x) { canvas.font = fontset;
x = textMetrics;
}
}
let size = x + fontsize*1.5;; let value = getcellvalue(r, c, d).toString(); //单元格文本
if ((x + 3) < 30) { let textMetrics = canvas.measureText(value).width; //文本宽度
size = 30;
}
if (x >= winW - 100 + scrollLeft) { if(textMetrics + 6 > currentColLen){
size = winW - 100 + scrollLeft; currentColLen = textMetrics + 6;
}
} }
if (cfg["columnlen"] == null) { if(currentColLen != Store.defaultcollen){
cfg["columnlen"] = {}; cfg["columnlen"][c] = currentColLen;
} }
cfg["columnlen"][c] = Math.ceil(size);
matchColumn[c] = 1; matchColumn[c] = 1;
} }

Loading…
Cancel
Save