
/*  初始化  
  options 用来初始化数据用 
  data 初始化数据 [{celldata}]
  sheetInfo 表格id相关信息 用来内容hooks变化时保存草稿
*/
import * as sheetInterface from '@/api/modules/sheetApi.js';
export const initSheet = (container,options={},sheetInfo={}) =>  {
  const configOpt = {
    container,
    lang: 'zh', // 设定表格语言
    showinfobar: false,//顶部info
    showsheetbar:false,//底部sheet页 暂禁止添加多个表格
		showtoolbarConfig:{
			image: false,//图片
			print: false,//打印
      chart: false, // '图表'
      postil:  false, //'批注'
		},
    cellRightClickConfig: {
      chart: false, // 图表生成
      image: false, // 插入图片
      link: false, // 插入链接
    },
    data: [{
      ...options,
      scrollTop: 0,
      scrollLeft: 0
    }],
    hook: {
      updated: (a,b,c,d,e)=> {
        let data = luckysheet.getAllSheets()[0];
        data.luckysheet_select_save = [];
        const { ExcelInfoId,ExcelName,ExcelClassifyId } = sheetInfo;
        ExcelInfoId && sheetInterface.sheetDrafSave({
          ExcelInfoId,
          ExcelName,
          ExcelClassifyId,
          Content: JSON.stringify(data)
        })
      }
    }
  }

  luckysheet.create(configOpt)

}

/* 保存表格关联截图 手动选区截图再清空选区 */
export const getSheetImage = (data) => {
  const { celldata } = data;
  
  const r_arr = celldata.map(_ => _.c);
  let r_start = celldata[0].r,
    r_end = celldata[celldata.length-1].r,
    c_start = Math.min(...r_arr),
    c_end = Math.max(...r_arr);
  
  luckysheet.setRangeShow({row:[r_start,r_end],column:[c_start,c_end]},{show: false})
  let img = luckysheet.getScreenshot()
  return img;

}