@hufe921/canvas-editor 0.9.23 → 0.9.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +86 -0
- package/README.md +1 -1
- package/dist/canvas-editor.es.js +477 -123
- package/dist/canvas-editor.es.js.map +1 -1
- package/dist/canvas-editor.umd.js +16 -16
- package/dist/canvas-editor.umd.js.map +1 -1
- package/dist/src/editor/core/command/Command.d.ts +7 -1
- package/dist/src/editor/core/command/CommandAdapt.d.ts +5 -0
- package/dist/src/editor/core/draw/Draw.d.ts +0 -1
- package/dist/src/editor/core/draw/particle/table/TableTool.d.ts +5 -5
- package/dist/src/editor/core/range/RangeManager.d.ts +1 -0
- package/dist/src/editor/core/zone/Zone.d.ts +4 -1
- package/dist/src/editor/dataset/constant/PageNumber.d.ts +2 -0
- package/dist/src/editor/dataset/enum/VerticalAlign.d.ts +5 -0
- package/dist/src/editor/dataset/enum/table/Table.d.ts +5 -0
- package/dist/src/editor/index.d.ts +3 -1
- package/dist/src/editor/interface/Editor.d.ts +4 -4
- package/dist/src/editor/interface/Element.d.ts +3 -1
- package/dist/src/editor/interface/Listener.d.ts +1 -0
- package/dist/src/editor/interface/PageNumber.d.ts +8 -0
- package/dist/src/editor/interface/table/Td.d.ts +2 -0
- package/package.json +8 -2
package/dist/canvas-editor.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(()=>{(function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.appendChild(document.createTextNode('.ce-select-control-popup{max-width:160px;min-width:69px;max-height:225px;position:absolute;z-index:1;border:1px solid #e4e7ed;border-radius:4px;background-color:#fff;box-shadow:0 2px 12px #0000001a;box-sizing:border-box;margin:5px 0;overflow-y:auto}.ce-select-control-popup ul{list-style:none;padding:3px 0;margin:0;box-sizing:border-box}.ce-select-control-popup ul li{font-size:13px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#666;height:36px;line-height:36px;box-sizing:border-box;cursor:pointer}.ce-select-control-popup ul li:hover{background-color:#eef2fd}.ce-select-control-popup ul li.active{color:var(--COLOR-HOVER, #5175f4);font-weight:700}.ce-date-container{display:none;width:300px;overflow:hidden;left:0;right:0;position:absolute;z-index:1;color:#606266;background:#ffffff;border-radius:4px;padding:10px;user-select:none;border:1px solid #e4e7ed;box-shadow:0 2px 12px #0000001a}.ce-date-container.active{display:block}.ce-date-wrap{display:none}.ce-date-wrap.active{display:block}.ce-date-title{display:flex;justify-content:center;align-items:center;text-align:center;color:#606266;font-size:16px}.ce-date-title>span{display:inline-block}.ce-date-title>span:not(.ce-date-title__now){font-family:cursive;cursor:pointer}.ce-date-title>span:not(.ce-date-title__now):hover{color:#5175f4}.ce-date-title .ce-date-title__pre-year,.ce-date-title .ce-date-title__pre-month{width:15%}.ce-date-title .ce-date-title__now{width:40%}.ce-date-title .ce-date-title__next-year,.ce-date-title .ce-date-title__next-month{width:15%}.ce-date-week{width:100%;display:flex;justify-content:center;margin-top:15px;padding-bottom:5px;border-bottom:1px solid #e4e7ed}.ce-date-week>span{list-style:none;width:14.28571%;text-align:center;color:#606266;font-size:14px}.ce-date-day{width:100%;display:flex;flex-wrap:wrap;align-items:center;margin-top:5px}.ce-date-day>div{width:14.28571%;height:40px;text-align:center;color:#606266;font-size:14px;cursor:pointer;line-height:40px;border-radius:4px}.ce-date-day>div:hover{color:#5175f4;opacity:.8}.ce-date-day>div.active{color:#5175f4;font-weight:700}.ce-date-day>div.disable{color:#c0c4cc}.ce-date-day>div.select{color:#fff;background-color:#5175f4}.ce-time-wrap{display:none;padding:10px;height:286px}.ce-time-wrap ::-webkit-scrollbar{width:0}.ce-time-wrap.active{display:flex}.ce-time-wrap li{list-style:none}.ce-time-wrap>li{width:33.3%;height:100%;text-align:center}.ce-time-wrap>li>span{transform:translateY(-5px);display:inline-block}.ce-time-wrap>li>ol{height:calc(100% - 20px);overflow-y:auto;border:1px solid #e2e2e2;position:relative}.ce-time-wrap>li:first-child>ol{border-right:0}.ce-time-wrap>li:last-child>ol{border-left:0}.ce-time-wrap>li>ol>li{line-height:30px;cursor:pointer;transition:all .3s}.ce-time-wrap>li>ol>li:hover{background-color:#eaeaea}.ce-time-wrap>li>ol>li.active{color:#fff;background:#5175F4}.ce-date-menu{width:100%;height:28px;display:flex;justify-content:flex-end;align-items:center;padding-top:10px;position:relative;border-top:1px solid #e4e7ed}.ce-date-menu button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;color:#606266;appearance:none;text-align:center;box-sizing:border-box;outline:none;transition:.1s;font-weight:500;user-select:none;padding:7px 15px;font-size:12px;border-radius:3px;margin:0 0 0 10px}.ce-date-menu button:hover{color:#5175f4;border-color:#5175f4}.ce-date-menu button.ce-date-menu__time{border:1px solid transparent;position:absolute;left:0;margin-left:0}.ce-date-menu button.ce-date-menu__time:hover{color:#5175f4}.ce-block-item{position:absolute;z-index:0;overflow:hidden;border-radius:8px;background-color:#fff;border:1px solid rgb(235 236 240)}.ce-table-tool__row{position:absolute;width:12px;border-radius:6.5px;overflow:hidden;background-color:#e2e6ed}.ce-table-tool__row .ce-table-tool__row__item{width:100%;position:relative}.ce-table-tool__row .ce-table-tool__row__item:after{content:"";position:absolute;bottom:0;left:2px;width:8px;height:1px;background-color:#c0c6cf}.ce-table-tool__row .ce-table-tool__row__item:last-child:after{display:none}.ce-table-tool__col{position:absolute;height:12px;border-radius:6.5px;overflow:hidden;background-color:#e2e6ed;display:flex}.ce-table-tool__col .ce-table-tool__col__item{height:100%;position:relative}.ce-table-tool__col .ce-table-tool__col__item:after{content:"";position:absolute;top:2px;left:-1px;width:1px;height:8px;z-index:1;background-color:#c0c6cf}.ce-table-tool__col .ce-table-tool__col__item:first-child:after{display:none}.ce-table-tool__row .ce-table-tool__row__item.active,.ce-table-tool__col .ce-table-tool__col__item.active{background-color:#c4d7fa}.ce-table-tool__col .ce-table-tool__anchor{right:-5px;width:10px;height:12px;z-index:9;position:absolute;cursor:col-resize}.ce-table-tool__row .ce-table-tool__anchor{bottom:-5px;left:0;width:12px;height:10px;z-index:9;position:absolute;cursor:row-resize}.ce-table-anchor__line{z-index:9;position:absolute;border:1px dotted #000000}.ce-resizer-selection{position:absolute;border:1px solid}.ce-resizer-selection>div{position:absolute;width:10px;height:10px;box-shadow:0 1px 4px #0000004d;border-radius:5px;border:2px solid #ffffff;box-sizing:border-box}.ce-resizer-selection .handle-0{cursor:nw-resize}.ce-resizer-selection .handle-1{cursor:n-resize}.ce-resizer-selection .handle-2{cursor:ne-resize}.ce-resizer-selection .handle-3{cursor:e-resize}.ce-resizer-selection .handle-4{cursor:se-resize}.ce-resizer-selection .handle-5{cursor:s-resize}.ce-resizer-selection .handle-6{cursor:sw-resize}.ce-resizer-selection .handle-7{cursor:w-resize}.ce-resizer-image{position:absolute;opacity:.5}.ce-image-previewer{position:fixed;left:0;top:0;z-index:1000;width:100%;height:100%;overflow:hidden;background:#f2f4f7;display:flex;align-items:center;justify-content:center;animation:previewerAnimation .3s}@keyframes previewerAnimation{0%{opacity:.1}to{opacity:1}}.ce-image-previewer .image-close{width:24px;height:24px;display:inline-block;position:absolute;right:50px;top:30px;z-index:99;cursor:pointer;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIzLjk3IDdsMS40MTUgMS40MTQtNy43NzkgNy43NzggNy43NzkgNy43NzktMS40MTQgMS40MTQtNy43NzktNy43NzktNy43NzggNy43NzlMNyAyMy45N2w3Ljc3OC03Ljc3OUw3IDguNDE0IDguNDE0IDdsNy43NzggNy43NzhMMjMuOTcxIDd6IiBmaWxsPSIjM0Q0NzU3IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=) no-repeat;background-size:100% 100%;transition:all .3s;border-radius:50%}.ce-image-previewer .image-close:hover{background-color:#e2e6ed}.ce-image-previewer .ce-image-container{position:relative}.ce-image-previewer .ce-image-container img{cursor:move;position:relative}.ce-image-previewer .ce-image-menu{height:50px;position:absolute;bottom:50px;z-index:99;display:flex;align-items:center;justify-content:center}.ce-image-previewer .ce-image-menu i{width:32px;height:32px;margin:0 8px;cursor:pointer;display:inline-block;background-repeat:no-repeat;background-size:100% 100%;transition:all .3s;border-radius:50%}.ce-image-previewer .ce-image-menu i:hover{background-color:#e2e6ed}.ce-image-previewer .ce-image-menu i.zoom-in{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE0IDE0di00aDJ2NGg0djJoLTR2NGgtMnYtNGgtNHYtMmg0em04Ljc0OSAxMC4xNjNBMTEuOTUyIDExLjk1MiAwIDAxMTUgMjdDOC4zNzMgMjcgMyAyMS42MjcgMyAxNVM4LjM3MyAzIDE1IDNzMTIgNS4zNzMgMTIgMTJjMCAyLjk1NC0xLjA2NyA1LjY1OC0yLjgzNyA3Ljc0OWw0LjkwOCA0LjkwOC0xLjQxNCAxLjQxNC00LjkwOC00LjkwOHpNMTUgMjVjNS41MjMgMCAxMC00LjQ3NyAxMC0xMFMyMC41MjMgNSAxNSA1IDUgOS40NzcgNSAxNXM0LjQ3NyAxMCAxMCAxMHoiIGZpbGw9IiMzRDQ3NTciLz48L3N2Zz4=)}.ce-image-previewer .ce-image-menu i.zoom-out{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIyLjc0OSAyNC4xNjNBMTEuOTUyIDExLjk1MiAwIDAxMTUgMjdDOC4zNzMgMjcgMyAyMS42MjcgMyAxNVM4LjM3MyAzIDE1IDNzMTIgNS4zNzMgMTIgMTJjMCAyLjk1NC0xLjA2NyA1LjY1OC0yLjgzNyA3Ljc0OWw0LjkwOCA0LjkwOC0xLjQxNCAxLjQxNC00LjkwOC00LjkwOHpNMTUgMjVjNS41MjMgMCAxMC00LjQ3NyAxMC0xMFMyMC41MjMgNSAxNSA1IDUgOS40NzcgNSAxNXM0LjQ3NyAxMCAxMCAxMHptLTUtMTFoMTB2MkgxMHYtMnoiIGZpbGw9IiMzRDQ3NTciLz48L3N2Zz4=)}.ce-image-previewer .ce-image-menu i.rotate{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTYgNGM2LjYyNyAwIDEyIDUuMzczIDEyIDEyYTExLjk3IDExLjk3IDAgMDEtNCA4Ljk0NFYyM2gtLjg2QTkuOTY4IDkuOTY4IDAgMDAyNiAxNmMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwUzYgMTAuNDc3IDYgMTZjMCA1LjE4NSAzLjk0NyA5LjQ0OSA5IDkuOTV2Mi4wMDlDOC44NCAyNy40NTEgNCAyMi4yOTEgNCAxNiA0IDkuMzczIDkuMzczIDQgMTYgNHoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxwYXRoIGQ9Ik0xOS44NzkgMjcuMzI4bDEuNzY3LTYuNzE3IDQuOTUgNC45NXoiLz48L2c+PC9zdmc+)}.ce-image-previewer .ce-image-menu i.original-size{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQgNGgyNHYyNEg0VjR6bTIgMnYyMGgyMFY2SDZ6bTQgNWgydjEwaC0yVjExem01IDJoMnYyaC0ydi0yem0wIDRoMnYyaC0ydi0yem01LTZoMnYxMGgtMlYxMXoiIGZpbGw9IiMzRDQ3NTciLz48L3N2Zz4=)}.ce-image-previewer .ce-image-menu i.image-download{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQuNSAxNXYzLjVoMTVWMTVIMjF2NUgzdi01aDEuNXptOC4yMzItMTEuMjI2djkuMTk2bDQuMDUtNC4wNSAxLjA2IDEuMDYtNS44MzQgNS44MzQtNS44MzMtNS44MzMgMS4wNi0xLjA2IDMuOTk4IDMuOTk2VjMuNzc0aDEuNXoiIGZpbGw9IiMzRDQ3NTciLz48L3N2Zz4=)}.ce-contextmenu-container{z-index:9;position:fixed;display:none;padding:4px;overflow-x:hidden;overflow-y:auto;background:#fff;box-shadow:0 2px 12px #38383833;border:1px solid #e2e6ed;border-radius:2px}.ce-contextmenu-content{display:flex;flex-direction:column}.ce-contextmenu-content .ce-contextmenu-sub-item:after{position:absolute;content:"";width:16px;height:16px;right:12px;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMCAwaDE2djE2SDB6Ii8+PGcgZmlsbD0iIzc2N0M4NSI+PHBhdGggZD0iTTcgMTIuMjQzbC0uNzA3LS43MDcgNC4yNDMtNC4yNDMuNzA3LjcwN3oiLz48cGF0aCBkPSJNNi4yOTMgNC40NjRMNyAzLjc1NyAxMS4yNDMgOGwtLjcwNy43MDd6Ii8+PC9nPjwvZz48L3N2Zz4=)}.ce-contextmenu-content .ce-contextmenu-item{min-width:140px;padding:0 32px 0 16px;height:30px;display:flex;align-items:center;white-space:nowrap;box-sizing:border-box;cursor:pointer}.ce-contextmenu-content .ce-contextmenu-item.hover{background:rgba(25,55,88,.04)}.ce-contextmenu-content .ce-contextmenu-item span{max-width:300px;font-size:12px;color:#3d4757;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ce-contextmenu-content .ce-contextmenu-item span.ce-shortcut{color:#767c85;height:30px;flex:1;text-align:right;line-height:30px;margin-left:20px}.ce-contextmenu-content .ce-contextmenu-item i{width:16px;height:16px;vertical-align:middle;display:inline-block;background-repeat:no-repeat;background-size:100% 100%;flex-shrink:0;margin-right:8px}.ce-contextmenu-divider{background-color:#e2e6ed;margin:4px 16px;height:1px}.ce-contextmenu-print{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjM0Q0NzU3IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0xMiA0aC0xVjJINXYySDRWMmExIDEgMCAwMTEtMWg2YTEgMSAwIDAxMSAxdjJ6bTAgNXY0YTEgMSAwIDAxLTEgMUg1YTEgMSAwIDAxLTEtMVY5aDF2NGg2VjloMXoiLz48cGF0aCBkPSJNMTIgMTJ2LTFoMlY1SDJ2NmgydjFIMmExIDEgMCAwMS0xLTFWNWExIDEgMCAwMTEtMWgxMmExIDEgMCAwMTEgMXY2YTEgMSAwIDAxLTEgMWgtMnoiLz48cGF0aCBkPSJNMyA4aDEwdjFIM3ptOC0yaDJ2MWgtMnoiLz48L2c+PC9zdmc+)}.ce-contextmenu-image{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSLlm77lsYJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZT4uc3Qwe2ZpbGw6IzNkNDc1N308L3N0eWxlPjxnIGlkPSJfeDMwXzAt5YWs5YWxX3gyRl8wMuW3peWFt+agj194MkZf5o+S5YWl5Zu+54mHLTE2cHgtIj48ZyBpZD0iR3JvdXAtMTkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiPjxwYXRoIGlkPSJDb21iaW5lZC1TaGFwZSIgY2xhc3M9InN0MCIgZD0iTTEgMGgxMmMuNiAwIDEgLjQgMSAxdjExYzAgLjYtLjQgMS0xIDFIMWMtLjYgMC0xLS40LTEtMVYxYzAtLjYuNC0xIDEtMXptMCAxdjExaDEyVjFIMXoiLz48Y2lyY2xlIGlkPSLmpK3lnIblvaIiIGNsYXNzPSJzdDAiIGN4PSIxMCIgY3k9IjQiIHI9IjEiLz48cGF0aCBpZD0iUGF0aCIgY2xhc3M9InN0MCIgZD0iTTguNSAxMS4ybC00LTQuMUwxIDEwLjdWOS4yYzEuNy0xLjYgMi43LTIuNSAzLTIuOC40LS41LjctLjQgMSAwTDguNSAxMCAxMSA3LjNjLjQtLjUuNi0uNSAxLS4xbDIgMi44djEuNWwtMi41LTMuNC0zIDMuMXoiLz48L2c+PC9nPjwvc3ZnPg==)}.ce-contextmenu-image-change{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDQpIiBmaWxsPSIjM0Q0NzU3Ij48Y2lyY2xlIGZpbGwtcnVsZT0ibm9uemVybyIgY3g9IjMiIGN5PSIxIiByPSIxIi8+PHBhdGggZD0iTTcuNDczIDguMjIzTDMuNDcgNC4xMDcgMCA3LjY2N3YtMS41QzEuNzE1IDQuNiAyLjcwNyAzLjY2NCAyLjk3NSAzLjM1OGMuNDAyLS40NTcuNjUxLS4zOSAxLjA0MiAwTDcuNDczIDcgOS45NiA0LjM0OWMuNDE0LS40NjIuNjItLjQ2MiAxLjAxMS0uMDcxTDEzIDcuMDZ2MS41bC0yLjUxLTMuNDEtMy4wMTcgMy4wNzJ6Ii8+PC9nPjxwYXRoIGQ9Ik02IDEuNUgxLjV2MTJoMTN2LTRWMTNhLjUuNSAwIDAxLS41LjVIMmEuNS41IDAgMDEtLjUtLjVWMmEuNS41IDAgMDEuNS0uNWg0em04LjUgOFY2bC0uNS41aDFsLS41LS41djMuNXpNNiAxLjVoNEw5LjUgMXYxbC41LS41SDZ6IiBzdHJva2U9IiMzRDQ3NTciLz48cGF0aCBkPSJNMTMuMDg1IDEuMzE2bC0zLjgxNCA0YTEgMSAwIDAwMS40NTggMS4zNjhsMy44MTUtNGExIDEgMCAxMC0xLjQ1OS0xLjM2OHoiIGZpbGw9IiMzRDQ3NTciIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-insert-row-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9IiMzRDQ3NTciIGQ9Ik04LjUgNS41aDZ2NGgtNnoiLz48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNNCA3djFoMlY3em0tMyAuNUw0IDV2NXpNMSAxaDEydjFIMXptMCAxMmgxMnYxSDF6Ii8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-insert-top-row{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNOCA1SDd2M2gxem0tLjUtM0wxMCA1SDV6Ii8+PHJlY3Qgc3Ryb2tlPSIjM0Q0NzU3IiB4PSIxLjUiIHk9IjEwLjUiIHdpZHRoPSIxMiIgaGVpZ2h0PSIzIiByeD0iMSIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-insert-bottom-row{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNNyAxMWgxVjhIN3ptLjUgM0w1IDExaDV6Ii8+PHJlY3Qgc3Ryb2tlPSIjM0Q0NzU3IiB4PSIxLjUiIHk9IjIuNSIgd2lkdGg9IjEyIiBoZWlnaHQ9IjMiIHJ4PSIxIi8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-insert-left-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNMTEgN3YxaDNWN3ptLTMgLjVMMTEgNXY1eiIvPjxyZWN0IHN0cm9rZT0iIzNENDc1NyIgdHJhbnNmb3JtPSJyb3RhdGUoOTAgNCA3LjUpIiB4PSItMiIgeT0iNiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjMiIHJ4PSIxIi8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-insert-right-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNNSA4VjdIMnYxem0zLS41TDUgMTBWNXoiLz48cmVjdCBzdHJva2U9IiMzRDQ3NTciIHRyYW5zZm9ybT0icm90YXRlKDkwIDEyIDcuNSkiIHg9IjYiIHk9IjYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIzIiByeD0iMSIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-delete-row-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9IiM5MjlBQTgiIGQ9Ik04LjUgNi41aDZ2MmgtNnoiLz48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNMiAxMmgxMXYxSDJ6TTIgMmgxMXYxSDJ6bS42MyAzTDcgOS4zNWwtLjYzNS42NUwyIDUuNjN6Ii8+PHBhdGggZmlsbD0iIzNENDc1NyIgZD0iTTIgOS4zNjNMNi4zNTUgNSA3IDUuNzA3IDIuNjk1IDEweiIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-delete-row{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9IiM5MjlBQTgiIGQ9Ik04LjUgNS41aDZ2NGgtNnoiLz48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNMSAxM2gxMnYxSDF6TTEgMWgxMnYxSDF6bTAgNGgxdjFIMXptMSAxaDF2MUgyem0xIDFoMXYxSDN6bTEtMWgxdjFINHptMS0xaDF2MUg1ek00IDhoMXYxSDR6TTIgOGgxdjFIMnptMyAxaDF2MUg1ek0xIDloMXYxSDF6Ii8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-delete-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9IiM5MjlBQTgiIGQ9Ik01LjUgNy41di02aDR2NnoiLz48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNMTMgMTVWM2gxdjEyek0xIDE1VjNoMXYxMnptNCAwdi0xaDF2MXptMS0xdi0xaDF2MXptMS0xdi0xaDF2MXptLTEtMXYtMWgxdjF6bS0xLTF2LTFoMXYxem0zIDF2LTFoMXYxem0wIDJ2LTFoMXYxem0xLTN2LTFoMXYxem0wIDR2LTFoMXYxeiIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-delete-table{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTQgMTNoLTF2LTNIMnYzSDF2LTNhMSAxIDAgMDExLTFoMTFhMSAxIDAgMDExIDF2M3oiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxwYXRoIGQ9Ik01LjYyNSAyTDEwIDYuMzc1IDkuMzc1IDcgNSAyLjYyNXoiLz48cGF0aCBkPSJNNSA2LjM3NUw5LjM3NSAybC42MjUuNjI1TDUuNjI1IDd6Ii8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-merge-cell{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNNiAxdjFIMnYxMWg0djFIMmExIDEgMCAwMS0xLTFWMmExIDEgMCAwMTEtMWg0em0zIDBoNGExIDEgMCAwMTEgMXYxMWExIDEgMCAwMS0xIDFIOXYtMWg0VjJIOVYxeiIvPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTYgMWgxdjRINnptMiAwaDF2NEg4eiIvPjxwYXRoIGQ9Ik04IDcuNUwxMCA2djN6bS0xIDBMNSA2djN6Ii8+PHBhdGggZD0iTTkgN2gzdjFIOXpNMyA3aDN2MUgzeiIvPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTggMTBoMXY0SDh6bS0yIDBoMXY0SDZ6Ii8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-merge-cancel-cell{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNNiAxdjFIMnYxMWg0djFIMmExIDEgMCAwMS0xLTFWMmExIDEgMCAwMTEtMWg0em0zIDBoNGExIDEgMCAwMTEgMXYxMWExIDEgMCAwMS0xIDFIOXYtMWg0VjJIOVYxeiIvPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTYgMWgxdjRINnptMiAwaDF2NEg4eiIvPjxwYXRoIGQ9Ik0zIDcuNUw1IDZ2M3ptOSAwTDEwIDZ2M3oiLz48cGF0aCBkPSJNNCA3aDN2MUg0em00IDBoM3YxSDh6Ii8+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNOCAxMGgxdjRIOHptLTIgMGgxdjRINnoiLz48L2c+PC9zdmc+)}.ce-hyperlink-popup{background:#fff;box-shadow:0 2px 12px #626b8433;border-radius:2px;color:#3d4757;padding:12px 16px;position:absolute;z-index:1;text-align:center;display:none}.ce-hyperlink-popup a{min-width:100px;max-width:300px;font-size:12px;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;text-decoration:none;border-bottom-width:1px;border-bottom-style:solid;color:#00f}.ce-header-indicator>div{padding:3px 6px;color:#000;font-size:12px;background:rgb(218 231 252);position:absolute;transform:translate(10px,10px)}.ce-inputarea{width:0;height:12px;min-width:0;min-height:0;margin:0;padding:0;left:0;right:0;letter-spacing:0;font-size:12px;position:absolute;outline:none;resize:none;border:none;overflow:hidden;color:transparent;user-select:none;background-color:transparent}.ce-cursor{width:1px;height:20px;left:0;right:0;position:absolute;outline:none;background-color:#000;pointer-events:none}.ce-cursor.ce-cursor--animation{animation-duration:1s;animation-iteration-count:infinite;animation-name:cursorAnimation}@keyframes cursorAnimation{0%{opacity:1}13%{opacity:0}50%{opacity:0}63%{opacity:1}to{opacity:1}}')),document.head.appendChild(e)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}})();})();
|
|
1
|
+
(()=>{(function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.appendChild(document.createTextNode('.ce-select-control-popup{max-width:160px;min-width:69px;max-height:225px;position:absolute;z-index:1;border:1px solid #e4e7ed;border-radius:4px;background-color:#fff;box-shadow:0 2px 12px #0000001a;box-sizing:border-box;margin:5px 0;overflow-y:auto}.ce-select-control-popup ul{list-style:none;padding:3px 0;margin:0;box-sizing:border-box}.ce-select-control-popup ul li{font-size:13px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#666;height:36px;line-height:36px;box-sizing:border-box;cursor:pointer}.ce-select-control-popup ul li:hover{background-color:#eef2fd}.ce-select-control-popup ul li.active{color:var(--COLOR-HOVER, #5175f4);font-weight:700}.ce-date-container{display:none;width:300px;overflow:hidden;left:0;right:0;position:absolute;z-index:1;color:#606266;background:#ffffff;border-radius:4px;padding:10px;user-select:none;border:1px solid #e4e7ed;box-shadow:0 2px 12px #0000001a}.ce-date-container.active{display:block}.ce-date-wrap{display:none}.ce-date-wrap.active{display:block}.ce-date-title{display:flex;justify-content:center;align-items:center;text-align:center;color:#606266;font-size:16px}.ce-date-title>span{display:inline-block}.ce-date-title>span:not(.ce-date-title__now){font-family:cursive;cursor:pointer}.ce-date-title>span:not(.ce-date-title__now):hover{color:#5175f4}.ce-date-title .ce-date-title__pre-year,.ce-date-title .ce-date-title__pre-month{width:15%}.ce-date-title .ce-date-title__now{width:40%}.ce-date-title .ce-date-title__next-year,.ce-date-title .ce-date-title__next-month{width:15%}.ce-date-week{width:100%;display:flex;justify-content:center;margin-top:15px;padding-bottom:5px;border-bottom:1px solid #e4e7ed}.ce-date-week>span{list-style:none;width:14.28571%;text-align:center;color:#606266;font-size:14px}.ce-date-day{width:100%;display:flex;flex-wrap:wrap;align-items:center;margin-top:5px}.ce-date-day>div{width:14.28571%;height:40px;text-align:center;color:#606266;font-size:14px;cursor:pointer;line-height:40px;border-radius:4px}.ce-date-day>div:hover{color:#5175f4;opacity:.8}.ce-date-day>div.active{color:#5175f4;font-weight:700}.ce-date-day>div.disable{color:#c0c4cc}.ce-date-day>div.select{color:#fff;background-color:#5175f4}.ce-time-wrap{display:none;padding:10px;height:286px}.ce-time-wrap ::-webkit-scrollbar{width:0}.ce-time-wrap.active{display:flex}.ce-time-wrap li{list-style:none}.ce-time-wrap>li{width:33.3%;height:100%;text-align:center}.ce-time-wrap>li>span{transform:translateY(-5px);display:inline-block}.ce-time-wrap>li>ol{height:calc(100% - 20px);overflow-y:auto;border:1px solid #e2e2e2;position:relative}.ce-time-wrap>li:first-child>ol{border-right:0}.ce-time-wrap>li:last-child>ol{border-left:0}.ce-time-wrap>li>ol>li{line-height:30px;cursor:pointer;transition:all .3s}.ce-time-wrap>li>ol>li:hover{background-color:#eaeaea}.ce-time-wrap>li>ol>li.active{color:#fff;background:#5175F4}.ce-date-menu{width:100%;height:28px;display:flex;justify-content:flex-end;align-items:center;padding-top:10px;position:relative;border-top:1px solid #e4e7ed}.ce-date-menu button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;color:#606266;appearance:none;text-align:center;box-sizing:border-box;outline:none;transition:.1s;font-weight:500;user-select:none;padding:7px 15px;font-size:12px;border-radius:3px;margin:0 0 0 10px}.ce-date-menu button:hover{color:#5175f4;border-color:#5175f4}.ce-date-menu button.ce-date-menu__time{border:1px solid transparent;position:absolute;left:0;margin-left:0}.ce-date-menu button.ce-date-menu__time:hover{color:#5175f4}.ce-block-item{position:absolute;z-index:0;overflow:hidden;border-radius:8px;background-color:#fff;border:1px solid rgb(235 236 240)}.ce-table-tool__row{position:absolute;width:12px;border-radius:6.5px;overflow:hidden;background-color:#e2e6ed}.ce-table-tool__row .ce-table-tool__row__item{width:100%;position:relative}.ce-table-tool__row .ce-table-tool__row__item:after{content:"";position:absolute;bottom:0;left:2px;width:8px;height:1px;background-color:#c0c6cf}.ce-table-tool__row .ce-table-tool__row__item:last-child:after{display:none}.ce-table-tool__col{position:absolute;height:12px;border-radius:6.5px;overflow:hidden;background-color:#e2e6ed;display:flex}.ce-table-tool__col .ce-table-tool__col__item{height:100%;position:relative}.ce-table-tool__col .ce-table-tool__col__item:after{content:"";position:absolute;top:2px;left:-1px;width:1px;height:8px;z-index:1;background-color:#c0c6cf}.ce-table-tool__col .ce-table-tool__col__item:first-child:after{display:none}.ce-table-tool__row .ce-table-tool__row__item.active,.ce-table-tool__col .ce-table-tool__col__item.active{background-color:#c4d7fa}.ce-table-tool__col .ce-table-tool__anchor{right:-5px;width:10px;height:12px;z-index:9;position:absolute;cursor:col-resize}.ce-table-tool__row .ce-table-tool__anchor{bottom:-5px;left:0;width:12px;height:10px;z-index:9;position:absolute;cursor:row-resize}.ce-table-anchor__line{z-index:9;position:absolute;border:1px dotted #000000}.ce-table-tool__border{position:absolute;z-index:1;background:transparent;pointer-events:none}.ce-table-tool__border__row{position:absolute;cursor:row-resize;pointer-events:auto}.ce-table-tool__border__col{position:absolute;cursor:col-resize;pointer-events:auto}.ce-resizer-selection{position:absolute;border:1px solid}.ce-resizer-selection>div{position:absolute;width:10px;height:10px;box-shadow:0 1px 4px #0000004d;border-radius:5px;border:2px solid #ffffff;box-sizing:border-box}.ce-resizer-selection .handle-0{cursor:nw-resize}.ce-resizer-selection .handle-1{cursor:n-resize}.ce-resizer-selection .handle-2{cursor:ne-resize}.ce-resizer-selection .handle-3{cursor:e-resize}.ce-resizer-selection .handle-4{cursor:se-resize}.ce-resizer-selection .handle-5{cursor:s-resize}.ce-resizer-selection .handle-6{cursor:sw-resize}.ce-resizer-selection .handle-7{cursor:w-resize}.ce-resizer-image{position:absolute;opacity:.5}.ce-image-previewer{position:fixed;left:0;top:0;z-index:1000;width:100%;height:100%;overflow:hidden;background:#f2f4f7;display:flex;align-items:center;justify-content:center;animation:previewerAnimation .3s}@keyframes previewerAnimation{0%{opacity:.1}to{opacity:1}}.ce-image-previewer .image-close{width:24px;height:24px;display:inline-block;position:absolute;right:50px;top:30px;z-index:99;cursor:pointer;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIzLjk3IDdsMS40MTUgMS40MTQtNy43NzkgNy43NzggNy43NzkgNy43NzktMS40MTQgMS40MTQtNy43NzktNy43NzktNy43NzggNy43NzlMNyAyMy45N2w3Ljc3OC03Ljc3OUw3IDguNDE0IDguNDE0IDdsNy43NzggNy43NzhMMjMuOTcxIDd6IiBmaWxsPSIjM0Q0NzU3IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=) no-repeat;background-size:100% 100%;transition:all .3s;border-radius:50%}.ce-image-previewer .image-close:hover{background-color:#e2e6ed}.ce-image-previewer .ce-image-container{position:relative}.ce-image-previewer .ce-image-container img{cursor:move;position:relative}.ce-image-previewer .ce-image-menu{height:50px;position:absolute;bottom:50px;z-index:99;display:flex;align-items:center;justify-content:center}.ce-image-previewer .ce-image-menu i{width:32px;height:32px;margin:0 8px;cursor:pointer;display:inline-block;background-repeat:no-repeat;background-size:100% 100%;transition:all .3s;border-radius:50%}.ce-image-previewer .ce-image-menu i:hover{background-color:#e2e6ed}.ce-image-previewer .ce-image-menu i.zoom-in{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE0IDE0di00aDJ2NGg0djJoLTR2NGgtMnYtNGgtNHYtMmg0em04Ljc0OSAxMC4xNjNBMTEuOTUyIDExLjk1MiAwIDAxMTUgMjdDOC4zNzMgMjcgMyAyMS42MjcgMyAxNVM4LjM3MyAzIDE1IDNzMTIgNS4zNzMgMTIgMTJjMCAyLjk1NC0xLjA2NyA1LjY1OC0yLjgzNyA3Ljc0OWw0LjkwOCA0LjkwOC0xLjQxNCAxLjQxNC00LjkwOC00LjkwOHpNMTUgMjVjNS41MjMgMCAxMC00LjQ3NyAxMC0xMFMyMC41MjMgNSAxNSA1IDUgOS40NzcgNSAxNXM0LjQ3NyAxMCAxMCAxMHoiIGZpbGw9IiMzRDQ3NTciLz48L3N2Zz4=)}.ce-image-previewer .ce-image-menu i.zoom-out{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIyLjc0OSAyNC4xNjNBMTEuOTUyIDExLjk1MiAwIDAxMTUgMjdDOC4zNzMgMjcgMyAyMS42MjcgMyAxNVM4LjM3MyAzIDE1IDNzMTIgNS4zNzMgMTIgMTJjMCAyLjk1NC0xLjA2NyA1LjY1OC0yLjgzNyA3Ljc0OWw0LjkwOCA0LjkwOC0xLjQxNCAxLjQxNC00LjkwOC00LjkwOHpNMTUgMjVjNS41MjMgMCAxMC00LjQ3NyAxMC0xMFMyMC41MjMgNSAxNSA1IDUgOS40NzcgNSAxNXM0LjQ3NyAxMCAxMCAxMHptLTUtMTFoMTB2MkgxMHYtMnoiIGZpbGw9IiMzRDQ3NTciLz48L3N2Zz4=)}.ce-image-previewer .ce-image-menu i.rotate{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTYgNGM2LjYyNyAwIDEyIDUuMzczIDEyIDEyYTExLjk3IDExLjk3IDAgMDEtNCA4Ljk0NFYyM2gtLjg2QTkuOTY4IDkuOTY4IDAgMDAyNiAxNmMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwUzYgMTAuNDc3IDYgMTZjMCA1LjE4NSAzLjk0NyA5LjQ0OSA5IDkuOTV2Mi4wMDlDOC44NCAyNy40NTEgNCAyMi4yOTEgNCAxNiA0IDkuMzczIDkuMzczIDQgMTYgNHoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxwYXRoIGQ9Ik0xOS44NzkgMjcuMzI4bDEuNzY3LTYuNzE3IDQuOTUgNC45NXoiLz48L2c+PC9zdmc+)}.ce-image-previewer .ce-image-menu i.original-size{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQgNGgyNHYyNEg0VjR6bTIgMnYyMGgyMFY2SDZ6bTQgNWgydjEwaC0yVjExem01IDJoMnYyaC0ydi0yem0wIDRoMnYyaC0ydi0yem01LTZoMnYxMGgtMlYxMXoiIGZpbGw9IiMzRDQ3NTciLz48L3N2Zz4=)}.ce-image-previewer .ce-image-menu i.image-download{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQuNSAxNXYzLjVoMTVWMTVIMjF2NUgzdi01aDEuNXptOC4yMzItMTEuMjI2djkuMTk2bDQuMDUtNC4wNSAxLjA2IDEuMDYtNS44MzQgNS44MzQtNS44MzMtNS44MzMgMS4wNi0xLjA2IDMuOTk4IDMuOTk2VjMuNzc0aDEuNXoiIGZpbGw9IiMzRDQ3NTciLz48L3N2Zz4=)}.ce-contextmenu-container{z-index:9;position:fixed;display:none;padding:4px;overflow-x:hidden;overflow-y:auto;background:#fff;box-shadow:0 2px 12px #38383833;border:1px solid #e2e6ed;border-radius:2px}.ce-contextmenu-content{display:flex;flex-direction:column}.ce-contextmenu-content .ce-contextmenu-sub-item:after{position:absolute;content:"";width:16px;height:16px;right:12px;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMCAwaDE2djE2SDB6Ii8+PGcgZmlsbD0iIzc2N0M4NSI+PHBhdGggZD0iTTcgMTIuMjQzbC0uNzA3LS43MDcgNC4yNDMtNC4yNDMuNzA3LjcwN3oiLz48cGF0aCBkPSJNNi4yOTMgNC40NjRMNyAzLjc1NyAxMS4yNDMgOGwtLjcwNy43MDd6Ii8+PC9nPjwvZz48L3N2Zz4=)}.ce-contextmenu-content .ce-contextmenu-item{min-width:140px;padding:0 32px 0 16px;height:30px;display:flex;align-items:center;white-space:nowrap;box-sizing:border-box;cursor:pointer}.ce-contextmenu-content .ce-contextmenu-item.hover{background:rgba(25,55,88,.04)}.ce-contextmenu-content .ce-contextmenu-item span{max-width:300px;font-size:12px;color:#3d4757;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ce-contextmenu-content .ce-contextmenu-item span.ce-shortcut{color:#767c85;height:30px;flex:1;text-align:right;line-height:30px;margin-left:20px}.ce-contextmenu-content .ce-contextmenu-item i{width:16px;height:16px;vertical-align:middle;display:inline-block;background-repeat:no-repeat;background-size:100% 100%;flex-shrink:0;margin-right:8px}.ce-contextmenu-divider{background-color:#e2e6ed;margin:4px 16px;height:1px}.ce-contextmenu-print{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjM0Q0NzU3IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0xMiA0aC0xVjJINXYySDRWMmExIDEgMCAwMTEtMWg2YTEgMSAwIDAxMSAxdjJ6bTAgNXY0YTEgMSAwIDAxLTEgMUg1YTEgMSAwIDAxLTEtMVY5aDF2NGg2VjloMXoiLz48cGF0aCBkPSJNMTIgMTJ2LTFoMlY1SDJ2NmgydjFIMmExIDEgMCAwMS0xLTFWNWExIDEgMCAwMTEtMWgxMmExIDEgMCAwMTEgMXY2YTEgMSAwIDAxLTEgMWgtMnoiLz48cGF0aCBkPSJNMyA4aDEwdjFIM3ptOC0yaDJ2MWgtMnoiLz48L2c+PC9zdmc+)}.ce-contextmenu-image{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSLlm77lsYJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZT4uc3Qwe2ZpbGw6IzNkNDc1N308L3N0eWxlPjxnIGlkPSJfeDMwXzAt5YWs5YWxX3gyRl8wMuW3peWFt+agj194MkZf5o+S5YWl5Zu+54mHLTE2cHgtIj48ZyBpZD0iR3JvdXAtMTkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiPjxwYXRoIGlkPSJDb21iaW5lZC1TaGFwZSIgY2xhc3M9InN0MCIgZD0iTTEgMGgxMmMuNiAwIDEgLjQgMSAxdjExYzAgLjYtLjQgMS0xIDFIMWMtLjYgMC0xLS40LTEtMVYxYzAtLjYuNC0xIDEtMXptMCAxdjExaDEyVjFIMXoiLz48Y2lyY2xlIGlkPSLmpK3lnIblvaIiIGNsYXNzPSJzdDAiIGN4PSIxMCIgY3k9IjQiIHI9IjEiLz48cGF0aCBpZD0iUGF0aCIgY2xhc3M9InN0MCIgZD0iTTguNSAxMS4ybC00LTQuMUwxIDEwLjdWOS4yYzEuNy0xLjYgMi43LTIuNSAzLTIuOC40LS41LjctLjQgMSAwTDguNSAxMCAxMSA3LjNjLjQtLjUuNi0uNSAxLS4xbDIgMi44djEuNWwtMi41LTMuNC0zIDMuMXoiLz48L2c+PC9nPjwvc3ZnPg==)}.ce-contextmenu-image-change{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDQpIiBmaWxsPSIjM0Q0NzU3Ij48Y2lyY2xlIGZpbGwtcnVsZT0ibm9uemVybyIgY3g9IjMiIGN5PSIxIiByPSIxIi8+PHBhdGggZD0iTTcuNDczIDguMjIzTDMuNDcgNC4xMDcgMCA3LjY2N3YtMS41QzEuNzE1IDQuNiAyLjcwNyAzLjY2NCAyLjk3NSAzLjM1OGMuNDAyLS40NTcuNjUxLS4zOSAxLjA0MiAwTDcuNDczIDcgOS45NiA0LjM0OWMuNDE0LS40NjIuNjItLjQ2MiAxLjAxMS0uMDcxTDEzIDcuMDZ2MS41bC0yLjUxLTMuNDEtMy4wMTcgMy4wNzJ6Ii8+PC9nPjxwYXRoIGQ9Ik02IDEuNUgxLjV2MTJoMTN2LTRWMTNhLjUuNSAwIDAxLS41LjVIMmEuNS41IDAgMDEtLjUtLjVWMmEuNS41IDAgMDEuNS0uNWg0em04LjUgOFY2bC0uNS41aDFsLS41LS41djMuNXpNNiAxLjVoNEw5LjUgMXYxbC41LS41SDZ6IiBzdHJva2U9IiMzRDQ3NTciLz48cGF0aCBkPSJNMTMuMDg1IDEuMzE2bC0zLjgxNCA0YTEgMSAwIDAwMS40NTggMS4zNjhsMy44MTUtNGExIDEgMCAxMC0xLjQ1OS0xLjM2OHoiIGZpbGw9IiMzRDQ3NTciIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-insert-row-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9IiMzRDQ3NTciIGQ9Ik04LjUgNS41aDZ2NGgtNnoiLz48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNNCA3djFoMlY3em0tMyAuNUw0IDV2NXpNMSAxaDEydjFIMXptMCAxMmgxMnYxSDF6Ii8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-insert-top-row{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNOCA1SDd2M2gxem0tLjUtM0wxMCA1SDV6Ii8+PHJlY3Qgc3Ryb2tlPSIjM0Q0NzU3IiB4PSIxLjUiIHk9IjEwLjUiIHdpZHRoPSIxMiIgaGVpZ2h0PSIzIiByeD0iMSIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-insert-bottom-row{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNNyAxMWgxVjhIN3ptLjUgM0w1IDExaDV6Ii8+PHJlY3Qgc3Ryb2tlPSIjM0Q0NzU3IiB4PSIxLjUiIHk9IjIuNSIgd2lkdGg9IjEyIiBoZWlnaHQ9IjMiIHJ4PSIxIi8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-insert-left-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNMTEgN3YxaDNWN3ptLTMgLjVMMTEgNXY1eiIvPjxyZWN0IHN0cm9rZT0iIzNENDc1NyIgdHJhbnNmb3JtPSJyb3RhdGUoOTAgNCA3LjUpIiB4PSItMiIgeT0iNiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjMiIHJ4PSIxIi8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-insert-right-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNNSA4VjdIMnYxem0zLS41TDUgMTBWNXoiLz48cmVjdCBzdHJva2U9IiMzRDQ3NTciIHRyYW5zZm9ybT0icm90YXRlKDkwIDEyIDcuNSkiIHg9IjYiIHk9IjYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIzIiByeD0iMSIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-delete-row-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9IiM5MjlBQTgiIGQ9Ik04LjUgNi41aDZ2MmgtNnoiLz48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNMiAxMmgxMXYxSDJ6TTIgMmgxMXYxSDJ6bS42MyAzTDcgOS4zNWwtLjYzNS42NUwyIDUuNjN6Ii8+PHBhdGggZmlsbD0iIzNENDc1NyIgZD0iTTIgOS4zNjNMNi4zNTUgNSA3IDUuNzA3IDIuNjk1IDEweiIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-delete-row{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9IiM5MjlBQTgiIGQ9Ik04LjUgNS41aDZ2NGgtNnoiLz48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNMSAxM2gxMnYxSDF6TTEgMWgxMnYxSDF6bTAgNGgxdjFIMXptMSAxaDF2MUgyem0xIDFoMXYxSDN6bTEtMWgxdjFINHptMS0xaDF2MUg1ek00IDhoMXYxSDR6TTIgOGgxdjFIMnptMyAxaDF2MUg1ek0xIDloMXYxSDF6Ii8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-delete-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9IiM5MjlBQTgiIGQ9Ik01LjUgNy41di02aDR2NnoiLz48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNMTMgMTVWM2gxdjEyek0xIDE1VjNoMXYxMnptNCAwdi0xaDF2MXptMS0xdi0xaDF2MXptMS0xdi0xaDF2MXptLTEtMXYtMWgxdjF6bS0xLTF2LTFoMXYxem0zIDF2LTFoMXYxem0wIDJ2LTFoMXYxem0xLTN2LTFoMXYxem0wIDR2LTFoMXYxeiIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-delete-table{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTQgMTNoLTF2LTNIMnYzSDF2LTNhMSAxIDAgMDExLTFoMTFhMSAxIDAgMDExIDF2M3oiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxwYXRoIGQ9Ik01LjYyNSAyTDEwIDYuMzc1IDkuMzc1IDcgNSAyLjYyNXoiLz48cGF0aCBkPSJNNSA2LjM3NUw5LjM3NSAybC42MjUuNjI1TDUuNjI1IDd6Ii8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-merge-cell{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNNiAxdjFIMnYxMWg0djFIMmExIDEgMCAwMS0xLTFWMmExIDEgMCAwMTEtMWg0em0zIDBoNGExIDEgMCAwMTEgMXYxMWExIDEgMCAwMS0xIDFIOXYtMWg0VjJIOVYxeiIvPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTYgMWgxdjRINnptMiAwaDF2NEg4eiIvPjxwYXRoIGQ9Ik04IDcuNUwxMCA2djN6bS0xIDBMNSA2djN6Ii8+PHBhdGggZD0iTTkgN2gzdjFIOXpNMyA3aDN2MUgzeiIvPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTggMTBoMXY0SDh6bS0yIDBoMXY0SDZ6Ii8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-merge-cancel-cell{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNNiAxdjFIMnYxMWg0djFIMmExIDEgMCAwMS0xLTFWMmExIDEgMCAwMTEtMWg0em0zIDBoNGExIDEgMCAwMTEgMXYxMWExIDEgMCAwMS0xIDFIOXYtMWg0VjJIOVYxeiIvPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTYgMWgxdjRINnptMiAwaDF2NEg4eiIvPjxwYXRoIGQ9Ik0zIDcuNUw1IDZ2M3ptOSAwTDEwIDZ2M3oiLz48cGF0aCBkPSJNNCA3aDN2MUg0em00IDBoM3YxSDh6Ii8+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNOCAxMGgxdjRIOHptLTIgMGgxdjRINnoiLz48L2c+PC9zdmc+)}.ce-contextmenu-vertical-align{background-image:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiAxM2gxMnYxSDJ6bTAtM2g4djFIMnptMC0zaDEydjFIMnptMC02aDEydjFIMnptMCAzaDh2MUgyeiIgZmlsbD0iIzNkNDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+)}.ce-contextmenu-vertical-align-top{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTggOEg3djZoMXptLS41LTNMMTAgOEg1ek0yIDNoMTF2MUgyeiIgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+)}.ce-contextmenu-vertical-align-middle{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOCAxMkg3djNoMXptLS41LTNsMi41IDNINXpNNyAzaDFWMEg3em0uNSAzTDUgM2g1ek0yIDdoMTF2MUgyeiIgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+)}.ce-contextmenu-vertical-align-bottom{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTcgOWgxVjNIN3ptLjUgM0w1IDloNXpNMiAxM2gxMXYxSDJ6IiBmaWxsPSIjM0Q0NzU3IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.ce-contextmenu-border-all{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iIzNENDc1NyIvPjxwYXRoIGZpbGw9IiMzRDQ3NTciIGQ9Ik0zIDhoMTF2MUgzeiIvPjxwYXRoIGZpbGw9IiMzRDQ3NTciIGQ9Ik05IDN2MTFIOFYzeiIvPjwvc3ZnPg==)}.ce-contextmenu-border-empty{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMyAzaC0xVjJoMWExIDEgMCAwMTEgMXYxaC0xVjN6bS0zLTF2MUg4LjV2MmgtMVYzSDZWMmg0ek00IDJ2MUgzdjFIMlYzYTEgMSAwIDAxMS0xaDF6TTIgNmgxdjEuNWgydjFIM1YxMEgyVjZ6bTAgNmgxdjFoMXYxSDNhMSAxIDAgMDEtMS0xdi0xem00IDJ2LTFoMS41di0yaDF2MkgxMHYxSDZ6bTYgMHYtMWgxdi0xaDF2MWExIDEgMCAwMS0xIDFoLTF6bTItNGgtMVY4LjVoLTJ2LTFoMlY2aDF2NHpNOC41IDcuNXYtMWgtMXYxaC0xdjFoMXYxaDF2LTFoMXYtMWgtMXoiIGZpbGw9IiNBQUFDQjAiLz48L3N2Zz4=)}.ce-contextmenu-border-external{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iIzNENDc1NyIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOSA1VjNIOHYyaDF6bTAgOXYtMkg4djJoMXpNNSA4SDN2MWgyVjh6bTkgMGgtMnYxaDJWOHpNOSA3djFoMXYxSDl2MUg4VjlIN1Y4aDFWN2gxeiIgZmlsbD0iI0FBQUNCMCIvPjwvc3ZnPg==)}.ce-hyperlink-popup{background:#fff;box-shadow:0 2px 12px #626b8433;border-radius:2px;color:#3d4757;padding:12px 16px;position:absolute;z-index:1;text-align:center;display:none}.ce-hyperlink-popup a{min-width:100px;max-width:300px;font-size:12px;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;text-decoration:none;border-bottom-width:1px;border-bottom-style:solid;color:#00f}.ce-header-indicator>div{padding:3px 6px;color:#000;font-size:12px;background:rgb(218 231 252);position:absolute;transform-origin:0 0}.ce-header-indicator-border__top,.ce-header-indicator-border__bottom,.ce-header-indicator-border__left,.ce-header-indicator-border__right{display:block;position:absolute}.ce-header-indicator-border__top{border-top:2px dashed rgb(238,238,238)}.ce-header-indicator-border__bottom{border-top:2px dashed rgb(238,238,238);width:100%}.ce-header-indicator-border__left{border-left:2px dashed rgb(238,238,238)}.ce-header-indicator-border__right{border-right:2px dashed rgb(238,238,238)}.ce-inputarea{width:1px;height:12px;min-width:0;min-height:0;margin:0;padding:0;left:0;right:0;letter-spacing:0;font-size:12px;position:absolute;z-index:-1;outline:none;resize:none;border:none;overflow:hidden;color:transparent;user-select:none;background-color:transparent}.ce-cursor{width:1px;height:20px;left:0;right:0;position:absolute;outline:none;background-color:#000;pointer-events:none}.ce-cursor.ce-cursor--animation{animation-duration:1s;animation-iteration-count:infinite;animation-name:cursorAnimation}@keyframes cursorAnimation{0%{opacity:1}13%{opacity:0}50%{opacity:0}63%{opacity:1}to{opacity:1}}')),document.head.appendChild(e)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}})();})();
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __defProps = Object.defineProperties;
|
|
4
4
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
@@ -23,7 +23,7 @@ var __publicField = (obj, key, value) => {
|
|
|
23
23
|
return value;
|
|
24
24
|
};
|
|
25
25
|
var index = "";
|
|
26
|
-
const version = "0.9.
|
|
26
|
+
const version = "0.9.26";
|
|
27
27
|
const ZERO = "\u200B";
|
|
28
28
|
const WRAP = "\n";
|
|
29
29
|
var RowFlex;
|
|
@@ -201,6 +201,7 @@ const EDITOR_ELEMENT_ZIP_ATTR = [
|
|
|
201
201
|
"rowMargin",
|
|
202
202
|
"dashArray",
|
|
203
203
|
"trList",
|
|
204
|
+
"borderType",
|
|
204
205
|
"width",
|
|
205
206
|
"height",
|
|
206
207
|
"url",
|
|
@@ -3503,7 +3504,7 @@ function zipElementList(payload) {
|
|
|
3503
3504
|
let e = 0;
|
|
3504
3505
|
while (e < elementList.length) {
|
|
3505
3506
|
let element = elementList[e];
|
|
3506
|
-
if (e === 0 && element.value === ZERO) {
|
|
3507
|
+
if (e === 0 && element.value === ZERO && (!element.type || element.type === ElementType.TEXT)) {
|
|
3507
3508
|
e++;
|
|
3508
3509
|
continue;
|
|
3509
3510
|
}
|
|
@@ -3514,11 +3515,15 @@ function zipElementList(payload) {
|
|
|
3514
3515
|
delete tr.id;
|
|
3515
3516
|
for (let d = 0; d < tr.tdList.length; d++) {
|
|
3516
3517
|
const td = tr.tdList[d];
|
|
3517
|
-
|
|
3518
|
+
const zipTd = {
|
|
3518
3519
|
colspan: td.colspan,
|
|
3519
3520
|
rowspan: td.rowspan,
|
|
3520
3521
|
value: zipElementList(td.value)
|
|
3521
3522
|
};
|
|
3523
|
+
if (td.verticalAlign) {
|
|
3524
|
+
zipTd.verticalAlign = td.verticalAlign;
|
|
3525
|
+
}
|
|
3526
|
+
tr.tdList[d] = zipTd;
|
|
3522
3527
|
}
|
|
3523
3528
|
}
|
|
3524
3529
|
}
|
|
@@ -4315,9 +4320,7 @@ function mousedown(evt, host) {
|
|
|
4315
4320
|
const tableTool = draw.getTableTool();
|
|
4316
4321
|
tableTool.dispose();
|
|
4317
4322
|
if (isTable && !isReadonly) {
|
|
4318
|
-
|
|
4319
|
-
const originalPositionList = position.getOriginalPositionList();
|
|
4320
|
-
tableTool.render(originalElementList[index2], originalPositionList[index2]);
|
|
4323
|
+
tableTool.render();
|
|
4321
4324
|
}
|
|
4322
4325
|
const hyperlinkParticle = draw.getHyperlinkParticle();
|
|
4323
4326
|
hyperlinkParticle.clearHyperlinkPopup();
|
|
@@ -4772,6 +4775,10 @@ function keydown(evt, host) {
|
|
|
4772
4775
|
evt.preventDefault();
|
|
4773
4776
|
} else if (evt.key === KeyMap.ESC) {
|
|
4774
4777
|
host.clearPainterStyle();
|
|
4778
|
+
const zoneManager = draw.getZone();
|
|
4779
|
+
if (zoneManager.isHeaderActive()) {
|
|
4780
|
+
zoneManager.setZone(EditorZone.MAIN);
|
|
4781
|
+
}
|
|
4775
4782
|
evt.preventDefault();
|
|
4776
4783
|
} else if (evt.key === KeyMap.TAB) {
|
|
4777
4784
|
draw.insertElementList([{
|
|
@@ -5491,15 +5498,30 @@ class Position {
|
|
|
5491
5498
|
for (let d = 0; d < tr.tdList.length; d++) {
|
|
5492
5499
|
const td = tr.tdList[d];
|
|
5493
5500
|
td.positionList = [];
|
|
5501
|
+
const rowList2 = td.rowList;
|
|
5494
5502
|
const drawRowResult = this.computePageRowPosition({
|
|
5495
5503
|
positionList: td.positionList,
|
|
5496
|
-
rowList:
|
|
5504
|
+
rowList: rowList2,
|
|
5497
5505
|
pageNo,
|
|
5498
5506
|
startIndex: 0,
|
|
5499
5507
|
startX: (td.x + tdPadding) * scale + tablePreX,
|
|
5500
5508
|
startY: td.y * scale + tablePreY,
|
|
5501
5509
|
innerWidth: (td.width - tdGap) * scale
|
|
5502
5510
|
});
|
|
5511
|
+
if (td.verticalAlign === VerticalAlign.MIDDLE || td.verticalAlign == VerticalAlign.BOTTOM) {
|
|
5512
|
+
const rowsHeight = rowList2.reduce((pre, cur) => pre + cur.height, 0);
|
|
5513
|
+
const blankHeight = td.height - tdGap - rowsHeight;
|
|
5514
|
+
const offsetHeight = td.verticalAlign === VerticalAlign.MIDDLE ? blankHeight / 2 : blankHeight;
|
|
5515
|
+
if (Math.floor(offsetHeight) > 0) {
|
|
5516
|
+
td.positionList.forEach((tdPosition) => {
|
|
5517
|
+
const { coordinate: { leftTop, leftBottom, rightBottom, rightTop } } = tdPosition;
|
|
5518
|
+
leftTop[1] += offsetHeight;
|
|
5519
|
+
leftBottom[1] += offsetHeight;
|
|
5520
|
+
rightBottom[1] += offsetHeight;
|
|
5521
|
+
rightTop[1] += offsetHeight;
|
|
5522
|
+
});
|
|
5523
|
+
}
|
|
5524
|
+
}
|
|
5503
5525
|
x = drawRowResult.x;
|
|
5504
5526
|
y = drawRowResult.y;
|
|
5505
5527
|
}
|
|
@@ -5632,13 +5654,14 @@ class Position {
|
|
|
5632
5654
|
let isLastArea = false;
|
|
5633
5655
|
let curPositionIndex = -1;
|
|
5634
5656
|
if (isTable) {
|
|
5657
|
+
const { scale } = this.options;
|
|
5635
5658
|
const { td, tablePosition } = payload;
|
|
5636
5659
|
if (td && tablePosition) {
|
|
5637
5660
|
const { leftTop } = tablePosition.coordinate;
|
|
5638
|
-
const tdX = td.x + leftTop[0];
|
|
5639
|
-
const tdY = td.y + leftTop[1];
|
|
5640
|
-
const tdWidth = td.width;
|
|
5641
|
-
const tdHeight = td.height;
|
|
5661
|
+
const tdX = td.x * scale + leftTop[0];
|
|
5662
|
+
const tdY = td.y * scale + leftTop[1];
|
|
5663
|
+
const tdWidth = td.width * scale;
|
|
5664
|
+
const tdHeight = td.height * scale;
|
|
5642
5665
|
if (!(tdX < x && x < tdX + tdWidth && tdY < y && y < tdY + tdHeight)) {
|
|
5643
5666
|
return {
|
|
5644
5667
|
index: curPositionIndex
|
|
@@ -5756,6 +5779,12 @@ class RangeManager {
|
|
|
5756
5779
|
const elementList = this.draw.getElementList();
|
|
5757
5780
|
return elementList.slice(startIndex + 1, endIndex + 1);
|
|
5758
5781
|
}
|
|
5782
|
+
getTextLikeSelection() {
|
|
5783
|
+
const selection = this.getSelection();
|
|
5784
|
+
if (!selection)
|
|
5785
|
+
return null;
|
|
5786
|
+
return selection.filter((s) => !s.type || TEXTLIKE_ELEMENT_TYPE.includes(s.type));
|
|
5787
|
+
}
|
|
5759
5788
|
getRangeRow() {
|
|
5760
5789
|
const { startIndex, endIndex } = this.range;
|
|
5761
5790
|
if (!~startIndex && !~endIndex)
|
|
@@ -5825,6 +5854,7 @@ class RangeManager {
|
|
|
5825
5854
|
return;
|
|
5826
5855
|
const type = curElement.type || ElementType.TEXT;
|
|
5827
5856
|
const font = curElement.font || this.options.defaultFont;
|
|
5857
|
+
const size = curElement.size || this.options.defaultSize;
|
|
5828
5858
|
const bold = !~curElementList.findIndex((el) => !el.bold);
|
|
5829
5859
|
const italic = !~curElementList.findIndex((el) => !el.italic);
|
|
5830
5860
|
const underline = !~curElementList.findIndex((el) => !el.underline);
|
|
@@ -5843,6 +5873,7 @@ class RangeManager {
|
|
|
5843
5873
|
redo,
|
|
5844
5874
|
painter,
|
|
5845
5875
|
font,
|
|
5876
|
+
size,
|
|
5846
5877
|
bold,
|
|
5847
5878
|
italic,
|
|
5848
5879
|
underline,
|
|
@@ -5858,6 +5889,7 @@ class RangeManager {
|
|
|
5858
5889
|
if (!this.listener.rangeStyleChange)
|
|
5859
5890
|
return;
|
|
5860
5891
|
const font = this.options.defaultFont;
|
|
5892
|
+
const size = this.options.defaultSize;
|
|
5861
5893
|
const rowMargin = this.options.defaultRowMargin;
|
|
5862
5894
|
const painter = !!this.draw.getPainterStyle();
|
|
5863
5895
|
const undo = this.historyManager.isCanUndo();
|
|
@@ -5868,6 +5900,7 @@ class RangeManager {
|
|
|
5868
5900
|
redo,
|
|
5869
5901
|
painter,
|
|
5870
5902
|
font,
|
|
5903
|
+
size,
|
|
5871
5904
|
bold: false,
|
|
5872
5905
|
italic: false,
|
|
5873
5906
|
underline: false,
|
|
@@ -6415,14 +6448,26 @@ class PageNumber {
|
|
|
6415
6448
|
this.options = draw.getOptions();
|
|
6416
6449
|
}
|
|
6417
6450
|
render(ctx, pageNo) {
|
|
6418
|
-
const {
|
|
6451
|
+
const { pageNumber: { size, font, color, rowFlex }, scale, pageMode } = this.options;
|
|
6452
|
+
const text = `${pageNo + 1}`;
|
|
6419
6453
|
const width = this.draw.getWidth();
|
|
6420
6454
|
const height = pageMode === PageMode.CONTINUITY ? this.draw.getCanvasHeight(pageNo) : this.draw.getHeight();
|
|
6421
6455
|
const pageNumberBottom = this.draw.getPageNumberBottom();
|
|
6456
|
+
const y = height - pageNumberBottom;
|
|
6422
6457
|
ctx.save();
|
|
6423
|
-
ctx.fillStyle =
|
|
6424
|
-
ctx.font = `${
|
|
6425
|
-
|
|
6458
|
+
ctx.fillStyle = color;
|
|
6459
|
+
ctx.font = `${size * scale}px ${font}`;
|
|
6460
|
+
let x = 0;
|
|
6461
|
+
const margins = this.draw.getMargins();
|
|
6462
|
+
const { width: textWidth } = ctx.measureText(text);
|
|
6463
|
+
if (rowFlex === RowFlex.CENTER) {
|
|
6464
|
+
x = (width + textWidth) / 2;
|
|
6465
|
+
} else if (rowFlex === RowFlex.RIGHT) {
|
|
6466
|
+
x = width - textWidth - margins[1];
|
|
6467
|
+
} else {
|
|
6468
|
+
x = margins[3];
|
|
6469
|
+
}
|
|
6470
|
+
ctx.fillText(text, x, y);
|
|
6426
6471
|
ctx.restore();
|
|
6427
6472
|
}
|
|
6428
6473
|
}
|
|
@@ -6569,14 +6614,19 @@ class TableParticle {
|
|
|
6569
6614
|
this.range = draw.getRange();
|
|
6570
6615
|
this.options = draw.getOptions();
|
|
6571
6616
|
}
|
|
6572
|
-
_drawBorder(
|
|
6617
|
+
_drawBorder(payload) {
|
|
6618
|
+
const { ctx, startX, startY, width, height, isDrawFullBorder } = payload;
|
|
6573
6619
|
ctx.beginPath();
|
|
6574
6620
|
const x = Math.round(startX);
|
|
6575
6621
|
const y = Math.round(startY);
|
|
6576
6622
|
ctx.translate(0.5, 0.5);
|
|
6577
|
-
|
|
6578
|
-
|
|
6579
|
-
|
|
6623
|
+
if (isDrawFullBorder) {
|
|
6624
|
+
ctx.rect(x, y, width, height);
|
|
6625
|
+
} else {
|
|
6626
|
+
ctx.moveTo(x, y + height);
|
|
6627
|
+
ctx.lineTo(x, y);
|
|
6628
|
+
ctx.lineTo(x + width, y);
|
|
6629
|
+
}
|
|
6580
6630
|
ctx.stroke();
|
|
6581
6631
|
ctx.translate(-0.5, -0.5);
|
|
6582
6632
|
}
|
|
@@ -6698,29 +6748,39 @@ class TableParticle {
|
|
|
6698
6748
|
ctx.restore();
|
|
6699
6749
|
}
|
|
6700
6750
|
render(ctx, element, startX, startY) {
|
|
6701
|
-
const { colgroup, trList } = element;
|
|
6702
|
-
if (!colgroup || !trList)
|
|
6751
|
+
const { colgroup, trList, borderType } = element;
|
|
6752
|
+
if (!colgroup || !trList || borderType === TableBorder.EMPTY)
|
|
6703
6753
|
return;
|
|
6704
6754
|
const { scale } = this.options;
|
|
6705
6755
|
const tableWidth = element.width * scale;
|
|
6706
6756
|
const tableHeight = element.height * scale;
|
|
6757
|
+
const isExternalBorderType = borderType === TableBorder.EXTERNAL;
|
|
6707
6758
|
ctx.save();
|
|
6708
|
-
this._drawBorder(
|
|
6709
|
-
|
|
6710
|
-
|
|
6711
|
-
|
|
6712
|
-
|
|
6713
|
-
|
|
6714
|
-
|
|
6715
|
-
|
|
6716
|
-
|
|
6717
|
-
|
|
6718
|
-
|
|
6719
|
-
|
|
6720
|
-
|
|
6721
|
-
|
|
6722
|
-
|
|
6723
|
-
|
|
6759
|
+
this._drawBorder({
|
|
6760
|
+
ctx,
|
|
6761
|
+
startX,
|
|
6762
|
+
startY,
|
|
6763
|
+
width: tableWidth,
|
|
6764
|
+
height: tableHeight,
|
|
6765
|
+
isDrawFullBorder: isExternalBorderType
|
|
6766
|
+
});
|
|
6767
|
+
if (!isExternalBorderType) {
|
|
6768
|
+
for (let t = 0; t < trList.length; t++) {
|
|
6769
|
+
const tr = trList[t];
|
|
6770
|
+
for (let d = 0; d < tr.tdList.length; d++) {
|
|
6771
|
+
const td = tr.tdList[d];
|
|
6772
|
+
const width = td.width * scale;
|
|
6773
|
+
const height = td.height * scale;
|
|
6774
|
+
const x = Math.round(td.x * scale + startX + width);
|
|
6775
|
+
const y = Math.round(td.y * scale + startY);
|
|
6776
|
+
ctx.translate(0.5, 0.5);
|
|
6777
|
+
ctx.beginPath();
|
|
6778
|
+
ctx.moveTo(x, y);
|
|
6779
|
+
ctx.lineTo(x, y + height);
|
|
6780
|
+
ctx.lineTo(x - width, y + height);
|
|
6781
|
+
ctx.stroke();
|
|
6782
|
+
ctx.translate(-0.5, -0.5);
|
|
6783
|
+
}
|
|
6724
6784
|
}
|
|
6725
6785
|
}
|
|
6726
6786
|
ctx.restore();
|
|
@@ -6733,8 +6793,9 @@ var TableOrder;
|
|
|
6733
6793
|
})(TableOrder || (TableOrder = {}));
|
|
6734
6794
|
class TableTool {
|
|
6735
6795
|
constructor(draw) {
|
|
6736
|
-
__publicField(this, "
|
|
6737
|
-
__publicField(this, "
|
|
6796
|
+
__publicField(this, "MIN_TD_WIDTH", 20);
|
|
6797
|
+
__publicField(this, "ROW_COL_OFFSET", 18);
|
|
6798
|
+
__publicField(this, "BORDER_VALUE", 4);
|
|
6738
6799
|
__publicField(this, "draw");
|
|
6739
6800
|
__publicField(this, "canvas");
|
|
6740
6801
|
__publicField(this, "options");
|
|
@@ -6742,6 +6803,7 @@ class TableTool {
|
|
|
6742
6803
|
__publicField(this, "container");
|
|
6743
6804
|
__publicField(this, "toolRowContainer");
|
|
6744
6805
|
__publicField(this, "toolColContainer");
|
|
6806
|
+
__publicField(this, "toolBorderContainer");
|
|
6745
6807
|
__publicField(this, "anchorLine");
|
|
6746
6808
|
__publicField(this, "mousedownX");
|
|
6747
6809
|
__publicField(this, "mousedownY");
|
|
@@ -6752,34 +6814,46 @@ class TableTool {
|
|
|
6752
6814
|
this.container = draw.getContainer();
|
|
6753
6815
|
this.toolRowContainer = null;
|
|
6754
6816
|
this.toolColContainer = null;
|
|
6817
|
+
this.toolBorderContainer = null;
|
|
6755
6818
|
this.anchorLine = null;
|
|
6756
6819
|
this.mousedownX = 0;
|
|
6757
6820
|
this.mousedownY = 0;
|
|
6758
6821
|
}
|
|
6759
6822
|
dispose() {
|
|
6760
|
-
var _a, _b;
|
|
6823
|
+
var _a, _b, _c;
|
|
6761
6824
|
(_a = this.toolRowContainer) == null ? void 0 : _a.remove();
|
|
6762
6825
|
(_b = this.toolColContainer) == null ? void 0 : _b.remove();
|
|
6826
|
+
(_c = this.toolBorderContainer) == null ? void 0 : _c.remove();
|
|
6827
|
+
this.toolRowContainer = null;
|
|
6828
|
+
this.toolColContainer = null;
|
|
6829
|
+
this.toolBorderContainer = null;
|
|
6763
6830
|
}
|
|
6764
|
-
render(
|
|
6831
|
+
render() {
|
|
6832
|
+
const { isTable, index: index2, trIndex, tdIndex } = this.position.getPositionContext();
|
|
6833
|
+
if (!isTable)
|
|
6834
|
+
return;
|
|
6765
6835
|
this.dispose();
|
|
6766
|
-
const { trIndex, tdIndex } = this.position.getPositionContext();
|
|
6767
6836
|
const { scale } = this.options;
|
|
6768
|
-
const
|
|
6769
|
-
const
|
|
6837
|
+
const elementList = this.draw.getOriginalElementList();
|
|
6838
|
+
const positionList = this.position.getOriginalPositionList();
|
|
6839
|
+
const element = elementList[index2];
|
|
6840
|
+
const position = positionList[index2];
|
|
6770
6841
|
const { colgroup, trList } = element;
|
|
6771
6842
|
const { coordinate: { leftTop } } = position;
|
|
6843
|
+
const height = this.draw.getHeight();
|
|
6844
|
+
const pageGap = this.draw.getPageGap();
|
|
6772
6845
|
const prePageHeight = this.draw.getPageNo() * (height + pageGap);
|
|
6846
|
+
const tableX = leftTop[0];
|
|
6847
|
+
const tableY = leftTop[1] + prePageHeight;
|
|
6773
6848
|
const td = element.trList[trIndex].tdList[tdIndex];
|
|
6774
6849
|
const rowIndex = td.rowIndex;
|
|
6775
6850
|
const colIndex = td.colIndex;
|
|
6776
|
-
const
|
|
6777
|
-
const colList = colgroup.map((col) => col.width);
|
|
6851
|
+
const rowHeightList = trList.map((tr) => tr.height);
|
|
6778
6852
|
const rowContainer = document.createElement("div");
|
|
6779
6853
|
rowContainer.classList.add(`${EDITOR_PREFIX}-table-tool__row`);
|
|
6780
|
-
rowContainer.style.transform = `translateX(-${this.
|
|
6781
|
-
for (let r = 0; r <
|
|
6782
|
-
const rowHeight =
|
|
6854
|
+
rowContainer.style.transform = `translateX(-${this.ROW_COL_OFFSET * scale}px)`;
|
|
6855
|
+
for (let r = 0; r < rowHeightList.length; r++) {
|
|
6856
|
+
const rowHeight = rowHeightList[r] * scale;
|
|
6783
6857
|
const rowItem = document.createElement("div");
|
|
6784
6858
|
rowItem.classList.add(`${EDITOR_PREFIX}-table-tool__row__item`);
|
|
6785
6859
|
if (r === rowIndex) {
|
|
@@ -6791,7 +6865,6 @@ class TableTool {
|
|
|
6791
6865
|
this._mousedown({
|
|
6792
6866
|
evt,
|
|
6793
6867
|
element,
|
|
6794
|
-
position,
|
|
6795
6868
|
index: r,
|
|
6796
6869
|
order: TableOrder.ROW
|
|
6797
6870
|
});
|
|
@@ -6800,15 +6873,16 @@ class TableTool {
|
|
|
6800
6873
|
rowItem.style.height = `${rowHeight}px`;
|
|
6801
6874
|
rowContainer.append(rowItem);
|
|
6802
6875
|
}
|
|
6803
|
-
rowContainer.style.left = `${
|
|
6804
|
-
rowContainer.style.top = `${
|
|
6876
|
+
rowContainer.style.left = `${tableX}px`;
|
|
6877
|
+
rowContainer.style.top = `${tableY}px`;
|
|
6805
6878
|
this.container.append(rowContainer);
|
|
6806
6879
|
this.toolRowContainer = rowContainer;
|
|
6880
|
+
const colWidthList = colgroup.map((col) => col.width);
|
|
6807
6881
|
const colContainer = document.createElement("div");
|
|
6808
6882
|
colContainer.classList.add(`${EDITOR_PREFIX}-table-tool__col`);
|
|
6809
|
-
colContainer.style.transform = `translateY(-${this.
|
|
6810
|
-
for (let c = 0; c <
|
|
6811
|
-
const
|
|
6883
|
+
colContainer.style.transform = `translateY(-${this.ROW_COL_OFFSET * scale}px)`;
|
|
6884
|
+
for (let c = 0; c < colWidthList.length; c++) {
|
|
6885
|
+
const colWidth = colWidthList[c] * scale;
|
|
6812
6886
|
const colItem = document.createElement("div");
|
|
6813
6887
|
colItem.classList.add(`${EDITOR_PREFIX}-table-tool__col__item`);
|
|
6814
6888
|
if (c === colIndex) {
|
|
@@ -6820,22 +6894,67 @@ class TableTool {
|
|
|
6820
6894
|
this._mousedown({
|
|
6821
6895
|
evt,
|
|
6822
6896
|
element,
|
|
6823
|
-
position,
|
|
6824
6897
|
index: c,
|
|
6825
6898
|
order: TableOrder.COL
|
|
6826
6899
|
});
|
|
6827
6900
|
};
|
|
6828
6901
|
colItem.append(colItemAnchor);
|
|
6829
|
-
colItem.style.width = `${
|
|
6902
|
+
colItem.style.width = `${colWidth}px`;
|
|
6830
6903
|
colContainer.append(colItem);
|
|
6831
6904
|
}
|
|
6832
|
-
colContainer.style.left = `${
|
|
6833
|
-
colContainer.style.top = `${
|
|
6905
|
+
colContainer.style.left = `${tableX}px`;
|
|
6906
|
+
colContainer.style.top = `${tableY}px`;
|
|
6834
6907
|
this.container.append(colContainer);
|
|
6835
6908
|
this.toolColContainer = colContainer;
|
|
6909
|
+
const tableHeight = element.height * scale;
|
|
6910
|
+
const tableWidth = element.width * scale;
|
|
6911
|
+
const borderContainer = document.createElement("div");
|
|
6912
|
+
borderContainer.classList.add(`${EDITOR_PREFIX}-table-tool__border`);
|
|
6913
|
+
borderContainer.style.height = `${tableHeight}px`;
|
|
6914
|
+
borderContainer.style.width = `${tableWidth}px`;
|
|
6915
|
+
borderContainer.style.left = `${tableX}px`;
|
|
6916
|
+
borderContainer.style.top = `${tableY}px`;
|
|
6917
|
+
for (let r = 0; r < trList.length; r++) {
|
|
6918
|
+
const tr = trList[r];
|
|
6919
|
+
for (let d = 0; d < tr.tdList.length; d++) {
|
|
6920
|
+
const td2 = tr.tdList[d];
|
|
6921
|
+
const rowBorder = document.createElement("div");
|
|
6922
|
+
rowBorder.classList.add(`${EDITOR_PREFIX}-table-tool__border__row`);
|
|
6923
|
+
rowBorder.style.width = `${td2.width * scale}px`;
|
|
6924
|
+
rowBorder.style.height = `${this.BORDER_VALUE}px`;
|
|
6925
|
+
rowBorder.style.top = `${(td2.y + td2.height) * scale - this.BORDER_VALUE / 2}px`;
|
|
6926
|
+
rowBorder.style.left = `${td2.x * scale}px`;
|
|
6927
|
+
rowBorder.onmousedown = (evt) => {
|
|
6928
|
+
this._mousedown({
|
|
6929
|
+
evt,
|
|
6930
|
+
element,
|
|
6931
|
+
index: td2.rowIndex,
|
|
6932
|
+
order: TableOrder.ROW
|
|
6933
|
+
});
|
|
6934
|
+
};
|
|
6935
|
+
borderContainer.appendChild(rowBorder);
|
|
6936
|
+
const colBorder = document.createElement("div");
|
|
6937
|
+
colBorder.classList.add(`${EDITOR_PREFIX}-table-tool__border__col`);
|
|
6938
|
+
colBorder.style.width = `${this.BORDER_VALUE}px`;
|
|
6939
|
+
colBorder.style.height = `${td2.height * scale}px`;
|
|
6940
|
+
colBorder.style.top = `${td2.y * scale}px`;
|
|
6941
|
+
colBorder.style.left = `${(td2.x + td2.width) * scale - this.BORDER_VALUE / 2}px`;
|
|
6942
|
+
colBorder.onmousedown = (evt) => {
|
|
6943
|
+
this._mousedown({
|
|
6944
|
+
evt,
|
|
6945
|
+
element,
|
|
6946
|
+
index: td2.colIndex,
|
|
6947
|
+
order: TableOrder.COL
|
|
6948
|
+
});
|
|
6949
|
+
};
|
|
6950
|
+
borderContainer.appendChild(colBorder);
|
|
6951
|
+
}
|
|
6952
|
+
}
|
|
6953
|
+
this.container.append(borderContainer);
|
|
6954
|
+
this.toolBorderContainer = borderContainer;
|
|
6836
6955
|
}
|
|
6837
6956
|
_mousedown(payload) {
|
|
6838
|
-
const { evt, index: index2, order, element
|
|
6957
|
+
const { evt, index: index2, order, element } = payload;
|
|
6839
6958
|
this.canvas = this.draw.getPage();
|
|
6840
6959
|
const { scale } = this.options;
|
|
6841
6960
|
const width = this.draw.getWidth();
|
|
@@ -6879,6 +6998,7 @@ class TableTool {
|
|
|
6879
6998
|
};
|
|
6880
6999
|
document.addEventListener("mousemove", mousemoveFn);
|
|
6881
7000
|
document.addEventListener("mouseup", () => {
|
|
7001
|
+
var _a;
|
|
6882
7002
|
let isChangeSize = false;
|
|
6883
7003
|
if (order === TableOrder.ROW) {
|
|
6884
7004
|
element.trList[index2].height += dy;
|
|
@@ -6891,8 +7011,9 @@ class TableTool {
|
|
|
6891
7011
|
const innerWidth = this.draw.getInnerWidth();
|
|
6892
7012
|
const curColWidth = colgroup[index2].width;
|
|
6893
7013
|
const moveColWidth = curColWidth + dx;
|
|
6894
|
-
|
|
6895
|
-
|
|
7014
|
+
const nextColWidth = ((_a = colgroup[index2 + 1]) == null ? void 0 : _a.width) || 0;
|
|
7015
|
+
if (moveColWidth < this.MIN_TD_WIDTH || moveColWidth > curColWidth + nextColWidth) {
|
|
7016
|
+
dx = this.MIN_TD_WIDTH - curColWidth;
|
|
6896
7017
|
}
|
|
6897
7018
|
let moveTableWidth = 0;
|
|
6898
7019
|
for (let c = 0; c < colgroup.length; c++) {
|
|
@@ -6922,7 +7043,6 @@ class TableTool {
|
|
|
6922
7043
|
}
|
|
6923
7044
|
if (isChangeSize) {
|
|
6924
7045
|
this.draw.render({ isSetCursor: false });
|
|
6925
|
-
this.render(element, position);
|
|
6926
7046
|
}
|
|
6927
7047
|
anchorLine.remove();
|
|
6928
7048
|
document.removeEventListener("mousemove", mousemoveFn);
|
|
@@ -7873,7 +7993,7 @@ class WorkerManager {
|
|
|
7873
7993
|
this.wordCountWorker.onerror = (evt) => {
|
|
7874
7994
|
reject(evt);
|
|
7875
7995
|
};
|
|
7876
|
-
const elementList = this.draw.
|
|
7996
|
+
const elementList = this.draw.getOriginalMainElementList();
|
|
7877
7997
|
this.wordCountWorker.postMessage(elementList);
|
|
7878
7998
|
});
|
|
7879
7999
|
}
|
|
@@ -8212,7 +8332,15 @@ const contextmenu$1 = {
|
|
|
8212
8332
|
deleteCol: "\u5220\u96641\u5217",
|
|
8213
8333
|
deleteTable: "\u5220\u9664\u6574\u4E2A\u8868\u683C",
|
|
8214
8334
|
mergeCell: "\u5408\u5E76\u5355\u5143\u683C",
|
|
8215
|
-
mergeCancelCell: "\u53D6\u6D88\u5408\u5E76"
|
|
8335
|
+
mergeCancelCell: "\u53D6\u6D88\u5408\u5E76",
|
|
8336
|
+
verticalAlign: "\u5782\u76F4\u5BF9\u9F50",
|
|
8337
|
+
verticalAlignTop: "\u9876\u7AEF\u5BF9\u9F50",
|
|
8338
|
+
verticalAlignMiddle: "\u5782\u76F4\u5C45\u4E2D",
|
|
8339
|
+
verticalAlignBottom: "\u5E95\u7AEF\u5BF9\u9F50",
|
|
8340
|
+
border: "\u8868\u683C\u8FB9\u6846",
|
|
8341
|
+
borderAll: "\u6240\u6709\u6846\u7EBF",
|
|
8342
|
+
borderEmpty: "\u65E0\u6846\u7EBF",
|
|
8343
|
+
borderExternal: "\u5916\u4FA7\u6846\u7EBF"
|
|
8216
8344
|
}
|
|
8217
8345
|
};
|
|
8218
8346
|
const datePicker$1 = {
|
|
@@ -8235,9 +8363,14 @@ const datePicker$1 = {
|
|
|
8235
8363
|
minute: "\u5206",
|
|
8236
8364
|
second: "\u79D2"
|
|
8237
8365
|
};
|
|
8366
|
+
const frame$1 = {
|
|
8367
|
+
header: "\u9875\u7709",
|
|
8368
|
+
footer: "\u9875\u811A"
|
|
8369
|
+
};
|
|
8238
8370
|
var zhCN = {
|
|
8239
8371
|
contextmenu: contextmenu$1,
|
|
8240
|
-
datePicker: datePicker$1
|
|
8372
|
+
datePicker: datePicker$1,
|
|
8373
|
+
frame: frame$1
|
|
8241
8374
|
};
|
|
8242
8375
|
class DatePicker {
|
|
8243
8376
|
constructor(options = {}) {
|
|
@@ -8962,7 +9095,15 @@ const contextmenu = {
|
|
|
8962
9095
|
deleteCol: "Delete 1 col",
|
|
8963
9096
|
deleteTable: "Delete table",
|
|
8964
9097
|
mergeCell: "Merge cell",
|
|
8965
|
-
mergeCancelCell: "Cancel merge cell"
|
|
9098
|
+
mergeCancelCell: "Cancel merge cell",
|
|
9099
|
+
verticalAlign: "Vertical align",
|
|
9100
|
+
verticalAlignTop: "Top",
|
|
9101
|
+
verticalAlignMiddle: "Middle",
|
|
9102
|
+
verticalAlignBottom: "Bottom",
|
|
9103
|
+
border: "Table border",
|
|
9104
|
+
borderAll: "All",
|
|
9105
|
+
borderEmpty: "Empty",
|
|
9106
|
+
borderExternal: "External"
|
|
8966
9107
|
}
|
|
8967
9108
|
};
|
|
8968
9109
|
const datePicker = {
|
|
@@ -8985,9 +9126,14 @@ const datePicker = {
|
|
|
8985
9126
|
minute: "Minute",
|
|
8986
9127
|
second: "Second"
|
|
8987
9128
|
};
|
|
9129
|
+
const frame = {
|
|
9130
|
+
header: "Header",
|
|
9131
|
+
footer: "Footer"
|
|
9132
|
+
};
|
|
8988
9133
|
var en = {
|
|
8989
9134
|
contextmenu,
|
|
8990
|
-
datePicker
|
|
9135
|
+
datePicker,
|
|
9136
|
+
frame
|
|
8991
9137
|
};
|
|
8992
9138
|
class I18n {
|
|
8993
9139
|
constructor() {
|
|
@@ -9040,11 +9186,16 @@ class ImageObserver {
|
|
|
9040
9186
|
}
|
|
9041
9187
|
class Zone {
|
|
9042
9188
|
constructor(draw) {
|
|
9189
|
+
__publicField(this, "INDICATOR_TITLE_TRANSLATE", [20, 5]);
|
|
9043
9190
|
__publicField(this, "draw");
|
|
9191
|
+
__publicField(this, "options");
|
|
9192
|
+
__publicField(this, "i18n");
|
|
9044
9193
|
__publicField(this, "container");
|
|
9045
9194
|
__publicField(this, "currentZone");
|
|
9046
9195
|
__publicField(this, "headerIndicatorContainer");
|
|
9047
9196
|
this.draw = draw;
|
|
9197
|
+
this.i18n = draw.getI18n();
|
|
9198
|
+
this.options = draw.getOptions();
|
|
9048
9199
|
this.container = draw.getContainer();
|
|
9049
9200
|
this.currentZone = EditorZone.MAIN;
|
|
9050
9201
|
this.headerIndicatorContainer = null;
|
|
@@ -9069,29 +9220,62 @@ class Zone {
|
|
|
9069
9220
|
isCompute: false
|
|
9070
9221
|
});
|
|
9071
9222
|
if (this.isHeaderActive()) {
|
|
9072
|
-
this.
|
|
9223
|
+
this.drawHeaderZoneIndicator();
|
|
9073
9224
|
} else {
|
|
9074
9225
|
this._clearHeaderZoneIndicator();
|
|
9075
9226
|
}
|
|
9076
9227
|
}
|
|
9077
|
-
|
|
9228
|
+
drawHeaderZoneIndicator() {
|
|
9229
|
+
this._clearHeaderZoneIndicator();
|
|
9230
|
+
const { scale } = this.options;
|
|
9231
|
+
const [offsetX, offsetY] = this.INDICATOR_TITLE_TRANSLATE;
|
|
9078
9232
|
this.headerIndicatorContainer = document.createElement("div");
|
|
9079
9233
|
this.headerIndicatorContainer.classList.add(`${EDITOR_PREFIX}-header-indicator`);
|
|
9080
9234
|
const pageList = this.draw.getPageList();
|
|
9235
|
+
const margins = this.draw.getMargins();
|
|
9236
|
+
const innerWidth = this.draw.getInnerWidth();
|
|
9081
9237
|
const pageHeight = this.draw.getHeight();
|
|
9082
9238
|
const pageGap = this.draw.getPageGap();
|
|
9083
9239
|
const preY = pageHeight + pageGap;
|
|
9240
|
+
const header = this.draw.getHeader();
|
|
9241
|
+
const headerHeight = header.getHeight();
|
|
9242
|
+
const headerTop = header.getHeaderTop();
|
|
9084
9243
|
for (let p = 0; p < pageList.length; p++) {
|
|
9085
|
-
const
|
|
9086
|
-
|
|
9087
|
-
|
|
9088
|
-
|
|
9244
|
+
const startY = preY * p + headerTop;
|
|
9245
|
+
const indicatorTitle = document.createElement("div");
|
|
9246
|
+
indicatorTitle.innerText = this.i18n.t("frame.header");
|
|
9247
|
+
indicatorTitle.style.top = `${startY + headerHeight}px`;
|
|
9248
|
+
indicatorTitle.style.transform = `translate(${offsetX * scale}px, ${offsetY * scale}px) scale(${scale})`;
|
|
9249
|
+
this.headerIndicatorContainer.append(indicatorTitle);
|
|
9250
|
+
const lineTop = document.createElement("span");
|
|
9251
|
+
lineTop.classList.add(`${EDITOR_PREFIX}-header-indicator-border__top`);
|
|
9252
|
+
lineTop.style.top = `${startY}px`;
|
|
9253
|
+
lineTop.style.width = `${innerWidth}px`;
|
|
9254
|
+
lineTop.style.marginLeft = `${margins[3]}px`;
|
|
9255
|
+
this.headerIndicatorContainer.append(lineTop);
|
|
9256
|
+
const lineLeft = document.createElement("span");
|
|
9257
|
+
lineLeft.classList.add(`${EDITOR_PREFIX}-header-indicator-border__left`);
|
|
9258
|
+
lineLeft.style.top = `${startY}px`;
|
|
9259
|
+
lineLeft.style.height = `${headerHeight}px`;
|
|
9260
|
+
lineLeft.style.left = `${margins[3]}px`;
|
|
9261
|
+
this.headerIndicatorContainer.append(lineLeft);
|
|
9262
|
+
const lineBottom = document.createElement("span");
|
|
9263
|
+
lineBottom.classList.add(`${EDITOR_PREFIX}-header-indicator-border__bottom`);
|
|
9264
|
+
lineBottom.style.top = `${startY + headerHeight}px`;
|
|
9265
|
+
this.headerIndicatorContainer.append(lineBottom);
|
|
9266
|
+
const lineRight = document.createElement("span");
|
|
9267
|
+
lineRight.classList.add(`${EDITOR_PREFIX}-header-indicator-border__right`);
|
|
9268
|
+
lineRight.style.top = `${startY}px`;
|
|
9269
|
+
lineRight.style.height = `${headerHeight}px`;
|
|
9270
|
+
lineRight.style.left = `${margins[3] + innerWidth}px`;
|
|
9271
|
+
this.headerIndicatorContainer.append(lineRight);
|
|
9089
9272
|
}
|
|
9090
9273
|
this.container.append(this.headerIndicatorContainer);
|
|
9091
9274
|
}
|
|
9092
9275
|
_clearHeaderZoneIndicator() {
|
|
9093
9276
|
var _a;
|
|
9094
9277
|
(_a = this.headerIndicatorContainer) == null ? void 0 : _a.remove();
|
|
9278
|
+
this.headerIndicatorContainer = null;
|
|
9095
9279
|
}
|
|
9096
9280
|
}
|
|
9097
9281
|
class Draw {
|
|
@@ -9268,10 +9452,8 @@ class Draw {
|
|
|
9268
9452
|
return this.options.pageGap * this.options.scale;
|
|
9269
9453
|
}
|
|
9270
9454
|
getPageNumberBottom() {
|
|
9271
|
-
|
|
9272
|
-
|
|
9273
|
-
getHeaderTop() {
|
|
9274
|
-
return this.options.headerTop * this.options.scale;
|
|
9455
|
+
const { pageNumber: { bottom }, scale } = this.options;
|
|
9456
|
+
return bottom * scale;
|
|
9275
9457
|
}
|
|
9276
9458
|
getMarginIndicatorSize() {
|
|
9277
9459
|
return this.options.marginIndicatorSize * this.options.scale;
|
|
@@ -9703,20 +9885,21 @@ class Draw {
|
|
|
9703
9885
|
const trList = element.trList;
|
|
9704
9886
|
for (let t = 0; t < trList.length; t++) {
|
|
9705
9887
|
const tr = trList[t];
|
|
9706
|
-
let maxTrHeight = 0;
|
|
9707
9888
|
for (let d = 0; d < tr.tdList.length; d++) {
|
|
9708
9889
|
const td = tr.tdList[d];
|
|
9709
9890
|
const rowList2 = this.computeRowList((td.width - tdGap) * scale, td.value);
|
|
9710
9891
|
const rowHeight = rowList2.reduce((pre, cur) => pre + cur.height, 0);
|
|
9711
9892
|
td.rowList = rowList2;
|
|
9712
|
-
const
|
|
9713
|
-
if (
|
|
9714
|
-
|
|
9893
|
+
const curTdHeight = (rowHeight + tdGap) / scale;
|
|
9894
|
+
if (td.height < curTdHeight) {
|
|
9895
|
+
const extraHeight = curTdHeight - td.height;
|
|
9896
|
+
const changeTr = trList[t + td.rowspan - 1];
|
|
9897
|
+
changeTr.height += extraHeight;
|
|
9898
|
+
changeTr.tdList.forEach((changeTd) => {
|
|
9899
|
+
changeTd.height += extraHeight;
|
|
9900
|
+
});
|
|
9715
9901
|
}
|
|
9716
9902
|
}
|
|
9717
|
-
if (maxTrHeight > tr.height) {
|
|
9718
|
-
tr.height = maxTrHeight;
|
|
9719
|
-
}
|
|
9720
9903
|
}
|
|
9721
9904
|
this.tableParticle.computeRowColInfo(element);
|
|
9722
9905
|
const tableHeight = trList.reduce((pre, cur) => pre + cur.height, 0);
|
|
@@ -10164,9 +10347,9 @@ class Draw {
|
|
|
10164
10347
|
} else {
|
|
10165
10348
|
this._immediateRender();
|
|
10166
10349
|
}
|
|
10350
|
+
const positionContext = this.position.getPositionContext();
|
|
10167
10351
|
if (isSetCursor) {
|
|
10168
10352
|
const positionList = this.position.getPositionList();
|
|
10169
|
-
const positionContext = this.position.getPositionContext();
|
|
10170
10353
|
if (positionContext.isTable) {
|
|
10171
10354
|
const { index: index2, trIndex, tdIndex } = positionContext;
|
|
10172
10355
|
const elementList = this.getOriginalElementList();
|
|
@@ -10187,7 +10370,7 @@ class Draw {
|
|
|
10187
10370
|
const oldHeaderElementList = deepClone(this.header.getElementList());
|
|
10188
10371
|
const { startIndex, endIndex } = this.range.getRange();
|
|
10189
10372
|
const pageNo = this.pageNo;
|
|
10190
|
-
const oldPositionContext = deepClone(
|
|
10373
|
+
const oldPositionContext = deepClone(positionContext);
|
|
10191
10374
|
const zone = this.zone.getZone();
|
|
10192
10375
|
this.historyManager.execute(function() {
|
|
10193
10376
|
self.zone.setZone(zone);
|
|
@@ -10200,6 +10383,12 @@ class Draw {
|
|
|
10200
10383
|
});
|
|
10201
10384
|
}
|
|
10202
10385
|
nextTick(() => {
|
|
10386
|
+
if (isCompute && !this.isReadonly() && positionContext.isTable) {
|
|
10387
|
+
this.tableTool.render();
|
|
10388
|
+
}
|
|
10389
|
+
if (isCompute && this.zone.isHeaderActive()) {
|
|
10390
|
+
this.zone.drawHeaderZoneIndicator();
|
|
10391
|
+
}
|
|
10203
10392
|
if (this.listener.pageSizeChange) {
|
|
10204
10393
|
this.listener.pageSizeChange(this.pageRowList.length);
|
|
10205
10394
|
}
|
|
@@ -10230,6 +10419,7 @@ const _Command = class {
|
|
|
10230
10419
|
_Command.applyPainterStyle = adapt.applyPainterStyle.bind(adapt);
|
|
10231
10420
|
_Command.format = adapt.format.bind(adapt);
|
|
10232
10421
|
_Command.font = adapt.font.bind(adapt);
|
|
10422
|
+
_Command.size = adapt.size.bind(adapt);
|
|
10233
10423
|
_Command.sizeAdd = adapt.sizeAdd.bind(adapt);
|
|
10234
10424
|
_Command.sizeMinus = adapt.sizeMinus.bind(adapt);
|
|
10235
10425
|
_Command.bold = adapt.bold.bind(adapt);
|
|
@@ -10255,6 +10445,8 @@ const _Command = class {
|
|
|
10255
10445
|
_Command.deleteTable = adapt.deleteTable.bind(adapt);
|
|
10256
10446
|
_Command.mergeTableCell = adapt.mergeTableCell.bind(adapt);
|
|
10257
10447
|
_Command.cancelMergeTableCell = adapt.cancelMergeTableCell.bind(adapt);
|
|
10448
|
+
_Command.tableTdVerticalAlign = adapt.tableTdVerticalAlign.bind(adapt);
|
|
10449
|
+
_Command.tableBorderType = adapt.tableBorderType.bind(adapt);
|
|
10258
10450
|
_Command.image = adapt.image.bind(adapt);
|
|
10259
10451
|
_Command.hyperlink = adapt.hyperlink.bind(adapt);
|
|
10260
10452
|
_Command.deleteHyperlink = adapt.deleteHyperlink.bind(adapt);
|
|
@@ -10328,6 +10520,9 @@ const _Command = class {
|
|
|
10328
10520
|
executeFont(payload) {
|
|
10329
10521
|
return _Command.font(payload);
|
|
10330
10522
|
}
|
|
10523
|
+
executeSize(payload) {
|
|
10524
|
+
return _Command.size(payload);
|
|
10525
|
+
}
|
|
10331
10526
|
executeSizeAdd() {
|
|
10332
10527
|
return _Command.sizeAdd();
|
|
10333
10528
|
}
|
|
@@ -10403,6 +10598,12 @@ const _Command = class {
|
|
|
10403
10598
|
executeCancelMergeTableCell() {
|
|
10404
10599
|
return _Command.cancelMergeTableCell();
|
|
10405
10600
|
}
|
|
10601
|
+
executeTableTdVerticalAlign(payload) {
|
|
10602
|
+
return _Command.tableTdVerticalAlign(payload);
|
|
10603
|
+
}
|
|
10604
|
+
executeTableBorderType(payload) {
|
|
10605
|
+
return _Command.tableBorderType(payload);
|
|
10606
|
+
}
|
|
10406
10607
|
executeHyperlink(payload) {
|
|
10407
10608
|
return _Command.hyperlink(payload);
|
|
10408
10609
|
}
|
|
@@ -10517,6 +10718,7 @@ __publicField(Command, "painter");
|
|
|
10517
10718
|
__publicField(Command, "applyPainterStyle");
|
|
10518
10719
|
__publicField(Command, "format");
|
|
10519
10720
|
__publicField(Command, "font");
|
|
10721
|
+
__publicField(Command, "size");
|
|
10520
10722
|
__publicField(Command, "sizeAdd");
|
|
10521
10723
|
__publicField(Command, "sizeMinus");
|
|
10522
10724
|
__publicField(Command, "bold");
|
|
@@ -10542,6 +10744,8 @@ __publicField(Command, "deleteTableCol");
|
|
|
10542
10744
|
__publicField(Command, "deleteTable");
|
|
10543
10745
|
__publicField(Command, "mergeTableCell");
|
|
10544
10746
|
__publicField(Command, "cancelMergeTableCell");
|
|
10747
|
+
__publicField(Command, "tableTdVerticalAlign");
|
|
10748
|
+
__publicField(Command, "tableBorderType");
|
|
10545
10749
|
__publicField(Command, "image");
|
|
10546
10750
|
__publicField(Command, "hyperlink");
|
|
10547
10751
|
__publicField(Command, "deleteHyperlink");
|
|
@@ -10582,6 +10786,18 @@ const defaultWatermarkOption = {
|
|
|
10582
10786
|
size: 200,
|
|
10583
10787
|
font: "Yahei"
|
|
10584
10788
|
};
|
|
10789
|
+
var TableBorder;
|
|
10790
|
+
(function(TableBorder2) {
|
|
10791
|
+
TableBorder2["ALL"] = "all";
|
|
10792
|
+
TableBorder2["EMPTY"] = "empty";
|
|
10793
|
+
TableBorder2["EXTERNAL"] = "external";
|
|
10794
|
+
})(TableBorder || (TableBorder = {}));
|
|
10795
|
+
var VerticalAlign;
|
|
10796
|
+
(function(VerticalAlign2) {
|
|
10797
|
+
VerticalAlign2["TOP"] = "top";
|
|
10798
|
+
VerticalAlign2["MIDDLE"] = "middle";
|
|
10799
|
+
VerticalAlign2["BOTTOM"] = "bottom";
|
|
10800
|
+
})(VerticalAlign || (VerticalAlign = {}));
|
|
10585
10801
|
function printImageBase64(base64List, width, height) {
|
|
10586
10802
|
const iframe = document.createElement("iframe");
|
|
10587
10803
|
iframe.style.visibility = "hidden";
|
|
@@ -10768,47 +10984,78 @@ class CommandAdapt {
|
|
|
10768
10984
|
});
|
|
10769
10985
|
this.draw.render({ isSetCursor: false });
|
|
10770
10986
|
}
|
|
10771
|
-
|
|
10987
|
+
size(payload) {
|
|
10988
|
+
const { minSize, maxSize, defaultSize } = this.options;
|
|
10989
|
+
if (payload < minSize || payload > maxSize)
|
|
10990
|
+
return;
|
|
10772
10991
|
const isReadonly = this.draw.isReadonly();
|
|
10773
10992
|
if (isReadonly)
|
|
10774
10993
|
return;
|
|
10775
|
-
const selection = this.range.
|
|
10776
|
-
if (!selection)
|
|
10994
|
+
const selection = this.range.getTextLikeSelection();
|
|
10995
|
+
if (!selection || !selection.length)
|
|
10996
|
+
return;
|
|
10997
|
+
let isExistUpdate = false;
|
|
10998
|
+
selection.forEach((el) => {
|
|
10999
|
+
if (!el.size && payload === defaultSize || el.size && el.size === payload)
|
|
11000
|
+
return;
|
|
11001
|
+
el.size = payload;
|
|
11002
|
+
isExistUpdate = true;
|
|
11003
|
+
});
|
|
11004
|
+
if (isExistUpdate) {
|
|
11005
|
+
this.draw.render({ isSetCursor: false });
|
|
11006
|
+
}
|
|
11007
|
+
}
|
|
11008
|
+
sizeAdd() {
|
|
11009
|
+
const isReadonly = this.draw.isReadonly();
|
|
11010
|
+
if (isReadonly)
|
|
10777
11011
|
return;
|
|
10778
|
-
const
|
|
10779
|
-
|
|
10780
|
-
if (!~lessThanMaxSizeIndex)
|
|
11012
|
+
const selection = this.range.getTextLikeSelection();
|
|
11013
|
+
if (!selection || !selection.length)
|
|
10781
11014
|
return;
|
|
11015
|
+
const { defaultSize, maxSize } = this.options;
|
|
11016
|
+
let isExistUpdate = false;
|
|
10782
11017
|
selection.forEach((el) => {
|
|
10783
11018
|
if (!el.size) {
|
|
10784
11019
|
el.size = defaultSize;
|
|
10785
11020
|
}
|
|
10786
|
-
if (el.size
|
|
11021
|
+
if (el.size >= maxSize)
|
|
10787
11022
|
return;
|
|
10788
|
-
el.size
|
|
11023
|
+
if (el.size + 2 > maxSize) {
|
|
11024
|
+
el.size = maxSize;
|
|
11025
|
+
} else {
|
|
11026
|
+
el.size += 2;
|
|
11027
|
+
}
|
|
11028
|
+
isExistUpdate = true;
|
|
10789
11029
|
});
|
|
10790
|
-
|
|
11030
|
+
if (isExistUpdate) {
|
|
11031
|
+
this.draw.render({ isSetCursor: false });
|
|
11032
|
+
}
|
|
10791
11033
|
}
|
|
10792
11034
|
sizeMinus() {
|
|
10793
11035
|
const isReadonly = this.draw.isReadonly();
|
|
10794
11036
|
if (isReadonly)
|
|
10795
11037
|
return;
|
|
10796
|
-
const selection = this.range.
|
|
10797
|
-
if (!selection)
|
|
11038
|
+
const selection = this.range.getTextLikeSelection();
|
|
11039
|
+
if (!selection || !selection.length)
|
|
10798
11040
|
return;
|
|
10799
|
-
const
|
|
10800
|
-
|
|
10801
|
-
return;
|
|
10802
|
-
const { defaultSize } = this.options;
|
|
11041
|
+
const { defaultSize, minSize } = this.options;
|
|
11042
|
+
let isExistUpdate = false;
|
|
10803
11043
|
selection.forEach((el) => {
|
|
10804
11044
|
if (!el.size) {
|
|
10805
11045
|
el.size = defaultSize;
|
|
10806
11046
|
}
|
|
10807
|
-
if (el.size
|
|
11047
|
+
if (el.size <= minSize)
|
|
10808
11048
|
return;
|
|
10809
|
-
el.size
|
|
11049
|
+
if (el.size - 2 < minSize) {
|
|
11050
|
+
el.size = minSize;
|
|
11051
|
+
} else {
|
|
11052
|
+
el.size -= 2;
|
|
11053
|
+
}
|
|
11054
|
+
isExistUpdate = true;
|
|
10810
11055
|
});
|
|
10811
|
-
|
|
11056
|
+
if (isExistUpdate) {
|
|
11057
|
+
this.draw.render({ isSetCursor: false });
|
|
11058
|
+
}
|
|
10812
11059
|
}
|
|
10813
11060
|
bold() {
|
|
10814
11061
|
const isReadonly = this.draw.isReadonly();
|
|
@@ -11103,8 +11350,7 @@ class CommandAdapt {
|
|
|
11103
11350
|
});
|
|
11104
11351
|
this.range.setRange(0, 0);
|
|
11105
11352
|
this.draw.render({ curIndex: 0 });
|
|
11106
|
-
|
|
11107
|
-
this.tableTool.render(element, position[index2]);
|
|
11353
|
+
this.tableTool.render();
|
|
11108
11354
|
}
|
|
11109
11355
|
insertTableBottomRow() {
|
|
11110
11356
|
const isReadonly = this.draw.isReadonly();
|
|
@@ -11165,8 +11411,7 @@ class CommandAdapt {
|
|
|
11165
11411
|
});
|
|
11166
11412
|
this.range.setRange(0, 0);
|
|
11167
11413
|
this.draw.render({ curIndex: 0 });
|
|
11168
|
-
|
|
11169
|
-
this.tableTool.render(element, position[index2]);
|
|
11414
|
+
this.tableTool.render();
|
|
11170
11415
|
}
|
|
11171
11416
|
insertTableLeftCol() {
|
|
11172
11417
|
const isReadonly = this.draw.isReadonly();
|
|
@@ -11220,8 +11465,7 @@ class CommandAdapt {
|
|
|
11220
11465
|
});
|
|
11221
11466
|
this.range.setRange(0, 0);
|
|
11222
11467
|
this.draw.render({ curIndex: 0 });
|
|
11223
|
-
|
|
11224
|
-
this.tableTool.render(element, position[index2]);
|
|
11468
|
+
this.tableTool.render();
|
|
11225
11469
|
}
|
|
11226
11470
|
insertTableRightCol() {
|
|
11227
11471
|
const isReadonly = this.draw.isReadonly();
|
|
@@ -11275,8 +11519,7 @@ class CommandAdapt {
|
|
|
11275
11519
|
});
|
|
11276
11520
|
this.range.setRange(0, 0);
|
|
11277
11521
|
this.draw.render({ curIndex: 0 });
|
|
11278
|
-
|
|
11279
|
-
this.tableTool.render(element, position[index2]);
|
|
11522
|
+
this.tableTool.render();
|
|
11280
11523
|
}
|
|
11281
11524
|
deleteTableRow() {
|
|
11282
11525
|
const isReadonly = this.draw.isReadonly();
|
|
@@ -11495,8 +11738,7 @@ class CommandAdapt {
|
|
|
11495
11738
|
const curIndex = startTd.value.length - 1;
|
|
11496
11739
|
this.range.setRange(curIndex, curIndex);
|
|
11497
11740
|
this.draw.render();
|
|
11498
|
-
|
|
11499
|
-
this.tableTool.render(element, position[index2]);
|
|
11741
|
+
this.tableTool.render();
|
|
11500
11742
|
}
|
|
11501
11743
|
cancelMergeTableCell() {
|
|
11502
11744
|
const isReadonly = this.draw.isReadonly();
|
|
@@ -11556,8 +11798,47 @@ class CommandAdapt {
|
|
|
11556
11798
|
const curIndex = curTd.value.length - 1;
|
|
11557
11799
|
this.range.setRange(curIndex, curIndex);
|
|
11558
11800
|
this.draw.render();
|
|
11559
|
-
|
|
11560
|
-
|
|
11801
|
+
this.tableTool.render();
|
|
11802
|
+
}
|
|
11803
|
+
tableTdVerticalAlign(payload) {
|
|
11804
|
+
var _a, _b, _c;
|
|
11805
|
+
const isReadonly = this.draw.isReadonly();
|
|
11806
|
+
if (isReadonly)
|
|
11807
|
+
return;
|
|
11808
|
+
const positionContext = this.position.getPositionContext();
|
|
11809
|
+
if (!positionContext.isTable)
|
|
11810
|
+
return;
|
|
11811
|
+
const { index: index2, trIndex, tdIndex } = positionContext;
|
|
11812
|
+
const originalElementList = this.draw.getOriginalElementList();
|
|
11813
|
+
const element = originalElementList[index2];
|
|
11814
|
+
const curTd = (_c = (_b = (_a = element == null ? void 0 : element.trList) == null ? void 0 : _a[trIndex]) == null ? void 0 : _b.tdList) == null ? void 0 : _c[tdIndex];
|
|
11815
|
+
if (!curTd || curTd.verticalAlign === payload || !curTd.verticalAlign && payload === VerticalAlign.TOP) {
|
|
11816
|
+
return;
|
|
11817
|
+
}
|
|
11818
|
+
curTd.verticalAlign = payload;
|
|
11819
|
+
const { endIndex } = this.range.getRange();
|
|
11820
|
+
this.draw.render({
|
|
11821
|
+
curIndex: endIndex
|
|
11822
|
+
});
|
|
11823
|
+
}
|
|
11824
|
+
tableBorderType(payload) {
|
|
11825
|
+
const isReadonly = this.draw.isReadonly();
|
|
11826
|
+
if (isReadonly)
|
|
11827
|
+
return;
|
|
11828
|
+
const positionContext = this.position.getPositionContext();
|
|
11829
|
+
if (!positionContext.isTable)
|
|
11830
|
+
return;
|
|
11831
|
+
const { index: index2 } = positionContext;
|
|
11832
|
+
const originalElementList = this.draw.getOriginalElementList();
|
|
11833
|
+
const element = originalElementList[index2];
|
|
11834
|
+
if (!element.borderType && payload === TableBorder.ALL || element.borderType === payload) {
|
|
11835
|
+
return;
|
|
11836
|
+
}
|
|
11837
|
+
element.borderType = payload;
|
|
11838
|
+
const { endIndex } = this.range.getRange();
|
|
11839
|
+
this.draw.render({
|
|
11840
|
+
curIndex: endIndex
|
|
11841
|
+
});
|
|
11561
11842
|
}
|
|
11562
11843
|
hyperlink(payload) {
|
|
11563
11844
|
const isReadonly = this.draw.isReadonly();
|
|
@@ -12227,6 +12508,72 @@ const tableMenus = [
|
|
|
12227
12508
|
{
|
|
12228
12509
|
isDivider: true
|
|
12229
12510
|
},
|
|
12511
|
+
{
|
|
12512
|
+
i18nPath: "contextmenu.table.border",
|
|
12513
|
+
icon: "border-all",
|
|
12514
|
+
when: (payload) => {
|
|
12515
|
+
return !payload.isReadonly && payload.isInTable;
|
|
12516
|
+
},
|
|
12517
|
+
childMenus: [
|
|
12518
|
+
{
|
|
12519
|
+
i18nPath: "contextmenu.table.borderAll",
|
|
12520
|
+
icon: "border-all",
|
|
12521
|
+
when: () => true,
|
|
12522
|
+
callback: (command) => {
|
|
12523
|
+
command.executeTableBorderType(TableBorder.ALL);
|
|
12524
|
+
}
|
|
12525
|
+
},
|
|
12526
|
+
{
|
|
12527
|
+
i18nPath: "contextmenu.table.borderEmpty",
|
|
12528
|
+
icon: "border-empty",
|
|
12529
|
+
when: () => true,
|
|
12530
|
+
callback: (command) => {
|
|
12531
|
+
command.executeTableBorderType(TableBorder.EMPTY);
|
|
12532
|
+
}
|
|
12533
|
+
},
|
|
12534
|
+
{
|
|
12535
|
+
i18nPath: "contextmenu.table.borderExternal",
|
|
12536
|
+
icon: "border-external",
|
|
12537
|
+
when: () => true,
|
|
12538
|
+
callback: (command) => {
|
|
12539
|
+
command.executeTableBorderType(TableBorder.EXTERNAL);
|
|
12540
|
+
}
|
|
12541
|
+
}
|
|
12542
|
+
]
|
|
12543
|
+
},
|
|
12544
|
+
{
|
|
12545
|
+
i18nPath: "contextmenu.table.verticalAlign",
|
|
12546
|
+
icon: "vertical-align",
|
|
12547
|
+
when: (payload) => {
|
|
12548
|
+
return !payload.isReadonly && payload.isInTable;
|
|
12549
|
+
},
|
|
12550
|
+
childMenus: [
|
|
12551
|
+
{
|
|
12552
|
+
i18nPath: "contextmenu.table.verticalAlignTop",
|
|
12553
|
+
icon: "vertical-align-top",
|
|
12554
|
+
when: () => true,
|
|
12555
|
+
callback: (command) => {
|
|
12556
|
+
command.executeTableTdVerticalAlign(VerticalAlign.TOP);
|
|
12557
|
+
}
|
|
12558
|
+
},
|
|
12559
|
+
{
|
|
12560
|
+
i18nPath: "contextmenu.table.verticalAlignMiddle",
|
|
12561
|
+
icon: "vertical-align-middle",
|
|
12562
|
+
when: () => true,
|
|
12563
|
+
callback: (command) => {
|
|
12564
|
+
command.executeTableTdVerticalAlign(VerticalAlign.MIDDLE);
|
|
12565
|
+
}
|
|
12566
|
+
},
|
|
12567
|
+
{
|
|
12568
|
+
i18nPath: "contextmenu.table.verticalAlignBottom",
|
|
12569
|
+
icon: "vertical-align-bottom",
|
|
12570
|
+
when: () => true,
|
|
12571
|
+
callback: (command) => {
|
|
12572
|
+
command.executeTableTdVerticalAlign(VerticalAlign.BOTTOM);
|
|
12573
|
+
}
|
|
12574
|
+
}
|
|
12575
|
+
]
|
|
12576
|
+
},
|
|
12230
12577
|
{
|
|
12231
12578
|
i18nPath: "contextmenu.table.insertRowCol",
|
|
12232
12579
|
icon: "insert-row-col",
|
|
@@ -12689,6 +13036,13 @@ class Shortcut {
|
|
|
12689
13036
|
}
|
|
12690
13037
|
}
|
|
12691
13038
|
}
|
|
13039
|
+
const defaultPageNumberOption = {
|
|
13040
|
+
bottom: 60,
|
|
13041
|
+
size: 12,
|
|
13042
|
+
font: "Yahei",
|
|
13043
|
+
color: "#000000",
|
|
13044
|
+
rowFlex: RowFlex.CENTER
|
|
13045
|
+
};
|
|
12692
13046
|
class Editor {
|
|
12693
13047
|
constructor(container, data2, options = {}) {
|
|
12694
13048
|
__publicField(this, "command");
|
|
@@ -12696,6 +13050,7 @@ class Editor {
|
|
|
12696
13050
|
__publicField(this, "register");
|
|
12697
13051
|
__publicField(this, "destroy");
|
|
12698
13052
|
const headerOptions = __spreadValues(__spreadValues({}, defaultHeaderOption), options.header);
|
|
13053
|
+
const pageNumberOptions = __spreadValues(__spreadValues({}, defaultPageNumberOption), options.pageNumber);
|
|
12699
13054
|
const waterMarkOptions = __spreadValues(__spreadValues({}, defaultWatermarkOption), options.watermark);
|
|
12700
13055
|
const controlOptions = __spreadValues(__spreadValues({}, defaultControlOption), options.control);
|
|
12701
13056
|
const checkboxOptions = __spreadValues(__spreadValues({}, defaultCheckboxOption), options.checkbox);
|
|
@@ -12705,6 +13060,8 @@ class Editor {
|
|
|
12705
13060
|
defaultType: "TEXT",
|
|
12706
13061
|
defaultFont: "Yahei",
|
|
12707
13062
|
defaultSize: 16,
|
|
13063
|
+
minSize: 5,
|
|
13064
|
+
maxSize: 72,
|
|
12708
13065
|
defaultRowMargin: 1,
|
|
12709
13066
|
defaultBasicRowMarginHeight: 8,
|
|
12710
13067
|
defaultTabWidth: 32,
|
|
@@ -12712,9 +13069,6 @@ class Editor {
|
|
|
12712
13069
|
height: 1123,
|
|
12713
13070
|
scale: 1,
|
|
12714
13071
|
pageGap: 20,
|
|
12715
|
-
pageNumberBottom: 60,
|
|
12716
|
-
pageNumberSize: 12,
|
|
12717
|
-
pageNumberFont: "Yahei",
|
|
12718
13072
|
underlineColor: "#000000",
|
|
12719
13073
|
strikeoutColor: "#FF0000",
|
|
12720
13074
|
rangeAlpha: 0.6,
|
|
@@ -12733,11 +13087,11 @@ class Editor {
|
|
|
12733
13087
|
tdPadding: 5,
|
|
12734
13088
|
defaultTdHeight: 40,
|
|
12735
13089
|
defaultHyperlinkColor: "#0000FF",
|
|
12736
|
-
headerTop: 50,
|
|
12737
13090
|
paperDirection: PaperDirection.VERTICAL,
|
|
12738
13091
|
inactiveAlpha: 0.6
|
|
12739
13092
|
}, options), {
|
|
12740
13093
|
header: headerOptions,
|
|
13094
|
+
pageNumber: pageNumberOptions,
|
|
12741
13095
|
watermark: waterMarkOptions,
|
|
12742
13096
|
control: controlOptions,
|
|
12743
13097
|
checkbox: checkboxOptions,
|
|
@@ -12777,5 +13131,5 @@ class Editor {
|
|
|
12777
13131
|
};
|
|
12778
13132
|
}
|
|
12779
13133
|
}
|
|
12780
|
-
export { BlockType, Command, ControlType, EDITOR_COMPONENT, Editor, EditorComponent, EditorMode, EditorZone, ElementType, ImageDisplay, KeyMap, PageMode, PaperDirection, RowFlex, Editor as default };
|
|
13134
|
+
export { BlockType, Command, ControlType, EDITOR_COMPONENT, Editor, EditorComponent, EditorMode, EditorZone, ElementType, ImageDisplay, KeyMap, PageMode, PaperDirection, RowFlex, TableBorder, VerticalAlign, Editor as default };
|
|
12781
13135
|
//# sourceMappingURL=canvas-editor.es.js.map
|