@hufe921/canvas-editor 0.9.24 → 0.9.28
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 +70 -0
- package/dist/canvas-editor.es.js +561 -152
- 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 +3 -1
- package/dist/src/editor/core/command/CommandAdapt.d.ts +2 -0
- package/dist/src/editor/core/draw/Draw.d.ts +4 -1
- package/dist/src/editor/core/draw/frame/Footer.d.ts +24 -0
- package/dist/src/editor/core/draw/particle/table/TableParticle.d.ts +2 -0
- package/dist/src/editor/core/draw/particle/table/TableTool.d.ts +5 -5
- package/dist/src/editor/core/zone/Zone.d.ts +8 -3
- package/dist/src/editor/dataset/constant/Common.d.ts +2 -0
- package/dist/src/editor/dataset/constant/Footer.d.ts +2 -0
- package/dist/src/editor/dataset/constant/Header.d.ts +0 -2
- package/dist/src/editor/dataset/enum/{Header.d.ts → Common.d.ts} +1 -1
- 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 +3 -2
- package/dist/src/editor/interface/Element.d.ts +3 -1
- package/dist/src/editor/interface/Footer.d.ts +5 -0
- package/dist/src/editor/interface/Header.d.ts +2 -2
- package/dist/src/editor/interface/table/Td.d.ts +3 -0
- package/dist/src/editor/interface/table/Tr.d.ts +1 -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-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-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: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)}})();})();
|
|
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;z-index:9;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-zone-indicator>div{padding:3px 6px;color:#000;font-size:12px;background:rgb(218 231 252);position:absolute;transform-origin:0 0}.ce-zone-indicator-border__top,.ce-zone-indicator-border__bottom,.ce-zone-indicator-border__left,.ce-zone-indicator-border__right{display:block;position:absolute;z-index:0}.ce-zone-indicator-border__top{border-top:2px dashed rgb(238,238,238)}.ce-zone-indicator-border__bottom{border-top:2px dashed rgb(238,238,238);width:100%}.ce-zone-indicator-border__left{border-left:2px dashed rgb(238,238,238)}.ce-zone-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,9 +23,20 @@ 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.28";
|
|
27
|
+
var MaxHeightRatio;
|
|
28
|
+
(function(MaxHeightRatio2) {
|
|
29
|
+
MaxHeightRatio2["HALF"] = "half";
|
|
30
|
+
MaxHeightRatio2["ONE_THIRD"] = "one-third";
|
|
31
|
+
MaxHeightRatio2["QUARTER"] = "quarter";
|
|
32
|
+
})(MaxHeightRatio || (MaxHeightRatio = {}));
|
|
27
33
|
const ZERO = "\u200B";
|
|
28
34
|
const WRAP = "\n";
|
|
35
|
+
const maxHeightRadioMapping = {
|
|
36
|
+
[MaxHeightRatio.HALF]: 1 / 2,
|
|
37
|
+
[MaxHeightRatio.ONE_THIRD]: 1 / 3,
|
|
38
|
+
[MaxHeightRatio.QUARTER]: 1 / 4
|
|
39
|
+
};
|
|
29
40
|
var RowFlex;
|
|
30
41
|
(function(RowFlex2) {
|
|
31
42
|
RowFlex2["LEFT"] = "left";
|
|
@@ -201,6 +212,7 @@ const EDITOR_ELEMENT_ZIP_ATTR = [
|
|
|
201
212
|
"rowMargin",
|
|
202
213
|
"dashArray",
|
|
203
214
|
"trList",
|
|
215
|
+
"borderType",
|
|
204
216
|
"width",
|
|
205
217
|
"height",
|
|
206
218
|
"url",
|
|
@@ -3269,6 +3281,9 @@ function formatElementList(elementList, options) {
|
|
|
3269
3281
|
const tr = el.trList[t];
|
|
3270
3282
|
const trId = getUUID();
|
|
3271
3283
|
tr.id = trId;
|
|
3284
|
+
if (!tr.minHeight || tr.minHeight < editorOptions.defaultTrMinHeight) {
|
|
3285
|
+
tr.minHeight = editorOptions.defaultTrMinHeight;
|
|
3286
|
+
}
|
|
3272
3287
|
for (let d = 0; d < tr.tdList.length; d++) {
|
|
3273
3288
|
const td = tr.tdList[d];
|
|
3274
3289
|
const tdId = getUUID();
|
|
@@ -4319,9 +4334,7 @@ function mousedown(evt, host) {
|
|
|
4319
4334
|
const tableTool = draw.getTableTool();
|
|
4320
4335
|
tableTool.dispose();
|
|
4321
4336
|
if (isTable && !isReadonly) {
|
|
4322
|
-
|
|
4323
|
-
const originalPositionList = position.getOriginalPositionList();
|
|
4324
|
-
tableTool.render(originalElementList[index2], originalPositionList[index2]);
|
|
4337
|
+
tableTool.render();
|
|
4325
4338
|
}
|
|
4326
4339
|
const hyperlinkParticle = draw.getHyperlinkParticle();
|
|
4327
4340
|
hyperlinkParticle.clearHyperlinkPopup();
|
|
@@ -4776,6 +4789,10 @@ function keydown(evt, host) {
|
|
|
4776
4789
|
evt.preventDefault();
|
|
4777
4790
|
} else if (evt.key === KeyMap.ESC) {
|
|
4778
4791
|
host.clearPainterStyle();
|
|
4792
|
+
const zoneManager = draw.getZone();
|
|
4793
|
+
if (!zoneManager.isMainActive()) {
|
|
4794
|
+
zoneManager.setZone(EditorZone.MAIN);
|
|
4795
|
+
}
|
|
4779
4796
|
evt.preventDefault();
|
|
4780
4797
|
} else if (evt.key === KeyMap.TAB) {
|
|
4781
4798
|
draw.insertElementList([{
|
|
@@ -5441,8 +5458,15 @@ class Position {
|
|
|
5441
5458
|
}
|
|
5442
5459
|
getOriginalPositionList() {
|
|
5443
5460
|
const zoneManager = this.draw.getZone();
|
|
5444
|
-
|
|
5445
|
-
|
|
5461
|
+
if (zoneManager.isHeaderActive()) {
|
|
5462
|
+
const header = this.draw.getHeader();
|
|
5463
|
+
return header.getPositionList();
|
|
5464
|
+
}
|
|
5465
|
+
if (zoneManager.isFooterActive()) {
|
|
5466
|
+
const footer = this.draw.getFooter();
|
|
5467
|
+
return footer.getPositionList();
|
|
5468
|
+
}
|
|
5469
|
+
return this.positionList;
|
|
5446
5470
|
}
|
|
5447
5471
|
getOriginalMainPositionList() {
|
|
5448
5472
|
return this.positionList;
|
|
@@ -5579,7 +5603,8 @@ class Position {
|
|
|
5579
5603
|
}
|
|
5580
5604
|
const zoneManager = this.draw.getZone();
|
|
5581
5605
|
const curPageNo = this.draw.getPageNo();
|
|
5582
|
-
const
|
|
5606
|
+
const isMainActive = zoneManager.isMainActive();
|
|
5607
|
+
const positionNo = isMainActive ? curPageNo : 0;
|
|
5583
5608
|
for (let j = 0; j < positionList.length; j++) {
|
|
5584
5609
|
const { index: index2, pageNo, coordinate: { leftTop, rightTop, leftBottom } } = positionList[j];
|
|
5585
5610
|
if (positionNo !== pageNo)
|
|
@@ -5651,13 +5676,14 @@ class Position {
|
|
|
5651
5676
|
let isLastArea = false;
|
|
5652
5677
|
let curPositionIndex = -1;
|
|
5653
5678
|
if (isTable) {
|
|
5679
|
+
const { scale } = this.options;
|
|
5654
5680
|
const { td, tablePosition } = payload;
|
|
5655
5681
|
if (td && tablePosition) {
|
|
5656
5682
|
const { leftTop } = tablePosition.coordinate;
|
|
5657
|
-
const tdX = td.x + leftTop[0];
|
|
5658
|
-
const tdY = td.y + leftTop[1];
|
|
5659
|
-
const tdWidth = td.width;
|
|
5660
|
-
const tdHeight = td.height;
|
|
5683
|
+
const tdX = td.x * scale + leftTop[0];
|
|
5684
|
+
const tdY = td.y * scale + leftTop[1];
|
|
5685
|
+
const tdWidth = td.width * scale;
|
|
5686
|
+
const tdHeight = td.height * scale;
|
|
5661
5687
|
if (!(tdX < x && x < tdX + tdWidth && tdY < y && y < tdY + tdHeight)) {
|
|
5662
5688
|
return {
|
|
5663
5689
|
index: curPositionIndex
|
|
@@ -5665,15 +5691,15 @@ class Position {
|
|
|
5665
5691
|
}
|
|
5666
5692
|
}
|
|
5667
5693
|
}
|
|
5668
|
-
const
|
|
5669
|
-
for (let j = 0; j <
|
|
5670
|
-
const { index: index2, pageNo, coordinate: { leftTop, leftBottom } } =
|
|
5694
|
+
const lastLetterList = positionList.filter((p) => p.isLastLetter && p.pageNo === positionNo);
|
|
5695
|
+
for (let j = 0; j < lastLetterList.length; j++) {
|
|
5696
|
+
const { index: index2, pageNo, coordinate: { leftTop, leftBottom } } = lastLetterList[j];
|
|
5671
5697
|
if (positionNo !== pageNo)
|
|
5672
5698
|
continue;
|
|
5673
5699
|
if (y > leftTop[1] && y <= leftBottom[1]) {
|
|
5674
5700
|
const isHead = x < this.options.margins[3];
|
|
5675
5701
|
if (isHead) {
|
|
5676
|
-
const headIndex = positionList.findIndex((p) => p.pageNo === positionNo && p.rowNo ===
|
|
5702
|
+
const headIndex = positionList.findIndex((p) => p.pageNo === positionNo && p.rowNo === lastLetterList[j].rowNo);
|
|
5677
5703
|
curPositionIndex = ~headIndex ? headIndex - 1 : index2;
|
|
5678
5704
|
} else {
|
|
5679
5705
|
curPositionIndex = index2;
|
|
@@ -5683,16 +5709,26 @@ class Position {
|
|
|
5683
5709
|
}
|
|
5684
5710
|
}
|
|
5685
5711
|
if (!isLastArea) {
|
|
5686
|
-
|
|
5687
|
-
|
|
5712
|
+
const header = this.draw.getHeader();
|
|
5713
|
+
const headerBottomY = header.getHeaderTop() + header.getHeight();
|
|
5714
|
+
const footer = this.draw.getFooter();
|
|
5715
|
+
const pageHeight = this.draw.getHeight();
|
|
5716
|
+
const footerTopY = pageHeight - (footer.getFooterBottom() + footer.getHeight());
|
|
5717
|
+
if (isMainActive) {
|
|
5718
|
+
if (y < headerBottomY) {
|
|
5688
5719
|
return {
|
|
5689
5720
|
index: -1,
|
|
5690
5721
|
zone: EditorZone.HEADER
|
|
5691
5722
|
};
|
|
5692
5723
|
}
|
|
5693
|
-
|
|
5694
|
-
|
|
5695
|
-
|
|
5724
|
+
if (y > footerTopY) {
|
|
5725
|
+
return {
|
|
5726
|
+
index: -1,
|
|
5727
|
+
zone: EditorZone.FOOTER
|
|
5728
|
+
};
|
|
5729
|
+
}
|
|
5730
|
+
} else {
|
|
5731
|
+
if (y <= footerTopY && y >= headerBottomY) {
|
|
5696
5732
|
return {
|
|
5697
5733
|
index: -1,
|
|
5698
5734
|
zone: EditorZone.MAIN
|
|
@@ -5700,7 +5736,7 @@ class Position {
|
|
|
5700
5736
|
}
|
|
5701
5737
|
}
|
|
5702
5738
|
return {
|
|
5703
|
-
index: ((_a =
|
|
5739
|
+
index: ((_a = lastLetterList[lastLetterList.length - 1]) == null ? void 0 : _a.index) || positionList.length - 1
|
|
5704
5740
|
};
|
|
5705
5741
|
}
|
|
5706
5742
|
return {
|
|
@@ -6457,7 +6493,7 @@ class PageNumber {
|
|
|
6457
6493
|
const margins = this.draw.getMargins();
|
|
6458
6494
|
const { width: textWidth } = ctx.measureText(text);
|
|
6459
6495
|
if (rowFlex === RowFlex.CENTER) {
|
|
6460
|
-
x = (width
|
|
6496
|
+
x = (width - textWidth) / 2;
|
|
6461
6497
|
} else if (rowFlex === RowFlex.RIGHT) {
|
|
6462
6498
|
x = width - textWidth - margins[1];
|
|
6463
6499
|
} else {
|
|
@@ -6610,14 +6646,35 @@ class TableParticle {
|
|
|
6610
6646
|
this.range = draw.getRange();
|
|
6611
6647
|
this.options = draw.getOptions();
|
|
6612
6648
|
}
|
|
6613
|
-
|
|
6649
|
+
getTrListGroupByCol(payload) {
|
|
6650
|
+
const trList = deepClone(payload);
|
|
6651
|
+
for (let t = 0; t < payload.length; t++) {
|
|
6652
|
+
const tr = trList[t];
|
|
6653
|
+
for (let d = tr.tdList.length - 1; d >= 0; d--) {
|
|
6654
|
+
const td = tr.tdList[d];
|
|
6655
|
+
const { rowspan, rowIndex, colIndex } = td;
|
|
6656
|
+
const curRowIndex = rowIndex + rowspan - 1;
|
|
6657
|
+
if (curRowIndex !== d) {
|
|
6658
|
+
const changeTd = tr.tdList.splice(d, 1)[0];
|
|
6659
|
+
trList[curRowIndex].tdList.splice(colIndex, 0, changeTd);
|
|
6660
|
+
}
|
|
6661
|
+
}
|
|
6662
|
+
}
|
|
6663
|
+
return trList;
|
|
6664
|
+
}
|
|
6665
|
+
_drawBorder(payload) {
|
|
6666
|
+
const { ctx, startX, startY, width, height, isDrawFullBorder } = payload;
|
|
6614
6667
|
ctx.beginPath();
|
|
6615
6668
|
const x = Math.round(startX);
|
|
6616
6669
|
const y = Math.round(startY);
|
|
6617
6670
|
ctx.translate(0.5, 0.5);
|
|
6618
|
-
|
|
6619
|
-
|
|
6620
|
-
|
|
6671
|
+
if (isDrawFullBorder) {
|
|
6672
|
+
ctx.rect(x, y, width, height);
|
|
6673
|
+
} else {
|
|
6674
|
+
ctx.moveTo(x, y + height);
|
|
6675
|
+
ctx.lineTo(x, y);
|
|
6676
|
+
ctx.lineTo(x + width, y);
|
|
6677
|
+
}
|
|
6621
6678
|
ctx.stroke();
|
|
6622
6679
|
ctx.translate(-0.5, -0.5);
|
|
6623
6680
|
}
|
|
@@ -6739,29 +6796,39 @@ class TableParticle {
|
|
|
6739
6796
|
ctx.restore();
|
|
6740
6797
|
}
|
|
6741
6798
|
render(ctx, element, startX, startY) {
|
|
6742
|
-
const { colgroup, trList } = element;
|
|
6743
|
-
if (!colgroup || !trList)
|
|
6799
|
+
const { colgroup, trList, borderType } = element;
|
|
6800
|
+
if (!colgroup || !trList || borderType === TableBorder.EMPTY)
|
|
6744
6801
|
return;
|
|
6745
6802
|
const { scale } = this.options;
|
|
6746
6803
|
const tableWidth = element.width * scale;
|
|
6747
6804
|
const tableHeight = element.height * scale;
|
|
6805
|
+
const isExternalBorderType = borderType === TableBorder.EXTERNAL;
|
|
6748
6806
|
ctx.save();
|
|
6749
|
-
this._drawBorder(
|
|
6750
|
-
|
|
6751
|
-
|
|
6752
|
-
|
|
6753
|
-
|
|
6754
|
-
|
|
6755
|
-
|
|
6756
|
-
|
|
6757
|
-
|
|
6758
|
-
|
|
6759
|
-
|
|
6760
|
-
|
|
6761
|
-
|
|
6762
|
-
|
|
6763
|
-
|
|
6764
|
-
|
|
6807
|
+
this._drawBorder({
|
|
6808
|
+
ctx,
|
|
6809
|
+
startX,
|
|
6810
|
+
startY,
|
|
6811
|
+
width: tableWidth,
|
|
6812
|
+
height: tableHeight,
|
|
6813
|
+
isDrawFullBorder: isExternalBorderType
|
|
6814
|
+
});
|
|
6815
|
+
if (!isExternalBorderType) {
|
|
6816
|
+
for (let t = 0; t < trList.length; t++) {
|
|
6817
|
+
const tr = trList[t];
|
|
6818
|
+
for (let d = 0; d < tr.tdList.length; d++) {
|
|
6819
|
+
const td = tr.tdList[d];
|
|
6820
|
+
const width = td.width * scale;
|
|
6821
|
+
const height = td.height * scale;
|
|
6822
|
+
const x = Math.round(td.x * scale + startX + width);
|
|
6823
|
+
const y = Math.round(td.y * scale + startY);
|
|
6824
|
+
ctx.translate(0.5, 0.5);
|
|
6825
|
+
ctx.beginPath();
|
|
6826
|
+
ctx.moveTo(x, y);
|
|
6827
|
+
ctx.lineTo(x, y + height);
|
|
6828
|
+
ctx.lineTo(x - width, y + height);
|
|
6829
|
+
ctx.stroke();
|
|
6830
|
+
ctx.translate(-0.5, -0.5);
|
|
6831
|
+
}
|
|
6765
6832
|
}
|
|
6766
6833
|
}
|
|
6767
6834
|
ctx.restore();
|
|
@@ -6774,8 +6841,9 @@ var TableOrder;
|
|
|
6774
6841
|
})(TableOrder || (TableOrder = {}));
|
|
6775
6842
|
class TableTool {
|
|
6776
6843
|
constructor(draw) {
|
|
6777
|
-
__publicField(this, "
|
|
6778
|
-
__publicField(this, "
|
|
6844
|
+
__publicField(this, "MIN_TD_WIDTH", 20);
|
|
6845
|
+
__publicField(this, "ROW_COL_OFFSET", 18);
|
|
6846
|
+
__publicField(this, "BORDER_VALUE", 4);
|
|
6779
6847
|
__publicField(this, "draw");
|
|
6780
6848
|
__publicField(this, "canvas");
|
|
6781
6849
|
__publicField(this, "options");
|
|
@@ -6783,6 +6851,7 @@ class TableTool {
|
|
|
6783
6851
|
__publicField(this, "container");
|
|
6784
6852
|
__publicField(this, "toolRowContainer");
|
|
6785
6853
|
__publicField(this, "toolColContainer");
|
|
6854
|
+
__publicField(this, "toolBorderContainer");
|
|
6786
6855
|
__publicField(this, "anchorLine");
|
|
6787
6856
|
__publicField(this, "mousedownX");
|
|
6788
6857
|
__publicField(this, "mousedownY");
|
|
@@ -6793,34 +6862,46 @@ class TableTool {
|
|
|
6793
6862
|
this.container = draw.getContainer();
|
|
6794
6863
|
this.toolRowContainer = null;
|
|
6795
6864
|
this.toolColContainer = null;
|
|
6865
|
+
this.toolBorderContainer = null;
|
|
6796
6866
|
this.anchorLine = null;
|
|
6797
6867
|
this.mousedownX = 0;
|
|
6798
6868
|
this.mousedownY = 0;
|
|
6799
6869
|
}
|
|
6800
6870
|
dispose() {
|
|
6801
|
-
var _a, _b;
|
|
6871
|
+
var _a, _b, _c;
|
|
6802
6872
|
(_a = this.toolRowContainer) == null ? void 0 : _a.remove();
|
|
6803
6873
|
(_b = this.toolColContainer) == null ? void 0 : _b.remove();
|
|
6874
|
+
(_c = this.toolBorderContainer) == null ? void 0 : _c.remove();
|
|
6875
|
+
this.toolRowContainer = null;
|
|
6876
|
+
this.toolColContainer = null;
|
|
6877
|
+
this.toolBorderContainer = null;
|
|
6804
6878
|
}
|
|
6805
|
-
render(
|
|
6879
|
+
render() {
|
|
6880
|
+
const { isTable, index: index2, trIndex, tdIndex } = this.position.getPositionContext();
|
|
6881
|
+
if (!isTable)
|
|
6882
|
+
return;
|
|
6806
6883
|
this.dispose();
|
|
6807
|
-
const { trIndex, tdIndex } = this.position.getPositionContext();
|
|
6808
6884
|
const { scale } = this.options;
|
|
6809
|
-
const
|
|
6810
|
-
const
|
|
6885
|
+
const elementList = this.draw.getOriginalElementList();
|
|
6886
|
+
const positionList = this.position.getOriginalPositionList();
|
|
6887
|
+
const element = elementList[index2];
|
|
6888
|
+
const position = positionList[index2];
|
|
6811
6889
|
const { colgroup, trList } = element;
|
|
6812
6890
|
const { coordinate: { leftTop } } = position;
|
|
6891
|
+
const height = this.draw.getHeight();
|
|
6892
|
+
const pageGap = this.draw.getPageGap();
|
|
6813
6893
|
const prePageHeight = this.draw.getPageNo() * (height + pageGap);
|
|
6894
|
+
const tableX = leftTop[0];
|
|
6895
|
+
const tableY = leftTop[1] + prePageHeight;
|
|
6814
6896
|
const td = element.trList[trIndex].tdList[tdIndex];
|
|
6815
6897
|
const rowIndex = td.rowIndex;
|
|
6816
6898
|
const colIndex = td.colIndex;
|
|
6817
|
-
const
|
|
6818
|
-
const colList = colgroup.map((col) => col.width);
|
|
6899
|
+
const rowHeightList = trList.map((tr) => tr.height);
|
|
6819
6900
|
const rowContainer = document.createElement("div");
|
|
6820
6901
|
rowContainer.classList.add(`${EDITOR_PREFIX}-table-tool__row`);
|
|
6821
|
-
rowContainer.style.transform = `translateX(-${this.
|
|
6822
|
-
for (let r = 0; r <
|
|
6823
|
-
const rowHeight =
|
|
6902
|
+
rowContainer.style.transform = `translateX(-${this.ROW_COL_OFFSET * scale}px)`;
|
|
6903
|
+
for (let r = 0; r < rowHeightList.length; r++) {
|
|
6904
|
+
const rowHeight = rowHeightList[r] * scale;
|
|
6824
6905
|
const rowItem = document.createElement("div");
|
|
6825
6906
|
rowItem.classList.add(`${EDITOR_PREFIX}-table-tool__row__item`);
|
|
6826
6907
|
if (r === rowIndex) {
|
|
@@ -6832,7 +6913,6 @@ class TableTool {
|
|
|
6832
6913
|
this._mousedown({
|
|
6833
6914
|
evt,
|
|
6834
6915
|
element,
|
|
6835
|
-
position,
|
|
6836
6916
|
index: r,
|
|
6837
6917
|
order: TableOrder.ROW
|
|
6838
6918
|
});
|
|
@@ -6841,15 +6921,16 @@ class TableTool {
|
|
|
6841
6921
|
rowItem.style.height = `${rowHeight}px`;
|
|
6842
6922
|
rowContainer.append(rowItem);
|
|
6843
6923
|
}
|
|
6844
|
-
rowContainer.style.left = `${
|
|
6845
|
-
rowContainer.style.top = `${
|
|
6924
|
+
rowContainer.style.left = `${tableX}px`;
|
|
6925
|
+
rowContainer.style.top = `${tableY}px`;
|
|
6846
6926
|
this.container.append(rowContainer);
|
|
6847
6927
|
this.toolRowContainer = rowContainer;
|
|
6928
|
+
const colWidthList = colgroup.map((col) => col.width);
|
|
6848
6929
|
const colContainer = document.createElement("div");
|
|
6849
6930
|
colContainer.classList.add(`${EDITOR_PREFIX}-table-tool__col`);
|
|
6850
|
-
colContainer.style.transform = `translateY(-${this.
|
|
6851
|
-
for (let c = 0; c <
|
|
6852
|
-
const
|
|
6931
|
+
colContainer.style.transform = `translateY(-${this.ROW_COL_OFFSET * scale}px)`;
|
|
6932
|
+
for (let c = 0; c < colWidthList.length; c++) {
|
|
6933
|
+
const colWidth = colWidthList[c] * scale;
|
|
6853
6934
|
const colItem = document.createElement("div");
|
|
6854
6935
|
colItem.classList.add(`${EDITOR_PREFIX}-table-tool__col__item`);
|
|
6855
6936
|
if (c === colIndex) {
|
|
@@ -6861,22 +6942,67 @@ class TableTool {
|
|
|
6861
6942
|
this._mousedown({
|
|
6862
6943
|
evt,
|
|
6863
6944
|
element,
|
|
6864
|
-
position,
|
|
6865
6945
|
index: c,
|
|
6866
6946
|
order: TableOrder.COL
|
|
6867
6947
|
});
|
|
6868
6948
|
};
|
|
6869
6949
|
colItem.append(colItemAnchor);
|
|
6870
|
-
colItem.style.width = `${
|
|
6950
|
+
colItem.style.width = `${colWidth}px`;
|
|
6871
6951
|
colContainer.append(colItem);
|
|
6872
6952
|
}
|
|
6873
|
-
colContainer.style.left = `${
|
|
6874
|
-
colContainer.style.top = `${
|
|
6953
|
+
colContainer.style.left = `${tableX}px`;
|
|
6954
|
+
colContainer.style.top = `${tableY}px`;
|
|
6875
6955
|
this.container.append(colContainer);
|
|
6876
6956
|
this.toolColContainer = colContainer;
|
|
6957
|
+
const tableHeight = element.height * scale;
|
|
6958
|
+
const tableWidth = element.width * scale;
|
|
6959
|
+
const borderContainer = document.createElement("div");
|
|
6960
|
+
borderContainer.classList.add(`${EDITOR_PREFIX}-table-tool__border`);
|
|
6961
|
+
borderContainer.style.height = `${tableHeight}px`;
|
|
6962
|
+
borderContainer.style.width = `${tableWidth}px`;
|
|
6963
|
+
borderContainer.style.left = `${tableX}px`;
|
|
6964
|
+
borderContainer.style.top = `${tableY}px`;
|
|
6965
|
+
for (let r = 0; r < trList.length; r++) {
|
|
6966
|
+
const tr = trList[r];
|
|
6967
|
+
for (let d = 0; d < tr.tdList.length; d++) {
|
|
6968
|
+
const td2 = tr.tdList[d];
|
|
6969
|
+
const rowBorder = document.createElement("div");
|
|
6970
|
+
rowBorder.classList.add(`${EDITOR_PREFIX}-table-tool__border__row`);
|
|
6971
|
+
rowBorder.style.width = `${td2.width * scale}px`;
|
|
6972
|
+
rowBorder.style.height = `${this.BORDER_VALUE}px`;
|
|
6973
|
+
rowBorder.style.top = `${(td2.y + td2.height) * scale - this.BORDER_VALUE / 2}px`;
|
|
6974
|
+
rowBorder.style.left = `${td2.x * scale}px`;
|
|
6975
|
+
rowBorder.onmousedown = (evt) => {
|
|
6976
|
+
this._mousedown({
|
|
6977
|
+
evt,
|
|
6978
|
+
element,
|
|
6979
|
+
index: td2.rowIndex + td2.rowspan - 1,
|
|
6980
|
+
order: TableOrder.ROW
|
|
6981
|
+
});
|
|
6982
|
+
};
|
|
6983
|
+
borderContainer.appendChild(rowBorder);
|
|
6984
|
+
const colBorder = document.createElement("div");
|
|
6985
|
+
colBorder.classList.add(`${EDITOR_PREFIX}-table-tool__border__col`);
|
|
6986
|
+
colBorder.style.width = `${this.BORDER_VALUE}px`;
|
|
6987
|
+
colBorder.style.height = `${td2.height * scale}px`;
|
|
6988
|
+
colBorder.style.top = `${td2.y * scale}px`;
|
|
6989
|
+
colBorder.style.left = `${(td2.x + td2.width) * scale - this.BORDER_VALUE / 2}px`;
|
|
6990
|
+
colBorder.onmousedown = (evt) => {
|
|
6991
|
+
this._mousedown({
|
|
6992
|
+
evt,
|
|
6993
|
+
element,
|
|
6994
|
+
index: td2.colIndex + td2.colspan - 1,
|
|
6995
|
+
order: TableOrder.COL
|
|
6996
|
+
});
|
|
6997
|
+
};
|
|
6998
|
+
borderContainer.appendChild(colBorder);
|
|
6999
|
+
}
|
|
7000
|
+
}
|
|
7001
|
+
this.container.append(borderContainer);
|
|
7002
|
+
this.toolBorderContainer = borderContainer;
|
|
6877
7003
|
}
|
|
6878
7004
|
_mousedown(payload) {
|
|
6879
|
-
const { evt, index: index2, order, element
|
|
7005
|
+
const { evt, index: index2, order, element } = payload;
|
|
6880
7006
|
this.canvas = this.draw.getPage();
|
|
6881
7007
|
const { scale } = this.options;
|
|
6882
7008
|
const width = this.draw.getWidth();
|
|
@@ -6920,10 +7046,17 @@ class TableTool {
|
|
|
6920
7046
|
};
|
|
6921
7047
|
document.addEventListener("mousemove", mousemoveFn);
|
|
6922
7048
|
document.addEventListener("mouseup", () => {
|
|
7049
|
+
var _a;
|
|
6923
7050
|
let isChangeSize = false;
|
|
6924
7051
|
if (order === TableOrder.ROW) {
|
|
6925
|
-
element.trList[index2]
|
|
7052
|
+
const tr = element.trList[index2];
|
|
7053
|
+
const { defaultTrMinHeight } = this.options;
|
|
7054
|
+
if (dy < 0 && tr.height + dy < defaultTrMinHeight) {
|
|
7055
|
+
dy = defaultTrMinHeight - tr.height;
|
|
7056
|
+
}
|
|
6926
7057
|
if (dy) {
|
|
7058
|
+
tr.height += dy;
|
|
7059
|
+
tr.minHeight = tr.height;
|
|
6927
7060
|
isChangeSize = true;
|
|
6928
7061
|
}
|
|
6929
7062
|
} else {
|
|
@@ -6931,10 +7064,14 @@ class TableTool {
|
|
|
6931
7064
|
if (colgroup && dx) {
|
|
6932
7065
|
const innerWidth = this.draw.getInnerWidth();
|
|
6933
7066
|
const curColWidth = colgroup[index2].width;
|
|
6934
|
-
|
|
6935
|
-
|
|
6936
|
-
dx = this.minTdWidth - curColWidth;
|
|
7067
|
+
if (dx < 0 && curColWidth + dx < this.MIN_TD_WIDTH) {
|
|
7068
|
+
dx = this.MIN_TD_WIDTH - curColWidth;
|
|
6937
7069
|
}
|
|
7070
|
+
const nextColWidth = (_a = colgroup[index2 + 1]) == null ? void 0 : _a.width;
|
|
7071
|
+
if (dx > 0 && nextColWidth && nextColWidth - dx < this.MIN_TD_WIDTH) {
|
|
7072
|
+
dx = nextColWidth - this.MIN_TD_WIDTH;
|
|
7073
|
+
}
|
|
7074
|
+
const moveColWidth = curColWidth + dx;
|
|
6938
7075
|
let moveTableWidth = 0;
|
|
6939
7076
|
for (let c = 0; c < colgroup.length; c++) {
|
|
6940
7077
|
const group2 = colgroup[c];
|
|
@@ -6963,7 +7100,6 @@ class TableTool {
|
|
|
6963
7100
|
}
|
|
6964
7101
|
if (isChangeSize) {
|
|
6965
7102
|
this.draw.render({ isSetCursor: false });
|
|
6966
|
-
this.render(element, position);
|
|
6967
7103
|
}
|
|
6968
7104
|
anchorLine.remove();
|
|
6969
7105
|
document.removeEventListener("mousemove", mousemoveFn);
|
|
@@ -7048,21 +7184,6 @@ class HyperlinkParticle {
|
|
|
7048
7184
|
ctx.restore();
|
|
7049
7185
|
}
|
|
7050
7186
|
}
|
|
7051
|
-
var HeaderMaxHeightRatio;
|
|
7052
|
-
(function(HeaderMaxHeightRatio2) {
|
|
7053
|
-
HeaderMaxHeightRatio2["HALF"] = "half";
|
|
7054
|
-
HeaderMaxHeightRatio2["ONE_THIRD"] = "one-third";
|
|
7055
|
-
HeaderMaxHeightRatio2["QUARTER"] = "quarter";
|
|
7056
|
-
})(HeaderMaxHeightRatio || (HeaderMaxHeightRatio = {}));
|
|
7057
|
-
const defaultHeaderOption = {
|
|
7058
|
-
top: 30,
|
|
7059
|
-
maxHeightRadio: HeaderMaxHeightRatio.HALF
|
|
7060
|
-
};
|
|
7061
|
-
const maxHeightRadioMapping = {
|
|
7062
|
-
[HeaderMaxHeightRatio.HALF]: 1 / 2,
|
|
7063
|
-
[HeaderMaxHeightRatio.ONE_THIRD]: 1 / 3,
|
|
7064
|
-
[HeaderMaxHeightRatio.QUARTER]: 1 / 4
|
|
7065
|
-
};
|
|
7066
7187
|
class Header {
|
|
7067
7188
|
constructor(draw) {
|
|
7068
7189
|
__publicField(this, "draw");
|
|
@@ -8257,7 +8378,11 @@ const contextmenu$1 = {
|
|
|
8257
8378
|
verticalAlign: "\u5782\u76F4\u5BF9\u9F50",
|
|
8258
8379
|
verticalAlignTop: "\u9876\u7AEF\u5BF9\u9F50",
|
|
8259
8380
|
verticalAlignMiddle: "\u5782\u76F4\u5C45\u4E2D",
|
|
8260
|
-
verticalAlignBottom: "\u5E95\u7AEF\u5BF9\u9F50"
|
|
8381
|
+
verticalAlignBottom: "\u5E95\u7AEF\u5BF9\u9F50",
|
|
8382
|
+
border: "\u8868\u683C\u8FB9\u6846",
|
|
8383
|
+
borderAll: "\u6240\u6709\u6846\u7EBF",
|
|
8384
|
+
borderEmpty: "\u65E0\u6846\u7EBF",
|
|
8385
|
+
borderExternal: "\u5916\u4FA7\u6846\u7EBF"
|
|
8261
8386
|
}
|
|
8262
8387
|
};
|
|
8263
8388
|
const datePicker$1 = {
|
|
@@ -8280,9 +8405,14 @@ const datePicker$1 = {
|
|
|
8280
8405
|
minute: "\u5206",
|
|
8281
8406
|
second: "\u79D2"
|
|
8282
8407
|
};
|
|
8408
|
+
const frame$1 = {
|
|
8409
|
+
header: "\u9875\u7709",
|
|
8410
|
+
footer: "\u9875\u811A"
|
|
8411
|
+
};
|
|
8283
8412
|
var zhCN = {
|
|
8284
8413
|
contextmenu: contextmenu$1,
|
|
8285
|
-
datePicker: datePicker$1
|
|
8414
|
+
datePicker: datePicker$1,
|
|
8415
|
+
frame: frame$1
|
|
8286
8416
|
};
|
|
8287
8417
|
class DatePicker {
|
|
8288
8418
|
constructor(options = {}) {
|
|
@@ -9011,7 +9141,11 @@ const contextmenu = {
|
|
|
9011
9141
|
verticalAlign: "Vertical align",
|
|
9012
9142
|
verticalAlignTop: "Top",
|
|
9013
9143
|
verticalAlignMiddle: "Middle",
|
|
9014
|
-
verticalAlignBottom: "Bottom"
|
|
9144
|
+
verticalAlignBottom: "Bottom",
|
|
9145
|
+
border: "Table border",
|
|
9146
|
+
borderAll: "All",
|
|
9147
|
+
borderEmpty: "Empty",
|
|
9148
|
+
borderExternal: "External"
|
|
9015
9149
|
}
|
|
9016
9150
|
};
|
|
9017
9151
|
const datePicker = {
|
|
@@ -9034,9 +9168,14 @@ const datePicker = {
|
|
|
9034
9168
|
minute: "Minute",
|
|
9035
9169
|
second: "Second"
|
|
9036
9170
|
};
|
|
9171
|
+
const frame = {
|
|
9172
|
+
header: "Header",
|
|
9173
|
+
footer: "Footer"
|
|
9174
|
+
};
|
|
9037
9175
|
var en = {
|
|
9038
9176
|
contextmenu,
|
|
9039
|
-
datePicker
|
|
9177
|
+
datePicker,
|
|
9178
|
+
frame
|
|
9040
9179
|
};
|
|
9041
9180
|
class I18n {
|
|
9042
9181
|
constructor() {
|
|
@@ -9089,14 +9228,20 @@ class ImageObserver {
|
|
|
9089
9228
|
}
|
|
9090
9229
|
class Zone {
|
|
9091
9230
|
constructor(draw) {
|
|
9231
|
+
__publicField(this, "INDICATOR_PADDING", 2);
|
|
9232
|
+
__publicField(this, "INDICATOR_TITLE_TRANSLATE", [20, 5]);
|
|
9092
9233
|
__publicField(this, "draw");
|
|
9234
|
+
__publicField(this, "options");
|
|
9235
|
+
__publicField(this, "i18n");
|
|
9093
9236
|
__publicField(this, "container");
|
|
9094
9237
|
__publicField(this, "currentZone");
|
|
9095
|
-
__publicField(this, "
|
|
9238
|
+
__publicField(this, "indicatorContainer");
|
|
9096
9239
|
this.draw = draw;
|
|
9240
|
+
this.i18n = draw.getI18n();
|
|
9241
|
+
this.options = draw.getOptions();
|
|
9097
9242
|
this.container = draw.getContainer();
|
|
9098
9243
|
this.currentZone = EditorZone.MAIN;
|
|
9099
|
-
this.
|
|
9244
|
+
this.indicatorContainer = null;
|
|
9100
9245
|
}
|
|
9101
9246
|
isHeaderActive() {
|
|
9102
9247
|
return this.getZone() === EditorZone.HEADER;
|
|
@@ -9104,6 +9249,9 @@ class Zone {
|
|
|
9104
9249
|
isMainActive() {
|
|
9105
9250
|
return this.getZone() === EditorZone.MAIN;
|
|
9106
9251
|
}
|
|
9252
|
+
isFooterActive() {
|
|
9253
|
+
return this.getZone() === EditorZone.FOOTER;
|
|
9254
|
+
}
|
|
9107
9255
|
getZone() {
|
|
9108
9256
|
return this.currentZone;
|
|
9109
9257
|
}
|
|
@@ -9117,30 +9265,171 @@ class Zone {
|
|
|
9117
9265
|
isSetCursor: false,
|
|
9118
9266
|
isCompute: false
|
|
9119
9267
|
});
|
|
9120
|
-
|
|
9121
|
-
this._drawHeaderZoneIndicator();
|
|
9122
|
-
} else {
|
|
9123
|
-
this._clearHeaderZoneIndicator();
|
|
9124
|
-
}
|
|
9268
|
+
this.drawZoneIndicator();
|
|
9125
9269
|
}
|
|
9126
|
-
|
|
9127
|
-
this.
|
|
9128
|
-
this.
|
|
9270
|
+
drawZoneIndicator() {
|
|
9271
|
+
this._clearZoneIndicator();
|
|
9272
|
+
if (!this.isHeaderActive() && !this.isFooterActive())
|
|
9273
|
+
return;
|
|
9274
|
+
const { scale } = this.options;
|
|
9275
|
+
const isHeaderActive = this.isHeaderActive();
|
|
9276
|
+
const [offsetX, offsetY] = this.INDICATOR_TITLE_TRANSLATE;
|
|
9129
9277
|
const pageList = this.draw.getPageList();
|
|
9278
|
+
const margins = this.draw.getMargins();
|
|
9279
|
+
const innerWidth = this.draw.getInnerWidth();
|
|
9130
9280
|
const pageHeight = this.draw.getHeight();
|
|
9131
9281
|
const pageGap = this.draw.getPageGap();
|
|
9132
9282
|
const preY = pageHeight + pageGap;
|
|
9283
|
+
this.indicatorContainer = document.createElement("div");
|
|
9284
|
+
this.indicatorContainer.classList.add(`${EDITOR_PREFIX}-zone-indicator`);
|
|
9285
|
+
const header = this.draw.getHeader();
|
|
9286
|
+
const footer = this.draw.getFooter();
|
|
9287
|
+
const indicatorHeight = isHeaderActive ? header.getHeight() : footer.getHeight();
|
|
9288
|
+
const indicatorTop = isHeaderActive ? header.getHeaderTop() : pageHeight - footer.getFooterBottom() - indicatorHeight;
|
|
9133
9289
|
for (let p = 0; p < pageList.length; p++) {
|
|
9134
|
-
const
|
|
9135
|
-
|
|
9136
|
-
|
|
9137
|
-
this.
|
|
9138
|
-
|
|
9139
|
-
|
|
9140
|
-
|
|
9141
|
-
|
|
9290
|
+
const startY = preY * p + indicatorTop;
|
|
9291
|
+
const indicatorLeftX = margins[3] - this.INDICATOR_PADDING;
|
|
9292
|
+
const indicatorRightX = margins[3] + innerWidth + this.INDICATOR_PADDING;
|
|
9293
|
+
const indicatorTopY = isHeaderActive ? startY - this.INDICATOR_PADDING : startY + indicatorHeight + this.INDICATOR_PADDING;
|
|
9294
|
+
const indicatorBottomY = isHeaderActive ? startY + indicatorHeight + this.INDICATOR_PADDING : startY - this.INDICATOR_PADDING;
|
|
9295
|
+
const indicatorTitle = document.createElement("div");
|
|
9296
|
+
indicatorTitle.innerText = this.i18n.t(`frame.${isHeaderActive ? "header" : "footer"}`);
|
|
9297
|
+
indicatorTitle.style.top = `${indicatorBottomY}px`;
|
|
9298
|
+
indicatorTitle.style.transform = `translate(${offsetX * scale}px, ${offsetY * scale}px) scale(${scale})`;
|
|
9299
|
+
this.indicatorContainer.append(indicatorTitle);
|
|
9300
|
+
const lineTop = document.createElement("span");
|
|
9301
|
+
lineTop.classList.add(`${EDITOR_PREFIX}-zone-indicator-border__top`);
|
|
9302
|
+
lineTop.style.top = `${indicatorTopY}px`;
|
|
9303
|
+
lineTop.style.width = `${innerWidth}px`;
|
|
9304
|
+
lineTop.style.marginLeft = `${margins[3]}px`;
|
|
9305
|
+
this.indicatorContainer.append(lineTop);
|
|
9306
|
+
const lineLeft = document.createElement("span");
|
|
9307
|
+
lineLeft.classList.add(`${EDITOR_PREFIX}-zone-indicator-border__left`);
|
|
9308
|
+
lineLeft.style.top = `${startY}px`;
|
|
9309
|
+
lineLeft.style.height = `${indicatorHeight}px`;
|
|
9310
|
+
lineLeft.style.left = `${indicatorLeftX}px`;
|
|
9311
|
+
this.indicatorContainer.append(lineLeft);
|
|
9312
|
+
const lineBottom = document.createElement("span");
|
|
9313
|
+
lineBottom.classList.add(`${EDITOR_PREFIX}-zone-indicator-border__bottom`);
|
|
9314
|
+
lineBottom.style.top = `${indicatorBottomY}px`;
|
|
9315
|
+
this.indicatorContainer.append(lineBottom);
|
|
9316
|
+
const lineRight = document.createElement("span");
|
|
9317
|
+
lineRight.classList.add(`${EDITOR_PREFIX}-zone-indicator-border__right`);
|
|
9318
|
+
lineRight.style.top = `${startY}px`;
|
|
9319
|
+
lineRight.style.height = `${indicatorHeight}px`;
|
|
9320
|
+
lineRight.style.left = `${indicatorRightX}px`;
|
|
9321
|
+
this.indicatorContainer.append(lineRight);
|
|
9322
|
+
}
|
|
9323
|
+
this.container.append(this.indicatorContainer);
|
|
9324
|
+
}
|
|
9325
|
+
_clearZoneIndicator() {
|
|
9142
9326
|
var _a;
|
|
9143
|
-
(_a = this.
|
|
9327
|
+
(_a = this.indicatorContainer) == null ? void 0 : _a.remove();
|
|
9328
|
+
this.indicatorContainer = null;
|
|
9329
|
+
}
|
|
9330
|
+
}
|
|
9331
|
+
class Footer {
|
|
9332
|
+
constructor(draw) {
|
|
9333
|
+
__publicField(this, "draw");
|
|
9334
|
+
__publicField(this, "position");
|
|
9335
|
+
__publicField(this, "options");
|
|
9336
|
+
__publicField(this, "elementList");
|
|
9337
|
+
__publicField(this, "rowList");
|
|
9338
|
+
__publicField(this, "positionList");
|
|
9339
|
+
this.draw = draw;
|
|
9340
|
+
this.position = draw.getPosition();
|
|
9341
|
+
this.options = draw.getOptions();
|
|
9342
|
+
this.elementList = draw.getFooterElementList();
|
|
9343
|
+
this.rowList = [];
|
|
9344
|
+
this.positionList = [];
|
|
9345
|
+
}
|
|
9346
|
+
setElementList(elementList) {
|
|
9347
|
+
this.elementList = elementList;
|
|
9348
|
+
}
|
|
9349
|
+
getElementList() {
|
|
9350
|
+
return this.elementList;
|
|
9351
|
+
}
|
|
9352
|
+
getPositionList() {
|
|
9353
|
+
return this.positionList;
|
|
9354
|
+
}
|
|
9355
|
+
compute() {
|
|
9356
|
+
this._recovery();
|
|
9357
|
+
this._computeRowList();
|
|
9358
|
+
this._computePositionList();
|
|
9359
|
+
}
|
|
9360
|
+
_recovery() {
|
|
9361
|
+
this.rowList = [];
|
|
9362
|
+
this.positionList = [];
|
|
9363
|
+
}
|
|
9364
|
+
_computeRowList() {
|
|
9365
|
+
const innerWidth = this.draw.getInnerWidth();
|
|
9366
|
+
this.rowList = this.draw.computeRowList(innerWidth, this.elementList);
|
|
9367
|
+
}
|
|
9368
|
+
_computePositionList() {
|
|
9369
|
+
const footerBottom = this.getFooterBottom();
|
|
9370
|
+
const innerWidth = this.draw.getInnerWidth();
|
|
9371
|
+
const margins = this.draw.getMargins();
|
|
9372
|
+
const startX = margins[3];
|
|
9373
|
+
const pageHeight = this.draw.getHeight();
|
|
9374
|
+
const footerHeight = this.getHeight();
|
|
9375
|
+
const startY = pageHeight - footerBottom - footerHeight;
|
|
9376
|
+
this.position.computePageRowPosition({
|
|
9377
|
+
positionList: this.positionList,
|
|
9378
|
+
rowList: this.rowList,
|
|
9379
|
+
pageNo: 0,
|
|
9380
|
+
startIndex: 0,
|
|
9381
|
+
startX,
|
|
9382
|
+
startY,
|
|
9383
|
+
innerWidth
|
|
9384
|
+
});
|
|
9385
|
+
}
|
|
9386
|
+
getFooterBottom() {
|
|
9387
|
+
const { footer: { bottom }, scale } = this.options;
|
|
9388
|
+
return Math.floor(bottom * scale);
|
|
9389
|
+
}
|
|
9390
|
+
getMaxHeight() {
|
|
9391
|
+
const { footer: { maxHeightRadio } } = this.options;
|
|
9392
|
+
const height = this.draw.getHeight();
|
|
9393
|
+
return Math.floor(height * maxHeightRadioMapping[maxHeightRadio]);
|
|
9394
|
+
}
|
|
9395
|
+
getHeight() {
|
|
9396
|
+
const maxHeight = this.getMaxHeight();
|
|
9397
|
+
const rowHeight = this.getRowHeight();
|
|
9398
|
+
return rowHeight > maxHeight ? maxHeight : rowHeight;
|
|
9399
|
+
}
|
|
9400
|
+
getRowHeight() {
|
|
9401
|
+
return this.rowList.reduce((pre, cur) => pre + cur.height, 0);
|
|
9402
|
+
}
|
|
9403
|
+
getExtraHeight() {
|
|
9404
|
+
const margins = this.draw.getMargins();
|
|
9405
|
+
const footerHeight = this.getHeight();
|
|
9406
|
+
const footerBottom = this.getFooterBottom();
|
|
9407
|
+
const extraHeight = footerBottom + footerHeight - margins[2];
|
|
9408
|
+
return extraHeight <= 0 ? 0 : extraHeight;
|
|
9409
|
+
}
|
|
9410
|
+
render(ctx, pageNo) {
|
|
9411
|
+
ctx.globalAlpha = 1;
|
|
9412
|
+
const innerWidth = this.draw.getInnerWidth();
|
|
9413
|
+
const maxHeight = this.getMaxHeight();
|
|
9414
|
+
const rowList = [];
|
|
9415
|
+
let curRowHeight = 0;
|
|
9416
|
+
for (let r = 0; r < this.rowList.length; r++) {
|
|
9417
|
+
const row = this.rowList[r];
|
|
9418
|
+
if (curRowHeight + row.height > maxHeight) {
|
|
9419
|
+
break;
|
|
9420
|
+
}
|
|
9421
|
+
rowList.push(row);
|
|
9422
|
+
curRowHeight += row.height;
|
|
9423
|
+
}
|
|
9424
|
+
this.draw.drawRow(ctx, {
|
|
9425
|
+
elementList: this.elementList,
|
|
9426
|
+
positionList: this.positionList,
|
|
9427
|
+
rowList,
|
|
9428
|
+
pageNo,
|
|
9429
|
+
startIndex: 0,
|
|
9430
|
+
innerWidth,
|
|
9431
|
+
zone: EditorZone.FOOTER
|
|
9432
|
+
});
|
|
9144
9433
|
}
|
|
9145
9434
|
}
|
|
9146
9435
|
class Draw {
|
|
@@ -9179,6 +9468,7 @@ class Draw {
|
|
|
9179
9468
|
__publicField(this, "pageNumber");
|
|
9180
9469
|
__publicField(this, "waterMark");
|
|
9181
9470
|
__publicField(this, "header");
|
|
9471
|
+
__publicField(this, "footer");
|
|
9182
9472
|
__publicField(this, "hyperlinkParticle");
|
|
9183
9473
|
__publicField(this, "dateParticle");
|
|
9184
9474
|
__publicField(this, "separatorParticle");
|
|
@@ -9232,6 +9522,7 @@ class Draw {
|
|
|
9232
9522
|
this.pageNumber = new PageNumber(this);
|
|
9233
9523
|
this.waterMark = new Watermark(this);
|
|
9234
9524
|
this.header = new Header(this);
|
|
9525
|
+
this.footer = new Footer(this);
|
|
9235
9526
|
this.hyperlinkParticle = new HyperlinkParticle(this);
|
|
9236
9527
|
this.dateParticle = new DateParticle(this);
|
|
9237
9528
|
this.separatorParticle = new SeparatorParticle();
|
|
@@ -9284,9 +9575,13 @@ class Draw {
|
|
|
9284
9575
|
}
|
|
9285
9576
|
getMainHeight() {
|
|
9286
9577
|
const pageHeight = this.getHeight();
|
|
9578
|
+
return pageHeight - this.getMainOuterHeight();
|
|
9579
|
+
}
|
|
9580
|
+
getMainOuterHeight() {
|
|
9287
9581
|
const margins = this.getMargins();
|
|
9288
|
-
const
|
|
9289
|
-
|
|
9582
|
+
const headerExtraHeight = this.header.getExtraHeight();
|
|
9583
|
+
const footerExtraHeight = this.footer.getExtraHeight();
|
|
9584
|
+
return margins[0] + margins[2] + headerExtraHeight + footerExtraHeight;
|
|
9290
9585
|
}
|
|
9291
9586
|
getCanvasWidth(pageNo = -1) {
|
|
9292
9587
|
const page = this.getPage(pageNo);
|
|
@@ -9320,9 +9615,6 @@ class Draw {
|
|
|
9320
9615
|
const { pageNumber: { bottom }, scale } = this.options;
|
|
9321
9616
|
return bottom * scale;
|
|
9322
9617
|
}
|
|
9323
|
-
getHeaderTop() {
|
|
9324
|
-
return this.options.headerTop * this.options.scale;
|
|
9325
|
-
}
|
|
9326
9618
|
getMarginIndicatorSize() {
|
|
9327
9619
|
return this.options.marginIndicatorSize * this.options.scale;
|
|
9328
9620
|
}
|
|
@@ -9414,7 +9706,13 @@ class Draw {
|
|
|
9414
9706
|
}
|
|
9415
9707
|
getOriginalElementList() {
|
|
9416
9708
|
const zoneManager = this.getZone();
|
|
9417
|
-
|
|
9709
|
+
if (zoneManager.isHeaderActive()) {
|
|
9710
|
+
return this.header.getElementList();
|
|
9711
|
+
}
|
|
9712
|
+
if (zoneManager.isFooterActive()) {
|
|
9713
|
+
return this.footer.getElementList();
|
|
9714
|
+
}
|
|
9715
|
+
return this.elementList;
|
|
9418
9716
|
}
|
|
9419
9717
|
getOriginalMainElementList() {
|
|
9420
9718
|
return this.elementList;
|
|
@@ -9486,6 +9784,9 @@ class Draw {
|
|
|
9486
9784
|
getHeader() {
|
|
9487
9785
|
return this.header;
|
|
9488
9786
|
}
|
|
9787
|
+
getFooter() {
|
|
9788
|
+
return this.footer;
|
|
9789
|
+
}
|
|
9489
9790
|
getHyperlinkParticle() {
|
|
9490
9791
|
return this.hyperlinkParticle;
|
|
9491
9792
|
}
|
|
@@ -9643,7 +9944,8 @@ class Draw {
|
|
|
9643
9944
|
const { width, height, margins, watermark } = this.options;
|
|
9644
9945
|
const data2 = {
|
|
9645
9946
|
header: zipElementList(this.headerElementList),
|
|
9646
|
-
main: zipElementList(this.elementList)
|
|
9947
|
+
main: zipElementList(this.elementList),
|
|
9948
|
+
footer: zipElementList(this.footerElementList)
|
|
9647
9949
|
};
|
|
9648
9950
|
return {
|
|
9649
9951
|
version,
|
|
@@ -9767,6 +10069,40 @@ class Draw {
|
|
|
9767
10069
|
changeTd.height += extraHeight;
|
|
9768
10070
|
});
|
|
9769
10071
|
}
|
|
10072
|
+
let curTdMinHeight = 0;
|
|
10073
|
+
let curTdRealHeight = 0;
|
|
10074
|
+
let i2 = 0;
|
|
10075
|
+
while (i2 < td.rowspan) {
|
|
10076
|
+
const curTr = trList[i2 + t];
|
|
10077
|
+
curTdMinHeight += curTr.minHeight;
|
|
10078
|
+
curTdRealHeight += curTr.height;
|
|
10079
|
+
i2++;
|
|
10080
|
+
}
|
|
10081
|
+
td.realMinHeight = curTdMinHeight;
|
|
10082
|
+
td.realHeight = curTdRealHeight;
|
|
10083
|
+
td.mainHeight = curTdHeight;
|
|
10084
|
+
}
|
|
10085
|
+
}
|
|
10086
|
+
const reduceTrList = this.tableParticle.getTrListGroupByCol(trList);
|
|
10087
|
+
for (let t = 0; t < reduceTrList.length; t++) {
|
|
10088
|
+
const tr = reduceTrList[t];
|
|
10089
|
+
let reduceHeight = -1;
|
|
10090
|
+
for (let d = 0; d < tr.tdList.length; d++) {
|
|
10091
|
+
const td = tr.tdList[d];
|
|
10092
|
+
const curTdRealHeight = td.realHeight;
|
|
10093
|
+
const curTdHeight = td.mainHeight;
|
|
10094
|
+
const curTdMinHeight = td.realMinHeight;
|
|
10095
|
+
const curReduceHeight = curTdHeight < curTdMinHeight ? curTdRealHeight - curTdMinHeight : curTdRealHeight - curTdHeight;
|
|
10096
|
+
if (!~reduceHeight || curReduceHeight < reduceHeight) {
|
|
10097
|
+
reduceHeight = curReduceHeight;
|
|
10098
|
+
}
|
|
10099
|
+
}
|
|
10100
|
+
if (reduceHeight > 0) {
|
|
10101
|
+
const changeTr = trList[t];
|
|
10102
|
+
changeTr.height -= reduceHeight;
|
|
10103
|
+
changeTr.tdList.forEach((changeTd) => {
|
|
10104
|
+
changeTd.height -= reduceHeight;
|
|
10105
|
+
});
|
|
9770
10106
|
}
|
|
9771
10107
|
}
|
|
9772
10108
|
this.tableParticle.computeRowColInfo(element);
|
|
@@ -9780,10 +10116,8 @@ class Draw {
|
|
|
9780
10116
|
metrics.height = elementHeight;
|
|
9781
10117
|
metrics.boundingBoxDescent = elementHeight;
|
|
9782
10118
|
metrics.boundingBoxAscent = 0;
|
|
9783
|
-
const margins = this.getMargins();
|
|
9784
10119
|
const height2 = this.getHeight();
|
|
9785
|
-
const
|
|
9786
|
-
const marginHeight = margins[0] + margins[2] + headerExtraHeight;
|
|
10120
|
+
const marginHeight = this.getMainOuterHeight();
|
|
9787
10121
|
let curPagePreHeight = marginHeight;
|
|
9788
10122
|
for (let r = 0; r < rowList.length; r++) {
|
|
9789
10123
|
const row = rowList[r];
|
|
@@ -9931,9 +10265,7 @@ class Draw {
|
|
|
9931
10265
|
const pageRowList = [[]];
|
|
9932
10266
|
const { pageMode } = this.options;
|
|
9933
10267
|
const height = this.getHeight();
|
|
9934
|
-
const
|
|
9935
|
-
const headerExtraHeight = this.header.getExtraHeight();
|
|
9936
|
-
const marginHeight = margins[0] + margins[2] + headerExtraHeight;
|
|
10268
|
+
const marginHeight = this.getMainOuterHeight();
|
|
9937
10269
|
let pageHeight = marginHeight;
|
|
9938
10270
|
let pageNo = 0;
|
|
9939
10271
|
if (pageMode === PageMode.CONTINUITY) {
|
|
@@ -10122,7 +10454,7 @@ class Draw {
|
|
|
10122
10454
|
const { inactiveAlpha, pageMode } = this.options;
|
|
10123
10455
|
const innerWidth = this.getInnerWidth();
|
|
10124
10456
|
const ctx = this.ctxList[pageNo];
|
|
10125
|
-
ctx.globalAlpha = this.zone.
|
|
10457
|
+
ctx.globalAlpha = !this.zone.isMainActive() ? inactiveAlpha : 1;
|
|
10126
10458
|
this._clearPage(pageNo);
|
|
10127
10459
|
this.background.render(ctx);
|
|
10128
10460
|
this.margin.render(ctx, pageNo);
|
|
@@ -10138,6 +10470,7 @@ class Draw {
|
|
|
10138
10470
|
});
|
|
10139
10471
|
this.header.render(ctx, pageNo);
|
|
10140
10472
|
this.pageNumber.render(ctx, pageNo);
|
|
10473
|
+
this.footer.render(ctx, pageNo);
|
|
10141
10474
|
if (this.search.getSearchKeyword()) {
|
|
10142
10475
|
this.search.render(ctx, pageNo);
|
|
10143
10476
|
}
|
|
@@ -10154,7 +10487,6 @@ class Draw {
|
|
|
10154
10487
|
entries.forEach((entry) => {
|
|
10155
10488
|
if (entry.isIntersecting) {
|
|
10156
10489
|
const index2 = Number(entry.target.dataset.index);
|
|
10157
|
-
this.header.render(this.ctxList[index2], index2);
|
|
10158
10490
|
this._drawPage({
|
|
10159
10491
|
elementList,
|
|
10160
10492
|
positionList,
|
|
@@ -10188,6 +10520,7 @@ class Draw {
|
|
|
10188
10520
|
const innerWidth = this.getInnerWidth();
|
|
10189
10521
|
if (isCompute) {
|
|
10190
10522
|
this.header.compute();
|
|
10523
|
+
this.footer.compute();
|
|
10191
10524
|
this.rowList = this.computeRowList(innerWidth, this.elementList);
|
|
10192
10525
|
this.pageRowList = this._computePageList();
|
|
10193
10526
|
this.position.computePositionList();
|
|
@@ -10215,9 +10548,9 @@ class Draw {
|
|
|
10215
10548
|
} else {
|
|
10216
10549
|
this._immediateRender();
|
|
10217
10550
|
}
|
|
10551
|
+
const positionContext = this.position.getPositionContext();
|
|
10218
10552
|
if (isSetCursor) {
|
|
10219
10553
|
const positionList = this.position.getPositionList();
|
|
10220
|
-
const positionContext = this.position.getPositionContext();
|
|
10221
10554
|
if (positionContext.isTable) {
|
|
10222
10555
|
const { index: index2, trIndex, tdIndex } = positionContext;
|
|
10223
10556
|
const elementList = this.getOriginalElementList();
|
|
@@ -10236,21 +10569,29 @@ class Draw {
|
|
|
10236
10569
|
const self = this;
|
|
10237
10570
|
const oldElementList = deepClone(this.elementList);
|
|
10238
10571
|
const oldHeaderElementList = deepClone(this.header.getElementList());
|
|
10572
|
+
const oldFooterElementList = deepClone(this.footer.getElementList());
|
|
10239
10573
|
const { startIndex, endIndex } = this.range.getRange();
|
|
10240
10574
|
const pageNo = this.pageNo;
|
|
10241
|
-
const oldPositionContext = deepClone(
|
|
10575
|
+
const oldPositionContext = deepClone(positionContext);
|
|
10242
10576
|
const zone = this.zone.getZone();
|
|
10243
10577
|
this.historyManager.execute(function() {
|
|
10244
10578
|
self.zone.setZone(zone);
|
|
10245
10579
|
self.setPageNo(pageNo);
|
|
10246
|
-
self.position.setPositionContext(oldPositionContext);
|
|
10247
|
-
self.header.setElementList(oldHeaderElementList);
|
|
10580
|
+
self.position.setPositionContext(deepClone(oldPositionContext));
|
|
10581
|
+
self.header.setElementList(deepClone(oldHeaderElementList));
|
|
10582
|
+
self.footer.setElementList(deepClone(oldFooterElementList));
|
|
10248
10583
|
self.elementList = deepClone(oldElementList);
|
|
10249
10584
|
self.range.setRange(startIndex, endIndex);
|
|
10250
10585
|
self.render({ curIndex, isSubmitHistory: false });
|
|
10251
10586
|
});
|
|
10252
10587
|
}
|
|
10253
10588
|
nextTick(() => {
|
|
10589
|
+
if (isCompute && !this.isReadonly() && positionContext.isTable) {
|
|
10590
|
+
this.tableTool.render();
|
|
10591
|
+
}
|
|
10592
|
+
if (isCompute && !this.zone.isMainActive()) {
|
|
10593
|
+
this.zone.drawZoneIndicator();
|
|
10594
|
+
}
|
|
10254
10595
|
if (this.listener.pageSizeChange) {
|
|
10255
10596
|
this.listener.pageSizeChange(this.pageRowList.length);
|
|
10256
10597
|
}
|
|
@@ -10308,6 +10649,7 @@ const _Command = class {
|
|
|
10308
10649
|
_Command.mergeTableCell = adapt.mergeTableCell.bind(adapt);
|
|
10309
10650
|
_Command.cancelMergeTableCell = adapt.cancelMergeTableCell.bind(adapt);
|
|
10310
10651
|
_Command.tableTdVerticalAlign = adapt.tableTdVerticalAlign.bind(adapt);
|
|
10652
|
+
_Command.tableBorderType = adapt.tableBorderType.bind(adapt);
|
|
10311
10653
|
_Command.image = adapt.image.bind(adapt);
|
|
10312
10654
|
_Command.hyperlink = adapt.hyperlink.bind(adapt);
|
|
10313
10655
|
_Command.deleteHyperlink = adapt.deleteHyperlink.bind(adapt);
|
|
@@ -10462,6 +10804,9 @@ const _Command = class {
|
|
|
10462
10804
|
executeTableTdVerticalAlign(payload) {
|
|
10463
10805
|
return _Command.tableTdVerticalAlign(payload);
|
|
10464
10806
|
}
|
|
10807
|
+
executeTableBorderType(payload) {
|
|
10808
|
+
return _Command.tableBorderType(payload);
|
|
10809
|
+
}
|
|
10465
10810
|
executeHyperlink(payload) {
|
|
10466
10811
|
return _Command.hyperlink(payload);
|
|
10467
10812
|
}
|
|
@@ -10603,6 +10948,7 @@ __publicField(Command, "deleteTable");
|
|
|
10603
10948
|
__publicField(Command, "mergeTableCell");
|
|
10604
10949
|
__publicField(Command, "cancelMergeTableCell");
|
|
10605
10950
|
__publicField(Command, "tableTdVerticalAlign");
|
|
10951
|
+
__publicField(Command, "tableBorderType");
|
|
10606
10952
|
__publicField(Command, "image");
|
|
10607
10953
|
__publicField(Command, "hyperlink");
|
|
10608
10954
|
__publicField(Command, "deleteHyperlink");
|
|
@@ -10643,6 +10989,12 @@ const defaultWatermarkOption = {
|
|
|
10643
10989
|
size: 200,
|
|
10644
10990
|
font: "Yahei"
|
|
10645
10991
|
};
|
|
10992
|
+
var TableBorder;
|
|
10993
|
+
(function(TableBorder2) {
|
|
10994
|
+
TableBorder2["ALL"] = "all";
|
|
10995
|
+
TableBorder2["EMPTY"] = "empty";
|
|
10996
|
+
TableBorder2["EXTERNAL"] = "external";
|
|
10997
|
+
})(TableBorder || (TableBorder = {}));
|
|
10646
10998
|
var VerticalAlign;
|
|
10647
10999
|
(function(VerticalAlign2) {
|
|
10648
11000
|
VerticalAlign2["TOP"] = "top";
|
|
@@ -11127,7 +11479,7 @@ class CommandAdapt {
|
|
|
11127
11479
|
}
|
|
11128
11480
|
const element = {
|
|
11129
11481
|
type: ElementType.TABLE,
|
|
11130
|
-
value: ZERO,
|
|
11482
|
+
value: !startIndex ? "" : ZERO,
|
|
11131
11483
|
colgroup,
|
|
11132
11484
|
trList
|
|
11133
11485
|
};
|
|
@@ -11201,8 +11553,7 @@ class CommandAdapt {
|
|
|
11201
11553
|
});
|
|
11202
11554
|
this.range.setRange(0, 0);
|
|
11203
11555
|
this.draw.render({ curIndex: 0 });
|
|
11204
|
-
|
|
11205
|
-
this.tableTool.render(element, position[index2]);
|
|
11556
|
+
this.tableTool.render();
|
|
11206
11557
|
}
|
|
11207
11558
|
insertTableBottomRow() {
|
|
11208
11559
|
const isReadonly = this.draw.isReadonly();
|
|
@@ -11263,8 +11614,7 @@ class CommandAdapt {
|
|
|
11263
11614
|
});
|
|
11264
11615
|
this.range.setRange(0, 0);
|
|
11265
11616
|
this.draw.render({ curIndex: 0 });
|
|
11266
|
-
|
|
11267
|
-
this.tableTool.render(element, position[index2]);
|
|
11617
|
+
this.tableTool.render();
|
|
11268
11618
|
}
|
|
11269
11619
|
insertTableLeftCol() {
|
|
11270
11620
|
const isReadonly = this.draw.isReadonly();
|
|
@@ -11318,8 +11668,7 @@ class CommandAdapt {
|
|
|
11318
11668
|
});
|
|
11319
11669
|
this.range.setRange(0, 0);
|
|
11320
11670
|
this.draw.render({ curIndex: 0 });
|
|
11321
|
-
|
|
11322
|
-
this.tableTool.render(element, position[index2]);
|
|
11671
|
+
this.tableTool.render();
|
|
11323
11672
|
}
|
|
11324
11673
|
insertTableRightCol() {
|
|
11325
11674
|
const isReadonly = this.draw.isReadonly();
|
|
@@ -11373,8 +11722,7 @@ class CommandAdapt {
|
|
|
11373
11722
|
});
|
|
11374
11723
|
this.range.setRange(0, 0);
|
|
11375
11724
|
this.draw.render({ curIndex: 0 });
|
|
11376
|
-
|
|
11377
|
-
this.tableTool.render(element, position[index2]);
|
|
11725
|
+
this.tableTool.render();
|
|
11378
11726
|
}
|
|
11379
11727
|
deleteTableRow() {
|
|
11380
11728
|
const isReadonly = this.draw.isReadonly();
|
|
@@ -11593,8 +11941,7 @@ class CommandAdapt {
|
|
|
11593
11941
|
const curIndex = startTd.value.length - 1;
|
|
11594
11942
|
this.range.setRange(curIndex, curIndex);
|
|
11595
11943
|
this.draw.render();
|
|
11596
|
-
|
|
11597
|
-
this.tableTool.render(element, position[index2]);
|
|
11944
|
+
this.tableTool.render();
|
|
11598
11945
|
}
|
|
11599
11946
|
cancelMergeTableCell() {
|
|
11600
11947
|
const isReadonly = this.draw.isReadonly();
|
|
@@ -11654,8 +12001,7 @@ class CommandAdapt {
|
|
|
11654
12001
|
const curIndex = curTd.value.length - 1;
|
|
11655
12002
|
this.range.setRange(curIndex, curIndex);
|
|
11656
12003
|
this.draw.render();
|
|
11657
|
-
|
|
11658
|
-
this.tableTool.render(element, position[index2]);
|
|
12004
|
+
this.tableTool.render();
|
|
11659
12005
|
}
|
|
11660
12006
|
tableTdVerticalAlign(payload) {
|
|
11661
12007
|
var _a, _b, _c;
|
|
@@ -11678,6 +12024,25 @@ class CommandAdapt {
|
|
|
11678
12024
|
curIndex: endIndex
|
|
11679
12025
|
});
|
|
11680
12026
|
}
|
|
12027
|
+
tableBorderType(payload) {
|
|
12028
|
+
const isReadonly = this.draw.isReadonly();
|
|
12029
|
+
if (isReadonly)
|
|
12030
|
+
return;
|
|
12031
|
+
const positionContext = this.position.getPositionContext();
|
|
12032
|
+
if (!positionContext.isTable)
|
|
12033
|
+
return;
|
|
12034
|
+
const { index: index2 } = positionContext;
|
|
12035
|
+
const originalElementList = this.draw.getOriginalElementList();
|
|
12036
|
+
const element = originalElementList[index2];
|
|
12037
|
+
if (!element.borderType && payload === TableBorder.ALL || element.borderType === payload) {
|
|
12038
|
+
return;
|
|
12039
|
+
}
|
|
12040
|
+
element.borderType = payload;
|
|
12041
|
+
const { endIndex } = this.range.getRange();
|
|
12042
|
+
this.draw.render({
|
|
12043
|
+
curIndex: endIndex
|
|
12044
|
+
});
|
|
12045
|
+
}
|
|
11681
12046
|
hyperlink(payload) {
|
|
11682
12047
|
const isReadonly = this.draw.isReadonly();
|
|
11683
12048
|
if (isReadonly)
|
|
@@ -12346,6 +12711,39 @@ const tableMenus = [
|
|
|
12346
12711
|
{
|
|
12347
12712
|
isDivider: true
|
|
12348
12713
|
},
|
|
12714
|
+
{
|
|
12715
|
+
i18nPath: "contextmenu.table.border",
|
|
12716
|
+
icon: "border-all",
|
|
12717
|
+
when: (payload) => {
|
|
12718
|
+
return !payload.isReadonly && payload.isInTable;
|
|
12719
|
+
},
|
|
12720
|
+
childMenus: [
|
|
12721
|
+
{
|
|
12722
|
+
i18nPath: "contextmenu.table.borderAll",
|
|
12723
|
+
icon: "border-all",
|
|
12724
|
+
when: () => true,
|
|
12725
|
+
callback: (command) => {
|
|
12726
|
+
command.executeTableBorderType(TableBorder.ALL);
|
|
12727
|
+
}
|
|
12728
|
+
},
|
|
12729
|
+
{
|
|
12730
|
+
i18nPath: "contextmenu.table.borderEmpty",
|
|
12731
|
+
icon: "border-empty",
|
|
12732
|
+
when: () => true,
|
|
12733
|
+
callback: (command) => {
|
|
12734
|
+
command.executeTableBorderType(TableBorder.EMPTY);
|
|
12735
|
+
}
|
|
12736
|
+
},
|
|
12737
|
+
{
|
|
12738
|
+
i18nPath: "contextmenu.table.borderExternal",
|
|
12739
|
+
icon: "border-external",
|
|
12740
|
+
when: () => true,
|
|
12741
|
+
callback: (command) => {
|
|
12742
|
+
command.executeTableBorderType(TableBorder.EXTERNAL);
|
|
12743
|
+
}
|
|
12744
|
+
}
|
|
12745
|
+
]
|
|
12746
|
+
},
|
|
12349
12747
|
{
|
|
12350
12748
|
i18nPath: "contextmenu.table.verticalAlign",
|
|
12351
12749
|
icon: "vertical-align",
|
|
@@ -12697,6 +13095,10 @@ class ContextMenu {
|
|
|
12697
13095
|
this.contextMenuRelationShip.clear();
|
|
12698
13096
|
}
|
|
12699
13097
|
}
|
|
13098
|
+
const defaultHeaderOption = {
|
|
13099
|
+
top: 30,
|
|
13100
|
+
maxHeightRadio: MaxHeightRatio.HALF
|
|
13101
|
+
};
|
|
12700
13102
|
const richtextKeys = [
|
|
12701
13103
|
{
|
|
12702
13104
|
key: KeyMap.X_UPPERCASE,
|
|
@@ -12848,6 +13250,10 @@ const defaultPageNumberOption = {
|
|
|
12848
13250
|
color: "#000000",
|
|
12849
13251
|
rowFlex: RowFlex.CENTER
|
|
12850
13252
|
};
|
|
13253
|
+
const defaultFooterOption = {
|
|
13254
|
+
bottom: 30,
|
|
13255
|
+
maxHeightRadio: MaxHeightRatio.HALF
|
|
13256
|
+
};
|
|
12851
13257
|
class Editor {
|
|
12852
13258
|
constructor(container, data2, options = {}) {
|
|
12853
13259
|
__publicField(this, "command");
|
|
@@ -12855,6 +13261,7 @@ class Editor {
|
|
|
12855
13261
|
__publicField(this, "register");
|
|
12856
13262
|
__publicField(this, "destroy");
|
|
12857
13263
|
const headerOptions = __spreadValues(__spreadValues({}, defaultHeaderOption), options.header);
|
|
13264
|
+
const footerOptions = __spreadValues(__spreadValues({}, defaultFooterOption), options.footer);
|
|
12858
13265
|
const pageNumberOptions = __spreadValues(__spreadValues({}, defaultPageNumberOption), options.pageNumber);
|
|
12859
13266
|
const waterMarkOptions = __spreadValues(__spreadValues({}, defaultWatermarkOption), options.watermark);
|
|
12860
13267
|
const controlOptions = __spreadValues(__spreadValues({}, defaultControlOption), options.control);
|
|
@@ -12890,13 +13297,13 @@ class Editor {
|
|
|
12890
13297
|
margins: [100, 120, 100, 120],
|
|
12891
13298
|
pageMode: PageMode.PAGING,
|
|
12892
13299
|
tdPadding: 5,
|
|
12893
|
-
|
|
13300
|
+
defaultTrMinHeight: 40,
|
|
12894
13301
|
defaultHyperlinkColor: "#0000FF",
|
|
12895
|
-
headerTop: 50,
|
|
12896
13302
|
paperDirection: PaperDirection.VERTICAL,
|
|
12897
13303
|
inactiveAlpha: 0.6
|
|
12898
13304
|
}, options), {
|
|
12899
13305
|
header: headerOptions,
|
|
13306
|
+
footer: footerOptions,
|
|
12900
13307
|
pageNumber: pageNumberOptions,
|
|
12901
13308
|
watermark: waterMarkOptions,
|
|
12902
13309
|
control: controlOptions,
|
|
@@ -12905,22 +13312,24 @@ class Editor {
|
|
|
12905
13312
|
});
|
|
12906
13313
|
let headerElementList = [];
|
|
12907
13314
|
let mainElementList = [];
|
|
13315
|
+
let footerElementList = [];
|
|
12908
13316
|
if (Array.isArray(data2)) {
|
|
12909
13317
|
mainElementList = data2;
|
|
12910
13318
|
} else {
|
|
12911
13319
|
headerElementList = data2.header || [];
|
|
12912
13320
|
mainElementList = data2.main;
|
|
13321
|
+
footerElementList = data2.footer || [];
|
|
12913
13322
|
}
|
|
12914
|
-
|
|
12915
|
-
|
|
12916
|
-
|
|
12917
|
-
|
|
12918
|
-
editorOptions
|
|
13323
|
+
[headerElementList, mainElementList, footerElementList].forEach((elementList) => {
|
|
13324
|
+
formatElementList(elementList, {
|
|
13325
|
+
editorOptions
|
|
13326
|
+
});
|
|
12919
13327
|
});
|
|
12920
13328
|
this.listener = new Listener();
|
|
12921
13329
|
const draw = new Draw(container, editorOptions, {
|
|
12922
13330
|
header: headerElementList,
|
|
12923
|
-
main: mainElementList
|
|
13331
|
+
main: mainElementList,
|
|
13332
|
+
footer: footerElementList
|
|
12924
13333
|
}, this.listener);
|
|
12925
13334
|
this.command = new Command(new CommandAdapt(draw));
|
|
12926
13335
|
const contextMenu = new ContextMenu(draw, this.command);
|
|
@@ -12937,5 +13346,5 @@ class Editor {
|
|
|
12937
13346
|
};
|
|
12938
13347
|
}
|
|
12939
13348
|
}
|
|
12940
|
-
export { BlockType, Command, ControlType, EDITOR_COMPONENT, Editor, EditorComponent, EditorMode, EditorZone, ElementType, ImageDisplay, KeyMap, PageMode, PaperDirection, RowFlex, VerticalAlign, Editor as default };
|
|
13349
|
+
export { BlockType, Command, ControlType, EDITOR_COMPONENT, Editor, EditorComponent, EditorMode, EditorZone, ElementType, ImageDisplay, KeyMap, MaxHeightRatio, PageMode, PaperDirection, RowFlex, TableBorder, VerticalAlign, Editor as default };
|
|
12941
13350
|
//# sourceMappingURL=canvas-editor.es.js.map
|