mengshukeji 5 years ago
parent
commit
2f84ab1bfa
  1. 6
      docs/zh/guide/api.md
  2. 43
      src/controllers/keyboard.js
  3. 1
      src/controllers/server.js
  4. 23
      src/controllers/sheetmanage.js
  5. 12
      src/global/api.js
  6. 33
      src/utils/util.js

6
docs/zh/guide/api.md

@ -2550,6 +2550,12 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
传入目标语言,切换到对应的语言界面 传入目标语言,切换到对应的语言界面
### closeWebsocket()
- **说明**
关闭websocket连接
### getRangeByTxt([txt]) ### getRangeByTxt([txt])
- **说明** - **说明**

43
src/controllers/keyboard.js

@ -18,10 +18,12 @@ import imageCtrl from './imageCtrl';
import { import {
getByteLen, getByteLen,
getNowDateTime,
luckysheetactiveCell, luckysheetactiveCell,
} from '../utils/util'; } from '../utils/util';
import { getSheetIndex } from '../methods/get'; import { getSheetIndex } from '../methods/get';
import { hasPartMC, isEditMode } from '../global/validate'; import { hasPartMC, isEditMode } from '../global/validate';
import { luckysheetRangeLast } from '../global/cursorPos';
import formula from '../global/formula'; import formula from '../global/formula';
import cleargridelement from '../global/cleargridelement'; import cleargridelement from '../global/cleargridelement';
import tooltip from '../global/tooltip'; import tooltip from '../global/tooltip';
@ -435,6 +437,17 @@ export function keyboardInitial(){
luckysheetMoveHighlightRange2("right", "rangeOfSelect"); luckysheetMoveHighlightRange2("right", "rangeOfSelect");
} }
else if (kcode == 186 || kcode == 222) {
let last = Store.luckysheet_select_save[Store.luckysheet_select_save.length - 1];
let row_index = last["row_focus"],
col_index = last["column_focus"];
luckysheetupdateCell(row_index, col_index, Store.flowdata, true);
let value = getNowDateTime(2);
$("#luckysheet-rich-text-editor").html(value);
luckysheetRangeLast($("#luckysheet-rich-text-editor")[0]);
formula.functionInputHanddler($("#luckysheet-functionbox-cell"), $("#luckysheet-rich-text-editor"), kcode);
}
} }
else if (kcode == 66) {//Ctrl + B 加粗 else if (kcode == 66) {//Ctrl + B 加粗
$("#luckysheet-icon-bold").click(); $("#luckysheet-icon-bold").click();
@ -695,6 +708,28 @@ export function keyboardInitial(){
luckysheetMoveHighlightCell2("right", "rangeOfSelect"); luckysheetMoveHighlightCell2("right", "rangeOfSelect");
} }
else if (kcode == 186) {//Ctrl + ; 填充系统日期
let last = Store.luckysheet_select_save[Store.luckysheet_select_save.length - 1];
let row_index = last["row_focus"],
col_index = last["column_focus"];
luckysheetupdateCell(row_index, col_index, Store.flowdata, true);
let value = getNowDateTime(1);
$("#luckysheet-rich-text-editor").html(value);
luckysheetRangeLast($("#luckysheet-rich-text-editor")[0]);
formula.functionInputHanddler($("#luckysheet-functionbox-cell"), $("#luckysheet-rich-text-editor"), kcode);
}
else if (kcode == 222) {//Ctrl + ' 填充系统时间
let last = Store.luckysheet_select_save[Store.luckysheet_select_save.length - 1];
let row_index = last["row_focus"],
col_index = last["column_focus"];
luckysheetupdateCell(row_index, col_index, Store.flowdata, true);
let value = getNowDateTime(2);
$("#luckysheet-rich-text-editor").html(value);
luckysheetRangeLast($("#luckysheet-rich-text-editor")[0]);
formula.functionInputHanddler($("#luckysheet-functionbox-cell"), $("#luckysheet-rich-text-editor"), kcode);
}
else if (String.fromCharCode(kcode).toLocaleUpperCase() == "A") {//Ctrl + A 全选 else if (String.fromCharCode(kcode).toLocaleUpperCase() == "A") {//Ctrl + A 全选
// $("#luckysheet-left-top").trigger("mousedown"); // $("#luckysheet-left-top").trigger("mousedown");
// $(document).trigger("mouseup"); // $(document).trigger("mouseup");
@ -780,7 +815,7 @@ export function keyboardInitial(){
event.preventDefault(); event.preventDefault();
} }
else if (kcode == keycode.UP) { else if (kcode == keycode.UP) {
if (parseInt($inputbox.css("top")) > 0 || $(event.target).hasClass("formulaInputFocus") || $("#luckysheet-singleRange-dialog").is(":visible") || $("#luckysheet-multiRange-dialog").is(":visible")) { if (parseInt($inputbox.css("top")) > 0 || Store.luckysheet_cell_selected_move || Store.luckysheet_cell_selected_extend || $(event.target).hasClass("formulaInputFocus") || $("#luckysheet-singleRange-dialog").is(":visible") || $("#luckysheet-multiRange-dialog").is(":visible")) {
return; return;
} }
@ -788,7 +823,7 @@ export function keyboardInitial(){
event.preventDefault(); event.preventDefault();
} }
else if (kcode == keycode.DOWN) { else if (kcode == keycode.DOWN) {
if (parseInt($inputbox.css("top")) > 0 || $(event.target).hasClass("formulaInputFocus") || $("#luckysheet-singleRange-dialog").is(":visible") || $("#luckysheet-multiRange-dialog").is(":visible")) { if (parseInt($inputbox.css("top")) > 0 || Store.luckysheet_cell_selected_move || Store.luckysheet_cell_selected_extend || $(event.target).hasClass("formulaInputFocus") || $("#luckysheet-singleRange-dialog").is(":visible") || $("#luckysheet-multiRange-dialog").is(":visible")) {
return; return;
} }
@ -796,7 +831,7 @@ export function keyboardInitial(){
event.preventDefault(); event.preventDefault();
} }
else if (kcode == keycode.LEFT) { else if (kcode == keycode.LEFT) {
if (parseInt($inputbox.css("top")) > 0 || $(event.target).hasClass("formulaInputFocus") || $("#luckysheet-singleRange-dialog").is(":visible") || $("#luckysheet-multiRange-dialog").is(":visible")) { if (parseInt($inputbox.css("top")) > 0 || Store.luckysheet_cell_selected_move || Store.luckysheet_cell_selected_extend || $(event.target).hasClass("formulaInputFocus") || $("#luckysheet-singleRange-dialog").is(":visible") || $("#luckysheet-multiRange-dialog").is(":visible")) {
return; return;
} }
@ -804,7 +839,7 @@ export function keyboardInitial(){
event.preventDefault(); event.preventDefault();
} }
else if (kcode == keycode.RIGHT) { else if (kcode == keycode.RIGHT) {
if (parseInt($inputbox.css("top")) > 0 || $(event.target).hasClass("formulaInputFocus") || $("#luckysheet-singleRange-dialog").is(":visible") || $("#luckysheet-multiRange-dialog").is(":visible")) { if (parseInt($inputbox.css("top")) > 0 || Store.luckysheet_cell_selected_move || Store.luckysheet_cell_selected_extend || $(event.target).hasClass("formulaInputFocus") || $("#luckysheet-singleRange-dialog").is(":visible") || $("#luckysheet-multiRange-dialog").is(":visible")) {
return; return;
} }

1
src/controllers/server.js

@ -157,7 +157,6 @@ const server = {
//连接建立时触发 //连接建立时触发
_this.websocket.onopen = function() { _this.websocket.onopen = function() {
console.info(locale().websocket.success); console.info(locale().websocket.success);
hideloading(); hideloading();
_this.wxErrorCount = 0; _this.wxErrorCount = 0;

23
src/controllers/sheetmanage.js

@ -274,21 +274,38 @@ const sheetmanage = {
}, },
setSheetHide: function(index) { setSheetHide: function(index) {
let _this = this; let _this = this;
let currentIdx = _this.getSheetIndex(index);
Store.luckysheetfile[_this.getSheetIndex(index)].hide = 1; Store.luckysheetfile[currentIdx].hide = 1;
let luckysheetcurrentSheetitem = $("#luckysheet-sheets-item" + index); let luckysheetcurrentSheetitem = $("#luckysheet-sheets-item" + index);
luckysheetcurrentSheetitem.hide(); luckysheetcurrentSheetitem.hide();
$("#luckysheet-sheet-area div.luckysheet-sheets-item").removeClass("luckysheet-sheets-item-active"); $("#luckysheet-sheet-area div.luckysheet-sheets-item").removeClass("luckysheet-sheets-item-active");
let indicator = luckysheetcurrentSheetitem.nextAll(":visible"); let indicator;
if(luckysheetConfigsetting.showsheetbarConfig.sheet){
indicator = luckysheetcurrentSheetitem.nextAll(":visible");
if (luckysheetcurrentSheetitem.nextAll(":visible").length > 0) { if (luckysheetcurrentSheetitem.nextAll(":visible").length > 0) {
indicator = indicator.eq(0).data("index"); indicator = indicator.eq(0).data("index");
} }
else { else {
indicator = luckysheetcurrentSheetitem.prevAll(":visible").eq(0).data("index"); indicator = luckysheetcurrentSheetitem.prevAll(":visible").eq(0).data("index");
} }
}else{
let nextActiveIdx , showSheetIdxs = [];
Store.luckysheetfile.forEach((ele,index)=>{
if(1 !== ele.hide) showSheetIdxs.push(index);
});
let len = showSheetIdxs.length;
if(1 === len){
nextActiveIdx = showSheetIdxs[0];
}else{
nextActiveIdx = showSheetIdxs[len-1] > currentIdx ? showSheetIdxs.find(e => e>currentIdx ) : showSheetIdxs[len-1];
}
indicator = Store.luckysheetfile[nextActiveIdx].index;
}
$("#luckysheet-sheets-item" + indicator).addClass("luckysheet-sheets-item-active"); $("#luckysheet-sheets-item" + indicator).addClass("luckysheet-sheets-item-active");
_this.changeSheetExec(indicator); _this.changeSheetExec(indicator);

12
src/global/api.js

@ -6284,6 +6284,18 @@ export function changLang(lang = 'zh'){
} }
/**
* 关闭websocket连接
*/
export function closeWebsocket(){
if(server.websocket == null){
return;
}
server.websocket.close();
}
/** /**
* 根据范围字符串转换为range数组 * 根据范围字符串转换为range数组
* @param {String} txt 范围字符串 * @param {String} txt 范围字符串

33
src/utils/util.js

@ -74,6 +74,38 @@ function getObjType(obj) {
return map[toString.call(obj)]; return map[toString.call(obj)];
} }
//获取当前日期时间
function getNowDateTime(format) {
let now = new Date();
let year = now.getFullYear(); //得到年份
let month = now.getMonth(); //得到月份
let date = now.getDate(); //得到日期
let day = now.getDay(); //得到周几
let hour = now.getHours(); //得到小时
let minu = now.getMinutes(); //得到分钟
let sec = now.getSeconds(); //得到秒
month = month + 1;
if (month < 10) month = "0" + month;
if (date < 10) date = "0" + date;
if (hour < 10) hour = "0" + hour;
if (minu < 10) minu = "0" + minu;
if (sec < 10) sec = "0" + sec;
let time = '';
//日期
if(format == 1) {
time = year + "-" + month + "-" + date;
}
//日期时间
else if(format == 2) {
time = year + "-" + month + "-" + date+ " " + hour + ":" + minu + ":" + sec;
}
return time;
}
//颜色 16进制转rgb //颜色 16进制转rgb
function hexToRgb(hex) { function hexToRgb(hex) {
let color = [], rgb = []; let color = [], rgb = [];
@ -807,6 +839,7 @@ export {
common_extend, common_extend,
replaceHtml, replaceHtml,
getObjType, getObjType,
getNowDateTime,
hexToRgb, hexToRgb,
rgbTohex, rgbTohex,
ABCatNum, ABCatNum,

Loading…
Cancel
Save