123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- import Store from '../store';
- import { computeRowlenByContent,computeColWidthByContent } from './getRowlen';
- import luckysheetConfigsetting from '../controllers/luckysheetConfigsetting';
- export default function rhchInit(rowheight, colwidth) {
- zoomSetting();//Zoom sheet on first load
- //行高
- if(rowheight != null){
- Store.visibledatarow = [];
- Store.rh_height = 0;
- for (let r = 0; r < rowheight; r++) {
- let rowlen = Store.defaultrowlen;
- if (Store.config["rowlen"] != null && Store.config["rowlen"][r] != null) {
- rowlen = Store.config["rowlen"][r];
- }
- if (Store.config["rowhidden"] != null && Store.config["rowhidden"][r] != null) {
- Store.visibledatarow.push(Store.rh_height);
- continue;
- }
- // 自动行高计算
- if (rowlen === 'auto') {
- rowlen = computeRowlenByContent(Store.flowdata, r);
- }
- Store.rh_height += Math.round((rowlen + 1) * Store.zoomRatio);
- Store.visibledatarow.push(Store.rh_height); //行的临时长度分布
- }
- // 如果增加行和回到顶部按钮隐藏,则减少底部空白区域,但是预留足够空间给单元格下拉按钮
- if (!luckysheetConfigsetting.enableAddRow && !luckysheetConfigsetting.enableAddBackTop) {
- Store.rh_height += Store.allowEdit?30:Store.cellMainSrollBarSize;
- } else {
- Store.rh_height += 80; //最底部增加空白
- }
- }
- //列宽
- if(colwidth != null){
- Store.visibledatacolumn = [];
- Store.ch_width = 0;
- let maxColumnlen = Store.allowEdit?120:Store.cellMainSrollBarSize;
- for (let c = 0; c < colwidth; c++) {
- let firstcolumnlen = Store.defaultcollen;
- if (Store.config["columnlen"] != null && Store.config["columnlen"][c] != null) {
- firstcolumnlen = Store.config["columnlen"][c];
- }
- else {
- if (Store.flowdata[0] != null && Store.flowdata[0][c] != null) {
- if (firstcolumnlen > 300) {
- firstcolumnlen = 300;
- }
- else if (firstcolumnlen < Store.defaultcollen) {
- firstcolumnlen = Store.defaultcollen;
- }
- if (firstcolumnlen != Store.defaultcollen) {
- if (Store.config["columnlen"] == null) {
- Store.config["columnlen"] = {};
- }
- Store.config["columnlen"][c] = firstcolumnlen;
- }
- }
- }
- if(Store.config["colhidden"] != null && Store.config["colhidden"][c] != null){
- Store.visibledatacolumn.push(Store.ch_width);
- continue;
- }
- // 自动行高计算
- if (firstcolumnlen === 'auto') {
- firstcolumnlen = computeColWidthByContent(Store.flowdata, c, rowheight);
- }
- Store.ch_width += Math.round((firstcolumnlen + 1)*Store.zoomRatio);
- Store.visibledatacolumn.push(Store.ch_width);//列的临时长度分布
- // if(maxColumnlen < firstcolumnlen + 1){
- // maxColumnlen = firstcolumnlen + 1;
- // }
- }
- // Store.ch_width += 120;
- Store.ch_width += maxColumnlen;
- }
- }
- export function zoomSetting(){
- //zoom
- Store.rowHeaderWidth = luckysheetConfigsetting.rowHeaderWidth * Store.zoomRatio;
- Store.columnHeaderHeight = luckysheetConfigsetting.columnHeaderHeight *Store.zoomRatio;
- $("#luckysheet-rows-h").width((Store.rowHeaderWidth-1.5));
- $("#luckysheet-cols-h-c").height((Store.columnHeaderHeight-1.5));
- $("#luckysheet-left-top").css({width:Store.rowHeaderWidth-1.5, height:Store.columnHeaderHeight-1.5});
- }
|