Browse Source

fix(hide row/column): right click menu

1.right click menu hide row/column 2.update docs

fix #37
master
mengshukeji 5 years ago
parent
commit
8070858f6c
  1. 3
      deploy.bat
  2. 8
      docs/guide/api.md
  3. 7
      docs/zh/guide/api.md
  4. 2
      docs/zh/guide/config.md
  5. 92
      src/assets/iconfont/demo_index.html
  6. 28
      src/assets/iconfont/iconfont.css
  7. BIN
      src/assets/iconfont/iconfont.eot
  8. 2
      src/assets/iconfont/iconfont.js
  9. 28
      src/assets/iconfont/iconfont.json
  10. 12
      src/assets/iconfont/iconfont.svg
  11. BIN
      src/assets/iconfont/iconfont.ttf
  12. BIN
      src/assets/iconfont/iconfont.woff
  13. BIN
      src/assets/iconfont/iconfont.woff2
  14. 47
      src/controllers/constant.js
  15. 918
      src/controllers/rowColumnOperation.js

3
deploy.bat

@ -24,5 +24,8 @@ npm publish
# only publish
npm run build
git add .
npm run commit
npm version patch
git push -u origin master
npm publish

8
docs/guide/api.md

@ -1823,7 +1823,6 @@ Use note:
### getAllSheets()
[todo]
- **Explanation**
@ -1844,6 +1843,13 @@ Use note:
Returns a one-dimensional array `luckysheetfile` of all table data structures. Unlike the `getAllSheets` method, the worksheet parameters obtained by this method will contain many internal variables. The most obvious difference is that the table data operation will maintain `luckysheetfile[i]. data`, and the initialization data uses `options.data[i].celldata`, so `luckysheetfile` can be used for debugging, but the initialization table is not applicable.
In addition, a `load = 1` will be added to the loaded worksheet parameters, this parameter needs to be set to 0 when initializing the data. Therefore, to initialize the workbook with the data obtained by `getLuckysheetfile()`, two tasks need to be done:
- Convert celldata to data, refer to: [transToData](/zh/guide/api.html#transtodata-celldata-setting)
- Load reset to 0 or delete this field
Now there is `getAllSheets` to complete this work, no need to manually convert the data.
- **Usage**:
- Get all the debugging information of the first worksheet

7
docs/zh/guide/api.md

@ -1806,6 +1806,13 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
返回所有表格数据结构的一维数组`luckysheetfile`,不同于`getAllSheets`方法,此方法得到的工作表参数会包含很多内部使用变量,最明显的区别是表格数据操作会维护`luckysheetfile[i].data`,而初始化数据采用的是`options.data[i].celldata`,所以`luckysheetfile`可用于调试使用,但是不适用初始化表格。
除此之外,加载过的工作表参数中会增加一个`load = 1`,这个参数在初始化数据的时候需要置为0才行。所以,将`getLuckysheetfile()`得到的数据拿来初始化工作簿,需要做两个工作:
- celldata转为data,参考:[transToData](/zh/guide/api.html#transtodata-celldata-setting)
- load重置为0或者删除此字段
现在已有`getAllSheets`来完成这个工作,无需再手动转化数据。
- **示例**:
- 取得第一个工作表的所有调试信息

2
docs/zh/guide/config.md

@ -213,6 +213,8 @@ Luckysheet开放了更细致的自定义配置选项,分别有
+ 配置了`loadSheetUrl`
+ 配置了`updateUrl`
注意,发送给后端的数据默认是经过pako压缩过后的。后台拿到数据需要先解压。
通过共享编辑功能,可以实现Luckysheet实时保存数据和多人同步数据,每一次操作都会发送不同的参数到后台,具体的操作类型和参数参见[表格操作](/zh/guide/operate.html)
------------

92
src/assets/iconfont/demo_index.html

@ -30,6 +30,30 @@
<div class="content unicode" style="display: block;">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont">&#xe7f8;</span>
<div class="name">链接</div>
<div class="code-name">&amp;#xe7f8;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe7f5;</span>
<div class="name">打印区域</div>
<div class="code-name">&amp;#xe7f5;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe7f6;</span>
<div class="name">打印页面配置</div>
<div class="code-name">&amp;#xe7f6;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe7f7;</span>
<div class="name">打印标题</div>
<div class="code-name">&amp;#xe7f7;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe7f2;</span>
<div class="name">分页预览</div>
@ -716,6 +740,42 @@
<div class="content font-class">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont icon-lianjie"></span>
<div class="name">
链接
</div>
<div class="code-name">.icon-lianjie
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-dayinquyu"></span>
<div class="name">
打印区域
</div>
<div class="code-name">.icon-dayinquyu
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-dayinyemianpeizhi"></span>
<div class="name">
打印页面配置
</div>
<div class="code-name">.icon-dayinyemianpeizhi
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-dayinbiaoti"></span>
<div class="name">
打印标题
</div>
<div class="code-name">.icon-dayinbiaoti
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-fenyeyulan"></span>
<div class="name">
@ -1699,6 +1759,38 @@
<div class="content symbol">
<ul class="icon_lists dib-box">
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-lianjie"></use>
</svg>
<div class="name">链接</div>
<div class="code-name">#icon-lianjie</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-dayinquyu"></use>
</svg>
<div class="name">打印区域</div>
<div class="code-name">#icon-dayinquyu</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-dayinyemianpeizhi"></use>
</svg>
<div class="name">打印页面配置</div>
<div class="code-name">#icon-dayinyemianpeizhi</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-dayinbiaoti"></use>
</svg>
<div class="name">打印标题</div>
<div class="code-name">#icon-dayinbiaoti</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-fenyeyulan"></use>

28
src/assets/iconfont/iconfont.css

File diff suppressed because one or more lines are too long

BIN
src/assets/iconfont/iconfont.eot

Binary file not shown.

2
src/assets/iconfont/iconfont.js

File diff suppressed because one or more lines are too long

28
src/assets/iconfont/iconfont.json

@ -5,6 +5,34 @@
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "17878780",
"name": "链接",
"font_class": "lianjie",
"unicode": "e7f8",
"unicode_decimal": 59384
},
{
"icon_id": "17612330",
"name": "打印区域",
"font_class": "dayinquyu",
"unicode": "e7f5",
"unicode_decimal": 59381
},
{
"icon_id": "17612331",
"name": "打印页面配置",
"font_class": "dayinyemianpeizhi",
"unicode": "e7f6",
"unicode_decimal": 59382
},
{
"icon_id": "17612332",
"name": "打印标题",
"font_class": "dayinbiaoti",
"unicode": "e7f7",
"unicode_decimal": 59383
},
{
"icon_id": "17600443",
"name": "分页预览",

12
src/assets/iconfont/iconfont.svg

@ -20,6 +20,18 @@ Created by iconfont
/>
<missing-glyph />
<glyph glyph-name="lianjie" unicode="&#59384;" d="M771.584 644.266667c-49.066667 51.2-132.266667 51.2-181.333333 0l-74.666667-76.8c-8.533333-8.533333-8.533333-23.466667 0-32 8.533333-8.533333 21.333333-8.533333 29.866667 0l74.666666 76.8c34.133333 34.133333 87.466667 34.133333 121.6 0 34.133333-34.133333 34.133333-89.6 0-123.733334l-121.6-123.733333c-34.133333-34.133333-87.466667-34.133333-121.6 0-8.533333 8.533333-21.333333 8.533333-29.866666 0-8.533333-8.533333-8.533333-23.466667 0-32 49.066667-51.2 132.266667-51.2 181.333333 0l121.6 123.733333c51.2 53.333333 51.2 136.533333 0 187.733334zM477.184 232.533333l-74.666667-76.8c-34.133333-34.133333-87.466667-34.133333-121.6 0-34.133333 34.133333-34.133333 89.6 0 123.733334l121.6 123.733333c34.133333 34.133333 87.466667 34.133333 121.6 0 8.533333-8.533333 21.333333-8.533333 29.866667 0 8.533333 8.533333 8.533333 23.466667 0 32-49.066667 51.2-132.266667 51.2-181.333333 0l-121.6-123.733333c-51.2-51.2-49.066667-134.4 0-185.6 49.066667-51.2 132.266667-51.2 181.333333 0l74.666667 76.8c8.533333 8.533333 8.533333 23.466667 0 32-8.533333 6.4-21.333333 6.4-29.866667-2.133334z" horiz-adv-x="1024" />
<glyph glyph-name="dayinquyu" unicode="&#59381;" d="M727.04 189.781333a11.946667 11.946667 0 0 0 8.704-3.754666 13.312 13.312 0 0 0 3.626667-9.130667V85.333333H583.253333v91.52c0 3.413333 1.28 6.741333 3.626667 9.173334a11.946667 11.946667 0 0 0 8.661333 3.754666zM362.666667 170.666667v-42.666667h-128v42.666667h128z m128 0v-42.666667h-42.666667v42.666667h42.666667z m301.696 143.957333a18.773333 18.773333 0 0 0 18.304-19.2v-117.205333c0-10.581333-8.277333-19.2-18.346667-19.2h-28.458667v11.434666c-0.128 21.333333-16.554667 38.570667-36.778666 38.570667h-131.498667c-20.224 0-36.693333-17.237333-36.778667-38.570667v-11.477333h-28.458666a18.858667 18.858667 0 0 0-18.346667 19.2v117.248c0 10.581333 8.277333 19.2 18.346667 19.2zM256 362.666667v-128H213.333333v128h42.666667z m411.477333-85.845334H567.04a12.586667 12.586667 0 0 1-12.245333-12.8c0.042667-7.125333 5.546667-12.885333 12.245333-12.842666h100.394667a12.586667 12.586667 0 0 1 12.202666 12.8c0 7.082667-5.504 12.8-12.202666 12.8zM723.072 384a14.506667 14.506667 0 0 0 14.165333-14.805333v-35.84H585.386667v35.84a14.506667 14.506667 0 0 0 14.165333 14.805333zM768 533.333333v-128h-42.666667v128h42.666667z m-512 42.666667v-128H213.333333v128h42.666667zM768 682.666667v-64h-42.666667V640h-64V682.666667H768zM362.666667 682.666667v-42.666667H256v-21.333333H213.333333V682.666667h149.333334z m213.333333 0v-42.666667h-128V682.666667h128z" horiz-adv-x="1024" />
<glyph glyph-name="dayinyemianpeizhi" unicode="&#59382;" d="M635.477333 682.666667H388.522667c-15.530667 0-28.16-13.226667-28.288-29.610667v-71.68h303.530666v71.68c0 16.298667-12.586667 29.568-28.288 29.568V682.666667z m7.978667-388.48H380.586667a23.893333 23.893333 0 0 1-17.365334-7.509334 26.581333 26.581333 0 0 1-7.253333-18.261333V85.333333h312.149333v183.125334a26.581333 26.581333 0 0 1-7.253333 18.218666 23.893333 23.893333 0 0 1-17.365333 7.509334z m130.602667 249.728H250.069333c-20.224 0-36.736-17.28-36.736-38.4v-234.410667c0-21.162667 16.512-38.442667 36.693334-38.442667h56.96v22.912c0.213333 42.666667 33.109333 77.184 73.557333 77.098667h262.912c40.448 0.085333 73.386667-34.389333 73.557333-77.098667v-22.912h56.917334c20.224 0 36.736 17.28 36.736 38.4V505.514667c-0.042667 21.290667-16.426667 38.485333-36.608 38.442666z m-249.813334-126.933334H323.498667c-13.44 0-24.405333 11.434667-24.490667 25.642667a25.173333 25.173333 0 0 0 24.490667 25.685333h200.746666c13.44 0 24.490667-11.52 24.490667-25.685333 0-14.08-11.050667-25.6-24.490667-25.6v-0.042667z" horiz-adv-x="1024" />
<glyph glyph-name="dayinbiaoti" unicode="&#59383;" d="M727.04 189.781333a11.946667 11.946667 0 0 0 8.704-3.754666 13.312 13.312 0 0 0 3.626667-9.130667V85.333333H583.253333v91.52c0 3.413333 1.28 6.741333 3.626667 9.173334a11.946667 11.946667 0 0 0 8.661333 3.754666zM768 682.666667v-277.333334h-42.666667V640H256v-469.333333h234.666667v-42.666667H213.333333V682.666667h554.666667z m24.362667-368.042667a18.773333 18.773333 0 0 0 18.304-19.2v-117.205333c0-10.581333-8.277333-19.2-18.346667-19.2h-28.458667v11.434666c-0.128 21.333333-16.554667 38.570667-36.778666 38.570667h-131.498667c-20.224 0-36.693333-17.237333-36.778667-38.570667v-11.477333h-28.458666a18.858667 18.858667 0 0 0-18.346667 19.2v117.248c0 10.581333 8.277333 19.2 18.346667 19.2z m-124.885334-37.802667H567.04a12.586667 12.586667 0 0 1-12.245333-12.8c0.042667-7.125333 5.546667-12.885333 12.245333-12.842666h100.394667a12.586667 12.586667 0 0 1 12.202666 12.8c0 7.082667-5.504 12.8-12.202666 12.8zM723.072 384a14.506667 14.506667 0 0 0 14.165333-14.805333v-35.84H585.386667v35.84a14.506667 14.506667 0 0 0 14.165333 14.805333zM341.333333 554.666667h298.666667v-42.666667H341.333333zM341.333333 469.333333h170.666667v-42.666666H341.333333z" horiz-adv-x="1024" />
<glyph glyph-name="fenyeyulan" unicode="&#59378;" d="M810.666667 682.666667v-597.333334H213.333333V682.666667h597.333334z m-42.666667-42.666667H256v-512h512V640zM256 384h256v-42.666667H256zM554.666667 640v-298.666667h-42.666667V640zM405.333333 640v-298.666667h-42.666666V640z" horiz-adv-x="1024" />

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 85 KiB

BIN
src/assets/iconfont/iconfont.ttf

Binary file not shown.

BIN
src/assets/iconfont/iconfont.woff

Binary file not shown.

BIN
src/assets/iconfont/iconfont.woff2

Binary file not shown.

47
src/controllers/constant.js

@ -273,21 +273,33 @@ function rightclickHTML(){
</div>
<div id="luckysheet-cols-rows-handleincell">
<div class="luckysheet-menuseparator luckysheet-mousedown-cancel" role="separator"></div>
<div id="luckysheetColsRowsHandleAdd" class="luckysheet-cols-menuitem luckysheet-cols-submenu luckysheet-mousedown-cancel">
<div id="luckysheetColsRowsHandleAdd_row" class="luckysheet-cols-menuitem luckysheet-mousedown-cancel">
<div class="luckysheet-cols-menuitem-content luckysheet-mousedown-cancel">
${rightclick.insert}<span class="luckysheet-submenu-arrow iconfont icon-youjiantou" style="user-select: none;"></span>
${rightclick.insert}${rightclick.row}<span class="luckysheet-submenu-arrow" style="user-select: none;"></span>
</div>
</div>
<div id="luckysheetColsRowsHandleDel" class="luckysheet-cols-menuitem luckysheet-cols-submenu luckysheet-mousedown-cancel">
<div id="luckysheetColsRowsHandleAdd_column" class="luckysheet-cols-menuitem luckysheet-mousedown-cancel">
<div class="luckysheet-cols-menuitem-content luckysheet-mousedown-cancel">
${rightclick.delete}<span class="luckysheet-submenu-arrow iconfont icon-youjiantou" style="user-select: none;"></span>
${rightclick.insert}${rightclick.column}<span class="luckysheet-submenu-arrow" style="user-select: none;"></span>
</div>
</div>
<div id="luckysheet-delRows" class="luckysheet-cols-menuitem luckysheet-cols-submenu luckysheet-mousedown-cancel">
<div class="luckysheet-cols-menuitem-content luckysheet-mousedown-cancel">
${rightclick.deleteSelected}${rightclick.row}<span class="luckysheet-submenu-arrow" style="user-select: none;"></span>
</div>
</div>
<div id="luckysheet-delCols" class="luckysheet-cols-menuitem luckysheet-cols-submenu luckysheet-mousedown-cancel">
<div class="luckysheet-cols-menuitem-content luckysheet-mousedown-cancel">
${rightclick.deleteSelected}${rightclick.column}<span class="luckysheet-submenu-arrow" style="user-select: none;"></span>
</div>
</div>
<!-- cell right click remove hide button
<div id="luckysheetColsRowsHandleHid" class="luckysheet-cols-menuitem luckysheet-cols-submenu luckysheet-mousedown-cancel">
<div class="luckysheet-cols-menuitem-content luckysheet-mousedown-cancel">
${rightclick.hide}<span class="luckysheet-submenu-arrow iconfont icon-youjiantou" style="user-select: none;"></span>
</div>
</div>
-->
<div id="luckysheetCellsHandleDel" class="luckysheet-cols-menuitem luckysheet-cols-submenu luckysheet-mousedown-cancel">
<div class="luckysheet-cols-menuitem-content luckysheet-mousedown-cancel">
${rightclick.deleteCell}<span class="luckysheet-submenu-arrow iconfont icon-youjiantou" style="user-select: none;"></span>
@ -320,6 +332,18 @@ function rightclickHTML(){
<span class="luckysheet-cols-rows-shift-word luckysheet-mousedown-cancel">${rightclick.column}</span>
</div>
</div>
<div id="luckysheet-hide-selected" class="luckysheet-cols-menuitem luckysheet-mousedown-cancel">
<div class="luckysheet-cols-menuitem-content luckysheet-mousedown-cancel">
${rightclick.hideSelected}
<span class="luckysheet-cols-rows-shift-word luckysheet-mousedown-cancel">${rightclick.column}</span>
</div>
</div>
<div id="luckysheet-show-selected" class="luckysheet-cols-menuitem luckysheet-mousedown-cancel">
<div class="luckysheet-cols-menuitem-content luckysheet-mousedown-cancel">
${rightclick.showHide}
<span class="luckysheet-cols-rows-shift-word luckysheet-mousedown-cancel">${rightclick.column}</span>
</div>
</div>
<div id="luckysheet-column-row-width-selected" class="luckysheet-cols-menuitem luckysheet-mousedown-cancel">
<div class="luckysheet-cols-menuitem-content luckysheet-mousedown-cancel">
<span class="luckysheet-cols-rows-shift-word luckysheet-mousedown-cancel">${rightclick.column}</span>
@ -407,6 +431,9 @@ function rightclickHTML(){
<div class="luckysheet-cols-menuitem-content luckysheet-mousedown-cancel">${rightclick.boolean}</div>
</div>
</div>
<!-- Revision: modeled on google sheet
<div id="luckysheetColsRowsHandleAdd_sub" class="luckysheet-cols-menu luckysheet-rightgclick-menu luckysheet-rightgclick-menu-sub luckysheet-mousedown-cancel">
<div class="luckysheet-cols-menuitem luckysheet-mousedown-cancel">
<div class="luckysheet-cols-menuitem-content luckysheet-mousedown-cancel">
@ -437,6 +464,11 @@ function rightclickHTML(){
</div>
</div>
</div>
-->
<!-- delete row or column
<div id="luckysheetColsRowsHandleDel_sub" class="luckysheet-cols-menu luckysheet-rightgclick-menu luckysheet-rightgclick-menu-sub luckysheet-mousedown-cancel">
<div id="luckysheet-delRows" class="luckysheet-cols-menuitem luckysheet-mousedown-cancel">
<div class="luckysheet-cols-menuitem-content luckysheet-mousedown-cancel">
@ -449,6 +481,10 @@ function rightclickHTML(){
</div>
</div>
</div>
-->
<!--
<div id="luckysheetColsRowsHandleHid_sub" class="luckysheet-cols-menu luckysheet-rightgclick-menu luckysheet-rightgclick-menu-sub luckysheet-mousedown-cancel">
<div id="luckysheet-hidRows" class="luckysheet-cols-menuitem luckysheet-mousedown-cancel">
<div class="luckysheet-cols-menuitem-content luckysheet-mousedown-cancel">
@ -471,6 +507,9 @@ function rightclickHTML(){
</div>
</div>
</div>
-->
<div id="luckysheetCellsHandleDel_sub" class="luckysheet-cols-menu luckysheet-rightgclick-menu luckysheet-rightgclick-menu-sub luckysheet-mousedown-cancel">
<div id="luckysheet-delCellsMoveLeft" class="luckysheet-cols-menuitem luckysheet-mousedown-cancel">
<div class="luckysheet-cols-menuitem-content luckysheet-mousedown-cancel">

918
src/controllers/rowColumnOperation.js

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