@hailin-zheng/editor-core 1.0.14 → 1.0.18

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.
Files changed (144) hide show
  1. package/README.md +1613 -0
  2. package/lib/doc-ruler.js +1 -1
  3. package/lib/doc-ruler.js.map +1 -1
  4. package/lib/framework/common-util.js +1 -1
  5. package/lib/framework/common-util.js.map +1 -1
  6. package/lib/framework/document-change.js +1 -1
  7. package/lib/framework/document-change.js.map +1 -1
  8. package/lib/framework/document-combine.js +1 -1
  9. package/lib/framework/document-combine.js.map +1 -1
  10. package/lib/framework/document-comment.js +1 -1
  11. package/lib/framework/document-comment.js.map +1 -1
  12. package/lib/framework/document-context.js +1 -1
  13. package/lib/framework/document-context.js.map +1 -1
  14. package/lib/framework/document-eval-func.js +1 -1
  15. package/lib/framework/document-eval-func.js.map +1 -1
  16. package/lib/framework/document-event.js +1 -1
  17. package/lib/framework/document-event.js.map +1 -1
  18. package/lib/framework/document-history.js +1 -1
  19. package/lib/framework/document-history.js.map +1 -1
  20. package/lib/framework/document-images-loader.js +1 -1
  21. package/lib/framework/document-images-loader.js.map +1 -1
  22. package/lib/framework/document-input-cursor.js +1 -1
  23. package/lib/framework/document-input-cursor.js.map +1 -1
  24. package/lib/framework/document-paint.js +1 -1
  25. package/lib/framework/document-paint.js.map +1 -1
  26. package/lib/framework/document-print-offscreen.js +1 -1
  27. package/lib/framework/document-print-offscreen.js.map +1 -1
  28. package/lib/framework/document-print.js +1 -1
  29. package/lib/framework/document-print.js.map +1 -1
  30. package/lib/framework/document-segmenter.js +1 -1
  31. package/lib/framework/document-segmenter.js.map +1 -1
  32. package/lib/framework/document-selection.js +1 -1
  33. package/lib/framework/document-selection.js.map +1 -1
  34. package/lib/framework/document-template.js +1 -1
  35. package/lib/framework/document-template.js.map +1 -1
  36. package/lib/framework/document-textline-mode.js +1 -1
  37. package/lib/framework/document-textline-mode.js.map +1 -1
  38. package/lib/framework/element-define.js +1 -1
  39. package/lib/framework/element-define.js.map +1 -1
  40. package/lib/framework/element-event-define.js +1 -1
  41. package/lib/framework/element-event-define.js.map +1 -1
  42. package/lib/framework/element-measure.js +1 -1
  43. package/lib/framework/element-measure.js.map +1 -1
  44. package/lib/framework/element-paint.js +1 -1
  45. package/lib/framework/element-paint.js.map +1 -1
  46. package/lib/framework/element-props.js +1 -1
  47. package/lib/framework/element-props.js.map +1 -1
  48. package/lib/framework/element-reader.js +1 -1
  49. package/lib/framework/element-reader.js.map +1 -1
  50. package/lib/framework/element-render-cut.js +1 -1
  51. package/lib/framework/element-render-cut.js.map +1 -1
  52. package/lib/framework/element-serialize.js +1 -1
  53. package/lib/framework/element-serialize.js.map +1 -1
  54. package/lib/framework/element-util.js +1 -1
  55. package/lib/framework/element-util.js.map +1 -1
  56. package/lib/framework/impl/checkbox/checkbox-impl.js +1 -1
  57. package/lib/framework/impl/checkbox/checkbox-impl.js.map +1 -1
  58. package/lib/framework/impl/comments/comment-content-impl.js +1 -1
  59. package/lib/framework/impl/comments/comment-content-impl.js.map +1 -1
  60. package/lib/framework/impl/comments/comment-element-impl.js +1 -1
  61. package/lib/framework/impl/comments/comment-element-impl.js.map +1 -1
  62. package/lib/framework/impl/comments/comments-container-impl.js +1 -1
  63. package/lib/framework/impl/comments/comments-container-impl.js.map +1 -1
  64. package/lib/framework/impl/comments/comments-util.js +1 -1
  65. package/lib/framework/impl/comments/comments-util.js.map +1 -1
  66. package/lib/framework/impl/comments/validate-msg-impl.js +1 -1
  67. package/lib/framework/impl/comments/validate-msg-impl.js.map +1 -1
  68. package/lib/framework/impl/data-element/data-decorate-impl.js +1 -1
  69. package/lib/framework/impl/data-element/data-decorate-impl.js.map +1 -1
  70. package/lib/framework/impl/data-element/data-element-barcode.js +1 -1
  71. package/lib/framework/impl/data-element/data-element-barcode.js.map +1 -1
  72. package/lib/framework/impl/data-element/data-element-base-impl.js +1 -1
  73. package/lib/framework/impl/data-element/data-element-base-impl.js.map +1 -1
  74. package/lib/framework/impl/data-element/data-element-check-impl.js +1 -1
  75. package/lib/framework/impl/data-element/data-element-check-impl.js.map +1 -1
  76. package/lib/framework/impl/data-element/data-element-date-impl.js +1 -1
  77. package/lib/framework/impl/data-element/data-element-date-impl.js.map +1 -1
  78. package/lib/framework/impl/data-element/data-element-group-impl.js +1 -1
  79. package/lib/framework/impl/data-element/data-element-group-impl.js.map +1 -1
  80. package/lib/framework/impl/data-element/data-element-image-impl.js +1 -1
  81. package/lib/framework/impl/data-element/data-element-image-impl.js.map +1 -1
  82. package/lib/framework/impl/data-element/data-element-list-impl.js +1 -1
  83. package/lib/framework/impl/data-element/data-element-list-impl.js.map +1 -1
  84. package/lib/framework/impl/data-element/data-element-text-impl.js +1 -1
  85. package/lib/framework/impl/data-element/data-element-text-impl.js.map +1 -1
  86. package/lib/framework/impl/decorate/fill-null-space-imple.js +1 -1
  87. package/lib/framework/impl/decorate/fill-null-space-imple.js.map +1 -1
  88. package/lib/framework/impl/document/doc-body-impl.js +1 -1
  89. package/lib/framework/impl/document/doc-body-impl.js.map +1 -1
  90. package/lib/framework/impl/document/doc-body-part-impl.js +1 -1
  91. package/lib/framework/impl/document/doc-body-part-impl.js.map +1 -1
  92. package/lib/framework/impl/document/doc-container-impl.js +1 -1
  93. package/lib/framework/impl/document/doc-container-impl.js.map +1 -1
  94. package/lib/framework/impl/document/doc-footer-impl.js +1 -1
  95. package/lib/framework/impl/document/doc-footer-impl.js.map +1 -1
  96. package/lib/framework/impl/document/doc-header-impl.js +1 -1
  97. package/lib/framework/impl/document/doc-header-impl.js.map +1 -1
  98. package/lib/framework/impl/document/doc-impl.js +1 -1
  99. package/lib/framework/impl/document/doc-impl.js.map +1 -1
  100. package/lib/framework/impl/media-formula/menstrual-history.js +1 -1
  101. package/lib/framework/impl/media-formula/menstrual-history.js.map +1 -1
  102. package/lib/framework/impl/paragraph/p-impl.js +1 -1
  103. package/lib/framework/impl/paragraph/p-impl.js.map +1 -1
  104. package/lib/framework/impl/picture/image-impl.js +1 -1
  105. package/lib/framework/impl/picture/image-impl.js.map +1 -1
  106. package/lib/framework/impl/radio/radio-impl.js +1 -1
  107. package/lib/framework/impl/radio/radio-impl.js.map +1 -1
  108. package/lib/framework/impl/symbol/br-symbol-impl.js +1 -1
  109. package/lib/framework/impl/symbol/br-symbol-impl.js.map +1 -1
  110. package/lib/framework/impl/symbol/p-symbol-impl.js +1 -1
  111. package/lib/framework/impl/symbol/p-symbol-impl.js.map +1 -1
  112. package/lib/framework/impl/table/table-cell-impl.js +1 -1
  113. package/lib/framework/impl/table/table-cell-impl.js.map +1 -1
  114. package/lib/framework/impl/table/table-impl.js +1 -1
  115. package/lib/framework/impl/table/table-impl.js.map +1 -1
  116. package/lib/framework/impl/table/table-row-impl.js +1 -1
  117. package/lib/framework/impl/table/table-row-impl.js.map +1 -1
  118. package/lib/framework/impl/table/table-split-cell-patch.js +1 -1
  119. package/lib/framework/impl/table/table-split-cell-patch.js.map +1 -1
  120. package/lib/framework/impl/table/table-split-cell.js +1 -1
  121. package/lib/framework/impl/table/table-split-cell.js.map +1 -1
  122. package/lib/framework/impl/table/table-util.js +1 -1
  123. package/lib/framework/impl/table/table-util.js.map +1 -1
  124. package/lib/framework/impl/text/text-impl.js +1 -1
  125. package/lib/framework/impl/text/text-impl.js.map +1 -1
  126. package/lib/framework/impl/text/track-run-impl.js +1 -1
  127. package/lib/framework/impl/text/track-run-impl.js.map +1 -1
  128. package/lib/framework/notify.js +1 -1
  129. package/lib/framework/notify.js.map +1 -1
  130. package/lib/framework/range-util.js +1 -1
  131. package/lib/framework/range-util.js.map +1 -1
  132. package/lib/framework/render-context.js +1 -1
  133. package/lib/framework/render-context.js.map +1 -1
  134. package/lib/framework/render-define.js +1 -1
  135. package/lib/framework/render-define.js.map +1 -1
  136. package/lib/framework/selection-overlays.js +1 -1
  137. package/lib/framework/selection-overlays.js.map +1 -1
  138. package/lib/texteditor.js +1 -1
  139. package/lib/texteditor.js.map +1 -1
  140. package/lib/util/subject.js +1 -1
  141. package/lib/util/subject.js.map +1 -1
  142. package/lib/util/table-bind.js +1 -1
  143. package/lib/util/table-bind.js.map +1 -1
  144. package/package.json +23 -26
@@ -1 +1 @@
1
- {"version":3,"file":"element-util.js","sourceRoot":"lib/","sources":["framework/element-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element-util.js","sourceRoot":"lib/","sources":["framework/element-util.ts"],"names":[],"mappings":"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","sourcesContent":["import { nanoid } from \"nanoid\";\nimport { EditorContext } from \"./document-context\";\nimport {\n BlockContainerElement,\n BranchElement,\n Element,\n LeafElement,\n Position,\n Rect,\n SelectionContentRange,\n ViewOptions\n} from \"./element-define\";\nimport { HitRegion } from \"./element-event-define\";\nimport { DataEleBaseProps, TextProps } from \"./element-props\";\nimport { CommsContainerElement } from \"./impl/comments/comments-container-impl\";\nimport { DataElementInlineGroup} from \"./impl/data-element/data-element-base-impl\";\nimport { DocumentBodyElement } from \"./impl/document/doc-body-impl\";\nimport { DocumentFooterElement } from \"./impl/document/doc-footer-impl\";\nimport { DocumentHeaderElement } from \"./impl/document/doc-header-impl\";\nimport { DocumentRenderObject } from \"./impl/document/doc-impl\";\nimport { ParagraphElement, ParagraphLineRectRenderObject, ParagraphRenderObject } from \"./impl/paragraph/p-impl\";\nimport { PSymbolElement } from \"./impl/symbol/p-symbol-impl\";\nimport { TableCellElement, TableCellRenderObject } from \"./impl/table/table-cell-impl\";\nimport { TableElement, TableRenderObject } from \"./impl/table/table-impl\";\nimport { TableRowElement, TableRowRenderObject } from \"./impl/table/table-row-impl\";\nimport { TextGroupElement, TextGroupRenderObject } from \"./impl/text/text-impl\";\nimport { TrackRunElement, TrackRunTypeEnum } from \"./impl/text/track-run-impl\";\nimport {\n BlockContainerRenderObject,\n BlockContentRenderObject,\n BorderType,\n BranchRenderObject,\n CursorType,\n InlineGroupRenderObject,\n LeafRenderObject,\n RenderObject\n} from \"./render-define\";\n\n\ntype PAIR = { x: number, y: number };\n\nexport class ElementUtil {\n\n\n static setCanvasProps(canvas: HTMLCanvasElement, ctx: CanvasRenderingContext2D, viewOptions: { width: number, height: number }, scale: number = 1): void {\n // if (canvas instanceof OffscreenCanvas) {\n // this.setOffscreenCanvas(canvas, ctx as OffscreenCanvasRenderingContext2D, viewOptions, scale);\n // return\n // }\n const { width, height } = viewOptions;\n let dpr = window.devicePixelRatio || 1;\n if (scale > 1) {\n dpr *= scale;\n }\n dpr = Math.ceil(dpr);\n const scaleWidth = Math.floor(width * dpr) / dpr;\n const scaleHeight = Math.floor(height * dpr) / dpr;\n canvas.style.width = scaleWidth + 'px';\n canvas.style.height = scaleHeight + 'px';\n canvas.width = scaleWidth * dpr;\n canvas.height = scaleHeight * dpr;\n ctx.scale(dpr, dpr);\n }\n\n // static setOffscreenCanvas(canvas: OffscreenCanvas, ctx: OffscreenCanvasRenderingContext2D, viewOptions: { width: number, height: number }, scale: number = 1): void {\n\n // const { width, height } = viewOptions;\n // let dpr = window.devicePixelRatio || 1;\n // if (scale > 1) {\n // dpr *= scale;\n // }\n // dpr = Math.ceil(dpr);\n // const scaleWidth = Math.floor(width * dpr) / dpr;\n // const scaleHeight = Math.floor(height * dpr) / dpr;\n // canvas.width = scaleWidth * dpr;\n // canvas.height = scaleHeight * dpr;\n // ctx.scale(dpr, dpr);\n // }\n\n static getDprNumber(val: number, scale: number = 1): number {\n let dpr = window.devicePixelRatio || 1;\n if (scale > 1) {\n dpr *= scale;\n }\n dpr = Math.ceil(dpr);\n return Math.floor(val * dpr) / dpr\n }\n\n static readTextProps(dest: TextProps | null, props: TextProps | undefined, options: ViewOptions): TextProps {\n if (!props) {\n return this.createTextProps(dest, options);\n }\n const textProps = dest ?? new TextProps();\n textProps.color = props.color || options.defaultColor;\n textProps.fontName = props.fontName || options.defaultFontName;\n textProps.fontSize = props.fontSize || options.defaultFontSize;\n textProps.border = props.border;\n if (props.fontWeight) {\n textProps.fontWeight = props.fontWeight;\n }\n if (props.fontStyle) {\n textProps.fontStyle = props.fontStyle;\n }\n if (props.underline) {\n textProps.underline = props.underline;\n }\n if (props.linethrough) {\n textProps.linethrough = props.linethrough;\n }\n if (props.overline) {\n textProps.overline = props.overline;\n }\n if (props.background) {\n textProps.background = props.background;\n }\n if (props.letterSpace) {\n textProps.letterSpace = props.letterSpace;\n }\n if (props.vertAlign) {\n textProps.vertAlign = props.vertAlign;\n }\n return textProps;\n }\n\n static readEleBaseProps(dest: DataEleBaseProps, props: DataEleBaseProps): DataEleBaseProps {\n dest.id = props.id ?? nanoid(5);\n dest.name = props.name;\n dest.caption = props.caption;\n dest.editable = props.editable ?? true;\n dest.fieldName = props.fieldName;\n dest.minLength = props.minLength;\n dest.printable = props.printable ?? true;\n dest.required = props.required;\n dest.secretBrowse = props.secretBrowse;\n dest.deleteable = props.deleteable;\n dest.underline = props.underline;\n dest.type = props.type;\n return dest;\n }\n\n /**\n * 获取内容区域最大高度\n * @param render\n * @param renderHeight\n * @returns\n */\n static innerRectMaxHeight(render: RenderObject, renderHeight: number): number {\n const { padding } = render;\n return renderHeight - padding.top - padding.bottom;\n }\n\n /**\n * 根据内框内容高度,更新外框框体高度\n * @param render\n * @param innerRect\n */\n static updateRenderHeightByInnerRect(render: RenderObject, innerRect: Rect): void {\n const { padding, margin } = render;\n //外层容器高度等于内容高度+外边距+内边距\n render.rect.height = innerRect.height + margin.top + margin.bottom + padding.top + padding.bottom;\n }\n\n /**\n * 设置块级元素限制尺寸\n * @param render\n * @param parentLimitRect\n */\n static setBlockElementLimitSize(render: BlockContainerRenderObject | BlockContentRenderObject, parentLimitRect: Rect): void {\n render.rect.x = parentLimitRect.x;\n render.rect.y = parentLimitRect.y + parentLimitRect.height;\n render.rect.width = parentLimitRect.maxWidth ?? 0;\n render.rect.maxWidth = parentLimitRect.maxWidth;\n if (parentLimitRect.maxHeight) {\n render.rect.maxHeight = parentLimitRect.maxHeight - parentLimitRect.height;\n }\n }\n\n /**\n * 克隆框体\n * @param rect\n * @returns\n */\n static cloneRect(rect: Rect): Rect {\n const cloneRect = new Rect();\n cloneRect.x = rect.x;\n cloneRect.y = rect.y;\n cloneRect.width = rect.width;\n cloneRect.height = rect.height;\n cloneRect.maxHeight = rect.maxHeight;\n cloneRect.maxWidth = rect.maxWidth;\n return cloneRect;\n }\n\n /**\n * 重新限定子元素以及当前高度值,并返回内边框内容高度\n * @param render\n * @param resetX 测量段落外框时,内框不需要重置x,因为内框已经存在对齐\n * @returns\n */\n static remeasure(render: BlockContainerRenderObject | BlockContentRenderObject, resetX = true): number {\n if (render.rect.width === 0) {\n return -1;\n }\n if (render instanceof TableRowRenderObject) {\n return this.remeasureTableRow(render);\n }\n if (render instanceof TableRenderObject) {\n this.remeasureTableMerge(render);\n }\n const innerRect = render.getInnnerRect();\n for (let i = 0; i < render.length; i++) {\n const line = render.getChild(i);\n if (resetX) {\n line.rect.x = innerRect.x;\n }\n line.rect.y = innerRect.height + innerRect.y + line.margin.top;\n line.rect.maxWidth = innerRect.maxWidth;\n innerRect.height += line.rect.height + line.margin.top + line.margin.bottom;\n }\n render.updateRenderHeight(innerRect);\n return innerRect.height;\n }\n\n static remeasureTableRow(rowRender: TableRowRenderObject, foreceColIndex = -1): number {\n const rowEle = rowRender.element as TableRowElement;\n const rowMinHeight = rowEle.props.minHeight > 19 ? rowEle.props.minHeight : 19;\n let maxCellheight = rowMinHeight;\n //限制行最小高度\n maxCellheight = maxCellheight < 19 ? 19 : maxCellheight;\n //获取行内非纵向合并单元格的最高单元格高度\n for (let i = 0; i < rowRender.length; i++) {\n const cellRender = rowRender.getChild(i);\n const { vMerge } = (<TableCellElement>cellRender.element).props;\n if (cellRender.rect.height > maxCellheight && (vMerge !== 'restart' || i === foreceColIndex)) {\n maxCellheight = cellRender.rect.height;\n }\n }\n //循环设置单元格高度为行内最大单元格高度\n for (let i = 0; i < rowRender.length; i++) {\n const cellRender = rowRender.getChild(i) as TableCellRenderObject;\n const cellElement = <TableCellElement>cellRender.element;\n const { vMerge } = cellElement.props;\n if ((vMerge !== 'restart' || i === foreceColIndex) || cellRender.rect.height < maxCellheight) {\n cellRender.rect.height = maxCellheight;\n }\n //处理单元格内容纵向居中\n this.measureCellVAlign(cellRender);\n }\n //设置行高\n rowRender.updateRenderHeight(maxCellheight);\n return maxCellheight;\n }\n\n /**\n * 获取表格行绘制元素的内容高度,用于缩放行高度时,获取最小内容高度,缩放的高度不能小于内容最小高度\n */\n static getTableRowRenderContentHeight(rowRender: TableRowRenderObject): number {\n const rowEle = rowRender.element as TableRowElement;\n let maxCellheight = 19;\n //限制行最小高度\n //获取行内非纵向合并单元格的最高单元格高度\n for (let i = 0; i < rowRender.length; i++) {\n const cellRender = rowRender.getChild(i) as TableCellRenderObject;\n const cellContentHeight = this.getTableCellRenderContentHeight(cellRender);\n const { vMerge } = (<TableCellElement>cellRender.element).props;\n if (cellContentHeight > maxCellheight && vMerge !== 'restart') {\n maxCellheight = cellContentHeight;\n }\n }\n return maxCellheight;\n }\n\n /**\n * 获取单元格内容高度\n * 单元格暂不处理上下margin、padding\n * @param cellRender\n * @returns\n */\n static getTableCellRenderContentHeight(cellRender: TableCellRenderObject): number {\n let contentHeight = 0;\n for (let i = 0; i < cellRender.length; i++) {\n contentHeight += cellRender.getChild(i).rect.height;\n }\n return contentHeight;\n }\n\n /**\n * 处理单元格内容纵向对齐\n * @param render\n */\n private static measureCellVAlign(render: TableCellRenderObject): void {\n const tcElement = render.element as TableCellElement;\n const { vAlign } = tcElement.props;\n if (!vAlign || vAlign === 'top') {\n return;\n }\n let sumHeight = 0;\n for (let i = 0; i < render.length; i++) {\n sumHeight += render.getChild(i).rect.height;\n }\n let spaceHeight = 0;\n spaceHeight = vAlign === 'middle' ? Math.floor((render.rect.height - sumHeight) / 2) : vAlign === 'bottom' ? render.rect.height - sumHeight : 0\n if (spaceHeight <= 0) {\n return;\n }\n let y = spaceHeight;\n for (let i = 0; i < render.length; i++) {\n render.getChild(i).rect.y = y;\n y += render.getChild(i).rect.height;\n }\n }\n\n /**\n * 重新测量合并单元格高度\n * @param tbRender\n * @returns\n */\n static remeasureTableMerge(tbRender: TableRenderObject): void {\n //是否需要重新计算,主要解决:之前合并计算的列,可能会被后面合并计算的列所影响,需要再次重新计算测量\n let needReCalc = false;\n for (let i = 0; i < tbRender.length; i++) {\n const row = tbRender.getChild(i) as TableRowRenderObject;\n for (let j = 0; j < row.length; j++) {\n const cellRender = row.getChild(j) as TableCellRenderObject;\n const ele = cellRender.element as TableCellElement;\n const { vMerge } = ele.props;\n if (vMerge === 'restart') {\n const eleIndex = ele.getIndex();\n const continueRows = this.getContinueVMergeRenderRows(tbRender, i, eleIndex);\n if (!continueRows.length) {\n //向下不存在合并的单元格,当前合并的单元格是被cut过来的,并且当前单元格高度高于行内高度需要remeasure当前行\n if (cellRender.rect.height > row.rect.height) {\n this.remeasureTableRow(row, j);\n needReCalc = true;\n }\n continue;\n }\n const continueCellHeight = continueRows.reduce((prev, curr) => prev + curr.rect.height, 0)\n const overflowHeight = cellRender.rect.height - row.rect.height - continueCellHeight;\n //溢出的高度加到最后一个合并单元格中\n if (overflowHeight > 0) {\n const lastRow = continueRows[continueRows.length - 1];\n lastRow.rect.height += overflowHeight;\n this.resizeCellToFillRow(lastRow);\n needReCalc = true;\n } else {\n cellRender.rect.height = row.rect.height + continueCellHeight;\n }\n }\n }\n }\n if (needReCalc) {\n this.remeasureTableMerge(tbRender);\n return;\n }\n }\n\n /**\n * 获取向下纵向合并的行\n * @param render\n * @param rowIndex\n * @param colIndex\n * @returns\n */\n private static getContinueVMergeRenderRows(render: TableRenderObject, rowIndex: number, colIndex: number): TableRowRenderObject[] {\n const rows: Array<TableRowRenderObject> = [];\n for (let i = rowIndex + 1; i < render.length; i++) {\n const rowRender = render.getChild(i) as TableRowRenderObject;\n const rowEle = rowRender.element as TableRowElement;\n const ele = rowEle.getChild(colIndex) as TableCellElement;\n const { vMerge } = ele.props;\n if (vMerge !== 'continue') {\n break;\n }\n rows.push(rowRender);\n }\n return rows;\n }\n\n /**\n * 根据横向当前被合并的单元格\n * @param tb\n * @param rowIndex\n * @param colIndex\n */\n static getHorizontalRestartCellIndex(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\n */\n static getVerticalRestartCellIndex(tb: TableElement, rowIndex: number, colIndex: number): number {\n for (let i = rowIndex - 1; i >= 0; i--) {\n const row = tb.getChild(i) as TableRowElement;\n const cell = row.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 tb\n * @param rowIndex\n * @param colIndex\n * @returns\n */\n static getRestartCellPosition(tb: TableElement, rowIndex: number, colIndex: number): { rowIndex: number, colIndex: number } {\n const row = tb.getChild(rowIndex) as TableRowElement;\n const cell = row.getChild(colIndex) as TableCellElement;\n if (cell.props.hMerge === 'continue') {\n const restartCellIndex = this.getHorizontalRestartCellIndex(tb, rowIndex, colIndex);\n return this.getRestartCellPosition(tb, rowIndex, restartCellIndex);\n }\n if (cell.props.vMerge === 'continue') {\n const restartRowIndex = this.getVerticalRestartCellIndex(tb, rowIndex, colIndex);\n return this.getRestartCellPosition(tb, restartRowIndex, colIndex);\n }\n return { rowIndex, colIndex }\n }\n\n /**\n * 调整单元格高度填满整个行的高度\n */\n private static resizeCellToFillRow(row: TableRowRenderObject): void {\n for (let i = 0; i < row.length; i++) {\n const cell = row.getChild(i);\n cell.rect.height = row.rect.height;\n }\n }\n\n\n /**\n * 获取元素的全局索引位置\n * @param control\n * @returns\n */\n static getControlIndex(control: Element): number {\n const parent = control.parent;\n if (parent) {\n const index = control.getIndex();\n let counter = 1;\n for (let i = 0; i < index; i++) {\n const child = parent.getChild(i);\n counter += child.getSelfLength();\n }\n return counter + this.getControlIndex(parent);\n } else {\n return 0;\n }\n }\n\n /**\n * 根据全局索引位置获取元素\n * @param control\n * @param counter\n * @returns\n */\n static getControlByIndex(control: Element, counter: { currIndex: number, index: number }): Element | null {\n counter.currIndex++;\n if (counter.currIndex === counter.index) {\n return control;\n }\n if (control instanceof LeafElement) {\n return null;\n } else if (control instanceof BranchElement) {\n for (let i = 0; i < control.length; i++) {\n const res = this.getControlByIndex(control.getChild(i), counter);\n if (res) {\n return res;\n }\n }\n }\n return null;\n }\n\n /**\n * 获取同级紧挨前方的兄弟元素\n * @param element\n * @returns\n */\n static getPrevSiblingElement(element: Element): Element | null {\n const parent = element.parent;\n if (!parent) {\n return null;\n }\n if (parent) {\n const index = parent.getChildIndex(element);\n if (index > 0) {\n return parent.getChild(index - 1);\n }\n }\n return null;\n }\n\n /**\n * 获取同级紧挨下方的元素\n * @param element\n * @returns\n */\n static getNextSiblingElement(element: Element): Element | null {\n const parent = element.parent;\n if (!parent) {\n return null;\n }\n if (parent) {\n const index = parent.getChildIndex(element);\n if (index < parent.length - 1) {\n return parent.getChild(index + 1)\n }\n }\n return null;\n }\n\n static getNextSiblingTrackElement(element: Element, type: TrackRunTypeEnum, userId: string): TrackRunElement | null {\n const nextSiblingEle = this.getNextSiblingElement(element);\n if (nextSiblingEle instanceof TrackRunElement) {\n if (nextSiblingEle.type === type && nextSiblingEle.props.userId === userId) {\n return nextSiblingEle;\n }\n }\n return null;\n }\n\n static getPrevSiblingTrackElement(element: Element, type: TrackRunTypeEnum, userId: string): TrackRunElement | null {\n const prevSiblingEle = this.getPrevSiblingElement(element);\n if (prevSiblingEle instanceof TrackRunElement) {\n if (prevSiblingEle.type === type && prevSiblingEle.props.userId === userId) {\n return prevSiblingEle;\n }\n }\n return null;\n }\n\n /**\n * 根据默认配置创建长文本\n * @param viewOptions\n * @returns\n */\n static getNewTextGroup(textProps: TextProps): TextGroupElement {\n const text = new TextGroupElement()\n textProps.clone(text.props);\n return text;\n }\n\n static createTextProps(dest: TextProps | null, viewOptions: ViewOptions): TextProps {\n const textProps = dest ?? new TextProps();\n textProps.fontSize = viewOptions.defaultFontSize;\n textProps.fontName = viewOptions.defaultFontName;\n textProps.color = viewOptions.defaultColor;\n return textProps;\n }\n\n /**\n * 获取容器内的最小渲染元素集合\n * @param parPos\n * @param array\n */\n static getAvailHitLeafRenderObjects(render: RenderObject, parPos: Position): Array<{ render: LeafRenderObject, rect: Rect }> {\n if (!this.checkAvailHitRender(render)) {\n return [];\n }\n const renderObjectRect: Rect = {\n x: parPos.x + render.rect.x,\n y: parPos.y + render.rect.y,\n width: render.rect.width,\n height: render.rect.height,\n maxWidth: 0,\n maxHeight: 0\n };\n const array: Array<{ render: LeafRenderObject, rect: Rect }> = [];\n if (render instanceof BranchRenderObject) {\n for (let i = 0; i < render.length; i++) {\n const child = render.getChild(i);\n array.push(...this.getAvailHitLeafRenderObjects(child, { x: renderObjectRect.x, y: renderObjectRect.y }));\n }\n } else if (render instanceof LeafRenderObject) {\n array.push({ render: render, rect: renderObjectRect });\n } else {\n throw new Error('未实现');\n }\n return array;\n }\n\n /**\n * 获取容器内的最小渲染元素集合\n * @param parPos\n * @param array\n */\n static getAvailHitRenderObjects(render: RenderObject, parPos: Position): Array<{ render: RenderObject, rect: Rect }> {\n if (!this.checkAvailHitRender(render)) {\n return [];\n }\n const renderObjectRect: Rect = this.getRenderObjectAbsoluteRect(render, parPos);\n const array: Array<{ render: RenderObject, rect: Rect }> = [];\n if (render instanceof BranchRenderObject) {\n for (let i = 0; i < render.length; i++) {\n const child = render.getChild(i);\n if (this.checkAvailHitRender(child)) {\n array.push({ render: child, rect: this.getRenderObjectAbsoluteRect(child, renderObjectRect) })\n\n }\n }\n } else if (render instanceof LeafRenderObject) {\n array.push({ render: render, rect: renderObjectRect });\n } else {\n throw new Error('未实现');\n }\n return array;\n }\n\n /**\n * 获取绘制元素的绝对位置框\n */\n static getRenderObjectAbsoluteRect(render: RenderObject, parPos: Position): Rect {\n const renderObjectRect: Rect = {\n x: parPos.x + render.rect.x,\n y: parPos.y + render.rect.y,\n width: render.rect.width,\n height: render.rect.height,\n maxWidth: 0,\n maxHeight: 0\n };\n return renderObjectRect;\n }\n\n\n /**\n * 检查当前绘制元素是否属于有效点击元素\n */\n static checkAvailHitRender(render: RenderObject): boolean {\n if (render.element && render.element.disableClick) {\n return false;\n }\n if (render instanceof TableRowRenderObject) {\n const rowEle = render.element as TableRowElement;\n if (rowEle.props.headerRow) {\n return rowEle.paintRenders.indexOf(render) === 0;\n }\n }\n return !render.disableClick;\n }\n\n /**\n * 验证点击可操作性\n * 主要限制页眉页脚的编辑模式\n */\n static verifyHitable(sourceElement: LeafElement | null | undefined): boolean {\n if (!sourceElement) {\n return false;\n }\n const parents = ElementUtil.getParentElements(sourceElement);\n for (let i = parents.length - 1; i >= 0; i--) {\n const child = parents[i];\n if (child.disableClick) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * 获取一个点到一个矩形最短的距离\n * @param rect\n * @param p\n * @returns\n */\n static getDistanceToRect(rect: Rect, p: Position) {\n const lines: Array<{ f: PAIR, s: PAIR }> = [];\n lines.push({\n f: {\n x: rect.x,\n y: rect.y\n },\n s: {\n x: rect.x + rect.width,\n y: rect.y\n }\n }, {\n f: {\n x: rect.x,\n y: rect.y\n },\n s: {\n x: rect.x,\n y: rect.y + rect.height\n }\n }, {\n f: {\n x: rect.x,\n y: rect.y + rect.height\n },\n s: {\n x: rect.x + rect.width,\n y: rect.y + rect.height\n }\n }, {\n f: {\n x: rect.x + rect.width,\n y: rect.y\n },\n s: {\n x: rect.x + rect.width,\n y: rect.y + rect.height\n }\n })\n const distances = lines.map(item => this.minDistance(item.f, item.s, p))\n return Math.min(...distances);\n }\n\n static minDistance(A: PAIR, B: PAIR, E: PAIR) {\n\n const AB: PAIR = { x: B.x - A.x, y: B.y - A.y }\n\n const BE: PAIR = { x: E.x - B.x, y: E.y - B.y };\n\n const AE: PAIR = { x: E.x - A.x, y: E.y - A.y }\n\n const AB_BE = (AB.x * BE.x + AB.y * BE.y);\n const AB_AE = (AB.x * AE.x + AB.y * AE.y);\n\n let reqAns = 0;\n\n if (AB_BE > 0) {\n const y = E.y - B.y;\n const x = E.x - B.x;\n reqAns = Math.sqrt(x * x + y * y);\n } else if (AB_AE < 0) {\n const y = E.y - A.y;\n const x = E.x - A.x;\n reqAns = Math.sqrt(x * x + y * y);\n } else {\n const x1 = AB.x;\n const y1 = AB.y;\n const x2 = AE.x;\n const y2 = AE.y;\n const mod = Math.sqrt(x1 * x1 + y1 * y1);\n reqAns = Math.abs(x1 * y2 - y1 * x2) / mod;\n }\n return reqAns;\n }\n\n /**\n * 获取父级层级渲染对象\n * @param render\n * @returns\n */\n static getParentRenders(render: RenderObject): Array<RenderObject> {\n if (render) {\n return [render, ...this.getParentRenders(render.parent)];\n } else {\n return [];\n }\n }\n\n static getRenderMapElements(render: RenderObject): Array<Element> {\n const renders = this.getParentRenders(render);\n return renders.map(render => render.element).filter(ele => ele);\n }\n\n static getParentRender<T extends BranchRenderObject>(child: RenderObject, parentType: { new(...args: any): T }): T | null {\n if (!child) {\n return null;\n }\n if (child instanceof parentType) {\n return child;\n } else {\n return this.getParentRender(child.parent, parentType);\n }\n }\n\n static getParentRenderByPredicate(child: RenderObject, predicate: (item: RenderObject) => boolean): RenderObject | null {\n if (!child) {\n return null;\n }\n if (predicate(child)) {\n return child;\n } else {\n return this.getParentRenderByPredicate(child.parent, predicate);\n }\n }\n\n /**\n * 获取父级层级元素对象\n * @param element\n * @returns\n */\n static getParentElements(element: Element | null | undefined): Array<Element> {\n if (element) {\n return [element, ...this.getParentElements(element.parent)];\n } else {\n return [];\n }\n }\n\n /**\n * 获取最后一个子元素\n * @param element\n * @returns\n */\n static getLastLeafElement(element: Element, predicate: null | ((item: Element) => boolean) = null): LeafElement | null {\n if (element instanceof LeafElement && (!predicate || predicate(element))) {\n return element;\n } else if (element instanceof BranchElement) {\n for (let i = element.length - 1; i >= 0; i--) {\n const res = this.getLastLeafElement(element.getChild(i), predicate)\n if (res) {\n return res;\n }\n }\n return null;\n }\n return null;\n }\n\n\n /**\n * 获取第一个子元素\n * @param element\n * @returns\n */\n static getFirstLeafElement(element: Element): LeafElement | null {\n if (element instanceof LeafElement) {\n return element;\n } else if (element instanceof BranchElement) {\n for (let i = 0; i < element.length; i++) {\n const res = this.getFirstLeafElement(element.getChild(i));\n if (res) {\n return res;\n }\n }\n return null;\n }\n return null;\n }\n\n /**\n * 校验两个元素是否在同一个段落中\n * @param element1\n * @param element2\n */\n static isInSameParagraph(element1: Element, element2: Element): boolean {\n const par1 = this.getParentByType(element1, ParagraphElement);\n const par2 = this.getParentByType(element2, ParagraphElement);\n return par1 === par2;\n }\n\n static getBorderCursor(borderType: BorderType): CursorType {\n switch (borderType) {\n case 'none':\n return 'text';\n case 'top':\n return 'row-resize';\n case 'left':\n return 'col-resize';\n case 'right':\n return 'col-resize';\n case 'bottom':\n return 'row-resize'\n case 'left-middle':\n case 'right-middle':\n return 'w-resize';\n case 'top-middle':\n case 'bottom-middle':\n return 's-resize';\n case 'left-top':\n case 'right-bottom':\n return 'se-resize';\n case 'right-top':\n case 'left-bottom':\n return 'ne-resize';\n default:\n return 'text';\n }\n }\n\n static getParentByType<P extends Element, T>(child: P | null, parentType: { new(...args: any): T }): T | null {\n if (!child) {\n return null;\n }\n if (child instanceof parentType) {\n return child;\n } else {\n return this.getParentByType(child.parent, parentType);\n }\n }\n\n static getParent(child: Element | null, predicate: (item: Element) => boolean): Element | null {\n if (!child) {\n return null;\n }\n if (predicate(child)) {\n return child;\n } else {\n return this.getParent(child.parent, predicate);\n }\n }\n\n\n /**\n * 修正段落内容\n * @returns\n */\n static fixParagraphContent(control: ParagraphElement): void {\n //如果最后一个元素不是段落符号,则补足\n if (!(control.getChild(control.length - 1) instanceof PSymbolElement)) {\n control.addChild(new PSymbolElement());\n }\n const items: Array<PSymbolElement> = [];\n for (let i = 0; i < control.length - 1; i++) {\n const child = control.getChild(i);\n if (child instanceof PSymbolElement) {\n items.push(child);\n }\n }\n items.forEach(item => {\n control.removeChild(item)\n });\n }\n\n /**\n * 修正块级容器内容\n * @param control\n */\n static fixBlockContainer(control: BlockContainerElement): void {\n if (control.length === 0) {\n if (control instanceof TableCellElement && (control.props.vMerge === 'continue' || control.props.hMerge === 'continue')) {\n return;\n }\n if (control.noFillEmpty) {\n return;\n }\n control.addChild(new ParagraphElement());\n }\n }\n\n\n /**\n * 获取绘制元素相对于整个画布的绝对位置\n * 整个画布绘制的时候不一定从x=0,y=0时绘制的,下拉滚动时,上面从负y坐标开始绘制\n * 如果计算某个元素相对画布的左上角的绝对坐标位置,需要childPos的y值减去translateY\n * @param render\n * @param refPos 参照位置\n * @returns\n */\n static getRenderAbsolutePaintPos(render: RenderObject, refPos: Position | null = null): Position {\n refPos = refPos ?? { x: 0, y: 0 };\n const currPos: Position = { x: render.rect.x + refPos.x, y: render.rect.y + refPos.y };\n if (!render.parent) {\n return currPos;\n }\n return this.getRenderAbsolutePaintPos(render.parent, currPos);\n }\n\n static getRenderAbsolutePaintRect(render: RenderObject, childPos: Position | null = null): Rect {\n const pos = this.getRenderAbsolutePaintPos(render, childPos);\n return { ...pos, width: render.rect.width, height: render.rect.height, maxWidth: 0, maxHeight: 0 };\n }\n\n\n\n\n\n /**\n * 获取选中区域的开始区域\n * @param range\n * @returns\n */\n static getFirstSelectedRange(range: SelectionContentRange): SelectionContentRange {\n if (range.selectedChildren.length === 0 || range.target instanceof TextGroupElement) {\n return range;\n } else {\n return this.getFirstSelectedRange(range.selectedChildren[0]);\n }\n }\n\n /**\n * 获取选中区域的开始区域\n * @param range \\\n * @returns\n */\n static getLastSelectedRange(range: SelectionContentRange): SelectionContentRange {\n if (range.selectedChildren.length === 0 || range.target instanceof TextGroupElement) {\n return range;\n } else {\n return this.getLastSelectedRange(range.selectedChildren[range.selectedChildren.length - 1]);\n }\n }\n\n\n /**\n * 克隆选区内容\n * @param range\n * @param isDelete\n * @returns\n */\n static cloneRange(range: SelectionContentRange, isDelete: boolean, cloneMode: 'clone' | 'source' | 'copy' = 'clone'): Element | null {\n const { target, isFullSelected, startOffset, endOffset, selectedChildren } = range;\n if (isFullSelected) {\n //修饰元素不能复制 审阅标记、数据元NullText\n if (cloneMode === 'copy' && target.isDecorate) {\n return null;\n }\n const clone = cloneMode === 'source' ? target : target.clone(true);\n if (isDelete) {\n target.remove();\n }\n return clone;\n } else {\n if (target instanceof LeafElement) {\n if (target instanceof TextGroupElement && startOffset !== endOffset) {\n if (isDelete) {\n const copyTarget = target.spliceText(startOffset, endOffset, true);\n if (target.text.length === 0) {\n target.remove();\n }\n return copyTarget;\n } else {\n const copyTarget = target.spliceText(startOffset, endOffset, false);\n return copyTarget;\n }\n }\n return null;\n } else if (target instanceof BranchElement) {\n const array: Array<Element> = [];\n for (let i = 0; i < selectedChildren.length; i++) {\n const copyChild = this.cloneRange(selectedChildren[i], isDelete, cloneMode);\n if (copyChild) {\n array.push(copyChild);\n }\n }\n if (!array.length) {\n return null;\n } else {\n const copyTarget = target.clone(false) as BranchElement;\n array.forEach(item => {\n copyTarget.addChild(item)\n });\n return copyTarget;\n }\n }\n }\n return null;\n }\n\n /**\n * 获取所有的子级元素\n * @param branchEle\n * @returns\n */\n static getChildrenElements(branchEle: BranchElement): Array<Element> {\n const array = [];\n for (let i = 0; i < branchEle.length; i++) {\n array.push(branchEle.getChild(i));\n }\n return array;\n }\n\n /**\n * 递归向前寻找最近的元素\n * @param currElement\n * @param inPara 是否在同一段落中寻找\n * @param forCursor 查找结果是否用于光标定位\n * @returns\n */\n static getRecursionPrevSiblingElement(currElement: Element | null, inPara: boolean = false, forCursor: boolean = false): LeafElement | null {\n const parent = currElement?.parent;\n //删除留痕块的measureRender在不显示留痕模式下,不生成render\n if (!currElement || !parent || (!currElement.measureRender && !(currElement instanceof TrackRunElement))) {\n return null;\n }\n //如果当前数据元不可编辑,则直接跳过\n if (parent instanceof DataElementInlineGroup && !parent.props.editable) {\n return this.getRecursionPrevSiblingElement(parent, inPara, forCursor);\n }\n if (forCursor && parent.disableClick) {\n return this.getRecursionPrevSiblingElement(parent, inPara, forCursor);\n }\n const index = parent.getChildIndex(currElement);\n if (!index) {\n if (inPara && parent.type === 'p') {\n return null;\n }\n return this.getRecursionPrevSiblingElement(parent, inPara, forCursor);\n } else {\n let prevElement: Element | null = null;\n for (let i = index - 1; i >= 0; i--) {\n prevElement = parent.getChild(i);\n if (prevElement && !prevElement.disableClick) {\n break;\n }\n }\n if (!prevElement || prevElement.disableClick) {\n return this.getRecursionPrevSiblingElement(parent, inPara, forCursor);\n }\n const lastLeafElement = ElementUtil.getLastLeafElement(prevElement);\n //用于光标定位\n if (forCursor && lastLeafElement && lastLeafElement.disableClick) {\n return this.getRecursionPrevSiblingElement(lastLeafElement, inPara, forCursor);\n }\n if (lastLeafElement) {\n return lastLeafElement;\n } else {\n return this.getRecursionPrevSiblingElement(prevElement.parent, inPara, forCursor);\n }\n }\n }\n\n\n /**\n * 循环向前寻找可定位的数据元\n * @param currElement \n */\n static getPrevDataElement(ctx: EditorContext, currElement: DataElementInlineGroup): DataElementInlineGroup | null {\n const dataEle = ctx.getCurrentCtx(currElement).getControlInstanceList().filter(item => item instanceof DataElementInlineGroup) as Array<DataElementInlineGroup>;\n const index = dataEle.indexOf(currElement);\n if (index > 0) {\n for (let i = index - 1; i >= 0; i--) {\n if (!dataEle[i].disableClick && dataEle[i].props.editable) {\n return dataEle[i];\n }\n }\n }\n return null;\n }\n\n // /**\n // * 递归向前寻找最近的可点击元素\n // */\n // static getRecursionPrevSiblingElementForHit(currElement: Element | null): LeafElement | null {\n // let ele: LeafElement | null = null;\n // do {\n // ele = this.getRecursionPrevSiblingElement(currElement);\n // } while (ele && ele.disableClick)\n // return ele;\n // }\n\n // /**\n // * 在同一段落中,递归向前寻找最近的元素\n // */\n // static getRecursionPrevSiblingElementInPara(currElement: Element | null): LeafElement | null {\n // const parent = currElement?.parent;\n // if (!currElement || !parent) {\n // return null;\n // }\n // const index = parent.getChildIndex(currElement);\n // if (!index) {\n // if (parent.type === 'p') {\n // return null;\n // }\n // return this.getRecursionPrevSiblingElementInPara(parent);\n // } else {\n // const prevElement = parent.getChild(index - 1);\n // const lastLeafElement = ElementUtil.getLastLeafElement(prevElement);\n // if (lastLeafElement) {\n // return lastLeafElement;\n // } else {\n // return this.getRecursionPrevSiblingElementInPara(prevElement?.parent);\n // }\n // }\n // }\n\n // /**\n // * 在同一段落中,递归向前寻找最近的可点击元素\n // */\n // static getRecursionPrevSiblingElementInParaForHit(currElement: Element | null): LeafElement | null {\n // let ele: LeafElement | null = null;\n // do {\n // ele = this.getRecursionPrevSiblingElementInPara(currElement);\n // } while (ele && ele.disableClick)\n // return ele;\n // }\n\n\n /**\n * 递归向后寻找最近的元素\n */\n static getRecursionNextSiblingElement(currElement: Element | null, inPara: boolean = false, forCursor: boolean = false): LeafElement | null {\n const parent = currElement?.parent;\n if (!currElement || !parent || !currElement.measureRender) {\n return null;\n }\n //如果当前数据元不可编辑,则直接跳过\n if (parent instanceof DataElementInlineGroup && !parent.props.editable) {\n return this.getRecursionNextSiblingElement(parent, inPara, forCursor);\n }\n if (forCursor && parent.disableClick) {\n return this.getRecursionNextSiblingElement(parent, inPara, forCursor);\n }\n const index = parent.getChildIndex(currElement);\n if (index === parent.length - 1) {\n if (inPara && parent.type === 'p') {\n return null;\n }\n return this.getRecursionNextSiblingElement(parent, inPara, forCursor);\n } else {\n let nextElement: Element | null = null;\n for (let i = index + 1; i < parent.length; i++) {\n nextElement = parent.getChild(i);\n if (nextElement && !nextElement.disableClick) {\n break;\n }\n }\n if (!nextElement || nextElement.disableClick) {\n return this.getRecursionNextSiblingElement(parent, inPara, forCursor);\n }\n const lastLeafElement = ElementUtil.getFirstLeafElement(nextElement);\n //用于光标定位\n if (forCursor && lastLeafElement && lastLeafElement.disableClick) {\n return this.getRecursionNextSiblingElement(lastLeafElement, inPara, forCursor);\n }\n if (lastLeafElement) {\n return lastLeafElement;\n } else {\n return this.getRecursionNextSiblingElement(nextElement.parent, inPara, forCursor);\n }\n }\n }\n\n\n // /**\n // * 在同一段落中,递归向后寻找最近的元素\n // */\n // static getRecursionNextSiblingElementInPara(currElement: Element | null): LeafElement | null {\n // const parent = currElement?.parent;\n // if (!currElement || !parent) {\n // return null;\n // }\n // const index = parent.getChildIndex(currElement);\n // if (index === parent.length - 1) {\n // if (parent.type === 'p') {\n // return null;\n // }\n // return this.getRecursionNextSiblingElementInPara(parent);\n // } else {\n // const nextElement = parent.getChild(index + 1);\n // const lastLeafElement = ElementUtil.getFirstLeafElement(nextElement);\n // if (lastLeafElement) {\n // return lastLeafElement;\n // } else {\n // return this.getRecursionNextSiblingElementInPara(nextElement.parent);\n // }\n // }\n // }\n\n // /**\n // * 在同一段落中,递归向后寻找最近的可点击元素\n // */\n // static getRecursionNextSiblingElementInParaForHit(currElement: Element | null): LeafElement | null {\n // let ele: LeafElement | null = null;\n // do {\n // ele = this.getRecursionNextSiblingElementInPara(currElement);\n // } while (ele && ele.disableClick)\n // return ele;\n // }\n\n // /**\n // * 在同一段落中,递归向后寻找最近的可点击元素\n // */\n // static getRecursionNextSiblingElementForHit(currElement: Element | null): LeafElement | null {\n // let ele: LeafElement | null = null;\n // do {\n // ele = this.getRecursionNextSiblingElement(currElement);\n // } while (ele && ele.disableClick)\n // return ele;\n // }\n\n /**\n * 获取行内最大渲染单元格高度,主要处理纵向合并单元格问题\n * @param row\n * @returns\n */\n static getRowMaxCellHeight(row: TableRowRenderObject): number {\n let maxHeight = 0;\n for (let i = 0; i < row.length; i++) {\n if (row.getChild(i).rect.height > maxHeight) {\n maxHeight = row.getChild(i).rect.height;\n }\n }\n return maxHeight;\n }\n\n\n /**\n * 校验是否为空内容\n * @param ele\n */\n static checkEmptyContent(ele: BranchRenderObject): boolean {\n if (ele.length === 1) {\n const firstRender = ele.getChild(0);\n if (firstRender instanceof ParagraphRenderObject) {\n if ((<ParagraphElement>(firstRender.element)).length === 1) {\n return true;\n }\n }\n }\n return false;\n }\n\n /**\n * 测量行内编组元素\n * @param render\n */\n static remeasureInlineGroupRender(render: InlineGroupRenderObject): void {\n let x = 0;\n let maxHeight = 0;\n for (let i = 0; i < render.length; i++) {\n const item = render.getChild(i);\n item.rect.x = x;\n if (item.rect.height > maxHeight) {\n maxHeight = item.rect.height;\n }\n x += item.rect.width;\n }\n for (let i = 0; i < render.length; i++) {\n const item = render.getChild(i);\n item.rect.y = maxHeight - item.rect.height;\n }\n render.rect.width = x;\n render.rect.height = maxHeight;\n }\n\n static getParaLinePos(childRender: RenderObject, childRenderPos: Position): Rect {\n const parent = childRender.parent;\n const rect = ElementUtil.cloneRect(parent.rect);\n rect.x = childRenderPos.x - childRender.rect.x;\n rect.y = childRenderPos.y - childRender.rect.y;\n if (parent instanceof ParagraphLineRectRenderObject) {\n return rect;\n } else {\n return this.getParaLinePos(parent, rect);\n }\n }\n\n\n static getParentRenderPos(parentRender: RenderObject, childRender: RenderObject, childRenderPos: Position): Rect {\n const parent = childRender.parent;\n const rect = ElementUtil.cloneRect(parent.rect);\n rect.x = childRenderPos.x - childRender.rect.x;\n rect.y = childRenderPos.y - childRender.rect.y;\n if (parent === parentRender) {\n return rect;\n } else {\n return this.getParentRenderPos(parentRender, parent, rect);\n }\n }\n\n\n /**\n * 获取绘制元素所在的区域\n */\n static getRenderObjectRegion(render: RenderObject): HitRegion | undefined {\n if (!render) {\n return undefined;\n }\n if (render.element) {\n return this.getElementRegion(render.element);\n }\n return this.getRenderObjectRegion(render.parent);\n }\n\n /**\n * 获取文档元素所在的区域\n * @param element\n * @returns\n */\n static getElementRegion(element: Element): HitRegion | undefined {\n const regionTarget = this.getElementRegionTarget(element);\n return regionTarget?.type;\n }\n\n static getElementRegionTarget(element: Element | null): { type: HitRegion, target: BranchElement } | null {\n if (!element) {\n return null;\n }\n if (element instanceof DocumentBodyElement) {\n return { type: 'body', target: element };\n }\n if (element instanceof DocumentFooterElement) {\n return { type: 'footer', target: element };\n }\n if (element instanceof DocumentHeaderElement) {\n return { type: 'header', target: element };\n }\n if (element instanceof CommsContainerElement) {\n return { type: 'review', target: element }\n }\n return this.getElementRegionTarget(element.parent);\n }\n\n /**\n * 根据坐标系统偏移位获取所在的文本偏移位置\n * @param textRender\n * @param x\n * @returns\n */\n static getTextRenderOffset(textRender: TextGroupRenderObject, x: number): number {\n const ele = textRender.element as TextGroupElement;\n const docRender = ElementUtil.getParentRender(textRender, DocumentRenderObject);\n if (!docRender) {\n throw new Error('docRender is null')\n }\n const elePaintRenders = ele.paintRenders.filter(item => ElementUtil.getParentRender(item, DocumentRenderObject) === docRender);\n let count = 0;\n for (let i = 0; i < elePaintRenders.length; i++) {\n const render = elePaintRenders[i] as TextGroupRenderObject;\n if (render !== textRender) {\n count += render.textMeasures.length;\n } else {\n let horX = 0;\n for (let j = 0; j < render.textMeasures.length; j++) {\n if (horX + render.textMeasures[j].actualSize >= x) {\n if (horX + Math.floor(render.textMeasures[j].actualSize / 2) > x) {\n if (j === 0 && i > 0) {\n j += 0.5;\n }\n } else {\n j += 1;\n }\n return j + count;\n }\n horX += render.textMeasures[j].actualSize;\n }\n return count + render.textMeasures.length;\n }\n }\n throw new Error('未找到当前文本元素的光标偏移量');\n }\n\n static getHitRenderOffset(render: LeafRenderObject, x: number): number {\n if (render instanceof TextGroupRenderObject) {\n return this.getTextRenderOffset(render, x);\n } else {\n if (render.element && render.element.type === 'psym') {\n return 0;\n }\n return (render.rect.width / 2) >= x ? 0 : 1;\n }\n }\n\n static getTextRenderHorX(currRender: TextGroupRenderObject, startOffset: number, endOffset: number): { startX: number, endX: number } {\n const textEle = currRender.element as TextGroupElement;\n let endX = 0;\n let startX = 0;\n let count = 0;\n for (let i = 0; i < textEle.paintRenders.length; i++) {\n const paintRender = textEle.paintRenders[i] as TextGroupRenderObject;\n if (paintRender !== currRender) {\n count += paintRender.textMeasures.length;\n } else {\n if (count + paintRender.textMeasures.length < startOffset) {\n continue;\n }\n if (count > endOffset) {\n continue;\n }\n for (let j = 0; j < paintRender.textMeasures.length; j++) {\n if (endOffset === count + j) {\n break;\n }\n if (count + j === startOffset) {\n startX = endX;\n }\n endX += paintRender.textMeasures[j].actualSize;\n }\n }\n }\n return { startX, endX };\n }\n\n /**\n * 获取一个元素结尾偏移量\n * 文本以字符长度进行确定\n * @param ele\n * @returns\n */\n static getElementEndOffset(ele: LeafElement): number {\n if (ele instanceof TextGroupElement) {\n return ele.textMeasures.length;\n }\n return 1;\n }\n\n /**\n * 判断当前偏移量是否是最终偏移量\n * @param ele\n * @param offset\n */\n static isElementEndOffset(ele: LeafElement, offset: number): boolean {\n return this.getElementEndOffset(ele) === offset;\n }\n\n /**\n * 获取直接子节点的所有渲染元素\n * @param ele\n * @returns\n */\n static getChildRenders<T extends RenderObject>(ele: BranchRenderObject): Array<T> {\n const items: Array<T> = [];\n for (let i = 0; i < ele.length; i++) {\n items.push(ele.getChild(i) as T);\n }\n return items;\n }\n\n /**\n * 获取当前单元格内所有的段落行\n * @param cell\n * @returns\n */\n static getCellParaLines(cell: TableCellRenderObject): Array<ParagraphLineRectRenderObject> {\n const items: Array<ParagraphLineRectRenderObject> = [];\n for (let i = 0; i < cell.length; i++) {\n const para = cell.getChild(i) as ParagraphRenderObject;\n for (let j = 0; j < para.length; j++) {\n items.push(para.getChild(j) as ParagraphLineRectRenderObject)\n }\n }\n return items;\n }\n\n static getRandomColor(seed: number) {\n let letters = '0123456789ABCDEF';\n let color = '#';\n for (let i = 0; i < 6; i++) {\n color += letters[Math.floor(this.getSeedRandom(seed) * 16)];\n }\n return color;\n }\n\n\n static getSeedRandom(seed: number): number {\n return Number(\"0.\" + Math.sin(seed * Math.random()).toString().substr(6));\n }\n\n\n static findChildRender(render: BranchRenderObject, predicate: (child: RenderObject) => boolean): RenderObject | null {\n for (let i = 0; i < render.length; i++) {\n if (predicate(render.getChild(i))) {\n return render.getChild(i);\n }\n }\n return null;\n }\n\n\n static getDataElement(ele: Element): DataElementInlineGroup {\n return this.getParent(ele, item => item instanceof DataElementInlineGroup) as DataElementInlineGroup;\n }\n}\n\n"]}
@@ -61,4 +61,4 @@ export class CheckBoxRenderObject extends LeafRenderObject {
61
61
  return clone;
62
62
  }
63
63
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtaW1wbC5qcyIsInNvdXJjZVJvb3QiOiJsaWIvIiwic291cmNlcyI6WyJmcmFtZXdvcmsvaW1wbC9jaGVja2JveC9jaGVja2JveC1pbXBsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFpRCxNQUFNLHNCQUFzQixDQUFDO0FBQ2xILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQsT0FBTyxFQUFFLGdCQUFnQixFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBR3JFLE1BQU0sT0FBTyxlQUFnQixTQUFRLFdBQTBCO0lBQzNELHVCQUF1QjtJQUN2QjtRQUNJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUNqQywwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ0Qsa0JBQWtCO1FBQ2QsTUFBTSxNQUFNLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDckMsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxDQUFlO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7SUFDakQsQ0FBQztJQUVELFNBQVMsQ0FBQyxXQUF3QjtRQUM5QixPQUFPO1lBQ0gsSUFBSSxFQUFFLEtBQUs7WUFDWCxLQUFLLEVBQUU7Z0JBQ0gsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQzthQUMvQztTQUNKLENBQUE7SUFDTCxDQUFDO0lBQ0QsS0FBSztRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxPQUFPO1FBQ0gsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsY0FBNkI7SUFDOUQsS0FBSyxDQUFDLElBQVk7UUFDZCxPQUFPLElBQUksS0FBSyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUNELGFBQWEsQ0FBQyxJQUFxQyxFQUFFLFNBQTZCO1FBQzlFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsTUFBTSxVQUFVLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUN6QyxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ2xDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsS0FBSyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEMsUUFBUSxDQUFDLFNBQVMsR0FBRyxLQUFLLEVBQUUsU0FBUyxJQUFJLEtBQUssQ0FBQztRQUMvQyxRQUFRLENBQUMsU0FBUyxHQUFHLEtBQUssRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDO1FBQzlDLE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxnQkFBaUM7SUFDdkUsTUFBTSxDQUFDLEdBQXVCLEVBQUUsUUFBbUM7UUFDL0QsR0FBRyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hKLENBQUM7SUFDRCxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUk7UUFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsS0FBSyxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBRUoifQ==
64
+ //# sourceMappingURL=checkbox-impl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-impl.js","sourceRoot":"lib/","sources":["framework/impl/checkbox/checkbox-impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkbox-impl.js","sourceRoot":"lib/","sources":["framework/impl/checkbox/checkbox-impl.ts"],"names":[],"mappings":"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","sourcesContent":["import { ElementFactory, LeafElement, readElementProps, SerializeProps, ViewOptions } from \"../../element-define\";\nimport { CheckBoxProps } from \"../../element-props\";\nimport { ElementUtil } from \"../../element-util\";\nimport { RenderContenxtType } from \"../../render-context\";\nimport { LeafRenderObject, RenderObject } from \"../../render-define\";\nimport { ElementEvent } from \"../../element-event-define\";\n\nexport class CheckBoxElement extends LeafElement<CheckBoxProps> {\n //props: CheckBoxProps;\n constructor() {\n super('ckb');\n this.props = new CheckBoxProps();\n //this.addPropValueChangedSub(this.props);\n this.cursorType = 'default'\n this.addEvent('ElementClick', (evt) => { this.changeState(evt) });\n }\n createRenderObject(): CheckBoxRenderObject {\n const render = new CheckBoxRenderObject(this);\n render.rect.width = this.props.size + 4;\n render.rect.height = this.props.size;\n return render;\n }\n\n changeState(e: ElementEvent): void {\n this.props.isChecked = !this.props.isChecked;\n }\n\n serialize(viewOptions: ViewOptions): SerializeProps {\n return {\n type: 'ckb',\n props: {\n ...this.props.getSerializeProps(viewOptions)\n }\n }\n }\n clone(): CheckBoxElement {\n const clone = new CheckBoxElement();\n this.props.clone(clone.props);\n return clone;\n }\n getType(): string {\n return 'ckb';\n }\n}\n\nexport class CheckBoxFactory extends ElementFactory<CheckBoxProps> {\n match(type: string): boolean {\n return type === 'ckb';\n }\n createElement(data: readElementProps<CheckBoxProps>, renderCtx: RenderContenxtType): CheckBoxElement {\n const props = data.props;\n const ckbElement = new CheckBoxElement();\n const ckbProps = ckbElement.props;\n ckbProps.size = props?.size ?? 14;\n ckbProps.isChecked = props?.isChecked ?? false;\n ckbProps.groupName = props?.groupName ?? null;\n return ckbElement;\n }\n}\n\nexport class CheckBoxRenderObject extends LeafRenderObject<CheckBoxElement> {\n render(ctx: RenderContenxtType, position: { x: number; y: number; }): void {\n ctx.contentContext.drawCheckBox(position.x + 2, position.y, this.element.props.size, this.element.props.size, this.element.props.isChecked);\n }\n clone(cloneData = true): RenderObject {\n const clone = new CheckBoxRenderObject(this.element);\n clone.rect = ElementUtil.cloneRect(this.rect);\n return clone;\n }\n\n}\n"]}
@@ -102,4 +102,4 @@ export class CommentContentFactory extends ElementFactory {
102
102
  return commentEle;
103
103
  }
104
104
  }
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1jb250ZW50LWltcGwuanMiLCJzb3VyY2VSb290IjoibGliLyIsInNvdXJjZXMiOlsiZnJhbWV3b3JrL2ltcGwvY29tbWVudHMvY29tbWVudC1jb250ZW50LWltcGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBd0YsTUFBTSxzQkFBc0IsQ0FBQztBQUNuSyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELE9BQU8sRUFBRSwwQkFBMEIsRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU1RCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxPQUFnQixzQkFBMEQsU0FBUSxxQkFBd0I7SUFDNUcsU0FBUyxDQUFrQjtJQUMzQixPQUFPLENBQWtCO0lBQ3pCLEtBQUssR0FBWSxLQUFLLENBQUM7SUFDdkIsWUFBc0IsSUFBWTtRQUM5QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUU7WUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO1lBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUN0QixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBZ0IsMkJBQThELFNBQVEsMEJBQTZCO0lBQ3JILGNBQWMsQ0FB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
105
+ //# sourceMappingURL=comment-content-impl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"comment-content-impl.js","sourceRoot":"lib/","sources":["framework/impl/comments/comment-content-impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comment-content-impl.js","sourceRoot":"lib/","sources":["framework/impl/comments/comment-content-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAwF,MAAM,sBAAsB,CAAC;AACnK,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,0BAA0B,EAAgB,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,OAAgB,sBAA0D,SAAQ,qBAAwB;IAC5G,SAAS,CAAkB;IAC3B,OAAO,CAAkB;IACzB,KAAK,GAAY,KAAK,CAAC;IACvB,YAAsB,IAAY;QAC9B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;YAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,WAAW,EAAE,CAAA;QACtB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;YAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,WAAW,EAAE,CAAA;QACtB,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAED,MAAM,OAAgB,2BAA8D,SAAQ,0BAA6B;IACrH,cAAc,CAA2C;CAC5D;AAED,MAAM,OAAO,kBAAmB,SAAQ,sBAAwC;IAC5E;QACI,KAAK,CAAC,cAAc,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACxC,CAAC;IACD,kBAAkB,CAAC,OAAoB,EAAE,SAA6B;QAClE,MAAM,MAAM,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,SAAS,CAAC,WAAwB;QAC9B,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE;SAC1D,CAAA;IACL,CAAC;IACD,KAAK,CAAC,IAAa;QACf,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;CACJ;AAED,MAAM,OAAO,uBAAwB,SAAQ,2BAA+C;IACxF,WAAW,CAAC,GAAuB,EAAE,QAAkB;QACnD,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACtG,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QACnF,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,oBAAoB,CAAyB,CAAC;QACxH,aAAa;QACb,IAAI,WAAW,GAAG,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9H,MAAM,eAAe,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC5F,WAAW,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC;QAEtC,MAAM,YAAY,GAAG,WAAW,CAAC,yBAAyB,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;QAChH,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3E,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;QACrG,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACrH,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAElH,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,WAAW,CAAC,GAAuB,EAAE,QAAkB;QACnD,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAClC,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC;QACxB,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC;QAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;QACtE,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC;QACtD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAS,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;QACjH,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/F,CAAC;IACD,SAAS,CAAC,GAAuB,EAAE,QAAkB;QACjD,6CAA6C;IACjD,CAAC;IACD,KAAK;QACD,MAAM,KAAK,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;SAC5C;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAMD,MAAM,OAAO,qBAAsB,SAAQ,cAAgC;IACvE,KAAK,CAAC,IAAY;QACd,OAAO,IAAI,KAAK,cAAc,CAAC;IACnC,CAAC;IACD,aAAa,CAAC,IAAwC,EAAE,SAA6B;QACjF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAyB,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC5C,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QAC/B,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAC/C,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC3C,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAC/C,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ","sourcesContent":["import { BlockContainerElement, ElementFactory, Position, readElementProps, Rect, SelectionContentRange, SerializeProps, ViewOptions } from \"../../element-define\";\nimport { CommContentProps, TextProps } from \"../../element-props\";\nimport { Element } from \"../../element-define\"\nimport { ElementUtil } from \"../../element-util\";\nimport { RenderContenxtType } from \"../../render-context\";\nimport { BlockContainerRenderObject, RenderObject } from \"../../render-define\";\nimport { DocumentRenderObject } from \"../document/doc-impl\";\nimport { CommentElement } from \"./comment-element-impl\";\nimport moment from \"moment\";\n\nexport abstract class CommContentBaseElement<P extends object = { id: string }> extends BlockContainerElement<P>{\n startMark!: CommentElement;\n endMark!: CommentElement;\n focus: boolean = false;\n protected constructor(type: string) {\n super(type);\n this.addEvent('GotCursor', () => {\n this.focus = true;\n this.refreshView()\n });\n this.addEvent('LostCursor', () => {\n this.focus = false;\n this.refreshView()\n })\n }\n}\n\nexport abstract class CommContentBaseRenderObject<E extends CommContentBaseElement> extends BlockContainerRenderObject<E> {\n commMarkRender!: { render: RenderObject, pos: Position };\n}\n\nexport class CommContentElement extends CommContentBaseElement<CommContentProps> {\n constructor() {\n super(\"comm-content\");\n this.props = new CommContentProps();\n }\n createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject {\n const render = new CommContentRenderObject(this);\n render.padding.left = 14;\n render.padding.top = 24;\n return render;\n }\n serialize(viewOptions: ViewOptions): SerializeProps {\n return {\n type: this.type,\n props: { ...this.props.getSerializeProps(viewOptions) }\n }\n }\n clone(data: boolean): Element {\n throw new Error('不支持');\n }\n}\n\nexport class CommContentRenderObject extends CommContentBaseRenderObject<CommContentElement> {\n beginRender(ctx: RenderContenxtType, position: Position): void {\n let borderColor = this.element.focus ? '#fa8c16' : '#ffd591';\n ctx.contentContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height, borderColor);\n ctx.contentContext.fillRect(position.x, position.y, 8, this.rect.height, '#871400')\n const docRender = ElementUtil.getParentRender(this.commMarkRender.render, DocumentRenderObject) as DocumentRenderObject;\n //获取审阅标记的绘制坐标\n let commMarkPos = ElementUtil.getRenderAbsolutePaintPos(this.commMarkRender.render, { x: 0, y: -ctx.viewOptions.translateY });\n const commMarkLinePos = ElementUtil.getParaLinePos(this.commMarkRender.render, commMarkPos);\n commMarkPos.y = commMarkLinePos.y + 2;\n\n const docRenderPos = ElementUtil.getRenderAbsolutePaintPos(docRender, { x: 0, y: -ctx.viewOptions.translateY });\n const marginLeft = commMarkPos.x - docRenderPos.x - docRender.padding.left;\n const marginRight = ctx.viewOptions.docPageSettings.width - marginLeft - docRender.padding.right * 2;\n ctx.overlaysContext.drawDashLine([commMarkPos, { x: commMarkPos.x + marginRight, y: commMarkPos.y }], [1, 1], 'red');\n ctx.overlaysContext.drawDashLine([{ x: commMarkPos.x + marginRight, y: commMarkPos.y }, position], [1, 1], 'red');\n\n this.renderTitle(ctx, position);\n }\n\n renderTitle(ctx: RenderContenxtType, position: Position): void {\n const topPadding = 24;\n const { props } = this.element;\n const textProps = new TextProps();\n textProps.fontSize = 12;\n textProps.fontName = '楷体';\n textProps.color = \"rgb(0,0,0)\";\n const createDate = moment(props.createDate).format('YYYY-MM-DD HH:mm')\n const commTitle = `${props.createName}:${createDate}`;\n const { width, height } = ctx.contentContext.measureText(commTitle, textProps);\n const rect: Rect = { x: position.x + this.padding.left, y: position.y, width, height, maxHeight: 0, maxWidth: 0 }\n rect.y += (topPadding - rect.height) / 2;\n ctx.contentContext.drawText(commTitle, textProps, rect.x, rect.y, rect.width, rect.height);\n }\n endRender(ctx: RenderContenxtType, position: Position): void {\n //throw new Error(\"Method not implemented.\");\n }\n clone(): RenderObject {\n const clone = new CommContentRenderObject(this.element);\n clone.rect = ElementUtil.cloneRect(this.rect);\n clone.padding = this.padding.clone();\n for (let i = 0; i < this.length; i++) {\n clone.addChild(this.getChild(i).clone());\n }\n return clone;\n }\n}\n\nexport interface CommentRangeStatus {\n range: SelectionContentRange, commContent: CommContentBaseElement\n}\n\nexport class CommentContentFactory extends ElementFactory<CommContentProps> {\n match(type: string): boolean {\n return type === \"comm-content\";\n }\n createElement(data: readElementProps<CommContentProps>, renderCtx: RenderContenxtType): Element {\n const props = data.props as CommContentProps;\n const commentEle = new CommContentElement();\n commentEle.props.id = props.id;\n commentEle.props.createDate = props.createDate;\n commentEle.props.createId = props.createId;\n commentEle.props.createName = props.createName;\n return commentEle;\n }\n}\n"]}
@@ -59,4 +59,4 @@ export class CommentFactory extends ElementFactory {
59
59
  return ele;
60
60
  }
61
61
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1lbGVtZW50LWltcGwuanMiLCJzb3VyY2VSb290IjoibGliLyIsInNvdXJjZXMiOlsiZnJhbWV3b3JrL2ltcGwvY29tbWVudHMvY29tbWVudC1lbGVtZW50LWltcGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFXLGNBQWMsRUFBRSxXQUFXLEVBQWlELE1BQU0sc0JBQXNCLENBQUM7QUFDM0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFFckUsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUFzQjtJQUN0RDtRQUNJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsT0FBb0IsRUFBRSxTQUE2QjtRQUNsRSxNQUFNLE1BQU0sR0FBRyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDeEIsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUNELFNBQVMsQ0FBQyxXQUF3QjtRQUM5QixJQUFHLElBQUksQ0FBQyxVQUFVLEVBQUM7WUFDZixPQUFRLElBQUksQ0FBQztTQUNoQjtRQUNELE9BQU87WUFDSCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUU7Z0JBQ0gsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQzthQUMvQztTQUNKLENBQUE7SUFDTCxDQUFDO0lBQ0QsS0FBSztRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxnQkFBZ0M7SUFDckUsTUFBTSxDQUFDLEdBQXVCLEVBQUUsUUFBbUM7UUFDL0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUU7WUFDbkMsT0FBTztTQUNWO1FBQ0QsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkYsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3hCLEdBQUcsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDNUYsQ0FBQztJQUNELEtBQUs7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxjQUFlLFNBQVEsY0FBeUI7SUFDekQsS0FBSyxDQUFDLElBQVk7UUFDZCxPQUFPLElBQUksS0FBSyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUNELGFBQWEsQ0FBQyxJQUFpQyxFQUFFLFNBQTZCO1FBQzFFLE1BQU0sR0FBRyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFDakMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQWtCLENBQUM7UUFDdEMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ3BDLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztDQUNKIn0=
62
+ //# sourceMappingURL=comment-element-impl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"comment-element-impl.js","sourceRoot":"lib/","sources":["framework/impl/comments/comment-element-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,WAAW,EAAiD,MAAM,sBAAsB,CAAC;AAC3H,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAgB,MAAM,qBAAqB,CAAC;AAErE,MAAM,OAAO,cAAe,SAAQ,WAAsB;IACtD;QACI,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;IACjC,CAAC;IACD,kBAAkB,CAAC,OAAoB,EAAE,SAA6B;QAClE,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,SAAS,CAAC,WAAwB;QAC9B,IAAG,IAAI,CAAC,UAAU,EAAC;YACf,OAAQ,IAAI,CAAC;SAChB;QACD,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE;gBACH,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC;aAC/C;SACJ,CAAA;IACL,CAAC;IACD,KAAK;QACD,MAAM,KAAK,GAAG,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAED,MAAM,OAAO,mBAAoB,SAAQ,gBAAgC;IACrE,MAAM,CAAC,GAAuB,EAAE,QAAmC;QAC/D,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACnC,OAAO;SACV;QACD,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;QACvF,MAAM,KAAK,GAAG,SAAS,CAAC;QACxB,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC5F,CAAC;IACD,KAAK;QACD,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAED,MAAM,OAAO,cAAe,SAAQ,cAAyB;IACzD,KAAK,CAAC,IAAY;QACd,OAAO,IAAI,KAAK,MAAM,CAAC;IAC3B,CAAC;IACD,aAAa,CAAC,IAAiC,EAAE,SAA6B;QAC1E,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAkB,CAAC;QACtC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACxB,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACpC,OAAO,GAAG,CAAC;IACf,CAAC;CACJ"}
1
+ {"version":3,"file":"comment-element-impl.js","sourceRoot":"lib/","sources":["framework/impl/comments/comment-element-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,WAAW,EAAiD,MAAM,sBAAsB,CAAC;AAC3H,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAgB,MAAM,qBAAqB,CAAC;AAErE,MAAM,OAAO,cAAe,SAAQ,WAAsB;IACtD;QACI,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;IACjC,CAAC;IACD,kBAAkB,CAAC,OAAoB,EAAE,SAA6B;QAClE,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,SAAS,CAAC,WAAwB;QAC9B,IAAG,IAAI,CAAC,UAAU,EAAC;YACf,OAAQ,IAAI,CAAC;SAChB;QACD,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE;gBACH,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC;aAC/C;SACJ,CAAA;IACL,CAAC;IACD,KAAK;QACD,MAAM,KAAK,GAAG,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAED,MAAM,OAAO,mBAAoB,SAAQ,gBAAgC;IACrE,MAAM,CAAC,GAAuB,EAAE,QAAmC;QAC/D,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACnC,OAAO;SACV;QACD,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;QACvF,MAAM,KAAK,GAAG,SAAS,CAAC;QACxB,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC5F,CAAC;IACD,KAAK;QACD,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAED,MAAM,OAAO,cAAe,SAAQ,cAAyB;IACzD,KAAK,CAAC,IAAY;QACd,OAAO,IAAI,KAAK,MAAM,CAAC;IAC3B,CAAC;IACD,aAAa,CAAC,IAAiC,EAAE,SAA6B;QAC1E,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAkB,CAAC;QACtC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACxB,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACpC,OAAO,GAAG,CAAC;IACf,CAAC;CACJ","sourcesContent":["import { Element, ElementFactory, LeafElement, readElementProps, SerializeProps, ViewOptions } from \"../../element-define\";\nimport { CommProps } from \"../../element-props\";\nimport { ElementUtil } from \"../../element-util\";\nimport { RenderContenxtType } from \"../../render-context\";\nimport { LeafRenderObject, RenderObject } from \"../../render-define\";\n\nexport class CommentElement extends LeafElement<CommProps> {\n constructor() {\n super('comm');\n this.isDecorate = true;\n this.disableClick = true;\n this.props = new CommProps();\n }\n createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject {\n const render = new CommentRenderObject(this);\n render.rect.width = 0;\n render.rect.height = 14;\n return render;\n }\n serialize(viewOptions: ViewOptions): SerializeProps|null {\n if(this.isDecorate){\n return null;\n }\n return {\n type: this.type,\n props: {\n ...this.props.getSerializeProps(viewOptions)\n }\n }\n }\n clone(): Element {\n const clone = new CommentElement();\n this.props.clone(clone.props);\n return clone;\n }\n}\n\nexport class CommentRenderObject extends LeafRenderObject<CommentElement> {\n render(ctx: RenderContenxtType, position: { x: number; y: number; }): void {\n if (!ctx.viewOptions.showReviewWindow) {\n return;\n }\n const paraLinePos = ElementUtil.getParaLinePos(this, { x: position.x, y: position.y });\n const color = '#ff4d4f';\n ctx.contentContext.fillRect(position.x - 1, paraLinePos.y, 2, paraLinePos.height, color)\n }\n clone(): RenderObject {\n const clone = new CommentRenderObject(this.element);\n clone.rect = ElementUtil.cloneRect(this.rect);\n return clone;\n }\n}\n\nexport class CommentFactory extends ElementFactory<CommProps> {\n match(type: string): boolean {\n return type === \"comm\";\n }\n createElement(data: readElementProps<CommProps>, renderCtx: RenderContenxtType): Element {\n const ele = new CommentElement();\n const props = data.props as CommProps;\n ele.props.id = props.id;\n ele.props.markType = props.markType;\n return ele;\n }\n}\n"]}
@@ -59,4 +59,4 @@ export class CommentsFactory extends ElementFactory {
59
59
  return commentsEle;
60
60
  }
61
61
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudHMtY29udGFpbmVyLWltcGwuanMiLCJzb3VyY2VSb290IjoibGliLyIsInNvdXJjZXMiOlsiZnJhbWV3b3JrL2ltcGwvY29tbWVudHMvY29tbWVudHMtY29udGFpbmVyLWltcGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFXLGNBQWMsRUFBZ0UsTUFBTSxzQkFBc0IsQ0FBQztBQUNwSixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQsT0FBTyxFQUFFLDBCQUEwQixFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBRy9FLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxxQkFBcUI7SUFDNUQ7UUFDSSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUNELGtCQUFrQixDQUFDLE9BQW9CLEVBQUUsU0FBNkI7UUFDbEUsTUFBTSxNQUFNLEdBQUcsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUM7UUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDekMsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUNELFNBQVMsQ0FBQyxXQUF3QjtRQUM5QixPQUFPO1lBQ0gsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsS0FBSyxFQUFFLEVBQUU7U0FDWixDQUFDO0lBQ04sQ0FBQztJQUNELEtBQUssQ0FBQyxJQUFhO1FBQ2YsTUFBTSxLQUFLLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQzFDLElBQUksSUFBSSxFQUFFO1lBQ04sS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2xDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUNoRDtTQUNKO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLDBCQUEwQjtJQUN0RSw0QkFBNEI7SUFDNUIsYUFBYSxDQUFXO0lBQ3hCLFdBQVcsQ0FBdUM7SUFDbEQsa0JBQWtCLEdBQThCLEVBQUUsQ0FBQztJQUNuRCxXQUFXLENBQUMsR0FBdUIsRUFBRSxRQUFrQjtRQUNuRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN4QixPQUFPO1NBQ1Y7UUFDRCxHQUFHLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFDRCxTQUFTLENBQUMsR0FBdUIsRUFBRSxRQUFrQjtJQUVyRCxDQUFDO0lBQ0QsS0FBSztRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNELEtBQUssQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDNUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0o7QUFHRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxjQUFvQjtJQUNyRCxLQUFLLENBQUMsSUFBWTtRQUNkLE9BQU8sSUFBSSxLQUFLLFdBQVcsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsYUFBYSxDQUFDLElBQVMsRUFBRSxTQUE2QjtRQUNsRCxNQUFNLFdBQVcsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDaEQsT0FBTyxXQUFXLENBQUM7SUFDdkIsQ0FBQztDQUNKIn0=
62
+ //# sourceMappingURL=comments-container-impl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"comments-container-impl.js","sourceRoot":"lib/","sources":["framework/impl/comments/comments-container-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAW,cAAc,EAAgE,MAAM,sBAAsB,CAAC;AACpJ,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,0BAA0B,EAAgB,MAAM,qBAAqB,CAAC;AAG/E,MAAM,OAAO,qBAAsB,SAAQ,qBAAqB;IAC5D;QACI,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,kBAAkB,CAAC,OAAoB,EAAE,SAA6B;QAClE,MAAM,MAAM,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzC,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,SAAS,CAAC,WAAwB;QAC9B,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,EAAE;SACZ,CAAC;IACN,CAAC;IACD,KAAK,CAAC,IAAa;QACf,MAAM,KAAK,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAC1C,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;aAChD;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAED,MAAM,OAAO,0BAA2B,SAAQ,0BAA0B;IACtE,4BAA4B;IAC5B,aAAa,CAAW;IACxB,WAAW,CAAuC;IAClD,kBAAkB,GAA8B,EAAE,CAAC;IACnD,WAAW,CAAC,GAAuB,EAAE,QAAkB;QACnD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,OAAO;SACV;QACD,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC3G,CAAC;IACD,SAAS,CAAC,GAAuB,EAAE,QAAkB;IAErD,CAAC;IACD,KAAK;QACD,MAAM,KAAK,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;SAC5C;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAGD,MAAM,OAAO,eAAgB,SAAQ,cAAoB;IACrD,KAAK,CAAC,IAAY;QACd,OAAO,IAAI,KAAK,WAAW,CAAC;IAChC,CAAC;IACD,aAAa,CAAC,IAAS,EAAE,SAA6B;QAClD,MAAM,WAAW,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAChD,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ"}
1
+ {"version":3,"file":"comments-container-impl.js","sourceRoot":"lib/","sources":["framework/impl/comments/comments-container-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAW,cAAc,EAAgE,MAAM,sBAAsB,CAAC;AACpJ,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,0BAA0B,EAAgB,MAAM,qBAAqB,CAAC;AAG/E,MAAM,OAAO,qBAAsB,SAAQ,qBAAqB;IAC5D;QACI,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,kBAAkB,CAAC,OAAoB,EAAE,SAA6B;QAClE,MAAM,MAAM,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzC,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,SAAS,CAAC,WAAwB;QAC9B,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,EAAE;SACZ,CAAC;IACN,CAAC;IACD,KAAK,CAAC,IAAa;QACf,MAAM,KAAK,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAC1C,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;aAChD;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAED,MAAM,OAAO,0BAA2B,SAAQ,0BAA0B;IACtE,4BAA4B;IAC5B,aAAa,CAAW;IACxB,WAAW,CAAuC;IAClD,kBAAkB,GAA8B,EAAE,CAAC;IACnD,WAAW,CAAC,GAAuB,EAAE,QAAkB;QACnD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,OAAO;SACV;QACD,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC3G,CAAC;IACD,SAAS,CAAC,GAAuB,EAAE,QAAkB;IAErD,CAAC;IACD,KAAK;QACD,MAAM,KAAK,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;SAC5C;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAGD,MAAM,OAAO,eAAgB,SAAQ,cAAoB;IACrD,KAAK,CAAC,IAAY;QACd,OAAO,IAAI,KAAK,WAAW,CAAC;IAChC,CAAC;IACD,aAAa,CAAC,IAAS,EAAE,SAA6B;QAClD,MAAM,WAAW,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAChD,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ","sourcesContent":["import { BlockContainerElement, Element, ElementFactory, Position, SelectionContentRange, SerializeProps, ViewOptions } from \"../../element-define\";\nimport { ElementUtil } from \"../../element-util\";\nimport { RenderContenxtType } from \"../../render-context\";\nimport { BlockContainerRenderObject, RenderObject } from \"../../render-define\";\nimport { CommentRangeStatus } from \"./comment-content-impl\";\n\nexport class CommsContainerElement extends BlockContainerElement {\n constructor() {\n super('comm-list');\n this.noFillEmpty = true;\n }\n createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject {\n const render = new CommsContainerRenderObject(this);\n render.rect.maxWidth = options.reviewWindowWidth;\n render.rect.width = render.rect.maxWidth;\n return render;\n }\n serialize(viewOptions: ViewOptions): SerializeProps {\n return {\n type: this.type,\n props: {}\n };\n }\n clone(data: boolean): Element {\n const clone = new CommsContainerElement();\n if (data) {\n for (let i = 0; i < this.length; i++) {\n clone.addChild(this.getChild(i).clone(true));\n }\n }\n return clone;\n }\n}\n\nexport class CommsContainerRenderObject extends BlockContainerRenderObject {\n //批注内容是否已经重组,只要重新绘制的时候组合一次即可\n isMeasureComm!: boolean;\n selectedSet!: Map<Element, SelectionContentRange>;\n commentRangeStatus: Array<CommentRangeStatus> = [];\n beginRender(ctx: RenderContenxtType, position: Position): void {\n if (this.rect.height === 0) {\n return;\n }\n ctx.contentContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height, 'black', 0.5);\n }\n endRender(ctx: RenderContenxtType, position: Position): void {\n\n }\n clone(): RenderObject {\n const clone = new CommsContainerRenderObject(this.element);\n clone.rect = ElementUtil.cloneRect(this.rect);\n for (let i = 0; i < this.length; i++) {\n clone.addChild(this.getChild(i).clone());\n }\n return clone;\n }\n}\n\n\nexport class CommentsFactory extends ElementFactory<null> {\n match(type: string): boolean {\n return type === \"comm-list\";\n }\n createElement(data: any, renderCtx: RenderContenxtType): Element {\n const commentsEle = new CommsContainerElement();\n return commentsEle;\n }\n}\n"]}
@@ -64,4 +64,4 @@ export class CommentsUtil {
64
64
  }
65
65
  }
66
66
  }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudHMtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiJsaWIvIiwic291cmNlcyI6WyJmcmFtZXdvcmsvaW1wbC9jb21tZW50cy9jb21tZW50cy11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQVkxRCxNQUFNLE9BQU8sWUFBWTtJQUNyQixNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBdUIsRUFBRSxVQUFzQyxFQUFFLGFBQXlDLEVBQUUsR0FBd0U7UUFDek0sTUFBTSxPQUFPLEdBQXdCLEVBQUUsQ0FBQztRQUN4QyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxvQkFBb0IsQ0FBeUIsQ0FBQztRQUN4RyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMzQyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdDLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFpQyxDQUFDO1lBQzdELE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN6RSxJQUFJLE9BQU8sRUFBRTtnQkFDVCxNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNoRixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FB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
67
+ //# sourceMappingURL=comments-util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"comments-util.js","sourceRoot":"lib/","sources":["framework/impl/comments/comments-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comments-util.js","sourceRoot":"lib/","sources":["framework/impl/comments/comments-util.ts"],"names":[],"mappings":"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","sourcesContent":["import {Position} from \"../../element-define\";\nimport {RenderContenxtType} from \"../../render-context\";\nimport {RenderObject} from \"../../render-define\";\nimport {ElementUtil} from \"../../element-util\";\nimport {DocumentRenderObject} from \"../document/doc-impl\";\nimport {CommContentBaseElement, CommContentBaseRenderObject,} from \"./comment-content-impl\";\nimport {CommentElement, CommentRenderObject} from \"./comment-element-impl\";\nimport {CommsContainerRenderObject} from \"./comments-container-impl\";\n\ninterface CommMapProps {\n commMarkRender: CommentRenderObject,\n commMarkPos: Position,\n commContentRender: CommContentBaseRenderObject<any>,\n commContentPos?: Position\n}\n\nexport class CommentsUtil {\n static remeasureComments(ctx: RenderContenxtType, commWindow: CommsContainerRenderObject, commContainer: CommsContainerRenderObject, map: Array<{ ele: CommentElement, render: RenderObject, pos: Position }>): void {\n const commMap: Array<CommMapProps> = [];\n const docRender = ElementUtil.getParentRender(commWindow, DocumentRenderObject) as DocumentRenderObject;\n for (let i = 0; i < commContainer.length; i++) {\n const commRender = commContainer.getChild(i);\n const commEle = commRender.element as CommContentBaseElement;\n const mapComm = map.find(item => item.ele.props.id === commEle.props.id);\n if (mapComm) {\n const commMarkLinePos = ElementUtil.getParaLinePos(mapComm.render, mapComm.pos);\n mapComm.pos.y = commMarkLinePos.y + 2;\n\n const commContentRender = commRender.clone() as CommContentBaseRenderObject<any>;\n commContentRender.rect.x = 0;\n commContentRender.rect.y = mapComm.pos.y;\n commWindow.addChild(commContentRender);\n commMap.push({\n commMarkRender: <CommentRenderObject>mapComm.render,\n commMarkPos: mapComm.pos,\n commContentRender: commContentRender\n });\n }\n }\n let sumCommentHeight = 0;\n for (let i = 0; i < commMap.length; i++) {\n const map = commMap[i];\n const prevRender = commMap[i - 1]?.commContentRender;\n const {commContentRender} = map;\n sumCommentHeight += commContentRender.rect.height + 5;\n if (prevRender) {\n const {y: prevY, height: prevHeight} = prevRender.rect;\n if (commContentRender.rect.y < prevY + prevHeight) {\n commContentRender.rect.y = prevY + prevHeight + 5;\n }\n }\n commContentRender.commMarkRender = {render: map.commMarkRender, pos: map.commMarkPos};\n }\n if (!commMap.length) {\n return;\n }\n const lastCommentMap = commMap[commMap.length - 1];\n const {commContentRender: lastCommContentRender} = lastCommentMap;\n const {rect: lastRect} = lastCommContentRender;\n\n //批注内容超出文档,需要重新排序\n if (lastRect.y + lastRect.height > docRender.rect.height) {\n //总内容小于容器高度,则进行倒排\n //否则进行正排\n if (sumCommentHeight < docRender.rect.height) {\n lastRect.y = docRender.rect.height - lastRect.height;\n for (let i = commMap.length - 1; i >= 0; i--) {\n const map = commMap[i];\n const prevRender = commMap[i + 1]?.commContentRender;\n const {commContentRender} = map;\n if (prevRender) {\n const {y: prevY} = prevRender.rect;\n if (commContentRender.rect.y + commContentRender.rect.height > prevY) {\n commContentRender.rect.y = prevY - commContentRender.rect.height - 5;\n }\n }\n commContentRender.commMarkRender = {render: map.commMarkRender, pos: map.commMarkPos};\n }\n }\n }\n\n }\n\n}\n"]}
@@ -80,4 +80,4 @@ export class ValidateRenderObject extends CommContentBaseRenderObject {
80
80
  return clone;
81
81
  }
82
82
  }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtbXNnLWltcGwuanMiLCJzb3VyY2VSb290IjoibGliLyIsInNvdXJjZXMiOlsiZnJhbWV3b3JrL2ltcGwvY29tbWVudHMvdmFsaWRhdGUtbXNnLWltcGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHakQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFNUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxzQkFBcUM7SUFDdEU7UUFDSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFvQixFQUFFLFNBQTZCO1FBQ2xFLE1BQU0sTUFBTSxHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUN4QixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsU0FBUyxDQUFDLFdBQXdCO1FBQzlCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBYTtRQUNmLE1BQU0s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
83
+ //# sourceMappingURL=validate-msg-impl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-msg-impl.js","sourceRoot":"lib/","sources":["framework/impl/comments/validate-msg-impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-msg-impl.js","sourceRoot":"lib/","sources":["framework/impl/comments/validate-msg-impl.ts"],"names":[],"mappings":"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","sourcesContent":["import { ViewOptions, Element, SerializeProps, Position, Rect } from \"../../element-define\";\nimport { TextProps, ValidateProps } from \"../../element-props\";\nimport { ElementUtil } from \"../../element-util\";\nimport { RenderContenxtType } from \"../../render-context\";\nimport { RenderObject } from \"../../render-define\";\nimport { CommContentBaseElement, CommContentBaseRenderObject } from \"./comment-content-impl\";\nimport { ParagraphElement } from \"../paragraph/p-impl\";\nimport { TextGroupElement } from \"../text/text-impl\";\nimport { DocumentRenderObject } from \"../document/doc-impl\";\n\n/**\n * 数据元验证提示\n */\nexport class ValidateElement extends CommContentBaseElement<ValidateProps> {\n constructor() {\n super('validate');\n this.props = new ValidateProps();\n this.isDecorate = true;\n }\n\n createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject | null {\n const render = new ValidateRenderObject(this);\n render.padding.left = 14;\n render.padding.top = 24;\n return render;\n }\n\n serialize(viewOptions: ViewOptions): SerializeProps | null {\n return null;\n }\n\n clone(data: boolean): Element {\n throw new Error(\"Method not implemented.\");\n }\n\n setContent(content: string): void {\n this.clearItems();\n const para = new ParagraphElement();\n const text = new TextGroupElement();\n text.props.fontSize = 14;\n text.props.fontName = '等线';\n text.props.color = '#000000'\n text.text = content;\n para.addChild(text);\n this.addChild(para);\n }\n}\n\nexport class ValidateRenderObject extends CommContentBaseRenderObject<ValidateElement> {\n beginRender(ctx: RenderContenxtType, position: Position): void {\n let borderColor = this.element.focus ? '#fa8c16' : '#ffd591';\n ctx.contentContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height, borderColor);\n ctx.contentContext.fillRect(position.x, position.y, 8, this.rect.height, '#871400')\n const docRender = ElementUtil.getParentRender(this.commMarkRender.render, DocumentRenderObject) as DocumentRenderObject;\n //获取审阅标记的绘制坐标\n let commMarkPos = ElementUtil.getRenderAbsolutePaintPos(this.commMarkRender.render, { x: 0, y: -ctx.viewOptions.translateY });\n const commMarkLinePos = ElementUtil.getParaLinePos(this.commMarkRender.render, commMarkPos);\n commMarkPos.y = commMarkLinePos.y + 2;\n\n const docRenderPos = ElementUtil.getRenderAbsolutePaintPos(docRender, { x: 0, y: -ctx.viewOptions.translateY });\n const marginLeft = commMarkPos.x - docRenderPos.x - docRender.padding.left;\n const marginRight = ctx.viewOptions.docPageSettings.width - marginLeft - docRender.padding.right * 2;\n ctx.overlaysContext.drawDashLine([commMarkPos, { x: commMarkPos.x + marginRight, y: commMarkPos.y }], [1, 1], 'red');\n ctx.overlaysContext.drawDashLine([{ x: commMarkPos.x + marginRight, y: commMarkPos.y }, position], [1, 1], 'red');\n\n this.renderTitle(ctx, position);\n }\n\n renderTitle(ctx: RenderContenxtType, position: Position): void {\n const topPadding = 24;\n const { props } = this.element;\n const textProps = new TextProps();\n textProps.fontSize = 12;\n textProps.fontName = '楷体';\n textProps.color = \"rgb(0,0,0)\";\n const title = this.element.props.title;\n const { width, height } = ctx.contentContext.measureText(title, textProps);\n const rect: Rect = { x: position.x + this.padding.left, y: position.y, width, height, maxHeight: 0, maxWidth: 0 }\n rect.y += (topPadding - rect.height) / 2;\n ctx.contentContext.drawText(title, textProps, rect.x, rect.y, rect.width, rect.height);\n }\n endRender(ctx: RenderContenxtType, position: Position): void {\n //throw new Error(\"Method not implemented.\");\n }\n clone(): RenderObject {\n const clone = new ValidateRenderObject(this.element);\n clone.rect = ElementUtil.cloneRect(this.rect);\n clone.padding = this.padding.clone();\n for (let i = 0; i < this.length; i++) {\n clone.addChild(this.getChild(i).clone());\n }\n return clone;\n }\n}\n"]}