Browse Source

1.change main function name 2.docs

master
liurunze 5 years ago
parent
commit
4b97ee86f4
  1. 6
      README.md
  2. 3
      docs/.vuepress/config.js
  3. 18
      docs/guide/README.md
  4. 4
      docs/guide/config.md
  5. 2
      docs/guide/data.md
  6. 42
      docs/guide/feature.md
  7. 28
      docs/guide/format.md
  8. 50
      docs/guide/operate.md
  9. 1584
      src/css/luckysheet-core.css
  10. 12
      src/index.html
  11. 354
      src/luckysheet-chart.js
  12. 18852
      src/luckysheet-core.js
  13. 13604
      src/luckysheet-function.js

6
README.md

@ -51,7 +51,7 @@ npm run build后dist文件夹下的所有文件复制到项目目录
#### 第三步 #### 第三步
指定一个表格容器 指定一个表格容器
``` ```
<div id="jfgrid" style="margin:0px;padding:0px;position:absolute;width:100%;height:100%;left: 0px;top: 0px;"></div> <div id="luckysheet" style="margin:0px;padding:0px;position:absolute;width:100%;height:100%;left: 0px;top: 0px;"></div>
``` ```
#### 第四步 #### 第四步
创建一个表格 创建一个表格
@ -60,9 +60,9 @@ npm run build后dist文件夹下的所有文件复制到项目目录
$(function () { $(function () {
//配置项 //配置项
var options = { var options = {
container: 'jfgrid' //jfgrid为容器id container: 'luckysheet' //luckysheet为容器id
} }
jfgrid.create(options) luckysheet.create(options)
}) })
</script> </script>
``` ```

3
docs/.vuepress/config.js

@ -20,7 +20,8 @@ module.exports = {
'config', 'config',
'feature', 'feature',
'data', 'data',
'operate' 'operate',
'format'
], ],
}, },
// 仓库地址 // 仓库地址

18
docs/guide/README.md

@ -53,7 +53,7 @@ npm run build后dist文件夹下的所有文件复制到项目目录
### 第三步 ### 第三步
指定一个表格容器 指定一个表格容器
```html ```html
<div id="jfgrid" style="margin:0px;padding:0px;position:absolute;width:100%;height:100%;left: 0px;top: 0px;"></div> <div id="luckysheet" style="margin:0px;padding:0px;position:absolute;width:100%;height:100%;left: 0px;top: 0px;"></div>
``` ```
### 第四步 ### 第四步
创建一个表格 创建一个表格
@ -62,9 +62,9 @@ npm run build后dist文件夹下的所有文件复制到项目目录
$(function () { $(function () {
//配置项 //配置项
var options = { var options = {
container: 'jfgrid' //jfgrid为容器id container: 'luckysheet' //luckysheet为容器id
} }
jfgrid.create(options) luckysheet.create(options)
}) })
</script> </script>
``` ```
@ -73,16 +73,16 @@ npm run build后dist文件夹下的所有文件复制到项目目录
### 格式 ### 格式
一个完整的Luckysheet表格文件的数据格式为:jfgridfile,一个表格表格文件包含若干个sheet文件,对应excel的sheet0、sheet1等。 一个完整的Luckysheet表格文件的数据格式为:luckysheetfile,一个表格表格文件包含若干个sheet文件,对应excel的sheet0、sheet1等。
一个Luckysheet文件的示例如下,该表格包含3个sheet:` 一个Luckysheet文件的示例如下,该表格包含3个sheet:`
jfgridfile = [ {sheet1设置}, {sheet2设置}, {sheet3设置} ]` luckysheetfile = [ {sheet1设置}, {sheet2设置}, {sheet3设置} ]`
相当于excel的3个sheet 相当于excel的3个sheet
![excel sheet](img/excel.png) ![excel sheet](img/excel.png)
文件中的一个sheet的示例如下: 文件中的一个sheet的示例如下:
``` ```
jfgridfile[0] = luckysheetfile[0] =
{ {
"name": "超市销售额", "name": "超市销售额",
"color": "", "color": "",
@ -98,8 +98,8 @@ jfgridfile[0] =
"rowsplit": [], "rowsplit": [],
"ch_width": 4629, "ch_width": 4629,
"rh_height": 1681, "rh_height": 1681,
"jfgird_select_save": {}, "luckysheet_select_save": {},
"jfgrid_selection_range": {}, "luckysheet_selection_range": {},
"scrollLeft": 0, "scrollLeft": 0,
"scrollTop": 0, "scrollTop": 0,
"load": "1", "load": "1",
@ -117,6 +117,6 @@ jfgridfile[0] =
``` ```
### 查看方式 ### 查看方式
在chrome的console中查看 在chrome的console中查看
`jfgrid.getjfgridfile()` `luckysheet.getluckysheetfile()`
可以看到完整设置 可以看到完整设置
[{shee1}, {sheet2}, {sheet3}] [{shee1}, {sheet2}, {sheet3}]

4
docs/guide/config.md

@ -2,7 +2,7 @@
## container ## container
- 类型:String - 类型:String
- 默认值:"jfgrid" - 默认值:"luckysheet"
- 作用:容器的ID - 作用:容器的ID
------------ ------------
@ -197,7 +197,7 @@
## functionButton ## functionButton
- 类型:String - 类型:String
- 默认值:"" - 默认值:""
- 作用:右上角功能按钮,例如`'<button id="" class="btn btn-primary" style="padding:3px 6px;font-size: 12px;margin-right: 10px;">下载</button> <button id="" class="btn btn-primary btn-danger" style=" padding:3px 6px; font-size: 12px; margin-right: 10px;">分享</button> <button id="jfgrid-share-btn-title" class="btn btn-primary btn-danger" style=" padding:3px 6px; font-size: 12px; margin-right: 10px;">秀数据</button>'` - 作用:右上角功能按钮,例如`'<button id="" class="btn btn-primary" style="padding:3px 6px;font-size: 12px;margin-right: 10px;">下载</button> <button id="" class="btn btn-primary btn-danger" style=" padding:3px 6px; font-size: 12px; margin-right: 10px;">分享</button> <button id="luckysheet-share-btn-title" class="btn btn-primary btn-danger" style=" padding:3px 6px; font-size: 12px; margin-right: 10px;">秀数据</button>'`
------------ ------------
## showConfigWindowResize ## showConfigWindowResize

2
docs/guide/data.md

@ -8,7 +8,7 @@
- **格式** - **格式**
jfgridfile示例如下: luckysheetfile示例如下:
```json ```json
[ [
{ {

42
docs/guide/feature.md

@ -1,6 +1,6 @@
# 高级功能 # 高级功能
## jfgrid.getcellvalue(r, c, data, type) ## luckysheet.getcellvalue(r, c, data, type)
- **参数** - **参数**
- r:单元格所在行数;可选值;从0开始的整数,0表示第一行。 - r:单元格所在行数;可选值;从0开始的整数,0表示第一行。
- c:单元格所在列数;可选值;从0开始的整数,0表示第一列。 - c:单元格所在列数;可选值;从0开始的整数,0表示第一列。
@ -11,13 +11,13 @@
此方法为获取单元格的值。r, c都没有值时,返回data;r, c只有一个有值时,返回整行或整列数据; 此方法为获取单元格的值。r, c都没有值时,返回data;r, c只有一个有值时,返回整行或整列数据;
------------ ------------
## jfgrid.getjfgridfile() ## luckysheet.getluckysheetfile()
- **用法** - **用法**
返回所有表格数据结构。 返回所有表格数据结构。
------------ ------------
## jfgrid.sheetmanage.getSheetByIndex(index) ## luckysheet.sheetmanage.getSheetByIndex(index)
- **参数** - **参数**
- index:表格下标;从0开始的整数,0表示第一个表格;默认为当前表格下标。 - index:表格下标;从0开始的整数,0表示第一个表格;默认为当前表格下标。
- **用法** - **用法**
@ -25,13 +25,13 @@
返回某个表格数据结构。 返回某个表格数据结构。
------------ ------------
## jfgrid.getconfig() ## luckysheet.getconfig()
- **用法** - **用法**
返回当前表格config配置。 返回当前表格config配置。
------------ ------------
## jfgrid.getSheetConfig(sheetIndex) ## luckysheet.getSheetConfig(sheetIndex)
- **参数** - **参数**
- sheetIndex:表格下标;从0开始的整数,0表示第一个表格;默认为当前表格下标。 - sheetIndex:表格下标;从0开始的整数,0表示第一个表格;默认为当前表格下标。
- **用法** - **用法**
@ -39,25 +39,25 @@
返回某个表格config配置。 返回某个表格config配置。
------------ ------------
## jfgrid.getvisibledatarow() ## luckysheet.getvisibledatarow()
- **用法** - **用法**
返回当前表格行高。 返回当前表格行高。
------------ ------------
## jfgrid.getvisibledatacolumn() ## luckysheet.getvisibledatacolumn()
- **用法** - **用法**
返回当前表格列宽。 返回当前表格列宽。
------------ ------------
## jfgrid.getjfgird_select_save() ## luckysheet.getluckysheet_select_save()
- **用法** - **用法**
返回当前选区。 返回当前选区。
------------ ------------
## jfgrid.getdatabyselection(range, sheetIndex) ## luckysheet.getdatabyselection(range, sheetIndex)
- **参数** - **参数**
- range:选区对象;object: { row: [r1, r2], column: [c1, c2] };默认为当前选区。 - range:选区对象;object: { row: [r1, r2], column: [c1, c2] };默认为当前选区。
- sheetIndex:表格下标;从0开始的整数,0表示第一个表格;默认为当前表格下标。 - sheetIndex:表格下标;从0开始的整数,0表示第一个表格;默认为当前表格下标。
@ -66,7 +66,7 @@
返回某个表格某个区域单元格数据。 返回某个表格某个区域单元格数据。
------------ ------------
## jfgrid.jfgridrefreshgrid(scrollWidth, scrollHeight) ## luckysheet.luckysheetrefreshgrid(scrollWidth, scrollHeight)
- **参数** - **参数**
- scrollWidth:横向滚动值。默认为当前横向滚动位置。 - scrollWidth:横向滚动值。默认为当前横向滚动位置。
- scrollHeight:纵向滚动值。默认为当前纵向滚动位置。 - scrollHeight:纵向滚动值。默认为当前纵向滚动位置。
@ -75,7 +75,7 @@
按照scrollWidth, scrollHeight刷新canvas展示数据。 按照scrollWidth, scrollHeight刷新canvas展示数据。
------------ ------------
## jfgrid.setcellvalue(r, c, d, v) ## luckysheet.setcellvalue(r, c, d, v)
- **参数** - **参数**
- r:单元格所在行数;从0开始的整数,0表示第一行。 - r:单元格所在行数;从0开始的整数,0表示第一行。
- c:单元格所在列数;从0开始的整数,0表示第一列。 - c:单元格所在列数;从0开始的整数,0表示第一列。
@ -83,26 +83,26 @@
- v:要设置的值;可为对象,对象是是要符合单元格对象格式。 - v:要设置的值;可为对象,对象是是要符合单元格对象格式。
- **用法** - **用法**
设置某个单元格的值。可配合jfgrid.jfgridrefreshgrid()刷新查看单元格值改变。 设置某个单元格的值。可配合luckysheet.luckysheetrefreshgrid()刷新查看单元格值改变。
```js ```js
jfgrid.setcellvalue(0, 0, jfgrid.flowdata, 'abc'); luckysheet.setcellvalue(0, 0, luckysheet.flowdata, 'abc');
jfgrid.jfgridrefreshgrid(); luckysheet.luckysheetrefreshgrid();
``` ```
------------ ------------
## jfgrid.setjfgird_select_save(v) ## luckysheet.setluckysheet_select_save(v)
- **参数** - **参数**
- v:要设置的选区值(数组)。符合选区格式规则,如[{ row: [r1, r2], column: [c1, c2] }]。 - v:要设置的选区值(数组)。符合选区格式规则,如[{ row: [r1, r2], column: [c1, c2] }]。
- **用法** - **用法**
设置当前表格选区的值。配合jfgrid.selectHightlightShow()可在界面查看选区改变。 设置当前表格选区的值。配合luckysheet.selectHightlightShow()可在界面查看选区改变。
```js ```js
jfgrid.setjfgird_select_save([{ row: [0, 1], column: [0, 1] }]); luckysheet.setluckysheet_select_save([{ row: [0, 1], column: [0, 1] }]);
jfgrid.selectHightlightShow(); luckysheet.selectHightlightShow();
``` ```
------------ ------------
## jfgrid.sheetmanage.setSheetHide(index) ## luckysheet.sheetmanage.setSheetHide(index)
- **参数** - **参数**
- index:表格下标;从0开始的整数,0表示第一个表格;默认为当前表格下标。 - index:表格下标;从0开始的整数,0表示第一个表格;默认为当前表格下标。
- **用法** - **用法**
@ -110,7 +110,7 @@
隐藏某个表格。 隐藏某个表格。
------------ ------------
## jfgrid.sheetmanage.setSheetShow(index) ## luckysheet.sheetmanage.setSheetShow(index)
- **参数** - **参数**
- index:表格下标;从0开始的整数,0表示第一个表格;默认为当前表格下标。 - index:表格下标;从0开始的整数,0表示第一个表格;默认为当前表格下标。
- **用法** - **用法**
@ -118,7 +118,7 @@
显示某个表格。 显示某个表格。
------------ ------------
## jfgrid.method.destroy() ## luckysheet.method.destroy()
- **用法** - **用法**
释放表格 释放表格

28
docs/guide/format.md

@ -6,15 +6,15 @@
<tr> <tr>
<td>属性值</td> <td>属性值</td>
<td>全称</td> <td>全称</td>
<td>说明</td> <td><div style="width:100px">说明</div></td>
<td>值示例</td> <td>值示例</td>
<td>Aspose方法或者属性</td> <td>Aspose方法或者属性</td>
</tr> </tr>
<tr> <tr>
<td>ct</td> <td>ct</td>
<td>celltye</td> <td>celltype</td>
<td>单元格值格式:文本、时间等</td> <td>单元格值格式:文本、时间等</td>
<td><a href="#cellStyle" target="_blank">单元格格式</a></td> <td><a href="#cellStyle">单元格格式</a></td>
<td></td> <td></td>
</tr> </tr>
<tr> <tr>
@ -241,7 +241,7 @@
以下为3个单元格存储: 以下为3个单元格存储:
``` ```json
[ [
{r:0, c:1, v: { v:"显示", f:"=SUM(A2)", bg:"#fff000", bs:"1",bc:"#000"}}, {r:0, c:1, v: { v:"显示", f:"=SUM(A2)", bg:"#fff000", bs:"1",bc:"#000"}},
{r:10, c:11, v:"值2"}, {r:10, c:11, v:"值2"},
@ -251,14 +251,26 @@
## <div id='cellStyle'>单元格格式</div> ## <div id='cellStyle'>单元格格式</div>
参考https://docs.aspose.com/display/cellsnet/List+of+Supported+Number+Formats#ListofSupportedNumberFormats-Aspose.Cells 参考[Aspose.Cells](https://docs.aspose.com/display/cellsnet/List+of+Supported+Number+Formats#ListofSupportedNumberFormats-Aspose.Cells)
格式设置为:
格式设置为:`{ v: "" , f: "" ,ct :{ v:1, f: "#,##0.00", t:" Decimal" } }` ```json
{
"v": "",
"f": "",
"ct": {
"v": 1,
"f": "#,##0.00",
"t": " Decimal"
}
}
```
|参数|说明|使用| |参数|说明|使用|
| ------------ | ------------ | ------------ | | ------------ | ------------ | ------------ |
|v|value,Aspose中的快捷设置值|var currencyStyle = book.CreateStyle();<br>currencyStyle.Number = 8;| |v|value,Aspose中的快捷设置值|`var currencyStyle = book.CreateStyle();`<br>`currencyStyle.Number = 8;`|
|f|Format:格式的定义串 `$#,##0;$-#,##0`|var currencyStyle = book.CreateStyle();<br>currencyStyle.Custom  = "#,##0 SEK";| |f|Format:格式的定义串 `$#,##0;$-#,##0`|`var currencyStyle = book.CreateStyle();`<br>`currencyStyle.Custom  = "#,##0 SEK";`|
|t|Type类型:<br>0:General<br>1:Decimal<br>2:Currency<br>3:Percentage<br>4:Scientific<br>5:Fraction<br>6:Date<br>7:Time<br>8:Accounting<br>9:Text<br>10:DateTime|类型是前端区分的格式,excel导入时根据导入format字符的关键字来区分是哪种类型:<br>1.含YYYY、MM、DD的是6| |t|Type类型:<br>0:General<br>1:Decimal<br>2:Currency<br>3:Percentage<br>4:Scientific<br>5:Fraction<br>6:Date<br>7:Time<br>8:Accounting<br>9:Text<br>10:DateTime|类型是前端区分的格式,excel导入时根据导入format字符的关键字来区分是哪种类型:<br>1.含YYYY、MM、DD的是6|
Aspose设置如下: Aspose设置如下:

50
docs/guide/operate.md

@ -26,7 +26,7 @@
- **后台更新** - **后台更新**
单元格更新主要是更新 `jfgridfile[i].celldata` 参数,该参数是一个数组: 单元格更新主要是更新 `luckysheetfile[i].celldata` 参数,该参数是一个数组:
```json ```json
[ [
{r:0, c:1, v: "值1"}, {r:0, c:1, v: "值1"},
@ -34,9 +34,9 @@
{r:10, c:11, v:{f:"=sum", v:"100"}} {r:10, c:11, v:{f:"=sum", v:"100"}}
] ]
``` ```
存储了sheet中所有单元格中的值,Luckysheet在建立的时候会根据 `jfgridfile[i].row``jfgridfile[i].column` 的行列数量大小新建一个表格data,然后再使用 `data[r][c]=v` 的方式填充表格数据,空数据单元格以null表示。 存储了sheet中所有单元格中的值,Luckysheet在建立的时候会根据 `luckysheetfile[i].row``luckysheetfile[i].column` 的行列数量大小新建一个表格data,然后再使用 `data[r][c]=v` 的方式填充表格数据,空数据单元格以null表示。
后台在保存前台推送的数据时,首先需要把参数转换为 `{r:0, c:1:v:100}` 的格式,然后更新 `jfgridfile[i].celldata` 字段,如果存在该单元格则更新,如果没有则添加,如果存在该单元格但是v为null则删除该单元格。 后台在保存前台推送的数据时,首先需要把参数转换为 `{r:0, c:1:v:100}` 的格式,然后更新 `luckysheetfile[i].celldata` 字段,如果存在该单元格则更新,如果没有则添加,如果存在该单元格但是v为null则删除该单元格。
- **前台查看** - **前台查看**
@ -68,19 +68,19 @@
- **后台更新** - **后台更新**
更新 `jfgridfile[i].config.[k][v.key] = v.value` ,如果config中不存k,则新建一个k属性并设置为空,如果k中不存在v.key中,则新建一个v.key再更新v.value。 更新 `luckysheetfile[i].config.[k][v.key] = v.value` ,如果config中不存k,则新建一个k属性并设置为空,如果k中不存在v.key中,则新建一个v.key再更新v.value。
1. 修改行高度举例: 1. 修改行高度举例:
- 输入:`{"t":"cg","i":3,"v":{"3":10, "5":70, "10":100},"k":" rowlen"}` - 输入:`{"t":"cg","i":3,"v":{"3":10, "5":70, "10":100},"k":" rowlen"}`
- 更新:`jfgridfile[3].config.["rowlen"]["3"] = 10` - 更新:`luckysheetfile[3].config.["rowlen"]["3"] = 10`
2. 修改列宽度举例: 2. 修改列宽度举例:
- 输入:`{"t":"cg","i":1,"v":{"20":74, "15":170, "6":40},"k":" columlen"}` - 输入:`{"t":"cg","i":1,"v":{"20":74, "15":170, "6":40},"k":" columlen"}`
- 更新:`jfgridfile[1].config.["columlen"]["20"] = 74` - 更新:`luckysheetfile[1].config.["columlen"]["20"] = 74`
3. 合并单元格举例: 3. 合并单元格举例:
- 输入:`{"t":"cg","i":1,"v":{"5_10":{row:[1,3], column:[3,5]},"k":" merge "}` - 输入:`{"t":"cg","i":1,"v":{"5_10":{row:[1,3], column:[3,5]},"k":" merge "}`
- 更新:`jfgridfile[1].config.["merge"]["5_10"] = {row:[1,3], column:[3,5]}` - 更新:`luckysheetfile[1].config.["merge"]["5_10"] = {row:[1,3], column:[3,5]}`
## 通用保存 ## 通用保存
@ -111,28 +111,28 @@
- **后台更新** - **后台更新**
`jfgridfile[3].[k]= v` `luckysheetfile[3].[k]= v`
如果s为true,则为 `jfgridfile[3].[k]= JSON.stringify(v)` 如果s为true,则为 `luckysheetfile[3].[k]= JSON.stringify(v)`
1. 数据透视表: 1. 数据透视表:
- 输入:`{"t":"all","i":1,"v":{………},"k":"pivotTable", "s": false}` - 输入:`{"t":"all","i":1,"v":{………},"k":"pivotTable", "s": false}`
- 更新:`jfgridfile[1].["pivotTable"] = {………}` - 更新:`luckysheetfile[1].["pivotTable"] = {………}`
2. 冻结行列: 2. 冻结行列:
- 输入:`{"t":"all","i":3,"v":{………},"k":"freezen", "s": false}` - 输入:`{"t":"all","i":3,"v":{………},"k":"freezen", "s": false}`
- 更新:`jfgridfile[3].["freezen"] = {………}` - 更新:`luckysheetfile[3].["freezen"] = {………}`
3. 筛选范围: 3. 筛选范围:
- 输入:`{"t":"all","i":3,"v":{………},"k":"filter_select", "s": true }` - 输入:`{"t":"all","i":3,"v":{………},"k":"filter_select", "s": true }`
- 更新:`jfgridfile[3].["filter_select"] = JSON.stringify ({………})` - 更新:`luckysheetfile[3].["filter_select"] = JSON.stringify ({………})`
4. Sheet名称: 4. Sheet名称:
- 输入:`{"t":"all","i":1,"v":"文档","k":"name", "s": false}` - 输入:`{"t":"all","i":1,"v":"文档","k":"name", "s": false}`
- 更新:`jfgridfile[1].["name"] = "文档"` - 更新:`luckysheetfile[1].["name"] = "文档"`
5. Sheet颜色: 5. Sheet颜色:
- 输入: `{"t":"all","i":2,"v":"#FFF000","k":"color", "s": false}` - 输入: `{"t":"all","i":2,"v":"#FFF000","k":"color", "s": false}`
- 更新:`jfgridfile[2].["color"] = "#FFF000"` - 更新:`luckysheetfile[2].["color"] = "#FFF000"`
## 函数链操作 ## 函数链操作
@ -170,9 +170,9 @@
- **后台更新** - **后台更新**
calcChain为一个数组 calcChain为一个数组
- 如果op的值add则添加到末尾 `jfgridfile[i].calcChain.push (v)` - 如果op的值add则添加到末尾 `luckysheetfile[i].calcChain.push (v)`
- 如果op的值update则更新 `jfgridfile[i].calcChain[pos]= v` - 如果op的值update则更新 `luckysheetfile[i].calcChain[pos]= v`
- 如果op的值del则删除 `jfgridfile[i].calcChain.splice(pos, 1)` - 如果op的值del则删除 `luckysheetfile[i].calcChain.splice(pos, 1)`
- **前台查看** - **前台查看**
@ -231,7 +231,7 @@
如果rc的值是r删除行, 如果rc的值为c则删除列, 例如rc=r,index=4,len=5,则代表从第4行开始删除之后的5行(4、5、6、7、8)。 如果rc的值是r删除行, 如果rc的值为c则删除列, 例如rc=r,index=4,len=5,则代表从第4行开始删除之后的5行(4、5、6、7、8)。
主要是对 `jfgridfile[i].celldata` 中的单元格进行操作,删除参数中所描述符合条件的单元格并且更新其他单元格的行列值,以上述为例,首先查找单元格中r值在4到8的所有单元格并删除,然后把本来行号9以后的单元格的r值减去5,最后把 `jfgridfile[i].row` 减去5。 主要是对 `luckysheetfile[i].celldata` 中的单元格进行操作,删除参数中所描述符合条件的单元格并且更新其他单元格的行列值,以上述为例,首先查找单元格中r值在4到8的所有单元格并删除,然后把本来行号9以后的单元格的r值减去5,最后把 `luckysheetfile[i].row` 减去5。
如果v值为 `"#__qkdelete#"`(不含引号),则此处为需要删除的单元格。 如果v值为 `"#__qkdelete#"`(不含引号),则此处为需要删除的单元格。
- **前台查看** - **前台查看**
@ -293,7 +293,7 @@
- **后台更新** - **后台更新**
如果rc的值是r新增行, 如果rc的值为c则新增列, 例如rc=r,index=4,len=5,则代表从第4行开始增加5行,如果data为空则增加空行,如果data不为空则用data中的数组添加新增的行中。 如果rc的值是r新增行, 如果rc的值为c则新增列, 例如rc=r,index=4,len=5,则代表从第4行开始增加5行,如果data为空则增加空行,如果data不为空则用data中的数组添加新增的行中。
主要是对 `jfgridfile[i].celldata` 中的单元格进行操作,以上述为例,首先 `jfgridfile[i].row` 加5,然后把r大于4的单元格的整体的r值+5,如果data为空则增加空行则结束,如果data不为空则把二维数组data转换为 `{r:0,c:0,v:100}` 的格式并添加到celldata中,转换的伪代码如下: 主要是对 `luckysheetfile[i].celldata` 中的单元格进行操作,以上述为例,首先 `luckysheetfile[i].row` 加5,然后把r大于4的单元格的整体的r值+5,如果data为空则增加空行则结束,如果data不为空则把二维数组data转换为 `{r:0,c:0,v:100}` 的格式并添加到celldata中,转换的伪代码如下:
```javascript ```javascript
var ret = []; var ret = [];
for(var r=0;r<data.length;r++){ for(var r=0;r<data.length;r++){
@ -338,7 +338,7 @@
- **后台更新** - **后台更新**
更新 `jfgridfile[i].filter = { pos : v }`, v值为一个JSON格式的字符串。filter为一个键值对,key表示选项位置的索引值(以字符表示),v表示一个json字符串参数。filter代表一个筛选条件的集合。 更新 `luckysheetfile[i].filter = { pos : v }`, v值为一个JSON格式的字符串。filter为一个键值对,key表示选项位置的索引值(以字符表示),v表示一个json字符串参数。filter代表一个筛选条件的集合。
### 清除筛选 ### 清除筛选
@ -354,7 +354,7 @@
- **后台更新** - **后台更新**
清除 `jfgridfile[i]. filter = null``jfgridfile[i]. filter_select = null` 清除 `luckysheetfile[i]. filter = null``luckysheetfile[i]. filter_select = null`
### 恢复筛选 ### 恢复筛选
@ -373,7 +373,7 @@
- **后台更新** - **后台更新**
清除 `jfgridfile[i]. filter = v.filter``jfgridfile[i]. filter_select = v. filter_select` 清除 `luckysheetfile[i]. filter = v.filter``luckysheetfile[i]. filter_select = v. filter_select`
## sheet操作 ## sheet操作
@ -537,9 +537,9 @@
对sheet的index等于key的页设置其order属性为value值。示例: 对sheet的index等于key的页设置其order属性为value值。示例:
`jfgridfile[key1].order = value1` `luckysheetfile[key1].order = value1`
`jfgridfile[key2].order = value2` `luckysheetfile[key2].order = value2`
`jfgridfile[key3].order = value3` `luckysheetfile[key3].order = value3`
## sheet属性(隐藏或显示) ## sheet属性(隐藏或显示)

1584
src/css/luckysheet-core.css

File diff suppressed because it is too large

12
src/index.html

File diff suppressed because one or more lines are too long

354
src/luckysheet-chart.js

@ -1,44 +1,44 @@
// 防止chart部分报错,从luckysheet-chartMix.js中迁移出luckysheet部分作为核心主体,关于设置界面的部分放到chartMix vue工程 // 防止chart部分报错,从luckysheet-chartMix.js中迁移出luckysheet部分作为核心主体,关于设置界面的部分放到chartMix vue工程
// chart用到的各个变量 // chart用到的各个变量
jfgrid.chartparam = { luckysheet.chartparam = {
jfgrid_chart_point_config: null, luckysheet_chart_point_config: null,
jfgridCurrentChartMove: false, luckysheetCurrentChartMove: false,
jfgridCurrentChartMoveTimeout: null, luckysheetCurrentChartMoveTimeout: null,
jfgridCurrentChartResize: null, luckysheetCurrentChartResize: null,
jfgrid_chart_rangefocus_timeout: null, luckysheet_chart_rangefocus_timeout: null,
jfgrid_chart_rangefocus: false, luckysheet_chart_rangefocus: false,
jfgrid_chart_data_select_state: false, luckysheet_chart_data_select_state: false,
jfgridCurrentChartMoveObj: null, luckysheetCurrentChartMoveObj: null,
jfgridCurrentChartMoveXy: [], luckysheetCurrentChartMoveXy: [],
jfgridCurrentChartMoveWinH: null, luckysheetCurrentChartMoveWinH: null,
jfgridCurrentChartMoveWinW: null, luckysheetCurrentChartMoveWinW: null,
jfgridInsertChartTosheetChange: true, luckysheetInsertChartTosheetChange: true,
jgridCurrentChartSelection: null, jgridCurrentChartSelection: null,
jfgridCurrentChartResizeObj: null, luckysheetCurrentChartResizeObj: null,
jfgridCurrentChartResizeXy: null, luckysheetCurrentChartResizeXy: null,
jfgridCurrentChartResizeWinH: null, luckysheetCurrentChartResizeWinH: null,
jfgridCurrentChartResizeWinW: null, luckysheetCurrentChartResizeWinW: null,
jfgrid_chartIns_index: -1, luckysheet_chartIns_index: -1,
jfgridCurrentChartActive: false, luckysheetCurrentChartActive: false,
jgridCurrentChartData: null, jgridCurrentChartData: null,
jfgridcurrentChart: null, luckysheetcurrentChart: null,
jfgrid_chart_redo_click: false, luckysheet_chart_redo_click: false,
jgridCurrentChartType: null, jgridCurrentChartType: null,
jfgridCurrentChartStyle: null, luckysheetCurrentChartStyle: null,
jfgridCurrentChartCurrentType: null, luckysheetCurrentChartCurrentType: null,
jfgridPreviousChart: '' //最近最新的图表json luckysheetPreviousChart: '' //最近最新的图表json
} }
// 初始化图表 // 初始化图表
jfgrid.chartInitial = function () { luckysheet.chartInitial = function () {
$('#jfgriddatavisual').click(function () { $('#luckysheetdatavisual').click(function () {
// 未加入chartMix插件时返回 // 未加入chartMix插件时返回
if(!window.generateChart){ if(!window.generateChart){
jfgrid.tooltip.info('<i class="fa fa-exclamation-triangle"></i>提示', "图表插件暂未加入"); luckysheet.tooltip.info('<i class="fa fa-exclamation-triangle"></i>提示', "图表插件暂未加入");
return; return;
} }
//防止watch生效 //防止watch生效
@ -50,7 +50,7 @@ jfgrid.chartInitial = function () {
}, 0) }, 0)
if (store.state.chartSetting.isqk) { if (store.state.chartSetting.isqk) {
setTimeout(function () { setTimeout(function () {
jfgrid.jfgridsizeauto() luckysheet.luckysheetsizeauto()
}, 0) }, 0)
} }
@ -58,34 +58,34 @@ jfgrid.chartInitial = function () {
var chartAllType = 'echarts|line|default' var chartAllType = 'echarts|line|default'
//如果只选中一个单元格,则自动填充选取 //如果只选中一个单元格,则自动填充选取
var jfgird_select_save = jfgrid.getjfgird_select_save() var luckysheet_select_save = luckysheet.getluckysheet_select_save()
if ( if (
jfgird_select_save.length == 1 && luckysheet_select_save.length == 1 &&
jfgird_select_save[0].row[0] == jfgird_select_save[0].row[1] && luckysheet_select_save[0].row[0] == luckysheet_select_save[0].row[1] &&
jfgird_select_save[0].column[0] == jfgird_select_save[0].column[1] luckysheet_select_save[0].column[0] == luckysheet_select_save[0].column[1]
) { ) {
jfgrid.jfgridMoveHighlightRange2('right', 'rangeOfSelect') luckysheet.luckysheetMoveHighlightRange2('right', 'rangeOfSelect')
jfgrid.jfgridMoveHighlightRange2('down', 'rangeOfSelect') luckysheet.luckysheetMoveHighlightRange2('down', 'rangeOfSelect')
jfgird_select_save = jfgrid.getjfgird_select_save() luckysheet_select_save = luckysheet.getluckysheet_select_save()
} }
//处理右边的空白单元格,自动略过并修改选区 ---------------start //处理右边的空白单元格,自动略过并修改选区 ---------------start
var shiftpositon_row = -1 var shiftpositon_row = -1
var row_ed = var row_ed =
jfgird_select_save[0]['row'][1] - jfgird_select_save[0]['row'][0] luckysheet_select_save[0]['row'][1] - luckysheet_select_save[0]['row'][0]
for ( for (
var r = jfgird_select_save[0]['row'][0]; var r = luckysheet_select_save[0]['row'][0];
r <= jfgird_select_save[0]['row'][1]; r <= luckysheet_select_save[0]['row'][1];
r++ r++
) { ) {
for ( for (
var c = jfgird_select_save[0]['column'][0]; var c = luckysheet_select_save[0]['column'][0];
c <= jfgird_select_save[0]['column'][1]; c <= luckysheet_select_save[0]['column'][1];
c++ c++
) { ) {
var value = jfgrid.getcellvalue(r, c, jfgrid.flowdata) var value = luckysheet.getcellvalue(r, c, luckysheet.flowdata)
//console.log("value,r,c",value,r,c); //console.log("value,r,c",value,r,c);
if (value != null && value.toString().length > 0) { if (value != null && value.toString().length > 0) {
shiftpositon_row = r shiftpositon_row = r
@ -102,27 +102,27 @@ jfgrid.chartInitial = function () {
shiftpositon_row = 0 shiftpositon_row = 0
} }
jfgird_select_save[0]['row'] = [shiftpositon_row, shiftpositon_row] luckysheet_select_save[0]['row'] = [shiftpositon_row, shiftpositon_row]
jfgrid.setjfgird_select_save(jfgird_select_save) luckysheet.setluckysheet_select_save(luckysheet_select_save)
jfgrid.jfgrid_shiftpositon = $.extend(true, {}, jfgird_select_save[0]) luckysheet.luckysheet_shiftpositon = $.extend(true, {}, luckysheet_select_save[0])
jfgrid.jfgridMoveEndCell('down', 'range', false, row_ed) luckysheet.luckysheetMoveEndCell('down', 'range', false, row_ed)
jfgird_select_save = jfgrid.getjfgird_select_save() luckysheet_select_save = luckysheet.getluckysheet_select_save()
var shiftpositon_col = -1 var shiftpositon_col = -1
var column_ed = var column_ed =
jfgird_select_save[0]['column'][1] - jfgird_select_save[0]['column'][0] luckysheet_select_save[0]['column'][1] - luckysheet_select_save[0]['column'][0]
for ( for (
var c = jfgird_select_save[0]['column'][0]; var c = luckysheet_select_save[0]['column'][0];
c <= jfgird_select_save[0]['column'][1]; c <= luckysheet_select_save[0]['column'][1];
c++ c++
) { ) {
for ( for (
var r = jfgird_select_save[0]['row'][0]; var r = luckysheet_select_save[0]['row'][0];
r <= jfgird_select_save[0]['row'][1]; r <= luckysheet_select_save[0]['row'][1];
r++ r++
) { ) {
var value = jfgrid.getcellvalue(r, c, jfgrid.flowdata) var value = luckysheet.getcellvalue(r, c, luckysheet.flowdata)
if (value != null && value.toString().length > 0) { if (value != null && value.toString().length > 0) {
shiftpositon_col = c shiftpositon_col = c
break break
@ -138,26 +138,26 @@ jfgrid.chartInitial = function () {
shiftpositon_col = 0 shiftpositon_col = 0
} }
jfgird_select_save[0]['column'] = [shiftpositon_col, shiftpositon_col] luckysheet_select_save[0]['column'] = [shiftpositon_col, shiftpositon_col]
jfgrid.setjfgird_select_save(jfgird_select_save) luckysheet.setluckysheet_select_save(luckysheet_select_save)
jfgrid.jfgrid_shiftpositon = $.extend(true, {}, jfgird_select_save[0]) luckysheet.luckysheet_shiftpositon = $.extend(true, {}, luckysheet_select_save[0])
jfgrid.jfgridMoveEndCell('right', 'range', false, column_ed) luckysheet.luckysheetMoveEndCell('right', 'range', false, column_ed)
jfgird_select_save = jfgrid.getjfgird_select_save() luckysheet_select_save = luckysheet.getluckysheet_select_save()
var dataSheetIndex = jfgrid.currentSheetIndex //当前sheet的原始索引 var dataSheetIndex = luckysheet.currentSheetIndex //当前sheet的原始索引
var rangeArray = $.extend(true, [], jfgird_select_save) var rangeArray = $.extend(true, [], luckysheet_select_save)
//处理右边的空白单元格,自动略过并修改选区 ---------------end //处理右边的空白单元格,自动略过并修改选区 ---------------end
//根据选区来获取数据,########需要支持多选区取得的数据################## //根据选区来获取数据,########需要支持多选区取得的数据##################
var chartData = jfgrid.getdatabyselection( var chartData = luckysheet.getdatabyselection(
jfgird_select_save[0], luckysheet_select_save[0],
dataSheetIndex dataSheetIndex
) )
// 获取原始数据 // 获取原始数据
generator.chartData = chartData generator.chartData = chartData
var rangeTxt = jfgrid.sheetmanage.getRangetxt( var rangeTxt = luckysheet.sheetmanage.getRangetxt(
dataSheetIndex, dataSheetIndex,
rangeArray[0], rangeArray[0],
dataSheetIndex dataSheetIndex
@ -167,7 +167,7 @@ jfgrid.chartInitial = function () {
var winw = $(window).width(), var winw = $(window).width(),
winh = $(window).height() winh = $(window).height()
var $cellmain = $('#jfgrid-cell-main') var $cellmain = $('#luckysheet-cell-main')
var scrollLeft = $cellmain.scrollLeft(), var scrollLeft = $cellmain.scrollLeft(),
scrollTop = $cellmain.scrollTop() scrollTop = $cellmain.scrollTop()
var myw = winw * 0.3, var myw = winw * 0.3,
@ -177,7 +177,7 @@ jfgrid.chartInitial = function () {
console.dir(JSON.stringify(chartData)) console.dir(JSON.stringify(chartData))
console.dir(JSON.stringify(rangeArray)) console.dir(JSON.stringify(rangeArray))
//jfgrid.insertChartTosheet放到insertNewChart中 //luckysheet.insertChartTosheet放到insertNewChart中
generator.insertNewChart( generator.insertNewChart(
chartAllType, chartAllType,
chartData, chartData,
@ -185,7 +185,7 @@ jfgrid.chartInitial = function () {
rangeArray, rangeArray,
rangeTxt, rangeTxt,
chartTheme, chartTheme,
jfgrid.currentSheetIndex, luckysheet.currentSheetIndex,
myh, myh,
myw, myw,
myLeft, myLeft,
@ -198,7 +198,7 @@ jfgrid.chartInitial = function () {
} }
// 图表数据区域拖动修改 // 图表数据区域拖动修改
jfgrid.chart_selection = { luckysheet.chart_selection = {
create: function (chart_id) { create: function (chart_id) {
var chart_json = store.state.chartSetting.chartList[chart_id] var chart_json = store.state.chartSetting.chartList[chart_id]
@ -206,13 +206,13 @@ jfgrid.chart_selection = {
return return
} }
$('#jfgrid-chart-rangeShow').empty() $('#luckysheet-chart-rangeShow').empty()
$('#jfgrid-cell-selected-boxs').hide() $('#luckysheet-cell-selected-boxs').hide()
$('#jfgrid-cell-selected-focus').hide() $('#luckysheet-cell-selected-focus').hide()
$('#jfgrid-rows-h-selected').hide() $('#luckysheet-rows-h-selected').hide()
$('#jfgrid-cols-h-selected').hide() $('#luckysheet-cols-h-selected').hide()
$('#jfgrid-row-count-show').hide() $('#luckysheet-row-count-show').hide()
$('#jfgrid-column-count-show').hide() $('#luckysheet-column-count-show').hide()
var st_r = chart_json.rangeArray[0].row[0] var st_r = chart_json.rangeArray[0].row[0]
var st_c = chart_json.rangeArray[0].column[0] var st_c = chart_json.rangeArray[0].column[0]
@ -258,13 +258,13 @@ jfgrid.chart_selection = {
rangeSplitArray.content.column[1] + st_c rangeSplitArray.content.column[1] + st_c
) )
$('#jfgrid-chart-rangeShow').append( $('#luckysheet-chart-rangeShow').append(
chart_rowtitle_html + chart_coltitle_html + chart_content_html chart_rowtitle_html + chart_coltitle_html + chart_content_html
) )
function getRangeShowHtml(type, r1, r2, c1, c2) { function getRangeShowHtml(type, r1, r2, c1, c2) {
var visibledatarow = jfgrid.getvisibledatarow() var visibledatarow = luckysheet.getvisibledatarow()
var visibledatacolumn = jfgrid.getvisibledatacolumn() var visibledatacolumn = luckysheet.getvisibledatacolumn()
var row = visibledatarow[r2], var row = visibledatarow[r2],
row_pre = r1 - 1 == -1 ? 0 : visibledatarow[r1 - 1] row_pre = r1 - 1 == -1 ? 0 : visibledatarow[r1 - 1]
@ -284,7 +284,7 @@ jfgrid.chart_selection = {
} }
var html = var html =
'<div id="jfgrid-chart-rangeShow-' + '<div id="luckysheet-chart-rangeShow-' +
type + type +
'" style="left: ' + '" style="left: ' +
col_pre + col_pre +
@ -295,31 +295,31 @@ jfgrid.chart_selection = {
'px;height: ' + 'px;height: ' +
(row - row_pre - 1) + (row - row_pre - 1) +
'px;border: none;margin: 0;position: absolute;z-index: 14;">' + 'px;border: none;margin: 0;position: absolute;z-index: 14;">' +
'<div class="jfgrid-chart-rangeShow-move" data-type="top" style="height: 2px;border-top: 2px solid #fff;border-bottom: 2px solid #fff;background: ' + '<div class="luckysheet-chart-rangeShow-move" data-type="top" style="height: 2px;border-top: 2px solid #fff;border-bottom: 2px solid #fff;background: ' +
color + color +
';position: absolute;left: 0;right: 0;top: -2px;z-index: 18;opacity: 0.9;cursor: move;"></div>' + ';position: absolute;left: 0;right: 0;top: -2px;z-index: 18;opacity: 0.9;cursor: move;"></div>' +
'<div class="jfgrid-chart-rangeShow-move" data-type="right" style="width: 2px;border-left: 2px solid #fff;border-right: 2px solid #fff;background: ' + '<div class="luckysheet-chart-rangeShow-move" data-type="right" style="width: 2px;border-left: 2px solid #fff;border-right: 2px solid #fff;background: ' +
color + color +
';position: absolute;top: 0;bottom: 0;right: -2px;z-index: 18;opacity: 0.9;cursor: move;"></div>' + ';position: absolute;top: 0;bottom: 0;right: -2px;z-index: 18;opacity: 0.9;cursor: move;"></div>' +
'<div class="jfgrid-chart-rangeShow-move" data-type="bottom" style="height: 2px;border-top: 2px solid #fff;border-bottom: 2px solid #fff;background: ' + '<div class="luckysheet-chart-rangeShow-move" data-type="bottom" style="height: 2px;border-top: 2px solid #fff;border-bottom: 2px solid #fff;background: ' +
color + color +
';position: absolute;left: 0;right: 0;bottom: -2px;z-index: 18;opacity: 0.9;cursor: move;"></div>' + ';position: absolute;left: 0;right: 0;bottom: -2px;z-index: 18;opacity: 0.9;cursor: move;"></div>' +
'<div class="jfgrid-chart-rangeShow-move" data-type="left" style="width: 2px;border-left: 2px solid #fff;border-right: 2px solid #fff;background: ' + '<div class="luckysheet-chart-rangeShow-move" data-type="left" style="width: 2px;border-left: 2px solid #fff;border-right: 2px solid #fff;background: ' +
color + color +
';position: absolute;top: 0;bottom: 0;left: -2px;z-index: 18;opacity: 0.9;cursor: move;"></div>' + ';position: absolute;top: 0;bottom: 0;left: -2px;z-index: 18;opacity: 0.9;cursor: move;"></div>' +
'<div style="border: 2px solid #FC6666;background: ' + '<div style="border: 2px solid #FC6666;background: ' +
color + color +
';position: absolute;top: 0;right: 0;bottom: 0;left: 0;z-index: 15;opacity: 0.1;"></div>' + ';position: absolute;top: 0;right: 0;bottom: 0;left: 0;z-index: 15;opacity: 0.1;"></div>' +
'<div class="jfgrid-chart-rangeShow-resize" data-type="lt" style="width: 6px;height: 6px;border: 1px solid #fff;background: ' + '<div class="luckysheet-chart-rangeShow-resize" data-type="lt" style="width: 6px;height: 6px;border: 1px solid #fff;background: ' +
color + color +
';position: absolute;left: -3px;top: -3px;z-index: 19;cursor: se-resize;"></div>' + ';position: absolute;left: -3px;top: -3px;z-index: 19;cursor: se-resize;"></div>' +
'<div class="jfgrid-chart-rangeShow-resize" data-type="rt" style="width: 6px;height: 6px;border: 1px solid #fff;background: ' + '<div class="luckysheet-chart-rangeShow-resize" data-type="rt" style="width: 6px;height: 6px;border: 1px solid #fff;background: ' +
color + color +
';position: absolute;right: -3px;top: -3px;z-index: 19;cursor: ne-resize;"></div>' + ';position: absolute;right: -3px;top: -3px;z-index: 19;cursor: ne-resize;"></div>' +
'<div class="jfgrid-chart-rangeShow-resize" data-type="lb" style="width: 6px;height: 6px;border: 1px solid #fff;background: ' + '<div class="luckysheet-chart-rangeShow-resize" data-type="lb" style="width: 6px;height: 6px;border: 1px solid #fff;background: ' +
color + color +
';position: absolute;left: -3px;bottom: -3px;z-index: 19;cursor: ne-resize;"></div>' + ';position: absolute;left: -3px;bottom: -3px;z-index: 19;cursor: ne-resize;"></div>' +
'<div class="jfgrid-chart-rangeShow-resize" data-type="rb" style="width: 6px;height: 6px;border: 1px solid #fff;background: ' + '<div class="luckysheet-chart-rangeShow-resize" data-type="rb" style="width: 6px;height: 6px;border: 1px solid #fff;background: ' +
color + color +
';position: absolute;right: -3px;bottom: -3px;z-index: 19;cursor: se-resize;"></div>' + ';position: absolute;right: -3px;bottom: -3px;z-index: 19;cursor: se-resize;"></div>' +
'</div>' '</div>'
@ -343,9 +343,9 @@ jfgrid.chart_selection = {
var rangeColCheck = chart_json.rangeColCheck var rangeColCheck = chart_json.rangeColCheck
var rangeSplitArray = chart_json.rangeSplitArray var rangeSplitArray = chart_json.rangeSplitArray
var mouse = jfgrid.mouseposition(event.pageX, event.pageY) var mouse = luckysheet.mouseposition(event.pageX, event.pageY)
var scrollLeft = $('#jfgrid-cell-main').scrollLeft() var scrollLeft = $('#luckysheet-cell-main').scrollLeft()
var scrollTop = $('#jfgrid-cell-main').scrollTop() var scrollTop = $('#luckysheet-cell-main').scrollTop()
var x = mouse[0] + scrollLeft var x = mouse[0] + scrollLeft
var y = mouse[1] + scrollTop var y = mouse[1] + scrollTop
@ -354,21 +354,21 @@ jfgrid.chart_selection = {
$(window).height() + scrollTop - sheetBarHeight - statisticBarHeight, $(window).height() + scrollTop - sheetBarHeight - statisticBarHeight,
winW = $(window).width() + scrollLeft winW = $(window).width() + scrollLeft
var rowLocation = jfgrid.rowLocation(y), var rowLocation = luckysheet.rowLocation(y),
row_index = rowLocation[2] row_index = rowLocation[2]
var colLocation = jfgrid.colLocation(x), var colLocation = luckysheet.colLocation(x),
col_index = colLocation[2] col_index = colLocation[2]
var visibledatarow = jfgrid.getvisibledatarow() var visibledatarow = luckysheet.getvisibledatarow()
var visibledatacolumn = jfgrid.getvisibledatacolumn() var visibledatacolumn = luckysheet.getvisibledatacolumn()
var $id = jfgrid.chart_selection.rangeMoveObj.attr('id') var $id = luckysheet.chart_selection.rangeMoveObj.attr('id')
if ($id == 'jfgrid-chart-rangeShow-content') { if ($id == 'luckysheet-chart-rangeShow-content') {
//行 //行
var row_s = var row_s =
jfgrid.chart_selection.rangeMoveIndex[0] - luckysheet.chart_selection.rangeMoveIndex[0] -
jfgrid.chart_selection.rangeMovexy[0] + luckysheet.chart_selection.rangeMovexy[0] +
row_index row_index
if (rangeRowCheck.exits) { if (rangeRowCheck.exits) {
@ -395,8 +395,8 @@ jfgrid.chart_selection = {
//列 //列
var col_s = var col_s =
jfgrid.chart_selection.rangeMoveIndex[1] - luckysheet.chart_selection.rangeMoveIndex[1] -
jfgrid.chart_selection.rangeMovexy[1] + luckysheet.chart_selection.rangeMovexy[1] +
col_index col_index
if (rangeColCheck.exits) { if (rangeColCheck.exits) {
if (col_s < st_c + rangeColCheck.range[1] + 1 || x < 0) { if (col_s < st_c + rangeColCheck.range[1] + 1 || x < 0) {
@ -475,11 +475,11 @@ jfgrid.chart_selection = {
column: [col_s, col_e] column: [col_s, col_e]
} }
} }
} else if ($id == 'jfgrid-chart-rangeShow-rowtitle') { } else if ($id == 'luckysheet-chart-rangeShow-rowtitle') {
//列 //列
var col_s = var col_s =
jfgrid.chart_selection.rangeMoveIndex[1] - luckysheet.chart_selection.rangeMoveIndex[1] -
jfgrid.chart_selection.rangeMovexy[1] + luckysheet.chart_selection.rangeMovexy[1] +
col_index col_index
if (rangeColCheck.exits) { if (rangeColCheck.exits) {
@ -533,11 +533,11 @@ jfgrid.chart_selection = {
column: [col_s, col_e] column: [col_s, col_e]
} }
} }
} else if ($id == 'jfgrid-chart-rangeShow-coltitle') { } else if ($id == 'luckysheet-chart-rangeShow-coltitle') {
//行 //行
var row_s = var row_s =
jfgrid.chart_selection.rangeMoveIndex[0] - luckysheet.chart_selection.rangeMoveIndex[0] -
jfgrid.chart_selection.rangeMovexy[0] + luckysheet.chart_selection.rangeMovexy[0] +
row_index row_index
if (rangeRowCheck.exits) { if (rangeRowCheck.exits) {
if (row_s < st_r + rangeRowCheck.range[1] + 1 || y < 0) { if (row_s < st_r + rangeRowCheck.range[1] + 1 || y < 0) {
@ -605,10 +605,10 @@ jfgrid.chart_selection = {
value: chart_json.rangeSplitArray, value: chart_json.rangeSplitArray,
chartId: chart_json.chart_id chartId: chart_json.chart_id
}) })
jfgrid.chart_selection.create(store.state.chartSetting.chartCurrent) luckysheet.chart_selection.create(store.state.chartSetting.chartCurrent)
}, },
rangeMoveDragged: function () { rangeMoveDragged: function () {
jfgrid.chart_selection.rangeMove = false luckysheet.chart_selection.rangeMove = false
var chart_json = $.extend( var chart_json = $.extend(
true, true,
@ -618,19 +618,19 @@ jfgrid.chart_selection = {
var updateJson = {} var updateJson = {}
updateJson.chart_id = store.state.chartSetting.chartCurrent updateJson.chart_id = store.state.chartSetting.chartCurrent
updateJson.rangeTxt = jfgrid.sheetmanage.getRangetxt( updateJson.rangeTxt = luckysheet.sheetmanage.getRangetxt(
jfgrid.currentSheetIndex, luckysheet.currentSheetIndex,
chart_json.rangeArray[0], chart_json.rangeArray[0],
jfgrid.currentSheetIndex luckysheet.currentSheetIndex
) )
updateJson.chartData = jfgrid.getdatabyselection( updateJson.chartData = luckysheet.getdatabyselection(
chart_json.rangeArray[0], chart_json.rangeArray[0],
jfgrid.currentSheetIndex luckysheet.currentSheetIndex
) )
var $id = jfgrid.chart_selection.rangeMoveObj.attr('id') var $id = luckysheet.chart_selection.rangeMoveObj.attr('id')
if ( if (
$id == 'jfgrid-chart-rangeShow-content' && $id == 'luckysheet-chart-rangeShow-content' &&
!chart_json.rangeRowCheck.exits && !chart_json.rangeRowCheck.exits &&
!chart_json.rangeColCheck.exits !chart_json.rangeColCheck.exits
) { ) {
@ -711,9 +711,9 @@ jfgrid.chart_selection = {
var rangeColCheck = chart_json.rangeColCheck var rangeColCheck = chart_json.rangeColCheck
var rangeSplitArray = chart_json.rangeSplitArray var rangeSplitArray = chart_json.rangeSplitArray
var mouse = jfgrid.mouseposition(event.pageX, event.pageY) var mouse = luckysheet.mouseposition(event.pageX, event.pageY)
var scrollLeft = $('#jfgrid-cell-main').scrollLeft() var scrollLeft = $('#luckysheet-cell-main').scrollLeft()
var scrollTop = $('#jfgrid-cell-main').scrollTop() var scrollTop = $('#luckysheet-cell-main').scrollTop()
var x = mouse[0] + scrollLeft var x = mouse[0] + scrollLeft
var y = mouse[1] + scrollTop var y = mouse[1] + scrollTop
@ -722,48 +722,48 @@ jfgrid.chart_selection = {
$(window).height() + scrollTop - sheetBarHeight - statisticBarHeight, $(window).height() + scrollTop - sheetBarHeight - statisticBarHeight,
winW = $(window).width() + scrollLeft winW = $(window).width() + scrollLeft
var rowLocation = jfgrid.rowLocation(y), var rowLocation = luckysheet.rowLocation(y),
row_index = rowLocation[2] row_index = rowLocation[2]
var colLocation = jfgrid.colLocation(x), var colLocation = luckysheet.colLocation(x),
col_index = colLocation[2] col_index = colLocation[2]
var visibledatarow = jfgrid.getvisibledatarow() var visibledatarow = luckysheet.getvisibledatarow()
var visibledatacolumn = jfgrid.getvisibledatacolumn() var visibledatacolumn = luckysheet.getvisibledatacolumn()
var $id = jfgrid.chart_selection.rangeResizeObj.attr('id') var $id = luckysheet.chart_selection.rangeResizeObj.attr('id')
if ($id == 'jfgrid-chart-rangeShow-content') { if ($id == 'luckysheet-chart-rangeShow-content') {
var r1, r2, c1, c2 var r1, r2, c1, c2
if (jfgrid.chart_selection.rangeResize == 'lt') { if (luckysheet.chart_selection.rangeResize == 'lt') {
r1 = jfgrid.chart_selection.rangeResizeIndex.row[0] r1 = luckysheet.chart_selection.rangeResizeIndex.row[0]
c1 = jfgrid.chart_selection.rangeResizeIndex.column[0] c1 = luckysheet.chart_selection.rangeResizeIndex.column[0]
r2 = jfgrid.chart_selection.rangeResizeIndex.row[1] r2 = luckysheet.chart_selection.rangeResizeIndex.row[1]
c2 = jfgrid.chart_selection.rangeResizeIndex.column[1] c2 = luckysheet.chart_selection.rangeResizeIndex.column[1]
} else if (jfgrid.chart_selection.rangeResize == 'lb') { } else if (luckysheet.chart_selection.rangeResize == 'lb') {
r1 = jfgrid.chart_selection.rangeResizeIndex.row[1] r1 = luckysheet.chart_selection.rangeResizeIndex.row[1]
c1 = jfgrid.chart_selection.rangeResizeIndex.column[0] c1 = luckysheet.chart_selection.rangeResizeIndex.column[0]
r2 = jfgrid.chart_selection.rangeResizeIndex.row[0] r2 = luckysheet.chart_selection.rangeResizeIndex.row[0]
c2 = jfgrid.chart_selection.rangeResizeIndex.column[1] c2 = luckysheet.chart_selection.rangeResizeIndex.column[1]
} else if (jfgrid.chart_selection.rangeResize == 'rt') { } else if (luckysheet.chart_selection.rangeResize == 'rt') {
r1 = jfgrid.chart_selection.rangeResizeIndex.row[0] r1 = luckysheet.chart_selection.rangeResizeIndex.row[0]
c1 = jfgrid.chart_selection.rangeResizeIndex.column[1] c1 = luckysheet.chart_selection.rangeResizeIndex.column[1]
r2 = jfgrid.chart_selection.rangeResizeIndex.row[1] r2 = luckysheet.chart_selection.rangeResizeIndex.row[1]
c2 = jfgrid.chart_selection.rangeResizeIndex.column[0] c2 = luckysheet.chart_selection.rangeResizeIndex.column[0]
} else if (jfgrid.chart_selection.rangeResize == 'rb') { } else if (luckysheet.chart_selection.rangeResize == 'rb') {
r1 = jfgrid.chart_selection.rangeResizeIndex.row[1] r1 = luckysheet.chart_selection.rangeResizeIndex.row[1]
c1 = jfgrid.chart_selection.rangeResizeIndex.column[1] c1 = luckysheet.chart_selection.rangeResizeIndex.column[1]
r2 = jfgrid.chart_selection.rangeResizeIndex.row[0] r2 = luckysheet.chart_selection.rangeResizeIndex.row[0]
c2 = jfgrid.chart_selection.rangeResizeIndex.column[0] c2 = luckysheet.chart_selection.rangeResizeIndex.column[0]
} }
//行 //行
if (rangeRowCheck.exits) { if (rangeRowCheck.exits) {
var row_s = r1 - jfgrid.chart_selection.rangeResizexy[0] + row_index var row_s = r1 - luckysheet.chart_selection.rangeResizexy[0] + row_index
if (row_s < st_r + rangeRowCheck.range[1] + 1 || y < 0) { if (row_s < st_r + rangeRowCheck.range[1] + 1 || y < 0) {
row_s = st_r + rangeRowCheck.range[1] + 1 row_s = st_r + rangeRowCheck.range[1] + 1
@ -771,7 +771,7 @@ jfgrid.chart_selection = {
row_s = visibledatarow.length - 1 row_s = visibledatarow.length - 1
} }
} else { } else {
var row_s = st_r - jfgrid.chart_selection.rangeResizexy[0] + row_index var row_s = st_r - luckysheet.chart_selection.rangeResizexy[0] + row_index
if (row_s < 0 || y < 0) { if (row_s < 0 || y < 0) {
row_s = 0 row_s = 0
@ -782,7 +782,7 @@ jfgrid.chart_selection = {
//列 //列
if (rangeColCheck.exits) { if (rangeColCheck.exits) {
var col_s = c1 - jfgrid.chart_selection.rangeResizexy[1] + col_index var col_s = c1 - luckysheet.chart_selection.rangeResizexy[1] + col_index
if (col_s < st_c + rangeColCheck.range[1] + 1 || x < 0) { if (col_s < st_c + rangeColCheck.range[1] + 1 || x < 0) {
col_s = st_c + rangeColCheck.range[1] + 1 col_s = st_c + rangeColCheck.range[1] + 1
@ -790,7 +790,7 @@ jfgrid.chart_selection = {
col_s = visibledatacolumn.length - 1 col_s = visibledatacolumn.length - 1
} }
} else { } else {
var col_s = st_c - jfgrid.chart_selection.rangeResizexy[1] + col_index var col_s = st_c - luckysheet.chart_selection.rangeResizexy[1] + col_index
if (col_s < 0 || x < 0) { if (col_s < 0 || x < 0) {
col_s = 0 col_s = 0
@ -853,26 +853,26 @@ jfgrid.chart_selection = {
} }
} }
} }
} else if ($id == 'jfgrid-chart-rangeShow-rowtitle') { } else if ($id == 'luckysheet-chart-rangeShow-rowtitle') {
var c1, c2 var c1, c2
if ( if (
jfgrid.chart_selection.rangeResize == 'lt' || luckysheet.chart_selection.rangeResize == 'lt' ||
jfgrid.chart_selection.rangeResize == 'lb' luckysheet.chart_selection.rangeResize == 'lb'
) { ) {
c1 = jfgrid.chart_selection.rangeResizeIndex.column[0] c1 = luckysheet.chart_selection.rangeResizeIndex.column[0]
c2 = jfgrid.chart_selection.rangeResizeIndex.column[1] c2 = luckysheet.chart_selection.rangeResizeIndex.column[1]
} else if ( } else if (
jfgrid.chart_selection.rangeResize == 'rt' || luckysheet.chart_selection.rangeResize == 'rt' ||
jfgrid.chart_selection.rangeResize == 'rb' luckysheet.chart_selection.rangeResize == 'rb'
) { ) {
c1 = jfgrid.chart_selection.rangeResizeIndex.column[1] c1 = luckysheet.chart_selection.rangeResizeIndex.column[1]
c2 = jfgrid.chart_selection.rangeResizeIndex.column[0] c2 = luckysheet.chart_selection.rangeResizeIndex.column[0]
} }
//列 //列
if (rangeColCheck.exits) { if (rangeColCheck.exits) {
var col_s = c1 - jfgrid.chart_selection.rangeResizexy[1] + col_index var col_s = c1 - luckysheet.chart_selection.rangeResizexy[1] + col_index
if (col_s < st_c + rangeColCheck.range[1] + 1 || x < 0) { if (col_s < st_c + rangeColCheck.range[1] + 1 || x < 0) {
col_s = st_c + rangeColCheck.range[1] + 1 col_s = st_c + rangeColCheck.range[1] + 1
@ -880,7 +880,7 @@ jfgrid.chart_selection = {
col_s = visibledatacolumn.length - 1 col_s = visibledatacolumn.length - 1
} }
} else { } else {
var col_s = st_c - jfgrid.chart_selection.rangeResizexy[1] + col_index var col_s = st_c - luckysheet.chart_selection.rangeResizexy[1] + col_index
if (col_s < 0 || x < 0) { if (col_s < 0 || x < 0) {
col_s = 0 col_s = 0
@ -926,26 +926,26 @@ jfgrid.chart_selection = {
column: [obj_c1 - st_c, obj_c2 - st_c] column: [obj_c1 - st_c, obj_c2 - st_c]
} }
} }
} else if ($id == 'jfgrid-chart-rangeShow-coltitle') { } else if ($id == 'luckysheet-chart-rangeShow-coltitle') {
var r1, r2 var r1, r2
if ( if (
jfgrid.chart_selection.rangeResize == 'lt' || luckysheet.chart_selection.rangeResize == 'lt' ||
jfgrid.chart_selection.rangeResize == 'rt' luckysheet.chart_selection.rangeResize == 'rt'
) { ) {
r1 = jfgrid.chart_selection.rangeResizeIndex.row[0] r1 = luckysheet.chart_selection.rangeResizeIndex.row[0]
r2 = jfgrid.chart_selection.rangeResizeIndex.row[1] r2 = luckysheet.chart_selection.rangeResizeIndex.row[1]
} else if ( } else if (
jfgrid.chart_selection.rangeResize == 'lb' || luckysheet.chart_selection.rangeResize == 'lb' ||
jfgrid.chart_selection.rangeResize == 'rb' luckysheet.chart_selection.rangeResize == 'rb'
) { ) {
r1 = jfgrid.chart_selection.rangeResizeIndex.row[1] r1 = luckysheet.chart_selection.rangeResizeIndex.row[1]
r2 = jfgrid.chart_selection.rangeResizeIndex.row[0] r2 = luckysheet.chart_selection.rangeResizeIndex.row[0]
} }
//行 //行
if (rangeRowCheck.exits) { if (rangeRowCheck.exits) {
var row_s = r1 - jfgrid.chart_selection.rangeResizexy[0] + row_index var row_s = r1 - luckysheet.chart_selection.rangeResizexy[0] + row_index
if (row_s < st_r + rangeRowCheck.range[1] + 1 || y < 0) { if (row_s < st_r + rangeRowCheck.range[1] + 1 || y < 0) {
row_s = st_r + rangeRowCheck.range[1] + 1 row_s = st_r + rangeRowCheck.range[1] + 1
@ -953,7 +953,7 @@ jfgrid.chart_selection = {
row_s = visibledatarow.length - 1 row_s = visibledatarow.length - 1
} }
} else { } else {
var row_s = st_r - jfgrid.chart_selection.rangeResizexy[0] + row_index var row_s = st_r - luckysheet.chart_selection.rangeResizexy[0] + row_index
if (row_s < 0 || y < 0) { if (row_s < 0 || y < 0) {
row_s = 0 row_s = 0
@ -1014,10 +1014,10 @@ jfgrid.chart_selection = {
value: chart_json.rangeSplitArray, value: chart_json.rangeSplitArray,
chartId: chart_json.chart_id chartId: chart_json.chart_id
}) })
jfgrid.chart_selection.create(store.state.chartSetting.chartCurrent) luckysheet.chart_selection.create(store.state.chartSetting.chartCurrent)
}, },
rangeResizeDragged: function () { rangeResizeDragged: function () {
jfgrid.chart_selection.rangeResize = null luckysheet.chart_selection.rangeResize = null
var chart_json = $.extend( var chart_json = $.extend(
true, true,
@ -1028,19 +1028,19 @@ jfgrid.chart_selection = {
var updateJson = {} var updateJson = {}
updateJson.chart_id = store.state.chartSetting.chartCurrent updateJson.chart_id = store.state.chartSetting.chartCurrent
updateJson.rangeTxt = jfgrid.sheetmanage.getRangetxt( updateJson.rangeTxt = luckysheet.sheetmanage.getRangetxt(
jfgrid.currentSheetIndex, luckysheet.currentSheetIndex,
chart_json.rangeArray[0], chart_json.rangeArray[0],
jfgrid.currentSheetIndex luckysheet.currentSheetIndex
) )
updateJson.chartData = jfgrid.getdatabyselection( updateJson.chartData = luckysheet.getdatabyselection(
chart_json.rangeArray[0], chart_json.rangeArray[0],
jfgrid.currentSheetIndex luckysheet.currentSheetIndex
) )
var $id = jfgrid.chart_selection.rangeResizeObj.attr('id') var $id = luckysheet.chart_selection.rangeResizeObj.attr('id')
if ( if (
$id == 'jfgrid-chart-rangeShow-content' && $id == 'luckysheet-chart-rangeShow-content' &&
!chart_json.rangeRowCheck.exits && !chart_json.rangeRowCheck.exits &&
!chart_json.rangeColCheck.exits !chart_json.rangeColCheck.exits
) { ) {

18852
src/luckysheet-core.js

File diff suppressed because one or more lines are too long

13604
src/luckysheet-function.js

File diff suppressed because it is too large
Loading…
Cancel
Save