From 35820b3c2ea8437036cfc32911acde9ff32c2fea Mon Sep 17 00:00:00 2001 From: liuyang Date: Thu, 30 Jul 2020 21:41:23 +0800 Subject: [PATCH] fix(fix allowedit): fix allowEdit attribute --- src/controllers/dropCell.js | 4 ++++ src/controllers/handler.js | 4 ++-- src/controllers/menuButton.js | 4 ++++ src/controllers/pivotTable.js | 3 +++ src/controllers/selection.js | 12 ++++++++++++ src/controllers/sheetBar.js | 9 +++++++++ src/controllers/sheetmanage.js | 8 ++++++-- src/controllers/updateCell.js | 2 +- src/core.js | 5 +++-- src/global/validate.js | 2 +- src/index.html | 1 + 11 files changed, 46 insertions(+), 8 deletions(-) diff --git a/src/controllers/dropCell.js b/src/controllers/dropCell.js index be0e93d..0c728a3 100644 --- a/src/controllers/dropCell.js +++ b/src/controllers/dropCell.js @@ -441,6 +441,10 @@ const luckysheetDropCell = { update: function(){ let _this = this; + if(Store.allowEdit===false){ + return; + } + let d = editor.deepCopyFlowData(Store.flowdata); let file = Store.luckysheetfile[getSheetIndex(Store.currentSheetIndex)]; diff --git a/src/controllers/handler.js b/src/controllers/handler.js index ddbcdd5..2b5378a 100644 --- a/src/controllers/handler.js +++ b/src/controllers/handler.js @@ -2667,7 +2667,7 @@ export default function luckysheetHandler() { //选区拖动替换 $("#luckysheet-cell-main div.luckysheet-cs-draghandle").mousedown(function (event) { - if(isEditMode()){//此模式下禁用选区拖动 + if(isEditMode() || Store.allowEdit===false){//此模式下禁用选区拖动 return; } @@ -2709,7 +2709,7 @@ export default function luckysheetHandler() { //选区下拉 $("#luckysheet-cell-main div.luckysheet-cs-fillhandle").mousedown(function (event) { - if(isEditMode()){//此模式下禁用选区下拉 + if(isEditMode() || Store.allowEdit===false){//此模式下禁用选区下拉 return; } diff --git a/src/controllers/menuButton.js b/src/controllers/menuButton.js index 62302bd..3b9ae49 100644 --- a/src/controllers/menuButton.js +++ b/src/controllers/menuButton.js @@ -2781,6 +2781,10 @@ const menuButton = { updateFormat: function(d, attr, foucsStatus){ let _this = this; + if(Store.allowEdit===false){ + return; + } + let canvasElement = document.createElement('canvas'); let canvas = canvasElement.getContext("2d"); diff --git a/src/controllers/pivotTable.js b/src/controllers/pivotTable.js index 11859ae..d9f2426 100644 --- a/src/controllers/pivotTable.js +++ b/src/controllers/pivotTable.js @@ -617,6 +617,9 @@ const pivotTable = { } }, createPivotTable: function (e) { + if(isEditMode() || Store.allowEdit===false){ + return; + } let _this = this; let datasheetindex = Store.currentSheetIndex; diff --git a/src/controllers/selection.js b/src/controllers/selection.js index ecef695..ca3de99 100644 --- a/src/controllers/selection.js +++ b/src/controllers/selection.js @@ -98,6 +98,8 @@ const selection = { clipboardData = e.originalEvent.clipboardData; } + + Store.luckysheet_selection_range = []; //copy范围 let minR = Store.luckysheet_select_save[0].row[0], @@ -549,6 +551,10 @@ const selection = { paste: function (e, triggerType) {//paste事件 let _this = this; + if(Store.allowEdit===false){ + return; + } + let textarea = $("#luckysheet-copy-content"); textarea.focus(); textarea.select(); @@ -581,6 +587,9 @@ const selection = { }, 10); }, pasteHandler: function (data, borderInfo) { + if(Store.allowEdit===false){ + return; + } if(Store.luckysheet_select_save.length > 1){ if(isEditMode()){ alert("不能对多重选择区域执行此操作,请选择单个区域,然后再试"); @@ -791,6 +800,9 @@ const selection = { } }, pasteHandlerOfCutPaste: function(copyRange){ + if(Store.allowEdit===false){ + return; + } let cfg = $.extend(true, {}, Store.config); if(cfg["merge"] == null){ cfg["merge"] = {}; diff --git a/src/controllers/sheetBar.js b/src/controllers/sheetBar.js index 4d5300b..0d5e99b 100644 --- a/src/controllers/sheetBar.js +++ b/src/controllers/sheetBar.js @@ -200,6 +200,9 @@ export function initialSheetBar(){ }); let luckysheetsheetnameeditor = function ($t) { + if(Store.allowEdit===false){ + return; + } $t.attr("contenteditable", "true").addClass("luckysheet-mousedown-cancel").data("oldtxt", $t.text()); setTimeout(function () { @@ -221,6 +224,9 @@ export function initialSheetBar(){ }); $("#luckysheet-sheet-area").on("blur", "span.luckysheet-sheets-item-name", function (e) { + if(Store.allowEdit===false){ + return; + } let $t = $(this); let txt = $t.text(), oldtxt = $t.data("oldtxt"); @@ -269,6 +275,9 @@ export function initialSheetBar(){ }); $("#luckysheet-sheet-area").on("keydown", "span.luckysheet-sheets-item-name", function (e) { + if(Store.allowEdit===false){ + return; + } let kcode = e.keyCode; let $t = $(this); if (kcode == keycode.ENTER) { diff --git a/src/controllers/sheetmanage.js b/src/controllers/sheetmanage.js index 98ae122..73b4b8c 100644 --- a/src/controllers/sheetmanage.js +++ b/src/controllers/sheetmanage.js @@ -169,7 +169,7 @@ const sheetmanage = { return Store.currentSheetIndex; }, addNewSheet: function(e, isPivotTable) { - if(isEditMode()){ + if(isEditMode() || Store.allowEdit===false){ // alert("非编辑模式下不允许该操作!"); return; } @@ -352,7 +352,7 @@ const sheetmanage = { }, 1) }, copySheet: function(copyindex, e) { - if(isEditMode()){ + if(isEditMode() || Store.allowEdit===false){ // alert("非编辑模式下不允许该操作!"); return; } @@ -460,6 +460,10 @@ const sheetmanage = { deleteSheet: function(index) { let _this = this; + if(Store.allowEdit===false){ + return; + } + let arrIndex = _this.getSheetIndex(index); _this.setSheetHide(index); diff --git a/src/controllers/updateCell.js b/src/controllers/updateCell.js index 6e38086..af6c2f7 100644 --- a/src/controllers/updateCell.js +++ b/src/controllers/updateCell.js @@ -13,7 +13,7 @@ import cleargridelement from '../global/cleargridelement'; import Store from '../store'; export default function luckysheetupdateCell(row, row_pre, row_index, col, col_pre, col_index, d, cover, isnotfocus) { - if(isEditMode()){//此模式下禁用单元格编辑 + if(isEditMode() || Store.allowEdit===false){//此模式下禁用单元格编辑 return; } diff --git a/src/core.js b/src/core.js index eeaf268..8ab7688 100644 --- a/src/core.js +++ b/src/core.js @@ -49,7 +49,8 @@ luckysheet.create = function (setting) { Store.fullscreenmode = extendsetting.fullscreenmode; Store.lang = extendsetting.lang; //language Store.allowEdit = extendsetting.allowEdit; - + Store.editMode = extendsetting.editMode; + server.gridKey = extendsetting.gridKey; server.loadUrl = extendsetting.loadUrl; server.updateUrl = extendsetting.updateUrl; @@ -82,7 +83,7 @@ luckysheet.create = function (setting) { luckysheetConfigsetting.enablePage = extendsetting.enablePage; luckysheetConfigsetting.pageInfo = extendsetting.pageInfo; - luckysheetConfigsetting.editMode = extendsetting.editMode; + luckysheetConfigsetting.chartConfigChange = extendsetting.chartConfigChange; luckysheetConfigsetting.beforeCreateDom = extendsetting.beforeCreateDom; diff --git a/src/global/validate.js b/src/global/validate.js index 92b3c6b..9aeaa8d 100644 --- a/src/global/validate.js +++ b/src/global/validate.js @@ -68,7 +68,7 @@ function hasChinaword(s) { //是否为非编辑模式 function isEditMode() { - if(luckysheetConfigsetting.editMode){ + if(Store.editMode){ return true; } else{ diff --git a/src/index.html b/src/index.html index 6836581..103d389 100644 --- a/src/index.html +++ b/src/index.html @@ -33,6 +33,7 @@ luckysheet.create({ container: 'luckysheet', lang: 'en', + allowEdit:true, plugins: ['chart'], data: [sheetCell,sheetFormula,sheetConditionFormat,sheetTable,sheetSparkline,sheetComment,sheetPivotTableData,sheetPivotTable] })