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. 12
      src/controllers/sheetmanage.js

38
src/controllers/handler.js

@ -65,6 +65,32 @@ export default function luckysheetHandler() {
}
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 () {
@ -1077,7 +1103,7 @@ export default function luckysheetHandler() {
$(document).mousemove(function (event) {
luckysheetPostil.overshow(event); //有批注显示
clearInterval(Store.jfautoscrollTimeout);
window.cancelAnimationFrame(Store.jfautoscrollTimeout);
if(formula.functionResizeStatus){
let y = event.pageY;
@ -1268,7 +1294,7 @@ export default function luckysheetHandler() {
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) {
let mouse = mouseposition(event.pageX, event.pageY);
let left = $("#luckysheet-scrollbar-x").scrollLeft(),
@ -1913,7 +1939,11 @@ export default function luckysheetHandler() {
else if (!!formula.rangeMove) {
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;
clearTimeout(Store.jfautoscrollTimeout);
window.cancelAnimationFrame(Store.jfautoscrollTimeout);
Store.luckysheet_scroll_status = false;
$("#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-modal-dialog-slider-pivot").show();
sheetmanage.sheetBarShowAndHide();
luckysheetsizeauto();
},
getComposeArray: function (data) {

52
src/controllers/sheetMove.js

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

12
src/controllers/sheetmanage.js

@ -1037,9 +1037,17 @@ const sheetmanage = {
if (formula.rangestart) {
formula.createRangeHightlight();
}
this.sheetBarShowAndHide(index);
},
sheetBarShowAndHide(index){
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();

Loading…
Cancel
Save