From dad714992934dd169cf847050709452091316137 Mon Sep 17 00:00:00 2001 From: flowerField Date: Tue, 12 Jan 2021 19:21:59 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0API=20=20refreshMenuButto?= =?UTF-8?q?nFocus=20=E6=92=A4=E9=94=80=E5=92=8C=E5=9B=9E=E9=80=80=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E5=88=B7=E6=96=B0=E7=8A=B6=E6=80=81=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/controlHistory.js | 6 ++++++ src/global/api.js | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/controllers/controlHistory.js b/src/controllers/controlHistory.js index c27d68e..d7b12b2 100644 --- a/src/controllers/controlHistory.js +++ b/src/controllers/controlHistory.js @@ -25,6 +25,7 @@ import { getSheetIndex } from '../methods/get'; import Store from '../store'; import { selectHightlightShow } from './select'; import method from '../global/method'; +import {refreshMenuButtonFocus} from "../global/api"; function formulaHistoryHanddler(ctr, type="redo"){ if(ctr==null){ @@ -428,6 +429,9 @@ const controlHistory = { } Store.clearjfundo = true; + /* 刷新当前状态栏 */ + refreshMenuButtonFocus(); + // 撤销的时候curdata 跟 data 数据要调换一下 let newCtr = {...ctr, ...{data: ctr.curdata, curdata: ctr.data}} // 钩子函数 @@ -744,6 +748,8 @@ const controlHistory = { } Store.clearjfundo = true; + /* 刷新当前状态栏 */ + refreshMenuButtonFocus(); } }; diff --git a/src/global/api.js b/src/global/api.js index 61a9944..33185ce 100644 --- a/src/global/api.js +++ b/src/global/api.js @@ -6543,6 +6543,23 @@ export function getTxtByRange(range=Store.luckysheet_select_save){ return conditionformat.getTxtByRange(range); } +/** + * 刷新状态栏的状态 + * @param {Array} data 当前的数据 + * @param {Number} r 指定的行 + * @param {Number} c 指定的列 + */ +export function refreshMenuButtonFocus(data ,r,c){ + data = data || Store.flowdata; + if(r == null && c == null){ + /* 获取选取范围 */ + let last = Store.luckysheet_select_save[Store.luckysheet_select_save.length -1]; + r = last.row_focus || last.row[0]; + c = last.column_focus || last.column[0]; + } + + menuButton.menuButtonFocus(data, r, c); +} /** * 初始化分页器 From 5936136182adb031e5d7050c9bf0876a2d0b322a Mon Sep 17 00:00:00 2001 From: flowerField Date: Tue, 12 Jan 2021 19:38:30 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0API=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/guide/api.md | 15 +++++++++++++++ docs/zh/guide/api.md | 15 +++++++++++++++ src/global/api.js | 44 ++++++++++++++++++++++++++------------------ 3 files changed, 56 insertions(+), 18 deletions(-) diff --git a/docs/guide/api.md b/docs/guide/api.md index 65dcd22..f9ea705 100644 --- a/docs/guide/api.md +++ b/docs/guide/api.md @@ -2570,6 +2570,21 @@ Use note: ------------ +### refreshMenuButtonFocus([data],[r],[c],[success]) + +- **Parameter**: + + - {Array} [data]: Operational data + - {Number} [r]: Specified row + - {Number} [c]: Specified column + - {Function} [success]: callback function for the end of the operation + +- **Explanation**: + + Refreshes the top status bar status of the specified cell. + +------------ + ## Chart ### insertChart([setting]) diff --git a/docs/zh/guide/api.md b/docs/zh/guide/api.md index 51a022e..fb9493d 100644 --- a/docs/zh/guide/api.md +++ b/docs/zh/guide/api.md @@ -2486,6 +2486,21 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开 ------------ +### refreshMenuButtonFocus([data],[r],[c],[success]) + +- **参数**: + + - {Array} [data]: 操作数据 + - {Number} [r]: 指定的行 + - {Number} [c]: 指定的列 + - {Function} [success]: 操作结束的回调函数 + +- **说明**: + + 刷新指定单元格的顶部状态栏状态。 + +------------ + ## 图表 ### insertChart([setting]) diff --git a/src/global/api.js b/src/global/api.js index 33185ce..321d1af 100644 --- a/src/global/api.js +++ b/src/global/api.js @@ -6543,24 +6543,6 @@ export function getTxtByRange(range=Store.luckysheet_select_save){ return conditionformat.getTxtByRange(range); } -/** - * 刷新状态栏的状态 - * @param {Array} data 当前的数据 - * @param {Number} r 指定的行 - * @param {Number} c 指定的列 - */ -export function refreshMenuButtonFocus(data ,r,c){ - data = data || Store.flowdata; - if(r == null && c == null){ - /* 获取选取范围 */ - let last = Store.luckysheet_select_save[Store.luckysheet_select_save.length -1]; - r = last.row_focus || last.row[0]; - c = last.column_focus || last.column[0]; - } - - menuButton.menuButtonFocus(data, r, c); -} - /** * 初始化分页器 * @param {Object} config 分页器配置 @@ -6600,3 +6582,29 @@ export function refreshFormula (success) { } }) } + +/** + * 刷新状态栏的状态 + * @param {Array} data 操作数据 + * @param {Number} r 指定的行 + * @param {Number} c 指定的列 + * @param {Function} success 回调函数 + */ +export function refreshMenuButtonFocus(data ,r,c , success){ + data = data || Store.flowdata; + if(r == null && c == null){ + /* 获取选取范围 */ + let last = Store.luckysheet_select_save[Store.luckysheet_select_save.length -1]; + + r = last.row_focus || last.row[0]; + c = last.column_focus || last.column[0]; + } + + menuButton.menuButtonFocus(data, r, c); + + setTimeout(() => { + if (success && typeof success === 'function') { + success(); + } + }) +} \ No newline at end of file From 965aaf67b867921133057a5aade48d83de07e895 Mon Sep 17 00:00:00 2001 From: flowerField Date: Wed, 13 Jan 2021 14:26:04 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=9C=A8=E5=8D=95?= =?UTF-8?q?=E5=85=83=E6=A0=BC=E7=BC=96=E8=BE=91=E7=8A=B6=E6=80=81=E4=B8=8B?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E4=BA=86=E6=96=87=E6=9C=AC=E7=9A=84=E9=A2=9C?= =?UTF-8?q?=E8=89=B2=E5=AD=98=E5=9C=A8bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/menuButton.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/controllers/menuButton.js b/src/controllers/menuButton.js index 1436fbf..393fad7 100644 --- a/src/controllers/menuButton.js +++ b/src/controllers/menuButton.js @@ -544,6 +544,8 @@ const menuButton = { _this.updateFormat(d, "fc", color); }); + + $("#luckysheet-icon-text-color-menu").mousedown(function(e){ hideMenuByCancel(e); e.stopPropagation(); @@ -598,7 +600,6 @@ const menuButton = { ["#900","#b45f06","#bf9000","#38761d","#134f5c","#0b5394","#351c75","#741b47"], ["#600","#783f04","#7f6000","#274e13","#0c343d","#073763","#20124d","#4c1130"]], change: function (color) { - let $input = $(this); if (color != null) { color = color.toHexString(); } @@ -606,7 +607,6 @@ const menuButton = { color = "#000"; } - let oldcolor = null; // $("#luckysheet-icon-text-color .luckysheet-color-menu-button-indicator").css("border-bottom-color", color); // 下边框换成了一个DIV $("#luckysheet-icon-text-color .text-color-bar").css("background-color", color); @@ -617,6 +617,9 @@ const menuButton = { $menuButton.hide(); luckysheetContainerFocus(); + + /* 备注:在单元格编辑状态下切换了文本的颜色存在bug,此处需设置编辑框的color样式, */ + $("#luckysheet-input-box").css("color",color); }, }); @@ -738,7 +741,6 @@ const menuButton = { ["#600", "#783f04", "#7f6000", "#274e13", "#0c343d", "#073763", "#20124d", "#4c1130"] ], change: function (color) { - let $input = $(this); if (color != null) { color = color.toHexString(); } @@ -746,7 +748,6 @@ const menuButton = { color = "#fff"; } - let oldcolor = null; // $("#luckysheet-icon-cell-color .luckysheet-color-menu-button-indicator").css("border-bottom-color", color); // 下边框换成了一个DIV $("#luckysheet-icon-cell-color .text-color-bar").css("background-color", color); From 3ed8be124f54cbdaff0af5477ae63a53071b0666 Mon Sep 17 00:00:00 2001 From: flowerField Date: Thu, 14 Jan 2021 20:19:23 +0800 Subject: [PATCH 4/6] all selected mv .. --- src/controllers/handler.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/controllers/handler.js b/src/controllers/handler.js index cf7061f..1e9d152 100644 --- a/src/controllers/handler.js +++ b/src/controllers/handler.js @@ -5021,6 +5021,9 @@ export default function luckysheetHandler() { clearTimeout(Store.countfuncTimeout); Store.countfuncTimeout = setTimeout(function () { countfunc() }, 500); + /* 选中区域:发送网络请求 */ + server.saveParam("mv", Store.currentSheetIndex, Store.luckysheet_select_save); + event.stopPropagation(); }); From 87aafb67cafdd9159beabffaa70f95f8a1020d18 Mon Sep 17 00:00:00 2001 From: flowerField Date: Fri, 15 Jan 2021 19:14:31 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=8F=8C=E5=87=BBcell?= =?UTF-8?q?=E5=BB=B6=E8=BF=9F=E9=87=8A=E6=94=BE=E5=AF=BC=E8=87=B4=E7=9A=84?= =?UTF-8?q?=E9=80=89=E5=8C=BA=E7=AD=89=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/handler.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/controllers/handler.js b/src/controllers/handler.js index 1e9d152..334e159 100644 --- a/src/controllers/handler.js +++ b/src/controllers/handler.js @@ -1440,8 +1440,17 @@ export default function luckysheetHandler() { menuButton.cancelPaintModel(); } + // 检查当前坐标和焦点坐标是否一致,如果不一致那么进行修正 + let column_focus = Store.luckysheet_select_save[0]["column_focus"]; + let row_focus = Store.luckysheet_select_save[0]["row_focus"]; + if(column_focus !== col_index || row_focus !== row_index){ + row_index = row_focus; + col_index = column_focus; + }; luckysheetupdateCell(row_index, col_index, Store.flowdata); - + + /* 设置选区高亮 */ + selectHightlightShow(); } }); From 88f269f7db9cba4fe7bcad185644525b108940ef Mon Sep 17 00:00:00 2001 From: flowerField Date: Sat, 16 Jan 2021 11:50:25 +0800 Subject: [PATCH 6/6] add api getWorkbookName --- docs/guide/api.md | 15 +++++++++++++-- docs/zh/guide/api.md | 13 +++++++++++++ src/global/api.js | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 2 deletions(-) diff --git a/docs/guide/api.md b/docs/guide/api.md index f9ea705..434c4d1 100644 --- a/docs/guide/api.md +++ b/docs/guide/api.md @@ -2512,8 +2512,6 @@ Use note: ### setWorkbookName(name [,setting]) -[todo] - - **Parameter**: - {Number} [name]: Workbook name @@ -2526,6 +2524,19 @@ Use note: ------------ +### getWorkbookName(name [,setting]) + +- **Parameter**: + + - {PlainObject} [setting]: optional parameters + + {Function} [success]: callback function for the end of the operation + +- **Explanation**: + + get workbook name + +------------ + ### undo([setting]) [todo] diff --git a/docs/zh/guide/api.md b/docs/zh/guide/api.md index fb9493d..f4e4c01 100644 --- a/docs/zh/guide/api.md +++ b/docs/zh/guide/api.md @@ -2448,6 +2448,19 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开 ------------ +### getWorkbookName([,setting]) + +- **参数**: + + - {PlainObject} [setting]: 可选参数 + + {Function} [success]: 操作结束的回调函数 + +- **说明**: + + 获取工作簿名称 + +------------ + ### undo([setting]) - **参数**: diff --git a/src/global/api.js b/src/global/api.js index 321d1af..566c003 100644 --- a/src/global/api.js +++ b/src/global/api.js @@ -5630,6 +5630,39 @@ export function setWorkbookName(name, options = {}) { } } +/** + * 获取工作簿名称 + * @param {Object} options 可选参数 + * @param {Function} options.success 操作结束的回调函数 + * @returns {String} 返回工作簿名称,如果读取失败则返回空字符串并弹窗提示 + */ +export function getWorkbookName(options = {}) { + + let name = ""; + let element = $("#luckysheet_info_detail_input"); + + if(element.length == 0){ + + tooltip.info('Failed to get workbook name, label loading failed!'); + return name; + + } + + name = $.trim(element.val()); + + let { + success + } = {...options} + + setTimeout(() => { + if (success && typeof success === 'function') { + success() + } + }, 1) + + return name; +} + /** * 撤销当前操作,返回刚刚撤销的操作对象