@hufe921/canvas-editor 0.9.96 → 0.9.98
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 +55 -0
- package/dist/canvas-editor.es.js +903 -191
- package/dist/canvas-editor.es.js.map +1 -1
- package/dist/canvas-editor.umd.js +38 -36
- package/dist/canvas-editor.umd.js.map +1 -1
- package/dist/src/editor/core/command/Command.d.ts +5 -0
- package/dist/src/editor/core/command/CommandAdapt.d.ts +8 -2
- package/dist/src/editor/core/draw/Draw.d.ts +3 -0
- package/dist/src/editor/core/draw/control/Control.d.ts +5 -2
- package/dist/src/editor/core/draw/control/select/SelectControl.d.ts +5 -2
- package/dist/src/editor/core/draw/interactive/Area.d.ts +18 -0
- package/dist/src/editor/core/draw/particle/table/TableOperate.d.ts +1 -0
- package/dist/src/editor/core/event/CanvasEvent.d.ts +2 -1
- package/dist/src/editor/core/event/handlers/copy.d.ts +2 -1
- package/dist/src/editor/core/range/RangeManager.d.ts +5 -1
- package/dist/src/editor/dataset/constant/Element.d.ts +1 -0
- package/dist/src/editor/dataset/enum/Area.d.ts +5 -0
- package/dist/src/editor/dataset/enum/Control.d.ts +6 -0
- package/dist/src/editor/dataset/enum/Element.d.ts +1 -0
- package/dist/src/editor/index.d.ts +4 -3
- package/dist/src/editor/interface/Area.d.ts +41 -0
- package/dist/src/editor/interface/Control.d.ts +21 -2
- package/dist/src/editor/interface/Element.d.ts +8 -1
- package/dist/src/editor/interface/Event.d.ts +3 -0
- package/dist/src/editor/interface/Listener.d.ts +2 -2
- package/dist/src/editor/interface/Range.d.ts +2 -1
- package/dist/src/editor/interface/Row.d.ts +1 -0
- package/dist/src/editor/interface/table/Table.d.ts +1 -0
- package/dist/src/editor/utils/element.d.ts +1 -0
- package/dist/src/editor/utils/index.d.ts +2 -0
- package/package.json +1 -1
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.id="canvas-editor-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;cursor:pointer;transition:all .3s}.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:hover{background-color:#dadce0}.ce-table-tool__row .ce-table-tool__row__item:last-child:after{display:none}.ce-table-tool__quick__add{width:16px;height:16px;position:absolute;border-radius:50%;background-color:#e2e6ed;cursor:pointer}.ce-table-tool__quick__add:after{content:"+";color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)}.ce-table-tool__select{width:16px;height:18px;position:absolute;border-radius:3px;cursor:pointer}.ce-table-tool__select:hover{background-color:#e2e6ed}.ce-table-tool__select:after{content:":::";color:#aaaaab;position:absolute;top:50%;left:50%;transform:translate(-75%,-50%) rotate(-90deg)}.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;cursor:pointer;transition:all .3s}.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:hover{background-color:#dadce0}.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;pointer-events:none}.ce-resizer-selection .resizer-handle{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;pointer-events:initial}.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-size-view{display:flex;align-items:center;height:20px;white-space:nowrap;position:absolute;z-index:9;top:-30px;left:0;opacity:.9;background-color:#000;padding:0 5px;border-radius:4px}.ce-resizer-size-view span{color:#fff;font-size:12px}.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-dash{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMyAzaC0xVjJoMWExIDEgMCAwMTEgMXYxaC0xVjN6bS0zLTF2MUg4LjV2MmgtMVYzSDZWMmg0ek00IDJ2MUgzdjFIMlYzYTEgMSAwIDAxMS0xaDF6TTIgNmgxdjEuNWgydjFIM1YxMEgyVjZ6bTAgNmgxdjFoMXYxSDNhMSAxIDAgMDEtMS0xdi0xem00IDJ2LTFoMS41di0yaDF2MkgxMHYxSDZ6bTYgMHYtMWgxdi0xaDF2MWExIDEgMCAwMS0xIDFoLTF6bTItNGgtMVY4LjVoLTJ2LTFoMlY2aDF2NHpNOC41IDcuNXYtMWgtMXYxaC0xdjFoMXYxaDF2LTFoMXYtMWgtMXoiIGZpbGw9IiMwMDAwMDAiLz48L3N2Zz4=)}.ce-contextmenu-border-external{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iIzNENDc1NyIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOSA1VjNIOHYyaDF6bTAgOXYtMkg4djJoMXpNNSA4SDN2MWgyVjh6bTkgMGgtMnYxaDJWOHpNOSA3djFoMXYxSDl2MUg4VjlIN1Y4aDFWN2gxeiIgZmlsbD0iI0FBQUNCMCIvPjwvc3ZnPg==)}.ce-contextmenu-border-internal{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOSA1VjNIOHYyaDF6bTAgOXYtMkg4djJoMXpNNSA4SDN2MWgyVjh6bTkgMGgtMnYxaDJWOHpNOSA3djFoMXYxSDl2MUg4VjlIN1Y4aDFWN2gxeiIgZmlsbD0iIzNENDc1NyIvPjwvc3ZnPg==)}.ce-contextmenu-border-td{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIHN0cm9rZT0iIzNENDc1NyIgZD0iTTguNSAyLjUgdjYgaC02Ii8+PC9zdmc+)}.ce-contextmenu-border-td-top{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIHN0cm9rZT0iIzNENDc1NyIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMi41IDMgaDEyIi8+PC9zdmc+)}.ce-contextmenu-border-td-left{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIHN0cm9rZT0iIzNENDc1NyIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMyAzIHYxMSIvPjwvc3ZnPg==)}.ce-contextmenu-border-td-bottom{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIHN0cm9rZT0iIzNENDc1NyIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMi41IDE0IGgxMiIvPjwvc3ZnPg==)}.ce-contextmenu-border-td-right{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIHN0cm9rZT0iIzNENDc1NyIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMTQgMyB2MTEiLz48L3N2Zz4=)}.ce-contextmenu-border-td-forward{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIgLz48cGF0aCBzdHJva2U9IiMzRDQ3NTciIGQ9Ik0xNCAzIGwtMTEgMTEiIC8+PC9zdmc+)}.ce-contextmenu-border-td-back{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIgLz48cGF0aCBzdHJva2U9IiMzRDQ3NTciIGQ9Ik0zIDMgbDExIDExIiAvPjwvc3ZnPg==)}.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-zone-tip{display:none;align-items:center;height:30px;white-space:nowrap;position:fixed;opacity:.9;background-color:#000;padding:0 5px;border-radius:4px;z-index:9;transition:all .3s;outline:none;user-select:none;pointer-events:none;transform:translate(10px,10px)}.ce-zone-tip.show{display:flex}.ce-zone-tip span{color:#fff;font-size:12px}.ce-inputarea{width:100px;height:30px;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;caret-color:transparent;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}}.ce-float-image{position:absolute;opacity:.5;pointer-events:none}')),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.id="canvas-editor-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;cursor:pointer;transition:all .3s}.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:hover{background-color:#dadce0}.ce-table-tool__row .ce-table-tool__row__item:last-child:after{display:none}.ce-table-tool__quick__add{width:16px;height:16px;position:absolute;border-radius:50%;background-color:#e2e6ed;cursor:pointer}.ce-table-tool__quick__add:after{content:"+";color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)}.ce-table-tool__select{width:16px;height:18px;position:absolute;border-radius:3px;cursor:pointer}.ce-table-tool__select:hover{background-color:#e2e6ed}.ce-table-tool__select:after{content:":::";color:#aaaaab;position:absolute;top:50%;left:50%;transform:translate(-75%,-50%) rotate(-90deg)}.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;cursor:pointer;transition:all .3s}.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:hover{background-color:#dadce0}.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;pointer-events:none}.ce-resizer-selection .resizer-handle{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;pointer-events:initial}.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-size-view{display:flex;align-items:center;height:20px;white-space:nowrap;position:absolute;z-index:9;top:-30px;left:0;opacity:.9;background-color:#000;padding:0 5px;border-radius:4px}.ce-resizer-size-view span{color:#fff;font-size:12px}.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-dash{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMyAzaC0xVjJoMWExIDEgMCAwMTEgMXYxaC0xVjN6bS0zLTF2MUg4LjV2MmgtMVYzSDZWMmg0ek00IDJ2MUgzdjFIMlYzYTEgMSAwIDAxMS0xaDF6TTIgNmgxdjEuNWgydjFIM1YxMEgyVjZ6bTAgNmgxdjFoMXYxSDNhMSAxIDAgMDEtMS0xdi0xem00IDJ2LTFoMS41di0yaDF2MkgxMHYxSDZ6bTYgMHYtMWgxdi0xaDF2MWExIDEgMCAwMS0xIDFoLTF6bTItNGgtMVY4LjVoLTJ2LTFoMlY2aDF2NHpNOC41IDcuNXYtMWgtMXYxaC0xdjFoMXYxaDF2LTFoMXYtMWgtMXoiIGZpbGw9IiMwMDAwMDAiLz48L3N2Zz4=)}.ce-contextmenu-border-external{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iIzNENDc1NyIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOSA1VjNIOHYyaDF6bTAgOXYtMkg4djJoMXpNNSA4SDN2MWgyVjh6bTkgMGgtMnYxaDJWOHpNOSA3djFoMXYxSDl2MUg4VjlIN1Y4aDFWN2gxeiIgZmlsbD0iI0FBQUNCMCIvPjwvc3ZnPg==)}.ce-contextmenu-border-internal{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOSA1VjNIOHYyaDF6bTAgOXYtMkg4djJoMXpNNSA4SDN2MWgyVjh6bTkgMGgtMnYxaDJWOHpNOSA3djFoMXYxSDl2MUg4VjlIN1Y4aDFWN2gxeiIgZmlsbD0iIzNENDc1NyIvPjwvc3ZnPg==)}.ce-contextmenu-border-td{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIHN0cm9rZT0iIzNENDc1NyIgZD0iTTguNSAyLjUgdjYgaC02Ii8+PC9zdmc+)}.ce-contextmenu-border-td-top{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIHN0cm9rZT0iIzNENDc1NyIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMi41IDMgaDEyIi8+PC9zdmc+)}.ce-contextmenu-border-td-left{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIHN0cm9rZT0iIzNENDc1NyIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMyAzIHYxMSIvPjwvc3ZnPg==)}.ce-contextmenu-border-td-bottom{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIHN0cm9rZT0iIzNENDc1NyIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMi41IDE0IGgxMiIvPjwvc3ZnPg==)}.ce-contextmenu-border-td-right{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIHN0cm9rZT0iIzNENDc1NyIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMTQgMyB2MTEiLz48L3N2Zz4=)}.ce-contextmenu-border-td-forward{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIgLz48cGF0aCBzdHJva2U9IiMzRDQ3NTciIGQ9Ik0xNCAzIGwtMTEgMTEiIC8+PC9zdmc+)}.ce-contextmenu-border-td-back{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIgLz48cGF0aCBzdHJva2U9IiMzRDQ3NTciIGQ9Ik0zIDMgbDExIDExIiAvPjwvc3ZnPg==)}.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-zone-tip{display:none;align-items:center;height:30px;white-space:nowrap;position:fixed;opacity:.9;background-color:#000;padding:0 5px;border-radius:4px;z-index:9;transition:all .3s;outline:none;user-select:none;pointer-events:none;transform:translate(10px,10px)}.ce-zone-tip.show{display:flex}.ce-zone-tip span{color:#fff;font-size:12px}.ce-inputarea{width:100px;height:30px;min-width:0;min-height:0;margin:0;padding:0;left:0;top: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;caret-color:transparent;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}}.ce-float-image{position:absolute;opacity:.5;pointer-events:none}')),document.head.appendChild(e)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}})();})();
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __defProps = Object.defineProperties;
|
|
4
4
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
@@ -23,7 +23,7 @@ var __publicField = (obj, key, value) => {
|
|
|
23
23
|
return value;
|
|
24
24
|
};
|
|
25
25
|
var index = "";
|
|
26
|
-
const version = "0.9.
|
|
26
|
+
const version = "0.9.98";
|
|
27
27
|
var MaxHeightRatio;
|
|
28
28
|
(function(MaxHeightRatio2) {
|
|
29
29
|
MaxHeightRatio2["HALF"] = "half";
|
|
@@ -384,6 +384,12 @@ function isRectIntersect(rect1, rect2) {
|
|
|
384
384
|
}
|
|
385
385
|
return true;
|
|
386
386
|
}
|
|
387
|
+
function isNonValue(value) {
|
|
388
|
+
return value === void 0 || value === null;
|
|
389
|
+
}
|
|
390
|
+
function normalizeLineBreak(text) {
|
|
391
|
+
return text.replace(/\r\n|\r/g, "\n");
|
|
392
|
+
}
|
|
387
393
|
const CURSOR_AGENT_OFFSET_HEIGHT = 12;
|
|
388
394
|
const defaultCursorOption = {
|
|
389
395
|
width: 1,
|
|
@@ -412,6 +418,7 @@ var ElementType;
|
|
|
412
418
|
ElementType2["SEPARATOR"] = "separator";
|
|
413
419
|
ElementType2["PAGE_BREAK"] = "pageBreak";
|
|
414
420
|
ElementType2["CONTROL"] = "control";
|
|
421
|
+
ElementType2["AREA"] = "area";
|
|
415
422
|
ElementType2["CHECKBOX"] = "checkbox";
|
|
416
423
|
ElementType2["RADIO"] = "radio";
|
|
417
424
|
ElementType2["LATEX"] = "latex";
|
|
@@ -445,6 +452,7 @@ const EDITOR_ELEMENT_COPY_ATTR = [
|
|
|
445
452
|
"strikeout",
|
|
446
453
|
"rowFlex",
|
|
447
454
|
"url",
|
|
455
|
+
"areaId",
|
|
448
456
|
"hyperlinkId",
|
|
449
457
|
"dateId",
|
|
450
458
|
"dateFormat",
|
|
@@ -467,6 +475,7 @@ const EDITOR_ELEMENT_ZIP_ATTR = [
|
|
|
467
475
|
"dashArray",
|
|
468
476
|
"trList",
|
|
469
477
|
"borderType",
|
|
478
|
+
"borderColor",
|
|
470
479
|
"width",
|
|
471
480
|
"height",
|
|
472
481
|
"url",
|
|
@@ -488,7 +497,9 @@ const EDITOR_ELEMENT_ZIP_ATTR = [
|
|
|
488
497
|
"imgFloatPosition",
|
|
489
498
|
"textDecoration",
|
|
490
499
|
"extension",
|
|
491
|
-
"externalId"
|
|
500
|
+
"externalId",
|
|
501
|
+
"areaId",
|
|
502
|
+
"area"
|
|
492
503
|
];
|
|
493
504
|
const TABLE_TD_ZIP_ATTR = [
|
|
494
505
|
"conceptId",
|
|
@@ -527,10 +538,12 @@ const CONTROL_STYLE_ATTR = [
|
|
|
527
538
|
"italic",
|
|
528
539
|
"strikeout"
|
|
529
540
|
];
|
|
541
|
+
const AREA_CONTEXT_ATTR = ["areaId", "area"];
|
|
530
542
|
const EDITOR_ELEMENT_CONTEXT_ATTR = [
|
|
531
543
|
...TABLE_CONTEXT_ATTR,
|
|
532
544
|
...TITLE_CONTEXT_ATTR,
|
|
533
|
-
...LIST_CONTEXT_ATTR
|
|
545
|
+
...LIST_CONTEXT_ATTR,
|
|
546
|
+
...AREA_CONTEXT_ATTR
|
|
534
547
|
];
|
|
535
548
|
const TEXTLIKE_ELEMENT_TYPE = [
|
|
536
549
|
ElementType.TEXT,
|
|
@@ -3763,6 +3776,8 @@ var ControlComponent;
|
|
|
3763
3776
|
(function(ControlComponent2) {
|
|
3764
3777
|
ControlComponent2["PREFIX"] = "prefix";
|
|
3765
3778
|
ControlComponent2["POSTFIX"] = "postfix";
|
|
3779
|
+
ControlComponent2["PRE_TEXT"] = "preText";
|
|
3780
|
+
ControlComponent2["POST_TEXT"] = "postText";
|
|
3766
3781
|
ControlComponent2["PLACEHOLDER"] = "placeholder";
|
|
3767
3782
|
ControlComponent2["VALUE"] = "value";
|
|
3768
3783
|
ControlComponent2["CHECKBOX"] = "checkbox";
|
|
@@ -3773,6 +3788,11 @@ var ControlIndentation;
|
|
|
3773
3788
|
ControlIndentation2["ROW_START"] = "rowStart";
|
|
3774
3789
|
ControlIndentation2["VALUE_START"] = "valueStart";
|
|
3775
3790
|
})(ControlIndentation || (ControlIndentation = {}));
|
|
3791
|
+
var ControlState;
|
|
3792
|
+
(function(ControlState2) {
|
|
3793
|
+
ControlState2["ACTIVE"] = "active";
|
|
3794
|
+
ControlState2["INACTIVE"] = "inactive";
|
|
3795
|
+
})(ControlState || (ControlState = {}));
|
|
3776
3796
|
var BackgroundSize;
|
|
3777
3797
|
(function(BackgroundSize2) {
|
|
3778
3798
|
BackgroundSize2["CONTAIN"] = "contain";
|
|
@@ -3885,7 +3905,8 @@ const defaultSeparatorOption = {
|
|
|
3885
3905
|
const defaultTableOption = {
|
|
3886
3906
|
tdPadding: [0, 5, 5, 5],
|
|
3887
3907
|
defaultTrMinHeight: 42,
|
|
3888
|
-
defaultColMinWidth: 40
|
|
3908
|
+
defaultColMinWidth: 40,
|
|
3909
|
+
defaultBorderColor: "#000000"
|
|
3889
3910
|
};
|
|
3890
3911
|
const defaultWatermarkOption = {
|
|
3891
3912
|
data: "",
|
|
@@ -4064,6 +4085,7 @@ function unzipElementList(elementList) {
|
|
|
4064
4085
|
return result;
|
|
4065
4086
|
}
|
|
4066
4087
|
function formatElementList(elementList, options) {
|
|
4088
|
+
var _a;
|
|
4067
4089
|
const { isHandleFirstElement = true, isForceCompensation = false, editorOptions } = options;
|
|
4068
4090
|
const startElement = elementList[0];
|
|
4069
4091
|
if (isForceCompensation || isHandleFirstElement && (startElement == null ? void 0 : startElement.type) !== ElementType.LIST && ((startElement == null ? void 0 : startElement.type) && startElement.type !== ElementType.TEXT || !START_LINE_BREAK_REG.test(startElement == null ? void 0 : startElement.value))) {
|
|
@@ -4082,7 +4104,7 @@ function formatElementList(elementList, options) {
|
|
|
4082
4104
|
isForceCompensation: false
|
|
4083
4105
|
}));
|
|
4084
4106
|
if (valueList.length) {
|
|
4085
|
-
const titleId = getUUID();
|
|
4107
|
+
const titleId = el.titleId || getUUID();
|
|
4086
4108
|
const titleOptions = editorOptions.title;
|
|
4087
4109
|
for (let v = 0; v < valueList.length; v++) {
|
|
4088
4110
|
const value = valueList[v];
|
|
@@ -4123,6 +4145,39 @@ function formatElementList(elementList, options) {
|
|
|
4123
4145
|
}
|
|
4124
4146
|
}
|
|
4125
4147
|
i--;
|
|
4148
|
+
} else if (el.type === ElementType.AREA) {
|
|
4149
|
+
elementList.splice(i, 1);
|
|
4150
|
+
const valueList = (el == null ? void 0 : el.valueList) || [];
|
|
4151
|
+
formatElementList(valueList, __spreadProps(__spreadValues({}, options), {
|
|
4152
|
+
isHandleFirstElement: false,
|
|
4153
|
+
isForceCompensation: false
|
|
4154
|
+
}));
|
|
4155
|
+
if (valueList.length) {
|
|
4156
|
+
const areaId = getUUID();
|
|
4157
|
+
for (let v = 0; v < valueList.length; v++) {
|
|
4158
|
+
const value = valueList[v];
|
|
4159
|
+
value.areaId = el.areaId || areaId;
|
|
4160
|
+
value.area = el.area;
|
|
4161
|
+
if (value.type === ElementType.TABLE) {
|
|
4162
|
+
const trList = value.trList;
|
|
4163
|
+
for (let r = 0; r < trList.length; r++) {
|
|
4164
|
+
const tr = trList[r];
|
|
4165
|
+
for (let d = 0; d < tr.tdList.length; d++) {
|
|
4166
|
+
const td = tr.tdList[d];
|
|
4167
|
+
const tdValueList = td.value;
|
|
4168
|
+
for (let t = 0; t < tdValueList.length; t++) {
|
|
4169
|
+
const tdValue = tdValueList[t];
|
|
4170
|
+
tdValue.areaId = el.areaId || areaId;
|
|
4171
|
+
tdValue.area = el.area;
|
|
4172
|
+
}
|
|
4173
|
+
}
|
|
4174
|
+
}
|
|
4175
|
+
}
|
|
4176
|
+
elementList.splice(i, 0, value);
|
|
4177
|
+
i++;
|
|
4178
|
+
}
|
|
4179
|
+
}
|
|
4180
|
+
i--;
|
|
4126
4181
|
} else if (el.type === ElementType.TABLE) {
|
|
4127
4182
|
const tableId = getUUID();
|
|
4128
4183
|
el.id = tableId;
|
|
@@ -4190,9 +4245,9 @@ function formatElementList(elementList, options) {
|
|
|
4190
4245
|
i++;
|
|
4191
4246
|
continue;
|
|
4192
4247
|
}
|
|
4193
|
-
const { prefix, postfix, value, placeholder, code, type, valueSets } = el.control;
|
|
4248
|
+
const { prefix, postfix, preText, postText, value, placeholder, code, type, valueSets } = el.control;
|
|
4194
4249
|
const { editorOptions: { control: controlOption, checkbox: checkboxOption, radio: radioOption } } = options;
|
|
4195
|
-
const controlId = getUUID();
|
|
4250
|
+
const controlId = el.controlId || getUUID();
|
|
4196
4251
|
elementList.splice(i, 1);
|
|
4197
4252
|
const controlContext = pickObject(el, [
|
|
4198
4253
|
...EDITOR_ELEMENT_CONTEXT_ATTR,
|
|
@@ -4214,6 +4269,20 @@ function formatElementList(elementList, options) {
|
|
|
4214
4269
|
}));
|
|
4215
4270
|
i++;
|
|
4216
4271
|
}
|
|
4272
|
+
if (preText) {
|
|
4273
|
+
const preTextStrList = splitText(preText);
|
|
4274
|
+
for (let p = 0; p < preTextStrList.length; p++) {
|
|
4275
|
+
const value2 = preTextStrList[p];
|
|
4276
|
+
elementList.splice(i, 0, __spreadProps(__spreadValues(__spreadValues({}, controlContext), controlDefaultStyle), {
|
|
4277
|
+
controlId,
|
|
4278
|
+
value: value2,
|
|
4279
|
+
type: el.type,
|
|
4280
|
+
control: el.control,
|
|
4281
|
+
controlComponent: ControlComponent.PRE_TEXT
|
|
4282
|
+
}));
|
|
4283
|
+
i++;
|
|
4284
|
+
}
|
|
4285
|
+
}
|
|
4217
4286
|
if (value && value.length || type === ControlType.CHECKBOX || type === ControlType.RADIO || type === ControlType.SELECT && code && (!value || !value.length)) {
|
|
4218
4287
|
let valueList = value || [];
|
|
4219
4288
|
if (type === ControlType.CHECKBOX) {
|
|
@@ -4332,6 +4401,20 @@ function formatElementList(elementList, options) {
|
|
|
4332
4401
|
i++;
|
|
4333
4402
|
}
|
|
4334
4403
|
}
|
|
4404
|
+
if (postText) {
|
|
4405
|
+
const postTextStrList = splitText(postText);
|
|
4406
|
+
for (let p = 0; p < postTextStrList.length; p++) {
|
|
4407
|
+
const value2 = postTextStrList[p];
|
|
4408
|
+
elementList.splice(i, 0, __spreadProps(__spreadValues(__spreadValues({}, controlContext), controlDefaultStyle), {
|
|
4409
|
+
controlId,
|
|
4410
|
+
value: value2,
|
|
4411
|
+
type: el.type,
|
|
4412
|
+
control: el.control,
|
|
4413
|
+
controlComponent: ControlComponent.POST_TEXT
|
|
4414
|
+
}));
|
|
4415
|
+
i++;
|
|
4416
|
+
}
|
|
4417
|
+
}
|
|
4335
4418
|
const postfixStrList = splitText(postfix || controlOption.postfix);
|
|
4336
4419
|
for (let p = 0; p < postfixStrList.length; p++) {
|
|
4337
4420
|
const value2 = postfixStrList[p];
|
|
@@ -4345,7 +4428,7 @@ function formatElementList(elementList, options) {
|
|
|
4345
4428
|
i++;
|
|
4346
4429
|
}
|
|
4347
4430
|
i--;
|
|
4348
|
-
} else if ((!el.type || TEXTLIKE_ELEMENT_TYPE.includes(el.type)) && el.value.length > 1) {
|
|
4431
|
+
} else if ((!el.type || TEXTLIKE_ELEMENT_TYPE.includes(el.type)) && ((_a = el.value) == null ? void 0 : _a.length) > 1) {
|
|
4349
4432
|
elementList.splice(i, 1);
|
|
4350
4433
|
const valueList = splitText(el.value);
|
|
4351
4434
|
for (let v = 0; v < valueList.length; v++) {
|
|
@@ -4406,7 +4489,7 @@ function pickElementAttr(payload, option = {}) {
|
|
|
4406
4489
|
return element;
|
|
4407
4490
|
}
|
|
4408
4491
|
function zipElementList(payload, options = {}) {
|
|
4409
|
-
const { extraPickAttrs } = options;
|
|
4492
|
+
const { extraPickAttrs, isClassifyArea = false } = options;
|
|
4410
4493
|
const elementList = deepClone(payload);
|
|
4411
4494
|
const zipElementListData = [];
|
|
4412
4495
|
let e = 0;
|
|
@@ -4423,6 +4506,7 @@ function zipElementList(payload, options = {}) {
|
|
|
4423
4506
|
const titleElement = {
|
|
4424
4507
|
type: ElementType.TITLE,
|
|
4425
4508
|
title: element.title,
|
|
4509
|
+
titleId,
|
|
4426
4510
|
value: "",
|
|
4427
4511
|
level
|
|
4428
4512
|
};
|
|
@@ -4468,6 +4552,35 @@ function zipElementList(payload, options = {}) {
|
|
|
4468
4552
|
listElement.valueList = zipElementList(valueList, options);
|
|
4469
4553
|
element = listElement;
|
|
4470
4554
|
}
|
|
4555
|
+
} else if (element.areaId && element.area) {
|
|
4556
|
+
const areaId = element.areaId;
|
|
4557
|
+
const area = element.area;
|
|
4558
|
+
const valueList = [];
|
|
4559
|
+
while (e < elementList.length) {
|
|
4560
|
+
const areaE = elementList[e];
|
|
4561
|
+
if (areaId !== areaE.areaId) {
|
|
4562
|
+
e--;
|
|
4563
|
+
break;
|
|
4564
|
+
}
|
|
4565
|
+
delete areaE.area;
|
|
4566
|
+
delete areaE.areaId;
|
|
4567
|
+
valueList.push(areaE);
|
|
4568
|
+
e++;
|
|
4569
|
+
}
|
|
4570
|
+
const areaElementList = zipElementList(valueList, options);
|
|
4571
|
+
if (isClassifyArea) {
|
|
4572
|
+
const areaElement = {
|
|
4573
|
+
type: ElementType.AREA,
|
|
4574
|
+
value: "",
|
|
4575
|
+
areaId,
|
|
4576
|
+
area
|
|
4577
|
+
};
|
|
4578
|
+
areaElement.valueList = areaElementList;
|
|
4579
|
+
element = areaElement;
|
|
4580
|
+
} else {
|
|
4581
|
+
zipElementListData.splice(e, 0, ...areaElementList);
|
|
4582
|
+
continue;
|
|
4583
|
+
}
|
|
4471
4584
|
} else if (element.type === ElementType.TABLE) {
|
|
4472
4585
|
if (element.pagingId) {
|
|
4473
4586
|
let tableIndex = e + 1;
|
|
@@ -4494,7 +4607,9 @@ function zipElementList(payload, options = {}) {
|
|
|
4494
4607
|
const zipTd = {
|
|
4495
4608
|
colspan: td.colspan,
|
|
4496
4609
|
rowspan: td.rowspan,
|
|
4497
|
-
value: zipElementList(td.value, options)
|
|
4610
|
+
value: zipElementList(td.value, __spreadProps(__spreadValues({}, options), {
|
|
4611
|
+
isClassifyArea: false
|
|
4612
|
+
}))
|
|
4498
4613
|
};
|
|
4499
4614
|
TABLE_TD_ZIP_ATTR.forEach((attr) => {
|
|
4500
4615
|
const value = td[attr];
|
|
@@ -4554,31 +4669,45 @@ function zipElementList(payload, options = {}) {
|
|
|
4554
4669
|
}
|
|
4555
4670
|
} else if (element.controlId) {
|
|
4556
4671
|
const controlId = element.controlId;
|
|
4557
|
-
if (
|
|
4558
|
-
const controlDefaultStyle = pickObject(element, CONTROL_STYLE_ATTR);
|
|
4559
|
-
const control = __spreadValues(__spreadValues({}, element.control), controlDefaultStyle);
|
|
4560
|
-
const controlElement = __spreadProps(__spreadValues({}, pickObject(element, EDITOR_ROW_ATTR)), {
|
|
4561
|
-
type: ElementType.CONTROL,
|
|
4562
|
-
value: "",
|
|
4563
|
-
control,
|
|
4564
|
-
controlId
|
|
4565
|
-
});
|
|
4672
|
+
if (element.controlComponent === ControlComponent.PREFIX) {
|
|
4566
4673
|
const valueList = [];
|
|
4567
|
-
|
|
4568
|
-
|
|
4569
|
-
|
|
4570
|
-
|
|
4674
|
+
let isFull = false;
|
|
4675
|
+
let start = e;
|
|
4676
|
+
while (start < elementList.length) {
|
|
4677
|
+
const controlE = elementList[start];
|
|
4678
|
+
if (controlId !== controlE.controlId)
|
|
4571
4679
|
break;
|
|
4572
|
-
}
|
|
4573
4680
|
if (controlE.controlComponent === ControlComponent.VALUE) {
|
|
4574
4681
|
delete controlE.control;
|
|
4575
4682
|
delete controlE.controlId;
|
|
4576
4683
|
valueList.push(controlE);
|
|
4577
4684
|
}
|
|
4685
|
+
if (controlE.controlComponent === ControlComponent.POSTFIX) {
|
|
4686
|
+
isFull = true;
|
|
4687
|
+
}
|
|
4688
|
+
start++;
|
|
4689
|
+
}
|
|
4690
|
+
if (isFull) {
|
|
4691
|
+
const controlDefaultStyle = pickObject(element, CONTROL_STYLE_ATTR);
|
|
4692
|
+
const control = __spreadValues(__spreadValues({}, element.control), controlDefaultStyle);
|
|
4693
|
+
const controlElement = __spreadProps(__spreadValues({}, pickObject(element, EDITOR_ROW_ATTR)), {
|
|
4694
|
+
type: ElementType.CONTROL,
|
|
4695
|
+
value: "",
|
|
4696
|
+
control,
|
|
4697
|
+
controlId
|
|
4698
|
+
});
|
|
4699
|
+
controlElement.control.value = zipElementList(valueList, options);
|
|
4700
|
+
element = pickElementAttr(controlElement, { extraPickAttrs });
|
|
4701
|
+
e += start - e - 1;
|
|
4702
|
+
}
|
|
4703
|
+
}
|
|
4704
|
+
if (element.controlComponent) {
|
|
4705
|
+
delete element.control;
|
|
4706
|
+
delete element.controlId;
|
|
4707
|
+
if (element.controlComponent !== ControlComponent.VALUE && element.controlComponent !== ControlComponent.PRE_TEXT && element.controlComponent !== ControlComponent.POST_TEXT) {
|
|
4578
4708
|
e++;
|
|
4709
|
+
continue;
|
|
4579
4710
|
}
|
|
4580
|
-
controlElement.control.value = zipElementList(valueList, options);
|
|
4581
|
-
element = pickElementAttr(controlElement, { extraPickAttrs });
|
|
4582
4711
|
}
|
|
4583
4712
|
}
|
|
4584
4713
|
const pickElement = pickElementAttr(element, { extraPickAttrs });
|
|
@@ -4645,7 +4774,7 @@ function getAnchorElement(elementList, anchorIndex) {
|
|
|
4645
4774
|
if (!anchorElement)
|
|
4646
4775
|
return null;
|
|
4647
4776
|
const anchorNextElement = elementList[anchorIndex + 1];
|
|
4648
|
-
return !anchorElement.listId && anchorElement.value === ZERO && anchorNextElement && anchorNextElement.value !== ZERO ? anchorNextElement : anchorElement;
|
|
4777
|
+
return !anchorElement.listId && anchorElement.value === ZERO && anchorNextElement && anchorNextElement.value !== ZERO && anchorElement.areaId === anchorNextElement.areaId ? anchorNextElement : anchorElement;
|
|
4649
4778
|
}
|
|
4650
4779
|
function formatElementContext(sourceElementList, formatElementList2, anchorIndex, options) {
|
|
4651
4780
|
var _a, _b, _c;
|
|
@@ -4664,7 +4793,11 @@ function formatElementContext(sourceElementList, formatElementList2, anchorIndex
|
|
|
4664
4793
|
isBreakWarped = true;
|
|
4665
4794
|
}
|
|
4666
4795
|
if (isBreakWarped || !copyElement.listId && targetElement.type === ElementType.LIST) {
|
|
4667
|
-
const cloneAttr2 = [
|
|
4796
|
+
const cloneAttr2 = [
|
|
4797
|
+
...TABLE_CONTEXT_ATTR,
|
|
4798
|
+
...EDITOR_ROW_ATTR,
|
|
4799
|
+
...AREA_CONTEXT_ATTR
|
|
4800
|
+
];
|
|
4668
4801
|
cloneProperty(cloneAttr2, copyElement, targetElement);
|
|
4669
4802
|
(_b = targetElement.valueList) == null ? void 0 : _b.forEach((valueItem) => {
|
|
4670
4803
|
cloneProperty(cloneAttr2, copyElement, valueItem);
|
|
@@ -5153,7 +5286,7 @@ function getElementListByHTML(htmlText, options) {
|
|
|
5153
5286
|
}
|
|
5154
5287
|
function getTextFromElementList(elementList) {
|
|
5155
5288
|
function buildText(payload) {
|
|
5156
|
-
var _a, _b, _c, _d, _e;
|
|
5289
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
5157
5290
|
let text = "";
|
|
5158
5291
|
for (let e = 0; e < payload.length; e++) {
|
|
5159
5292
|
const element = payload[e];
|
|
@@ -5198,9 +5331,10 @@ ${ulListStyleText || `${listIndex + 1}.`}${buildText(listElementList)}${isLast ?
|
|
|
5198
5331
|
} else if (!element.type || element.type === ElementType.LATEX || TEXTLIKE_ELEMENT_TYPE.includes(element.type)) {
|
|
5199
5332
|
let textLike = "";
|
|
5200
5333
|
if (element.type === ElementType.CONTROL) {
|
|
5201
|
-
|
|
5334
|
+
const controlValue = ((_d = (_c = element.control.value) == null ? void 0 : _c[0]) == null ? void 0 : _d.value) || "";
|
|
5335
|
+
textLike = controlValue ? `${((_e = element.control) == null ? void 0 : _e.preText) || ""}${controlValue}${((_f = element.control) == null ? void 0 : _f.postText) || ""}` : "";
|
|
5202
5336
|
} else if (element.type === ElementType.DATE) {
|
|
5203
|
-
textLike = ((
|
|
5337
|
+
textLike = ((_g = element.valueList) == null ? void 0 : _g.map((v) => v.value).join("")) || "";
|
|
5204
5338
|
} else {
|
|
5205
5339
|
textLike = element.value;
|
|
5206
5340
|
}
|
|
@@ -5406,7 +5540,7 @@ function pasteByEvent(host, evt) {
|
|
|
5406
5540
|
if (!getIsClipboardContainFile(clipboardData)) {
|
|
5407
5541
|
const clipboardText = clipboardData.getData("text");
|
|
5408
5542
|
const editorClipboardData = getClipboardData();
|
|
5409
|
-
if (clipboardText === (editorClipboardData
|
|
5543
|
+
if (editorClipboardData && normalizeLineBreak(clipboardText) === normalizeLineBreak(editorClipboardData.text)) {
|
|
5410
5544
|
pasteElement(host, editorClipboardData.elementList);
|
|
5411
5545
|
return;
|
|
5412
5546
|
}
|
|
@@ -5813,7 +5947,7 @@ class CheckboxControl {
|
|
|
5813
5947
|
let preIndex = startIndex;
|
|
5814
5948
|
while (preIndex > 0) {
|
|
5815
5949
|
const preElement = elementList[preIndex];
|
|
5816
|
-
if (preElement.controlId !== startElement.controlId || preElement.controlComponent === ControlComponent.PREFIX) {
|
|
5950
|
+
if (preElement.controlId !== startElement.controlId || preElement.controlComponent === ControlComponent.PREFIX || preElement.controlComponent === ControlComponent.PRE_TEXT) {
|
|
5817
5951
|
break;
|
|
5818
5952
|
}
|
|
5819
5953
|
if (preElement.controlComponent === ControlComponent.VALUE) {
|
|
@@ -5824,7 +5958,7 @@ class CheckboxControl {
|
|
|
5824
5958
|
let nextIndex = startIndex + 1;
|
|
5825
5959
|
while (nextIndex < elementList.length) {
|
|
5826
5960
|
const nextElement = elementList[nextIndex];
|
|
5827
|
-
if (nextElement.controlId !== startElement.controlId || nextElement.controlComponent === ControlComponent.POSTFIX) {
|
|
5961
|
+
if (nextElement.controlId !== startElement.controlId || nextElement.controlComponent === ControlComponent.POSTFIX || nextElement.controlComponent === ControlComponent.POST_TEXT) {
|
|
5828
5962
|
break;
|
|
5829
5963
|
}
|
|
5830
5964
|
if (nextElement.controlComponent === ControlComponent.VALUE) {
|
|
@@ -5848,7 +5982,7 @@ class CheckboxControl {
|
|
|
5848
5982
|
let preIndex = startIndex;
|
|
5849
5983
|
while (preIndex > 0) {
|
|
5850
5984
|
const preElement = elementList[preIndex];
|
|
5851
|
-
if (preElement.controlId !== startElement.controlId || preElement.controlComponent === ControlComponent.PREFIX) {
|
|
5985
|
+
if (preElement.controlId !== startElement.controlId || preElement.controlComponent === ControlComponent.PREFIX || preElement.controlComponent === ControlComponent.PRE_TEXT) {
|
|
5852
5986
|
break;
|
|
5853
5987
|
}
|
|
5854
5988
|
if (preElement.controlComponent === ControlComponent.CHECKBOX) {
|
|
@@ -5860,7 +5994,7 @@ class CheckboxControl {
|
|
|
5860
5994
|
let nextIndex = startIndex + 1;
|
|
5861
5995
|
while (nextIndex < elementList.length) {
|
|
5862
5996
|
const nextElement = elementList[nextIndex];
|
|
5863
|
-
if (nextElement.controlId !== startElement.controlId || nextElement.controlComponent === ControlComponent.POSTFIX) {
|
|
5997
|
+
if (nextElement.controlId !== startElement.controlId || nextElement.controlComponent === ControlComponent.POSTFIX || nextElement.controlComponent === ControlComponent.POST_TEXT) {
|
|
5864
5998
|
break;
|
|
5865
5999
|
}
|
|
5866
6000
|
if (nextElement.controlComponent === ControlComponent.CHECKBOX) {
|
|
@@ -5903,7 +6037,7 @@ class RadioControl extends CheckboxControl {
|
|
|
5903
6037
|
let preIndex = startIndex;
|
|
5904
6038
|
while (preIndex > 0) {
|
|
5905
6039
|
const preElement = elementList[preIndex];
|
|
5906
|
-
if (preElement.controlId !== startElement.controlId || preElement.controlComponent === ControlComponent.PREFIX) {
|
|
6040
|
+
if (preElement.controlId !== startElement.controlId || preElement.controlComponent === ControlComponent.PREFIX || preElement.controlComponent === ControlComponent.PRE_TEXT) {
|
|
5907
6041
|
break;
|
|
5908
6042
|
}
|
|
5909
6043
|
if (preElement.controlComponent === ControlComponent.RADIO) {
|
|
@@ -5915,7 +6049,7 @@ class RadioControl extends CheckboxControl {
|
|
|
5915
6049
|
let nextIndex = startIndex + 1;
|
|
5916
6050
|
while (nextIndex < elementList.length) {
|
|
5917
6051
|
const nextElement = elementList[nextIndex];
|
|
5918
|
-
if (nextElement.controlId !== startElement.controlId || nextElement.controlComponent === ControlComponent.POSTFIX) {
|
|
6052
|
+
if (nextElement.controlId !== startElement.controlId || nextElement.controlComponent === ControlComponent.POSTFIX || nextElement.controlComponent === ControlComponent.POST_TEXT) {
|
|
5919
6053
|
break;
|
|
5920
6054
|
}
|
|
5921
6055
|
if (nextElement.controlComponent === ControlComponent.RADIO) {
|
|
@@ -6527,7 +6661,7 @@ function del(evt, host) {
|
|
|
6527
6661
|
}
|
|
6528
6662
|
}
|
|
6529
6663
|
function enter(evt, host) {
|
|
6530
|
-
var _a, _b;
|
|
6664
|
+
var _a, _b, _c;
|
|
6531
6665
|
const draw = host.getDraw();
|
|
6532
6666
|
if (draw.isReadonly())
|
|
6533
6667
|
return;
|
|
@@ -6543,7 +6677,7 @@ function enter(evt, host) {
|
|
|
6543
6677
|
draw.getListParticle().unsetList();
|
|
6544
6678
|
return;
|
|
6545
6679
|
}
|
|
6546
|
-
|
|
6680
|
+
let enterText = {
|
|
6547
6681
|
value: ZERO
|
|
6548
6682
|
};
|
|
6549
6683
|
if (evt.shiftKey && startElement.listId) {
|
|
@@ -6553,8 +6687,11 @@ function enter(evt, host) {
|
|
|
6553
6687
|
isBreakWhenWrap: true,
|
|
6554
6688
|
editorOptions: draw.getOptions()
|
|
6555
6689
|
});
|
|
6556
|
-
if (
|
|
6557
|
-
|
|
6690
|
+
if (evt.shiftKey && endElement.areaId && endElement.areaId !== ((_b = elementList[endIndex + 1]) == null ? void 0 : _b.areaId)) {
|
|
6691
|
+
enterText = omitObject(enterText, AREA_CONTEXT_ATTR);
|
|
6692
|
+
}
|
|
6693
|
+
if (!(endElement.titleId && endElement.titleId !== ((_c = elementList[endIndex + 1]) == null ? void 0 : _c.titleId))) {
|
|
6694
|
+
const copyElement = rangeManager.getRangeAnchorStyle(elementList, endIndex);
|
|
6558
6695
|
if (copyElement) {
|
|
6559
6696
|
const copyAttr = [...EDITOR_ROW_ATTR];
|
|
6560
6697
|
if (copyElement.controlComponent !== ControlComponent.POSTFIX) {
|
|
@@ -6593,7 +6730,7 @@ function enter(evt, host) {
|
|
|
6593
6730
|
evt.preventDefault();
|
|
6594
6731
|
}
|
|
6595
6732
|
function left(evt, host) {
|
|
6596
|
-
var _a, _b;
|
|
6733
|
+
var _a, _b, _c;
|
|
6597
6734
|
const draw = host.getDraw();
|
|
6598
6735
|
const isReadonly = draw.isReadonly();
|
|
6599
6736
|
if (isReadonly)
|
|
@@ -6611,7 +6748,7 @@ function left(evt, host) {
|
|
|
6611
6748
|
const isCollapsed = rangeManager.getIsCollapsed();
|
|
6612
6749
|
const elementList = draw.getElementList();
|
|
6613
6750
|
const control = draw.getControl();
|
|
6614
|
-
if (draw.getMode() === EditorMode.FORM && control.getActiveControl() && ((_a = elementList[index2]) == null ? void 0 : _a.controlComponent) === ControlComponent.PREFIX) {
|
|
6751
|
+
if (draw.getMode() === EditorMode.FORM && control.getActiveControl() && (((_a = elementList[index2]) == null ? void 0 : _a.controlComponent) === ControlComponent.PREFIX || ((_b = elementList[index2]) == null ? void 0 : _b.controlComponent) === ControlComponent.PRE_TEXT)) {
|
|
6615
6752
|
control.initNextControl({
|
|
6616
6753
|
direction: MoveDirection.UP
|
|
6617
6754
|
});
|
|
@@ -6621,7 +6758,7 @@ function left(evt, host) {
|
|
|
6621
6758
|
if (isMod(evt)) {
|
|
6622
6759
|
const LETTER_REG = draw.getLetterReg();
|
|
6623
6760
|
const moveStartIndex = evt.shiftKey && !isCollapsed && startIndex === (cursorPosition == null ? void 0 : cursorPosition.index) ? endIndex : startIndex;
|
|
6624
|
-
if (LETTER_REG.test((
|
|
6761
|
+
if (LETTER_REG.test((_c = elementList[moveStartIndex]) == null ? void 0 : _c.value)) {
|
|
6625
6762
|
let i = moveStartIndex - 1;
|
|
6626
6763
|
while (i > 0) {
|
|
6627
6764
|
const element = elementList[i];
|
|
@@ -6731,7 +6868,7 @@ function left(evt, host) {
|
|
|
6731
6868
|
evt.preventDefault();
|
|
6732
6869
|
}
|
|
6733
6870
|
function right(evt, host) {
|
|
6734
|
-
var _a, _b;
|
|
6871
|
+
var _a, _b, _c;
|
|
6735
6872
|
const draw = host.getDraw();
|
|
6736
6873
|
const isReadonly = draw.isReadonly();
|
|
6737
6874
|
if (isReadonly)
|
|
@@ -6750,7 +6887,7 @@ function right(evt, host) {
|
|
|
6750
6887
|
const isCollapsed = rangeManager.getIsCollapsed();
|
|
6751
6888
|
let elementList = draw.getElementList();
|
|
6752
6889
|
const control = draw.getControl();
|
|
6753
|
-
if (draw.getMode() === EditorMode.FORM && control.getActiveControl() && ((_a = elementList[index2 + 1]) == null ? void 0 : _a.controlComponent) === ControlComponent.POSTFIX) {
|
|
6890
|
+
if (draw.getMode() === EditorMode.FORM && control.getActiveControl() && (((_a = elementList[index2 + 1]) == null ? void 0 : _a.controlComponent) === ControlComponent.POSTFIX || ((_b = elementList[index2 + 1]) == null ? void 0 : _b.controlComponent) === ControlComponent.POST_TEXT)) {
|
|
6754
6891
|
control.initNextControl({
|
|
6755
6892
|
direction: MoveDirection.DOWN
|
|
6756
6893
|
});
|
|
@@ -6760,7 +6897,7 @@ function right(evt, host) {
|
|
|
6760
6897
|
if (isMod(evt)) {
|
|
6761
6898
|
const LETTER_REG = draw.getLetterReg();
|
|
6762
6899
|
const moveStartIndex = evt.shiftKey && !isCollapsed && startIndex === (cursorPosition == null ? void 0 : cursorPosition.index) ? endIndex : startIndex;
|
|
6763
|
-
if (LETTER_REG.test((
|
|
6900
|
+
if (LETTER_REG.test((_c = elementList[moveStartIndex + 1]) == null ? void 0 : _c.value)) {
|
|
6764
6901
|
let i = moveStartIndex + 2;
|
|
6765
6902
|
while (i < elementList.length) {
|
|
6766
6903
|
const element = elementList[i];
|
|
@@ -7266,7 +7403,7 @@ function input(data2, host) {
|
|
|
7266
7403
|
`, ZERO);
|
|
7267
7404
|
const { startIndex, endIndex } = rangeManager.getRange();
|
|
7268
7405
|
const elementList = draw.getElementList();
|
|
7269
|
-
const copyElement =
|
|
7406
|
+
const copyElement = rangeManager.getRangeAnchorStyle(elementList, endIndex);
|
|
7270
7407
|
if (!copyElement)
|
|
7271
7408
|
return;
|
|
7272
7409
|
const isDesignMode = draw.isDesignMode();
|
|
@@ -7376,7 +7513,7 @@ function cut(host) {
|
|
|
7376
7513
|
rangeManager.setRange(curIndex, curIndex);
|
|
7377
7514
|
draw.render({ curIndex });
|
|
7378
7515
|
}
|
|
7379
|
-
function copy(host) {
|
|
7516
|
+
function copy(host, options) {
|
|
7380
7517
|
const draw = host.getDraw();
|
|
7381
7518
|
const { copy: copy2 } = draw.getOverride();
|
|
7382
7519
|
if (copy2) {
|
|
@@ -7424,6 +7561,13 @@ function copy(host) {
|
|
|
7424
7561
|
} else {
|
|
7425
7562
|
copyElementList = rangeManager.getIsCollapsed() ? rangeManager.getRangeRowElementList() : rangeManager.getSelectionElementList();
|
|
7426
7563
|
}
|
|
7564
|
+
if ((options == null ? void 0 : options.isPlainText) && (copyElementList == null ? void 0 : copyElementList.length)) {
|
|
7565
|
+
copyElementList = [
|
|
7566
|
+
{
|
|
7567
|
+
value: getTextFromElementList(copyElementList)
|
|
7568
|
+
}
|
|
7569
|
+
];
|
|
7570
|
+
}
|
|
7427
7571
|
if (!(copyElementList == null ? void 0 : copyElementList.length))
|
|
7428
7572
|
return;
|
|
7429
7573
|
writeElementList(copyElementList, draw.getOptions());
|
|
@@ -7810,8 +7954,8 @@ class CanvasEvent {
|
|
|
7810
7954
|
cut() {
|
|
7811
7955
|
cut(this);
|
|
7812
7956
|
}
|
|
7813
|
-
copy() {
|
|
7814
|
-
copy(this);
|
|
7957
|
+
copy(options) {
|
|
7958
|
+
copy(this, options);
|
|
7815
7959
|
}
|
|
7816
7960
|
compositionstart() {
|
|
7817
7961
|
composition.compositionstart(this);
|
|
@@ -8081,6 +8225,7 @@ class Position {
|
|
|
8081
8225
|
}
|
|
8082
8226
|
}
|
|
8083
8227
|
x += curRow.offsetX || 0;
|
|
8228
|
+
y += curRow.offsetY || 0;
|
|
8084
8229
|
const tablePreX = x;
|
|
8085
8230
|
const tablePreY = y;
|
|
8086
8231
|
for (let j = 0; j < curRow.elementList.length; j++) {
|
|
@@ -8441,7 +8586,7 @@ class Position {
|
|
|
8441
8586
|
}
|
|
8442
8587
|
}
|
|
8443
8588
|
const margins = this.draw.getMargins();
|
|
8444
|
-
if (y <= margins[
|
|
8589
|
+
if (y <= margins[0]) {
|
|
8445
8590
|
for (let p = 0; p < positionList.length; p++) {
|
|
8446
8591
|
const position = positionList[p];
|
|
8447
8592
|
if (position.pageNo !== positionNo || position.rowNo !== 0)
|
|
@@ -8593,6 +8738,7 @@ class RangeManager {
|
|
|
8593
8738
|
__publicField(this, "eventBus");
|
|
8594
8739
|
__publicField(this, "position");
|
|
8595
8740
|
__publicField(this, "historyManager");
|
|
8741
|
+
__publicField(this, "defaultStyle");
|
|
8596
8742
|
this.draw = draw;
|
|
8597
8743
|
this.options = draw.getOptions();
|
|
8598
8744
|
this.listener = draw.getListener();
|
|
@@ -8603,6 +8749,7 @@ class RangeManager {
|
|
|
8603
8749
|
startIndex: -1,
|
|
8604
8750
|
endIndex: -1
|
|
8605
8751
|
};
|
|
8752
|
+
this.defaultStyle = null;
|
|
8606
8753
|
}
|
|
8607
8754
|
getRange() {
|
|
8608
8755
|
return this.range;
|
|
@@ -8610,6 +8757,22 @@ class RangeManager {
|
|
|
8610
8757
|
clearRange() {
|
|
8611
8758
|
this.setRange(-1, -1);
|
|
8612
8759
|
}
|
|
8760
|
+
setDefaultStyle(style) {
|
|
8761
|
+
if (!style) {
|
|
8762
|
+
this.defaultStyle = null;
|
|
8763
|
+
} else {
|
|
8764
|
+
this.defaultStyle = __spreadValues(__spreadValues({}, this.defaultStyle), style);
|
|
8765
|
+
}
|
|
8766
|
+
}
|
|
8767
|
+
getDefaultStyle() {
|
|
8768
|
+
return this.defaultStyle;
|
|
8769
|
+
}
|
|
8770
|
+
getRangeAnchorStyle(elementList, anchorIndex) {
|
|
8771
|
+
const anchorElement = getAnchorElement(elementList, anchorIndex);
|
|
8772
|
+
if (!anchorElement)
|
|
8773
|
+
return null;
|
|
8774
|
+
return __spreadValues(__spreadValues({}, anchorElement), this.defaultStyle);
|
|
8775
|
+
}
|
|
8613
8776
|
getIsCollapsed() {
|
|
8614
8777
|
const { startIndex, endIndex } = this.range;
|
|
8615
8778
|
return startIndex === endIndex;
|
|
@@ -8853,15 +9016,17 @@ class RangeManager {
|
|
|
8853
9016
|
return rangeList;
|
|
8854
9017
|
}
|
|
8855
9018
|
getIsCanInput() {
|
|
9019
|
+
var _a;
|
|
8856
9020
|
const { startIndex, endIndex } = this.getRange();
|
|
8857
9021
|
if (!~startIndex && !~endIndex)
|
|
8858
9022
|
return false;
|
|
8859
|
-
if (startIndex === endIndex)
|
|
8860
|
-
return true;
|
|
8861
9023
|
const elementList = this.draw.getElementList();
|
|
8862
9024
|
const startElement = elementList[startIndex];
|
|
9025
|
+
if (startIndex === endIndex) {
|
|
9026
|
+
return (startElement.controlComponent !== ControlComponent.PRE_TEXT || ((_a = elementList[startIndex + 1]) == null ? void 0 : _a.controlComponent) !== ControlComponent.PRE_TEXT) && startElement.controlComponent !== ControlComponent.POST_TEXT;
|
|
9027
|
+
}
|
|
8863
9028
|
const endElement = elementList[endIndex];
|
|
8864
|
-
return !startElement.controlId && !endElement.controlId || (!startElement.controlId || startElement.controlComponent === ControlComponent.POSTFIX) && (!endElement.controlId || endElement.controlComponent === ControlComponent.POSTFIX) || !!startElement.controlId && endElement.controlId === startElement.controlId && endElement.controlComponent !== ControlComponent.POSTFIX;
|
|
9029
|
+
return !startElement.controlId && !endElement.controlId || (!startElement.controlId || startElement.controlComponent === ControlComponent.POSTFIX) && (!endElement.controlId || endElement.controlComponent === ControlComponent.POSTFIX) || !!startElement.controlId && endElement.controlId === startElement.controlId && endElement.controlComponent !== ControlComponent.PRE_TEXT && endElement.controlComponent !== ControlComponent.POST_TEXT && endElement.controlComponent !== ControlComponent.POSTFIX;
|
|
8865
9030
|
}
|
|
8866
9031
|
setRange(startIndex, endIndex, tableId, startTdIndex, endTdIndex, startTrIndex, endTrIndex) {
|
|
8867
9032
|
this.range.startIndex = startIndex;
|
|
@@ -8872,6 +9037,7 @@ class RangeManager {
|
|
|
8872
9037
|
this.range.startTrIndex = startTrIndex;
|
|
8873
9038
|
this.range.endTrIndex = endTrIndex;
|
|
8874
9039
|
this.range.isCrossRowCol = !!(startTdIndex || endTdIndex || startTrIndex || endTrIndex);
|
|
9040
|
+
this.setDefaultStyle(null);
|
|
8875
9041
|
this.range.zone = this.draw.getZone().getZone();
|
|
8876
9042
|
const control = this.draw.getControl();
|
|
8877
9043
|
if (~startIndex && ~endIndex) {
|
|
@@ -8904,7 +9070,7 @@ class RangeManager {
|
|
|
8904
9070
|
} else {
|
|
8905
9071
|
const index2 = ~endIndex ? endIndex : 0;
|
|
8906
9072
|
const elementList = this.draw.getElementList();
|
|
8907
|
-
curElement =
|
|
9073
|
+
curElement = this.getRangeAnchorStyle(elementList, index2);
|
|
8908
9074
|
}
|
|
8909
9075
|
if (!curElement)
|
|
8910
9076
|
return;
|
|
@@ -9017,7 +9183,7 @@ class RangeManager {
|
|
|
9017
9183
|
let index2 = startIndex - 1;
|
|
9018
9184
|
while (index2 > 0) {
|
|
9019
9185
|
const preElement = elementList[index2];
|
|
9020
|
-
if (preElement.controlId !== startElement.controlId || preElement.controlComponent === ControlComponent.PREFIX) {
|
|
9186
|
+
if (preElement.controlId !== startElement.controlId || preElement.controlComponent === ControlComponent.PREFIX || preElement.controlComponent === ControlComponent.PRE_TEXT) {
|
|
9021
9187
|
range.startIndex = index2;
|
|
9022
9188
|
range.endIndex = index2;
|
|
9023
9189
|
break;
|
|
@@ -9030,7 +9196,7 @@ class RangeManager {
|
|
|
9030
9196
|
let index2 = endIndex - 1;
|
|
9031
9197
|
while (index2 > 0) {
|
|
9032
9198
|
const preElement = elementList[index2];
|
|
9033
|
-
if (preElement.controlId !== endElement.controlId || preElement.controlComponent === ControlComponent.PREFIX) {
|
|
9199
|
+
if (preElement.controlId !== endElement.controlId || preElement.controlComponent === ControlComponent.PREFIX || preElement.controlComponent === ControlComponent.PRE_TEXT) {
|
|
9034
9200
|
range.startIndex = index2;
|
|
9035
9201
|
range.endIndex = index2;
|
|
9036
9202
|
return;
|
|
@@ -10053,10 +10219,10 @@ class TableParticle {
|
|
|
10053
10219
|
}
|
|
10054
10220
|
_drawBorder(ctx, element, startX, startY) {
|
|
10055
10221
|
var _a, _b, _c, _d, _e, _f;
|
|
10056
|
-
const { colgroup, trList, borderType } = element;
|
|
10222
|
+
const { colgroup, trList, borderType, borderColor } = element;
|
|
10057
10223
|
if (!colgroup || !trList)
|
|
10058
10224
|
return;
|
|
10059
|
-
const { scale } = this.options;
|
|
10225
|
+
const { scale, table: { defaultBorderColor } } = this.options;
|
|
10060
10226
|
const tableWidth = element.width * scale;
|
|
10061
10227
|
const tableHeight = element.height * scale;
|
|
10062
10228
|
const isEmptyBorderType = borderType === TableBorder.EMPTY;
|
|
@@ -10067,6 +10233,7 @@ class TableParticle {
|
|
|
10067
10233
|
ctx.setLineDash([3, 3]);
|
|
10068
10234
|
}
|
|
10069
10235
|
ctx.lineWidth = scale;
|
|
10236
|
+
ctx.strokeStyle = borderColor || defaultBorderColor;
|
|
10070
10237
|
if (!isEmptyBorderType && !isInternalBorderType) {
|
|
10071
10238
|
this._drawOuterBorder({
|
|
10072
10239
|
ctx,
|
|
@@ -11186,7 +11353,10 @@ class SelectControl {
|
|
|
11186
11353
|
__publicField(this, "isPopup");
|
|
11187
11354
|
__publicField(this, "selectDom");
|
|
11188
11355
|
__publicField(this, "options");
|
|
11189
|
-
this
|
|
11356
|
+
__publicField(this, "VALUE_DELIMITER", ",");
|
|
11357
|
+
__publicField(this, "DEFAULT_MULTI_SELECT_DELIMITER", ",");
|
|
11358
|
+
const draw = control.getDraw();
|
|
11359
|
+
this.options = draw.getOptions();
|
|
11190
11360
|
this.element = element;
|
|
11191
11361
|
this.control = control;
|
|
11192
11362
|
this.isPopup = false;
|
|
@@ -11201,9 +11371,27 @@ class SelectControl {
|
|
|
11201
11371
|
getIsPopup() {
|
|
11202
11372
|
return this.isPopup;
|
|
11203
11373
|
}
|
|
11204
|
-
|
|
11205
|
-
var _a;
|
|
11206
|
-
return ((_a = this.element.control) == null ? void 0 :
|
|
11374
|
+
getCodes() {
|
|
11375
|
+
var _a, _b;
|
|
11376
|
+
return ((_b = (_a = this.element) == null ? void 0 : _a.control) == null ? void 0 : _b.code) ? this.element.control.code.split(",") : [];
|
|
11377
|
+
}
|
|
11378
|
+
getText(codes) {
|
|
11379
|
+
var _a, _b;
|
|
11380
|
+
if (!((_a = this.element) == null ? void 0 : _a.control))
|
|
11381
|
+
return null;
|
|
11382
|
+
const control = this.element.control;
|
|
11383
|
+
if (!((_b = control.valueSets) == null ? void 0 : _b.length))
|
|
11384
|
+
return null;
|
|
11385
|
+
const multiSelectDelimiter = (control == null ? void 0 : control.multiSelectDelimiter) || this.DEFAULT_MULTI_SELECT_DELIMITER;
|
|
11386
|
+
const valueSets = control.valueSets;
|
|
11387
|
+
const valueList = [];
|
|
11388
|
+
codes.forEach((code) => {
|
|
11389
|
+
const valueSet = valueSets.find((v) => v.code === code);
|
|
11390
|
+
if (valueSet && !isNonValue(valueSet.value)) {
|
|
11391
|
+
valueList.push(valueSet.value);
|
|
11392
|
+
}
|
|
11393
|
+
});
|
|
11394
|
+
return valueList.join(multiSelectDelimiter) || null;
|
|
11207
11395
|
}
|
|
11208
11396
|
getValue(context = {}) {
|
|
11209
11397
|
const elementList = context.elementList || this.control.getElementList();
|
|
@@ -11213,7 +11401,7 @@ class SelectControl {
|
|
|
11213
11401
|
let preIndex = startIndex;
|
|
11214
11402
|
while (preIndex > 0) {
|
|
11215
11403
|
const preElement = elementList[preIndex];
|
|
11216
|
-
if (preElement.controlId !== startElement.controlId || preElement.controlComponent === ControlComponent.PREFIX) {
|
|
11404
|
+
if (preElement.controlId !== startElement.controlId || preElement.controlComponent === ControlComponent.PREFIX || preElement.controlComponent === ControlComponent.PRE_TEXT) {
|
|
11217
11405
|
break;
|
|
11218
11406
|
}
|
|
11219
11407
|
if (preElement.controlComponent === ControlComponent.VALUE) {
|
|
@@ -11224,7 +11412,7 @@ class SelectControl {
|
|
|
11224
11412
|
let nextIndex = startIndex + 1;
|
|
11225
11413
|
while (nextIndex < elementList.length) {
|
|
11226
11414
|
const nextElement = elementList[nextIndex];
|
|
11227
|
-
if (nextElement.controlId !== startElement.controlId || nextElement.controlComponent === ControlComponent.POSTFIX) {
|
|
11415
|
+
if (nextElement.controlId !== startElement.controlId || nextElement.controlComponent === ControlComponent.POSTFIX || nextElement.controlComponent === ControlComponent.POST_TEXT) {
|
|
11228
11416
|
break;
|
|
11229
11417
|
}
|
|
11230
11418
|
if (nextElement.controlComponent === ControlComponent.VALUE) {
|
|
@@ -11234,8 +11422,38 @@ class SelectControl {
|
|
|
11234
11422
|
}
|
|
11235
11423
|
return data2;
|
|
11236
11424
|
}
|
|
11237
|
-
setValue() {
|
|
11238
|
-
|
|
11425
|
+
setValue(data2, context = {}, options = {}) {
|
|
11426
|
+
var _a, _b;
|
|
11427
|
+
if (!((_b = (_a = this.element.control) == null ? void 0 : _a.selectExclusiveOptions) == null ? void 0 : _b.inputAble) || !options.isIgnoreDisabledRule && this.control.getIsDisabledControl(context)) {
|
|
11428
|
+
return -1;
|
|
11429
|
+
}
|
|
11430
|
+
const elementList = context.elementList || this.control.getElementList();
|
|
11431
|
+
const range = context.range || this.control.getRange();
|
|
11432
|
+
this.control.shrinkBoundary(context);
|
|
11433
|
+
const { startIndex, endIndex } = range;
|
|
11434
|
+
const draw = this.control.getDraw();
|
|
11435
|
+
if (startIndex !== endIndex) {
|
|
11436
|
+
draw.spliceElementList(elementList, startIndex + 1, endIndex - startIndex);
|
|
11437
|
+
} else {
|
|
11438
|
+
this.control.removePlaceholder(startIndex, context);
|
|
11439
|
+
}
|
|
11440
|
+
const startElement = elementList[startIndex];
|
|
11441
|
+
const anchorElement = startElement.type && !TEXTLIKE_ELEMENT_TYPE.includes(startElement.type) || startElement.controlComponent === ControlComponent.PREFIX || startElement.controlComponent === ControlComponent.PRE_TEXT ? pickObject(startElement, [
|
|
11442
|
+
"control",
|
|
11443
|
+
"controlId",
|
|
11444
|
+
...CONTROL_STYLE_ATTR
|
|
11445
|
+
]) : omitObject(startElement, ["type"]);
|
|
11446
|
+
const start = range.startIndex + 1;
|
|
11447
|
+
for (let i = 0; i < data2.length; i++) {
|
|
11448
|
+
const newElement = __spreadProps(__spreadValues(__spreadValues({}, anchorElement), data2[i]), {
|
|
11449
|
+
controlComponent: ControlComponent.VALUE
|
|
11450
|
+
});
|
|
11451
|
+
formatElementContext(elementList, [newElement], startIndex, {
|
|
11452
|
+
editorOptions: this.options
|
|
11453
|
+
});
|
|
11454
|
+
draw.spliceElementList(elementList, start + i, 0, newElement);
|
|
11455
|
+
}
|
|
11456
|
+
return start + data2.length - 1;
|
|
11239
11457
|
}
|
|
11240
11458
|
keydown(evt) {
|
|
11241
11459
|
if (this.control.getIsDisabledControl()) {
|
|
@@ -11251,7 +11469,7 @@ class SelectControl {
|
|
|
11251
11469
|
if (startIndex !== endIndex) {
|
|
11252
11470
|
return this.clearSelect();
|
|
11253
11471
|
} else {
|
|
11254
|
-
if (startElement.controlComponent === ControlComponent.PREFIX || endElement.controlComponent === ControlComponent.POSTFIX || startElement.controlComponent === ControlComponent.PLACEHOLDER) {
|
|
11472
|
+
if (startElement.controlComponent === ControlComponent.PREFIX || startElement.controlComponent === ControlComponent.PRE_TEXT || endElement.controlComponent === ControlComponent.POSTFIX || endElement.controlComponent === ControlComponent.POST_TEXT || startElement.controlComponent === ControlComponent.PLACEHOLDER) {
|
|
11255
11473
|
return this.control.removeControl(startIndex);
|
|
11256
11474
|
} else {
|
|
11257
11475
|
return this.clearSelect();
|
|
@@ -11262,7 +11480,7 @@ class SelectControl {
|
|
|
11262
11480
|
return this.clearSelect();
|
|
11263
11481
|
} else {
|
|
11264
11482
|
const endNextElement = elementList[endIndex + 1];
|
|
11265
|
-
if (startElement.controlComponent === ControlComponent.PREFIX && endNextElement.controlComponent === ControlComponent.PLACEHOLDER || endNextElement.controlComponent === ControlComponent.POSTFIX || startElement.controlComponent === ControlComponent.PLACEHOLDER) {
|
|
11483
|
+
if ((startElement.controlComponent === ControlComponent.PREFIX || startElement.controlComponent === ControlComponent.PRE_TEXT) && endNextElement.controlComponent === ControlComponent.PLACEHOLDER || endNextElement.controlComponent === ControlComponent.POSTFIX || endNextElement.controlComponent === ControlComponent.POST_TEXT || startElement.controlComponent === ControlComponent.PLACEHOLDER) {
|
|
11266
11484
|
return this.control.removeControl(startIndex);
|
|
11267
11485
|
} else {
|
|
11268
11486
|
return this.clearSelect();
|
|
@@ -11295,7 +11513,7 @@ class SelectControl {
|
|
|
11295
11513
|
let preIndex = startIndex;
|
|
11296
11514
|
while (preIndex > 0) {
|
|
11297
11515
|
const preElement = elementList[preIndex];
|
|
11298
|
-
if (preElement.controlId !== startElement.controlId || preElement.controlComponent === ControlComponent.PREFIX) {
|
|
11516
|
+
if (preElement.controlId !== startElement.controlId || preElement.controlComponent === ControlComponent.PREFIX || preElement.controlComponent === ControlComponent.PRE_TEXT) {
|
|
11299
11517
|
leftIndex = preIndex;
|
|
11300
11518
|
break;
|
|
11301
11519
|
}
|
|
@@ -11304,7 +11522,7 @@ class SelectControl {
|
|
|
11304
11522
|
let nextIndex = startIndex + 1;
|
|
11305
11523
|
while (nextIndex < elementList.length) {
|
|
11306
11524
|
const nextElement = elementList[nextIndex];
|
|
11307
|
-
if (nextElement.controlId !== startElement.controlId || nextElement.controlComponent === ControlComponent.POSTFIX) {
|
|
11525
|
+
if (nextElement.controlId !== startElement.controlId || nextElement.controlComponent === ControlComponent.POSTFIX || nextElement.controlComponent === ControlComponent.POST_TEXT) {
|
|
11308
11526
|
rightIndex = nextIndex - 1;
|
|
11309
11527
|
break;
|
|
11310
11528
|
}
|
|
@@ -11317,18 +11535,27 @@ class SelectControl {
|
|
|
11317
11535
|
if (isAddPlaceholder) {
|
|
11318
11536
|
this.control.addPlaceholder(preIndex, context);
|
|
11319
11537
|
}
|
|
11320
|
-
this.
|
|
11538
|
+
this.control.setControlProperties({
|
|
11539
|
+
code: null
|
|
11540
|
+
}, {
|
|
11541
|
+
elementList,
|
|
11542
|
+
range: { startIndex: preIndex, endIndex: preIndex }
|
|
11543
|
+
});
|
|
11321
11544
|
return preIndex;
|
|
11322
11545
|
}
|
|
11323
11546
|
setSelect(code, context = {}, options = {}) {
|
|
11547
|
+
var _a;
|
|
11324
11548
|
if (!options.isIgnoreDisabledRule && this.control.getIsDisabledControl(context)) {
|
|
11325
11549
|
return;
|
|
11326
11550
|
}
|
|
11327
11551
|
const elementList = context.elementList || this.control.getElementList();
|
|
11328
11552
|
const range = context.range || this.control.getRange();
|
|
11329
11553
|
const control = this.element.control;
|
|
11554
|
+
const newCodes = (code == null ? void 0 : code.split(this.VALUE_DELIMITER)) || [];
|
|
11330
11555
|
const oldCode = control.code;
|
|
11331
|
-
|
|
11556
|
+
const oldCodes = ((_a = control.code) == null ? void 0 : _a.split(this.VALUE_DELIMITER)) || [];
|
|
11557
|
+
const isMultiSelect = control.isMultiSelect;
|
|
11558
|
+
if (!isMultiSelect && code === oldCode || isMultiSelect && isArrayEqual(oldCodes, newCodes)) {
|
|
11332
11559
|
this.control.repaintControl({
|
|
11333
11560
|
curIndex: range.startIndex,
|
|
11334
11561
|
isCompute: false,
|
|
@@ -11340,9 +11567,18 @@ class SelectControl {
|
|
|
11340
11567
|
const valueSets = control.valueSets;
|
|
11341
11568
|
if (!Array.isArray(valueSets) || !valueSets.length)
|
|
11342
11569
|
return;
|
|
11343
|
-
const
|
|
11344
|
-
if (!
|
|
11570
|
+
const text = this.getText(newCodes);
|
|
11571
|
+
if (!text) {
|
|
11572
|
+
if (oldCode) {
|
|
11573
|
+
const prefixIndex2 = this.clearSelect(context);
|
|
11574
|
+
if (~prefixIndex2) {
|
|
11575
|
+
this.control.repaintControl({
|
|
11576
|
+
curIndex: prefixIndex2
|
|
11577
|
+
});
|
|
11578
|
+
}
|
|
11579
|
+
}
|
|
11345
11580
|
return;
|
|
11581
|
+
}
|
|
11346
11582
|
const valueElement = this.getValue(context)[0];
|
|
11347
11583
|
const styleElement = valueElement ? pickObject(valueElement, EDITOR_ELEMENT_STYLE_ATTR) : pickObject(elementList[range.startIndex], CONTROL_STYLE_ATTR);
|
|
11348
11584
|
const prefixIndex = this.clearSelect(context, {
|
|
@@ -11355,7 +11591,7 @@ class SelectControl {
|
|
|
11355
11591
|
}
|
|
11356
11592
|
const propertyElement = omitObject(elementList[prefixIndex], EDITOR_ELEMENT_STYLE_ATTR);
|
|
11357
11593
|
const start = prefixIndex + 1;
|
|
11358
|
-
const data2 = splitText(
|
|
11594
|
+
const data2 = splitText(text);
|
|
11359
11595
|
const draw = this.control.getDraw();
|
|
11360
11596
|
for (let i = 0; i < data2.length; i++) {
|
|
11361
11597
|
const newElement = __spreadProps(__spreadValues(__spreadValues({}, styleElement), propertyElement), {
|
|
@@ -11368,13 +11604,20 @@ class SelectControl {
|
|
|
11368
11604
|
});
|
|
11369
11605
|
draw.spliceElementList(elementList, start + i, 0, newElement);
|
|
11370
11606
|
}
|
|
11371
|
-
control.
|
|
11607
|
+
this.control.setControlProperties({
|
|
11608
|
+
code
|
|
11609
|
+
}, {
|
|
11610
|
+
elementList,
|
|
11611
|
+
range: { startIndex: prefixIndex, endIndex: prefixIndex }
|
|
11612
|
+
});
|
|
11372
11613
|
if (!context.range) {
|
|
11373
11614
|
const newIndex = start + data2.length - 1;
|
|
11374
11615
|
this.control.repaintControl({
|
|
11375
11616
|
curIndex: newIndex
|
|
11376
11617
|
});
|
|
11377
|
-
|
|
11618
|
+
if (!isMultiSelect) {
|
|
11619
|
+
this.destroy();
|
|
11620
|
+
}
|
|
11378
11621
|
}
|
|
11379
11622
|
}
|
|
11380
11623
|
_createSelectPopupDom() {
|
|
@@ -11392,12 +11635,26 @@ class SelectControl {
|
|
|
11392
11635
|
for (let v = 0; v < valueSets.length; v++) {
|
|
11393
11636
|
const valueSet = valueSets[v];
|
|
11394
11637
|
const li = document.createElement("li");
|
|
11395
|
-
|
|
11396
|
-
if (
|
|
11638
|
+
let codes = this.getCodes();
|
|
11639
|
+
if (codes.includes(valueSet.code)) {
|
|
11397
11640
|
li.classList.add("active");
|
|
11398
11641
|
}
|
|
11399
11642
|
li.onclick = () => {
|
|
11400
|
-
|
|
11643
|
+
const codeIndex = codes.findIndex((code) => code === valueSet.code);
|
|
11644
|
+
if (control.isMultiSelect) {
|
|
11645
|
+
if (~codeIndex) {
|
|
11646
|
+
codes.splice(codeIndex, 1);
|
|
11647
|
+
} else {
|
|
11648
|
+
codes.push(valueSet.code);
|
|
11649
|
+
}
|
|
11650
|
+
} else {
|
|
11651
|
+
if (~codeIndex) {
|
|
11652
|
+
codes = [];
|
|
11653
|
+
} else {
|
|
11654
|
+
codes = [valueSet.code];
|
|
11655
|
+
}
|
|
11656
|
+
}
|
|
11657
|
+
this.setSelect(codes.join(this.VALUE_DELIMITER));
|
|
11401
11658
|
};
|
|
11402
11659
|
li.append(document.createTextNode(valueSet.value));
|
|
11403
11660
|
ul.append(li);
|
|
@@ -11436,7 +11693,8 @@ class TextControl {
|
|
|
11436
11693
|
__publicField(this, "element");
|
|
11437
11694
|
__publicField(this, "control");
|
|
11438
11695
|
__publicField(this, "options");
|
|
11439
|
-
|
|
11696
|
+
const draw = control.getDraw();
|
|
11697
|
+
this.options = draw.getOptions();
|
|
11440
11698
|
this.element = element;
|
|
11441
11699
|
this.control = control;
|
|
11442
11700
|
}
|
|
@@ -11454,7 +11712,7 @@ class TextControl {
|
|
|
11454
11712
|
let preIndex = startIndex;
|
|
11455
11713
|
while (preIndex > 0) {
|
|
11456
11714
|
const preElement = elementList[preIndex];
|
|
11457
|
-
if (preElement.controlId !== startElement.controlId || preElement.controlComponent === ControlComponent.PREFIX) {
|
|
11715
|
+
if (preElement.controlId !== startElement.controlId || preElement.controlComponent === ControlComponent.PREFIX || preElement.controlComponent === ControlComponent.PRE_TEXT) {
|
|
11458
11716
|
break;
|
|
11459
11717
|
}
|
|
11460
11718
|
if (preElement.controlComponent === ControlComponent.VALUE) {
|
|
@@ -11465,7 +11723,7 @@ class TextControl {
|
|
|
11465
11723
|
let nextIndex = startIndex + 1;
|
|
11466
11724
|
while (nextIndex < elementList.length) {
|
|
11467
11725
|
const nextElement = elementList[nextIndex];
|
|
11468
|
-
if (nextElement.controlId !== startElement.controlId || nextElement.controlComponent === ControlComponent.POSTFIX) {
|
|
11726
|
+
if (nextElement.controlId !== startElement.controlId || nextElement.controlComponent === ControlComponent.POSTFIX || nextElement.controlComponent === ControlComponent.POST_TEXT) {
|
|
11469
11727
|
break;
|
|
11470
11728
|
}
|
|
11471
11729
|
if (nextElement.controlComponent === ControlComponent.VALUE) {
|
|
@@ -11490,7 +11748,7 @@ class TextControl {
|
|
|
11490
11748
|
this.control.removePlaceholder(startIndex, context);
|
|
11491
11749
|
}
|
|
11492
11750
|
const startElement = elementList[startIndex];
|
|
11493
|
-
const anchorElement = startElement.type && !TEXTLIKE_ELEMENT_TYPE.includes(startElement.type) || startElement.controlComponent === ControlComponent.PREFIX ? pickObject(startElement, [
|
|
11751
|
+
const anchorElement = startElement.type && !TEXTLIKE_ELEMENT_TYPE.includes(startElement.type) || startElement.controlComponent === ControlComponent.PREFIX || startElement.controlComponent === ControlComponent.PRE_TEXT ? pickObject(startElement, [
|
|
11494
11752
|
"control",
|
|
11495
11753
|
"controlId",
|
|
11496
11754
|
...CONTROL_STYLE_ATTR
|
|
@@ -11541,7 +11799,7 @@ class TextControl {
|
|
|
11541
11799
|
}
|
|
11542
11800
|
return startIndex;
|
|
11543
11801
|
} else {
|
|
11544
|
-
if (startElement.controlComponent === ControlComponent.PREFIX || endElement.controlComponent === ControlComponent.POSTFIX || startElement.controlComponent === ControlComponent.PLACEHOLDER) {
|
|
11802
|
+
if (startElement.controlComponent === ControlComponent.PREFIX || startElement.controlComponent === ControlComponent.PRE_TEXT || endElement.controlComponent === ControlComponent.POSTFIX || endElement.controlComponent === ControlComponent.POST_TEXT || startElement.controlComponent === ControlComponent.PLACEHOLDER) {
|
|
11545
11803
|
return this.control.removeControl(startIndex);
|
|
11546
11804
|
} else {
|
|
11547
11805
|
draw.spliceElementList(elementList, startIndex, 1);
|
|
@@ -11562,7 +11820,7 @@ class TextControl {
|
|
|
11562
11820
|
return startIndex;
|
|
11563
11821
|
} else {
|
|
11564
11822
|
const endNextElement = elementList[endIndex + 1];
|
|
11565
|
-
if (startElement.controlComponent === ControlComponent.PREFIX && endNextElement.controlComponent === ControlComponent.PLACEHOLDER || endNextElement.controlComponent === ControlComponent.POSTFIX || startElement.controlComponent === ControlComponent.PLACEHOLDER) {
|
|
11823
|
+
if ((startElement.controlComponent === ControlComponent.PREFIX || startElement.controlComponent === ControlComponent.PRE_TEXT) && endNextElement.controlComponent === ControlComponent.PLACEHOLDER || endNextElement.controlComponent === ControlComponent.POSTFIX || endNextElement.controlComponent === ControlComponent.POST_TEXT || startElement.controlComponent === ControlComponent.PLACEHOLDER) {
|
|
11566
11824
|
return this.control.removeControl(startIndex);
|
|
11567
11825
|
} else {
|
|
11568
11826
|
draw.spliceElementList(elementList, startIndex + 1, 1);
|
|
@@ -12085,7 +12343,7 @@ class DateControl {
|
|
|
12085
12343
|
let preIndex = startIndex;
|
|
12086
12344
|
while (preIndex > 0) {
|
|
12087
12345
|
const preElement = elementList[preIndex];
|
|
12088
|
-
if (preElement.controlId !== startElement.controlId || preElement.controlComponent === ControlComponent.PREFIX) {
|
|
12346
|
+
if (preElement.controlId !== startElement.controlId || preElement.controlComponent === ControlComponent.PREFIX || preElement.controlComponent === ControlComponent.PRE_TEXT) {
|
|
12089
12347
|
break;
|
|
12090
12348
|
}
|
|
12091
12349
|
preIndex--;
|
|
@@ -12093,7 +12351,7 @@ class DateControl {
|
|
|
12093
12351
|
let nextIndex = startIndex + 1;
|
|
12094
12352
|
while (nextIndex < elementList.length) {
|
|
12095
12353
|
const nextElement = elementList[nextIndex];
|
|
12096
|
-
if (nextElement.controlId !== startElement.controlId || nextElement.controlComponent === ControlComponent.POSTFIX) {
|
|
12354
|
+
if (nextElement.controlId !== startElement.controlId || nextElement.controlComponent === ControlComponent.POSTFIX || nextElement.controlComponent === ControlComponent.POST_TEXT) {
|
|
12097
12355
|
break;
|
|
12098
12356
|
}
|
|
12099
12357
|
nextIndex++;
|
|
@@ -12132,7 +12390,7 @@ class DateControl {
|
|
|
12132
12390
|
this.control.removePlaceholder(startIndex, context);
|
|
12133
12391
|
}
|
|
12134
12392
|
const startElement = elementList[startIndex];
|
|
12135
|
-
const anchorElement = startElement.type && !TEXTLIKE_ELEMENT_TYPE.includes(startElement.type) || startElement.controlComponent === ControlComponent.PREFIX ? pickObject(startElement, [
|
|
12393
|
+
const anchorElement = startElement.type && !TEXTLIKE_ELEMENT_TYPE.includes(startElement.type) || startElement.controlComponent === ControlComponent.PREFIX || startElement.controlComponent === ControlComponent.PRE_TEXT ? pickObject(startElement, [
|
|
12136
12394
|
"control",
|
|
12137
12395
|
"controlId",
|
|
12138
12396
|
...CONTROL_STYLE_ATTR
|
|
@@ -12223,7 +12481,7 @@ class DateControl {
|
|
|
12223
12481
|
}
|
|
12224
12482
|
return startIndex;
|
|
12225
12483
|
} else {
|
|
12226
|
-
if (startElement.controlComponent === ControlComponent.PREFIX || endElement.controlComponent === ControlComponent.POSTFIX || startElement.controlComponent === ControlComponent.PLACEHOLDER) {
|
|
12484
|
+
if (startElement.controlComponent === ControlComponent.PREFIX || startElement.controlComponent === ControlComponent.PRE_TEXT || endElement.controlComponent === ControlComponent.POSTFIX || endElement.controlComponent === ControlComponent.POST_TEXT || startElement.controlComponent === ControlComponent.PLACEHOLDER) {
|
|
12227
12485
|
return this.control.removeControl(startIndex);
|
|
12228
12486
|
} else {
|
|
12229
12487
|
draw.spliceElementList(elementList, startIndex, 1);
|
|
@@ -12244,7 +12502,7 @@ class DateControl {
|
|
|
12244
12502
|
return startIndex;
|
|
12245
12503
|
} else {
|
|
12246
12504
|
const endNextElement = elementList[endIndex + 1];
|
|
12247
|
-
if (startElement.controlComponent === ControlComponent.PREFIX && endNextElement.controlComponent === ControlComponent.PLACEHOLDER || endNextElement.controlComponent === ControlComponent.POSTFIX || startElement.controlComponent === ControlComponent.PLACEHOLDER) {
|
|
12505
|
+
if ((startElement.controlComponent === ControlComponent.PREFIX || startElement.controlComponent === ControlComponent.PRE_TEXT) && endNextElement.controlComponent === ControlComponent.PLACEHOLDER || endNextElement.controlComponent === ControlComponent.POSTFIX || endNextElement.controlComponent === ControlComponent.POST_TEXT || startElement.controlComponent === ControlComponent.PLACEHOLDER) {
|
|
12248
12506
|
return this.control.removeControl(startIndex);
|
|
12249
12507
|
} else {
|
|
12250
12508
|
draw.spliceElementList(elementList, startIndex + 1, 1);
|
|
@@ -12327,6 +12585,7 @@ class Control {
|
|
|
12327
12585
|
__publicField(this, "options");
|
|
12328
12586
|
__publicField(this, "controlOptions");
|
|
12329
12587
|
__publicField(this, "activeControl");
|
|
12588
|
+
__publicField(this, "activeControlValue");
|
|
12330
12589
|
this.controlBorder = new ControlBorder(draw);
|
|
12331
12590
|
this.draw = draw;
|
|
12332
12591
|
this.range = draw.getRange();
|
|
@@ -12336,6 +12595,7 @@ class Control {
|
|
|
12336
12595
|
this.options = draw.getOptions();
|
|
12337
12596
|
this.controlOptions = this.options.control;
|
|
12338
12597
|
this.activeControl = null;
|
|
12598
|
+
this.activeControlValue = [];
|
|
12339
12599
|
}
|
|
12340
12600
|
setHighlightList(payload) {
|
|
12341
12601
|
this.controlSearch.setHighlightList(payload);
|
|
@@ -12356,8 +12616,8 @@ class Control {
|
|
|
12356
12616
|
return this.draw;
|
|
12357
12617
|
}
|
|
12358
12618
|
filterAssistElement(elementList) {
|
|
12359
|
-
return elementList.filter((element) => {
|
|
12360
|
-
var _a;
|
|
12619
|
+
return elementList.filter((element, index2) => {
|
|
12620
|
+
var _a, _b, _c;
|
|
12361
12621
|
if (element.type === ElementType.TABLE) {
|
|
12362
12622
|
const trList = element.trList;
|
|
12363
12623
|
for (let r = 0; r < trList.length; r++) {
|
|
@@ -12375,6 +12635,37 @@ class Control {
|
|
|
12375
12635
|
element.value = "";
|
|
12376
12636
|
return true;
|
|
12377
12637
|
}
|
|
12638
|
+
} else {
|
|
12639
|
+
if (((_b = element.control) == null ? void 0 : _b.preText) && element.controlComponent === ControlComponent.PRE_TEXT) {
|
|
12640
|
+
let isExistValue = false;
|
|
12641
|
+
let start = index2 + 1;
|
|
12642
|
+
while (start < elementList.length) {
|
|
12643
|
+
const nextElement = elementList[start];
|
|
12644
|
+
if (element.controlId !== nextElement.controlId)
|
|
12645
|
+
break;
|
|
12646
|
+
if (nextElement.controlComponent === ControlComponent.VALUE) {
|
|
12647
|
+
isExistValue = true;
|
|
12648
|
+
break;
|
|
12649
|
+
}
|
|
12650
|
+
start++;
|
|
12651
|
+
}
|
|
12652
|
+
return isExistValue;
|
|
12653
|
+
}
|
|
12654
|
+
if (((_c = element.control) == null ? void 0 : _c.postText) && element.controlComponent === ControlComponent.POST_TEXT) {
|
|
12655
|
+
let isExistValue = false;
|
|
12656
|
+
let start = index2 - 1;
|
|
12657
|
+
while (start < elementList.length) {
|
|
12658
|
+
const preElement = elementList[start];
|
|
12659
|
+
if (element.controlId !== preElement.controlId)
|
|
12660
|
+
break;
|
|
12661
|
+
if (preElement.controlComponent === ControlComponent.VALUE) {
|
|
12662
|
+
isExistValue = true;
|
|
12663
|
+
break;
|
|
12664
|
+
}
|
|
12665
|
+
start--;
|
|
12666
|
+
}
|
|
12667
|
+
return isExistValue;
|
|
12668
|
+
}
|
|
12378
12669
|
}
|
|
12379
12670
|
return element.controlComponent !== ControlComponent.PREFIX && element.controlComponent !== ControlComponent.POSTFIX && element.controlComponent !== ControlComponent.PLACEHOLDER;
|
|
12380
12671
|
});
|
|
@@ -12490,10 +12781,13 @@ class Control {
|
|
|
12490
12781
|
getActiveControl() {
|
|
12491
12782
|
return this.activeControl;
|
|
12492
12783
|
}
|
|
12784
|
+
updateActiveControlValue() {
|
|
12785
|
+
if (this.activeControl) {
|
|
12786
|
+
this.activeControlValue = this.activeControl.getValue();
|
|
12787
|
+
}
|
|
12788
|
+
}
|
|
12493
12789
|
initControl() {
|
|
12494
|
-
|
|
12495
|
-
if (isReadonly)
|
|
12496
|
-
return;
|
|
12790
|
+
var _a, _b;
|
|
12497
12791
|
const elementList = this.getElementList();
|
|
12498
12792
|
const range = this.getRange();
|
|
12499
12793
|
const element = elementList[range.startIndex];
|
|
@@ -12506,10 +12800,15 @@ class Control {
|
|
|
12506
12800
|
}
|
|
12507
12801
|
}
|
|
12508
12802
|
const controlElement = this.activeControl.getElement();
|
|
12509
|
-
if (element.controlId === controlElement.controlId)
|
|
12803
|
+
if (element.controlId === controlElement.controlId) {
|
|
12804
|
+
this.updateActiveControlValue();
|
|
12510
12805
|
return;
|
|
12806
|
+
}
|
|
12511
12807
|
}
|
|
12512
12808
|
this.destroyControl();
|
|
12809
|
+
const isReadonly = this.draw.isReadonly();
|
|
12810
|
+
if (isReadonly)
|
|
12811
|
+
return;
|
|
12513
12812
|
const control = element.control;
|
|
12514
12813
|
if (control.type === ControlType.TEXT) {
|
|
12515
12814
|
this.activeControl = new TextControl(element, this);
|
|
@@ -12526,46 +12825,61 @@ class Control {
|
|
|
12526
12825
|
this.activeControl = dateControl;
|
|
12527
12826
|
dateControl.awake();
|
|
12528
12827
|
}
|
|
12529
|
-
|
|
12530
|
-
|
|
12531
|
-
|
|
12532
|
-
|
|
12533
|
-
|
|
12534
|
-
|
|
12535
|
-
|
|
12536
|
-
const value = (_a = this.activeControl) == null ? void 0 : _a.getValue();
|
|
12537
|
-
if (value && value.length) {
|
|
12538
|
-
payload = zipElementList(value)[0].control;
|
|
12828
|
+
this.updateActiveControlValue();
|
|
12829
|
+
const isSubscribeControlChange = this.eventBus.isSubscribe("controlChange");
|
|
12830
|
+
if (this.listener.controlChange || isSubscribeControlChange) {
|
|
12831
|
+
let control2;
|
|
12832
|
+
const value = this.activeControlValue;
|
|
12833
|
+
if (value == null ? void 0 : value.length) {
|
|
12834
|
+
control2 = zipElementList(value)[0].control;
|
|
12539
12835
|
} else {
|
|
12540
|
-
|
|
12541
|
-
|
|
12542
|
-
if (controlChangeListener) {
|
|
12543
|
-
controlChangeListener(payload);
|
|
12836
|
+
control2 = pickElementAttr(deepClone(element)).control;
|
|
12837
|
+
control2.value = [];
|
|
12544
12838
|
}
|
|
12839
|
+
const payload = {
|
|
12840
|
+
control: control2,
|
|
12841
|
+
controlId: element.controlId,
|
|
12842
|
+
state: ControlState.ACTIVE
|
|
12843
|
+
};
|
|
12844
|
+
(_b = (_a = this.listener).controlChange) == null ? void 0 : _b.call(_a, payload);
|
|
12545
12845
|
if (isSubscribeControlChange) {
|
|
12546
12846
|
this.eventBus.emit("controlChange", payload);
|
|
12547
12847
|
}
|
|
12548
|
-
}
|
|
12848
|
+
}
|
|
12549
12849
|
}
|
|
12550
|
-
destroyControl() {
|
|
12551
|
-
|
|
12552
|
-
|
|
12553
|
-
|
|
12554
|
-
|
|
12555
|
-
|
|
12556
|
-
|
|
12557
|
-
|
|
12558
|
-
|
|
12559
|
-
|
|
12560
|
-
|
|
12561
|
-
|
|
12562
|
-
|
|
12850
|
+
destroyControl(options = {}) {
|
|
12851
|
+
var _a, _b;
|
|
12852
|
+
if (!this.activeControl)
|
|
12853
|
+
return;
|
|
12854
|
+
const { isEmitEvent = true } = options;
|
|
12855
|
+
if (this.activeControl instanceof SelectControl || this.activeControl instanceof DateControl) {
|
|
12856
|
+
this.activeControl.destroy();
|
|
12857
|
+
}
|
|
12858
|
+
if (isEmitEvent) {
|
|
12859
|
+
const isSubscribeControlChange = this.eventBus.isSubscribe("controlChange");
|
|
12860
|
+
if (this.listener.controlChange || isSubscribeControlChange) {
|
|
12861
|
+
let control;
|
|
12862
|
+
const value = this.activeControlValue;
|
|
12863
|
+
const activeElement = this.activeControl.getElement();
|
|
12864
|
+
if (value == null ? void 0 : value.length) {
|
|
12865
|
+
control = zipElementList(value)[0].control;
|
|
12866
|
+
} else {
|
|
12867
|
+
control = pickElementAttr(deepClone(activeElement)).control;
|
|
12868
|
+
control.value = [];
|
|
12563
12869
|
}
|
|
12870
|
+
const payload = {
|
|
12871
|
+
control,
|
|
12872
|
+
controlId: activeElement.controlId,
|
|
12873
|
+
state: ControlState.INACTIVE
|
|
12874
|
+
};
|
|
12875
|
+
(_b = (_a = this.listener).controlChange) == null ? void 0 : _b.call(_a, payload);
|
|
12564
12876
|
if (isSubscribeControlChange) {
|
|
12565
|
-
this.eventBus.emit("controlChange",
|
|
12877
|
+
this.eventBus.emit("controlChange", payload);
|
|
12566
12878
|
}
|
|
12567
|
-
}
|
|
12879
|
+
}
|
|
12568
12880
|
}
|
|
12881
|
+
this.activeControl = null;
|
|
12882
|
+
this.activeControlValue = [];
|
|
12569
12883
|
}
|
|
12570
12884
|
repaintControl(options = {}) {
|
|
12571
12885
|
const { curIndex, isCompute = true, isSubmitHistory = true, isSetCursor = true } = options;
|
|
@@ -12626,11 +12940,11 @@ class Control {
|
|
|
12626
12940
|
}
|
|
12627
12941
|
startIndex++;
|
|
12628
12942
|
}
|
|
12629
|
-
} else if (element.controlComponent === ControlComponent.PREFIX) {
|
|
12943
|
+
} else if (element.controlComponent === ControlComponent.PREFIX || element.controlComponent === ControlComponent.PRE_TEXT) {
|
|
12630
12944
|
let startIndex = newIndex + 1;
|
|
12631
12945
|
while (startIndex < elementList.length) {
|
|
12632
12946
|
const nextElement = elementList[startIndex];
|
|
12633
|
-
if (nextElement.controlId !== element.controlId || nextElement.controlComponent !== ControlComponent.PREFIX) {
|
|
12947
|
+
if (nextElement.controlId !== element.controlId || nextElement.controlComponent !== ControlComponent.PREFIX && nextElement.controlComponent !== ControlComponent.PRE_TEXT) {
|
|
12634
12948
|
return {
|
|
12635
12949
|
newIndex: startIndex - 1,
|
|
12636
12950
|
newElement: elementList[startIndex - 1]
|
|
@@ -12638,11 +12952,11 @@ class Control {
|
|
|
12638
12952
|
}
|
|
12639
12953
|
startIndex++;
|
|
12640
12954
|
}
|
|
12641
|
-
} else if (element.controlComponent === ControlComponent.PLACEHOLDER) {
|
|
12955
|
+
} else if (element.controlComponent === ControlComponent.PLACEHOLDER || element.controlComponent === ControlComponent.POST_TEXT) {
|
|
12642
12956
|
let startIndex = newIndex - 1;
|
|
12643
12957
|
while (startIndex > 0) {
|
|
12644
12958
|
const preElement = elementList[startIndex];
|
|
12645
|
-
if (preElement.controlId !== element.controlId || preElement.controlComponent === ControlComponent.PREFIX) {
|
|
12959
|
+
if (preElement.controlId !== element.controlId || preElement.controlComponent === ControlComponent.VALUE || preElement.controlComponent === ControlComponent.PREFIX || preElement.controlComponent === ControlComponent.PRE_TEXT) {
|
|
12646
12960
|
return {
|
|
12647
12961
|
newIndex: startIndex,
|
|
12648
12962
|
newElement: elementList[startIndex]
|
|
@@ -12728,7 +13042,7 @@ class Control {
|
|
|
12728
13042
|
for (let p = 0; p < placeholderStrList.length; p++) {
|
|
12729
13043
|
const value = placeholderStrList[p];
|
|
12730
13044
|
const newElement = __spreadProps(__spreadValues({}, anchorElementStyleAttr), {
|
|
12731
|
-
value,
|
|
13045
|
+
value: value === "\n" ? ZERO : value,
|
|
12732
13046
|
controlId: startElement.controlId,
|
|
12733
13047
|
type: ElementType.CONTROL,
|
|
12734
13048
|
control: startElement.control,
|
|
@@ -12747,6 +13061,27 @@ class Control {
|
|
|
12747
13061
|
}
|
|
12748
13062
|
return this.activeControl.setValue(data2);
|
|
12749
13063
|
}
|
|
13064
|
+
setControlProperties(properties, context = {}) {
|
|
13065
|
+
const elementList = context.elementList || this.getElementList();
|
|
13066
|
+
const { startIndex } = context.range || this.getRange();
|
|
13067
|
+
const startElement = elementList[startIndex];
|
|
13068
|
+
let preIndex = startIndex;
|
|
13069
|
+
while (preIndex > 0) {
|
|
13070
|
+
const preElement = elementList[preIndex];
|
|
13071
|
+
if (preElement.controlId !== startElement.controlId)
|
|
13072
|
+
break;
|
|
13073
|
+
preElement.control = __spreadValues(__spreadValues({}, preElement.control), properties);
|
|
13074
|
+
preIndex--;
|
|
13075
|
+
}
|
|
13076
|
+
let nextIndex = startIndex + 1;
|
|
13077
|
+
while (nextIndex < elementList.length) {
|
|
13078
|
+
const nextElement = elementList[nextIndex];
|
|
13079
|
+
if (nextElement.controlId !== startElement.controlId)
|
|
13080
|
+
break;
|
|
13081
|
+
nextElement.control = __spreadValues(__spreadValues({}, nextElement.control), properties);
|
|
13082
|
+
nextIndex++;
|
|
13083
|
+
}
|
|
13084
|
+
}
|
|
12750
13085
|
keydown(evt) {
|
|
12751
13086
|
if (!this.activeControl) {
|
|
12752
13087
|
throw new Error("active control is null");
|
|
@@ -12760,7 +13095,7 @@ class Control {
|
|
|
12760
13095
|
return this.activeControl.cut();
|
|
12761
13096
|
}
|
|
12762
13097
|
getValueById(payload) {
|
|
12763
|
-
const { id, conceptId } = payload;
|
|
13098
|
+
const { id, conceptId, areaId } = payload;
|
|
12764
13099
|
const result = [];
|
|
12765
13100
|
if (!id && !conceptId)
|
|
12766
13101
|
return result;
|
|
@@ -12779,7 +13114,7 @@ class Control {
|
|
|
12779
13114
|
}
|
|
12780
13115
|
}
|
|
12781
13116
|
}
|
|
12782
|
-
if (!element.control || id && element.controlId !== id || conceptId && element.control.conceptId !== conceptId) {
|
|
13117
|
+
if (!element.control || id && element.controlId !== id || conceptId && element.control.conceptId !== conceptId || areaId && element.areaId !== areaId) {
|
|
12783
13118
|
continue;
|
|
12784
13119
|
}
|
|
12785
13120
|
const { type, code, valueSets } = element.control;
|
|
@@ -12838,7 +13173,7 @@ class Control {
|
|
|
12838
13173
|
}
|
|
12839
13174
|
setValueById(payload) {
|
|
12840
13175
|
let isExistSet = false;
|
|
12841
|
-
const { id, conceptId, value } = payload;
|
|
13176
|
+
const { id, conceptId, areaId, value } = payload;
|
|
12842
13177
|
if (!id && !conceptId)
|
|
12843
13178
|
return;
|
|
12844
13179
|
const setValue = (elementList) => {
|
|
@@ -12856,7 +13191,7 @@ class Control {
|
|
|
12856
13191
|
}
|
|
12857
13192
|
}
|
|
12858
13193
|
}
|
|
12859
|
-
if (!element.control || id && element.controlId !== id || conceptId && element.control.conceptId !== conceptId) {
|
|
13194
|
+
if (!element.control || id && element.controlId !== id || conceptId && element.control.conceptId !== conceptId || areaId && element.areaId !== areaId) {
|
|
12860
13195
|
continue;
|
|
12861
13196
|
}
|
|
12862
13197
|
isExistSet = true;
|
|
@@ -12938,7 +13273,9 @@ class Control {
|
|
|
12938
13273
|
i = newEndIndex;
|
|
12939
13274
|
}
|
|
12940
13275
|
};
|
|
12941
|
-
this.destroyControl(
|
|
13276
|
+
this.destroyControl({
|
|
13277
|
+
isEmitEvent: false
|
|
13278
|
+
});
|
|
12942
13279
|
const data2 = [
|
|
12943
13280
|
this.draw.getHeaderElementList(),
|
|
12944
13281
|
this.draw.getOriginalMainElementList(),
|
|
@@ -12954,7 +13291,7 @@ class Control {
|
|
|
12954
13291
|
}
|
|
12955
13292
|
}
|
|
12956
13293
|
setExtensionById(payload) {
|
|
12957
|
-
const { id, conceptId, extension } = payload;
|
|
13294
|
+
const { id, conceptId, areaId, extension } = payload;
|
|
12958
13295
|
if (!id && !conceptId)
|
|
12959
13296
|
return;
|
|
12960
13297
|
const setExtension = (elementList) => {
|
|
@@ -12972,10 +13309,15 @@ class Control {
|
|
|
12972
13309
|
}
|
|
12973
13310
|
}
|
|
12974
13311
|
}
|
|
12975
|
-
if (!element.control || id && element.controlId !== id || conceptId && element.control.conceptId !== conceptId) {
|
|
13312
|
+
if (!element.control || id && element.controlId !== id || conceptId && element.control.conceptId !== conceptId || areaId && element.areaId !== areaId) {
|
|
12976
13313
|
continue;
|
|
12977
13314
|
}
|
|
12978
|
-
|
|
13315
|
+
this.setControlProperties({
|
|
13316
|
+
extension
|
|
13317
|
+
}, {
|
|
13318
|
+
elementList,
|
|
13319
|
+
range: { startIndex: i, endIndex: i }
|
|
13320
|
+
});
|
|
12979
13321
|
let newEndIndex = i;
|
|
12980
13322
|
while (newEndIndex < elementList.length) {
|
|
12981
13323
|
const nextElement = elementList[newEndIndex];
|
|
@@ -12996,11 +13338,11 @@ class Control {
|
|
|
12996
13338
|
}
|
|
12997
13339
|
}
|
|
12998
13340
|
setPropertiesById(payload) {
|
|
12999
|
-
const { id, conceptId, properties } = payload;
|
|
13341
|
+
const { id, conceptId, areaId, properties } = payload;
|
|
13000
13342
|
if (!id && !conceptId)
|
|
13001
13343
|
return;
|
|
13002
13344
|
let isExistUpdate = false;
|
|
13003
|
-
|
|
13345
|
+
const setProperties = (elementList) => {
|
|
13004
13346
|
let i = 0;
|
|
13005
13347
|
while (i < elementList.length) {
|
|
13006
13348
|
const element = elementList[i];
|
|
@@ -13015,12 +13357,15 @@ class Control {
|
|
|
13015
13357
|
}
|
|
13016
13358
|
}
|
|
13017
13359
|
}
|
|
13018
|
-
if (!element.control || id && element.controlId !== id || conceptId && element.control.conceptId !== conceptId) {
|
|
13360
|
+
if (!element.control || id && element.controlId !== id || conceptId && element.control.conceptId !== conceptId || areaId && element.areaId !== areaId) {
|
|
13019
13361
|
continue;
|
|
13020
13362
|
}
|
|
13021
13363
|
isExistUpdate = true;
|
|
13022
|
-
|
|
13364
|
+
this.setControlProperties(__spreadProps(__spreadValues(__spreadValues({}, element.control), properties), {
|
|
13023
13365
|
value: element.control.value
|
|
13366
|
+
}), {
|
|
13367
|
+
elementList,
|
|
13368
|
+
range: { startIndex: i, endIndex: i }
|
|
13024
13369
|
});
|
|
13025
13370
|
CONTROL_STYLE_ATTR.forEach((key) => {
|
|
13026
13371
|
const controlStyleProperty = properties[key];
|
|
@@ -13037,7 +13382,7 @@ class Control {
|
|
|
13037
13382
|
}
|
|
13038
13383
|
i = newEndIndex;
|
|
13039
13384
|
}
|
|
13040
|
-
}
|
|
13385
|
+
};
|
|
13041
13386
|
const pageComponentData = {
|
|
13042
13387
|
header: this.draw.getHeaderElementList(),
|
|
13043
13388
|
main: this.draw.getOriginalMainElementList(),
|
|
@@ -13051,7 +13396,9 @@ class Control {
|
|
|
13051
13396
|
return;
|
|
13052
13397
|
for (const key in pageComponentData) {
|
|
13053
13398
|
const pageComponentKey = key;
|
|
13054
|
-
const elementList = zipElementList(pageComponentData[pageComponentKey]
|
|
13399
|
+
const elementList = zipElementList(pageComponentData[pageComponentKey], {
|
|
13400
|
+
isClassifyArea: true
|
|
13401
|
+
});
|
|
13055
13402
|
pageComponentData[pageComponentKey] = elementList;
|
|
13056
13403
|
formatElementList(elementList, {
|
|
13057
13404
|
editorOptions: this.options,
|
|
@@ -13148,7 +13495,7 @@ class Control {
|
|
|
13148
13495
|
let nextIndex = e;
|
|
13149
13496
|
while (nextIndex > 0) {
|
|
13150
13497
|
const nextElement = elementList2[nextIndex];
|
|
13151
|
-
if (nextElement.controlComponent === ControlComponent.VALUE || nextElement.controlComponent === ControlComponent.PREFIX) {
|
|
13498
|
+
if (nextElement.controlComponent === ControlComponent.VALUE || nextElement.controlComponent === ControlComponent.PREFIX || nextElement.controlComponent === ControlComponent.PRE_TEXT) {
|
|
13152
13499
|
break;
|
|
13153
13500
|
}
|
|
13154
13501
|
nextIndex--;
|
|
@@ -13220,6 +13567,7 @@ class Control {
|
|
|
13220
13567
|
return null;
|
|
13221
13568
|
const controlElement = this.activeControl.getElement();
|
|
13222
13569
|
function getNextContext(elementList2, start) {
|
|
13570
|
+
var _a, _b;
|
|
13223
13571
|
for (let e = start; e < elementList2.length; e++) {
|
|
13224
13572
|
const element = elementList2[e];
|
|
13225
13573
|
if (element.type === ElementType.TABLE) {
|
|
@@ -13247,7 +13595,7 @@ class Control {
|
|
|
13247
13595
|
}
|
|
13248
13596
|
}
|
|
13249
13597
|
}
|
|
13250
|
-
if (!element.controlId || element.controlId === controlElement.controlId) {
|
|
13598
|
+
if (!element.controlId || element.controlId === controlElement.controlId || ((_a = elementList2[e + 1]) == null ? void 0 : _a.controlComponent) === ControlComponent.PREFIX || ((_b = elementList2[e + 1]) == null ? void 0 : _b.controlComponent) === ControlComponent.PRE_TEXT) {
|
|
13251
13599
|
continue;
|
|
13252
13600
|
}
|
|
13253
13601
|
return {
|
|
@@ -13533,7 +13881,7 @@ function WorkerWrapper$2() {
|
|
|
13533
13881
|
objURL && (window.URL || window.webkitURL).revokeObjectURL(objURL);
|
|
13534
13882
|
}
|
|
13535
13883
|
}
|
|
13536
|
-
const encodedJs$1 = "
|
|
13884
|
+
const encodedJs$1 = "KCgpPT57KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBhOyhmdW5jdGlvbih0KXt0LlRFWFQ9InRleHQiLHQuSU1BR0U9ImltYWdlIix0LlRBQkxFPSJ0YWJsZSIsdC5IWVBFUkxJTks9Imh5cGVybGluayIsdC5TVVBFUlNDUklQVD0ic3VwZXJzY3JpcHQiLHQuU1VCU0NSSVBUPSJzdWJzY3JpcHQiLHQuU0VQQVJBVE9SPSJzZXBhcmF0b3IiLHQuUEFHRV9CUkVBSz0icGFnZUJyZWFrIix0LkNPTlRST0w9ImNvbnRyb2wiLHQuQ0hFQ0tCT1g9ImNoZWNrYm94Iix0LlJBRElPPSJyYWRpbyIsdC5MQVRFWD0ibGF0ZXgiLHQuVEFCPSJ0YWIiLHQuREFURT0iZGF0ZSIsdC5CTE9DSz0iYmxvY2siLHQuVElUTEU9InRpdGxlIix0LkFSRUE9ImFyZWEiLHQuTElTVD0ibGlzdCJ9KShhfHwoYT17fSkpO3ZhciBsOyhmdW5jdGlvbih0KXt0LkZJUlNUPSJmaXJzdCIsdC5TRUNPTkQ9InNlY29uZCIsdC5USElSRD0idGhpcmQiLHQuRk9VUlRIPSJmb3VydGgiLHQuRklGVEg9ImZpZnRoIix0LlNJWFRIPSJzaXh0aCJ9KShsfHwobD17fSkpO2NvbnN0IGc9e1tsLkZJUlNUXToxLFtsLlNFQ09ORF06MixbbC5USElSRF06MyxbbC5GT1VSVEhdOjQsW2wuRklGVEhdOjUsW2wuU0lYVEhdOjZ9LEw9W2EuVEVYVCxhLkhZUEVSTElOSyxhLlNVQlNDUklQVCxhLlNVUEVSU0NSSVBULGEuQ09OVFJPTCxhLkRBVEVdLGQ9Ilx1MjAwQiI7ZnVuY3Rpb24gZih0KXtyZXR1cm4hdC50eXBlfHxMLmluY2x1ZGVzKHQudHlwZSl9ZnVuY3Rpb24gQyh0KXtjb25zdHtlbGVtZW50TGlzdDpuLHBvc2l0aW9uTGlzdDp2fT10LEk9W107bGV0IGk9MDtmb3IoO2k8bi5sZW5ndGg7KXtjb25zdCBzPW5baV07aWYocy50aXRsZUlkKXtjb25zdCBvPXMudGl0bGVJZCxlPXMubGV2ZWwsYz17dHlwZTphLlRJVExFLHZhbHVlOiIiLGxldmVsOmUsdGl0bGVJZDpvLHBhZ2VObzp2W2ldLnBhZ2VOb30scj1bXTtmb3IoO2k8bi5sZW5ndGg7KXtjb25zdCB1PW5baV07aWYobyE9PXUudGl0bGVJZCl7aS0tO2JyZWFrfXIucHVzaCh1KSxpKyt9Yy52YWx1ZT1yLmZpbHRlcih1PT5mKHUpKS5tYXAodT0+dS52YWx1ZSkuam9pbigiIikucmVwbGFjZShuZXcgUmVnRXhwKGQsImciKSwiIiksSS5wdXNoKGMpfWkrK31pZighSS5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3QgaD0ocyxvKT0+e2NvbnN0IGU9by5zdWJDYXRhbG9nW28uc3ViQ2F0YWxvZy5sZW5ndGgtMV0sYz1nW2U9PW51bGw/dm9pZCAwOmUubGV2ZWxdLHI9Z1tzLmxldmVsXTtlJiZyPmM/aChzLGUpOm8uc3ViQ2F0YWxvZy5wdXNoKHtpZDpzLnRpdGxlSWQsbmFtZTpzLnZhbHVlLGxldmVsOnMubGV2ZWwscGFnZU5vOnMucGFnZU5vLHN1YkNhdGFsb2c6W119KX0sUj1bXTtmb3IobGV0IHM9MDtzPEkubGVuZ3RoO3MrKyl7Y29uc3Qgbz1JW3NdLGU9UltSLmxlbmd0aC0xXSxjPWdbZT09bnVsbD92b2lkIDA6ZS5sZXZlbF0scj1nW28ubGV2ZWxdO2UmJnI+Yz9oKG8sZSk6Ui5wdXNoKHtpZDpvLnRpdGxlSWQsbmFtZTpvLnZhbHVlLGxldmVsOm8ubGV2ZWwscGFnZU5vOm8ucGFnZU5vLHN1YkNhdGFsb2c6W119KX1yZXR1cm4gUn1vbm1lc3NhZ2U9dD0+e2NvbnN0IG49dC5kYXRhLHY9QyhuKTtwb3N0TWVzc2FnZSh2KX19KSgpO30pKCk7Cg==";
|
|
13537
13885
|
const blob$1 = typeof window !== "undefined" && window.Blob && new Blob([atob(encodedJs$1)], { type: "text/javascript;charset=utf-8" });
|
|
13538
13886
|
function WorkerWrapper$1() {
|
|
13539
13887
|
const objURL = blob$1 && (window.URL || window.webkitURL).createObjectURL(blob$1);
|
|
@@ -15967,6 +16315,23 @@ class TableOperate {
|
|
|
15967
16315
|
curIndex: endIndex
|
|
15968
16316
|
});
|
|
15969
16317
|
}
|
|
16318
|
+
tableBorderColor(payload) {
|
|
16319
|
+
const positionContext = this.position.getPositionContext();
|
|
16320
|
+
if (!positionContext.isTable)
|
|
16321
|
+
return;
|
|
16322
|
+
const { index: index2 } = positionContext;
|
|
16323
|
+
const originalElementList = this.draw.getOriginalElementList();
|
|
16324
|
+
const element = originalElementList[index2];
|
|
16325
|
+
if (!element.borderColor && payload === this.options.table.defaultBorderColor || element.borderColor === payload) {
|
|
16326
|
+
return;
|
|
16327
|
+
}
|
|
16328
|
+
element.borderColor = payload;
|
|
16329
|
+
const { endIndex } = this.range.getRange();
|
|
16330
|
+
this.draw.render({
|
|
16331
|
+
curIndex: endIndex,
|
|
16332
|
+
isCompute: false
|
|
16333
|
+
});
|
|
16334
|
+
}
|
|
15970
16335
|
tableTdBorderType(payload) {
|
|
15971
16336
|
const rowCol = this.tableParticle.getRangeRowCol();
|
|
15972
16337
|
if (!rowCol)
|
|
@@ -16073,6 +16438,178 @@ class TableOperate {
|
|
|
16073
16438
|
});
|
|
16074
16439
|
}
|
|
16075
16440
|
}
|
|
16441
|
+
var AreaMode;
|
|
16442
|
+
(function(AreaMode2) {
|
|
16443
|
+
AreaMode2["EDIT"] = "edit";
|
|
16444
|
+
AreaMode2["READONLY"] = "readonly";
|
|
16445
|
+
AreaMode2["FORM"] = "form";
|
|
16446
|
+
})(AreaMode || (AreaMode = {}));
|
|
16447
|
+
class Area {
|
|
16448
|
+
constructor(draw) {
|
|
16449
|
+
__publicField(this, "draw");
|
|
16450
|
+
__publicField(this, "zone");
|
|
16451
|
+
__publicField(this, "range");
|
|
16452
|
+
__publicField(this, "position");
|
|
16453
|
+
__publicField(this, "areaInfoMap", new Map());
|
|
16454
|
+
this.draw = draw;
|
|
16455
|
+
this.zone = draw.getZone();
|
|
16456
|
+
this.range = draw.getRange();
|
|
16457
|
+
this.position = draw.getPosition();
|
|
16458
|
+
}
|
|
16459
|
+
getActiveAreaId() {
|
|
16460
|
+
if (!this.areaInfoMap.size)
|
|
16461
|
+
return null;
|
|
16462
|
+
const { startIndex } = this.range.getRange();
|
|
16463
|
+
const elementList = this.draw.getElementList();
|
|
16464
|
+
const element = elementList[startIndex];
|
|
16465
|
+
return (element == null ? void 0 : element.areaId) || null;
|
|
16466
|
+
}
|
|
16467
|
+
getActiveAreaInfo() {
|
|
16468
|
+
const activeAreaId = this.getActiveAreaId();
|
|
16469
|
+
if (!activeAreaId)
|
|
16470
|
+
return null;
|
|
16471
|
+
return this.areaInfoMap.get(activeAreaId) || null;
|
|
16472
|
+
}
|
|
16473
|
+
isReadonly() {
|
|
16474
|
+
const activeAreaInfo = this.getActiveAreaInfo();
|
|
16475
|
+
if (!(activeAreaInfo == null ? void 0 : activeAreaInfo.area))
|
|
16476
|
+
return false;
|
|
16477
|
+
switch (activeAreaInfo.area.mode) {
|
|
16478
|
+
case AreaMode.EDIT:
|
|
16479
|
+
return false;
|
|
16480
|
+
case AreaMode.READONLY:
|
|
16481
|
+
return true;
|
|
16482
|
+
case AreaMode.FORM:
|
|
16483
|
+
return !this.draw.getControl().getIsRangeWithinControl();
|
|
16484
|
+
default:
|
|
16485
|
+
return false;
|
|
16486
|
+
}
|
|
16487
|
+
}
|
|
16488
|
+
insertArea(payload) {
|
|
16489
|
+
if (this.zone.getZone() !== EditorZone.MAIN) {
|
|
16490
|
+
this.zone.setZone(EditorZone.MAIN);
|
|
16491
|
+
}
|
|
16492
|
+
this.draw.getPosition().setPositionContext({
|
|
16493
|
+
isTable: false
|
|
16494
|
+
});
|
|
16495
|
+
const { id, value, area, position } = payload;
|
|
16496
|
+
if (position === LocationPosition.BEFORE) {
|
|
16497
|
+
this.range.setRange(0, 0);
|
|
16498
|
+
} else {
|
|
16499
|
+
const elementList = this.draw.getOriginalMainElementList();
|
|
16500
|
+
const lastIndex = elementList.length - 1;
|
|
16501
|
+
this.range.setRange(lastIndex, lastIndex);
|
|
16502
|
+
}
|
|
16503
|
+
const areaId = id || getUUID();
|
|
16504
|
+
this.draw.insertElementList([
|
|
16505
|
+
{
|
|
16506
|
+
type: ElementType.AREA,
|
|
16507
|
+
value: "",
|
|
16508
|
+
areaId,
|
|
16509
|
+
valueList: value,
|
|
16510
|
+
area: deepClone(area)
|
|
16511
|
+
}
|
|
16512
|
+
]);
|
|
16513
|
+
return areaId;
|
|
16514
|
+
}
|
|
16515
|
+
render(ctx, pageNo) {
|
|
16516
|
+
if (!this.areaInfoMap.size)
|
|
16517
|
+
return;
|
|
16518
|
+
ctx.save();
|
|
16519
|
+
const margins = this.draw.getMargins();
|
|
16520
|
+
const width = this.draw.getInnerWidth();
|
|
16521
|
+
for (const areaInfoItem of this.areaInfoMap) {
|
|
16522
|
+
const { area, positionList } = areaInfoItem[1];
|
|
16523
|
+
if (!(area == null ? void 0 : area.backgroundColor) && !(area == null ? void 0 : area.borderColor))
|
|
16524
|
+
continue;
|
|
16525
|
+
const pagePositionList = positionList.filter((p) => p.pageNo === pageNo);
|
|
16526
|
+
if (!pagePositionList.length)
|
|
16527
|
+
continue;
|
|
16528
|
+
ctx.translate(0.5, 0.5);
|
|
16529
|
+
const firstPosition = pagePositionList[0];
|
|
16530
|
+
const lastPosition = pagePositionList[pagePositionList.length - 1];
|
|
16531
|
+
const x = margins[3];
|
|
16532
|
+
const y = Math.ceil(firstPosition.coordinate.leftTop[1]);
|
|
16533
|
+
const height = Math.ceil(lastPosition.coordinate.rightBottom[1] - y);
|
|
16534
|
+
if (area.backgroundColor) {
|
|
16535
|
+
ctx.fillStyle = area.backgroundColor;
|
|
16536
|
+
ctx.fillRect(x, y, width, height);
|
|
16537
|
+
}
|
|
16538
|
+
if (area.borderColor) {
|
|
16539
|
+
ctx.strokeStyle = area.borderColor;
|
|
16540
|
+
ctx.strokeRect(x, y, width, height);
|
|
16541
|
+
}
|
|
16542
|
+
}
|
|
16543
|
+
ctx.restore();
|
|
16544
|
+
}
|
|
16545
|
+
compute() {
|
|
16546
|
+
this.areaInfoMap.clear();
|
|
16547
|
+
const elementList = this.draw.getOriginalMainElementList();
|
|
16548
|
+
const positionList = this.position.getOriginalMainPositionList();
|
|
16549
|
+
for (let e = 0; e < elementList.length; e++) {
|
|
16550
|
+
const element = elementList[e];
|
|
16551
|
+
const areaId = element.areaId;
|
|
16552
|
+
if (areaId) {
|
|
16553
|
+
const areaInfo = this.areaInfoMap.get(areaId);
|
|
16554
|
+
if (!areaInfo) {
|
|
16555
|
+
this.areaInfoMap.set(areaId, {
|
|
16556
|
+
id: areaId,
|
|
16557
|
+
area: element.area,
|
|
16558
|
+
elementList: [element],
|
|
16559
|
+
positionList: [positionList[e]]
|
|
16560
|
+
});
|
|
16561
|
+
} else {
|
|
16562
|
+
areaInfo.elementList.push(element);
|
|
16563
|
+
areaInfo.positionList.push(positionList[e]);
|
|
16564
|
+
}
|
|
16565
|
+
}
|
|
16566
|
+
}
|
|
16567
|
+
}
|
|
16568
|
+
getAreaValue(options = {}) {
|
|
16569
|
+
const areaId = options.id || this.getActiveAreaId();
|
|
16570
|
+
if (!areaId)
|
|
16571
|
+
return null;
|
|
16572
|
+
const areaInfo = this.areaInfoMap.get(areaId);
|
|
16573
|
+
if (!areaInfo)
|
|
16574
|
+
return null;
|
|
16575
|
+
return {
|
|
16576
|
+
area: areaInfo.area,
|
|
16577
|
+
id: areaInfo.id,
|
|
16578
|
+
startPageNo: areaInfo.positionList[0].pageNo,
|
|
16579
|
+
endPageNo: areaInfo.positionList[areaInfo.positionList.length - 1].pageNo,
|
|
16580
|
+
value: zipElementList(areaInfo.elementList)
|
|
16581
|
+
};
|
|
16582
|
+
}
|
|
16583
|
+
setAreaProperties(payload) {
|
|
16584
|
+
const areaId = payload.id || this.getActiveAreaId();
|
|
16585
|
+
if (!areaId)
|
|
16586
|
+
return;
|
|
16587
|
+
const areaInfo = this.areaInfoMap.get(areaId);
|
|
16588
|
+
if (!areaInfo)
|
|
16589
|
+
return;
|
|
16590
|
+
if (!areaInfo.area) {
|
|
16591
|
+
areaInfo.area = {};
|
|
16592
|
+
}
|
|
16593
|
+
let isCompute = false;
|
|
16594
|
+
if (payload.properties.mode) {
|
|
16595
|
+
areaInfo.area.mode = payload.properties.mode;
|
|
16596
|
+
}
|
|
16597
|
+
if (payload.properties.borderColor) {
|
|
16598
|
+
areaInfo.area.borderColor = payload.properties.borderColor;
|
|
16599
|
+
}
|
|
16600
|
+
if (payload.properties.backgroundColor) {
|
|
16601
|
+
areaInfo.area.backgroundColor = payload.properties.backgroundColor;
|
|
16602
|
+
}
|
|
16603
|
+
if (!isNonValue(payload.properties.top)) {
|
|
16604
|
+
isCompute = true;
|
|
16605
|
+
areaInfo.area.top = payload.properties.top;
|
|
16606
|
+
}
|
|
16607
|
+
this.draw.render({
|
|
16608
|
+
isCompute,
|
|
16609
|
+
isSetCursor: false
|
|
16610
|
+
});
|
|
16611
|
+
}
|
|
16612
|
+
}
|
|
16076
16613
|
class Draw {
|
|
16077
16614
|
constructor(rootContainer, options, data2, listener, eventBus, override) {
|
|
16078
16615
|
__publicField(this, "container");
|
|
@@ -16098,6 +16635,7 @@ class Draw {
|
|
|
16098
16635
|
__publicField(this, "background");
|
|
16099
16636
|
__publicField(this, "search");
|
|
16100
16637
|
__publicField(this, "group");
|
|
16638
|
+
__publicField(this, "area");
|
|
16101
16639
|
__publicField(this, "underline");
|
|
16102
16640
|
__publicField(this, "strikeout");
|
|
16103
16641
|
__publicField(this, "highlight");
|
|
@@ -16165,6 +16703,7 @@ class Draw {
|
|
|
16165
16703
|
this.background = new Background(this);
|
|
16166
16704
|
this.search = new Search(this);
|
|
16167
16705
|
this.group = new Group(this);
|
|
16706
|
+
this.area = new Area(this);
|
|
16168
16707
|
this.underline = new Underline(this);
|
|
16169
16708
|
this.strikeout = new Strikeout(this);
|
|
16170
16709
|
this.highlight = new Highlight(this);
|
|
@@ -16258,6 +16797,9 @@ class Draw {
|
|
|
16258
16797
|
});
|
|
16259
16798
|
}
|
|
16260
16799
|
isReadonly() {
|
|
16800
|
+
if (this.area.getActiveAreaId()) {
|
|
16801
|
+
return this.area.isReadonly();
|
|
16802
|
+
}
|
|
16261
16803
|
switch (this.mode) {
|
|
16262
16804
|
case EditorMode.DESIGN:
|
|
16263
16805
|
return false;
|
|
@@ -16451,6 +16993,9 @@ class Draw {
|
|
|
16451
16993
|
getGroup() {
|
|
16452
16994
|
return this.group;
|
|
16453
16995
|
}
|
|
16996
|
+
getArea() {
|
|
16997
|
+
return this.area;
|
|
16998
|
+
}
|
|
16454
16999
|
getHistoryManager() {
|
|
16455
17000
|
return this.historyManager;
|
|
16456
17001
|
}
|
|
@@ -16877,7 +17422,8 @@ class Draw {
|
|
|
16877
17422
|
extraPickAttrs
|
|
16878
17423
|
}),
|
|
16879
17424
|
main: zipElementList(mainElementList, {
|
|
16880
|
-
extraPickAttrs
|
|
17425
|
+
extraPickAttrs,
|
|
17426
|
+
isClassifyArea: true
|
|
16881
17427
|
}),
|
|
16882
17428
|
footer: zipElementList(this.getFooterElementList(), {
|
|
16883
17429
|
extraPickAttrs
|
|
@@ -16989,9 +17535,9 @@ class Draw {
|
|
|
16989
17535
|
return defaultBasicRowMarginHeight * ((_a = el.rowMargin) != null ? _a : defaultRowMargin) * scale;
|
|
16990
17536
|
}
|
|
16991
17537
|
computeRowList(payload) {
|
|
16992
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
|
|
17538
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
|
|
16993
17539
|
const { innerWidth, elementList, isPagingMode = false, isFromTable = false, startX = 0, startY = 0, pageHeight = 0, mainOuterHeight = 0, surroundElementList = [] } = payload;
|
|
16994
|
-
const { defaultSize, defaultRowMargin, scale, table: { tdPadding }, defaultTabWidth } = this.options;
|
|
17540
|
+
const { defaultSize, defaultRowMargin, scale, table: { tdPadding, defaultTrMinHeight }, defaultTabWidth } = this.options;
|
|
16995
17541
|
const defaultBasicRowMarginHeight = this.getDefaultBasicRowMarginHeight();
|
|
16996
17542
|
const canvas = document.createElement("canvas");
|
|
16997
17543
|
const ctx = canvas.getContext("2d");
|
|
@@ -17026,7 +17572,9 @@ class Draw {
|
|
|
17026
17572
|
};
|
|
17027
17573
|
const offsetX = curRow.offsetX || element.listId && listStyleMap.get(element.listId) || 0;
|
|
17028
17574
|
const availableWidth = innerWidth - offsetX;
|
|
17029
|
-
|
|
17575
|
+
const isStartElement = curRow.elementList.length === 1;
|
|
17576
|
+
x += isStartElement ? offsetX : 0;
|
|
17577
|
+
y += isStartElement ? curRow.offsetY || 0 : 0;
|
|
17030
17578
|
if (element.type === ElementType.IMAGE || element.type === ElementType.LATEX) {
|
|
17031
17579
|
if (element.imgDisplay === ImageDisplay.SURROUND || element.imgDisplay === ImageDisplay.FLOAT_TOP || element.imgDisplay === ImageDisplay.FLOAT_BOTTOM) {
|
|
17032
17580
|
metrics.width = 0;
|
|
@@ -17072,8 +17620,12 @@ class Draw {
|
|
|
17072
17620
|
}
|
|
17073
17621
|
}
|
|
17074
17622
|
element.pagingIndex = (_d = element.pagingIndex) != null ? _d : 0;
|
|
17075
|
-
this.tableParticle.computeRowColInfo(element);
|
|
17076
17623
|
const trList = element.trList;
|
|
17624
|
+
for (let t = 0; t < trList.length; t++) {
|
|
17625
|
+
const tr = trList[t];
|
|
17626
|
+
tr.height = tr.minHeight || defaultTrMinHeight;
|
|
17627
|
+
}
|
|
17628
|
+
this.tableParticle.computeRowColInfo(element);
|
|
17077
17629
|
for (let t = 0; t < trList.length; t++) {
|
|
17078
17630
|
const tr = trList[t];
|
|
17079
17631
|
for (let d = 0; d < tr.tdList.length; d++) {
|
|
@@ -17093,6 +17645,11 @@ class Draw {
|
|
|
17093
17645
|
changeTr.height += extraHeight;
|
|
17094
17646
|
changeTr.tdList.forEach((changeTd) => {
|
|
17095
17647
|
changeTd.height += extraHeight;
|
|
17648
|
+
if (!changeTd.realHeight) {
|
|
17649
|
+
changeTd.realHeight = changeTd.height;
|
|
17650
|
+
} else {
|
|
17651
|
+
changeTd.realHeight += extraHeight;
|
|
17652
|
+
}
|
|
17096
17653
|
});
|
|
17097
17654
|
}
|
|
17098
17655
|
let curTdMinHeight = 0;
|
|
@@ -17128,6 +17685,7 @@ class Draw {
|
|
|
17128
17685
|
changeTr.height -= reduceHeight;
|
|
17129
17686
|
changeTr.tdList.forEach((changeTd) => {
|
|
17130
17687
|
changeTd.height -= reduceHeight;
|
|
17688
|
+
changeTd.realHeight -= reduceHeight;
|
|
17131
17689
|
});
|
|
17132
17690
|
}
|
|
17133
17691
|
}
|
|
@@ -17151,10 +17709,11 @@ class Draw {
|
|
|
17151
17709
|
let curPagePreHeight = marginHeight;
|
|
17152
17710
|
for (let r = 0; r < rowList.length; r++) {
|
|
17153
17711
|
const row = rowList[r];
|
|
17154
|
-
|
|
17155
|
-
|
|
17712
|
+
const rowOffsetY = row.offsetY || 0;
|
|
17713
|
+
if (row.height + curPagePreHeight + rowOffsetY > height2 || ((_f = rowList[r - 1]) == null ? void 0 : _f.isPageBreak)) {
|
|
17714
|
+
curPagePreHeight = marginHeight + row.height + rowOffsetY;
|
|
17156
17715
|
} else {
|
|
17157
|
-
curPagePreHeight += row.height;
|
|
17716
|
+
curPagePreHeight += row.height + rowOffsetY;
|
|
17158
17717
|
}
|
|
17159
17718
|
}
|
|
17160
17719
|
const rowMarginHeight = rowMargin * 2 * scale;
|
|
@@ -17354,7 +17913,7 @@ class Draw {
|
|
|
17354
17913
|
x = surroundPosition.x;
|
|
17355
17914
|
curRowWidth += surroundPosition.rowIncreaseWidth;
|
|
17356
17915
|
x += metrics.width;
|
|
17357
|
-
const isForceBreak = element.type === ElementType.SEPARATOR || element.type === ElementType.TABLE || (preElement == null ? void 0 : preElement.type) === ElementType.TABLE || (preElement == null ? void 0 : preElement.type) === ElementType.BLOCK || element.type === ElementType.BLOCK || (preElement == null ? void 0 : preElement.imgDisplay) === ImageDisplay.INLINE || element.imgDisplay === ImageDisplay.INLINE || (preElement == null ? void 0 : preElement.listId) !== element.listId || i !== 0 && element.value === ZERO;
|
|
17916
|
+
const isForceBreak = element.type === ElementType.SEPARATOR || element.type === ElementType.TABLE || (preElement == null ? void 0 : preElement.type) === ElementType.TABLE || (preElement == null ? void 0 : preElement.type) === ElementType.BLOCK || element.type === ElementType.BLOCK || (preElement == null ? void 0 : preElement.imgDisplay) === ImageDisplay.INLINE || element.imgDisplay === ImageDisplay.INLINE || (preElement == null ? void 0 : preElement.listId) !== element.listId || (preElement == null ? void 0 : preElement.areaId) !== element.areaId || i !== 0 && element.value === ZERO;
|
|
17358
17917
|
const isWidthNotEnough = curRowWidth > availableWidth;
|
|
17359
17918
|
const isWrap = isForceBreak || isWidthNotEnough;
|
|
17360
17919
|
if (isWrap) {
|
|
@@ -17386,10 +17945,11 @@ class Draw {
|
|
|
17386
17945
|
row.offsetX = listStyleMap.get(element.listId);
|
|
17387
17946
|
row.listIndex = listIndex;
|
|
17388
17947
|
}
|
|
17948
|
+
row.offsetY = !isFromTable && ((_l = element.area) == null ? void 0 : _l.top) && element.areaId !== ((_m = elementList[i - 1]) == null ? void 0 : _m.areaId) ? element.area.top * scale : 0;
|
|
17389
17949
|
rowList.push(row);
|
|
17390
17950
|
} else {
|
|
17391
17951
|
curRow.width += metrics.width;
|
|
17392
|
-
if (i === 0 && getIsBlockElement(elementList[1])) {
|
|
17952
|
+
if (i === 0 && (getIsBlockElement(elementList[1]) || !!((_n = elementList[1]) == null ? void 0 : _n.areaId))) {
|
|
17393
17953
|
curRow.height = defaultBasicRowMarginHeight;
|
|
17394
17954
|
curRow.ascent = defaultBasicRowMarginHeight;
|
|
17395
17955
|
} else if (curRow.height < height) {
|
|
@@ -17400,8 +17960,8 @@ class Draw {
|
|
|
17400
17960
|
}
|
|
17401
17961
|
if (isWrap || i === elementList.length - 1) {
|
|
17402
17962
|
curRow.isWidthNotEnough = isWidthNotEnough && !isForceBreak;
|
|
17403
|
-
if (!curRow.isSurround && ((preElement == null ? void 0 : preElement.rowFlex) === RowFlex.JUSTIFY || (preElement == null ? void 0 : preElement.rowFlex) === RowFlex.ALIGNMENT && isWidthNotEnough)) {
|
|
17404
|
-
const rowElementList = ((
|
|
17963
|
+
if (!curRow.isSurround && ((preElement == null ? void 0 : preElement.rowFlex) === RowFlex.JUSTIFY || (preElement == null ? void 0 : preElement.rowFlex) === RowFlex.ALIGNMENT && curRow.isWidthNotEnough)) {
|
|
17964
|
+
const rowElementList = ((_o = curRow.elementList[0]) == null ? void 0 : _o.value) === ZERO ? curRow.elementList.slice(1) : curRow.elementList;
|
|
17405
17965
|
const gap = (availableWidth - curRow.width) / (rowElementList.length - 1);
|
|
17406
17966
|
for (let e = 0; e < rowElementList.length - 1; e++) {
|
|
17407
17967
|
const el = rowElementList[e];
|
|
@@ -17449,7 +18009,7 @@ class Draw {
|
|
|
17449
18009
|
let pageNo = 0;
|
|
17450
18010
|
if (pageMode === PageMode.CONTINUITY) {
|
|
17451
18011
|
pageRowList[0] = this.rowList;
|
|
17452
|
-
pageHeight += this.rowList.reduce((pre, cur) => pre + cur.height, 0);
|
|
18012
|
+
pageHeight += this.rowList.reduce((pre, cur) => pre + cur.height + (cur.offsetY || 0), 0);
|
|
17453
18013
|
const dpr = this.getPagePixelRatio();
|
|
17454
18014
|
const pageDom = this.pageList[0];
|
|
17455
18015
|
const pageDomHeight = Number(pageDom.style.height.replace("px", ""));
|
|
@@ -17465,16 +18025,17 @@ class Draw {
|
|
|
17465
18025
|
} else {
|
|
17466
18026
|
for (let i = 0; i < this.rowList.length; i++) {
|
|
17467
18027
|
const row = this.rowList[i];
|
|
17468
|
-
|
|
18028
|
+
const rowOffsetY = row.offsetY || 0;
|
|
18029
|
+
if (row.height + rowOffsetY + pageHeight > height || ((_a = this.rowList[i - 1]) == null ? void 0 : _a.isPageBreak)) {
|
|
17469
18030
|
if (Number.isInteger(maxPageNo) && pageNo >= maxPageNo) {
|
|
17470
18031
|
this.elementList = this.elementList.slice(0, row.startIndex);
|
|
17471
18032
|
break;
|
|
17472
18033
|
}
|
|
17473
|
-
pageHeight = marginHeight + row.height;
|
|
18034
|
+
pageHeight = marginHeight + row.height + rowOffsetY;
|
|
17474
18035
|
pageRowList.push([row]);
|
|
17475
18036
|
pageNo++;
|
|
17476
18037
|
} else {
|
|
17477
|
-
pageHeight += row.height;
|
|
18038
|
+
pageHeight += row.height + rowOffsetY;
|
|
17478
18039
|
pageRowList[pageNo].push(row);
|
|
17479
18040
|
}
|
|
17480
18041
|
}
|
|
@@ -17739,19 +18300,25 @@ class Draw {
|
|
|
17739
18300
|
var _a, _b;
|
|
17740
18301
|
const { elementList, positionList, rowList, pageNo } = payload;
|
|
17741
18302
|
const { inactiveAlpha, pageMode, header, footer, pageNumber, lineNumber, pageBorder } = this.options;
|
|
18303
|
+
const isPrintMode = this.mode === EditorMode.PRINT;
|
|
17742
18304
|
const innerWidth = this.getInnerWidth();
|
|
17743
18305
|
const ctx = this.ctxList[pageNo];
|
|
17744
18306
|
ctx.globalAlpha = !this.zone.isMainActive() ? inactiveAlpha : 1;
|
|
17745
18307
|
this._clearPage(pageNo);
|
|
17746
18308
|
this.background.render(ctx, pageNo);
|
|
17747
|
-
if (
|
|
18309
|
+
if (!isPrintMode) {
|
|
18310
|
+
this.area.render(ctx, pageNo);
|
|
18311
|
+
}
|
|
18312
|
+
if (!isPrintMode) {
|
|
17748
18313
|
this.margin.render(ctx, pageNo);
|
|
17749
18314
|
}
|
|
17750
18315
|
this._drawFloat(ctx, {
|
|
17751
18316
|
pageNo,
|
|
17752
18317
|
imgDisplays: [ImageDisplay.FLOAT_BOTTOM]
|
|
17753
18318
|
});
|
|
17754
|
-
|
|
18319
|
+
if (!isPrintMode) {
|
|
18320
|
+
this.control.renderHighlightList(ctx, pageNo);
|
|
18321
|
+
}
|
|
17755
18322
|
const index2 = (_a = rowList[0]) == null ? void 0 : _a.startIndex;
|
|
17756
18323
|
this.drawRow(ctx, {
|
|
17757
18324
|
elementList,
|
|
@@ -17777,7 +18344,7 @@ class Draw {
|
|
|
17777
18344
|
pageNo,
|
|
17778
18345
|
imgDisplays: [ImageDisplay.FLOAT_TOP, ImageDisplay.SURROUND]
|
|
17779
18346
|
});
|
|
17780
|
-
if (this.search.getSearchKeyword()) {
|
|
18347
|
+
if (!isPrintMode && this.search.getSearchKeyword()) {
|
|
17781
18348
|
this.search.render(ctx, pageNo);
|
|
17782
18349
|
}
|
|
17783
18350
|
if (pageMode !== PageMode.CONTINUITY && this.options.watermark.data) {
|
|
@@ -17866,11 +18433,14 @@ class Draw {
|
|
|
17866
18433
|
});
|
|
17867
18434
|
this.pageRowList = this._computePageList();
|
|
17868
18435
|
this.position.computePositionList();
|
|
17869
|
-
|
|
17870
|
-
if (
|
|
17871
|
-
this.search.
|
|
18436
|
+
this.area.compute();
|
|
18437
|
+
if (this.mode !== EditorMode.PRINT) {
|
|
18438
|
+
const searchKeyword = this.search.getSearchKeyword();
|
|
18439
|
+
if (searchKeyword) {
|
|
18440
|
+
this.search.compute(searchKeyword);
|
|
18441
|
+
}
|
|
18442
|
+
this.control.computeHighlightList();
|
|
17872
18443
|
}
|
|
17873
|
-
this.control.computeHighlightList();
|
|
17874
18444
|
}
|
|
17875
18445
|
this.imageObserver.clearAll();
|
|
17876
18446
|
this.cursor.recoveryCursor();
|
|
@@ -18041,6 +18611,7 @@ class Command {
|
|
|
18041
18611
|
__publicField(this, "executeCancelMergeTableCell");
|
|
18042
18612
|
__publicField(this, "executeTableTdVerticalAlign");
|
|
18043
18613
|
__publicField(this, "executeTableBorderType");
|
|
18614
|
+
__publicField(this, "executeTableBorderColor");
|
|
18044
18615
|
__publicField(this, "executeTableTdBorderType");
|
|
18045
18616
|
__publicField(this, "executeTableTdSlashType");
|
|
18046
18617
|
__publicField(this, "executeTableTdBackgroundColor");
|
|
@@ -18063,6 +18634,7 @@ class Command {
|
|
|
18063
18634
|
__publicField(this, "executeSaveAsImageElement");
|
|
18064
18635
|
__publicField(this, "executeChangeImageDisplay");
|
|
18065
18636
|
__publicField(this, "executePageMode");
|
|
18637
|
+
__publicField(this, "executePageScale");
|
|
18066
18638
|
__publicField(this, "executePageScaleRecovery");
|
|
18067
18639
|
__publicField(this, "executePageScaleMinus");
|
|
18068
18640
|
__publicField(this, "executePageScaleAdd");
|
|
@@ -18070,6 +18642,8 @@ class Command {
|
|
|
18070
18642
|
__publicField(this, "executePaperDirection");
|
|
18071
18643
|
__publicField(this, "executeSetPaperMargin");
|
|
18072
18644
|
__publicField(this, "executeInsertElementList");
|
|
18645
|
+
__publicField(this, "executeInsertArea");
|
|
18646
|
+
__publicField(this, "executeSetAreaProperties");
|
|
18073
18647
|
__publicField(this, "executeAppendElementList");
|
|
18074
18648
|
__publicField(this, "executeUpdateElementById");
|
|
18075
18649
|
__publicField(this, "executeSetValue");
|
|
@@ -18095,6 +18669,7 @@ class Command {
|
|
|
18095
18669
|
__publicField(this, "getImage");
|
|
18096
18670
|
__publicField(this, "getOptions");
|
|
18097
18671
|
__publicField(this, "getValue");
|
|
18672
|
+
__publicField(this, "getAreaValue");
|
|
18098
18673
|
__publicField(this, "getHTML");
|
|
18099
18674
|
__publicField(this, "getText");
|
|
18100
18675
|
__publicField(this, "getWordCount");
|
|
@@ -18160,6 +18735,7 @@ class Command {
|
|
|
18160
18735
|
this.executeCancelMergeTableCell = adapt.cancelMergeTableCell.bind(adapt);
|
|
18161
18736
|
this.executeTableTdVerticalAlign = adapt.tableTdVerticalAlign.bind(adapt);
|
|
18162
18737
|
this.executeTableBorderType = adapt.tableBorderType.bind(adapt);
|
|
18738
|
+
this.executeTableBorderColor = adapt.tableBorderColor.bind(adapt);
|
|
18163
18739
|
this.executeTableTdBorderType = adapt.tableTdBorderType.bind(adapt);
|
|
18164
18740
|
this.executeTableTdSlashType = adapt.tableTdSlashType.bind(adapt);
|
|
18165
18741
|
this.executeTableTdBackgroundColor = adapt.tableTdBackgroundColor.bind(adapt);
|
|
@@ -18182,12 +18758,16 @@ class Command {
|
|
|
18182
18758
|
this.executeSaveAsImageElement = adapt.saveAsImageElement.bind(adapt);
|
|
18183
18759
|
this.executeChangeImageDisplay = adapt.changeImageDisplay.bind(adapt);
|
|
18184
18760
|
this.executePageMode = adapt.pageMode.bind(adapt);
|
|
18761
|
+
this.executePageScale = adapt.pageScale.bind(adapt);
|
|
18185
18762
|
this.executePageScaleRecovery = adapt.pageScaleRecovery.bind(adapt);
|
|
18186
18763
|
this.executePageScaleMinus = adapt.pageScaleMinus.bind(adapt);
|
|
18187
18764
|
this.executePageScaleAdd = adapt.pageScaleAdd.bind(adapt);
|
|
18188
18765
|
this.executePaperSize = adapt.paperSize.bind(adapt);
|
|
18189
18766
|
this.executePaperDirection = adapt.paperDirection.bind(adapt);
|
|
18190
18767
|
this.executeSetPaperMargin = adapt.setPaperMargin.bind(adapt);
|
|
18768
|
+
this.getAreaValue = adapt.getAreaValue.bind(adapt);
|
|
18769
|
+
this.executeInsertArea = adapt.insertArea.bind(adapt);
|
|
18770
|
+
this.executeSetAreaProperties = adapt.setAreaProperties.bind(adapt);
|
|
18191
18771
|
this.executeInsertElementList = adapt.insertElementList.bind(adapt);
|
|
18192
18772
|
this.executeAppendElementList = adapt.appendElementList.bind(adapt);
|
|
18193
18773
|
this.executeUpdateElementById = adapt.updateElementById.bind(adapt);
|
|
@@ -18346,8 +18926,8 @@ class CommandAdapt {
|
|
|
18346
18926
|
return;
|
|
18347
18927
|
this.canvasEvent.cut();
|
|
18348
18928
|
}
|
|
18349
|
-
copy() {
|
|
18350
|
-
this.canvasEvent.copy();
|
|
18929
|
+
copy(payload) {
|
|
18930
|
+
this.canvasEvent.copy(payload);
|
|
18351
18931
|
}
|
|
18352
18932
|
paste(payload) {
|
|
18353
18933
|
const isDisabled = this.draw.isReadonly() || this.draw.isDisabled();
|
|
@@ -18506,13 +19086,23 @@ class CommandAdapt {
|
|
|
18506
19086
|
});
|
|
18507
19087
|
this.draw.render({ isSetCursor: false });
|
|
18508
19088
|
} else {
|
|
19089
|
+
let isSubmitHistory = true;
|
|
18509
19090
|
const { endIndex } = this.range.getRange();
|
|
18510
19091
|
const elementList = this.draw.getElementList();
|
|
18511
19092
|
const enterElement = elementList[endIndex];
|
|
18512
19093
|
if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
|
|
18513
19094
|
enterElement.font = payload;
|
|
18514
|
-
|
|
19095
|
+
} else {
|
|
19096
|
+
this.range.setDefaultStyle({
|
|
19097
|
+
font: payload
|
|
19098
|
+
});
|
|
19099
|
+
isSubmitHistory = false;
|
|
18515
19100
|
}
|
|
19101
|
+
this.draw.render({
|
|
19102
|
+
isSubmitHistory,
|
|
19103
|
+
curIndex: endIndex,
|
|
19104
|
+
isCompute: false
|
|
19105
|
+
});
|
|
18516
19106
|
}
|
|
18517
19107
|
}
|
|
18518
19108
|
size(payload) {
|
|
@@ -18535,6 +19125,15 @@ class CommandAdapt {
|
|
|
18535
19125
|
if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
|
|
18536
19126
|
changeElementList.push(enterElement);
|
|
18537
19127
|
renderOption = { curIndex: endIndex };
|
|
19128
|
+
} else {
|
|
19129
|
+
this.range.setDefaultStyle({
|
|
19130
|
+
size: payload
|
|
19131
|
+
});
|
|
19132
|
+
this.draw.render({
|
|
19133
|
+
curIndex: endIndex,
|
|
19134
|
+
isCompute: false,
|
|
19135
|
+
isSubmitHistory: false
|
|
19136
|
+
});
|
|
18538
19137
|
}
|
|
18539
19138
|
}
|
|
18540
19139
|
if (!changeElementList.length)
|
|
@@ -18555,6 +19154,7 @@ class CommandAdapt {
|
|
|
18555
19154
|
const isDisabled = this.draw.isReadonly() || this.draw.isDisabled();
|
|
18556
19155
|
if (isDisabled)
|
|
18557
19156
|
return;
|
|
19157
|
+
const { defaultSize, maxSize } = this.options;
|
|
18558
19158
|
const selection = this.range.getTextLikeSelectionElementList();
|
|
18559
19159
|
let renderOption = {};
|
|
18560
19160
|
let changeElementList = [];
|
|
@@ -18568,11 +19168,21 @@ class CommandAdapt {
|
|
|
18568
19168
|
if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
|
|
18569
19169
|
changeElementList.push(enterElement);
|
|
18570
19170
|
renderOption = { curIndex: endIndex };
|
|
19171
|
+
} else {
|
|
19172
|
+
const style = this.range.getDefaultStyle();
|
|
19173
|
+
const anchorSize = (style == null ? void 0 : style.size) || enterElement.size || defaultSize;
|
|
19174
|
+
this.range.setDefaultStyle({
|
|
19175
|
+
size: anchorSize + 2 > maxSize ? maxSize : anchorSize + 2
|
|
19176
|
+
});
|
|
19177
|
+
this.draw.render({
|
|
19178
|
+
curIndex: endIndex,
|
|
19179
|
+
isCompute: false,
|
|
19180
|
+
isSubmitHistory: false
|
|
19181
|
+
});
|
|
18571
19182
|
}
|
|
18572
19183
|
}
|
|
18573
19184
|
if (!changeElementList.length)
|
|
18574
19185
|
return;
|
|
18575
|
-
const { defaultSize, maxSize } = this.options;
|
|
18576
19186
|
let isExistUpdate = false;
|
|
18577
19187
|
changeElementList.forEach((el) => {
|
|
18578
19188
|
if (!el.size) {
|
|
@@ -18595,6 +19205,7 @@ class CommandAdapt {
|
|
|
18595
19205
|
const isDisabled = this.draw.isReadonly() || this.draw.isDisabled();
|
|
18596
19206
|
if (isDisabled)
|
|
18597
19207
|
return;
|
|
19208
|
+
const { defaultSize, minSize } = this.options;
|
|
18598
19209
|
const selection = this.range.getTextLikeSelectionElementList();
|
|
18599
19210
|
let renderOption = {};
|
|
18600
19211
|
let changeElementList = [];
|
|
@@ -18608,11 +19219,21 @@ class CommandAdapt {
|
|
|
18608
19219
|
if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
|
|
18609
19220
|
changeElementList.push(enterElement);
|
|
18610
19221
|
renderOption = { curIndex: endIndex };
|
|
19222
|
+
} else {
|
|
19223
|
+
const style = this.range.getDefaultStyle();
|
|
19224
|
+
const anchorSize = (style == null ? void 0 : style.size) || enterElement.size || defaultSize;
|
|
19225
|
+
this.range.setDefaultStyle({
|
|
19226
|
+
size: anchorSize - 2 < minSize ? minSize : anchorSize - 2
|
|
19227
|
+
});
|
|
19228
|
+
this.draw.render({
|
|
19229
|
+
curIndex: endIndex,
|
|
19230
|
+
isCompute: false,
|
|
19231
|
+
isSubmitHistory: false
|
|
19232
|
+
});
|
|
18611
19233
|
}
|
|
18612
19234
|
}
|
|
18613
19235
|
if (!changeElementList.length)
|
|
18614
19236
|
return;
|
|
18615
|
-
const { defaultSize, minSize } = this.options;
|
|
18616
19237
|
let isExistUpdate = false;
|
|
18617
19238
|
changeElementList.forEach((el) => {
|
|
18618
19239
|
if (!el.size) {
|
|
@@ -18632,6 +19253,7 @@ class CommandAdapt {
|
|
|
18632
19253
|
}
|
|
18633
19254
|
}
|
|
18634
19255
|
bold() {
|
|
19256
|
+
var _a;
|
|
18635
19257
|
const isDisabled = this.draw.isReadonly() || this.draw.isDisabled();
|
|
18636
19258
|
if (isDisabled)
|
|
18637
19259
|
return;
|
|
@@ -18643,16 +19265,27 @@ class CommandAdapt {
|
|
|
18643
19265
|
});
|
|
18644
19266
|
this.draw.render({ isSetCursor: false });
|
|
18645
19267
|
} else {
|
|
19268
|
+
let isSubmitHistory = true;
|
|
18646
19269
|
const { endIndex } = this.range.getRange();
|
|
18647
19270
|
const elementList = this.draw.getElementList();
|
|
18648
19271
|
const enterElement = elementList[endIndex];
|
|
18649
19272
|
if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
|
|
18650
19273
|
enterElement.bold = !enterElement.bold;
|
|
18651
|
-
|
|
19274
|
+
} else {
|
|
19275
|
+
this.range.setDefaultStyle({
|
|
19276
|
+
bold: enterElement.bold ? false : !((_a = this.range.getDefaultStyle()) == null ? void 0 : _a.bold)
|
|
19277
|
+
});
|
|
19278
|
+
isSubmitHistory = false;
|
|
18652
19279
|
}
|
|
19280
|
+
this.draw.render({
|
|
19281
|
+
isSubmitHistory,
|
|
19282
|
+
curIndex: endIndex,
|
|
19283
|
+
isCompute: false
|
|
19284
|
+
});
|
|
18653
19285
|
}
|
|
18654
19286
|
}
|
|
18655
19287
|
italic() {
|
|
19288
|
+
var _a;
|
|
18656
19289
|
const isDisabled = this.draw.isReadonly() || this.draw.isDisabled();
|
|
18657
19290
|
if (isDisabled)
|
|
18658
19291
|
return;
|
|
@@ -18664,16 +19297,27 @@ class CommandAdapt {
|
|
|
18664
19297
|
});
|
|
18665
19298
|
this.draw.render({ isSetCursor: false });
|
|
18666
19299
|
} else {
|
|
19300
|
+
let isSubmitHistory = true;
|
|
18667
19301
|
const { endIndex } = this.range.getRange();
|
|
18668
19302
|
const elementList = this.draw.getElementList();
|
|
18669
19303
|
const enterElement = elementList[endIndex];
|
|
18670
19304
|
if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
|
|
18671
19305
|
enterElement.italic = !enterElement.italic;
|
|
18672
|
-
|
|
19306
|
+
} else {
|
|
19307
|
+
this.range.setDefaultStyle({
|
|
19308
|
+
italic: enterElement.italic ? false : !((_a = this.range.getDefaultStyle()) == null ? void 0 : _a.italic)
|
|
19309
|
+
});
|
|
19310
|
+
isSubmitHistory = false;
|
|
18673
19311
|
}
|
|
19312
|
+
this.draw.render({
|
|
19313
|
+
isSubmitHistory,
|
|
19314
|
+
curIndex: endIndex,
|
|
19315
|
+
isCompute: false
|
|
19316
|
+
});
|
|
18674
19317
|
}
|
|
18675
19318
|
}
|
|
18676
19319
|
underline(textDecoration) {
|
|
19320
|
+
var _a;
|
|
18677
19321
|
const isDisabled = this.draw.isReadonly() || this.draw.isDisabled();
|
|
18678
19322
|
if (isDisabled)
|
|
18679
19323
|
return;
|
|
@@ -18693,16 +19337,27 @@ class CommandAdapt {
|
|
|
18693
19337
|
isCompute: false
|
|
18694
19338
|
});
|
|
18695
19339
|
} else {
|
|
19340
|
+
let isSubmitHistory = true;
|
|
18696
19341
|
const { endIndex } = this.range.getRange();
|
|
18697
19342
|
const elementList = this.draw.getElementList();
|
|
18698
19343
|
const enterElement = elementList[endIndex];
|
|
18699
19344
|
if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
|
|
18700
19345
|
enterElement.underline = !enterElement.underline;
|
|
18701
|
-
|
|
19346
|
+
} else {
|
|
19347
|
+
this.range.setDefaultStyle({
|
|
19348
|
+
underline: (enterElement == null ? void 0 : enterElement.underline) ? false : !((_a = this.range.getDefaultStyle()) == null ? void 0 : _a.underline)
|
|
19349
|
+
});
|
|
19350
|
+
isSubmitHistory = false;
|
|
18702
19351
|
}
|
|
19352
|
+
this.draw.render({
|
|
19353
|
+
isSubmitHistory,
|
|
19354
|
+
curIndex: endIndex,
|
|
19355
|
+
isCompute: false
|
|
19356
|
+
});
|
|
18703
19357
|
}
|
|
18704
19358
|
}
|
|
18705
19359
|
strikeout() {
|
|
19360
|
+
var _a;
|
|
18706
19361
|
const isDisabled = this.draw.isReadonly() || this.draw.isDisabled();
|
|
18707
19362
|
if (isDisabled)
|
|
18708
19363
|
return;
|
|
@@ -18717,13 +19372,23 @@ class CommandAdapt {
|
|
|
18717
19372
|
isCompute: false
|
|
18718
19373
|
});
|
|
18719
19374
|
} else {
|
|
19375
|
+
let isSubmitHistory = true;
|
|
18720
19376
|
const { endIndex } = this.range.getRange();
|
|
18721
19377
|
const elementList = this.draw.getElementList();
|
|
18722
19378
|
const enterElement = elementList[endIndex];
|
|
18723
19379
|
if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
|
|
18724
19380
|
enterElement.strikeout = !enterElement.strikeout;
|
|
18725
|
-
|
|
19381
|
+
} else {
|
|
19382
|
+
this.range.setDefaultStyle({
|
|
19383
|
+
strikeout: enterElement.strikeout ? false : !((_a = this.range.getDefaultStyle()) == null ? void 0 : _a.strikeout)
|
|
19384
|
+
});
|
|
19385
|
+
isSubmitHistory = false;
|
|
18726
19386
|
}
|
|
19387
|
+
this.draw.render({
|
|
19388
|
+
isSubmitHistory,
|
|
19389
|
+
curIndex: endIndex,
|
|
19390
|
+
isCompute: false
|
|
19391
|
+
});
|
|
18727
19392
|
}
|
|
18728
19393
|
}
|
|
18729
19394
|
superscript() {
|
|
@@ -18788,6 +19453,7 @@ class CommandAdapt {
|
|
|
18788
19453
|
isCompute: false
|
|
18789
19454
|
});
|
|
18790
19455
|
} else {
|
|
19456
|
+
let isSubmitHistory = true;
|
|
18791
19457
|
const { endIndex } = this.range.getRange();
|
|
18792
19458
|
const elementList = this.draw.getElementList();
|
|
18793
19459
|
const enterElement = elementList[endIndex];
|
|
@@ -18797,8 +19463,17 @@ class CommandAdapt {
|
|
|
18797
19463
|
} else {
|
|
18798
19464
|
delete enterElement.color;
|
|
18799
19465
|
}
|
|
18800
|
-
|
|
19466
|
+
} else {
|
|
19467
|
+
this.range.setDefaultStyle({
|
|
19468
|
+
color: payload || void 0
|
|
19469
|
+
});
|
|
19470
|
+
isSubmitHistory = false;
|
|
18801
19471
|
}
|
|
19472
|
+
this.draw.render({
|
|
19473
|
+
isSubmitHistory,
|
|
19474
|
+
curIndex: endIndex,
|
|
19475
|
+
isCompute: false
|
|
19476
|
+
});
|
|
18802
19477
|
}
|
|
18803
19478
|
}
|
|
18804
19479
|
highlight(payload) {
|
|
@@ -18819,6 +19494,7 @@ class CommandAdapt {
|
|
|
18819
19494
|
isCompute: false
|
|
18820
19495
|
});
|
|
18821
19496
|
} else {
|
|
19497
|
+
let isSubmitHistory = true;
|
|
18822
19498
|
const { endIndex } = this.range.getRange();
|
|
18823
19499
|
const elementList = this.draw.getElementList();
|
|
18824
19500
|
const enterElement = elementList[endIndex];
|
|
@@ -18828,8 +19504,17 @@ class CommandAdapt {
|
|
|
18828
19504
|
} else {
|
|
18829
19505
|
delete enterElement.highlight;
|
|
18830
19506
|
}
|
|
18831
|
-
|
|
19507
|
+
} else {
|
|
19508
|
+
this.range.setDefaultStyle({
|
|
19509
|
+
highlight: payload || void 0
|
|
19510
|
+
});
|
|
19511
|
+
isSubmitHistory = false;
|
|
18832
19512
|
}
|
|
19513
|
+
this.draw.render({
|
|
19514
|
+
isSubmitHistory,
|
|
19515
|
+
curIndex: endIndex,
|
|
19516
|
+
isCompute: false
|
|
19517
|
+
});
|
|
18833
19518
|
}
|
|
18834
19519
|
}
|
|
18835
19520
|
title(payload) {
|
|
@@ -18984,6 +19669,12 @@ class CommandAdapt {
|
|
|
18984
19669
|
return;
|
|
18985
19670
|
this.tableOperate.tableBorderType(payload);
|
|
18986
19671
|
}
|
|
19672
|
+
tableBorderColor(payload) {
|
|
19673
|
+
const isReadonly = this.draw.isReadonly();
|
|
19674
|
+
if (isReadonly)
|
|
19675
|
+
return;
|
|
19676
|
+
this.tableOperate.tableBorderColor(payload);
|
|
19677
|
+
}
|
|
18987
19678
|
tableTdBorderType(payload) {
|
|
18988
19679
|
const isReadonly = this.draw.isReadonly();
|
|
18989
19680
|
if (isReadonly)
|
|
@@ -19433,6 +20124,9 @@ class CommandAdapt {
|
|
|
19433
20124
|
getValue(options) {
|
|
19434
20125
|
return this.draw.getValue(options);
|
|
19435
20126
|
}
|
|
20127
|
+
getAreaValue(options) {
|
|
20128
|
+
return this.draw.getArea().getAreaValue(options);
|
|
20129
|
+
}
|
|
19436
20130
|
getHTML() {
|
|
19437
20131
|
const options = this.options;
|
|
19438
20132
|
const headerElementList = this.draw.getHeaderElementList();
|
|
@@ -19607,6 +20301,11 @@ class CommandAdapt {
|
|
|
19607
20301
|
pageMode(payload) {
|
|
19608
20302
|
this.draw.setPageMode(payload);
|
|
19609
20303
|
}
|
|
20304
|
+
pageScale(scale) {
|
|
20305
|
+
if (scale === this.options.scale)
|
|
20306
|
+
return;
|
|
20307
|
+
this.draw.setPageScale(scale);
|
|
20308
|
+
}
|
|
19610
20309
|
pageScaleRecovery() {
|
|
19611
20310
|
const { scale } = this.options;
|
|
19612
20311
|
if (scale !== 1) {
|
|
@@ -19882,6 +20581,7 @@ class CommandAdapt {
|
|
|
19882
20581
|
locationControl(controlId, options) {
|
|
19883
20582
|
const isLocationAfter = (options == null ? void 0 : options.position) === LocationPosition.AFTER;
|
|
19884
20583
|
function location(elementList, zone2) {
|
|
20584
|
+
var _a, _b;
|
|
19885
20585
|
let i = 0;
|
|
19886
20586
|
while (i < elementList.length) {
|
|
19887
20587
|
const element = elementList[i];
|
|
@@ -19914,7 +20614,11 @@ class CommandAdapt {
|
|
|
19914
20614
|
let curIndex = i - 1;
|
|
19915
20615
|
if (isLocationAfter) {
|
|
19916
20616
|
curIndex -= 1;
|
|
19917
|
-
if (element.controlComponent !== ControlComponent.PLACEHOLDER && element.controlComponent !== ControlComponent.POSTFIX) {
|
|
20617
|
+
if (element.controlComponent !== ControlComponent.PLACEHOLDER && element.controlComponent !== ControlComponent.POSTFIX && element.controlComponent !== ControlComponent.POST_TEXT) {
|
|
20618
|
+
continue;
|
|
20619
|
+
}
|
|
20620
|
+
} else {
|
|
20621
|
+
if (element.controlComponent !== ControlComponent.PREFIX && element.controlComponent !== ControlComponent.PRE_TEXT || ((_a = elementList[i]) == null ? void 0 : _a.controlComponent) === ControlComponent.PREFIX || ((_b = elementList[i]) == null ? void 0 : _b.controlComponent) === ControlComponent.PRE_TEXT) {
|
|
19918
20622
|
continue;
|
|
19919
20623
|
}
|
|
19920
20624
|
}
|
|
@@ -19973,7 +20677,8 @@ class CommandAdapt {
|
|
|
19973
20677
|
const cloneAttr = [
|
|
19974
20678
|
...TABLE_CONTEXT_ATTR,
|
|
19975
20679
|
...EDITOR_ROW_ATTR,
|
|
19976
|
-
...LIST_CONTEXT_ATTR
|
|
20680
|
+
...LIST_CONTEXT_ATTR,
|
|
20681
|
+
...AREA_CONTEXT_ATTR
|
|
19977
20682
|
];
|
|
19978
20683
|
cloneProperty(cloneAttr, copyElement, cloneElement);
|
|
19979
20684
|
this.draw.insertElementList([cloneElement]);
|
|
@@ -20099,7 +20804,8 @@ class CommandAdapt {
|
|
|
20099
20804
|
const cloneAttr = [
|
|
20100
20805
|
...TABLE_CONTEXT_ATTR,
|
|
20101
20806
|
...EDITOR_ROW_ATTR,
|
|
20102
|
-
...LIST_CONTEXT_ATTR
|
|
20807
|
+
...LIST_CONTEXT_ATTR,
|
|
20808
|
+
...AREA_CONTEXT_ATTR
|
|
20103
20809
|
];
|
|
20104
20810
|
(_a = cloneElement.valueList) == null ? void 0 : _a.forEach((valueItem) => {
|
|
20105
20811
|
cloneProperty(cloneAttr, copyElement, valueItem);
|
|
@@ -20121,6 +20827,12 @@ class CommandAdapt {
|
|
|
20121
20827
|
direction: MoveDirection.DOWN
|
|
20122
20828
|
});
|
|
20123
20829
|
}
|
|
20830
|
+
insertArea(payload) {
|
|
20831
|
+
return this.draw.getArea().insertArea(payload);
|
|
20832
|
+
}
|
|
20833
|
+
setAreaProperties(payload) {
|
|
20834
|
+
this.draw.getArea().setAreaProperties(payload);
|
|
20835
|
+
}
|
|
20124
20836
|
}
|
|
20125
20837
|
class Listener {
|
|
20126
20838
|
constructor() {
|
|
@@ -21284,5 +21996,5 @@ class Editor {
|
|
|
21284
21996
|
this.use = plugin.use.bind(plugin);
|
|
21285
21997
|
}
|
|
21286
21998
|
}
|
|
21287
|
-
export { BackgroundRepeat, BackgroundSize, BlockType, Command, ControlIndentation, ControlType, EDITOR_CLIPBOARD, EDITOR_COMPONENT, Editor, EditorComponent, EditorMode, EditorZone, ElementType, INTERNAL_CONTEXT_MENU_KEY, ImageDisplay, KeyMap, LETTER_CLASS, LineNumberType, ListStyle, ListType, LocationPosition, MaxHeightRatio, NumberType, PageMode, PaperDirection, RenderMode, RowFlex, TableBorder, TdBorder, TdSlash, TextDecorationStyle, TitleLevel, VerticalAlign, WordBreak, createDomFromElementList, Editor as default, getElementListByHTML, getTextFromElementList, splitText };
|
|
21999
|
+
export { AreaMode, BackgroundRepeat, BackgroundSize, BlockType, Command, ControlIndentation, ControlState, ControlType, EDITOR_CLIPBOARD, EDITOR_COMPONENT, Editor, EditorComponent, EditorMode, EditorZone, ElementType, INTERNAL_CONTEXT_MENU_KEY, ImageDisplay, KeyMap, LETTER_CLASS, LineNumberType, ListStyle, ListType, LocationPosition, MaxHeightRatio, NumberType, PageMode, PaperDirection, RenderMode, RowFlex, TableBorder, TdBorder, TdSlash, TextDecorationStyle, TitleLevel, VerticalAlign, WordBreak, createDomFromElementList, Editor as default, getElementListByHTML, getTextFromElementList, splitText };
|
|
21288
22000
|
//# sourceMappingURL=canvas-editor.es.js.map
|