@hailin-zheng/editor-core 1.0.12 → 1.0.15
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/lib/doc-ruler.js.map +1 -1
- package/lib/framework/common-util.js.map +1 -1
- package/lib/framework/document-change.js.map +1 -1
- package/lib/framework/document-combine.js.map +1 -1
- package/lib/framework/document-comment.js.map +1 -1
- package/lib/framework/document-context.js.map +1 -1
- package/lib/framework/document-eval-func.js.map +1 -1
- package/lib/framework/document-event.js.map +1 -1
- package/lib/framework/document-history.js.map +1 -1
- package/lib/framework/document-images-loader.js.map +1 -1
- package/lib/framework/document-input-cursor.js.map +1 -1
- package/lib/framework/document-paint.js.map +1 -1
- package/lib/framework/document-print-offscreen.js.map +1 -1
- package/lib/framework/document-print.js.map +1 -1
- package/lib/framework/document-segmenter.js.map +1 -1
- package/lib/framework/document-selection.js.map +1 -1
- package/lib/framework/document-template.js.map +1 -1
- package/lib/framework/document-textline-mode.js.map +1 -1
- package/lib/framework/element-define.js.map +1 -1
- package/lib/framework/element-event-define.js.map +1 -1
- package/lib/framework/element-measure.js.map +1 -1
- package/lib/framework/element-paint.js.map +1 -1
- package/lib/framework/element-props.js.map +1 -1
- package/lib/framework/element-reader.js.map +1 -1
- package/lib/framework/element-render-cut.js.map +1 -1
- package/lib/framework/element-serialize.js.map +1 -1
- package/lib/framework/element-util.js.map +1 -1
- package/lib/framework/impl/checkbox/checkbox-impl.js.map +1 -1
- package/lib/framework/impl/comments/comment-content-impl.js.map +1 -1
- package/lib/framework/impl/comments/comment-element-impl.js.map +1 -1
- package/lib/framework/impl/comments/comments-container-impl.js.map +1 -1
- package/lib/framework/impl/comments/comments-util.js.map +1 -1
- package/lib/framework/impl/comments/validate-msg-impl.js.map +1 -1
- package/lib/framework/impl/data-element/data-decorate-impl.js.map +1 -1
- package/lib/framework/impl/data-element/data-element-barcode.js.map +1 -1
- package/lib/framework/impl/data-element/data-element-base-impl.js.map +1 -1
- package/lib/framework/impl/data-element/data-element-check-impl.js.map +1 -1
- package/lib/framework/impl/data-element/data-element-date-impl.js.map +1 -1
- package/lib/framework/impl/data-element/data-element-group-impl.js.map +1 -1
- package/lib/framework/impl/data-element/data-element-image-impl.js.map +1 -1
- package/lib/framework/impl/data-element/data-element-list-impl.js.map +1 -1
- package/lib/framework/impl/data-element/data-element-text-impl.js.map +1 -1
- package/lib/framework/impl/decorate/fill-null-space-imple.js.map +1 -1
- package/lib/framework/impl/document/doc-body-impl.js.map +1 -1
- package/lib/framework/impl/document/doc-body-part-impl.js.map +1 -1
- package/lib/framework/impl/document/doc-container-impl.js.map +1 -1
- package/lib/framework/impl/document/doc-footer-impl.js.map +1 -1
- package/lib/framework/impl/document/doc-header-impl.js.map +1 -1
- package/lib/framework/impl/document/doc-impl.js.map +1 -1
- package/lib/framework/impl/media-formula/menstrual-history.js.map +1 -1
- package/lib/framework/impl/paragraph/p-impl.js.map +1 -1
- package/lib/framework/impl/picture/image-impl.js.map +1 -1
- package/lib/framework/impl/radio/radio-impl.js.map +1 -1
- package/lib/framework/impl/symbol/br-symbol-impl.js.map +1 -1
- package/lib/framework/impl/symbol/p-symbol-impl.js.map +1 -1
- package/lib/framework/impl/table/table-cell-impl.js.map +1 -1
- package/lib/framework/impl/table/table-impl.js.map +1 -1
- package/lib/framework/impl/table/table-row-impl.js.map +1 -1
- package/lib/framework/impl/table/table-split-cell-patch.js.map +1 -1
- package/lib/framework/impl/table/table-split-cell.js.map +1 -1
- package/lib/framework/impl/table/table-util.js.map +1 -1
- package/lib/framework/impl/text/text-impl.js.map +1 -1
- package/lib/framework/impl/text/track-run-impl.js.map +1 -1
- package/lib/framework/notify.js.map +1 -1
- package/lib/framework/range-util.js.map +1 -1
- package/lib/framework/render-context.js.map +1 -1
- package/lib/framework/render-define.js.map +1 -1
- package/lib/framework/selection-overlays.js.map +1 -1
- package/lib/texteditor.js.map +1 -1
- package/lib/util/subject.js.map +1 -1
- package/lib/util/table-bind.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"table-util.js","sourceRoot":"","sources":["../../../../src/med_editor/framework/impl/table/table-util.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"table-util.js","sourceRoot":"lib/","sources":["framework/impl/table/table-util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,MAAM,OAAO,SAAS;IAElB,MAAM,CAAC,cAAc,CAAC,EAAkB;QACpC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,KAAK,CAAC;SAChB;QACD,MAAM,EAAE,GAAG,WAAW,CAAC,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC,EAAE,CAAC;IAChB,CAAC;IACD;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,EAAkB;QACnC,MAAM,EAAE,qBAAqB,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC;QACzF,IAAI,SAAS,EAAE;YACX,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,qBAAqB,YAAY,YAAY,IAAI,qBAAqB,YAAY,eAAe,EAAE;YACnG,MAAM,SAAS,GAAG,qBAAqB,YAAY,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAsB,CAAC;YACvI,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YAC9E,MAAM,OAAO,GAAG,WAAW,CAAC,eAAe,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAC1E,IAAI,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE;gBAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBAChF,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,SAAS,EAAE;oBACrD,MAAM,aAAa,GAA4B,EAAE,CAAC;oBAClD,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAA0B,CAAC,CAAC,CAAC,CAAC;oBACvI,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACvD,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAkB,CAAC,CAAC,CAAC;wBACvD,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAmB,CAAC,CAAC,CAAC;4BACvD,IAAI,QAAQ,CAAC,iBAAiB,EAAE,IAAI,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gCACrE,OAAO,KAAK,CAAC;6BAChB;yBACJ;qBACJ;oBACD,OAAO,IAAI,CAAC;iBACf;aACJ;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,EAAgB,EAAE,QAAgB,EAAE,QAAgB;QACzE,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAoB,CAAC;QACzD,IAAI,KAAK,GAAG,QAAQ,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;YACnD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAqB,CAAC;YACrD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE;gBAClC,KAAK,GAAG,CAAC,CAAC;aACb;iBAAM;gBACH,MAAM;aACT;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,EAAgB,EAAE,QAAgB,EAAE,QAAgB;QAC3E,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAoB,CAAC;QACrD,KAAK,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAqB,CAAC;YACjD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;gBACjC,OAAO,CAAC,CAAC;aACZ;SACJ;QACD,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,EAAgB,EAAE,QAAgB,EAAE,QAAgB;QACzE,IAAI,KAAK,GAAG,QAAQ,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAoB,CAAC;YAClD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB,CAAC;YAC5D,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE;gBAClC,KAAK,GAAG,CAAC,CAAC;aACb;iBAAM;gBACH,MAAM;aACT;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,EAAgB,EAAE,QAAgB,EAAE,QAAgB;QAC3E,KAAK,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAoB,CAAC;YAClD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB,CAAC;YAC5D,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;gBACjC,OAAO,CAAC,CAAC;aACZ;SACJ;QACD,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,EAAkB;QAChC,MAAM,EAAE,qBAAqB,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QAC1E,IAAI,SAAS,EAAE;YACX,OAAO;SACV;QACD,IAAI,qBAAqB,YAAY,YAAY,IAAI,qBAAqB,YAAY,eAAe,EAAE;YACnG,MAAM,SAAS,GAAG,qBAAqB,YAAY,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAsB,CAAC;YACvI,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YAC9E,MAAM,OAAO,GAAG,WAAW,CAAC,eAAe,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAC1E,IAAI,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE;gBAClF,yDAAyD;gBACzD,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;aACpD;YACD,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC1B,EAAE,CAAC,KAAK,EAAE,CAAC;SACd;IACL,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,gBAAgB,CAAC,EAAkB;QAC9C,MAAM,EAAE,GAAG,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACtE,IAAI,CAAC,EAAE,EAAE;YAAE,OAAM;SAAE;QACnB,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC;QACpC,MAAM,aAAa,GAA2B,EAAE,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChC,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAoB,CAAC;YAC9C,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;gBAChC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAqB,CAAC;gBACjD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE;oBAC3B,KAAK,EAAE,CAAC;iBACX;aACJ;YACD,oBAAoB;YACpB,IAAI,KAAK,KAAK,SAAS,EAAE;gBACrB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;aAC1B;SACJ;QACD,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,SAAS,CAAC,GAAoB;QACzC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAsB,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAmB,CAAC,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;gBACjC,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC/D,IAAI,cAAc,GAAG,QAAQ,EAAE;oBAC3B,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAkB,QAAQ,GAAG,CAAC,CAAC,CAAC;oBAC3D,OAAO,CAAC,QAAQ,CAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,cAAc,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;iBACzG;aACJ;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE;gBACzC,kEAAkE;gBAClE,mCAAmC;gBACnC,kEAAkE;gBAClE,2EAA2E;gBAC3E,IAAI;gBACJ,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACnE,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC/D,4BAA4B;gBAC5B,IAAI,cAAc,KAAK,QAAQ,IAAI,cAAc,GAAG,gBAAgB,KAAK,CAAC,EAAE;oBACxE,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAkB,gBAAgB,CAAC,CAAC,QAAQ,CAAmB,CAAC,CAAC,CAAA;oBAC9F,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;iBACjC;aACJ;SACJ;QACD,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,SAAS,CAAC,EAAgB,EAAE,QAAgB;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChC,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAkB,CAAC,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAmB,QAAQ,CAAC,CAAC;YACtD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;gBACjC,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAC/D,IAAI,cAAc,GAAG,QAAQ,EAAE;oBAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAmB,QAAQ,GAAG,CAAC,CAAC,CAAC;oBAC9D,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,cAAc,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;iBAC5E;aACJ;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE;gBACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACnE,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAC/D,4BAA4B;gBAC5B,IAAI,cAAc,KAAK,QAAQ,IAAI,cAAc,GAAG,gBAAgB,KAAK,CAAC,EAAE;oBACxE,MAAM,gBAAgB,GAAG,EAAE,CAAC,QAAQ,CAAkB,gBAAgB,CAAC,CAAC,QAAQ,CAAmB,CAAC,CAAC,CAAA;oBACrG,gBAAgB,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;iBACxC;aAEJ;YACD,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACzB;QACD,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,EAAkB;QACnC,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;SACpC;QACD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAyB,CAAC;QACpD,MAAM,EAAE,GAAG,OAAO,CAAC,MAAsB,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxB,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACvB,EAAE,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,EAAkB;QACnC,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;SACpC;QACD,IAAI,EAAE,CAAC,SAAS,EAAE;YACd,MAAM,OAAO,GAAG,SAAS,CAAC,MAAyB,CAAC;YACpD,MAAM,EAAE,GAAG,OAAO,CAAC,MAAsB,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzC,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;SACV;QACD,MAAM,EAAE,qBAAqB,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QAC/D,IAAI,qBAAqB,YAAY,YAAY,IAAI,qBAAqB,YAAY,eAAe,EAAE;YACnG,MAAM,SAAS,GAAG,qBAAqB,YAAY,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAsB,CAAC;YACvI,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YAC9E,MAAM,OAAO,GAAG,WAAW,CAAC,eAAe,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAC1E,IAAI,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE;gBAClF,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAC3C,IAAI,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrC,OAAO,aAAa,IAAI,WAAW,EAAE;oBACjC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;oBACvC,WAAW,EAAE,CAAC;iBACjB;aACJ;YACD,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACjC;QACD,EAAE,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,SAAuB,EAAE,SAA2B,EAAE,OAAyB;QAC/F,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAChF,MAAM,YAAY,GAAmB,EAAE,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvD,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAkB,CAAC,CAAC,CAAC;YACvD,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAmB,CAAC,CAAC,CAAC;gBACvD,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBAC7B,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;gBACnC,IAAI,CAAC,KAAK,QAAQ,CAAC,QAAQ,EAAE;oBACzB,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;oBACzE,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;iBACrC;gBACD,IAAI,QAAQ,KAAK,SAAS,EAAE;oBACxB,YAAY,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAChE,QAAQ,CAAC,UAAU,EAAE,CAAC;iBACzB;aACJ;SACJ;QACD,sBAAsB;QACtB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,YAAY,gBAAgB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,EAAE;YACxF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1C,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aACvC;SACJ;IACL,CAAC;IAGD,MAAM,CAAC,YAAY,CAAC,EAAkB;QAClC,MAAM,EAAE,qBAAqB,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QAC1E,IAAI,qBAAqB,YAAY,YAAY,IAAI,qBAAqB,YAAY,eAAe,EAAE;YACnG,MAAM,SAAS,GAAG,qBAAqB,YAAY,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC;YACvH,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YAC9E,MAAM,OAAO,GAAG,WAAW,CAAC,eAAe,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAC1E,IAAI,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE;gBAClF,IAAI,SAAS,KAAK,OAAO,EAAE;oBACvB,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;iBACvF;aACJ;SACJ;aAAM;YACH,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YAC9E,IAAI,CAAC,SAAS,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;aACxC;YACD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,KAAK,CAAC;YAC5C,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC;SAC7E;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,EAAkB;QACjC,MAAM,EAAE,qBAAqB,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QAC1E,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAC9E,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACjC,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC5B,SAAS,CAAC,WAAW,EAAE,CAAC;SAC3B;IACL,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,IAAsB;QAClD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAyB,CAAC;QAC3C,MAAM,EAAE,GAAG,GAAG,CAAC,MAAsB,CAAC;QACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,MAAM,KAAK,SAAS,EAAE;YACtB,KAAK,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAoB,CAAC;gBAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAqB,CAAC;gBACxD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE;oBAClC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;oBACzB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;wBACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;qBAC/B;iBACJ;aACJ;SACJ;QACD,IAAI,MAAM,KAAK,SAAS,EAAE;YACtB,KAAK,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAqB,CAAC;gBACjD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE;oBAClC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;oBACzB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;wBACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;qBAC/B;iBACJ;aACJ;SACJ;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IAC7B,CAAC;IAGO,MAAM,CAAC,aAAa,CAAC,EAAgB,EAAE,cAAsB,EAAE,cAAsB;QACzF,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,GAAG,GAAoB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAqB,CAAC;YAC9D,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE;gBAClC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACnB;iBAAM;gBACH,OAAO,KAAK,CAAC;aAChB;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAGD,MAAM,CAAC,SAAS,CAAC,EAAkB,EAAE,cAAsB;QACvD,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;SACpC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAyB,CAAC;QACrD,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAsB,CAAC;QAC3C,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC;QACpC,cAAc,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QACzD,cAAc,GAAG,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC;QACzE,aAAa;QACb,MAAM,cAAc,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QACvH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;QACnD,IAAI,WAAW,GAAG,EAAE,EAAE;YAClB,OAAO,CAAC,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC,CAAA;YACjD,OAAO;SACV;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChC,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAkB,CAAC,CAAC,CAAA;YAC3C,MAAM,OAAO,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACvC,IAAI,cAAc,KAAK,CAAC,IAAI,cAAc,KAAK,SAAS,EAAE;gBACtD,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;gBACtC,SAAS;aACZ;YACD,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAmB,cAAc,CAAC,CAAC;YACjE,IAAI,SAAS,EAAE;gBACX,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE;oBACvC,cAAc;oBACd,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;oBACtE,IAAI,iBAAiB,GAAG,cAAc,IAAI,CAAC,iBAAiB,KAAK,cAAc,IAAI,YAAY,GAAG,cAAc,CAAC,EAAE;wBAC/G,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;qBACrC;iBACJ;qBAAM,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,YAAY,GAAG,cAAc,EAAE;oBAC9E,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;iBACrC;aACJ;YACD,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;SACzC;QAED,EAAE,CAAC,YAAY,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,cAAc,GAAG,WAAW,CAAC,CAAC;QAClH,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC1C,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACvB,EAAE,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,EAAkB,EAAE,cAAsB;QACvD,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;SACpC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAyB,CAAC;QACrD,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAsB,CAAC;QAC3C,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzC,cAAc,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QACzD,cAAc,GAAG,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;QACzE,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;QAC5D,eAAe;QACf,IAAI,cAAc,KAAK,CAAC,IAAI,cAAc,KAAK,EAAE,CAAC,MAAM,EAAE;YACtD,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACpC,EAAE,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC;SACjB;QACD,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAoB,CAAC;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAqB,CAAC;YACzD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAqB,CAAC;YACvD,kCAAkC;YAClC,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE;gBACtC,cAAc;gBACd,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;gBACxE,IAAI,iBAAiB,GAAG,cAAc,IAAI,CAAC,iBAAiB,KAAK,cAAc,IAAI,YAAY,GAAG,cAAc,CAAC,EAAE;oBAC/G,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;oBAClC,uDAAuD;iBAC1D;aACJ;iBAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,YAAY,GAAG,cAAc,EAAE;gBAC7E,sBAAsB;gBACtB,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;gBAClC,uDAAuD;aAC1D;SAEJ;QACD,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACpC,EAAE,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,EAAkB;QACpC,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;SACpC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAyB,CAAC;QACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,EAAkB;QACpC,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;SACpC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAyB,CAAC;QACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,EAAkB;QACtC,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;SACpC;QACD,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,EAAkB;QACrC,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;SACpC;QACD,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,EAAkB;QAClC,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;SACpC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,QAAQ,EAAE;YACV,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC3B,QAAQ,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO;SACV;QACD,SAAS;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;QAChD,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC;IAGD;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,EAAkB;QACjC,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;SACpC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,MAAsB,CAAC;QACnD,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAoB,CAAC;YAClD,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAqB,CAAC;gBACzD,IAAI,QAAQ,CAAC,iBAAiB,EAAE,EAAE;oBAC9B,OAAO,QAAQ,CAAC;iBACnB;aACJ;SACJ;QACD,wCAAwC;IAC5C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,EAAkB;QACxC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAGD;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,EAAkB;QACjC,MAAM,EAAE,GAAG,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACtE,IAAI,CAAC,EAAE,EAAE;YACL,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1B,OAAO;SACV;QACD,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,EAAE,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,oBAAoB,CAAC,EAAkB,EAAE,QAAwB;QACpE,MAAM,EAAE,GAAG,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAC1E,IAAI,CAAC,EAAE,EAAE;YACL,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1B,OAAM;SACT;QACD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACtD,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAChC;aAAM,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACvC,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;SAC5B;QACD,EAAE,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,EAAgB,EAAE,QAAgB;QAC9C,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9C,OAAO;SACV;QACD,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAiB,CAAC;QAC9C,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,OAAO,GAAG,GAAG,QAAQ,EAAE;YACnB,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC/B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACrC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACzB;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAClB,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;SAChD;IACL,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,0BAA0B,CAAC,EAAgB,EAAE,SAA2B,EAAE,OAAyB;QACtG,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,QAAQ,GAAG,MAAM,EAAE;YACnB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SAC3C;QACD,IAAI,QAAQ,GAAG,MAAM,EAAE;YACnB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SAC3C;QACD,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAoB,CAAC;YAC9C,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAqB,CAAC;gBACjD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;gBACtC,IAAI,MAAM,KAAK,UAAU,EAAE;oBACvB,MAAM,aAAa,GAAG,SAAS,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC9D,MAAM,WAAW,GAAG,SAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC1D,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;oBAC7C,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;iBAC1C;gBACD,IAAI,MAAM,KAAK,UAAU,EAAE;oBACvB,MAAM,aAAa,GAAG,SAAS,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC9D,MAAM,WAAW,GAAG,SAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC1D,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;oBAC7C,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;iBAC1C;gBACD,IAAI,MAAM,KAAK,SAAS,EAAE;oBACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACvD,IAAI,QAAQ,GAAG,MAAM,EAAE;wBACnB,MAAM,GAAG,QAAQ,CAAC;qBACrB;iBACJ;gBACD,IAAI,MAAM,KAAK,SAAS,EAAE;oBACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACvD,IAAI,QAAQ,GAAG,MAAM,EAAE;wBACnB,MAAM,GAAG,QAAQ,CAAC;qBACrB;iBACJ;aACJ;SACJ;QACD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;IACjD,CAAC;CACJ","sourcesContent":["import { SelectionState } from \"../../document-selection\";\nimport { ElementUtil } from \"../../element-util\";\nimport { Element } from \"../../element-define\";\nimport { ParagraphElement } from \"../paragraph/p-impl\";\nimport { TableCellElement } from \"./table-cell-impl\";\nimport { TableElement } from \"./table-impl\";\nimport { TableRowElement } from \"./table-row-impl\";\n\n\nexport class TableUtil {\n\n static canDeleteTable(ss: SelectionState): boolean {\n const { startControl } = ss;\n if (!startControl) {\n return false;\n }\n const tb = ElementUtil.getParentByType(startControl, TableElement);\n return !!tb;\n }\n /**\n * 校验当前选区是否可以执行合并单元格操作\n * @param ss \n * @returns \n */\n static canMergeCells(ss: SelectionState): boolean {\n const { ancestorCommonControl, startControl, endControl, collapsed, selectedRange } = ss;\n if (collapsed) {\n return false;\n }\n if (ancestorCommonControl instanceof TableElement || ancestorCommonControl instanceof TableRowElement) {\n const tbElement = ancestorCommonControl instanceof TableElement ? ancestorCommonControl : ancestorCommonControl.parent as TableElement;\n const startCell = ElementUtil.getParentByType(startControl, TableCellElement);\n const endCell = ElementUtil.getParentByType(endControl, TableCellElement);\n if (startCell?.parent?.parent === tbElement && endCell?.parent?.parent === tbElement) {\n const tbRegion = this.getTableRectSelectedRegion(tbElement, startCell, endCell);\n if (selectedRange && selectedRange.target === tbElement) {\n const selectedCells: Array<TableCellElement> = [];\n selectedRange.selectedChildren.every(item => item.selectedChildren.every(cell => selectedCells.push(cell.target as TableCellElement)));\n for (let i = tbRegion.startRow; i <= tbRegion.endRow; i++) {\n const currRow = tbElement.getChild<TableRowElement>(i);\n for (let j = tbRegion.startCol; j <= tbRegion.endCol; j++) {\n const currCell = currRow.getChild<TableCellElement>(j);\n if (currCell.isNotBeMergedCell() && selectedCells.indexOf(currCell) < 0) {\n return false;\n }\n }\n }\n return true;\n }\n }\n }\n return false;\n }\n\n /**\n * 获取横向合并当前单元格合并结束索引位置\n * @param tb \n * @param rowIndex \n * @param colIndex \n */\n static getHMergeEndIndex(tb: TableElement, rowIndex: number, colIndex: number): number {\n const currRow = tb.getChild(rowIndex) as TableRowElement;\n let index = colIndex;\n for (let i = colIndex + 1; i < tb.getColsCount(); i++) {\n const cell = currRow.getChild(i) as TableCellElement;\n if (cell.props.hMerge === 'continue') {\n index = i;\n } else {\n break;\n }\n }\n return index;\n }\n\n /**\n * 获取横向合并当前单元格合并开始索引位置\n * @param tb \n * @param rowIndex \n * @param colIndex \n */\n static getHMergeStartIndex(tb: TableElement, rowIndex: number, colIndex: number): number {\n const row = tb.getChild(rowIndex) as TableRowElement;\n for (let i = colIndex - 1; i >= 0; i--) {\n const cell = row.getChild(i) as TableCellElement;\n if (cell.props.hMerge === 'restart') {\n return i;\n }\n }\n throw new Error('未找到主合并单元格');\n }\n\n /**\n * 获取纵向合并当前单元格合并结束索引位置\n * @param tb \n * @param rowIndex \n * @param colIndex i\n */\n static getVMergeEndIndex(tb: TableElement, rowIndex: number, colIndex: number): number {\n let index = rowIndex;\n for (let i = rowIndex + 1; i < tb.length; i++) {\n const currRow = tb.getChild(i) as TableRowElement;\n const cell = currRow.getChild(colIndex) as TableCellElement;\n if (cell.props.vMerge === 'continue') {\n index = i;\n } else {\n break;\n }\n }\n return index;\n }\n\n /**\n * 获取纵向合并当前单元格合并开始索引位置\n * @param tb \n * @param rowIndex \n * @param colIndex i\n */\n static getVMergeStartIndex(tb: TableElement, rowIndex: number, colIndex: number): number {\n for (let i = rowIndex - 1; i >= 0; i--) {\n const currRow = tb.getChild(i) as TableRowElement;\n const cell = currRow.getChild(colIndex) as TableCellElement;\n if (cell.props.vMerge === 'restart') {\n return i;\n }\n }\n throw new Error('未找到主合并单元格');\n }\n\n /**\n * 合并单元格\n * @param ss \n * @returns \n */\n static mergeCells(ss: SelectionState): void {\n const { ancestorCommonControl, startControl, endControl, collapsed } = ss;\n if (collapsed) {\n return;\n }\n if (ancestorCommonControl instanceof TableElement || ancestorCommonControl instanceof TableRowElement) {\n const tbElement = ancestorCommonControl instanceof TableElement ? ancestorCommonControl : ancestorCommonControl.parent as TableElement;\n const startCell = ElementUtil.getParentByType(startControl, TableCellElement);\n const endCell = ElementUtil.getParentByType(endControl, TableCellElement);\n if (startCell?.parent?.parent === tbElement && endCell?.parent?.parent === tbElement) {\n //this.combineCellContent(tbElement, startCell, endCell);\n this.combineCells(tbElement, startCell, endCell);\n }\n this.checkRowBeMerged(ss);\n ss.clear();\n }\n }\n\n /**\n * 在合并单元格后需要校验\n * 1.如果某个行的所有单元格都不是normal,则需要删除当前行\n * 2.如果某个列的所有的单元格都不是normal,则需要删除当前列\n */\n private static checkRowBeMerged(ss: SelectionState): void {\n const tb = ElementUtil.getParentByType(ss.startControl, TableElement);\n if (!tb) { return }\n const colsCount = tb.getColsCount();\n const fullMergeRows: Array<TableRowElement> = [];\n for (let i = 0; i < tb.length; i++) {\n const row = tb.getChild(i) as TableRowElement;\n let count = 0;\n for (let j = 0; j < colsCount; j++) {\n const cell = row.getChild(j) as TableCellElement;\n if (!cell.isNotBeMergedCell()) {\n count++;\n }\n }\n //当前行所有的单元格都被合并,需要删除\n if (count === colsCount) {\n fullMergeRows.push(row)\n }\n }\n fullMergeRows.forEach(row => this.removeRow(row));\n }\n\n /**\n * 移除行\n * @param row \n */\n private static removeRow(row: TableRowElement): void {\n const rowIndex = row.getIndex();\n const tb = row.parent as TableElement;\n for (let i = 0; i < row.length; i++) {\n const cell = row.getChild<TableCellElement>(i);\n if (cell.props.vMerge === 'restart') {\n const vMergeEndIndex = this.getVMergeEndIndex(tb, rowIndex, i);\n if (vMergeEndIndex > rowIndex) {\n const nextRow = tb.getChild<TableRowElement>(rowIndex + 1);\n nextRow.getChild<TableCellElement>(i).props.vMerge = vMergeEndIndex - rowIndex > 2 ? 'restart' : null;\n }\n } else if (cell.props.vMerge === 'continue') {\n // const vMergeEndIndex = this.getVMergeEndIndex(tb, rowIndex, i);\n // if (vMergeEndIndex > rowIndex) {\n // const nextRow = tb.getChild<TableRowElement>(rowIndex + 1);\n // nextRow.getChild<TableCellElement>(i).cellProps.vMerge = 'continue';\n // }\n const vMergeStartIndex = this.getVMergeStartIndex(tb, rowIndex, i);\n const vMergeEndIndex = this.getVMergeEndIndex(tb, rowIndex, i);\n //当前单元格处于合并行的最后一行,并且合并的行数为2行\n if (vMergeEndIndex === rowIndex && vMergeEndIndex - vMergeStartIndex === 1) {\n const aboveCell = tb.getChild<TableRowElement>(vMergeStartIndex).getChild<TableCellElement>(i)\n aboveCell.props.vMerge = null;\n }\n }\n }\n tb.removeChild(row);\n }\n\n /**\n * 移除列\n * @param tb \n * @param colIndex \n */\n private static removeCol(tb: TableElement, colIndex: number): void {\n for (let i = 0; i < tb.length; i++) {\n const row = tb.getChild<TableRowElement>(i);\n const cell = row.getChild<TableCellElement>(colIndex);\n if (cell.props.hMerge === 'restart') {\n const hMergeEndIndex = this.getHMergeEndIndex(tb, i, colIndex);\n if (hMergeEndIndex > colIndex) {\n const nextCell = row.getChild<TableCellElement>(colIndex + 1);\n nextCell.props.hMerge = hMergeEndIndex - colIndex > 2 ? 'restart' : null;\n }\n } else if (cell.props.hMerge === 'continue') {\n const hMergeStartIndex = this.getHMergeStartIndex(tb, i, colIndex);\n const hMergeEndIndex = this.getHMergeEndIndex(tb, i, colIndex);\n //当前单元格处于合并行的最后一行,并且合并的行数为2行\n if (hMergeEndIndex === colIndex && hMergeEndIndex - hMergeStartIndex === 1) {\n const masterVMergeCell = tb.getChild<TableRowElement>(hMergeStartIndex).getChild<TableCellElement>(i)\n masterVMergeCell.props.hMerge = null;\n }\n\n }\n row.removeChild(cell);\n }\n tb.removeCol(colIndex);\n }\n\n /**\n * 移除光标所在的当前行\n * @param ss \n */\n static removeCurrRow(ss: SelectionState): void {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n const currRow = startCell.parent as TableRowElement;\n const tb = currRow.parent as TableElement;\n this.removeRow(currRow);\n tb.pubOnChange('self');\n tb.refreshView();\n }\n\n /**\n * 移除光标所在的当前列\n * @param ss \n */\n static removeCurrCol(ss: SelectionState): void {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n if (ss.collapsed) {\n const currRow = startCell.parent as TableRowElement;\n const tb = currRow.parent as TableElement;\n this.removeCol(tb, startCell.getIndex());\n ss.clear();\n return;\n }\n const { ancestorCommonControl, startControl, endControl } = ss;\n if (ancestorCommonControl instanceof TableElement || ancestorCommonControl instanceof TableRowElement) {\n const tbElement = ancestorCommonControl instanceof TableElement ? ancestorCommonControl : ancestorCommonControl.parent as TableElement;\n const startCell = ElementUtil.getParentByType(startControl, TableCellElement);\n const endCell = ElementUtil.getParentByType(endControl, TableCellElement);\n if (startCell?.parent?.parent === tbElement && endCell?.parent?.parent === tbElement) {\n const startColIndex = startCell.getIndex();\n let endColIndex = endCell.getIndex();\n while (startColIndex <= endColIndex) {\n this.removeCol(tbElement, endColIndex);\n endColIndex--;\n }\n }\n tbElement.pubOnChange('self');\n }\n ss.clear();\n }\n\n /**\n * 合并单元格\n */\n static combineCells(tbElement: TableElement, startCell: TableCellElement, endCell: TableCellElement): void {\n const tbRegion = this.getTableRectSelectedRegion(tbElement, startCell, endCell);\n const cellContents: Array<Element> = [];\n for (let i = tbRegion.startRow; i <= tbRegion.endRow; i++) {\n const currRow = tbElement.getChild<TableRowElement>(i);\n for (let j = tbRegion.startCol; j <= tbRegion.endCol; j++) {\n const currCell = currRow.getChild<TableCellElement>(j);\n currCell.props.vMerge = null;\n currCell.props.hMerge = 'continue';\n if (j === tbRegion.startCol) {\n currCell.props.vMerge = i === tbRegion.startRow ? 'restart' : 'continue';\n currCell.props.hMerge = 'restart';\n }\n if (currCell !== startCell) {\n cellContents.push(...ElementUtil.getChildrenElements(currCell));\n currCell.clearItems();\n }\n }\n }\n //如果合并的单元格都是空段落,则不合并内容\n if (!cellContents.every((item) => (item instanceof ParagraphElement && item.length === 1))) {\n for (let i = 0; i < cellContents.length; i++) {\n startCell.addChild(cellContents[i]);\n }\n }\n }\n\n\n static canSplitCell(ss: SelectionState): boolean {\n const { ancestorCommonControl, startControl, endControl, collapsed } = ss;\n if (ancestorCommonControl instanceof TableElement || ancestorCommonControl instanceof TableRowElement) {\n const tbElement = ancestorCommonControl instanceof TableElement ? ancestorCommonControl : ancestorCommonControl.parent;\n const startCell = ElementUtil.getParentByType(startControl, TableCellElement);\n const endCell = ElementUtil.getParentByType(endControl, TableCellElement);\n if (startCell?.parent?.parent === tbElement && endCell?.parent?.parent === tbElement) {\n if (startCell === endCell) {\n return startCell.props.hMerge === 'restart' || startCell.props.vMerge === 'restart';\n }\n }\n } else {\n const startCell = ElementUtil.getParentByType(startControl, TableCellElement);\n if (!startCell) {\n throw new Error('startCell is null');\n }\n const { hMerge, vMerge } = startCell?.props;\n return hMerge === 'restart' || vMerge === 'restart' || !hMerge || !vMerge;\n }\n\n return false;\n }\n\n /**\n * 将合并的单元格合并还原\n * @param ss \n */\n static restoreCell(ss: SelectionState): void {\n const { ancestorCommonControl, startControl, endControl, collapsed } = ss;\n const startCell = ElementUtil.getParentByType(startControl, TableCellElement);\n if (startCell) {\n this.restoreCellMerge(startCell);\n ss.resetRange(startCell, 0);\n startCell.refreshView();\n }\n }\n\n private static restoreCellMerge(cell: TableCellElement): void {\n const { vMerge, hMerge } = cell.props;\n const row = cell.parent as TableRowElement;\n const tb = row.parent as TableElement;\n const rowIndex = row.getIndex();\n const colIndex = cell.getIndex();\n if (vMerge === 'restart') {\n for (let i = rowIndex + 1; i < tb.length; i++) {\n const row = tb.getChild(i) as TableRowElement;\n const cell = row.getChild(colIndex) as TableCellElement;\n if (cell.props.vMerge === \"continue\") {\n cell.props.vMerge = null;\n if (cell.props.hMerge === \"restart\") {\n this.restoreCellMerge(cell);\n }\n }\n }\n }\n if (hMerge === 'restart') {\n for (let i = colIndex + 1; i < row.length; i++) {\n const cell = row.getChild(i) as TableCellElement;\n if (cell.props.hMerge === \"continue\") {\n cell.props.hMerge = null;\n if (cell.props.vMerge === \"restart\") {\n this.restoreCellMerge(cell);\n }\n }\n }\n }\n cell.props.hMerge = null;\n cell.props.vMerge = null;\n }\n\n\n private static getVMergeRows(tb: TableElement, masterRowIndex: number, masterColIndex: number): Array<TableRowElement> {\n const items: Array<TableRowElement> = [];\n for (let i = masterRowIndex + 1; i < tb.length; i++) {\n const row = <TableRowElement>tb.getChild(i);\n const cell = row.getChild(masterColIndex) as TableCellElement;\n if (cell.props.vMerge === 'continue') {\n items.push(row);\n } else {\n return items;\n }\n }\n return items;\n }\n\n\n static insertCol(ss: SelectionState, insertColIndex: number): void {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n const startRow = startCell.parent as TableRowElement;\n const tb = startRow.parent as TableElement;\n const currColIndex = startCell.getIndex();\n const colsCount = tb.getColsCount();\n insertColIndex = insertColIndex < 0 ? 0 : insertColIndex;\n insertColIndex = insertColIndex > colsCount ? colsCount : insertColIndex;\n //插入列需要将之前列分割\n const insertColWidth = insertColIndex === colsCount ? tb.getCellWidth(colsCount - 1) : tb.getCellWidth(insertColIndex);\n const newColWidth = Math.floor(insertColWidth / 2);\n if (newColWidth < 20) {\n console.warn('插入列的最小宽度不能小于20,当前为:' + newColWidth)\n return;\n }\n for (let i = 0; i < tb.length; i++) {\n const row = tb.getChild<TableRowElement>(i)\n const newCell = new TableCellElement();\n if (insertColIndex === 0 || insertColIndex === colsCount) {\n row.addChild(newCell, insertColIndex);\n continue;\n }\n const focusCell = row.getChild<TableCellElement>(insertColIndex);\n if (focusCell) {\n if (focusCell.props.hMerge === 'continue') {\n //获取合并行的最后的行索引\n const hMergeEndColIndex = this.getHMergeEndIndex(tb, i, currColIndex);\n if (hMergeEndColIndex > insertColIndex || (hMergeEndColIndex === insertColIndex && currColIndex < insertColIndex)) {\n newCell.props.hMerge = 'continue';\n }\n } else if (focusCell.props.hMerge === 'restart' && currColIndex > insertColIndex) {\n newCell.props.hMerge = 'continue';\n }\n }\n row.addChild(newCell, insertColIndex);\n }\n\n tb.setCellWidth(insertColIndex === colsCount ? insertColIndex - 1 : insertColIndex, insertColWidth - newColWidth);\n tb.insertCol(insertColIndex, newColWidth);\n tb.pubOnChange('self');\n tb.refreshView();\n }\n\n static insertRow(ss: SelectionState, insertRowIndex: number): TableRowElement {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n const startRow = startCell.parent as TableRowElement;\n const tb = startRow.parent as TableElement;\n const currRowIndex = startRow.getIndex();\n insertRowIndex = insertRowIndex < 0 ? 0 : insertRowIndex;\n insertRowIndex = insertRowIndex > tb.length ? tb.length : insertRowIndex;\n const newRow = TableRowElement.createRow(tb.getColsCount());\n //新行插在第一行或者最后一行\n if (insertRowIndex === 0 || insertRowIndex === tb.length) {\n tb.addChild(newRow, insertRowIndex);\n tb.refreshView();\n return newRow;\n }\n const destRow = tb.getChild(insertRowIndex) as TableRowElement;\n for (let i = 0; i < destRow.length; i++) {\n const destCell = destRow.getChild(i) as TableCellElement;\n const newCell = newRow.getChild(i) as TableCellElement;\n //如果当前单元格是普通单元格或者合并列的最后一个单元格,则不做处理\n if (destCell.props.vMerge === 'continue') {\n //获取合并列的最后的行索引\n const vMergeEndRowIndex = this.getVMergeEndIndex(tb, insertRowIndex, i);\n if (vMergeEndRowIndex > insertRowIndex || (vMergeEndRowIndex === insertRowIndex && currRowIndex < insertRowIndex)) {\n newCell.props.vMerge = 'continue';\n //newCell.cellProps.hMerge = destCell.cellProps.hMerge;\n }\n } else if (destCell.props.vMerge === 'restart' && currRowIndex > insertRowIndex) {\n //在上方新增行,目标行单元格属于合并的起点\n newCell.props.vMerge = 'continue';\n //newCell.cellProps.hMerge = destCell.cellProps.hMerge;\n }\n\n }\n tb.addChild(newRow, insertRowIndex);\n tb.refreshView();\n return newRow;\n }\n\n /**\n * 在下方插入行\n */\n static insertRowBelow(ss: SelectionState): void {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n const startRow = startCell.parent as TableRowElement;\n const currRowIndex = startRow.getIndex();\n this.insertRow(ss, currRowIndex + 1);\n }\n\n /**\n * 在上方插入行\n */\n static insertRowAbove(ss: SelectionState): void {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n const startRow = startCell.parent as TableRowElement;\n const currRowIndex = startRow.getIndex();\n this.insertRow(ss, currRowIndex);\n }\n\n /**\n * 在右侧插入列\n */\n static insertColToRight(ss: SelectionState): void {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n const currColIndex = startCell.getIndex();\n this.insertCol(ss, currColIndex + 1);\n }\n\n /**\n * 在左侧插入列\n */\n static insertColToLeft(ss: SelectionState): void {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n const currColIndex = startCell.getIndex();\n this.insertCol(ss, currColIndex);\n }\n\n /**\n * 跳转到下一个单元格中\n * @param ss \n */\n static moveNextCell(ss: SelectionState): void {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n const rowIndex = startCell.parent.getIndex();\n const nextCell = this.getNextCell(ss);\n if (nextCell) {\n ss.resetRange(nextCell, 0);\n nextCell.refreshView();\n return;\n }\n //新增行,并定位\n const newRow = this.insertRow(ss, rowIndex + 1);\n ss.resetRange(newRow, 0);\n newRow.refreshView();\n }\n\n\n /**\n * 获取下一个可定位的单元格\n * @param ss \n * @returns \n */\n static getNextCell(ss: SelectionState): TableCellElement | undefined {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n const rowIndex = startCell.parent.getIndex();\n const colIndex = startCell.getIndex();\n const tb = startCell.parent.parent as TableElement;\n for (let i = rowIndex; i < tb.length; i++) {\n let j = i === rowIndex ? colIndex + 1 : 0;\n const currRow = tb.getChild(i) as TableRowElement;\n for (; j < tb.getColsCount(); j++) {\n const currCell = currRow.getChild(j) as TableCellElement;\n if (currCell.isNotBeMergedCell()) {\n return currCell;\n }\n }\n }\n //throw new Error('getNextCell is null')\n }\n\n /**\n * 当前光标是否在最后一个单元格中\n */\n static isLastVisiableCell(ss: SelectionState): boolean {\n return !this.getNextCell(ss);\n }\n\n\n /**\n * 移除当前table\n */\n static removeTable(ss: SelectionState): void {\n const tb = ElementUtil.getParentByType(ss.startControl, TableElement);\n if (!tb) {\n console.warn('当前位置不存在表格');\n return;\n }\n tb.parent.refreshView();\n tb.remove();\n }\n\n /**\n * 设置表格单元格对角线\n * @param ss \n * @param diagonal \n * @returns \n */\n static setTableCellDiagonal(ss: SelectionState, diagonal: 'main' | 'sub'): void {\n const tc = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!tc) {\n console.warn('当前位置不存在表格');\n return\n }\n if (!tc.props.diagonal || tc.props.diagonal !== diagonal) {\n tc.props.diagonal = diagonal;\n } else if (tc.props.diagonal === diagonal) {\n tc.props.diagonal = null;\n }\n tc.refreshView();\n }\n\n /**\n * 将当前表格截断成两个相邻的表格\n * @param tb \n * @param rowIndex \n */\n static cutTable(tb: TableElement, rowIndex: number): void {\n if (rowIndex === 0 || rowIndex === tb.length - 1) {\n return;\n }\n const newTb = tb.clone(false) as TableElement;\n const len = tb.length - 1;\n while (len > rowIndex) {\n const child = tb.getChild(len);\n newTb.addChild(child.clone(true), 0);\n tb.removeChild(child);\n }\n if (newTb.length > 0) {\n tb.parent.addChild(newTb, tb.getIndex() + 1);\n }\n }\n\n /**\n * 获取表格选区区域最大的矩形区域\n * @param tb \n * @param startCell \n * @param endCell \n * @returns \n */\n static getTableRectSelectedRegion(tb: TableElement, startCell: TableCellElement, endCell: TableCellElement): ITableSelectedRegion {\n let startRow = startCell.parent.getIndex();\n let startCol = startCell.getIndex();\n let endRow = endCell.parent.getIndex();\n let endCol = endCell.getIndex();\n if (startRow > endRow) {\n [endRow, startRow] = [startRow, endRow];\n }\n if (startCol > endCol) {\n [endCol, startCol] = [startCol, endCol];\n }\n for (let i = startRow; i <= endRow; i++) {\n const row = tb.getChild(i) as TableRowElement;\n for (let j = startCol; j <= endCol; j++) {\n const cell = row.getChild(j) as TableCellElement;\n const { hMerge, vMerge } = cell.props;\n if (hMerge === 'continue') {\n const startColIndex = TableUtil.getHMergeStartIndex(tb, i, j);\n const endColIndex = TableUtil.getHMergeEndIndex(tb, i, j);\n startCol = Math.min(startCol, startColIndex);\n endCol = Math.max(endCol, endColIndex);\n }\n if (vMerge === 'continue') {\n const startRowIndex = TableUtil.getVMergeStartIndex(tb, i, j);\n const endRowIndex = TableUtil.getVMergeEndIndex(tb, i, j);\n startRow = Math.min(startRow, startRowIndex);\n endRow = Math.max(endRow, endRowIndex);\n }\n if (vMerge === 'restart') {\n const rowIndex = TableUtil.getVMergeEndIndex(tb, i, j);\n if (rowIndex > endRow) {\n endRow = rowIndex;\n }\n }\n if (hMerge === 'restart') {\n const colIndex = TableUtil.getHMergeEndIndex(tb, i, j);\n if (colIndex > endCol) {\n endCol = colIndex;\n }\n }\n }\n }\n return { startRow, endRow, startCol, endCol }\n }\n}\n\n\nexport interface ITableSelectedRegion {\n startRow: number;\n endRow: number;\n startCol: number;\n endCol: number;\n}"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"text-impl.js","sourceRoot":"","sources":["../../../../src/med_editor/framework/impl/text/text-impl.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"text-impl.js","sourceRoot":"lib/","sources":["framework/impl/text/text-impl.ts"],"names":[],"mappings":"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","sourcesContent":["import { SelectionRange } from \"../../document-selection\";\nimport { ContextMenuElementEvent } from \"../../element-event-define\";\nimport { TextProps } from \"../../element-props\";\nimport { ElementUtil } from \"../../element-util\";\nimport { LeafRenderObject, RenderObject } from \"../../render-define\";\nimport { LeafElement, ElementFactory, Element, SerializeProps, ViewOptions, ModifyFlag } from \"../../element-define\";\nimport { watchChanged } from \"../../notify\";\nimport { RenderContenxtType, TextUnits } from \"../../render-context\";\n\nexport class TextGroupElement extends LeafElement<TextProps> {\n //props: TextProps;\n textMeasures: Array<TextUnits> = [];\n isMeasure: boolean = false;\n constructor() {\n super('text');\n this.props = new TextProps();\n watchChanged(this.props, () => {\n this.isMeasure = false;\n this.props.clearCache();\n });\n //this.addPropValueChangedSub(this.props);\n //this.addsubscribe(this, this.props.onPropertyChangedSubject.subscribe(() => { this.clearTextCache() }));\n this.addEvent<ContextMenuElementEvent>('ElementContextMenu', (evt) => {\n const ss = evt.selectionState;\n evt.menus.push({\n icon: \"EditStyle\", caption: \"选中样式组合\", eventObj: {\n onClick: (cevt) => {\n const range = new SelectionRange();\n range.setStart(this, 0);\n range.setEnd(this, -1);\n ss.addRange(range);\n }\n }\n })\n });\n }\n set text(val: string) {\n this.splice(0, this.textMeasures.length, val);\n }\n\n splice(index: number, deleteCount: number, addText: string | null = null): void {\n this.isMeasure = false;\n addText = addText ?? '';\n const addTextUnits = addText.split('').map(char => ({ sourceSize: 0, actualSize: 0, char }));\n if (this.textMeasures.length === 0) {\n this.textMeasures = addTextUnits;\n } else {\n this.textMeasures.splice(index, deleteCount, ...addTextUnits);\n }\n this.pubOnChange('self');\n }\n\n get text() {\n return this.textMeasures.map(item => item.char).join('');\n }\n\n createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject {\n if (!this.isMeasure || this.modifyFlag !== ModifyFlag.None) {\n renderCtx.contentContext.measureTextUnits(this.textMeasures, this.props);\n this.isMeasure = true;\n }\n const render = new TextGroupRenderObject(this);\n render.disableClick = this.disableClick;\n render.textMeasures = [...this.textMeasures];\n render.measure();\n return render;\n }\n\n serialize(viewOptions: ViewOptions): SerializeProps & any {\n //修饰元素不序列化\n if (this.isDecorate) {\n return null;\n }\n return {\n type: 'text',\n props: {\n ...this.props.getSerializeProps(viewOptions)\n },\n content: this.text,\n complete: true\n }\n }\n\n clone(data: boolean): TextGroupElement {\n const clone = new TextGroupElement();\n this.props.clone(clone.props);\n clone.text = this.text;\n return clone;\n }\n\n destroy(): void {\n super.destroy();\n }\n\n spliceText(startOffset: number, endOffset: number, xCopy: boolean): TextGroupElement | null {\n endOffset = endOffset === -1 ? this.textMeasures.length : endOffset;\n if (endOffset === startOffset) {\n return null;\n }\n const clone = new TextGroupElement();\n this.props.clone(clone.props);\n if (xCopy) {\n clone.textMeasures = this.textMeasures.splice(startOffset, endOffset - startOffset);\n } else {\n clone.textMeasures = this.textMeasures.filter((item, index) => index >= startOffset && index < endOffset);\n }\n clone.textMeasures = clone.textMeasures.map(item => ({ sourceSize: 0, actualSize: 0, char: item.char }));\n return clone;\n }\n\n clearTextCache(): void {\n this.isMeasure = false;\n }\n}\n\n\nexport class TextGroupRenderObject extends LeafRenderObject<TextGroupElement> {\n textMeasures!: Array<TextUnits>;\n render(ctx: RenderContenxtType, position: { x: number; y: number; }): void {\n //null-text不打印\n if (ctx.drawMode === 'print' && this.element.isDecorate) {\n return;\n }\n if (this.element.props.border) {\n ctx.contentContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height);\n }\n ctx.contentContext.drawTextUnits(this, position.x, position.y);\n // if (this.element.isMouseenter) {\n // ctx.overlaysContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height, CommonUtil.randomColor());\n // }\n\n }\n constructor(element: TextGroupElement) {\n super(element);\n }\n clone(): RenderObject {\n const cloneRender = new TextGroupRenderObject(this.element);\n cloneRender.disableClick = this.disableClick;\n cloneRender.rect = ElementUtil.cloneRect(this.rect);\n cloneRender.textMeasures = [...this.textMeasures];\n return cloneRender;\n }\n\n measure(): void {\n this.rect.width = this.textMeasures.reduce((prev, curr) => prev + curr.actualSize, 0);\n this.rect.height = this.element.props.fontSize;\n }\n}\n\nexport class TextGroupFactory extends ElementFactory<null> {\n match(type: string): boolean {\n return type === 'text';\n }\n createElement(data: any, renderCtx: RenderContenxtType): Element {\n const props = data.props as TextProps;\n const text = data.content as string;\n const textGroup = new TextGroupElement();\n textGroup.text = text;\n ElementUtil.readTextProps(textGroup.props, props, this.options);\n return textGroup;\n }\n\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"track-run-impl.js","sourceRoot":"","sources":["
|
1
|
+
{"version":3,"file":"track-run-impl.js","sourceRoot":"lib/","sources":["framework/impl/text/track-run-impl.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n InlineGroupElement,\n Position,\n SerializeProps,\n ViewOptions,\n Element,\n ElementFactory, readElementProps\n} from \"../../element-define\";\nimport { RenderContenxtType } from \"../../render-context\";\nimport { InlineGroupRenderObject, RenderObject } from \"../../render-define\";\nimport { TrackRunProps } from \"../../element-props\";\nimport { ElementUtil } from \"../../element-util\";\nimport { ElementSerialize } from \"../../element-serialize\";\nimport { GetTrackTipsEvent } from \"../../element-event-define\";\nimport { nanoid } from \"nanoid\";\nexport enum TrackRunTypeEnum {\n Inserted = 'ins-run',\n Deleted = 'del-run',\n}\ntype NullableType<T> = T | null;\nexport class TrackRunElement extends InlineGroupElement<TrackRunProps> {\n constructor(trackType: TrackRunTypeEnum) {\n super(trackType);\n this.props = new TrackRunProps(trackType);\n this.addEvent<GetTrackTipsEvent>('GetTrackTips', (evt) => {\n evt.trackTips = {\n trackRunType: this.type as TrackRunTypeEnum,\n name: this.props.userName,\n date: this.props.date,\n content: ElementSerialize.serializeString(this, { all: true })\n };\n console.log(evt.trackTips.content);\n\n evt.isCancel = true;\n });\n }\n\n clone(data: boolean): Element {\n const clone = new TrackRunElement(this.type as TrackRunTypeEnum);\n this.props.clone(clone.props);\n if (data) {\n const length = this.length;\n for (let i = 0; i < length; i++) {\n clone.addChild(this.getChild(i).clone(true));\n }\n }\n return clone;\n }\n\n createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): NullableType<RenderObject> {\n if (!options.showTrackChanges && this.type === TrackRunTypeEnum.Deleted) {\n return null;\n }\n return new TrackRunRenderObject(this);\n }\n\n serialize(viewOptions: ViewOptions): SerializeProps | null {\n return {\n type: this.type,\n props: this.props.getSerializeProps()\n };\n }\n\n split(index: number): TrackRunElement | null {\n if (index === 0 || index === this.length) {\n return null;\n }\n const clone = new TrackRunElement(this.type as TrackRunTypeEnum);\n this.props.clone(clone.props);\n const items: Array<Element> = [];\n for (let i = index; i < this.length; i++) {\n const child = this.getChild(i);\n items.push(child);\n }\n items.forEach(item => {\n item.remove();\n clone.addChild(item);\n });\n return clone;\n }\n}\n\nexport class TrackRunRenderObject extends InlineGroupRenderObject<TrackRunElement> {\n constructor(ele: TrackRunElement) {\n super(ele);\n }\n\n beginRender(ctx: RenderContenxtType, position: Position): void {\n const color = this.element.type === 'ins-run' ? 'green' : 'red';\n //ctx.overlaysContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height, color);\n }\n\n clone(): RenderObject {\n const cloneRender = new TrackRunRenderObject(this.element);\n cloneRender.rect = ElementUtil.cloneRect(this.rect);\n for (let i = 0; i < this.length; i++) {\n cloneRender.addChild(this.getChild(i).clone());\n }\n return cloneRender;\n }\n\n endRender(ctx: RenderContenxtType, position: Position): void {\n const { x, y } = position;\n const color = this.element.type === 'ins-run' ? 'green' : 'red';\n for (let i = 0; i < this.length; i++) {\n const childRender = this.getChild(i);\n const { rect } = childRender;\n if (childRender.element && childRender.element.type === 'del-run') {\n continue;\n }\n let lineY = y + rect.y + rect.height;\n lineY = this.element.type === 'ins-run' ? lineY : lineY - rect.height / 2;\n ctx.contentContext.drawLine(x + rect.x, lineY, rect.width, color, 1);\n }\n }\n}\n\nexport class RunElementFactory extends ElementFactory<TrackRunProps>{\n\n createElement(data: readElementProps<TrackRunProps>, renderCtx: RenderContenxtType): TrackRunElement {\n const ele = new TrackRunElement(data.type as TrackRunTypeEnum);\n ele.props.userId = data.props?.userId ?? '';\n ele.props.userName = data.props?.userName ?? '';\n ele.props.date = data.props?.date ?? '';\n ele.props.id = data.props?.id ?? nanoid(5);\n return ele;\n }\n\n match(type: string): boolean {\n return type === TrackRunTypeEnum.Inserted || type === TrackRunTypeEnum.Deleted;\n }\n\n\n}\n\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"notify.js","sourceRoot":"","sources":["
|
1
|
+
{"version":3,"file":"notify.js","sourceRoot":"lib/","sources":["framework/notify.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;AAC3C,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,EAAkB,CAAC;AACzD,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,EAA8C,CAAC;AAOpF,MAAM,SAAS,GAA0B,EAAE,CAAC;AAC5C,SAAS,KAAK,CAAC,MAAc,EAAE,CAAW;IACtC,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,EAAE;QACX,OAAO;KACV;IACD,IAAI,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACtC,IAAI,CAAC,SAAS,EAAE;QACZ,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAA;KAClD;IACD,IAAI,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,SAAS,EAAE;QACZ,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAA;KAC5C;IACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC3B,CAAC;AAED,SAAS,OAAO,CAAC,MAAc,EAAE,CAAW,EAAE,QAAa,EAAE,QAAa;IACtE,OAAO;IACP,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAC/B,OAAO;KACV;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,SAAS,EAAE;QACZ,OAAO;KACV;IACD,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,WAAW,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,kBAAkB;IAClB,IAAI,QAAQ,EAAE;QACV,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;KACvB;IACD,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACb,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACrC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,YAAY,CAAmB,MAAS,EAAE,EAAkB;IACxE,IAAU,MAAO,CAAC,eAAe,CAAC,EAAE;QAChC,UAAU,CAAO,MAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC;KACjB;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;QAChB,OAAO,MAAM,CAAC;KACjB;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,UAAU,EAAE;QACZ,OAAO,UAAe,CAAC;KAC1B;IACD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE;QAC5B,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ;YACnB,IAAI,CAAC,KAAK,KAAK,EAAE;gBACb,OAAO,MAAM,CAAC;aACjB;YACD,IAAI,CAAC,KAAK,eAAe,EAAE;gBACvB,OAAO,IAAI,CAAC;aACf;YACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;YAC5C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,EAAE;gBAChC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;aAChC;YACD,OAAO,GAAG,CAAC;QACf,CAAC;QACD,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ;YAC7B,kCAAkC;YAClC,MAAM,QAAQ,GAAS,MAAO,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAU,QAAS,CAAC,GAAG,KAAK,MAAM,EAAE;gBAChC,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,QAAQ,CAAC,EAAE;oBAC3E,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;iBAC1C;aACJ;YACD,OAAO,GAAG,CAAC;QACf,CAAC;QACD,cAAc,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/B,OAAO,GAAG,CAAC;QACf,CAAC;QACD,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU;YAChC,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;YACzD,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/B,OAAO,GAAG,CAAC;QACf,CAAC;KACJ,CAAC,CAAA;IACF,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,KAAa,EAAE,EAAkB;IACjE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC5B,SAAS,CAAC,GAAG,EAAE,CAAC;IAChB,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC;AAGD,MAAM,UAAU,wBAAwB,CAAC,MAAc,EAAE,CAAW,EAAE,EAAkB;IACpF,IAAI,WAAW,GAAQ,MAAM,CAAC;IAC9B,IAAU,MAAO,CAAC,eAAe,CAAC,EAAE;QAChC,WAAW,GAAS,MAAO,CAAC,KAAK,CAAC,CAAC;KACtC;IACD,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAClB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACtB,SAAS,CAAC,GAAG,EAAE,CAAA;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAY,EAAe,EAAE,CAAC,GAAG,YAAY,IAAI,CAAA;AAExE,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAA;AACvD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAU,EAAE,CACnD,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAE9B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAU,EAAE;IAChD,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAC3C,CAAC,CAAA","sourcesContent":["const EDITOR_REACTIVE = '__editor_reactive';\nconst ITERATOR_KEY = Symbol('iterator-key')\nexport const reactiveMap = new WeakMap<object, object>();\nexport const targetMaps = new WeakMap<object, Map<propType, Set<notifyCallback>>>();\ntype propType = string | number | symbol;\ninterface notifyCallback {\n (target: object, p: propType, oldValue: any, newValue: any): string | undefined | void;\n}\n\n\nconst activeFns: Array<notifyCallback> = [];\nfunction track(target: object, p: propType) {\n const activeFn = activeFns[activeFns.length - 1];\n if (!activeFn) {\n return;\n }\n let targetMap = targetMaps.get(target)\n if (!targetMap) {\n targetMaps.set(target, (targetMap = new Map()))\n }\n let effectFns = targetMap.get(p);\n if (!effectFns) {\n targetMap.set(p, (effectFns = new Set()))\n }\n effectFns.add(activeFn)\n}\n\nfunction trigger(target: object, p: propType, oldValue: any, newValue: any): void {\n //不需要触发\n if (p.toString().startsWith('__')) {\n return;\n }\n const targetMap = targetMaps.get(target);\n if (!targetMap) {\n return;\n }\n const effectFns = targetMap.get(p);\n const iteratorFns = targetMap.get(ITERATOR_KEY);\n const fns = new Set<notifyCallback>();\n effectFns && effectFns.forEach(item => fns.add(item));\n iteratorFns && iteratorFns.forEach(item => fns.add(item));\n const activeFn = activeFns[activeFns.length - 1];\n //防止死循环,过滤正在运行的副作用\n if (activeFn) {\n fns.delete(activeFn)\n }\n fns.forEach(fn => {\n fn(target, p, oldValue, newValue)\n });\n}\n\nexport function watchChanged<T extends object>(source: T, cb: notifyCallback): T {\n if ((<any>source)[EDITOR_REACTIVE]) {\n addToTrack((<any>source)['raw'], source, cb);\n return source;\n }\n if (isDate(source)) {\n return source;\n }\n const existProxy = reactiveMap.get(source);\n if (existProxy) {\n return existProxy as T;\n }\n const proxy = new Proxy(source, {\n get(target, p, receiver) {\n if (p === 'raw') {\n return target;\n }\n if (p === EDITOR_REACTIVE) {\n return true;\n }\n const res = Reflect.get(target, p, receiver)\n if (typeof res === 'object' && res) {\n return watchChanged(res, cb);\n }\n return res;\n },\n set(target, p, newValue, receiver) {\n //console.log('设置' + p.toString())\n const oldValue = (<any>target)[p];\n const res = Reflect.set(target, p, newValue, receiver);\n if ((<any>receiver).raw === target) {\n if (oldValue !== newValue && (oldValue === oldValue || newValue === newValue)) {\n trigger(target, p, oldValue, newValue);\n }\n }\n return res;\n },\n deleteProperty(target, p) {\n const res = Reflect.deleteProperty(target, p);\n trigger(target, p, null, null);\n return res;\n },\n defineProperty(target, p, attributes) {\n const res = Reflect.defineProperty(target, p, attributes)\n trigger(target, p, null, null);\n return res;\n }\n })\n addToTrack(source, proxy, cb);\n return proxy;\n}\n\nfunction addToTrack(source: object, proxy: object, cb: notifyCallback): void {\n activeFns.push(cb);\n track(source, ITERATOR_KEY);\n activeFns.pop();\n reactiveMap.set(source, proxy);\n}\n\n\nexport function setNotifyChangedCallback(target: object, p: propType, cb: notifyCallback): void {\n let trackTarget: any = target;\n if ((<any>target)[EDITOR_REACTIVE]) {\n trackTarget = (<any>target)['raw'];\n }\n activeFns.push(cb)\n track(trackTarget, p);\n activeFns.pop()\n}\n\nexport const isDate = (val: unknown): val is Date => val instanceof Date\n\nexport const objectToString = Object.prototype.toString\nexport const toTypeString = (value: unknown): string =>\n objectToString.call(value)\n\nexport const toRawType = (value: unknown): string => {\n return toTypeString(value).slice(8, -1)\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"range-util.js","sourceRoot":"","sources":["../../src/med_editor/framework/range-util.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"range-util.js","sourceRoot":"lib/","sources":["framework/range-util.ts"],"names":[],"mappings":"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","sourcesContent":["import { BranchElement, Element, LeafElement, SelectionContentRange } from \"./element-define\";\nimport { ElementUtil } from \"./element-util\";\nimport { TableCellElement } from \"./impl/table/table-cell-impl\";\nimport { TableElement } from \"./impl/table/table-impl\";\nimport { TableRowElement } from \"./impl/table/table-row-impl\";\nimport { SelectionRange, SelectionState } from './document-selection'\nimport { TextGroupElement } from \"./impl/text/text-impl\";\n\n\nexport class RangeUtil {\n\n static getSelctionRange(startControl: LeafElement, startOffset: number, endControl: LeafElement, endOffset: number, ancestorCommonControl: BranchElement): SelectionContentRange {\n if (ancestorCommonControl instanceof TableElement || ancestorCommonControl instanceof TableRowElement) {\n const tbElement = ancestorCommonControl instanceof TableElement ? ancestorCommonControl : ancestorCommonControl.parent as TableElement;\n return this.getTableSelectionRange(startControl, startOffset, endControl, endOffset, tbElement);\n }\n if (startControl === endControl && startControl.parent === ancestorCommonControl) {\n return this.getCollapsedRange(startControl, startOffset, endOffset, ancestorCommonControl);\n }\n const startRange = this.getStartForbackTreeData(startControl, ancestorCommonControl, null, startOffset).selectedChildren[0];\n const endRange = this.getEndForwardTreeData(endControl, ancestorCommonControl, null, endOffset).selectedChildren[0];\n const startIndex = ancestorCommonControl.getChildIndex(startRange.target);\n const endIndex = ancestorCommonControl.getChildIndex(endRange.target);\n const commonRange = this.getChildTreeData(ancestorCommonControl, startIndex + 1, endIndex);\n if (this.rangeEquals(startRange, endRange)) {\n commonRange.selectedChildren.unshift(startRange);\n } else {\n commonRange.selectedChildren.unshift(startRange);\n commonRange.selectedChildren.push(endRange);\n }\n this.setRangeFullSelected(commonRange);\n return commonRange;\n }\n\n static getCollapsedRange(startControl: LeafElement, startOffset: number, endOffset: number, ancestorCommonControl: BranchElement): SelectionContentRange {\n const range = {\n target: ancestorCommonControl,\n isFullSelected: false,\n startOffset: startControl.getIndex(),\n endOffset: startControl.getIndex() + 1,\n selectedChildren: [this.getChildTreeData(startControl, startOffset, endOffset)]\n }\n this.setRangeFullSelected(range);\n return range;\n\n }\n\n /**\n * 获取表格选区的内容\n * @param startControl \n * @param startOffset \n * @param endControl \n * @param endOffset \n * @param tb \n */\n static getTableSelectionRange(startControl: LeafElement, startOffset: number, endControl: LeafElement, endOffset: number, tb: TableElement): SelectionContentRange {\n const startCell = ElementUtil.getParentByType(startControl, TableCellElement);\n const endCell = ElementUtil.getParentByType(endControl, TableCellElement);\n if (startCell && endCell && startCell.parent.parent === tb && endCell.parent.parent === tb) {\n let startRowIndex = startCell.parent.getIndex();\n let endRowIndex = endCell.parent.getIndex();\n let startColIndex = startCell.getIndex();\n let endColIndex = endCell.getIndex();\n if (startColIndex > endColIndex) {\n [startColIndex, endColIndex] = [endColIndex, startColIndex];\n }\n if (startRowIndex > endRowIndex) {\n [startRowIndex, endRowIndex] = [endRowIndex, startRowIndex];\n }\n const region = { startRow: startRowIndex, endRow: endRowIndex, startCol: startColIndex, endCol: endColIndex };//this.getTableRectSelectedRegion(tb, { startRow: startRowIndex, endRow: endRowIndex, startCol: startColIndex, endCol: endColIndex });\n startRowIndex = region.startRow;\n endRowIndex = region.endRow;\n startColIndex = region.startCol;\n endColIndex = region.endCol;\n const rowRanges: Array<SelectionContentRange> = [];\n for (let i = startRowIndex; i <= endRowIndex; i++) {\n const cellRanges: Array<SelectionContentRange> = [];\n const row = tb.getChild(i) as TableRowElement;\n for (let j = startColIndex; j <= endColIndex; j++) {\n const cell = row.getChild(j) as TableCellElement;\n const cellFirstLeafElement = ElementUtil.getFirstLeafElement(cell) as LeafElement;\n const cellLastLeafElement = ElementUtil.getLastLeafElement(cell) as LeafElement;\n if (!cellFirstLeafElement && !cell.isNotBeMergedCell()) {\n cellRanges.push({\n target: cell,\n isFullSelected: true,\n startOffset: 0,\n endOffset: 1,\n selectedChildren: []\n });\n } else {\n const cellRange = this.getSelctionRange(cellFirstLeafElement, 0, cellLastLeafElement, 1, cell);\n cellRanges.push(cellRange);\n }\n }\n const rowRange: SelectionContentRange = {\n target: row,\n isFullSelected: false,\n startOffset: startColIndex,\n endOffset: endColIndex,\n selectedChildren: [...cellRanges]\n };\n rowRange.isFullSelected = startColIndex === 0 && endColIndex === row.length - 1;\n rowRanges.push(rowRange);\n }\n const tableRange: SelectionContentRange = {\n target: tb,\n isFullSelected: false,\n startOffset: startRowIndex,\n endOffset: endRowIndex,\n selectedChildren: [...rowRanges]\n };\n tableRange.isFullSelected = startRowIndex === 0 && endRowIndex === tb.length - 1 && tableRange.selectedChildren.every(item => item.isFullSelected);\n return tableRange;\n } else {\n throw new Error('当前单元格和表格不对应');\n }\n }\n\n\n\n private static getStartForbackTreeData(control: Element, ancestorCommonControl: BranchElement, childData: SelectionContentRange | null, offset: number): SelectionContentRange {\n if (!control) {\n debugger;\n }\n const parent = control.parent;\n if (parent !== ancestorCommonControl) {\n const range = this.getChildTreeData(parent, parent.getChildIndex(control) + 1, -1);\n if (childData) {\n range.selectedChildren.unshift(childData);\n } else {\n range.selectedChildren.unshift(this.getChildTreeData(control, offset, -1));\n }\n this.setRangeFullSelected(range);\n return this.getStartForbackTreeData(parent, ancestorCommonControl, range, -99);\n } else {\n const ancestorRange: SelectionContentRange = {\n target: ancestorCommonControl,\n startOffset: -1,\n endOffset: -1,\n isFullSelected: false,\n selectedChildren: []\n };\n if (!childData) {\n childData = this.getChildTreeData(control, offset, -1);\n }\n ancestorRange.selectedChildren.push(childData);\n this.setRangeFullSelected(ancestorRange);\n return ancestorRange;\n }\n }\n\n\n\n private static getEndForwardTreeData(control: Element, ancestorCommonControl: BranchElement, childData: SelectionContentRange | null, offset: number): SelectionContentRange {\n const parent = control.parent;\n if (parent !== ancestorCommonControl) {\n const range = this.getChildTreeData(parent, 0, parent.getChildIndex(control));\n if (childData) {\n range.selectedChildren.push(childData);\n } else {\n range.selectedChildren.push(this.getChildTreeData(control, 0, offset));\n }\n this.setRangeFullSelected(range);\n return this.getEndForwardTreeData(parent, ancestorCommonControl, range, -99);\n } else {\n const ancestorRange: SelectionContentRange = {\n target: ancestorCommonControl,\n startOffset: 0,\n endOffset: 0,\n isFullSelected: false,\n selectedChildren: []\n };\n if (!childData) {\n childData = this.getChildTreeData(control, 0, offset)\n }\n ancestorRange.selectedChildren.push(childData);\n this.setRangeFullSelected(ancestorRange);\n return ancestorRange;\n }\n }\n\n private static getChildTreeData(control: Element, start: number, end: number): SelectionContentRange {\n const range: SelectionContentRange = {\n target: control,\n isFullSelected: false,\n startOffset: start,\n endOffset: end,\n selectedChildren: []\n };\n if (control instanceof LeafElement) {\n if (control instanceof TextGroupElement) {\n range.endOffset = end === -1 ? control.text.length : end;\n } else {\n range.endOffset = end === -1 ? 1 : end;\n }\n\n } else if (control instanceof BranchElement) {\n end = end === -1 ? control.length : end;\n for (let i = start; i < end; i++) {\n const child = control.getChild(i);\n range.selectedChildren.push(this.getChildTreeData(child, 0, -1));\n }\n }\n this.setRangeFullSelected(range);\n return range;\n }\n\n private static setRangeFullSelected(selectionRange: SelectionContentRange): void {\n if (selectionRange.target instanceof LeafElement) {\n const { startOffset, endOffset } = selectionRange;\n if (selectionRange.target instanceof TextGroupElement) {\n selectionRange.isFullSelected = startOffset === 0 && endOffset === selectionRange.target.text.length\n } else {\n selectionRange.isFullSelected = startOffset === 0 && endOffset === 1;\n }\n } else if (selectionRange.target instanceof BranchElement) {\n const parent = selectionRange.target;\n const selectedChildren = selectionRange.selectedChildren;\n //被合并的table-cell,内容为empty\n if (selectedChildren.length === 0) {\n if (selectionRange.startOffset === 0 && selectionRange.endOffset === -1) {\n selectionRange.isFullSelected = true;\n return;\n }\n selectionRange.isFullSelected = false;\n return;\n }\n const firstItem = selectedChildren[0];\n const firstItemIndex = parent.getChildIndex(firstItem.target);\n const lastItem = selectedChildren[selectedChildren.length - 1];\n const lastItemIndex = parent.getChildIndex(lastItem.target);\n selectionRange.startOffset = firstItemIndex;\n selectionRange.endOffset = lastItemIndex;\n selectionRange.isFullSelected = firstItemIndex === 0 && firstItem.isFullSelected && lastItemIndex === parent.length - 1 && lastItem.isFullSelected;\n }\n }\n\n static rangeEquals(selRange1: SelectionContentRange, selRange2: SelectionContentRange): boolean {\n return selRange1.target === selRange2.target && selRange1.startOffset === selRange2.startOffset && selRange1.endOffset === selRange2.endOffset;\n }\n\n\n /**\n * 根据选区范围更正选区内容状态\n * @param selectedRange \n * @param selectionState \n */\n static fixSelectionStateByRange(selectionState: SelectionState): boolean {\n const { startControl, startOffset, endControl, endOffset, selectedRange } = selectionState;\n if (!selectedRange || !startControl) {\n return false;\n }\n const startRange = this.getStartRangeTarget(selectedRange) as SelectionContentRange;\n const endRange = this.getEndRangeTarget(selectedRange) as SelectionContentRange;\n if (startRange.target !== startControl || startRange.startOffset !== startOffset || endRange.target !== endControl || endRange.endOffset !== endOffset) {\n selectionState.clear();\n const ssRange = new SelectionRange();\n ssRange.setStart(startRange.target, startRange.startOffset);\n ssRange.setEnd(endRange.target, endRange.endOffset);\n selectionState.addRange(ssRange);\n return true;\n }\n return false;\n }\n\n static getStartRangeTarget(parentRange: SelectionContentRange): SelectionContentRange | null {\n if (parentRange.target instanceof LeafElement) {\n return parentRange;\n } else {\n for (let i = 0; i < parentRange.selectedChildren.length; i++) {\n const res = this.getStartRangeTarget(parentRange.selectedChildren[i]);\n if (res) {\n return res;\n }\n }\n }\n return null;\n }\n\n static getEndRangeTarget(parentRange: SelectionContentRange): SelectionContentRange | null {\n if (parentRange.target instanceof LeafElement) {\n return parentRange;\n } else {\n for (let i = parentRange.selectedChildren.length - 1; i >= 0; i--) {\n const res = this.getEndRangeTarget(parentRange.selectedChildren[i]);\n if (res) {\n return res;\n }\n }\n }\n return null;\n }\n\n /**\n * 循环递归执行选区对象方法\n * @param range \n * @param handler \n */\n static recursionTraversalRangeHandler(range: SelectionContentRange, handler: (range: SelectionContentRange) => void): void {\n handler(range);\n for (let i = 0; i < range.selectedChildren.length; i++) {\n this.recursionTraversalRangeHandler(range.selectedChildren[i], handler);\n }\n }\n\n /**\n * 判断元素是否被完全选中\n * @param range \n */\n static checkElementFullInRange(range: SelectionContentRange, ele: Element): boolean {\n let res = false;\n this.recursionTraversalRangeHandler(range, (childRange) => {\n if (childRange.target === ele && childRange.isFullSelected) {\n res = true;\n }\n });\n return res;\n }\n\n}"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"render-context.js","sourceRoot":"","sources":["../../src/med_editor/framework/render-context.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"render-context.js","sourceRoot":"lib/","sources":["framework/render-context.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAmB3D,MAAM,OAAO,cAAc;IAOJ;IAA0C;IAAiC;IAN9F,cAAc,CAAgB;IAC9B,eAAe,CAAgB;IAC/B,QAAQ,GAAqB,MAAM,CAAC;IAC5B,gBAAgB,CAAqB;IACrC,gBAAgB,CAAqB;IAE7C,YAAmB,OAAiC,EAAS,WAAwB,EAAS,MAAqB;QAAhG,YAAO,GAAP,OAAO,CAA0B;QAAS,gBAAW,GAAX,WAAW,CAAa;QAAS,WAAM,GAAN,MAAM,CAAe;QAC/G,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAEO,kBAAkB;QACtB,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAA6B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7H,IAAI,CAAC,eAAe,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAA6B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9H,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,oCAAoC;IACpC,6DAA6D;IAC7D,6DAA6D;IAC7D,6IAA6I;IAC7I,8IAA8I;IAC9I,6BAA6B;IAC7B,IAAI;IAEJ,cAAc,CAAC,cAAwD,IAAI;QACvE,IAAI,CAAC,WAAW,EAAE;YACd,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAA;YACtG,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;gBACnC,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;aAC3D;SACJ;QACD,WAAW,GAAG,WAAW,IAAI;YACzB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK;YAC1C,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe;SAC3C,CAAC;QACF,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAC/G,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAChH,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IACtG,CAAC;IAED,KAAK;QACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,CAAC,cAAwD,IAAI;QAC/D,wHAAwH;QACxH,IAAI,CAAC,WAAW,EAAE;YACd,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAA;YACtG,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;gBACnC,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;aAC3D;SACJ;QACD,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;QACpC,sFAAsF;QACtF,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;YAC/D,OAAO;SACV;QAED,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/I,4BAA4B;QAC5B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/I,+BAA+B;IACnC,CAAC;CAEJ;AAED,MAAM,OAAO,YAAY;IACF;IAAuC;IAA1D,YAAmB,GAA6B,EAAU,WAAwB;QAA/D,QAAG,GAAH,GAAG,CAA0B;QAAU,gBAAW,GAAX,WAAW,CAAa;QAC9E,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,IAAI;QACA,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;IACzC,CAAC;IAED,cAAc,CAAC,KAAa;QACxB,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;IAChC,CAAC;IAED,KAAK;QACD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,SAAoB,EAAE,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;QAC5F,IAAI,SAAS,CAAC,UAAU,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;SAC5D;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACtE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,IAAI,SAAS,CAAC,WAAW,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC5E;QACD,IAAI,SAAS,CAAC,SAAS,EAAE;YACrB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC3D;QACD,IAAI,SAAS,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAClD;IACL,CAAC;IAED,YAAY,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,QAAgB,OAAO;QACjE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,aAAa,CAAC,eAAsC,EAAE,CAAS,EAAE,CAAS;QACtE,MAAM,OAAO,GAAG,eAAe,CAAC,OAA2B,CAAC;QAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;QAChC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,SAAS,CAAC,UAAU,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;SAC5D;QACD,IAAI,SAAS,CAAC,WAAW,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC5E;QACD,IAAI,SAAS,CAAC,SAAS,EAAE;YACrB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC3D;QACD,IAAI,SAAS,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAClD;QACD,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,SAAS,CAAC,SAAS,KAAK,aAAa,EAAE;YACvC,MAAM;YACN,UAAU,IAAI,SAAS,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;YACzC,kBAAkB;YAClB,yEAAyE;SAC5E;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1D,MAAM,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;YACvD,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC;SAC3B;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,iBAAiB,CAAC,OAAyB;QACvC,MAAM,IAAI,GAAG,WAAW,CAAC,eAAe,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,EAAE;YACP,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;SAChC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IACjC,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,SAAoB;QAC1C,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;IACpE,CAAC;IAGD,gBAAgB,CAAC,KAAuB,EAAE,SAAoB;QAC1D,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,IAAI,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC;YAClD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC;SACvC;IACL,CAAC;IAED,SAAS,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;QACzD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI;QACA,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAGD,UAAU,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc,EAAE,WAAW,GAAG,OAAO,EAAE,WAAW,GAAG,CAAC;QAClG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,IAAI,GAAG,CAAC;QACT,CAAC,IAAI,GAAG,CAAC;QACT,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,+IAA+I;IACnJ,CAAC;IAED,+BAA+B;IAE/B,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,SAAS,GAAG,OAAO,EAAE,SAAS,GAAG,CAAC;QAC5E,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,IAAI,GAAG,CAAC;QACT,CAAC,IAAI,GAAG,CAAC;QACT,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc,EAAE,SAAS,GAAG,OAAO,EAAE,UAAU,GAAG,CAAC,EAAE,WAAW,GAAG,OAAO;QACpH,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,IAAI,GAAG,CAAC;QACT,CAAC,IAAI,GAAG,CAAC;QACT,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,WAAW,CAAC,KAAsB,EAAE,KAAK,GAAG,CAAC,EAAE,WAAW,GAAG,OAAO;QAChE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC,IAAI,GAAG,CAAC;YACT,CAAC,IAAI,GAAG,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,EAAE;gBACT,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACzB;iBAAM;gBACH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACzB;SACJ;QACD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,KAAsB,EAAE,KAAK,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO;QAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC,IAAI,GAAG,CAAC;YACT,CAAC,IAAI,GAAG,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,EAAE;gBACT,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACzB;iBAAM;gBACH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACzB;SACJ;QACD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAGD,YAAY,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc,EAAE,SAAkB;QAChF,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACjD,IAAI,SAAS,EAAE;YACX,MAAM,KAAK,GAAoB,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClF,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;SACrC;IACL,CAAC;IAED,YAAY,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc,EAAE,SAAkB;QAChF,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;SACnB;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAGD;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,KAAuB,EAAE,EAAU,EAAE,EAAU,EAAE,MAAc,EAAE,OAAe,EAAE,EAAU,EAAE,EAAU,EAAE,MAAc,EAAE,OAAe;QAC/I,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAED,YAAY,CAAC,MAAuB,EAAE,QAAuB,EAAE,SAAS,GAAG,OAAO,EAAE,SAAS,GAAG,CAAC;QAC7F,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC,IAAI,GAAG,CAAC;YACT,CAAC,IAAI,GAAG,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,EAAE;gBACT,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACzB;iBAAM;gBACH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACzB;SACJ;QACD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc,EAAE,MAAmE,EAAE,IAAa,EAAE,MAAe;QAC9J,CAAC,IAAI,GAAG,CAAC;QACT,CAAC,IAAI,GAAG,CAAC;QACT,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAC/B,MAAM,GAAG,IAAI,CAAC;SACjB;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC5B,MAAM,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;SAC/D;aAAM;YACH,IAAI,aAAa,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YACnD,KAAK,IAAI,IAAI,IAAI,aAAa,EAAE;gBAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;aACtD;SACJ;QACD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QACpF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;SACnB;QACD,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;SACrB;IAEL,CAAC;IAED,IAAI,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;QACpD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;CAEJ","sourcesContent":["import { EditorContext } from \"./document-context\";\nimport { Position, ViewOptions } from \"./element-define\";\nimport { TextProps } from \"./element-props\";\nimport { ElementUtil } from \"./element-util\";\nimport { DocumentRenderObject } from \"./impl/document/doc-impl\";\nimport { ParagraphElement } from \"./impl/paragraph/p-impl\";\nimport { TextGroupElement, TextGroupRenderObject } from \"./impl/text/text-impl\";\n\nexport interface TextUnits {\n sourceSize: number,\n actualSize: number,\n char: string\n}\n\nexport type RenderContenxtType = {\n contentContext: PaintContent;\n overlaysContext: PaintContent;\n drawMode: 'view' | 'print';\n clear(): void;\n viewOptions: ViewOptions;\n docCtx: EditorContext;\n commit(pageSetting: { width: number, height: number } | null): void\n};\n\nexport class RenderContenxt {\n contentContext!: PaintContent;\n overlaysContext!: PaintContent;\n drawMode: 'view' | 'print' = 'view';\n private contentOffCanvas!: HTMLCanvasElement;\n private overlayOffCanvas!: HTMLCanvasElement;\n\n constructor(public mainCtx: CanvasRenderingContext2D, public viewOptions: ViewOptions, public docCtx: EditorContext) {\n this.createNativeCanvas();\n }\n\n private createNativeCanvas() {\n this.contentOffCanvas = document.createElement('canvas');\n this.overlayOffCanvas = document.createElement('canvas');\n this.contentContext = new PaintContent(this.contentOffCanvas.getContext('2d') as CanvasRenderingContext2D, this.viewOptions);\n this.overlaysContext = new PaintContent(this.overlayOffCanvas.getContext('2d') as CanvasRenderingContext2D, this.viewOptions);\n this.setCanvasProps();\n }\n\n // private createOffscreenCanvas() {\n // this.contentOffCanvas = new OffscreenCanvas(250, 250);\n // this.overlayOffCanvas = new OffscreenCanvas(250, 250);\n // this.contentContext = new PaintContent(this.contentOffCanvas.getContext('2d') as OffscreenCanvasRenderingContext2D, this.viewOptions);\n // this.overlaysContext = new PaintContent(this.overlayOffCanvas.getContext('2d') as OffscreenCanvasRenderingContext2D, this.viewOptions);\n // this.setCanvasProps();\n // }\n\n setCanvasProps(pageSetting: { width: number, height: number } | null = null): void {\n if (!pageSetting) {\n pageSetting = { width: this.viewOptions.viewSettings.width, height: this.viewOptions.viewPaintHeight }\n if (this.viewOptions.showReviewWindow) {\n pageSetting.width += this.viewOptions.reviewWindowWidth;\n }\n }\n pageSetting = pageSetting || {\n width: this.viewOptions.viewSettings.width,\n height: this.viewOptions.viewPaintHeight\n };\n ElementUtil.setCanvasProps(this.contentOffCanvas, this.contentContext.ctx, pageSetting, this.viewOptions.scale)\n ElementUtil.setCanvasProps(this.overlayOffCanvas, this.overlaysContext.ctx, pageSetting, this.viewOptions.scale)\n ElementUtil.setCanvasProps(this.mainCtx.canvas, this.mainCtx, pageSetting, this.viewOptions.scale)\n }\n\n clear(): void {\n this.contentContext.clear();\n this.overlaysContext.clear();\n this.mainCtx.clearRect(0, 0, this.mainCtx.canvas.width, this.mainCtx.canvas.height);\n }\n\n commit(pageSetting: { width: number, height: number } | null = null): void {\n //pageSetting = pageSetting || { width: this.viewOptions.viewSettings.width, height: this.viewOptions.viewPaintHeight };\n if (!pageSetting) {\n pageSetting = { width: this.viewOptions.viewSettings.width, height: this.viewOptions.viewPaintHeight }\n if (this.viewOptions.showReviewWindow) {\n pageSetting.width += this.viewOptions.reviewWindowWidth;\n }\n }\n let { width, height } = pageSetting;\n //this.mainCtx.clearRect(0, 0, this.mainCtx.canvas.width, this.mainCtx.canvas.height);\n if (!this.overlayOffCanvas.width || !this.overlayOffCanvas.height) {\n return;\n }\n\n this.mainCtx.drawImage(this.overlayOffCanvas, 0, 0, ElementUtil.getDprNumber(width, this.viewOptions.scale), ElementUtil.getDprNumber(height));\n //console.time('drawImage');\n this.mainCtx.drawImage(this.contentOffCanvas, 0, 0, ElementUtil.getDprNumber(width, this.viewOptions.scale), ElementUtil.getDprNumber(height));\n //console.timeEnd('drawImage');\n }\n\n}\n\nexport class PaintContent {\n constructor(public ctx: CanvasRenderingContext2D, private viewOptions: ViewOptions) {\n this.init();\n }\n\n init(): void {\n this.ctx.textBaseline = 'alphabetic';\n }\n\n setGlobalAlpha(alpha: number): void {\n this.ctx.globalAlpha = alpha;\n }\n\n getGlobalAlpha(): number {\n return this.ctx.globalAlpha;\n }\n\n clear(): void {\n this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height);\n this.init();\n }\n\n drawText(text: string, textProps: TextProps, x: number, y: number, width: number, height: number): void {\n if (textProps.background) {\n this.fillRect(x, y, width, height, textProps.background);\n }\n this.ctx.save();\n this.ctx.fillStyle = textProps.color;\n this.ctx.font = textProps.getFont();\n const vertHeight = textProps.vertAlign === 'superscript' ? 0 : height;\n this.ctx.fillText(text, x, y + vertHeight - height / 7);\n this.ctx.restore();\n if (textProps.linethrough) {\n this.drawLine(x, y + (Math.ceil(height / 2)), width, textProps.color, 1);\n }\n if (textProps.underline) {\n this.drawLine(x, y + height, width, textProps.color, 1);\n }\n if (textProps.overline) {\n this.drawLine(x, y, width, textProps.color, 1);\n }\n }\n\n fillCircular(x: number, y: number, r: number, color: string = 'black'): void {\n this.ctx.save();\n this.ctx.beginPath();\n this.ctx.fillStyle = color;\n this.ctx.arc(x, y, r, 0, 2 * Math.PI);\n this.ctx.fill();\n this.ctx.restore();\n }\n\n drawTextUnits(textGroupRender: TextGroupRenderObject, x: number, y: number): void {\n const textEle = textGroupRender.element as TextGroupElement;\n const textProps = textEle.props;\n const { width, height } = textGroupRender.rect;\n this.ctx.save();\n this.ctx.fillStyle = textProps.color;\n this.ctx.font = textProps.getFont();\n if (textProps.background) {\n this.fillRect(x, y, width, height, textProps.background);\n }\n if (textProps.linethrough) {\n this.drawLine(x, y + (Math.ceil(height / 2)), width, textProps.color, 1);\n }\n if (textProps.underline) {\n this.drawLine(x, y + height, width, textProps.color, 1);\n }\n if (textProps.overline) {\n this.drawLine(x, y, width, textProps.color, 1);\n }\n let horX = 0;\n let vertHeight = height - (height / 7);\n if (textProps.vertAlign === 'superscript') {\n //到top\n vertHeight -= textProps.fontSize * 2 / 5;\n //top在向上收缩 -top行间距\n //vertHeight -= textProps.fontSize * this.getParaLineHeight(textEle) / 20\n }\n for (let i = 0; i < textGroupRender.textMeasures.length; i++) {\n const unit = textGroupRender.textMeasures[i];\n this.ctx.fillText(unit.char, x + horX, y + vertHeight);\n horX += unit.actualSize;\n }\n this.ctx.restore();\n }\n\n getParaLineHeight(textEle: TextGroupElement): number {\n const para = ElementUtil.getParentByType(textEle, ParagraphElement);\n if (!para) {\n throw new Error('未能找到父级段落元素')\n }\n return para.props.lineHeight;\n }\n\n measureText(text: string, textProps: TextProps): { width: number, height: number } {\n this.ctx.fillStyle = textProps.color;\n this.ctx.font = textProps.getFont();\n const textMeasure = this.ctx.measureText(text);\n return { width: textMeasure.width, height: textProps.fontSize };\n }\n\n\n measureTextUnits(units: Array<TextUnits>, textProps: TextProps): void {\n this.ctx.font = textProps.getFont();\n const letterSpace = textProps.letterSpace ?? 0;\n for (let i = 0; i < units.length; i++) {\n const char = units[i];\n const textMeasure = this.ctx.measureText(char.char);\n char.actualSize = textMeasure.width + letterSpace;\n char.sourceSize = textMeasure.width;\n }\n }\n\n clearRect(x: number, y: number, width: number, height: number): void {\n this.ctx.clearRect(x, y, width, height);\n }\n\n save(): void {\n this.ctx.save();\n }\n\n restore(): void {\n this.ctx.restore();\n }\n\n\n strokeRect(x: number, y: number, width: number, height: number, strokeColor = 'black', strokeWidth = 1): void {\n x = Math.ceil(x);\n y = Math.ceil(y);\n x += 0.5;\n y += 0.5;\n this.ctx.save();\n this.ctx.lineWidth = strokeWidth;\n this.ctx.strokeStyle = strokeColor;\n this.ctx.strokeRect(x, y, width, height);\n this.ctx.restore();\n //this.strokeLines([{ x, y }, { x: x + width, y }, { x: x + width, y: y + height }, { x, y: y + height }, { x, y }], strokeWidth, strokeColor);\n }\n\n //strokeRectImageData(x:number)\n\n drawLine(x: number, y: number, width: number, lineColor = 'black', lineWidth = 1): void {\n x = Math.ceil(x);\n y = Math.ceil(y);\n x += 0.5;\n y += 0.5;\n this.ctx.save();\n this.ctx.strokeStyle = lineColor;\n this.ctx.lineWidth = lineWidth;\n this.ctx.beginPath();\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(x + width, y);\n this.ctx.stroke();\n this.ctx.closePath();\n this.ctx.restore();\n }\n\n fillRect(x: number, y: number, width: number, height: number, fillColor = 'white', shadowBlur = 0, shadowColor = 'black'): void {\n x = Math.ceil(x);\n y = Math.ceil(y);\n x += 0.5;\n y += 0.5;\n this.ctx.save();\n this.ctx.fillStyle = fillColor;\n this.ctx.shadowBlur = shadowBlur;\n this.ctx.shadowColor = shadowColor;\n this.ctx.beginPath();\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(x + width, y);\n this.ctx.lineTo(x + width, y + height);\n this.ctx.lineTo(x, y + height);\n this.ctx.lineTo(x, y);\n this.ctx.fill();\n this.ctx.closePath();\n this.ctx.restore();\n }\n\n strokeLines(lines: Array<Position>, width = 1, strokeColor = 'black'): void {\n this.ctx.save();\n this.ctx.strokeStyle = strokeColor;\n this.ctx.lineWidth = width;\n this.ctx.lineCap = 'round';\n this.ctx.beginPath();\n for (let i = 0; i < lines.length; i++) {\n let { x, y } = lines[i];\n x = Math.ceil(x);\n y = Math.ceil(y);\n x += 0.5;\n y += 0.5;\n if (i === 0) {\n this.ctx.moveTo(x, y);\n } else {\n this.ctx.lineTo(x, y);\n }\n }\n this.ctx.stroke();\n this.ctx.closePath();\n this.ctx.restore();\n }\n\n fillLines(lines: Array<Position>, width = 1, fillColor = 'black'): void {\n this.ctx.save();\n this.ctx.beginPath();\n this.ctx.fillStyle = fillColor;\n this.ctx.lineWidth = width;\n for (let i = 0; i < lines.length; i++) {\n let { x, y } = lines[i];\n x = Math.ceil(x);\n y = Math.ceil(y);\n x += 0.5;\n y += 0.5;\n if (i === 0) {\n this.ctx.moveTo(x, y);\n } else {\n this.ctx.lineTo(x, y);\n }\n }\n this.ctx.stroke();\n this.ctx.closePath();\n this.ctx.restore();\n }\n\n\n drawCheckBox(x: number, y: number, width: number, height: number, isChecked: boolean): void {\n this.strokeRect(x, y, width, height, 'black', 1);\n if (isChecked) {\n const lines: Array<Position> = [];\n lines.push({ x: x + (Math.ceil(width / 4)), y: y + (Math.ceil(height / 2)) });\n lines.push({ x: x + (Math.ceil(width / 2)), y: y + (Math.floor(height * 3 / 4)) });\n lines.push({ x: x + (Math.ceil(width * 3 / 4)), y: y + (Math.ceil(height / 4)) });\n this.strokeLines(lines, 2, 'red');\n }\n }\n\n drawRadioBox(x: number, y: number, width: number, height: number, isChecked: boolean): void {\n x = x + Math.floor(width / 2);\n y = y + Math.floor(height / 2);\n width = Math.floor(width / 2);\n this.ctx.save();\n this.ctx.strokeStyle = 'black';\n this.ctx.beginPath();\n this.ctx.arc(x, y, width, 0, 2 * Math.PI);\n this.ctx.stroke();\n this.ctx.closePath();\n if (isChecked) {\n this.ctx.fillStyle = 'black';\n this.ctx.beginPath();\n this.ctx.arc(x, y, Math.floor(width / 5 * 3), 0, 2 * Math.PI);\n this.ctx.closePath();\n this.ctx.fill();\n }\n this.ctx.restore();\n }\n\n\n /**\n * 绘制图片\n * @param image\n * @param sx image的矩形(裁剪)选择框的左上角 X 轴坐标\n * @param sy image的矩形(裁剪)选择框的左上角 Y 轴坐标\n * @param sWidth image的矩形(裁剪)选择框的宽度\n * @param sHeight image的矩形(裁剪)选择框的高度\n * @param dx image的左上角在目标canvas上 X 轴坐标\n * @param dy image的左上角在目标canvas上 Y 轴坐标\n * @param dWidth image在目标canvas上绘制的宽度\n * @param dHeight image在目标canvas上绘制的高度\n */\n drawImage(image: HTMLImageElement, sx: number, sy: number, sWidth: number, sHeight: number, dx: number, dy: number, dWidth: number, dHeight: number): void {\n this.ctx.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);\n }\n\n drawDashLine(points: Array<Position>, lineDash: Array<number>, lineColor = 'black', lineWidth = 1): void {\n this.ctx.save();\n this.ctx.setLineDash(lineDash);\n this.ctx.strokeStyle = lineColor;\n this.ctx.lineWidth = lineWidth;\n this.ctx.beginPath();\n for (let i = 0; i < points.length; i++) {\n let { x, y } = points[i];\n x += 0.5;\n y += 0.5;\n if (i === 0) {\n this.ctx.moveTo(x, y);\n } else {\n this.ctx.lineTo(x, y);\n }\n }\n this.ctx.stroke();\n this.ctx.closePath();\n this.ctx.restore();\n }\n\n roundRect(x: number, y: number, width: number, height: number, radius: number | { tl: number, tr: number, br: number, bl: number }, fill: boolean, stroke: boolean) {\n x += 0.5;\n y += 0.5;\n if (typeof stroke === 'undefined') {\n stroke = true;\n }\n if (typeof radius === 'number') {\n radius = { tl: radius, tr: radius, br: radius, bl: radius };\n } else {\n var defaultRadius = { tl: 0, tr: 0, br: 0, bl: 0 };\n for (var side in defaultRadius) {\n radius[side] = radius[side] || defaultRadius[side];\n }\n }\n this.ctx.beginPath();\n this.ctx.lineWidth = 1;\n this.ctx.moveTo(x + radius.tl, y);\n this.ctx.lineTo(x + width - radius.tr, y);\n this.ctx.quadraticCurveTo(x + width, y, x + width, y + radius.tr);\n this.ctx.lineTo(x + width, y + height - radius.br);\n this.ctx.quadraticCurveTo(x + width, y + height, x + width - radius.br, y + height);\n this.ctx.lineTo(x + radius.bl, y + height);\n this.ctx.quadraticCurveTo(x, y + height, x, y + height - radius.bl);\n this.ctx.lineTo(x, y + radius.tl);\n this.ctx.quadraticCurveTo(x, y, x + radius.tl, y);\n this.ctx.closePath();\n if (fill) {\n this.ctx.fill();\n }\n if (stroke) {\n this.ctx.stroke();\n }\n\n }\n\n clip(x: number, y: number, width: number, height: number): void {\n this.ctx.save();\n this.ctx.beginPath();\n this.ctx.rect(x, y, width, height);\n this.ctx.clip();\n }\n\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"render-define.js","sourceRoot":"","sources":["../../src/med_editor/framework/render-define.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"render-define.js","sourceRoot":"lib/","sources":["framework/render-define.ts"],"names":[],"mappings":"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","sourcesContent":["import { Rect, Element, MarginProps, PaddingProps, Position } from './element-define'\nimport { RenderContenxtType } from './render-context';\n/**\n * 定义组件的UI形式的渲染\n */\nexport abstract class RenderObject<T extends Element = Element> {\n margin!: MarginProps;\n padding!: PaddingProps;\n rect: Rect = new Rect();\n parent!: BranchRenderObject;\n /**\n * 可点击性,例如:null-text 占位符元素不具备可点击能力\n */\n disableClick!: boolean;\n constructor(public element: T) {\n this.margin = new MarginProps();\n this.padding = new PaddingProps();\n }\n abstract clone(): RenderObject;\n pagePaintCompleted(ctx: RenderContenxtType, position: Position): void { }\n destroy(): void {\n //this.parent = null;\n //this.margin = null;\n //this.padding = null;\n //this.rect = null;\n //this.element = null;\n }\n\n /**\n * 获取内容区域框体\n * @param render \n * @returns \n */\n getInnnerRect(): Rect {\n const { padding } = this;\n const rect = new Rect();\n rect.x = padding.left;\n rect.y = padding.top;\n rect.maxWidth = this.rect.maxWidth - padding.left - padding.right;\n if (this.rect.maxHeight) {\n rect.maxHeight = this.rect.maxHeight - padding.top - padding.bottom;\n }\n return rect;\n }\n\n getInnerMaxWidth(): number {\n if (!this.rect.maxWidth) {\n throw new Error('this.rect.maxWidth is null')\n }\n const { padding, margin } = this;\n return this.rect.maxWidth - padding.left - padding.right - margin.left - margin.bottom;\n }\n\n /**\n * 根据内框内容高度,更新外框框体高度\n * @param render \n * @param innerRect \n */\n updateRenderHeight(innerRect: Rect | number): void {\n const innnerHeight = typeof innerRect === 'number' ? innerRect : (<Rect>innerRect).height;\n const { padding, margin } = this;\n //外层容器高度等于内容高度+外边距+内边距\n this.rect.height = innnerHeight + padding.top + padding.bottom;\n }\n\n getIndex(): number {\n if (this.parent) {\n return this.parent.getChildIndex(this);\n } else {\n return 0;\n }\n }\n}\n\n/**\n * 叶子节点渲染元素\n */\nexport abstract class LeafRenderObject<T extends Element = Element> extends RenderObject<T> {\n constructor(element: T | null) {\n super(element as T);\n }\n abstract render(ctx: RenderContenxtType, position: { x: number, y: number }): void;\n\n}\n\n/**\n * 枝干节点渲染元素\n */\nexport abstract class BranchRenderObject<T extends Element = Element> extends RenderObject<T> {\n constructor(element: T | null) {\n super(element as T);\n }\n private chilren: Array<RenderObject> = [];\n getItems(): Array<RenderObject> {\n return this.chilren;\n }\n\n addChild(...items: Array<RenderObject>): void {\n for (let i = 0; i < items.length; i++) {\n const item = items[i];\n item.parent = this;\n this.chilren.push(item);\n }\n }\n\n insertChild(item: RenderObject, index: number): void {\n this.chilren.splice(index, 0, item);\n item.parent = this;\n }\n\n removeChild(child: RenderObject): void {\n const index = this.chilren.indexOf(child);\n if (index < 0) {\n throw new Error('为查找到当前元素');\n }\n if (child.parent === this) {\n //child.parent = null;\n }\n this.chilren.splice(index, 1);\n }\n\n removeChildByIndex(index: number): void {\n const child = this.chilren[index];\n if (child) {\n this.chilren.splice(index, 1);\n //child.parent = null;\n } else {\n throw new Error('为查找到当前元素');\n }\n }\n\n clear(): void {\n const items = [...this.chilren];\n for (let i = items.length - 1; i >= 0; i--) {\n this.removeChildByIndex(i);\n }\n }\n get length() {\n return this.chilren.length;\n }\n\n\n getChild<T extends RenderObject = RenderObject>(index: number): T {\n return this.chilren[index] as T;\n }\n\n getChildIndex(child: RenderObject): number {\n return this.chilren.indexOf(child);\n }\n\n abstract beginRender(ctx: RenderContenxtType, position: Position): void;\n abstract endRender(ctx: RenderContenxtType, position: Position): void;\n\n destroy(): void {\n super.destroy();\n const len = this.length;\n for (let i = len - 1; i >= 0; i--) {\n const child = this.getChild(i);\n child.destroy();\n //this.removeChild(child);\n }\n this.chilren.length = 0;\n //this.chilren = null;\n }\n}\n\n\n/**\n * 块级渲染元素\n */\nexport abstract class BlockContentRenderObject<T extends Element = Element> extends BranchRenderObject<T> {\n setRenderWidth(maxWidth: number): void {\n this.rect.maxWidth = maxWidth;\n this.rect.width = maxWidth;\n }\n}\n\nexport abstract class InlineGroupRenderObject<T extends Element = Element> extends BranchRenderObject<T> {\n}\n\n/**\n * 包含块级渲染元素的容器元素,例如body、table-cell等\n */\nexport abstract class BlockContainerRenderObject<T extends Element = Element> extends BranchRenderObject<T> {\n setRenderWidth(maxWidth: number): void {\n this.rect.maxWidth = maxWidth;\n this.rect.width = maxWidth;\n }\n}\n\n/**\n * 多级 ‘BlockLineRectRenderObject’ 包裹元素,例如 p、table\n */\nexport abstract class MuiltBlockLineRenderObject<T extends Element = Element> extends BlockContentRenderObject<T> { }\n\n/**\n * 容器-子内容为多个行内块级元素,例如table-row\n */\nexport abstract class InlineBlockContainer extends MuiltBlockLineRenderObject { }\n\n/**\n * 服务于table-cell\n * 可被多级拆分的元素\n */\nexport abstract class InlineMuiltBlockLineRenderObject extends MuiltBlockLineRenderObject { }\n\n/**\n * 最小不可分割单位的块级行框,例如 p-line\n * 一行不可存在于两个页面中,块级行框不能分布在两个页面中\n */\nexport abstract class BlockLineRectRenderObject extends BlockContentRenderObject { }\n\n\nexport type BorderType = 'left' | 'right' | 'top' | 'bottom' | 'left-middle' | 'right-middle' | 'top-middle' | 'bottom-middle' | 'none' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom';\nexport type CursorType = 'text' | 'row-resize' | 'col-resize' | 'none' | 'default' | 'move' | 'pointer' | 'w-resize' | 's-resize' | 'se-resize' | 'ne-resize';\nexport enum RenderObjectType {\n Branch = 0,\n Leaf = 1\n}\n\nexport interface IMeasureRenderStruct<T> {\n rect: Rect,\n render: T\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"selection-overlays.js","sourceRoot":"","sources":["
|
1
|
+
{"version":3,"file":"selection-overlays.js","sourceRoot":"lib/","sources":["framework/selection-overlays.ts"],"names":[],"mappings":"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","sourcesContent":["import { SelectionState } from \"./document-selection\"\nimport { ElementUtil } from \"./element-util\";\nimport { BranchElement, Element, LeafElement, SelectionContentRange } from \"./element-define\";\nimport { RangeUtil } from \"./range-util\";\nimport { TableElement } from \"./impl/table/table-impl\";\nimport { TableCellElement } from \"./impl/table/table-cell-impl\";\n\n\n\n\n/**\n * 用于处理选区拖蓝\n */\nexport class SelectionOverlays {\n private selectionRange!: SelectionContentRange | null;\n selectedSets: Map<Element, SelectionContentRange> = new Map();\n constructor(private selectionState: SelectionState) { }\n\n getSelectionTreeData(): void {\n let { ancestorCommonControl, startControl, startOffset, endControl, endOffset, collapsed } = this.selectionState;\n this.selectedSets.clear();\n if (this.selectionRange) {\n this.selectionRange.selectedChildren.length = 0;\n }\n this.selectionRange = null;\n if (!startControl || !endControl || !ancestorCommonControl) {\n //this.selectionRange?.selectedChildren.length=0;\n this.selectionState.selectedRange = null;\n return;\n }\n if (collapsed) {\n const commonRange = RangeUtil.getSelctionRange(startControl, startOffset, endControl, endOffset, ancestorCommonControl);\n this.selectionState.selectedRange = commonRange;\n this.selectedSets.clear();\n return;\n }\n const fixStartElement = this.fixStartSelectionElement(startControl, startOffset, ancestorCommonControl);\n startControl = fixStartElement.element;\n startOffset = fixStartElement.offset;\n const fixEndElement = this.fixEndSelectionElement(endControl, endOffset, ancestorCommonControl);\n endControl = fixEndElement.element;\n endOffset = fixEndElement.offset;\n const commonRange = RangeUtil.getSelctionRange(startControl, startOffset, endControl, endOffset, ancestorCommonControl);\n //console.log(commonRange);\n this.selectionRange = commonRange;\n this.convertSelectRangeToSet();\n this.selectionState.selectedRange = commonRange;\n }\n\n private convertSelectRangeToSet(): void {\n this.selectedSets.clear();\n if (this.selectionRange) {\n SelectionOverlays.addToSets(this.selectionRange, this.selectedSets);\n }\n }\n\n static addToSets(range: SelectionContentRange, set: Map<Element, SelectionContentRange>): void {\n set.set(range.target, range);\n for (let i = 0; i < range.selectedChildren.length; i++) {\n //单元格全部选中效果,单元格整个拖蓝即可\n if (range.isFullSelected && range.target.type === 'tbc') {\n continue;\n }\n this.addToSets(range.selectedChildren[i], set);\n }\n }\n\n /**\n * 添加到批注集合\n * @param range \n * @param set \n */\n static addToCommentSets(range: SelectionContentRange, set: Map<Element, SelectionContentRange>): void {\n set.set(range.target, range);\n for (let i = 0; i < range.selectedChildren.length; i++) {\n this.addToCommentSets(range.selectedChildren[i], set);\n }\n }\n\n /**\n * 修正开始选区内容\n * 1.如果当前选区开始于表格内容,结束选区位于表格外,则需要开始选区内容重定位到单元格第一个元素\n */\n private fixStartSelectionElement(element: LeafElement, offset: number, ancestorCommonControl: BranchElement): { element: LeafElement, offset: number } {\n if (!(ancestorCommonControl instanceof TableElement)) {\n const lookupParentCell = ElementUtil.getParentByType(element, TableCellElement);\n if (lookupParentCell) {\n if (!lookupParentCell.parent || !lookupParentCell.parent.parent) {\n }\n const lookupParentTbIndex = ElementUtil.getControlIndex(lookupParentCell.parent.parent);\n const ancestorCommonControlIndex = ElementUtil.getControlIndex(ancestorCommonControl);\n if (ancestorCommonControlIndex < lookupParentTbIndex) {\n const rowFirstLeafElement = ElementUtil.getFirstLeafElement(lookupParentCell.parent);\n if (!rowFirstLeafElement) {\n throw new Error('当前元素处于表格内元素,未能定位到当前单元格首个元素');\n }\n return {\n element: rowFirstLeafElement,\n offset: 0\n };\n }\n }\n }\n return { element, offset };\n }\n\n /**\n * 修正开始选区内容\n * 1.如果当前选区开始于表格内容,结束选区位于表格外,则需要开始选区内容重定位到单元格第一个元素\n */\n private fixEndSelectionElement(element: LeafElement, offset: number, ancestorCommonControl: BranchElement): { element: LeafElement, offset: number } {\n if (!(ancestorCommonControl instanceof TableElement)) {\n const lookupParentCell = ElementUtil.getParentByType(element, TableCellElement);\n if (lookupParentCell) {\n const lookupParentTbIndex = ElementUtil.getControlIndex(lookupParentCell.parent.parent);\n const ancestorCommonControlIndex = ElementUtil.getControlIndex(ancestorCommonControl);\n if (ancestorCommonControlIndex < lookupParentTbIndex) {\n const rowLastLeafElement = ElementUtil.getLastLeafElement(lookupParentCell.parent);\n if (!rowLastLeafElement) {\n const rowLastLeafElement = ElementUtil.getLastLeafElement(lookupParentCell.parent);\n throw new Error('当前元素处于表格内元素,未能定位到当前单元格首个元素');\n }\n return {\n element: rowLastLeafElement,\n offset: 1\n };\n }\n }\n }\n return { element, offset };\n }\n\n}"]}
|