diff --git a/src/controllers/dataVerificationCtrl.js b/src/controllers/dataVerificationCtrl.js
index 5251501..c9959de 100644
--- a/src/controllers/dataVerificationCtrl.js
+++ b/src/controllers/dataVerificationCtrl.js
@@ -1,6 +1,6 @@
import { replaceHtml } from '../utils/util';
import formula from '../global/formula';
-import { isRealNum } from '../global/validate';
+import { isRealNum, isRealNull } from '../global/validate';
import { isdatetime, diff } from '../global/datecontroll';
import { luckysheetrefreshgrid } from '../global/refresh';
import tooltip from '../global/tooltip';
@@ -1020,7 +1020,7 @@ const dataVerificationCtrl = {
//数据验证未通过
let cellValue = getcellvalue(r, c, null);
- if(cellValue == null || cellValue == ""){
+ if(isRealNull(cellValue)){
return;
}
diff --git a/src/controllers/formulaBar.js b/src/controllers/formulaBar.js
index 7ee5da4..29b5329 100644
--- a/src/controllers/formulaBar.js
+++ b/src/controllers/formulaBar.js
@@ -59,13 +59,16 @@ export function formulaBarInitial(){
formula.updatecell(Store.luckysheetCellUpdate[0], Store.luckysheetCellUpdate[1]);
Store.luckysheet_select_save = [{ "row": [Store.luckysheetCellUpdate[0], Store.luckysheetCellUpdate[0]], "column": [Store.luckysheetCellUpdate[1], Store.luckysheetCellUpdate[1]], "row_focus": Store.luckysheetCellUpdate[0], "column_focus": Store.luckysheetCellUpdate[1] }];
luckysheetMoveHighlightCell("down", 1, "rangeOfSelect");
- $("#luckysheet-functionbox-cell").blur();
+ //$("#luckysheet-functionbox-cell").blur();
+ $("#luckysheet-rich-text-editor").focus();
}
event.preventDefault();
}
else if (kcode == keycode.ESC && parseInt($inputbox.css("top")) > 0) {
formula.dontupdate();
luckysheetMoveHighlightCell("down", 0, "rangeOfSelect");
+ //$("#luckysheet-functionbox-cell").blur();
+ $("#luckysheet-rich-text-editor").focus();
event.preventDefault();
}
else if (kcode == keycode.F4 && parseInt($inputbox.css("top")) > 0) {
@@ -224,11 +227,11 @@ export function formulaBarInitial(){
event.stopPropagation();
});
- $("#luckysheet-formula-functionrange").on("mousedown", ".luckysheet-highlight", function (e) {
+ $("#luckysheet-formula-functionrange").on("mousedown", ".luckysheet-highlight", function (event) {
formula.rangeResize = $(this).data("type");//开始状态resize
formula.rangeResizeIndex = $(this).parent().attr("rangeindex");
- let mouse = mouseposition(e.pageX, e.pageY),
+ let mouse = mouseposition(event.pageX, event.pageY),
scrollLeft = $("#luckysheet-cell-main").scrollLeft(),
scrollTop = $("#luckysheet-cell-main").scrollTop();
let x = mouse[0] + scrollLeft;
diff --git a/src/controllers/imageCtrl.js b/src/controllers/imageCtrl.js
index 2749b6b..3144047 100644
--- a/src/controllers/imageCtrl.js
+++ b/src/controllers/imageCtrl.js
@@ -97,17 +97,19 @@ const imageCtrl = {
let src = imgItem.src;
let imgItemParam = _this.getImgItemParam(imgItem);
- let width = imgItemParam.width;
- let height = imgItemParam.height;
- let left = imgItemParam.left;
- let top = imgItemParam.top;
+ let width = imgItemParam.width*Store.zoomRatio;
+ let height = imgItemParam.height*Store.zoomRatio;
+ let left = imgItemParam.left*Store.zoomRatio;
+ let top = imgItemParam.top*Store.zoomRatio;
let position = imgItemParam.position;
+ let borderWidth = imgItem.border.width;
+
return `
-

+
-
+
`;
},
getSliderHtml: function() {
@@ -352,10 +354,10 @@ const imageCtrl = {
let item = _this.images[id];
let imgItemParam = _this.getImgItemParam(item);
- let width = imgItemParam.width;
- let height = imgItemParam.height;
- let left = imgItemParam.left;
- let top = imgItemParam.top;
+ let width = imgItemParam.width*Store.zoomRatio;
+ let height = imgItemParam.height*Store.zoomRatio;
+ let left = imgItemParam.left*Store.zoomRatio;
+ let top = imgItemParam.top*Store.zoomRatio;
let position = imgItemParam.position;
$("#luckysheet-modal-dialog-activeImage").show().css({
@@ -368,19 +370,19 @@ const imageCtrl = {
$("#luckysheet-modal-dialog-activeImage .luckysheet-modal-dialog-content").css({
"background-image": "url(" + item.src + ")",
- "background-size": item.default.width + "px " + item.default.height + "px",
- "background-position": -item.crop.offsetLeft + "px " + -item.crop.offsetTop + "px"
+ "background-size": item.default.width*Store.zoomRatio + "px " + item.default.height*Store.zoomRatio + "px",
+ "background-position": -item.crop.offsetLeft*Store.zoomRatio + "px " + -item.crop.offsetTop*Store.zoomRatio + "px"
})
$("#luckysheet-modal-dialog-activeImage .luckysheet-modal-dialog-border").css({
- "border-width": item.border.width,
+ "border-width": item.border.width*Store.zoomRatio,
"border-style": item.border.style,
"border-color": item.border.color,
- "border-radius": item.border.radius,
- "left": -item.border.width,
- "right": -item.border.width,
- "top": -item.border.width,
- "bottom": -item.border.width,
+ "border-radius": item.border.radius*Store.zoomRatio,
+ "left": -item.border.width*Store.zoomRatio,
+ "right": -item.border.width*Store.zoomRatio,
+ "top": -item.border.width*Store.zoomRatio,
+ "bottom": -item.border.width*Store.zoomRatio,
})
_this.sliderHtmlShow();
@@ -589,10 +591,10 @@ const imageCtrl = {
let imgItem = _this.images[_this.currentImgId];
let imgItemParam = _this.getImgItemParam(imgItem);
- let width = imgItemParam.width;
- let height = imgItemParam.height;
- let left = imgItemParam.left;
- let top = imgItemParam.top;
+ let width = imgItemParam.width*Store.zoomRatio;
+ let height = imgItemParam.height*Store.zoomRatio;
+ let left = imgItemParam.left*Store.zoomRatio;
+ let top = imgItemParam.top*Store.zoomRatio;
let position = imgItemParam.position;
$("#" + _this.currentImgId).show().css({
@@ -603,20 +605,20 @@ const imageCtrl = {
"position": position
});
$("#" + _this.currentImgId + " img").css({
- "width": imgItem.default.width,
- "height": imgItem.default.height,
- "left": -imgItem.crop.offsetLeft,
- "top": -imgItem.crop.offsetTop
+ "width": imgItem.default.width*Store.zoomRatio,
+ "height": imgItem.default.height*Store.zoomRatio,
+ "left": -imgItem.crop.offsetLeft*Store.zoomRatio,
+ "top": -imgItem.crop.offsetTop*Store.zoomRatio
});
$("#" + _this.currentImgId + " .luckysheet-modal-dialog-border").css({
- "border-width": imgItem.border.width,
+ "border-width": imgItem.border.width*Store.zoomRatio,
"border-style": imgItem.border.style,
"border-color": imgItem.border.color,
- "border-radius": imgItem.border.radius,
- "left": -imgItem.border.width,
- "right": -imgItem.border.width,
- "top": -imgItem.border.width,
- "bottom": -imgItem.border.width,
+ "border-radius": imgItem.border.radius*Store.zoomRatio,
+ "left": -imgItem.border.width*Store.zoomRatio,
+ "right": -imgItem.border.width*Store.zoomRatio,
+ "top": -imgItem.border.width*Store.zoomRatio,
+ "bottom": -imgItem.border.width*Store.zoomRatio,
})
_this.currentImgId = null;
@@ -955,7 +957,7 @@ const imageCtrl = {
imgItem.default.top = imgItemParam.top + changeSize - imgItem.crop.offsetTop;
}
else{
- if(imgItemParam.top + imgItemParam.height > row){
+ if(imgItemParam.top + imgItemParam.height >= row-2){
if(imgItemParam.top < row + changeSize){
let scaleY = (imgItemParam.height + changeSize) / imgItemParam.height;
imgItem.default.height = Math.round(imgItem.default.height * scaleY);
@@ -1012,7 +1014,7 @@ const imageCtrl = {
imgItem.default.left = imgItemParam.left + changeSize - imgItem.crop.offsetLeft;
}
else{
- if(imgItemParam.left + imgItemParam.width > col){
+ if(imgItemParam.left + imgItemParam.width >= col-2){
if(imgItemParam.left < col + changeSize){
let scaleX = (imgItemParam.width + changeSize) / imgItemParam.width;
imgItem.default.width = Math.round(imgItem.default.width * scaleX);
diff --git a/src/controllers/print.js b/src/controllers/print.js
index 3c92f45..a266ed3 100644
--- a/src/controllers/print.js
+++ b/src/controllers/print.js
@@ -20,10 +20,11 @@ let ExcelPlaceholder = {
// Get the pixel value per millimeter
function getOneMmsPx (){
let div = document.createElement("div");
- div.id = "mm";
div.style.width = "1mm";
document.querySelector("body").appendChild(div);
- let mm1 = document.getElementById("mm").getBoundingClientRect();
+ let mm1 = div.getBoundingClientRect();
+ let w = mm1.width;
+ $(div).remove();
return mm1.width;
}
diff --git a/src/controllers/select.js b/src/controllers/select.js
index 416baa7..a4c1b01 100644
--- a/src/controllers/select.js
+++ b/src/controllers/select.js
@@ -80,19 +80,10 @@ function selectHightlightShow(isRestore=false) {
Store.luckysheet_select_save[i]["top"] = row_pre_f;
Store.luckysheet_select_save[i]["height"] = row_f - row_pre_f - 1;
- if(isRestore){
- Store.luckysheet_select_save[i]["left_move"] = col_pre_f;
- Store.luckysheet_select_save[i]["width_move"] = col_f - col_pre_f - 1;
- Store.luckysheet_select_save[i]["top_move"] = row_pre_f;
- Store.luckysheet_select_save[i]["height_move"] = row_f - row_pre_f - 1;
- }
- else{
-
- Store.luckysheet_select_save[i]["left_move"] = col_pre;
- Store.luckysheet_select_save[i]["width_move"] = col - col_pre - 1;
- Store.luckysheet_select_save[i]["top_move"] = row_pre;
- Store.luckysheet_select_save[i]["height_move"] = row - row_pre - 1;
- }
+ Store.luckysheet_select_save[i]["left_move"] = col_pre;
+ Store.luckysheet_select_save[i]["width_move"] = col - col_pre - 1;
+ Store.luckysheet_select_save[i]["top_move"] = row_pre;
+ Store.luckysheet_select_save[i]["height_move"] = row - row_pre - 1;
if(i == 0){
if(Store.luckysheet_select_save.length == 1){
@@ -201,16 +192,16 @@ function selectTitlesShow(rangeArr,isRestore=false) {
for(let i = 0; i < s.length; i++){
let r1 = s[i]["row"][0], r2 = s[i]["row"][1], c1 = s[i]["column"][0], c2 = s[i]["column"][1];
- if(isRestore){
- let margeset = menuButton.mergeborer(Store.flowdata, r1, c1);
- if(!!margeset){
- r1 = margeset.row[2];
- r2 = margeset.row[3];
+ // if(isRestore){
+ // let margeset = menuButton.mergeborer(Store.flowdata, r1, c1);
+ // if(!!margeset){
+ // r1 = margeset.row[2];
+ // r2 = margeset.row[3];
- c1 = margeset.column[2];
- c2 = margeset.column[3];
- }
- }
+ // c1 = margeset.column[2];
+ // c2 = margeset.column[3];
+ // }
+ // }
//行、列标题栏
rowTitleMap = selectTitlesMap(rowTitleMap, r1, r2);
diff --git a/src/controllers/sheetmanage.js b/src/controllers/sheetmanage.js
index 6b3e548..bf008a6 100644
--- a/src/controllers/sheetmanage.js
+++ b/src/controllers/sheetmanage.js
@@ -691,7 +691,7 @@ const sheetmanage = {
colwidth = c2 + 1;
}
- Store.flowdata = data;
+ // Store.flowdata = data;
luckysheetcreatedom(colwidth, rowheight, data, menu, title);
@@ -721,7 +721,8 @@ const sheetmanage = {
let execF = function(){
_this.mergeCalculation(file["index"]);
- editor.webWorkerFlowDataCache(Store.flowdata);//worker存数据
+ _this.setSheetParam(false);
+ // editor.webWorkerFlowDataCache(Store.flowdata);//worker存数据
_this.storeSheetParam();
_this.restoreselect();
_this.CacheNotLoadControll = [];
@@ -874,7 +875,7 @@ const sheetmanage = {
file["zoomRatio"] = Store.zoomRatio;
},
- setSheetParam: function(isload) {
+ setSheetParam: function(isload=true) {
let index = this.getSheetIndex(Store.currentSheetIndex);
let file = Store.luckysheetfile[index];
@@ -896,7 +897,9 @@ const sheetmanage = {
luckysheetFreezen.freezenverticaldata = file["freezen"].vertical == null ? null : file["freezen"].vertical.freezenverticaldata;
}
- rhchInit(Store.flowdata.length, Store.flowdata[0].length);
+ if(isload){
+ rhchInit(Store.flowdata.length, Store.flowdata[0].length);
+ }
//批注
luckysheetPostil.buildAllPs(Store.flowdata);
diff --git a/src/controllers/zoom.js b/src/controllers/zoom.js
index df50d37..34d3569 100644
--- a/src/controllers/zoom.js
+++ b/src/controllers/zoom.js
@@ -5,6 +5,7 @@ import sheetmanage from './sheetmanage';
import {changeSheetContainerSize} from './resize';
import { jfrefreshgrid_rhcw } from '../global/refresh';
import server from './server';
+import imageCtrl from './imageCtrl';
@@ -29,6 +30,12 @@ export function zoomChange(ratio){
Store.zoomRatio = ratio;
let currentSheet = sheetmanage.getSheetByIndex();
+
+ //图片
+ imageCtrl.images = currentSheet.images;
+ imageCtrl.allImagesShow();
+ imageCtrl.init();
+
if(currentSheet.config==null){
currentSheet.config = {};
}
diff --git a/src/css/luckysheet-core.css b/src/css/luckysheet-core.css
index 18cf363..1662096 100644
--- a/src/css/luckysheet-core.css
+++ b/src/css/luckysheet-core.css
@@ -4346,7 +4346,6 @@ fieldset[disabled] .btn-danger.focus {
}
.luckysheet-modal-dialog-slider-list-title {
- width: 100%;
height: 20px;
line-height: 25px;
padding: 0px 5px;
@@ -4480,7 +4479,6 @@ fieldset[disabled] .btn-danger.focus {
font-size: 13px;
height: 20px;
line-height: 20px;
- width: 100%;
padding-left: 5px;
}
@@ -6755,7 +6753,12 @@ fieldset[disabled] .btn-danger.focus {
left: 0;
top: 0;
cursor: move;
+ image-rendering: -moz-crisp-edges; /* Firefox */
+ image-rendering: -o-crisp-edges; /* Opera */
+ image-rendering: -webkit-optimize-contrast; /*Webkit (non-standard naming) */
+ image-rendering: crisp-edges;
}
+
#luckysheet-modal-dialog-cropping::before{
content: "";
outline: 1px solid #fff;
@@ -7048,6 +7051,10 @@ fieldset[disabled] .btn-danger.focus {
box-shadow:none;
background: none;
box-shadow:none;
+ image-rendering: -moz-crisp-edges; /* Firefox */
+ image-rendering: -o-crisp-edges; /* Opera */
+ image-rendering: -webkit-optimize-contrast; /*Webkit (non-standard naming) */
+ image-rendering: crisp-edges;
}
.luckysheet-modal-dialog-image .luckysheet-modal-dialog-content, #luckysheet-modal-dialog-activeImage .luckysheet-modal-dialog-content{
diff --git a/src/global/createdom.js b/src/global/createdom.js
index de4b301..82f6d48 100644
--- a/src/global/createdom.js
+++ b/src/global/createdom.js
@@ -114,8 +114,8 @@ export default function luckysheetcreatedom(colwidth, rowheight, data, menu, tit
$("#luckysheet-cols-h-c").height((Store.columeHeaderHeight-1.5));
$("#luckysheet-left-top").css({width:Store.rowHeaderWidth-1.5, height:Store.columeHeaderHeight-1.5});
- //批注
- luckysheetPostil.buildAllPs(Store.flowdata);
+ // //批注
+ // luckysheetPostil.buildAllPs(Store.flowdata);
$("#luckysheet_info_detail_input").val(luckysheetConfigsetting.title);
}
\ No newline at end of file