From 23fcb137cb594cfb4bc6dfe2ac86d306c42427f9 Mon Sep 17 00:00:00 2001 From: javahuang Date: Tue, 29 Sep 2020 09:53:42 +0800 Subject: [PATCH] fix(more formats toolbar): fix more formats toolbar can't sync with cell, fix mac delete button can't delete cell, fix can't delete cell with inline-style --- src/controllers/constant.js | 3 ++- src/controllers/keyboard.js | 2 +- src/controllers/menuButton.js | 29 ++++++++++++++++++++++++--- src/controllers/rowColumnOperation.js | 3 +++ src/css/iconCustom.css | 2 +- src/css/luckysheet-core.css | 9 +++++++++ 6 files changed, 42 insertions(+), 6 deletions(-) diff --git a/src/controllers/constant.js b/src/controllers/constant.js index 7901821..f043532 100644 --- a/src/controllers/constant.js +++ b/src/controllers/constant.js @@ -727,6 +727,7 @@ const luckysheetToolHTML = '
return `
@@ -843,7 +844,7 @@ function menuToolBar (){ style="user-select: none;">
- 123 + ${defaultFmtArray[0].text}
diff --git a/src/controllers/keyboard.js b/src/controllers/keyboard.js index 83f12a6..05f1316 100644 --- a/src/controllers/keyboard.js +++ b/src/controllers/keyboard.js @@ -748,7 +748,7 @@ export function keyboardInitial(){ selectHightlightShow(); } - else if (kcode == keycode.DELETE) { + else if (kcode == keycode.DELETE || kcode == keycode.BACKSPACE) { $("#luckysheet-delete-text").click(); event.preventDefault(); diff --git a/src/controllers/menuButton.js b/src/controllers/menuButton.js index 29d8dee..4ca5b38 100644 --- a/src/controllers/menuButton.js +++ b/src/controllers/menuButton.js @@ -419,13 +419,13 @@ const menuButton = { //luckysheet-icon-fmt-other-menuButton_sub $("body").append(menu+submenu); $menuButton = $("#" + menuButtonId).width(250); - _this.focus($menuButton); $menuButton.find(".luckysheet-cols-menuitem").click(function(){ $menuButton.hide(); luckysheetContainerFocus(); - let $t = $(this), itemvalue = $t.attr("itemvalue"); + let $t = $(this), itemvalue = $t.attr("itemvalue"),itemname = $t.attr("itemname");; + $("#luckysheet-icon-fmt-other").find(".luckysheet-toolbar-menu-button-caption").html(" "+ itemname +" "); if(itemvalue == "fmtOtherSelf"){ return; @@ -448,6 +448,12 @@ const menuButton = { luckysheetMoreFormat.createDialog(itemvalue); luckysheetMoreFormat.init(); }) + } else { + const text =$(this).find(".luckysheet-toolbar-menu-button-caption").text().trim(); + const format = locale_defaultFmt.find(f => f.text === text); + if(format) { + _this.focus($menuButton, format.value); + } } let userlen = $(this).outerWidth(); @@ -3416,6 +3422,23 @@ const menuButton = { $icon.removeAttr("class").addClass("luckysheet-icon-img-container luckysheet-icon-img luckysheet-icon-rotation-" + itemvalue + iconfontObject[itemvalue]); $menuButton.hide(); } + else if(attr == "ct") { + let $menuButton = $("#luckysheet-icon-fmt-other"); + const _locale = locale(); + const locale_defaultFmt = _locale.defaultFmt; + if(!foucsStatus) { + $menuButton.find(".luckysheet-toolbar-menu-button-caption").html(" "+ locale_defaultFmt[0].text +" "); + return; + } + const {fa} = foucsStatus; + const format = locale_defaultFmt.find(f => f.value === fa); + if(format) { + $menuButton.find(".luckysheet-toolbar-menu-button-caption").html(" "+ format.text +" "); + } else { + const otherFormat = locale_defaultFmt.find(f => f.value === "fmtOtherSelf"); + $menuButton.find(".luckysheet-toolbar-menu-button-caption").html(" "+ otherFormat.text +" "); + } + } }, inputMenuButtonFocus:function(focusTarget){ var w = window.getSelection(); @@ -3433,7 +3456,7 @@ const menuButton = { }, menuButtonFocus: function(d, r, c){ let _this = this; - let foucsList = ["bl", "it", "cl", "ff", "ht", "vt", "fs", "tb", "tr"]; + let foucsList = ["bl", "it", "cl", "ff", "ht", "vt", "fs", "tb", "tr", "ct"]; const _locale = locale(); for(let i = 0; i < foucsList.length; i++){ let attr = foucsList[i]; diff --git a/src/controllers/rowColumnOperation.js b/src/controllers/rowColumnOperation.js index 7dd6965..2c9f52a 100644 --- a/src/controllers/rowColumnOperation.js +++ b/src/controllers/rowColumnOperation.js @@ -1567,6 +1567,9 @@ export function rowColumnOperationInitial(){ if(getObjType(d[r][c]) == "object"){ delete d[r][c]["m"]; delete d[r][c]["v"]; + if(d[r][c]["ct"] != null) { + delete d[r][c]["ct"]["s"] + } if(d[r][c]["f"] != null){ delete d[r][c]["f"]; diff --git a/src/css/iconCustom.css b/src/css/iconCustom.css index f707385..c551423 100644 --- a/src/css/iconCustom.css +++ b/src/css/iconCustom.css @@ -18,7 +18,7 @@ #luckysheet-icon-morebtn{ position: absolute; - right: 30px; + right: 15px; } diff --git a/src/css/luckysheet-core.css b/src/css/luckysheet-core.css index b7b7515..66d532c 100644 --- a/src/css/luckysheet-core.css +++ b/src/css/luckysheet-core.css @@ -573,6 +573,15 @@ top: -1660px; } */ +#luckysheet-icon-fmt-other .luckysheet-toolbar-menu-button-caption { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 55px; + margin-left: 1px; + text-align: center; +} + #luckysheet-icon-font-family .luckysheet-toolbar-menu-button-caption { overflow: hidden; text-overflow: ellipsis;