Browse Source

Merge pull request #105 from javahuang/master

feat(row and column width): batch change the height and width of the …
master
mengshukeji 5 years ago
committed by GitHub
parent
commit
cdf3548088
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      src/controllers/controlHistory.js
  2. 45
      src/controllers/handler.js
  3. 12
      src/controllers/rowColumnOperation.js
  4. 28
      src/global/api.js

10
src/controllers/controlHistory.js

@ -23,6 +23,7 @@ import {
} from '../global/refresh'; } from '../global/refresh';
import { getSheetIndex } from '../methods/get'; import { getSheetIndex } from '../methods/get';
import Store from '../store'; import Store from '../store';
import { selectHightlightShow } from './select';
function formulaHistoryHanddler(ctr, type="redo"){ function formulaHistoryHanddler(ctr, type="redo"){
if(ctr==null){ if(ctr==null){
@ -83,7 +84,6 @@ const controlHistory = {
"dataVerification": ctr.dataVerification, "dataVerification": ctr.dataVerification,
"dynamicArray": ctr.dynamicArray "dynamicArray": ctr.dynamicArray
} }
jfrefreshgrid(ctr.data, ctr.range, allParam); jfrefreshgrid(ctr.data, ctr.range, allParam);
// formula.execFunctionGroup(null, null, null, null, ctr.data);//取之前的数据 // formula.execFunctionGroup(null, null, null, null, ctr.data);//取之前的数据
} }
@ -421,6 +421,10 @@ const controlHistory = {
} }
cleargridelement(e); cleargridelement(e);
if (ctr.range) {
Store.luckysheet_select_save = ctr.range;
selectHightlightShow();
}
Store.clearjfundo = true; Store.clearjfundo = true;
}, },
undo: function () { undo: function () {
@ -727,6 +731,10 @@ const controlHistory = {
zoomRefreshView(); zoomRefreshView();
} }
if (ctr.range) {
Store.luckysheet_select_save = ctr.range;
selectHightlightShow();
}
Store.clearjfundo = true; Store.clearjfundo = true;
} }
}; };

45
src/controllers/handler.js

@ -3603,7 +3603,26 @@ export default function luckysheetHandler() {
cfg["customHeight"][Store.luckysheet_rows_change_size_start[1]] = 1; cfg["customHeight"][Store.luckysheet_rows_change_size_start[1]] = 1;
cfg["rowlen"][Store.luckysheet_rows_change_size_start[1]] = Math.ceil(size/Store.zoomRatio); const changeRowIndex = Store.luckysheet_rows_change_size_start[1];
let changeRowSelected = false;
if(Store["luckysheet_select_save"].length > 0) {
Store["luckysheet_select_save"].filter(select => select.row_select).some((select) => {
if(changeRowIndex >= select.row[0] && changeRowIndex <= select.row[1]) {
changeRowSelected = true;
}
return changeRowSelected;
});
}
if(changeRowSelected) {
Store["luckysheet_select_save"].filter(select => select.row_select).forEach(select => {
for(let r = select.row[0]; r <= select.row[1]; r++) {
cfg["rowlen"][r] = Math.ceil(size/Store.zoomRatio);
}
})
}
else {
cfg["rowlen"][Store.luckysheet_rows_change_size_start[1]] = Math.ceil(size/Store.zoomRatio);
}
let images = imageCtrl.moveChangeSize("row", Store.luckysheet_rows_change_size_start[1], size); let images = imageCtrl.moveChangeSize("row", Store.luckysheet_rows_change_size_start[1], size);
@ -3685,7 +3704,27 @@ export default function luckysheetHandler() {
cfg["customWidth"][Store.luckysheet_cols_change_size_start[1]] = 1; cfg["customWidth"][Store.luckysheet_cols_change_size_start[1]] = 1;
cfg["columnlen"][Store.luckysheet_cols_change_size_start[1]] = Math.ceil(size/Store.zoomRatio); const changeColumnIndex = Store.luckysheet_cols_change_size_start[1];
let changeColumnSelected = false;
if(Store["luckysheet_select_save"].length > 0) {
Store["luckysheet_select_save"].filter(select => select.column_select).some((select) => {
if(changeColumnIndex >= select.column[0] && changeColumnIndex <= select.column[1]) {
changeColumnSelected = true;
}
return changeColumnSelected;
});
}
if(changeColumnSelected) {
Store["luckysheet_select_save"].filter(select => select.column_select).forEach(select => {
for(let r = select.column[0]; r <= select.column[1]; r++) {
cfg["columnlen"][r] = Math.ceil(size/Store.zoomRatio);
}
})
}
else {
cfg["columnlen"][Store.luckysheet_cols_change_size_start[1]] = Math.ceil(size/Store.zoomRatio);
}
let images = imageCtrl.moveChangeSize("column", Store.luckysheet_cols_change_size_start[1], size); let images = imageCtrl.moveChangeSize("column", Store.luckysheet_cols_change_size_start[1], size);
@ -4930,7 +4969,7 @@ export default function luckysheetHandler() {
$("#luckysheet-wa-functionbox-confirm").click(); $("#luckysheet-wa-functionbox-confirm").click();
Store.luckysheet_select_status = false; Store.luckysheet_select_status = false;
Store.luckysheet_select_save = [{ "row": [0, Store.flowdata.length - 1], "column": [0, Store.flowdata[0].length - 1], "row_focus": 0, "column_focus": 0 }]; Store.luckysheet_select_save = [{ "row": [0, Store.flowdata.length - 1], "column": [0, Store.flowdata[0].length - 1], "row_focus": 0, "column_focus": 0, row_select: true, column_select: true }];
selectHightlightShow(); selectHightlightShow();
clearTimeout(Store.countfuncTimeout); clearTimeout(Store.countfuncTimeout);

12
src/controllers/rowColumnOperation.js

@ -318,7 +318,8 @@ export function rowColumnOperationInitial(){
"row": rowseleted, "row": rowseleted,
"column": [0, col_index], "column": [0, col_index],
"row_focus": row_index, "row_focus": row_index,
"column_focus": 0 "column_focus": 0,
"row_select": true
}); });
} }
else{ else{
@ -335,7 +336,8 @@ export function rowColumnOperationInitial(){
"row": rowseleted, "row": rowseleted,
"column": [0, col_index], "column": [0, col_index],
"row_focus": row_index, "row_focus": row_index,
"column_focus": 0 "column_focus": 0,
"row_select": true
}); });
} }
@ -730,7 +732,8 @@ export function rowColumnOperationInitial(){
"row": [0, row_index], "row": [0, row_index],
"column": columnseleted, "column": columnseleted,
"row_focus": 0, "row_focus": 0,
"column_focus": col_index "column_focus": col_index,
"column_select": true
}); });
} }
else{ else{
@ -747,7 +750,8 @@ export function rowColumnOperationInitial(){
"row": [0, row_index], "row": [0, row_index],
"column": columnseleted, "column": columnseleted,
"row_focus": 0, "row_focus": 0,
"column_focus": col_index "column_focus": col_index,
"column_select": true
}); });
} }

28
src/global/api.js

@ -323,10 +323,32 @@ export function setCellFormat(row, column, attr, value, options = {}) {
// 特殊格式 // 特殊格式
if (attr == 'ct' && (!value || !value.hasOwnProperty('fa') || !value.hasOwnProperty('t'))) { if (attr == 'ct' && (!value || !value.hasOwnProperty('fa') || !value.hasOwnProperty('t'))) {
return new TypeError('While set attribute \'ct\' to cell, the value must have property \'fa\' and \'t\'') return new TypeError('While set attribute \'ct\' to cell, the value must have property \'fa\' and \'t\'')
cellData.m = update(value.fa, cellData.v)
} }
cellData[attr] = value; if (attr == 'bd') {
let cfg = $.extend(true, {}, Store.config);
if(cfg["borderInfo"] == null){
cfg["borderInfo"] = [];
}
let borderInfo = {
rangeType: "range",
borderType: "border-all",
color: "#000",
style: "1",
range: [{
column: [column, column],
row: [row, row]
}],
...value,
}
cfg["borderInfo"].push(borderInfo);
Store.config = cfg;
} else {
cellData[attr] = value;
}
// refresh // refresh
jfrefreshgrid(targetSheetData, { jfrefreshgrid(targetSheetData, {
row: [row], row: [row],
@ -901,6 +923,8 @@ export function insertRowOrColumn(type, index = 0, options = {}) {
success success
} = {...options} } = {...options}
let _locale = locale();
let locale_info = _locale.info;
if (!isRealNum(number)) { if (!isRealNum(number)) {
if(isEditMode()){ if(isEditMode()){
alert(locale_info.tipInputNumber); alert(locale_info.tipInputNumber);

Loading…
Cancel
Save