diff --git a/src/controllers/handler.js b/src/controllers/handler.js index 0d4be85..6d225ab 100644 --- a/src/controllers/handler.js +++ b/src/controllers/handler.js @@ -3318,7 +3318,7 @@ export default function luckysheetHandler() { } let luckysheetTableContent = $("#luckysheetTableContent").get(0).getContext("2d"); - + method.createHookFunction("sheetMouseup", Store.flowdata[row_index][col_index], { r:row_index, c:col_index, @@ -4972,7 +4972,7 @@ export default function luckysheetHandler() { }); //表格左上角点击 全选表格 - $("#luckysheet-left-top").mousedown(function (event) { + $("#luckysheet-left-top").click(function (event) { if(!checkProtectionAllSelected(Store.currentSheetIndex)){ return; } diff --git a/src/controllers/keyboard.js b/src/controllers/keyboard.js index c1e7d57..3567174 100644 --- a/src/controllers/keyboard.js +++ b/src/controllers/keyboard.js @@ -696,8 +696,9 @@ export function keyboardInitial(){ luckysheetMoveHighlightCell2("right", "rangeOfSelect"); } else if (String.fromCharCode(kcode).toLocaleUpperCase() == "A") {//Ctrl + A 全选 - $("#luckysheet-left-top").trigger("mousedown"); - $(document).trigger("mouseup"); + // $("#luckysheet-left-top").trigger("mousedown"); + // $(document).trigger("mouseup"); + $("#luckysheet-left-top").click() } event.preventDefault(); diff --git a/src/controllers/menuButton.js b/src/controllers/menuButton.js index c41a17e..74431a6 100644 --- a/src/controllers/menuButton.js +++ b/src/controllers/menuButton.js @@ -46,7 +46,7 @@ const menuButton = { "coloritem": '
${name}
', "subcolor": '
', "rightclickmenu": null, - "submenuhide": null, + "submenuhide": {}, focus: function($obj, value){ if($obj.attr("id")=="luckysheet-icon-font-family-menuButton"){ if (isdatatypemulti(value)["num"]) { @@ -956,7 +956,7 @@ const menuButton = { "borderType": type, "color": color, "style": style, - "range": Store.luckysheet_select_save + "range": $.extend(true, [], Store.luckysheet_select_save) } cfg["borderInfo"].push(borderInfo); @@ -1115,7 +1115,7 @@ const menuButton = { "borderType": itemvalue, "color": color, "style": style, - "range": Store.luckysheet_select_save + "range": $.extend(true, [], Store.luckysheet_select_save) } cfg["borderInfo"].push(borderInfo); @@ -2874,7 +2874,7 @@ const menuButton = { } mouseclickposition($menuButton, menuleft, $(this).offset().top + 25, "lefttop"); }); - + $("body").on("mouseover mouseleave",".luckysheet-menuButton .luckysheet-cols-submenu", function(e){ let $t = $(this), attrid = $t.attr("itemvalue"), $attr = $("#luckysheet-icon-" + attrid + "-menuButton"); @@ -2897,13 +2897,13 @@ const menuButton = { $attr.css({ "top": top, "left": left }).show(); _this.rightclickmenu = $t; } else { - clearTimeout(_this.submenuhide); - _this.submenuhide = setTimeout(function () { $attr.hide(); }, 200); + clearTimeout(_this.submenuhide[$attr.attr('id')]); + _this.submenuhide[$attr.attr('id')] = setTimeout(function () { $attr.hide(); }, 200); } }).on("mouseover mouseleave",".luckysheet-menuButton-sub", function(e){ if (e.type === "mouseover") { _this.rightclickmenu.addClass("luckysheet-cols-menuitem-hover"); - clearTimeout(_this.submenuhide); + clearTimeout(_this.submenuhide[$(this).attr('id')]); } else { _this.rightclickmenu.removeClass("luckysheet-cols-menuitem-hover"); diff --git a/src/global/border.js b/src/global/border.js index aa08918..c6b8589 100644 --- a/src/global/border.js +++ b/src/global/border.js @@ -1062,7 +1062,7 @@ function getBorderInfoCompute(sheetIndex) { data = Store.luckysheetfile[getSheetIndex(sheetIndex)].data; } - getBorderInfoComputeRange(0, data.length,0, data[0].length, sheetIndex); + borderInfoCompute = getBorderInfoComputeRange(0, data.length,0, data[0].length, sheetIndex); return borderInfoCompute; } diff --git a/src/global/formula.js b/src/global/formula.js index 0ffcf30..61f0929 100644 --- a/src/global/formula.js +++ b/src/global/formula.js @@ -334,7 +334,7 @@ const luckysheetformula = { let value = ""; // && d[r][c].v != null if (d[r] != null && d[r][c] != null) { - let cell = d[r][c]; + let cell = $.extend(true, {}, d[r][c]); if(isInlineStringCell(cell)){ value = getInlineStringNoStyle(r, c); @@ -1339,7 +1339,7 @@ const luckysheetformula = { if(getObjType(value) == "string" && value.slice(0, 1) == "=" && value.length > 1){ let v = _this.execfunction(value, r, c, undefined, true); isRunExecFunction = false; - curv = d[r][c]; + curv = $.extend(true, {}, d[r][c]); curv.v = v[1]; curv.f = v[2]; @@ -1370,7 +1370,7 @@ const luckysheetformula = { isRunExecFunction = false; // get v/m/ct - curv = d[r][c]; + curv = $.extend(true, {}, d[r][c]); curv.v = v[1]; curv.f = v[2]; @@ -1438,7 +1438,7 @@ const luckysheetformula = { _this.execFunctionGroup(r, c, value); isRunExecFunction = false; - curv = d[r][c]; + curv = $.extend(true, {}, d[r][c]); // let gd = _this.execFunctionGlobalData[r+"_"+c+"_"+Store.currentSheetIndex]; // if(gd!=null){ // curv.v = gd.v; diff --git a/src/global/func_methods.js b/src/global/func_methods.js index beebf77..bc77d14 100644 --- a/src/global/func_methods.js +++ b/src/global/func_methods.js @@ -22,37 +22,40 @@ const func_methods = { if(rangeObj.data == null){ if(!isNeglectNullCell){ - if(nullCellType == "number"){ + if(nullCellType === "number"){ dataArr.push(0); } - else if(nullCellType == "text"){ + else if(nullCellType === "text"){ dataArr.push(""); } } } else{ - if(getObjType(rangeObj.data) == "array"){ + if(getObjType(rangeObj.data) === "array"){ for(let i = 0; i < rangeObj.data.length; i++){ for(let j = 0; j < rangeObj.data[i].length; j++){ - if(rangeObj.data[i][j] != null){ - let datav = rangeObj.data[i][j]; - if(datav instanceof Object){ - dataArr.push(datav.v); - } - else{ - dataArr.push(datav); - } + let cell = rangeObj.data[i][j]; + let value = cell + + if(getObjType(cell) === 'object'){ + value = cell.v } - else{ + + if(value == null ){ if(!isNeglectNullCell){ - if(nullCellType == "number"){ - dataArr.push(0); + if(nullCellType === "number"){ + value = 0; } - else if(nullCellType == "text"){ - dataArr.push(""); + else if(nullCellType === "text"){ + value = ''; } + + dataArr.push(value); } } + else{ + dataArr.push(value); + } } } } @@ -97,23 +100,19 @@ const func_methods = { let rowArr = []; for(let j = 0; j < rangeObj.data[i].length; j++){ - let value; + let cell = rangeObj.data[i][j]; + let value = cell; - if(rangeObj.data[i][j] != null){ - let datav = rangeObj.data[i][j]; - if(datav instanceof Object){ - value = datav.v; - } - else{ - value = datav; - } + if(getObjType(cell) === 'object'){ + value = cell.v } - else{ - if(nullCellType == "number"){ + + if(value == null){ + if(nullCellType === "number"){ value = 0; } - else if(nullCellType == "text"){ - value = ""; + else if(nullCellType === "text"){ + value = ''; } } diff --git a/src/global/method.js b/src/global/method.js index 86726d8..f576ba4 100644 --- a/src/global/method.js +++ b/src/global/method.js @@ -491,9 +491,6 @@ const method = { dataVerificationCtrl[key] = defaultDataVerification[key]; } } - - - }, editorChart:function(c){ let chart_selection_color = luckyColor[0]; diff --git a/src/global/setdata.js b/src/global/setdata.js index 2f968a1..13f3813 100644 --- a/src/global/setdata.js +++ b/src/global/setdata.js @@ -10,7 +10,7 @@ function setcellvalue(r, c, d, v) { if(d == null){ d = Store.flowdata; } - let cell = d[r][c]; + let cell = $.extend(true, {}, d[r][c]); let vupdate;