Browse Source

fix(bug fix): #55 #50 #54

master
wbfsa 5 years ago
parent
commit
5caf2b028c
  1. 12
      src/controllers/dropCell.js
  2. 8
      src/controllers/handler.js
  3. 13
      src/controllers/protection.js
  4. 27
      src/global/formula.js
  5. 6
      src/global/getdata.js
  6. 6
      src/global/setdata.js
  7. 1683
      src/index.html

12
src/controllers/dropCell.js

@ -2323,9 +2323,21 @@ const luckysheetDropCell = {
let lastTxt = _this.isExtendNumber(last)[1];
let lastNum = _this.isExtendNumber(last)[2];
if(lastNum==""){
let num = Math.abs(Number(lastTxt) + step * i);
if(lastTxt.substr(0,1)=="0"){
if(lastTxt.length>num.toString().length){
num = "0" + num.toString();
}
}
d["v"] = num.toString();
d["m"] = num.toString();
}
else{
let num = Math.abs(Number(lastNum) + step * i);
d["v"] = lastTxt + num.toString();
d["m"] = lastTxt + num.toString();
}
applyData.push(d);
}

8
src/controllers/handler.js

@ -160,7 +160,7 @@ export default function luckysheetHandler() {
clearTimeout(mousewheelArrayUniqueTimeout);
if(Store.visibledatacolumn.length!=visibledatacolumn_c.length){
// if(Store.visibledatacolumn.length!=visibledatacolumn_c.length){
if(Store.visibledatacolumn_unique!=null){
visibledatacolumn_c = Store.visibledatacolumn_unique;
}
@ -168,9 +168,9 @@ export default function luckysheetHandler() {
visibledatacolumn_c = ArrayUnique(visibledatacolumn_c);
Store.visibledatacolumn_unique = visibledatacolumn_c;
}
}
// }
if(Store.visibledatarow.length!=visibledatarow_c.length){
// if(Store.visibledatarow.length!=visibledatarow_c.length){
if(Store.visibledatarow_unique!=null){
visibledatarow_c = Store.visibledatarow_unique;
}
@ -178,7 +178,7 @@ export default function luckysheetHandler() {
visibledatarow_c = ArrayUnique(visibledatarow_c);
Store.visibledatarow_unique = visibledatarow_c;
}
}
// }
// visibledatacolumn_c = ArrayUnique(visibledatacolumn_c);
// visibledatarow_c = ArrayUnique(visibledatarow_c);

13
src/controllers/protection.js

@ -300,8 +300,14 @@ function initialEvent(file){
}
if(aut.algorithmName!=null && aut.algorithmName!="None"){
if(aut.saltValue!=null && aut.saltValue.length>0){
var hasher = CryptoApi.getHasher(aut.algorithmName);
password =CryptoApi.hmac(aut.saltValue, password, hasher);
}
else{
password = CryptoApi.hash(aut.algorithmName, password);
}
}
if(password==aut.password){
restoreProtectionConfig(validationAuthority);
@ -829,8 +835,15 @@ function openRangePasswordModal(rangeAut) {
}
if(rangeAut.algorithmName!=null && rangeAut.algorithmName!="None"){
// password = CryptoApi.hash(rangeAut.algorithmName, password);
if(rangeAut.saltValue!=null && rangeAut.saltValue.length>0){
var hasher = CryptoApi.getHasher(rangeAut.algorithmName);
password =CryptoApi.hmac(rangeAut.saltValue, password, hasher);
}
else{
password = CryptoApi.hash(rangeAut.algorithmName, password);
}
}
if(password==rangeAut.password){
inputRangeProtectionPassword[rangeAut.sqref] = 1;

27
src/global/formula.js

@ -688,12 +688,6 @@ const luckysheetformula = {
return;
}
if(txt in this.cellTextToIndexList){
return this.cellTextToIndexList[txt];
}
let val = txt.split("!");
let sheettxt = "",
rangetxt = "",
sheetIndex = null,
@ -701,10 +695,17 @@ const luckysheetformula = {
let luckysheetfile = getluckysheetfile();
if (val.length > 1) {
if (txt.indexOf("!") > -1) {
if(txt in this.cellTextToIndexList){
return this.cellTextToIndexList[txt];
}
let val = txt.split("!");
sheettxt = val[0];
rangetxt = val[1];
for (let i in luckysheetfile) {
if (sheettxt == luckysheetfile[i].name) {
sheetIndex = luckysheetfile[i].index;
@ -718,11 +719,14 @@ const luckysheetformula = {
if(i==null){
i = Store.currentSheetIndex;
}
if(txt+"_" + i in this.cellTextToIndexList){
return this.cellTextToIndexList[txt+"_" + i];
}
let index = getSheetIndex(i);
sheettxt = luckysheetfile[index].name;
sheetIndex = luckysheetfile[index].index;
sheetdata = Store.flowdata;
rangetxt = val[0];
rangetxt = txt;
}
if (rangetxt.indexOf(":") == -1) {
@ -4751,7 +4755,14 @@ const luckysheetformula = {
this.cellTextToIndexList = {};
}
if(txt.indexOf("!")>-1){
this.cellTextToIndexList[txt] = infoObj;
}
else{
this.cellTextToIndexList[txt+"_"+infoObj.sheetIndex] = infoObj;
}
},
addToSheetIndexList:function(formulaTxt, sheetIndex, obIndex){
if(formulaTxt==null || formulaTxt.length==0){

6
src/global/getdata.js

@ -70,9 +70,9 @@ export function getdatabyselectionD(d, range) {
continue;
}
if (Store.config["rowhidden"] != null && Store.config["rowhidden"][r] != null) {
continue;
}
// if (Store.config["rowhidden"] != null && Store.config["rowhidden"][r] != null) {
// continue;
// }
let row = [];

6
src/global/setdata.js

@ -85,7 +85,13 @@ function setcellvalue(r, c, d, v) {
}
else if(valueIsError(vupdate)){
cell.m = vupdate.toString();
// cell.ct = { "fa": "General", "t": "e" };
if(cell.ct!=null){
cell.ct.t = "e";
}
else{
cell.ct = { "fa": "General", "t": "e" };
}
cell.v = vupdate;
}
else{

1683
src/index.html

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save