Browse Source

fix(hot key and mousemove): hot key fix

master
liuyang 5 years ago
parent
commit
1ad40cf552
  1. 38
      src/controllers/handler.js
  2. 1
      src/controllers/pivotTable.js
  3. 52
      src/controllers/sheetMove.js
  4. 10
      src/controllers/sheetmanage.js

38
src/controllers/handler.js

@ -66,6 +66,32 @@ export default function luckysheetHandler() {
const os = browser.detectOS(), isMac = os=="Mac"?true:false, scrollNum = isMac?1:3; const os = browser.detectOS(), isMac = os=="Mac"?true:false, scrollNum = isMac?1:3;
if (!Date.now)
Date.now = function() { return new Date().getTime(); };
//requestAnimationFrame method
(function() {
'use strict';
var vendors = ['webkit', 'moz'];
for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {
var vp = vendors[i];
window.requestAnimationFrame = window[vp+'RequestAnimationFrame'];
window.cancelAnimationFrame = (window[vp+'CancelAnimationFrame']
|| window[vp+'CancelRequestAnimationFrame']);
}
if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) // iOS6 is buggy
|| !window.requestAnimationFrame || !window.cancelAnimationFrame) {
var lastTime = 0;
window.requestAnimationFrame = function(callback) {
var now = Date.now();
var nextTime = Math.max(lastTime + 16, now);
return setTimeout(function() { callback(lastTime = nextTime); },
nextTime - now);
};
window.cancelAnimationFrame = clearTimeout;
}
}());
//滚动监听 //滚动监听
$("#luckysheet-cell-main").scroll(function () { $("#luckysheet-cell-main").scroll(function () {
@ -1077,7 +1103,7 @@ export default function luckysheetHandler() {
$(document).mousemove(function (event) { $(document).mousemove(function (event) {
luckysheetPostil.overshow(event); //有批注显示 luckysheetPostil.overshow(event); //有批注显示
clearInterval(Store.jfautoscrollTimeout); window.cancelAnimationFrame(Store.jfautoscrollTimeout);
if(formula.functionResizeStatus){ if(formula.functionResizeStatus){
let y = event.pageY; let y = event.pageY;
@ -1268,7 +1294,7 @@ export default function luckysheetHandler() {
Store.countfuncTimeout = setTimeout(function () { countfunc() }, 500); Store.countfuncTimeout = setTimeout(function () { countfunc() }, 500);
} }
Store.jfautoscrollTimeout = setInterval(function () { function mouseRender() {
if (Store.luckysheet_scroll_status && !Store.luckysheet_cols_change_size && !Store.luckysheet_rows_change_size) { if (Store.luckysheet_scroll_status && !Store.luckysheet_cols_change_size && !Store.luckysheet_rows_change_size) {
let mouse = mouseposition(event.pageX, event.pageY); let mouse = mouseposition(event.pageX, event.pageY);
let left = $("#luckysheet-scrollbar-x").scrollLeft(), let left = $("#luckysheet-scrollbar-x").scrollLeft(),
@ -1913,7 +1939,11 @@ export default function luckysheetHandler() {
else if (!!formula.rangeMove) { else if (!!formula.rangeMove) {
formula.rangeMoveDraging(event, formula.rangeMovexy, formula.rangeMoveObj.data("range"), formula.rangeMoveObj, Store.sheetBarHeight, Store.statisticBarHeight); formula.rangeMoveDraging(event, formula.rangeMovexy, formula.rangeMoveObj.data("range"), formula.rangeMoveObj, Store.sheetBarHeight, Store.statisticBarHeight);
} }
}, 1);
Store.jfautoscrollTimeout = window.requestAnimationFrame(mouseRender);
}
Store.jfautoscrollTimeout = window.requestAnimationFrame(mouseRender);
} }
}); });
@ -1938,7 +1968,7 @@ export default function luckysheetHandler() {
} }
Store.luckysheet_select_status = false; Store.luckysheet_select_status = false;
clearTimeout(Store.jfautoscrollTimeout); window.cancelAnimationFrame(Store.jfautoscrollTimeout);
Store.luckysheet_scroll_status = false; Store.luckysheet_scroll_status = false;
$("#luckysheet-cell-selected").find(".luckysheet-cs-fillhandle").css("cursor","crosshair").end().find(".luckysheet-cs-draghandle").css("cursor","move"); $("#luckysheet-cell-selected").find(".luckysheet-cs-fillhandle").css("cursor","crosshair").end().find(".luckysheet-cs-draghandle").css("cursor","move");

1
src/controllers/pivotTable.js

@ -2342,6 +2342,7 @@ const pivotTable = {
$("#luckysheet-dialog-pivotTable-range").html(getRangetxt(_this.pivotDataSheetIndex, _this.pivot_select_save)); $("#luckysheet-dialog-pivotTable-range").html(getRangetxt(_this.pivotDataSheetIndex, _this.pivot_select_save));
$("#luckysheet-modal-dialog-slider-pivot").show(); $("#luckysheet-modal-dialog-slider-pivot").show();
sheetmanage.sheetBarShowAndHide();
luckysheetsizeauto(); luckysheetsizeauto();
}, },
getComposeArray: function (data) { getComposeArray: function (data) {

52
src/controllers/sheetMove.js

@ -1762,30 +1762,32 @@ function getNextIndex(direction, focusIndex, strIndex, endIndex) {
let stValue = Store.flowdata[strIndex][focusIndex]; let stValue = Store.flowdata[strIndex][focusIndex];
if(getObjType(stValue) == "object" && isRealNull(stValue.v)){ if(getObjType(stValue) == "object" && isRealNull(stValue.v)){
stNull = false; stNull = true;
} }
else if(isRealNull(stValue)){ else if(isRealNull(stValue)){
stNull = false; stNull = true;
} }
else{ else{
stNull = true; stNull = false;
} }
console.log(stNull, "stNull");
let cellNull = [], i = 0; let cellNull = [], i = 0;
for(let r = strIndex + 1; r <= endIndex; r++){ for(let r = strIndex + 1; r <= endIndex; r++){
let cell = Store.flowdata[r][focusIndex]; let cell = Store.flowdata[r][focusIndex];
if(getObjType(cell) == "object" && isRealNull(cell.v)){ if(getObjType(cell) == "object" && isRealNull(cell.v)){
cellNull.push(false); cellNull.push(true);
} }
else if(isRealNull(cell)){ else if(isRealNull(cell)){
cellNull.push(false); cellNull.push(true);
} }
else{ else{
cellNull.push(true); cellNull.push(false);
} }
if(cellNull.length == 1 && stNull && cellNull[i] == false){ if(cellNull.length == 1 && stNull==true && cellNull[i] == false){
index = strIndex + i + 1; index = strIndex + i + 1;
break; break;
} }
@ -1817,13 +1819,13 @@ function getNextIndex(direction, focusIndex, strIndex, endIndex) {
let stValue = Store.flowdata[endIndex][focusIndex]; let stValue = Store.flowdata[endIndex][focusIndex];
if(getObjType(stValue) == "object" && isRealNull(stValue.v)){ if(getObjType(stValue) == "object" && isRealNull(stValue.v)){
stNull = false; stNull = true;
} }
else if(isRealNull(stValue)){ else if(isRealNull(stValue)){
stNull = false; stNull = true;
} }
else{ else{
stNull = true; stNull = false;
} }
let cellNull = [], i = 0; let cellNull = [], i = 0;
@ -1831,13 +1833,13 @@ function getNextIndex(direction, focusIndex, strIndex, endIndex) {
let cell = Store.flowdata[r][focusIndex]; let cell = Store.flowdata[r][focusIndex];
if(getObjType(cell) == "object" && isRealNull(cell.v)){ if(getObjType(cell) == "object" && isRealNull(cell.v)){
cellNull.push(false); cellNull.push(true);
} }
else if(isRealNull(cell)){ else if(isRealNull(cell)){
cellNull.push(false); cellNull.push(true);
} }
else{ else{
cellNull.push(true); cellNull.push(false);
} }
if(cellNull.length == 1 && stNull && cellNull[i] == false){ if(cellNull.length == 1 && stNull && cellNull[i] == false){
@ -1872,13 +1874,13 @@ function getNextIndex(direction, focusIndex, strIndex, endIndex) {
let stValue = Store.flowdata[focusIndex][strIndex]; let stValue = Store.flowdata[focusIndex][strIndex];
if(getObjType(stValue) == "object" && isRealNull(stValue.v)){ if(getObjType(stValue) == "object" && isRealNull(stValue.v)){
stNull = false; stNull = true;
} }
else if(isRealNull(stValue)){ else if(isRealNull(stValue)){
stNull = false; stNull = true;
} }
else{ else{
stNull = true; stNull = false;
} }
let cellNull = [], i = 0; let cellNull = [], i = 0;
@ -1886,13 +1888,13 @@ function getNextIndex(direction, focusIndex, strIndex, endIndex) {
let cell = Store.flowdata[focusIndex][c]; let cell = Store.flowdata[focusIndex][c];
if(getObjType(cell) == "object" && isRealNull(cell.v)){ if(getObjType(cell) == "object" && isRealNull(cell.v)){
cellNull.push(false); cellNull.push(true);
} }
else if(isRealNull(cell)){ else if(isRealNull(cell)){
cellNull.push(false); cellNull.push(true);
} }
else{ else{
cellNull.push(true); cellNull.push(false);
} }
if(cellNull.length == 1 && stNull && cellNull[i] == false){ if(cellNull.length == 1 && stNull && cellNull[i] == false){
@ -1927,13 +1929,13 @@ function getNextIndex(direction, focusIndex, strIndex, endIndex) {
let stValue = Store.flowdata[focusIndex][endIndex]; let stValue = Store.flowdata[focusIndex][endIndex];
if(getObjType(stValue) == "object" && isRealNull(stValue.v)){ if(getObjType(stValue) == "object" && isRealNull(stValue.v)){
stNull = false; stNull = true;
} }
else if(isRealNull(stValue)){ else if(isRealNull(stValue)){
stNull = false; stNull = true;
} }
else{ else{
stNull = true; stNull = false;
} }
let cellNull = [], i = 0; let cellNull = [], i = 0;
@ -1941,13 +1943,13 @@ function getNextIndex(direction, focusIndex, strIndex, endIndex) {
let cell = Store.flowdata[focusIndex][c]; let cell = Store.flowdata[focusIndex][c];
if(getObjType(cell) == "object" && isRealNull(cell.v)){ if(getObjType(cell) == "object" && isRealNull(cell.v)){
cellNull.push(false); cellNull.push(true);
} }
else if(isRealNull(cell)){ else if(isRealNull(cell)){
cellNull.push(false); cellNull.push(true);
} }
else{ else{
cellNull.push(true); cellNull.push(false);
} }
if(cellNull.length == 1 && stNull && cellNull[i] == false){ if(cellNull.length == 1 && stNull && cellNull[i] == false){

10
src/controllers/sheetmanage.js

@ -1038,8 +1038,16 @@ const sheetmanage = {
formula.createRangeHightlight(); formula.createRangeHightlight();
} }
this.sheetBarShowAndHide(index);
},
sheetBarShowAndHide(index){
let $c = $("#luckysheet-sheet-container-c"); let $c = $("#luckysheet-sheet-container-c");
$c.scrollLeft($sheet.offset().left);
if(index!=null){
let $sheet = $("#luckysheet-sheets-item" + index);
$c.scrollLeft($sheet.offset().left);
}
let c_width = $c.width(), c_srollwidth = $c[0].scrollWidth, scrollLeft = $c.scrollLeft(); let c_width = $c.width(), c_srollwidth = $c[0].scrollWidth, scrollLeft = $c.scrollLeft();

Loading…
Cancel
Save