@hailin-zheng/editor-core 1.0.14 → 1.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/lib/doc-ruler.js +1 -1
  2. package/lib/doc-ruler.js.map +1 -1
  3. package/lib/framework/common-util.js +1 -1
  4. package/lib/framework/common-util.js.map +1 -1
  5. package/lib/framework/document-change.js +1 -1
  6. package/lib/framework/document-change.js.map +1 -1
  7. package/lib/framework/document-combine.js +1 -1
  8. package/lib/framework/document-combine.js.map +1 -1
  9. package/lib/framework/document-comment.js +1 -1
  10. package/lib/framework/document-comment.js.map +1 -1
  11. package/lib/framework/document-context.js +1 -1
  12. package/lib/framework/document-context.js.map +1 -1
  13. package/lib/framework/document-eval-func.js +1 -1
  14. package/lib/framework/document-eval-func.js.map +1 -1
  15. package/lib/framework/document-event.js +1 -1
  16. package/lib/framework/document-event.js.map +1 -1
  17. package/lib/framework/document-history.js +1 -1
  18. package/lib/framework/document-history.js.map +1 -1
  19. package/lib/framework/document-images-loader.js +1 -1
  20. package/lib/framework/document-images-loader.js.map +1 -1
  21. package/lib/framework/document-input-cursor.js +1 -1
  22. package/lib/framework/document-input-cursor.js.map +1 -1
  23. package/lib/framework/document-paint.js +1 -1
  24. package/lib/framework/document-paint.js.map +1 -1
  25. package/lib/framework/document-print-offscreen.js +1 -1
  26. package/lib/framework/document-print-offscreen.js.map +1 -1
  27. package/lib/framework/document-print.js +1 -1
  28. package/lib/framework/document-print.js.map +1 -1
  29. package/lib/framework/document-segmenter.js +1 -1
  30. package/lib/framework/document-segmenter.js.map +1 -1
  31. package/lib/framework/document-selection.js +1 -1
  32. package/lib/framework/document-selection.js.map +1 -1
  33. package/lib/framework/document-template.js +1 -1
  34. package/lib/framework/document-template.js.map +1 -1
  35. package/lib/framework/document-textline-mode.js +1 -1
  36. package/lib/framework/document-textline-mode.js.map +1 -1
  37. package/lib/framework/element-define.js +1 -1
  38. package/lib/framework/element-define.js.map +1 -1
  39. package/lib/framework/element-event-define.js +1 -1
  40. package/lib/framework/element-event-define.js.map +1 -1
  41. package/lib/framework/element-measure.js +1 -1
  42. package/lib/framework/element-measure.js.map +1 -1
  43. package/lib/framework/element-paint.js +1 -1
  44. package/lib/framework/element-paint.js.map +1 -1
  45. package/lib/framework/element-props.js +1 -1
  46. package/lib/framework/element-props.js.map +1 -1
  47. package/lib/framework/element-reader.js +1 -1
  48. package/lib/framework/element-reader.js.map +1 -1
  49. package/lib/framework/element-render-cut.js +1 -1
  50. package/lib/framework/element-render-cut.js.map +1 -1
  51. package/lib/framework/element-serialize.js +1 -1
  52. package/lib/framework/element-serialize.js.map +1 -1
  53. package/lib/framework/element-util.js +1 -1
  54. package/lib/framework/element-util.js.map +1 -1
  55. package/lib/framework/impl/checkbox/checkbox-impl.js +1 -1
  56. package/lib/framework/impl/checkbox/checkbox-impl.js.map +1 -1
  57. package/lib/framework/impl/comments/comment-content-impl.js +1 -1
  58. package/lib/framework/impl/comments/comment-content-impl.js.map +1 -1
  59. package/lib/framework/impl/comments/comment-element-impl.js +1 -1
  60. package/lib/framework/impl/comments/comment-element-impl.js.map +1 -1
  61. package/lib/framework/impl/comments/comments-container-impl.js +1 -1
  62. package/lib/framework/impl/comments/comments-container-impl.js.map +1 -1
  63. package/lib/framework/impl/comments/comments-util.js +1 -1
  64. package/lib/framework/impl/comments/comments-util.js.map +1 -1
  65. package/lib/framework/impl/comments/validate-msg-impl.js +1 -1
  66. package/lib/framework/impl/comments/validate-msg-impl.js.map +1 -1
  67. package/lib/framework/impl/data-element/data-decorate-impl.js +1 -1
  68. package/lib/framework/impl/data-element/data-decorate-impl.js.map +1 -1
  69. package/lib/framework/impl/data-element/data-element-barcode.js +1 -1
  70. package/lib/framework/impl/data-element/data-element-barcode.js.map +1 -1
  71. package/lib/framework/impl/data-element/data-element-base-impl.js +1 -1
  72. package/lib/framework/impl/data-element/data-element-base-impl.js.map +1 -1
  73. package/lib/framework/impl/data-element/data-element-check-impl.js +1 -1
  74. package/lib/framework/impl/data-element/data-element-check-impl.js.map +1 -1
  75. package/lib/framework/impl/data-element/data-element-date-impl.js +1 -1
  76. package/lib/framework/impl/data-element/data-element-date-impl.js.map +1 -1
  77. package/lib/framework/impl/data-element/data-element-group-impl.js +1 -1
  78. package/lib/framework/impl/data-element/data-element-group-impl.js.map +1 -1
  79. package/lib/framework/impl/data-element/data-element-image-impl.js +1 -1
  80. package/lib/framework/impl/data-element/data-element-image-impl.js.map +1 -1
  81. package/lib/framework/impl/data-element/data-element-list-impl.js +1 -1
  82. package/lib/framework/impl/data-element/data-element-list-impl.js.map +1 -1
  83. package/lib/framework/impl/data-element/data-element-text-impl.js +1 -1
  84. package/lib/framework/impl/data-element/data-element-text-impl.js.map +1 -1
  85. package/lib/framework/impl/decorate/fill-null-space-imple.js +1 -1
  86. package/lib/framework/impl/decorate/fill-null-space-imple.js.map +1 -1
  87. package/lib/framework/impl/document/doc-body-impl.js +1 -1
  88. package/lib/framework/impl/document/doc-body-impl.js.map +1 -1
  89. package/lib/framework/impl/document/doc-body-part-impl.js +1 -1
  90. package/lib/framework/impl/document/doc-body-part-impl.js.map +1 -1
  91. package/lib/framework/impl/document/doc-container-impl.js +1 -1
  92. package/lib/framework/impl/document/doc-container-impl.js.map +1 -1
  93. package/lib/framework/impl/document/doc-footer-impl.js +1 -1
  94. package/lib/framework/impl/document/doc-footer-impl.js.map +1 -1
  95. package/lib/framework/impl/document/doc-header-impl.js +1 -1
  96. package/lib/framework/impl/document/doc-header-impl.js.map +1 -1
  97. package/lib/framework/impl/document/doc-impl.js +1 -1
  98. package/lib/framework/impl/document/doc-impl.js.map +1 -1
  99. package/lib/framework/impl/media-formula/menstrual-history.js +1 -1
  100. package/lib/framework/impl/media-formula/menstrual-history.js.map +1 -1
  101. package/lib/framework/impl/paragraph/p-impl.js +1 -1
  102. package/lib/framework/impl/paragraph/p-impl.js.map +1 -1
  103. package/lib/framework/impl/picture/image-impl.js +1 -1
  104. package/lib/framework/impl/picture/image-impl.js.map +1 -1
  105. package/lib/framework/impl/radio/radio-impl.js +1 -1
  106. package/lib/framework/impl/radio/radio-impl.js.map +1 -1
  107. package/lib/framework/impl/symbol/br-symbol-impl.js +1 -1
  108. package/lib/framework/impl/symbol/br-symbol-impl.js.map +1 -1
  109. package/lib/framework/impl/symbol/p-symbol-impl.js +1 -1
  110. package/lib/framework/impl/symbol/p-symbol-impl.js.map +1 -1
  111. package/lib/framework/impl/table/table-cell-impl.js +1 -1
  112. package/lib/framework/impl/table/table-cell-impl.js.map +1 -1
  113. package/lib/framework/impl/table/table-impl.js +1 -1
  114. package/lib/framework/impl/table/table-impl.js.map +1 -1
  115. package/lib/framework/impl/table/table-row-impl.js +1 -1
  116. package/lib/framework/impl/table/table-row-impl.js.map +1 -1
  117. package/lib/framework/impl/table/table-split-cell-patch.js +1 -1
  118. package/lib/framework/impl/table/table-split-cell-patch.js.map +1 -1
  119. package/lib/framework/impl/table/table-split-cell.js +1 -1
  120. package/lib/framework/impl/table/table-split-cell.js.map +1 -1
  121. package/lib/framework/impl/table/table-util.js +1 -1
  122. package/lib/framework/impl/table/table-util.js.map +1 -1
  123. package/lib/framework/impl/text/text-impl.js +1 -1
  124. package/lib/framework/impl/text/text-impl.js.map +1 -1
  125. package/lib/framework/impl/text/track-run-impl.js +1 -1
  126. package/lib/framework/impl/text/track-run-impl.js.map +1 -1
  127. package/lib/framework/notify.js +1 -1
  128. package/lib/framework/notify.js.map +1 -1
  129. package/lib/framework/range-util.js +1 -1
  130. package/lib/framework/range-util.js.map +1 -1
  131. package/lib/framework/render-context.js +1 -1
  132. package/lib/framework/render-context.js.map +1 -1
  133. package/lib/framework/render-define.js +1 -1
  134. package/lib/framework/render-define.js.map +1 -1
  135. package/lib/framework/selection-overlays.js +1 -1
  136. package/lib/framework/selection-overlays.js.map +1 -1
  137. package/lib/texteditor.js +1 -1
  138. package/lib/texteditor.js.map +1 -1
  139. package/lib/util/subject.js +1 -1
  140. package/lib/util/subject.js.map +1 -1
  141. package/lib/util/table-bind.js +1 -1
  142. package/lib/util/table-bind.js.map +1 -1
  143. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"document-change.js","sourceRoot":"lib/","sources":["framework/document-change.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-change.js","sourceRoot":"lib/","sources":["framework/document-change.ts"],"names":[],"mappings":"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","sourcesContent":["import { ICompositionStartInfo, InputData } from \"./document-input-cursor\";\nimport { SelectionRange, SelectionState } from \"./document-selection\";\nimport { ElementUtil } from \"./element-util\";\nimport {\n BlockContainerElement,\n BlockContentElement,\n BranchElement,\n DocMode,\n Element,\n InlineGroupElement,\n LeafElement,\n SelectionContentRange,\n ViewOptions\n} from \"./element-define\";\nimport { TextGroupElement } from \"./impl/text/text-impl\";\nimport { PSymbolElement } from \"./impl/symbol/p-symbol-impl\";\nimport { ParagraphElement } from \"./impl/paragraph/p-impl\";\nimport { RangeUtil } from \"./range-util\";\nimport { TableElement } from \"./impl/table/table-impl\";\nimport { DocumentEvent } from \"./document-event\";\nimport { KeyboradElementEvent } from \"./element-event-define\";\nimport { DataEleBaseProps, ParagraphProps, TextProps } from \"./element-props\";\nimport { ElementSerialize } from \"./element-serialize\";\nimport { ElementReader } from \"./element-reader\";\nimport { BreakElement } from \"./impl/symbol/br-symbol-impl\";\nimport { DataDecorateElement } from \"./impl/data-element/data-decorate-impl\";\nimport { EditorContext } from \"./document-context\";\nimport {\n DataElementInlineGroup,\n InlineGroupInputElement,\n IsInSideDataElement,\n IsInSideInlineGroupInputElement\n} from \"./impl/data-element/data-element-base-impl\";\nimport { DocumentComment } from \"./document-comment\";\nimport { CommentElement } from \"./impl/comments/comment-element-impl\";\nimport { nanoid } from \"nanoid\";\nimport { CommContentElement } from \"./impl/comments/comment-content-impl\";\nimport { ValidateElement } from \"./impl/comments/validate-msg-impl\";\nimport { CommonUtil } from \"./common-util\";\nimport { TrackRunElement, TrackRunTypeEnum } from \"./impl/text/track-run-impl\";\nimport { DocumentBodyElement } from \"./impl/document/doc-body-impl\";\n\n/**\n * 文档内容改变\n */\nexport class DocumentChange {\n constructor(private selectionState: SelectionState, private viewOptions: ViewOptions, private eleReader: ElementReader, private docCtx: EditorContext, private docComment: DocumentComment) {\n }\n\n newInput(data: InputData): void {\n const { startControl, startOffset, collapsed, enableTrackChanges } = this.selectionState;\n if (!collapsed) {\n this.onInputBySelection(data);\n return;\n }\n //判断是否需要创建新的留痕区域\n if (enableTrackChanges && !this.isInCorrectTrackRegion(startControl as Element, TrackRunTypeEnum.Inserted)) {\n this.newInputTrackChanges(data, startControl as LeafElement, startOffset);\n return;\n }\n //当前输入节点是在留痕区域中,但是当前关闭了审阅模式,需要拆分留痕区域,创建新输入节点\n if (!enableTrackChanges && this.isInTrackBlock(startControl)) {\n const newInput = this.splitTrackElement(startControl, startOffset);\n const comp = data.compositionStartInfo as ICompositionStartInfo;\n comp.element = newInput;\n comp.offset = 0;\n this.inputTextGroup(newInput, data);\n return;\n }\n if (!(startControl instanceof TextGroupElement)) {\n if (!data.compositionStartInfo) {\n throw new Error('compositionStartInfo is null');\n }\n const siblingTextEle = startOffset === 1 ? ElementUtil.getNextSiblingElement(startControl) : ElementUtil.getPrevSiblingElement(startControl);\n if (siblingTextEle instanceof TextGroupElement) {\n data.compositionStartInfo.offset = startOffset === 0 ? siblingTextEle.text.length : 0;\n this.inputTextGroup(siblingTextEle, data);\n } else {\n const inputTextProps = this.getDefaultTextProps(startControl, startOffset);\n const newTextGroup = ElementUtil.getNewTextGroup(inputTextProps);\n startControl.parent.addChild(newTextGroup, startControl.getIndex() + startOffset);\n this.inputTextGroup(newTextGroup, data);\n }\n return;\n }\n this.inputTextGroup(startControl, data);\n }\n\n\n /**\n * 选中区域后进行输入\n * 需要处理将选中的区域删除后,进行输入的情况\n */\n onInputBySelection(data: InputData): void {\n this.onRangeDelete();\n this.selectionState.afterSelectionChanged = (newVal) => {\n const { startControl, startOffset, editable } = newVal;\n if (!editable) {\n return false;\n }\n const comp = data.compositionStartInfo as ICompositionStartInfo;\n comp.element = startControl;\n comp.offset = startOffset;\n this.newInput(data);\n return true;\n };\n\n }\n\n /**\n * 当前元素是否在正确的留痕区域(ins-run、del-run),情况分为以下情况\n * 1.留痕块类型为新增,但是留痕块的创建者为其他用户,此时需要拆分留痕区域\n * 2.留痕块为当前用户创建,但是创建时间大于有效的时间,此时需要拆分留痕区域\n * @param startControl\n * @param trackType\n * @returns\n */\n isInCorrectTrackRegion(startControl: Element, trackType: TrackRunTypeEnum): boolean {\n const parent = startControl.parent;\n return parent instanceof TrackRunElement\n && parent.props.userId === this.viewOptions.editUser.id\n && parent.type === trackType\n && CommonUtil.getNowDiffSeconds(parent.props.date) <= this.viewOptions.trackChangePeriod;\n }\n\n /**\n * 当前元素是否在留痕区域(ins-run、del-run)中\n * @param target\n * @param trackType\n * @returns\n */\n isInTrackBlock(target: Element, trackType: TrackRunTypeEnum | null = null): boolean {\n return target.parent instanceof TrackRunElement && (trackType === null || target.parent.type === trackType);\n }\n\n /**\n * 留痕输入\n * @param data\n * @param startControl\n * @param startOffset\n * @returns\n */\n newInputTrackChanges(data: InputData, startControl: LeafElement, startOffset: number): void {\n const userId = this.viewOptions.editUser.id;\n const compInfo = data.compositionStartInfo as ICompositionStartInfo;\n if (this.isInCorrectTrackRegion(startControl, TrackRunTypeEnum.Inserted)) {\n return;\n }\n if (this.isInTrackBlock(startControl)) {\n const newInput = this.createNewTrackInput(startControl, startOffset, TrackRunTypeEnum.Inserted);\n compInfo.offset = 0;\n compInfo.element = newInput;\n this.inputTextGroup(newInput, data);\n return;\n } else {\n const {\n trackElement,\n newTextGroup\n } = this.createTextTrackElement(startControl, null, TrackRunTypeEnum.Inserted);\n this.insertElement(startControl, startOffset, [trackElement])\n compInfo.offset = 0;\n compInfo.element = newTextGroup;\n this.inputTextGroup(newTextGroup, data);\n return;\n }\n }\n\n\n /**\n * 创建新的留痕块,并返回留痕块输入定位文本\n * @param startControl\n * @param startOffset\n * @param trackType\n * @returns\n */\n createNewTrackInput(startControl: LeafElement, startOffset: number, trackType: TrackRunTypeEnum): TextGroupElement {\n const textProps = this.getDefaultTextProps(startControl, startOffset);\n const currTrackEle = startControl.parent as TrackRunElement;\n if (startControl instanceof TextGroupElement && startOffset > 0 && startOffset < startControl.textMeasures.length) {\n const splitText = startControl.spliceText(startOffset, startControl.textMeasures.length, true) as TextGroupElement;\n startControl.parent.addChild(splitText, startControl.getIndex() + 1);\n startOffset = startControl.textMeasures.length;\n }\n startOffset = startOffset > 0 ? 1 : 0;\n const index = startControl.getIndex() + startOffset;\n //切割留痕块\n if (index > 0 && index < currTrackEle.length) {\n const splitTrack = currTrackEle.split(startControl.getIndex() + startOffset) as TrackRunElement;\n currTrackEle.parent.addChild(splitTrack, currTrackEle.getIndex() + 1);\n const { trackElement, newTextGroup } = this.createTextTrackElement(startControl, textProps, trackType);\n currTrackEle.parent.addChild(trackElement, currTrackEle.getIndex() + 1);\n return newTextGroup;\n } else {\n const { trackElement, newTextGroup } = this.createTextTrackElement(startControl, textProps, trackType);\n currTrackEle.parent.addChild(trackElement, currTrackEle.getIndex() + (index === 0 ? 0 : 1));\n return newTextGroup;\n }\n }\n\n /**\n * 获取当前输入节点的文本属性\n * @param startControl\n * @returns\n */\n getDefaultTextProps(startControl: LeafElement, offset: number): TextProps {\n const para = ElementUtil.getParentByType(startControl, ParagraphElement) as ParagraphElement;\n let textProps = para.props.textProps;\n if (startControl instanceof TextGroupElement) {\n textProps = startControl.props;\n }\n const dataEle = ElementUtil.getDataElement(startControl) as DataElementInlineGroup;\n if (dataEle && IsInSideDataElement(startControl, offset)) {\n return dataEle.props.valueTextProps;\n }\n return textProps;\n }\n\n /**\n * 当前元素位于留痕区域内,但是当前编辑模式为非留痕模式,需要将当前留痕元素分割开来,插入新普通文本元素对象,并返回\n * @param startControl\n * @param startOffset\n * @returns\n */\n splitTrackElement(startControl: LeafElement, startOffset: number): TextGroupElement {\n if (!(startControl.parent instanceof TrackRunElement) && startControl instanceof TextGroupElement) {\n return startControl;\n }\n const textProps = this.getDefaultTextProps(startControl, startOffset);\n const currTrackEle = startControl.parent as TrackRunElement;\n if (startControl instanceof TextGroupElement && startOffset > 0 && startOffset < startControl.textMeasures.length) {\n const splitText = startControl.spliceText(startOffset, startControl.textMeasures.length, true) as TextGroupElement;\n startControl.parent.addChild(splitText, startControl.getIndex() + 1);\n startOffset = startControl.textMeasures.length;\n }\n startOffset = startOffset > 0 ? 1 : 0;\n const index = startControl.getIndex() + startOffset;\n if (index > 0 && index < currTrackEle.length) {\n const splitTrack = currTrackEle.split(startControl.getIndex() + startOffset) as TrackRunElement;\n currTrackEle.parent.addChild(splitTrack, currTrackEle.getIndex() + 1);\n const newInput = ElementUtil.getNewTextGroup(textProps);\n currTrackEle.parent.addChild(newInput, currTrackEle.getIndex() + 1);\n return this.splitTrackElement(newInput, 0);\n } else {\n const newInput = ElementUtil.getNewTextGroup(textProps);\n currTrackEle.parent.addChild(newInput, currTrackEle.getIndex() + (index === 0 ? 0 : 1));\n return this.splitTrackElement(newInput, 0);\n }\n }\n\n /**\n * 创建插入(ins-run) 留痕,并且返回留痕的文本元素对象\n * @param startControl\n * @returns\n */\n private createTextTrackElement(startControl: Element, textProps: TextProps | null, trackType: TrackRunTypeEnum): { trackElement: TrackRunElement, newTextGroup: TextGroupElement } {\n const para = ElementUtil.getParentByType(startControl, ParagraphElement) as ParagraphElement;\n const trackElement = this.createTrackElement(trackType);\n textProps = textProps || para.props.textProps;\n const newTextGroup = ElementUtil.getNewTextGroup(textProps);\n newTextGroup.props.color = '#ff4d4f';\n trackElement.addChild(newTextGroup);\n return {\n trackElement,\n newTextGroup\n }\n\n }\n\n private createTrackElement(trackType: TrackRunTypeEnum): TrackRunElement {\n const trackElement = new TrackRunElement(trackType);\n trackElement.props.userId = this.viewOptions.editUser.id;\n trackElement.props.userName = this.viewOptions.editUser.name;\n trackElement.props.date = CommonUtil.formatNow('YYYY-MM-DD HH:mm:ss');\n trackElement.props.id = nanoid(5);\n return trackElement;\n }\n\n private inputTextGroup(text: TextGroupElement, data: InputData): void {\n const prevInputData = data.prevInputData || '';\n const prevInputDataLength = prevInputData.length;\n if (!data.compositionStartInfo) {\n throw new Error('compositionStartInfo is null')\n }\n\n const { element, offset } = data.compositionStartInfo;\n let startInputOffset = offset;\n //startInputOffset -= prevInputDataLength;\n if (!(element instanceof TextGroupElement)) {\n //当前选中元素位于输入元素是起始还是结束位置,如果位于起始位置,则输入偏移量为0,否则为未变更之前的内容length\n if (ElementUtil.getNextSiblingElement(element) === text) {\n startInputOffset = 0;\n } else {\n startInputOffset = text.textMeasures.length - prevInputDataLength;\n }\n }\n text.splice(startInputOffset, prevInputDataLength, data.data);\n //输入后撤销,导致文本组内为空\n if (!text.text.length) {\n this.removeEmptyText(text);\n } else {\n this.selectionState.resetRange(text, startInputOffset + data.data.length);\n }\n }\n\n\n /**\n * backspace,向前删除\n */\n onBackspace(evt: KeyboardEvent): void {\n const { startControl, startOffset, collapsed } = this.selectionState;\n if (!startControl) {\n throw new Error('startControl is null')\n }\n const eventElement = new KeyboradElementEvent(this.docCtx);\n eventElement.key = 'backspace';\n eventElement.source = startControl;\n eventElement.sourceEvent = evt;\n eventElement.sourceOffset = startOffset;\n const res = DocumentEvent.invokeEvent('BackspaceKey', startControl, eventElement, 'Capture', this.docCtx);\n if (res && res.isCancel) {\n return;\n }\n this.docComment.updateComments();\n if (collapsed) {\n this.onBackspaceElement(startControl, startOffset);\n } else {\n this.onRangeDelete();\n }\n }\n\n /**\n * delete,向后删除\n * @param evt\n */\n onDeleteKeyHandler(evt: KeyboardEvent): void {\n const { startControl, startOffset, collapsed } = this.selectionState;\n const eventElement = new KeyboradElementEvent(this.docCtx);\n eventElement.key = 'delete';\n eventElement.source = startControl;\n eventElement.sourceEvent = evt;\n eventElement.sourceOffset = startOffset;\n const res = DocumentEvent.invokeEvent('DeleteKey', startControl, eventElement, 'Capture', this.docCtx);\n if (res && res.isCancel) {\n return;\n }\n if (collapsed) {\n this.onKeyDeleteElement(startControl, startOffset);\n } else {\n this.onRangeDelete();\n }\n }\n\n /**\n * 根据选择范围删除\n */\n private onRangeDelete(): { cursorEle: Element, cursorOffset: number } {\n const { selectedRange } = this.selectionState;\n if (!selectedRange) {\n throw new Error('selectionRange is null')\n }\n //用于刷新后定位光标\n let startPointElement: Element;\n let startPointOffset = 0;\n if (selectedRange.isFullSelected) {\n //某个容器的内容被全部选中\n if (selectedRange.target instanceof BlockContainerElement) {\n startPointElement = selectedRange.target;\n startPointOffset = 0;\n }\n //内容块被选中,需要向上寻找内容块容器\n else if (selectedRange.target instanceof BlockContentElement) {\n const parentContainer = ElementUtil.getParent(selectedRange.target, (item) => item instanceof BlockContainerElement) as BlockContainerElement;\n if (parentContainer) {\n startPointElement = parentContainer;\n startPointOffset = 0;\n } else {\n throw new Error('未能向上寻找到定位的内容块容器')\n }\n } else {\n throw new Error('未知条件区间')\n }\n } else {\n const startRange = RangeUtil.getStartRangeTarget(selectedRange) as SelectionContentRange;\n const endRange = RangeUtil.getEndRangeTarget(selectedRange) as SelectionContentRange;\n if (startRange.isFullSelected) {\n startPointElement = ElementUtil.getRecursionPrevSiblingElement(startRange.target, false, true) as LeafElement;\n startPointOffset = -1;\n //判断结束选区和开始选区是否在一个段落中,尽量落在同一段落中\n if (!startPointElement || ElementUtil.isInSameParagraph(startRange.target, endRange.target)) {\n if (!endRange.isFullSelected) {\n startPointElement = endRange.target;\n startPointOffset = 0;\n }\n }\n } else {\n startPointElement = startRange.target as LeafElement;\n startPointOffset = startRange.startOffset;\n }\n }\n if (this.viewOptions.docMode === DocMode.FormEdit) {\n this.deleteRangeInFormEdit(selectedRange)\n } else {\n this.deleteRange(selectedRange);\n }\n this.selectionState.resetRange(startPointElement, startPointOffset);\n return { cursorEle: startPointElement, cursorOffset: startPointOffset };\n }\n\n /**\n * backspace删除\n * @param control\n * @param offset\n * @returns\n */\n private onBackspaceElement(control: LeafElement, offset: number): void {\n this.selectionState.clear();\n if (offset === 0) {\n const prevEle = ElementUtil.getRecursionPrevSiblingElement(control, false, true);\n if (!prevEle) {\n this.selectionState.resetRange(control, 0);\n return;\n }\n if (ElementUtil.isInSameParagraph(control, prevEle)) {\n if (ElementUtil.getPrevSiblingElement(control) === prevEle) {\n this.onBackspaceElement(prevEle, ElementUtil.getElementEndOffset(prevEle));\n } else {\n this.selectionState.resetRange(prevEle, -1);\n }\n } else {\n //需要判断是否是兄弟段落,兄弟段落,需要合并\n const prevPara = ElementUtil.getParentByType(prevEle, ParagraphElement) as ParagraphElement;\n const currPara = ElementUtil.getParentByType(control, ParagraphElement) as ParagraphElement;\n //表明是紧挨着的两个段落,要进行段落合并\n if (ElementUtil.getPrevSiblingElement(currPara) === prevPara) {\n if (this.selectionState.enableTrackChanges) {\n this.selectionState.resetRange(prevEle, -1);\n return;\n }\n this.combineParagraph(prevPara, currPara, control);\n } else {\n //不是紧挨着的段落,则前一个段落是位于另一个容器里,例如:处于单元格内的段落\n //则不向前定位\n this.selectionState.resetRange(control, offset)\n }\n }\n } else {\n if (control instanceof TextGroupElement) {\n this.onDeleteText(control, offset - 1, 1);\n if (!control.textMeasures.length) {\n this.removeEmptyText(control);\n } else {\n this.selectionState.resetRange(control, offset - 1);\n }\n } else {\n if (control.parent instanceof InlineGroupInputElement && control instanceof DataDecorateElement) {\n const dataEle = control.parent;\n //空数据元,并且当前光标处于数据元开始位置\n if (this.canDeleteInlineGroup(dataEle)) {\n this.setCurosrForDeleteAction(dataEle);\n dataEle.remove();\n return;\n }\n if (control.isPrefix && this.viewOptions.docMode === DocMode.FormEdit) {\n if (this.jumpToPrevDataElement(dataEle)) {\n return;\n }\n }\n }\n if (control.isDecorate) {\n this.onBackspaceElement(control, 0);\n return;\n }\n this.removeElement(control);\n }\n }\n }\n\n /**\n * 跳到上一个数据元中\n * @param currEle\n */\n private jumpToPrevDataElement(currEle: InlineGroupInputElement): boolean {\n if (this.viewOptions.docMode !== DocMode.FormEdit) {\n return false;\n }\n const prevEle = ElementUtil.getPrevDataElement(this.docCtx, currEle as DataElementInlineGroup);\n if (!prevEle) {\n return false;\n }\n if (prevEle) {\n this.selectionState.resetRange(prevEle.endDecorate, 0);\n return true;\n }\n return false;\n }\n\n /**\n * delete删除\n * @param control\n * @param offset\n * @returns\n */\n private onKeyDeleteElement(control: LeafElement, offset: number): void {\n this.selectionState.clear();\n if (offset === ElementUtil.getElementEndOffset(control)) {\n const nextEle = ElementUtil.getRecursionNextSiblingElement(control, false, true);\n if (!nextEle) {\n this.selectionState.resetRange(control, -1);\n return;\n }\n if (ElementUtil.isInSameParagraph(control, nextEle)) {\n if (ElementUtil.getNextSiblingElement(control) === nextEle) {\n this.onKeyDeleteElement(nextEle, 0);\n } else {\n this.selectionState.resetRange(nextEle, 0);\n }\n } else {\n //需要判断是否是兄弟段落,兄弟段落,需要合并\n const nextPara = ElementUtil.getParentByType(nextEle, ParagraphElement) as ParagraphElement;\n const currPara = ElementUtil.getParentByType(control, ParagraphElement) as ParagraphElement;\n //表明是紧挨着的两个段落,要进行段落合并\n if (ElementUtil.getNextSiblingElement(currPara) === nextPara) {\n if (this.selectionState.enableTrackChanges) {\n this.selectionState.resetRange(nextEle, 0);\n return;\n }\n this.combineParagraph(nextPara, currPara, control);\n } else {\n //不是紧挨着的段落,则前一个段落是位于另一个容器里,例如:处于单元格内的段落\n //则不向前定位\n this.selectionState.resetRange(control, offset)\n }\n }\n } else {\n if (control instanceof TextGroupElement) {\n this.onDeleteText(control, offset, 1);\n if (!control.textMeasures.length) {\n this.removeEmptyText(control);\n } else {\n this.selectionState.resetRange(control, offset);\n }\n } else {\n if (control.parent instanceof DataElementInlineGroup && control instanceof DataDecorateElement) {\n const dataEle = control.parent as DataElementInlineGroup;\n //空数据元,并且当前光标处于数据元开始位置\n if (control.isPrefix) {\n if (this.canDeleteInlineGroup(dataEle)) {\n this.setCurosrForDeleteAction(dataEle);\n dataEle.remove();\n } else {\n this.selectionState.resetRange(control, -1);\n }\n return;\n } else if (!control.isPrefix && dataEle.length === 2) {\n this.selectionState.resetRange(dataEle.endDecorate, -1);\n return;\n }\n }\n if (control.isDecorate) {\n //this.onKeyDeleteElement(control, -1);\n return;\n }\n this.removeElement(control);\n }\n }\n }\n\n /**\n * 判断是否可以删除数据组\n * @param dataEle\n * @private\n */\n private canDeleteInlineGroup(dataEle: InlineGroupInputElement): boolean {\n if (this.viewOptions.docMode === DocMode.FormEdit) {\n return false;\n }\n return dataEle.length === 2;\n }\n\n private onDeleteText(text: TextGroupElement, offset: number, len: number): void {\n if (this.selectionState.enableTrackChanges) {\n this.updateDeletedTrackText(text, offset, len)\n } else {\n text.splice(offset, len)\n }\n }\n\n private onDeleteItem(item: LeafElement): void {\n if (this.selectionState.enableTrackChanges) {\n //删除符号不进行留痕\n if (item.type === 'psym') {\n return\n }\n this.onTrackDeleteElement(item);\n } else {\n item.remove();\n item.destroy();\n }\n }\n\n\n /**\n * 当前元素是否在留痕元素内\n * @param target\n * @param trackType\n * @returns\n */\n private isInCurrentUserTrack(target: Element, trackType: TrackRunTypeEnum): boolean {\n if (target.parent instanceof TrackRunElement && target.parent.type === trackType && target.parent.props.userId === this.viewOptions.editUser.id) {\n return true;\n }\n return false;\n }\n\n private isInTrackElement(target: Element, trackType: TrackRunTypeEnum): boolean {\n if (target.parent instanceof TrackRunElement && target.parent.type === trackType) {\n return true;\n }\n return false;\n }\n\n\n /**\n * 留痕除文本以外的其他元素\n * @param control\n */\n private onTrackDeleteElement(target: LeafElement): void {\n const parent = target.parent;\n if (this.isInTrackElement(target, TrackRunTypeEnum.Deleted)) {\n return;\n }\n //当前用户增加的内容,内容直接删除不需要留痕\n if (this.isInCurrentUserTrack(target, TrackRunTypeEnum.Inserted)) {\n target.remove();\n this.removeEmtpyInlineBlock(parent);\n return;\n }\n //target.remove();\n const trackEle = this.getNextTrackElement(target, TrackRunTypeEnum.Deleted);\n trackEle.addChild(target.clone(true), 0);\n target.remove();\n this.removeEmtpyInlineBlock(parent);\n }\n\n /**\n * 更新文本删除留痕\n */\n private updateDeletedTrackText(target: TextGroupElement, offset: number, len: number): void {\n if (this.isInTrackElement(target, TrackRunTypeEnum.Deleted)) {\n return;\n }\n //当前用户增加的内容,当前用户删除时不需要留痕\n if (this.isInCurrentUserTrack(target, TrackRunTypeEnum.Inserted)) {\n target.splice(offset, len);\n return;\n }\n //全部被删除\n if (offset === 0 && len === target.textMeasures.length) {\n const trackInputText = this.getNextTrackInputElement(target, TrackRunTypeEnum.Deleted);\n trackInputText.text = target.text + trackInputText.text;\n target.splice(0, target.textMeasures.length);\n //target.remove();\n return;\n }\n const { leftElement } = this.splitText(target, offset + len);\n target = leftElement as never;\n let trackText: TextGroupElement = this.getNextTrackInputElement(target, TrackRunTypeEnum.Deleted);\n const spText = target.spliceText(target.textMeasures.length - len, target.textMeasures.length, true);\n trackText.splice(0, 0, spText?.text);\n }\n\n\n private getNextTrackInputElement(target: Element, trackType: TrackRunTypeEnum): TextGroupElement {\n const trackElement = ElementUtil.getNextSiblingTrackElement(target, trackType, this.viewOptions.editUser.id)\n if (trackElement) {\n const firstEle = trackElement.getChild(0);\n if (firstEle && firstEle instanceof TextGroupElement) {\n return firstEle;\n } else {\n const newInput = new TextGroupElement();\n trackElement.addChild(newInput, 0);\n target.props.clone(newInput.props);\n return newInput;\n }\n } else {\n const {\n trackElement,\n newTextGroup\n } = this.createTextTrackElement(target, target.props, TrackRunTypeEnum.Deleted);\n target.parent.addChild(trackElement, target.getIndex() + 1);\n return newTextGroup;\n }\n }\n\n\n private getNextTrackElement(target: Element, trackType: TrackRunTypeEnum): TrackRunElement {\n let trackElement = ElementUtil.getNextSiblingTrackElement(target, trackType, this.viewOptions.editUser.id)\n if (!trackElement) {\n trackElement = this.createTrackElement(trackType);\n target.parent.addChild(trackElement, target.getIndex() + 1);\n }\n return trackElement;\n }\n\n\n /**\n * 删除元素并定位光标\n * @param control\n * @returns\n */\n private removeElement(control: LeafElement): void {\n const prevEle = ElementUtil.getRecursionPrevSiblingElement(control, false, true);\n if (!prevEle) {\n const nextEle = ElementUtil.getRecursionNextSiblingElement(control, true, true);\n if (nextEle) {\n this.selectionState.resetRange(nextEle, 0);\n control.remove();\n return;\n }\n return;\n }\n if (ElementUtil.isInSameParagraph(control, prevEle)) {\n this.selectionState.resetRange(prevEle, -1);\n control.remove();\n return;\n } else {\n const nextEle = ElementUtil.getRecursionNextSiblingElement(control, true, true);\n if (nextEle && ElementUtil.getPrevSiblingElement(nextEle) === control) {\n this.selectionState.resetRange(nextEle, 0);\n control.remove();\n return;\n } else {\n this.selectionState.resetRange(prevEle, -1);\n control.remove();\n return;\n }\n }\n }\n\n\n /**\n * 回车事件\n */\n onEnter(): void {\n const { startControl } = this.selectionState;\n const paragraph = ElementUtil.getParentByType(startControl, ParagraphElement) as ParagraphElement;\n const breakPara = this.splitCurrentParagraph();\n //选中的是一个元素\n if (breakPara === paragraph) {\n const clonePara = paragraph.clone(false);\n breakPara.parent.addChild(clonePara, breakPara.getIndex());\n }\n this.selectionState.resetRange(breakPara, 0);\n\n }\n\n /**\n * 插入表格\n * @param tb\n * @returns\n */\n insertTable(tb: TableElement): void {\n const breakPara = this.splitCurrentParagraph();\n breakPara.parent.addChild(tb, breakPara.getIndex());\n this.selectionState.resetRange(tb, 0);\n }\n\n /**\n * 分割当前段落用于插入表格或者粘贴的内容\n * @param insertItems 分割后插入的内容,内容需要是block或者表格对象\n */\n private splitCurrentParagraph(): ParagraphElement {\n const { startControl, startOffset } = this.selectionState;\n const paragraph = ElementUtil.getParentByType(startControl, ParagraphElement) as ParagraphElement;\n const paraContainer = paragraph.parent;\n //如果选中的是段落第一个元素\n const firstLeaf = ElementUtil.getFirstLeafElement(paragraph);\n if ((startControl === firstLeaf && startOffset === 0) || (startControl === firstLeaf && startControl instanceof PSymbolElement)) {\n //this.selectionState.resetRange(paragraph, 0);\n return paragraph;\n }\n const last = ElementUtil.getLastLeafElement(paragraph) as LeafElement;\n const selectedParaRange = RangeUtil.getSelctionRange(startControl, startOffset, last, 1, paragraph);\n selectedParaRange.isFullSelected = false;\n const breakPara = ElementUtil.cloneRange(selectedParaRange, true) as ParagraphElement;\n ElementUtil.fixParagraphContent(paragraph);\n ElementUtil.fixParagraphContent(breakPara);\n paraContainer.addChild(breakPara, paragraph.getIndex() + 1);\n //paraContainer.addChild(tb, breakPara.getIndex());\n //this.selectionState.resetRange(breakPara, 0);\n return breakPara;\n }\n\n /**\n * 合并段落\n */\n combineParagraph(prevPara: ParagraphElement, currPara: ParagraphElement, currElement: Element): void {\n const prevParaLength = prevPara.length;\n for (let i = 0; i < currPara.length; i++) {\n const child = currPara.getChild(i).clone(true);\n prevPara.addChild(child);\n }\n //currPara.remove();\n const currParaContainer = currPara.parent;\n currPara.destroy();\n currParaContainer.removeChild(currPara);\n this.selectionState.resetRange(prevPara.getChild(prevParaLength), 0);\n }\n\n /**\n * 删除选中的区域内容\n * @param range\n */\n deleteRange(range: SelectionContentRange): void {\n const { selectedChildren } = range;\n for (let i = selectedChildren.length - 1; i >= 0; i--) {\n const childRange = selectedChildren[i];\n const { target: childTarget, isFullSelected: childFullSelected } = childRange;\n if (childTarget instanceof LeafElement && !childTarget.isDecorate) {\n if (childFullSelected) {\n this.onDeleteItem(childTarget);\n } else if (childTarget instanceof TextGroupElement) {\n const { startOffset, endOffset } = childRange;\n this.onDeleteText(childTarget, startOffset, endOffset - startOffset);\n }\n } else if (childTarget instanceof BranchElement) {\n //留痕模式\n if (this.selectionState.enableTrackChanges) {\n this.deleteRange(childRange);\n } else {\n //表格全选状态时,执行删除操作\n if (childTarget instanceof TableElement && childFullSelected) {\n childTarget.remove();\n childTarget.destroy();\n }\n //段落全选状态时,执行删除操作\n else if (childTarget instanceof BlockContentElement && childFullSelected) {\n childTarget.remove();\n childTarget.destroy();\n } else if (childTarget instanceof InlineGroupElement && childFullSelected) {\n childTarget.remove();\n childTarget.destroy();\n } else {\n this.deleteRange(childRange);\n }\n }\n }\n }\n }\n\n\n /**\n * 表单区域删除处理\n * @param range\n * @returns\n */\n private deleteRangeInFormEdit(range: SelectionContentRange): void {\n const dataElement = ElementUtil.getDataElement(range.target);\n //在数据元内删除,调用普通的删除处理\n if (dataElement) {\n this.deleteRange(range);\n return;\n }\n //在数据元外删除\n else {\n this.loopForDelDataEleRange(range);\n }\n }\n\n /**\n * 表单模式:删除选中的区域内容\n */\n private loopForDelDataEleRange(range: SelectionContentRange): void {\n const { selectedChildren } = range;\n for (let i = selectedChildren.length - 1; i >= 0; i--) {\n const childRange = selectedChildren[i];\n const { target: childTarget } = childRange;\n if (childTarget instanceof BranchElement) {\n if (childTarget instanceof DataElementInlineGroup) {\n const dataEleProps = childTarget.props as DataEleBaseProps;\n //数据元可编辑\n if (dataEleProps.editable) {\n this.deleteRange(childRange);\n }\n } else {\n this.loopForDelDataEleRange(childRange)\n }\n }\n }\n }\n\n\n /**\n * 向目标移动元素\n * @param sourceElement\n * @param moveElement\n */\n moveElement(targetElement: Element, targetOffset: number, moveElement: Element, moveOffset: number, ss: SelectionState): void {\n moveElement.remove();\n if (targetElement instanceof TextGroupElement) {\n const { leftElement, rightElement } = this.splitText(targetElement, targetOffset);\n if (leftElement) {\n leftElement.parent.addChild(moveElement, leftElement.getIndex() + 1)\n } else if (rightElement) {\n rightElement.parent.addChild(moveElement, rightElement.getIndex())\n }\n } else {\n targetElement.parent.addChild(moveElement, targetElement.getIndex() + targetOffset);\n }\n ss.resetRange(moveElement, moveOffset);\n }\n\n /**\n * 向指定的目标插入元素\n * @param targetElement\n * @param targetOffset\n * @param destEleArray\n */\n insertElement(targetElement: Element, targetOffset: number, destEleArray: Array<Element>): Element | null {\n let lastEle!: Element | null;\n if (targetElement instanceof TextGroupElement) {\n const { leftElement, rightElement } = this.splitText(targetElement, targetOffset);\n if (leftElement) {\n for (let i = 0; i < destEleArray.length; i++) {\n lastEle = destEleArray[i];\n leftElement.parent.addChild(lastEle, leftElement.getIndex() + 1 + i);\n }\n } else if (rightElement) {\n for (let i = 0; i < destEleArray.length; i++) {\n lastEle = destEleArray[i]\n rightElement.parent.addChild(lastEle, rightElement.getIndex());\n }\n }\n } else {\n for (let i = 0; i < destEleArray.length; i++) {\n lastEle = destEleArray[i]\n targetElement.parent.addChild(lastEle, targetElement.getIndex() + targetOffset);\n }\n }\n return lastEle;\n }\n\n\n /**\n * 根据开始位置和结束位置,将字符切割成指定的区间\n * @param splitTextUnit\n * @param start\n * @param end\n * @returns\n */\n static splitTextGroupByRange(text: TextGroupElement, start: number, end: number): TextGroupElement | null {\n end = end === -1 ? text.textMeasures.length : end;\n if (start === end) {\n return null;\n }\n if (start === 0 && end === text.textMeasures.length) {\n return text;\n }\n if (start === text.textMeasures.length) {\n return null;\n }\n let lastTextGroup = text.spliceText(end, -1, true);\n let middleTextGroup = text.spliceText(start, -1, true);\n if (lastTextGroup) {\n text.parent.addChild(lastTextGroup, text.getIndex() + 1);\n }\n if (!middleTextGroup) {\n throw new Error('middleText is null');\n }\n text.parent.addChild(middleTextGroup, text.getIndex() + 1);\n\n if (text.textMeasures.length === 0) {\n text.remove();\n text.destroy();\n }\n return middleTextGroup;\n }\n\n splitText(text: TextGroupElement, offset: number): { leftElement: TextGroupElement | null, rightElement: TextGroupElement | null } {\n offset = offset == -1 ? text.textMeasures.length : offset;\n if (offset === text.textMeasures.length) {\n return {\n leftElement: text,\n rightElement: null\n }\n }\n if (offset === 0) {\n return {\n leftElement: null,\n rightElement: text\n }\n }\n const rightText = text.spliceText(offset, -1, true);\n if (rightText) {\n text.parent.addChild(rightText, text.getIndex() + 1);\n }\n let leftText: TextGroupElement | null = text;\n if (text.textMeasures.length === 0) {\n text.remove();\n leftText = null;\n }\n return {\n leftElement: leftText,\n rightElement: rightText\n }\n }\n\n /**\n * 设置选中的文本样式\n * @param ss\n * @param setterFunc\n * @returns\n */\n static setTextStyle(ss: SelectionState, setterFunc: (tp: TextProps) => void): void {\n const range = ss.selectedRange;\n if (!range || ss.collapsed) {\n return;\n }\n const newSelectionRange = new SelectionRange();\n const startRange = ElementUtil.getFirstSelectedRange(range);\n const endRange = ElementUtil.getLastSelectedRange(range);\n this.recursionSetRangeTextStyle(range, setterFunc);\n if (startRange === endRange) {\n if (startRange.isFullSelected) {\n newSelectionRange.setStart(startRange.target, 0);\n newSelectionRange.setEnd(startRange.target, -1);\n }\n if (startRange.target instanceof TextGroupElement) {\n const startSelectedOffset = ss.startOffset;\n const endSelectedOffset = ss.endOffset;\n const middleElement = this.splitTextGroupByRange(startRange.target, startSelectedOffset, endSelectedOffset);\n if (middleElement) {\n setterFunc(middleElement.props);\n newSelectionRange.setStart(middleElement, 0);\n newSelectionRange.setEnd(middleElement, -1);\n }\n }\n } else {\n if (startRange.isFullSelected) {\n newSelectionRange.setStart(startRange.target, 0);\n } else {\n if (startRange.target instanceof TextGroupElement) {\n const middleElement = this.splitTextGroupByRange(startRange.target, startRange.startOffset, -1);\n if (middleElement) {\n setterFunc(middleElement.props);\n newSelectionRange.setStart(middleElement, 0);\n } else {\n newSelectionRange.setStart(startRange.target, 0);\n }\n } else {\n newSelectionRange.setStart(startRange.target, startRange.startOffset);\n }\n }\n if (endRange.isFullSelected) {\n newSelectionRange.setEnd(endRange.target, -1);\n } else {\n if (endRange.target instanceof TextGroupElement) {\n const middleElement = this.splitTextGroupByRange(endRange.target, 0, endRange.endOffset);\n if (middleElement) {\n setterFunc(middleElement.props);\n newSelectionRange.setEnd(middleElement, -1);\n } else {\n newSelectionRange.setStart(endRange.target, 0);\n }\n\n } else {\n newSelectionRange.setEnd(endRange.target, endRange.endOffset);\n }\n }\n }\n ss.addRange(newSelectionRange);\n }\n\n private static recursionSetRangeTextStyle(range: SelectionContentRange, setterFunc: (tp: TextProps) => void): void {\n RangeUtil.recursionTraversalRangeHandler(range, (itemRange) => {\n if (itemRange.target instanceof TextGroupElement && itemRange.isFullSelected) {\n setterFunc(itemRange.target.props)\n }\n })\n }\n\n\n static setParaAlign(ss: SelectionState, setterFunc: (tp: ParagraphProps) => void): void {\n if (ss.collapsed && ss.startControl) {\n const para = ElementUtil.getParentByType(ss.startControl, ParagraphElement);\n if (para) {\n setterFunc(para.props);\n }\n } else {\n const range = ss.selectedRange;\n if (!range) {\n return;\n }\n RangeUtil.recursionTraversalRangeHandler(range, (itemRange) => {\n if (itemRange.target instanceof ParagraphElement) {\n setterFunc(itemRange.target.props);\n }\n })\n }\n\n }\n\n\n /**\n * 复制\n * @param evt\n * @returns\n */\n onCopy(evt: ClipboardEvent): void {\n evt.preventDefault();\n const copySerializeStr = ElementSerialize.getSelectedJSON(this.selectionState, this.viewOptions);\n if (!copySerializeStr) {\n return;\n }\n evt.clipboardData?.setData('doc/plain', copySerializeStr);\n const copyStr = ElementSerialize.getSelectedText(this.selectionState, this.viewOptions);\n evt.clipboardData?.setData('text/plain', copyStr);\n }\n\n /**\n * 剪切\n * @param evt\n */\n onCut(evt: ClipboardEvent): void {\n this.onCopy(evt);\n this.onRangeDelete();\n }\n\n /**\n * 粘贴\n * @param evt\n * @returns\n */\n onPaste(evt: ClipboardEvent): void {\n evt.preventDefault();\n let pasteText = evt.clipboardData?.getData('text/plain');\n const pasteData = evt.clipboardData?.getData('doc/plain');\n if (!pasteData) {\n if (pasteText) {\n this.pastePlainText(pasteText);\n }\n return;\n }\n const pasteElement = this.eleReader.readElement(JSON.parse(pasteData));\n if (!pasteElement) {\n console.log('粘贴反序列化数据失败', pasteData);\n return;\n }\n const { collapsed } = this.selectionState;\n let { startControl, startOffset } = this.selectionState;\n if (!collapsed) {\n //TODO:如果一个容器内的元素被全部删除,则返回 null\n // const { cursorEle, cursorOffset } = this.onRangeDelete();\n // startControl = cursorEle;\n // startOffset = cursorOffset;\n }\n if (!startControl) {\n return;\n }\n //表单模式:如果复制的是单格式的文本,需要序列化为纯文本处理\n if (this.viewOptions.docMode === DocMode.FormEdit) {\n const pasteString = ElementSerialize.serializeString(pasteElement, { all: false });\n if (pasteString) {\n this.pastePlainText(pasteString);\n }\n return;\n }\n if (pasteElement instanceof ParagraphElement || pasteElement instanceof InlineGroupElement) {\n const children: Array<Element> = [];\n if (pasteElement instanceof ParagraphElement) {\n children.push(...ElementUtil.getChildrenElements(pasteElement));\n } else if (pasteElement instanceof InlineGroupElement) {\n children.push(pasteElement);\n }\n if (!children.length) {\n throw new Error('段落子元素为空');\n }\n const lastEle = this.insertElement(startControl, startOffset, children) as Element;\n this.selectionState.resetRange(lastEle, -1);\n return;\n }\n console.log('粘贴:' + pasteData);\n }\n\n insertSoftBr(): void {\n let { startControl, startOffset } = this.selectionState;\n const lastEle = this.insertElement(startControl, startOffset, [new BreakElement()]) as Element;\n const focusEle = ElementUtil.getNextSiblingElement(lastEle);\n if (focusEle) {\n this.selectionState.resetRange(focusEle, 0);\n }\n\n }\n\n /**\n * 处理黏贴的纯文本\n * @param text\n */\n private pastePlainText(text: string): void {\n const textItems = text.split(/\\r?\\n/);\n const { startControl, startOffset } = this.selectionState;\n if (this.viewOptions.docMode === DocMode.FormEdit || textItems.length === 1 || IsInSideInlineGroupInputElement(startControl, startOffset)) {\n text = text.replace(/[\\n\\r]/g, '');\n this.newInput({\n data: text,\n compositionStartInfo: {\n element: startControl,\n offset: startOffset\n }\n })\n } else {\n const breakPara = this.splitCurrentParagraph();\n for (let i = 0; i < textItems.length; i++) {\n const newPara = breakPara.clone(false) as ParagraphElement;\n const inputTextProps = newPara.props.textProps;\n const newTextEle = ElementUtil.getNewTextGroup(inputTextProps);\n newTextEle.text = textItems[i];\n newPara.addChild(newTextEle, 0);\n breakPara.parent.addChild(newPara, breakPara.getIndex());\n }\n this.selectionState.resetRange(breakPara, 0);\n }\n }\n\n /**\n * 设置当前段落项目符号类型\n */\n setParagraphNumberType(): void {\n const { startControl } = this.selectionState;\n if (!startControl) {\n return;\n }\n const para = ElementUtil.getParentByType(startControl, ParagraphElement) as ParagraphElement;\n if (para.props.numberType >= 0) {\n para.props.numberType = -1;\n para.props.indent = 0;\n } else {\n para.props.numberType = 0;\n para.props.indent = 15;\n }\n }\n\n /**\n * 插入批注\n */\n insertComment(): void {\n const { startControl, startOffset, endControl, endOffset, collapsed } = this.selectionState;\n if (collapsed || !startControl || !endControl) {\n return;\n }\n const id = nanoid(5);\n const startCommMark = new CommentElement();\n startCommMark.props.id = id;\n startCommMark.props.markType = 'start';\n\n const endCommMark = new CommentElement();\n endCommMark.props.id = id;\n endCommMark.props.markType = 'end';\n\n this.insertElement(endControl, endOffset, [endCommMark])\n this.insertElement(startControl, startOffset, [startCommMark])\n\n const commContent = new CommContentElement();\n commContent.props.id = id;\n commContent.props.createId = this.viewOptions.editUser.id;\n commContent.props.createName = this.viewOptions.editUser.name;\n commContent.props.createDate = new Date();\n const pos = this.docComment.getCommMarkIndex(startCommMark);\n if (pos < 0) {\n throw new Error('获取插入的批注位置不正确');\n }\n this.docCtx.document.commentsContainerElement.addChild(commContent, pos);\n this.selectionState.clear();\n\n this.docComment.afterCommentsChanged();\n }\n\n validate(): boolean {\n const dataEleList = this.docCtx.document.treeFilter(item => item instanceof DataElementInlineGroup) as Array<DataElementInlineGroup>;\n const errorEleList = dataEleList.map(item => ({ error: item.validate(), ele: item })).filter(item => item.error);\n if (!errorEleList.length) {\n return true;\n }\n errorEleList.forEach(item => {\n const id = nanoid(5);\n const startCommMark = new CommentElement();\n startCommMark.props.id = id;\n startCommMark.props.markType = 'start';\n\n const endCommMark = new CommentElement();\n endCommMark.props.id = id;\n endCommMark.props.markType = 'end';\n\n item.ele.addChild(startCommMark, 0);\n item.ele.addChild(endCommMark, item.ele.length)\n const caption = CommonUtil.nullToString(item.ele.props.caption);\n const validateElement = new ValidateElement();\n validateElement.props.title = caption + '验证';\n validateElement.props.id = id;\n validateElement.setContent(item.error);\n\n const pos = this.docComment.getCommMarkIndex(startCommMark);\n this.docCtx.document.commentsContainerElement.addChild(validateElement, pos);\n\n\n })\n this.docCtx.selectionState.clear();\n this.docComment.afterCommentsChanged();\n\n return false;\n }\n\n /**\n * 移除空字符串\n * @param text\n */\n removeEmptyText(text: TextGroupElement): void {\n //const nextLeafElementInPara = ElementUtil.getRecursionNextSiblingElement(text, true, true); getComputedStyle\n this.setCurosrForDeleteAction(text);\n const parent = text.parent;\n text.remove();\n this.removeEmtpyInlineBlock(parent);\n }\n\n setCurosrForDeleteAction(control: Element): void {\n const cursorInfo = this.getCursorElementByDeleteAction(control);\n if (cursorInfo) {\n this.selectionState.resetRange(cursorInfo.ele, cursorInfo.offset);\n } else {\n this.selectionState.clear();\n }\n }\n\n getCursorElementByDeleteAction(control: Element): { ele: LeafElement, offset: number } | null {\n const prevLeafElementInPara = ElementUtil.getRecursionPrevSiblingElement(control, false, true);\n //判断是否为同一段落\n if (prevLeafElementInPara && ElementUtil.isInSameParagraph(prevLeafElementInPara, control)) {\n return {\n ele: prevLeafElementInPara,\n offset: ElementUtil.getElementEndOffset(prevLeafElementInPara)\n }\n }\n //同一段落其他元素\n const nextLeafElementInPara = ElementUtil.getRecursionNextSiblingElement(control, true, true);\n if (nextLeafElementInPara) {\n return {\n ele: nextLeafElementInPara,\n offset: 0\n }\n }\n //上一段落\n if (prevLeafElementInPara) {\n return {\n ele: prevLeafElementInPara,\n offset: prevLeafElementInPara instanceof PSymbolElement ? 0 : ElementUtil.getElementEndOffset(prevLeafElementInPara)\n }\n }\n return null;\n }\n\n /**\n * 移除空行内标签\n * @param ele\n */\n removeEmtpyInlineBlock(ele: Element): void {\n if (ele instanceof InlineGroupElement && ele.length === 0) {\n const parent = ele.parent;\n ele.remove();\n this.removeEmtpyInlineBlock(parent);\n }\n }\n\n /**\n * 插入强制换页符号\n */\n insertPageBreakPara(): void {\n const { startControl } = this.selectionState;\n const currPara = ElementUtil.getParentByType(startControl, ParagraphElement)\n if (!currPara) {\n return;\n }\n if (currPara.parent instanceof DocumentBodyElement) {\n const pageBreak = new ParagraphElement();\n pageBreak.props.pageBreak = true;\n pageBreak.props.textAlign = 'center';\n pageBreak.parent.addChild(pageBreak);\n }\n }\n\n\n}\n"]}
@@ -37,4 +37,4 @@ export class DocumentCombine {
37
37
  return template;
38
38
  }
39
39
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtY29tYmluZS5qcyIsInNvdXJjZVJvb3QiOiJsaWIvIiwic291cmNlcyI6WyJmcmFtZXdvcmsvZG9jdW1lbnQtY29tYmluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUc3RTs7R0FFRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQ3hCOzs7T0FHRztJQUNILFlBQVksQ0FBa0I7SUFFOUIsUUFBUSxHQUFtRCxFQUFFLENBQUM7SUFDOUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsT0FBd0IsRUFBRSxFQUFVO1FBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUNuRCxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJO1FBQ0EsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFlBQVksbUJBQW1CLENBQXdCLENBQUM7UUFDakcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMzQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1lBQ3ZELGdCQUFnQixDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUMzQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksWUFBWSxtQkFBbUIsQ0FBd0IsQ0FBQTtZQUNyRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtTQUNsQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSiJ9
40
+ //# sourceMappingURL=document-combine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-combine.js","sourceRoot":"lib/","sources":["framework/document-combine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAG7E;;GAEG;AACH,MAAM,OAAO,eAAe;IACxB;;;OAGG;IACH,YAAY,CAAkB;IAE9B,QAAQ,GAAmD,EAAE,CAAC;IAC9D;;OAEG;IACH,GAAG,CAAC,OAAwB,EAAE,EAAU;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACnD,CAAC;IAED,OAAO;QACH,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI;QACA,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,mBAAmB,CAAwB,CAAC;QACjG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,gBAAgB,GAAG,IAAI,uBAAuB,EAAE,CAAC;YACvD,gBAAgB,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,mBAAmB,CAAwB,CAAA;YACrG,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;SAClC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ"}
1
+ {"version":3,"file":"document-combine.js","sourceRoot":"lib/","sources":["framework/document-combine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAG7E;;GAEG;AACH,MAAM,OAAO,eAAe;IACxB;;;OAGG;IACH,YAAY,CAAkB;IAE9B,QAAQ,GAAmD,EAAE,CAAC;IAC9D;;OAEG;IACH,GAAG,CAAC,OAAwB,EAAE,EAAU;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACnD,CAAC;IAED,OAAO;QACH,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI;QACA,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,mBAAmB,CAAwB,CAAC;QACjG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,gBAAgB,GAAG,IAAI,uBAAuB,EAAE,CAAC;YACvD,gBAAgB,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,mBAAmB,CAAwB,CAAA;YACrG,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;SAClC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ","sourcesContent":["import { DocumentBodyElement } from \"./impl/document/doc-body-impl\";\nimport { DocumentBodyPartElement } from \"./impl/document/doc-body-part-impl\";\nimport { DocumentElement } from \"./impl/document/doc-impl\";\n\n/**\n * 文档合并\n */\nexport class DocumentCombine {\n /**\n * 合并模板文档\n * 用于设置合并后,页眉页脚等统一部分\n */\n mainTemplate!: DocumentElement\n\n docParts: Array<{ doc: DocumentElement, docId: string }> = [];\n /**\n * 添加需要合并的文档部分\n */\n add(docPart: DocumentElement, id: string): void {\n this.docParts.push({ doc: docPart, docId: id })\n }\n\n dispose(): void {\n this.docParts.length = 0;\n }\n\n /**\n * 用于合并文档计算\n */\n load(): DocumentElement {\n const template = this.mainTemplate.clone();\n const body = template.find((item) => item instanceof DocumentBodyElement) as DocumentBodyElement;\n body.clearItems();\n for (let i = 0; i < this.docParts.length; i++) {\n const part = this.docParts[i];\n const docPartContainer = new DocumentBodyPartElement();\n docPartContainer.props.partId = part.docId;\n const docPartBody = part.doc.find(item => item instanceof DocumentBodyElement) as DocumentBodyElement\n docPartContainer.addChild(docPartBody.clone(true));\n body.addChild(docPartContainer)\n }\n return template;\n }\n}"]}
@@ -145,4 +145,4 @@ export class DocumentComment {
145
145
  this.isDirty = true;
146
146
  }
147
147
  }
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtY29tbWVudC5qcyIsInNvdXJjZVJvb3QiOiJsaWIvIiwic291cmNlcyI6WyJmcmFtZXdvcmsvZG9jdW1lbnQtY29tbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQUlMO0lBSG5CLFlBQVksR0FBMEIsRUFBRSxDQUFDO0lBQ3pDLGVBQWUsR0FBa0MsRUFBRSxDQUFDO0lBQ3BELE9BQU8sR0FBWSxJQUFJLENBQUM7SUFDeEIsWUFBbUIsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtJQUFJLENBQUM7SUFFN0M7O01BRUU7SUFDRixZQUFZO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZixPQUFPO1NBQ1Y7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBMEIsQ0FBQztRQUN4RyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssT0FBTyxDQUFDLENBQUM7UUFDL0UsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQzNFLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FB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
148
+ //# sourceMappingURL=document-comment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-comment.js","sourceRoot":"lib/","sources":["framework/document-comment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-comment.js","sourceRoot":"lib/","sources":["framework/document-comment.ts"],"names":[],"mappings":"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","sourcesContent":["import { EditorContext } from \"./document-context\";\nimport { ElementUtil } from \"./element-util\";\nimport { CommContentBaseElement, CommContentElement } from \"./impl/comments/comment-content-impl\";\nimport { CommentElement } from \"./impl/comments/comment-element-impl\";\nimport { TextGroupElement } from \"./impl/text/text-impl\";\nimport { RangeUtil } from \"./range-util\";\n\n/**\n * 处理文档批注\n */\nexport class DocumentComment {\n commMarkList: Array<CommentElement> = [];\n commContentList: Array<CommContentBaseElement> = [];\n isDirty: boolean = true;\n constructor(public docCtx: EditorContext) { }\n\n /**\n * 读取审阅标记符号\n */\n readComments(): void {\n if (!this.isDirty) {\n return;\n }\n const commList = this.docCtx.document.treeFilter(item => item.type === 'comm') as Array<CommentElement>;\n const startCommList = commList.filter(item => item.props.markType === \"start\");\n const endCommList = commList.filter(item => item.props.markType === \"end\");\n const commMaps = startCommList.map(startItem => {\n const end = endCommList.find(endItem => endItem.props.id === startItem.props.id);\n if (!end) {\n throw new Error('未找到匹配的结束审阅符号')\n }\n return { start: startItem, end }\n })\n const commContentList: Array<CommContentBaseElement> = [];\n for (let i = 0; i < this.docCtx.document.commentsContainerElement.length; i++) {\n const commContent = this.docCtx.document.commentsContainerElement.getChild(i) as CommContentBaseElement;\n const commMap = commMaps.find(item => item.start.props.id === commContent.props.id);\n if (!commMap) {\n throw new Error('未找到审阅内容对应的审阅符号');\n }\n commContent.startMark = commMap.start;\n commContent.endMark = commMap.end;\n commContentList.push(commContent)\n }\n this.commMarkList = commList;\n this.commContentList = commContentList;\n this.docCtx.viewOptions.showReviewWindow = this.commContentList.length > 0;\n this.isDirty = false;\n }\n\n /**\n * 执行删除前,需要更新批注节点位置\n */\n updateComments(): void {\n const { selectionState } = this.docCtx;\n const { startControl, startOffset, collapsed, selectedRange } = selectionState;\n if (collapsed) {\n if (startOffset === 0) {\n return;\n }\n const nextSiblingEle = ElementUtil.getNextSiblingElement(startControl);\n //紧挨着的元素\n if (nextSiblingEle instanceof CommentElement && nextSiblingEle.props.markType === 'end') {\n if (startControl instanceof TextGroupElement) {\n if (startControl.textMeasures.length === startOffset) {\n this.removeComment(nextSiblingEle.props.id);\n }\n } else {\n this.removeComment(nextSiblingEle.props.id);\n }\n }\n } else {\n //如果开始批注被选中,则需要移动开始批注元素到选区末尾\n //如果结束批注被选中,则需要删除当前批注\n if (!selectedRange) {\n return\n }\n const endRange = RangeUtil.getEndRangeTarget(selectedRange);\n if (!endRange) {\n return\n }\n const commPairs: Array<CommMarkSelectedStatus> = [];\n for (let i = 0; i < this.commContentList.length; i++) {\n const { startMark, endMark } = this.commContentList[i];\n const commPair: CommMarkSelectedStatus = {\n startMark,\n endMark,\n startMarkStatus: RangeUtil.checkElementFullInRange(selectedRange, startMark),\n endMarkStatus: RangeUtil.checkElementFullInRange(selectedRange, endMark),\n };\n commPairs.push(commPair)\n }\n\n for (let i = 0; i < commPairs.length; i++) {\n const commPair = commPairs[i];\n if (commPair.endMarkStatus) {\n this.removeComment(commPair.endMark.props.id);\n } else if (commPair.startMarkStatus) {\n // const newStartMark = new CommentElement();\n // newStartMark.props.id = commPair.startMark.props.id;\n // commPair.startMark.isDecorate = false;\n // DocumentChange.insertElement(endRange.target, endRange.endOffset, [newStartMark]);\n }\n }\n }\n }\n\n\n /**\n * 删除批注\n * @param id \n */\n removeComment(id: string): void {\n const commentMarks = this.commMarkList.filter(item => item.props.id === id);\n const commentContent = this.commContentList.find(item => item.props.id === id);\n commentMarks.forEach(item => item.remove())\n commentContent?.remove();\n this.afterCommentsChanged();\n }\n\n getCommMarkIndex(commMark: CommentElement): number {\n const markType = commMark.props.markType;\n const commList = this.docCtx.document.treeFilter(item => item.type === 'comm') as Array<CommentElement>;\n const startCommList = commList.filter(item => item.props.markType === markType);\n return startCommList.indexOf(commMark);\n }\n\n /**\n * 清除所有批注\n */\n clearAllComments(): void {\n this.readComments();\n for (let i = 0; i < this.commContentList.length; i++) {\n this.removeComment(this.commContentList[i].props.id);\n }\n this.docCtx.selectionState.clear();\n }\n\n /**\n * 清除所有的验证批注\n */\n clearAllValidates(): void {\n this.docCtx.document.treeFilter(item => item.type === 'validate').forEach(item => { this.removeComment(item.props.id) })\n }\n\n /**\n * 批注修改后事件\n * 用于标注当前文档的批注发生更改了,不再重复读取批注,提高性能\n */\n afterCommentsChanged(): void {\n this.isDirty = true;\n }\n\n\n}\n\n\nexport interface CommMarkSelectedStatus {\n startMark: CommentElement,\n endMark: CommentElement,\n startMarkStatus: boolean,\n endMarkStatus: boolean\n}\n"]}
@@ -327,4 +327,4 @@ export class DocumentContext {
327
327
  });
328
328
  }
329
329
  }
330
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJsaWIvIiwic291cmNlcyI6WyJmcmFtZXdvcmsvZG9jdW1lbnQtY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxPQUFPLEVBQXlDLFVBQVUsRUFBa0MsTUFBTSxrQkFBa0IsQ0FBQztBQUVySCxPQUFPLEVBQTBCLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN0SCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVEzQzs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBV007SUFBZ0Q7SUFWNUUsT0FBTyxHQUFZLEtBQUssQ0FBQztJQUN6QixVQUFVLENBQWU7SUFDakIsU0FBUyxDQUFtQjtJQUNwQyxXQUFXO0lBQ1gsd0JBQXdCO0lBQ3hCLFdBQVcsQ0FBYztJQUN6QixXQUFXLENBQWU7SUFDMUIsV0FBVyxDQUFtQjtJQUM5QixTQUFTLENBQWtCO0lBQzNCLGNBQWMsQ0FBdUI7SUFDckMsWUFBNEIsY0FBOEIsRUFBa0IsV0FBd0I7UUFBeEUsbUJBQWMsR0FBZCxjQUFjLENBQWdC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
330
+ //# sourceMappingURL=document-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-context.js","sourceRoot":"lib/","sources":["framework/document-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-context.js","sourceRoot":"lib/","sources":["framework/document-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAyC,UAAU,EAAkC,MAAM,kBAAkB,CAAC;AAErH,OAAO,EAA0B,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AACtH,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAoB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAQ3C;;GAEG;AACH,MAAM,OAAO,aAAa;IAWM;IAAgD;IAV5E,OAAO,GAAY,KAAK,CAAC;IACzB,UAAU,CAAe;IACjB,SAAS,CAAmB;IACpC,WAAW;IACX,wBAAwB;IACxB,WAAW,CAAc;IACzB,WAAW,CAAe;IAC1B,WAAW,CAAmB;IAC9B,SAAS,CAAkB;IAC3B,cAAc,CAAuB;IACrC,YAA4B,cAA8B,EAAkB,WAAwB;QAAxE,mBAAc,GAAd,cAAc,CAAgB;QAAkB,gBAAW,GAAX,WAAW,CAAa;QAChG,IAAI,CAAC,WAAW,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC9C,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,EAAE;YAC9C,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAW,QAAQ,CAAC,KAAsB;QACtC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,oEAAoE;QACpE,gCAAgC;QAChC,yDAAyD;QACzD,gCAAgC;QAChC,MAAM;QACN,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,EAAE;YAC/D,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,EAAE;YAChE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE;YACvB,aAAa,CAAC,WAAW,EAAE,CAAC;YAC5B,aAAa,CAAC,WAAW,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,SAAS,EAAE;gBAChB,IAAI,CAAC,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;gBAChD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aAC5B;YACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAA;IACL,CAAC;IAED,KAAK;QACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAAA,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACpE,CAAC;IAED,aAAa,CAAC,GAAY;QACtB,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,eAAe,IAAI,IAAI,YAAY,uBAAuB,CAAkB,CAAC;QACpJ,OAAO,IAAI,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,gBAAgB;QACZ,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,IAAI,CAAC;SACf;QACD,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,eAAe,IAAI,IAAI,YAAY,uBAAuB,CAAkB,CAAC;QAC7J,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,GAAkB;QACrB,OAAO,IAAI,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACzD,CAAC;IAGO,kBAAkB,GAA6C,EAAE,CAAC;IAC1E,oBAAoB,CAAoB,WAAqC,EAAE,SAAqB,EAAE,OAAkC,EAAE,aAAsB,KAAK;QACjK,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACzB,WAAW;YACX,SAAS;YACT,OAAO;YACP,UAAU;SACb,CAAC,CAAA;IACN,CAAC;IAED,iBAAiB,CAAC,GAAY,EAAE,SAAqB,EAAE,CAAe,EAAE,aAAsB,KAAK;QAC/F,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACtC,IAAI,GAAG,YAAY,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,CAAC,UAAU,KAAK,UAAU,EAAE;gBAC7F,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aACjB;SACJ;IACL,CAAC;IAED,OAAO;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QACxB,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAAA,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,kBAAkB;QACd,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC;QACvF,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,WAAW;QACf,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IAGD;;OAEG;IACH,kBAAkB,CAAC,cAAwD,EAAE,UAAoD,EAAE,EAAkB;QACjJ,MAAM;QACN,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,MAAM;QACN,aAAa;QACb,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,OAAO;QACP,cAAc,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,SAAS,EAAE,UAAU,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAA;IACpF,CAAC;CACJ;AAkBD;;GAEG;AACH,MAAM,OAAO,eAAe;IACJ;IAA4B;IAAhD,YAAoB,GAAkB,EAAU,EAAkB;QAA9C,QAAG,GAAH,GAAG,CAAe;QAAU,OAAE,GAAF,EAAE,CAAgB;IAAI,CAAC;IAEvE,gBAAgB;QACZ,MAAM,WAAW,GAAY,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAqC,CAAC;QACpH,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,sBAAsB;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAoD,CAAC;IACjH,CAAC;IAED,cAAc,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAU,IAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAA6C,CAAC;IAC7I,CAAC;IAED,gBAAgB,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAU,IAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAA6C,CAAC;IACjJ,CAAC;IAED;;MAEE;IACF,oBAAoB;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAClD,OAAO,UAAU,CAAC,GAAG,CAAyB,IAAI,CAAC,EAAE,CAAC,CAAC;YACnD,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;SACzB,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;;OAGG;IACH,uBAAuB;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAoD,CAAC;QAE1H,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,sBAAsB,CAAkC,CAAC;QAC7H,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,eAAe,CAA2B,CAAC;QAExG,QAAQ;QACR,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,gBAAgB,CAA4B,CAAC;QAC5G,wBAAwB;QACxB,MAAM,mBAAmB,GAAG,UAAU,CAAC,cAAc,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,GAAG,CAAmB,IAAI,CAAC,EAAE,CAAC,CAC1G,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAY,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAc,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3M,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,GAAG,CAAoB,IAAI,CAAC,EAAE,CAAC,CACzE,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjL,OAAO;QACP,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,oBAAoB,EAAE,GAAG,mBAAmB,EAAE,GAAG,mBAAmB,CAAC,CAAC;IACrF,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAAC,aAAsC;QAChE,kBAAkB;QAClB,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5E,iBAAiB;QACjB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7H,MAAM,oBAAoB,GAAG,UAAU,CAAC,GAAG,CAAoB,CAAC,SAAS,EAAE,EAAE;YACzE,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;YACzF,OAAO;gBACH,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;gBACnC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;gBAC7C,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW;gBACjD,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,GAAG,EAAE;oBACX,IAAI,YAAY,GAAG,EAAE,CAAC;oBACtB,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE;wBACtC,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBACjH;yBAAM;wBACH,MAAM,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;wBAC1E,IAAI,iBAAiB,EAAE;4BACnB,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC;yBACvD;qBACJ;oBAAA,CAAC;oBACF,OAAO,YAAY,CAAC;gBACxB,CAAC;gBACD,QAAQ,EAAE,CAAC,GAA2B,EAAE,EAAE;oBACtC,QAAQ;oBACR,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE;wBACnC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;wBAC5D,OAAO;qBACV;oBACD,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE;wBACtC,MAAM,QAAQ,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;wBAEhE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;4BAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;wBAC7E,CAAC,CAAC,CAAC;qBACN;yBAAM;wBACH,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;4BAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,GAAG,CAAC;wBACzD,CAAC,CAAC,CAAC;qBACN;oBAAA,CAAC;gBACN,CAAC;aACJ,CAAA;QACL,CAAC,CAAC,CAAA;QACF,MAAM,qBAAqB,GAAG,eAAe,CAAC,GAAG,CAAmB,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1P,OAAO,CAAC,GAAG,qBAAqB,EAAE,GAAG,oBAAoB,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,gBAAgB;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,eAAe,CAA2B,CAAC;IAClG,CAAC;IAED,mBAAmB,CAAC,EAAU;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,eAAe,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAA2B,CAAC;IACxH,CAAC;IAED;;OAEG;IACH,aAAa;QACT,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC5B,MAAM,QAAQ,GAAG,IAAuB,CAAC;YACzC,MAAM,OAAO,GAAG,gBAAgB,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1E,OAAO;gBACH,MAAM;gBACN,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;gBAC7B,MAAM;gBACN,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ;gBACjC,IAAI;gBACJ,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI;gBACzB,0BAA0B;gBAC1B,IAAI,EAAE,QAAQ,CAAC,IAAwB;gBACvC,OAAO;gBACP,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACrB,IAAI;gBACJ,OAAO;aACV,CAAA;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,eAAe,CAAC,EAAU,EAAE,KAAa;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC3B;QACD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,qBAAqB,CAAC,IAAY,EAAE,GAAQ;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAC3C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,SAAiB;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACxF,CAAC;IAED,eAAe,CAAC,SAAiB;QAC7B,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAA4B,CAAC;IAC3J,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,IAA0D,EAAE,eAA4C,WAAW;QAC9H,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACzB,MAAM,GAAG,GAAG,EAAE,CAAC;YACf,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA,CAAC,CAAC,CAAC,CAAC;YACzD,QAAQ,GAAG,GAAG,CAAC;SAClB;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAChD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;YAClC,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;gBACjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;aACnC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ","sourcesContent":["import { DocumentEvalFunc } from \"./document-eval-func\";\nimport { DocumentImagesLoader } from \"./document-images-loader\";\nimport { SelectionState } from \"./document-selection\";\nimport { BranchElement, Element, ImgLoadStatus, ModifyFlag, Rect, RefreshType, ViewOptions } from \"./element-define\";\nimport { ElementEvent, EventTypes } from \"./element-event-define\";\nimport { DataElementValueStruct, ElementSerialize } from \"./element-serialize\";\nimport { DataElementInlineGroup, DataElementLeaf, validateDataEle } from \"./impl/data-element/data-element-base-impl\";\nimport { DataElementCheck } from \"./impl/data-element/data-element-check-impl\";\nimport { DocumentElement } from \"./impl/document/doc-impl\";\nimport { TrackRunElement, TrackRunTypeEnum } from \"./impl/text/track-run-impl\";\nimport { ElementUtil } from \"./element-util\";\nimport { DocumentBodyPartElement } from \"./impl/document/doc-body-part-impl\";\nimport { DocumentChange } from \"./document-change\";\nimport { CommonUtil } from \"./common-util\";\n\ninterface RegisterTypeHandlerProps<T extends Element> {\n elementType: { new(...args: any): T },\n eventName: EventTypes,\n handler: <E extends ElementEvent>(e: E) => void,\n useCapture: boolean\n}\n/**\n * 当前打开的文档的上下文信息,当前文档所有的属性设置都暴露在上下文中\n */\nexport class EditorContext {\n isDirty: boolean = false;\n cursorRect!: Rect | null;\n private _document!: DocumentElement;\n //文档刷新的订阅事件\n //refSub!: Subscription;\n syncRefresh!: () => void;\n imageLoader: IImageLoader;\n dynamicFunc: DocumentEvalFunc;\n docChange!: DocumentChange;\n clearPrevDocCb!: (() => void) | null;\n constructor(public readonly selectionState: SelectionState, public readonly viewOptions: ViewOptions) {\n this.dynamicFunc = new DocumentEvalFunc(this);\n this.imageLoader = new DocumentImagesLoader();\n this.selectionState.onChangedEvent.subscribe(() => {\n this.syncRefresh?.();\n });\n }\n\n public get document(): DocumentElement {\n return this._document;\n }\n\n public set document(value: DocumentElement) {\n this.clearPrevDocCb?.();\n this._document = value;\n this.initScripts();\n // this.refSub = this._document.refreshSubject.subscribe((data) => {\n // data = data ?? 'content';\n // this.isDirty = this.isDirty || data === 'content';\n // this.syncRefresh?.(data);\n // });\n const docRefreshSub = this._document.refreshSubject.subscribe(() => {\n this.syncRefresh?.();\n });\n const docChangedSub = this._document.onChangeSubject.subscribe(() => {\n this.syncRefresh?.();\n });\n this.syncRefresh();\n this.clearPrevDocCb = () => {\n docRefreshSub.unsubscribe();\n docChangedSub.unsubscribe();\n if (this._document) {\n this.selectionState?.renderContainer?.destroy();\n this.clear();\n this._document.destroy();\n }\n this.clearPrevDocCb = null;\n }\n }\n\n clear(): void {\n this.selectionState.clear();\n this.imageLoader.clear();;\n this.dynamicFunc.destroyScripts();\n this.isDirty = false;\n }\n\n get defaultCtx(): DocumentContext {\n return new DocumentContext(this._document, this.selectionState);\n }\n\n getCurrentCtx(ele: Element): DocumentContext {\n const parentCtx = ElementUtil.getParent(ele, (item) => item instanceof DocumentElement || item instanceof DocumentBodyPartElement) as BranchElement;\n return new DocumentContext(parentCtx, this.selectionState);\n }\n\n /**\n * 根据当前选区,返回所在的上下文元素,返回类型为DocumentElement|DocumentBodyPartElement\n */\n getCurrentEleCtx(): BranchElement | null {\n const { startControl } = this.selectionState;\n if (!startControl) {\n return null;\n }\n const parentCtx = ElementUtil.getParent(startControl, (item) => item instanceof DocumentElement || item instanceof DocumentBodyPartElement) as BranchElement;\n return parentCtx;\n }\n\n getCtx(ele: BranchElement): DocumentContext {\n return new DocumentContext(ele, this.selectionState);\n }\n\n\n private ele_types_handlers: Array<RegisterTypeHandlerProps<Element>> = [];\n registerTypeHandlers<T extends Element>(elementType: { new(...args: any): T }, eventName: EventTypes, handler: (e: ElementEvent) => void, useCapture: boolean = false): void {\n this.ele_types_handlers.push({\n elementType,\n eventName,\n handler,\n useCapture\n })\n }\n\n invokeTypeHandler(ele: Element, eventName: EventTypes, e: ElementEvent, useCapture: boolean = false): void {\n for (const th of this.ele_types_handlers) {\n if (ele instanceof th.elementType && th.eventName === eventName && th.useCapture === useCapture) {\n th.handler(e);\n }\n }\n }\n\n destroy(): void {\n this.clear();\n this.document.destroy();\n this.clearPrevDocCb?.();\n this.ele_types_handlers.length = 0;\n this.imageLoader.clear();;\n }\n\n /**\n * 切换到行打印模式\n */\n switchTextlineMode(): void {\n this.document.viewOptions.textRowLineMode = !this.document.viewOptions.textRowLineMode;\n this.syncRefresh();\n }\n\n /**\n * 实例化动态脚本\n */\n private initScripts(): void {\n this.dynamicFunc.initScripts(this.document.props.scripts);\n }\n\n\n /**\n * 替换数据元\n */\n replaceDataElement(oldDataElement: DataElementLeaf | DataElementInlineGroup, newElement: DataElementLeaf | DataElementInlineGroup, ss: SelectionState): void {\n //清除光标\n ss.clear();\n //执行刷新\n //插入新对象到旧对象之前\n oldDataElement.parent.addChild(newElement, oldDataElement.getIndex());\n //删除旧节点\n oldDataElement.remove();\n }\n\n get refreshType(): RefreshType {\n return this._document?.modifyFlag === ModifyFlag.None ? 'appearance' : 'content'\n }\n}\n\nexport interface ImageSourceItem {\n src: string,\n task: Promise<void>;\n cbs: Array<(status: ImgLoadStatus) => void>;\n ele: HTMLImageElement,\n loadStatus: ImgLoadStatus\n}\n\nexport interface IImageLoader {\n clear(): void;\n loadImage(src: string, onCallback: (status: ImgLoadStatus) => void): void;\n getImage(src: string): HTMLImageElement | undefined;\n imagesLoadCompleted(): boolean;\n getLoadTasks(): Array<Promise<void>>;\n}\n\n/**\n * 文档上下文\n */\nexport class DocumentContext {\n constructor(private ctx: BranchElement, private ss: SelectionState) { }\n\n getControlIDList(): Array<string> {\n const dataEleList = <unknown>this.ctx.treeFilter(item => validateDataEle(item)) as Array<{ props: { id: string } }>;\n return dataEleList.map(item => item.props.id);\n }\n\n getControlInstanceList(): Array<DataElementInlineGroup | DataElementLeaf> {\n return this.ctx.treeFilter(item => validateDataEle(item)) as Array<DataElementInlineGroup | DataElementLeaf>;\n }\n\n getControlById(id: string): DataElementInlineGroup | DataElementLeaf {\n return this.ctx.treeFind(item => validateDataEle(item) && (<any>item)['props']['id'] === id) as DataElementInlineGroup | DataElementLeaf;\n }\n\n getControlByName(name: string): DataElementInlineGroup | DataElementLeaf {\n return this.ctx.treeFind(item => validateDataEle(item) && (<any>item)['props']['name'] === name) as DataElementInlineGroup | DataElementLeaf;\n }\n\n /**\n * 获取数据元值集合\n */\n getDataElementValues(): Array<DataElementValueStruct> {\n const structList = this.getDataElementModelList();\n return structList.map<DataElementValueStruct>(item => ({\n id: item.id,\n name: item.name,\n value: item.getValue()\n }));\n }\n\n /**\n * 获取数据元结构以及get\\set闭包调用函数\n * @returns \n */\n getDataElementModelList(): Array<DataCheckEleModel | DataInputEleModel | DataLeafEleModel> {\n const dataEleList = this.ctx.treeFilter(item => validateDataEle(item)) as Array<DataElementInlineGroup | DataElementLeaf>;\n\n const dataInlineGroups = dataEleList.filter(item => item instanceof DataElementInlineGroup) as Array<DataElementInlineGroup>;\n const dataLeafs = dataEleList.filter(item => item instanceof DataElementLeaf) as Array<DataElementLeaf>;\n\n //复选框数据元\n const dataCheckList = dataLeafs.filter(item => item instanceof DataElementCheck) as Array<DataElementCheck>;\n //除复选框之外的LeafDataElement\n const dataOtherLeafValues = CommonUtil.removeUnionSet(dataLeafs, dataCheckList).map<DataLeafEleModel>(item => (\n { id: item.props.id as string, name: item.props.name as string, fieldName: item.props.field as string, item, getValue: () => { return item.getValue() }, setValue: (val) => { item.setValue(val) } }));\n const dataInlineStructList = dataInlineGroups.map<DataInputEleModel>(item => (\n { id: item.props.id, name: item.props.name, fieldName: item.props.fieldName, item, getValue: () => { return item.getValue() }, setValue: (val) => { item.setValue(val) } }));\n //复选框列表\n const dataCheckStructList = this.getDataCheckModelList(dataCheckList);\n return [...dataInlineStructList, ...dataCheckStructList, ...dataOtherLeafValues];\n }\n\n /**\n * 获取复选框数据元结构列表\n * @param dataCheckList \n * @returns \n */\n private getDataCheckModelList(dataCheckList: Array<DataElementCheck>): Array<DataCheckEleModel | DataLeafEleModel> {\n //不存在groupName的复选框\n const singleCheckList = dataCheckList.filter(item => !item.props.groupName);\n //存在groupName的复选框\n const groupNames = Array.from(new Set(dataCheckList.filter(item => item.props.groupName).map(item => item.props.groupName)));\n const groupCheckListValues = groupNames.map<DataCheckEleModel>((groupName) => {\n const groupCheckItems = dataCheckList.filter(item => item.props.groupName === groupName);\n return {\n id: groupName,\n name: groupCheckItems[0].props.name,\n fieldName: groupCheckItems[0].props.fieldName,\n multiSelect: groupCheckItems[0].props.multiSelect,\n item: groupCheckItems,\n getValue: () => {\n let checkedValue = '';\n if (groupCheckItems[0].props.multiSelect) {\n checkedValue = groupCheckItems.filter(item => item.props.checked).map(item => item.getValue() + '').join(';');\n } else {\n const checkedSingleItem = groupCheckItems.find(item => item.props.checked)\n if (checkedSingleItem) {\n checkedValue = checkedSingleItem.props.checkedValue;\n }\n };\n return checkedValue;\n },\n setValue: (val: string | Array<string>) => {\n //为null时\n if (val === null || val === undefined) {\n groupCheckItems.forEach(item => item.props.checked = false);\n return;\n }\n if (groupCheckItems[0].props.multiSelect) {\n const valItems = typeof val === 'string' ? val.split(';') : val;\n\n groupCheckItems.forEach(item => {\n item.props.checked = valItems.indexOf(item.props.checkedValue + '') >= 0;\n });\n } else {\n groupCheckItems.forEach(item => {\n item.props.checked = item.props.checkedValue === val;\n });\n };\n }\n }\n })\n const singleCheckListValues = singleCheckList.map<DataLeafEleModel>(item => ({ id: item.props.id, name: item.props.name, fieldName: item.props.fieldName, item, getValue: () => { return item.getValue() }, setValue: (val) => { item.setValue(val) } }));\n return [...singleCheckListValues, ...groupCheckListValues];\n }\n\n /**\n * 获取留痕块元素列表\n */\n getTrackElements(): Array<TrackRunElement> {\n return this.ctx.treeFilter(item => item instanceof TrackRunElement) as Array<TrackRunElement>;\n }\n\n getTrackElmeentById(id: string): TrackRunElement | null {\n return this.ctx.treeFind(item => item instanceof TrackRunElement && item.props.id === id) as TrackRunElement | null;\n }\n\n /**\n * 获取留痕块内数据\n */\n getTracksData(): Array<TrackBlockData> {\n const trackElements = this.getTrackElements();\n return trackElements.map(item => {\n const trackRun = item as TrackRunElement;\n const content = ElementSerialize.serializeString(trackRun, { all: true });\n return {\n //用户id\n userId: trackRun.props.userId,\n //用户名称\n userName: trackRun.props.userName,\n //日期\n date: trackRun.props.date,\n //类型,ins-run:插入,del-run:删除\n type: trackRun.type as TrackRunTypeEnum,\n //留痕块id\n id: trackRun.props.id,\n //内容\n content\n }\n });\n }\n\n setControlValue(id: string, value: string): void {\n const dataEle = this.getControlById(id);\n if (dataEle) {\n dataEle.setValue(value);\n }\n this.ss.clear();\n }\n\n setControlValueByName(name: string, val: any): void {\n const dataEle = this.getControlByName(name)\n dataEle.setValue(val)\n }\n\n /**\n * 获取复选框选中的值\n */\n getCheckBoxValues(groupName: string): Array<string> {\n const ckbs = this.getCheckBoxList(groupName);\n return ckbs.filter(item => item.props.checked).map(item => item.props.checkedValue);\n }\n\n getCheckBoxList(groupName: string): Array<DataElementCheck> {\n return this.getControlInstanceList().filter(item => item instanceof DataElementCheck && item.props.groupName === groupName) as Array<DataElementCheck>;\n }\n\n /**\n * 当前上下文执行默认绑定\n * @param data \n */\n bindDataValues(data: string | Object | Array<{ key: string, value: any }>, predicateKey: 'id' | 'name' | 'fieldName' = 'fieldName'): void {\n this.ss.clear();\n let bindData = typeof data === 'string' ? JSON.parse(data) as Object : data;\n if (Array.isArray(bindData)) {\n const obj = {};\n bindData.forEach(item => { obj[item.key] = item.value });\n bindData = obj;\n }\n const dataList = this.getDataElementModelList();\n dataList.forEach(item => {\n const objKey = item[predicateKey];\n if (bindData.hasOwnProperty(objKey)) {\n item.setValue(bindData[objKey]);\n }\n });\n }\n}\n\n\ninterface DataEleBaseModel {\n id: string;\n name: string;\n fieldName: string;\n getValue: () => any;\n setValue: (val: any) => void;\n}\ninterface DataCheckEleModel extends DataEleBaseModel {\n item: Array<DataElementCheck>;\n multiSelect: boolean;\n}\n\ninterface DataInputEleModel extends DataEleBaseModel {\n item: DataElementInlineGroup\n}\n\ninterface DataLeafEleModel extends DataEleBaseModel {\n item: DataElementLeaf;\n}\n\n/**\n * 留痕块结构化数据\n */\ninterface TrackBlockData {\n userId: string;\n userName: string;\n date: string;\n type: TrackRunTypeEnum,\n content: string,\n id: string;\n}"]}
@@ -45,4 +45,4 @@ export class DocumentEvalFunc {
45
45
  this.scriptsFunc?.();
46
46
  }
47
47
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtZXZhbC1mdW5jLmpzIiwic291cmNlUm9vdCI6ImxpYi8iLCJzb3VyY2VzIjpbImZyYW1ld29yay9kb2N1bWVudC1ldmFsLWZ1bmMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGdCQUFnQjtJQUNOO0lBQW5CLFlBQW1CLE1BQXFCO1FBQXJCLFdBQU0sR0FBTixNQUFNLENBQWU7SUFFeEMsQ0FBQztJQUNELFdBQVcsQ0FBdUI7SUFFbEM7O09BRUc7SUFDSCxXQUFXLENBQUMsT0FBZTtRQUN2QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxPQUFPLEVBQUU7WUFDVCxJQUFJO2dCQUNBLE1BQU0sSUFBSSxHQUFHLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQTtnQkFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3hDO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDakM7U0FFSjtRQUNELDhDQUE4QztRQUM5QyxvREFBb0Q7UUFDcEQsb0RBQW9EO1FBQ3BELHFCQUFxQjtRQUNyQixpQ0FBaUM7UUFDakMsa0RBQWtEO1FBQ2xELDhGQUE4RjtRQUM5Rix1Q0FBdUM7UUFDdkMsWUFBWTtRQUNaLFNBQVM7UUFDVCxLQUFLO0lBQ1QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYztRQUNWLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWM7UUFDVixJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBR0oifQ==
48
+ //# sourceMappingURL=document-eval-func.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-eval-func.js","sourceRoot":"lib/","sources":["framework/document-eval-func.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,gBAAgB;IACN;IAAnB,YAAmB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAExC,CAAC;IACD,WAAW,CAAuB;IAElC;;OAEG;IACH,WAAW,CAAC,OAAe;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,OAAO,EAAE;YACT,IAAI;gBACA,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;gBAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACxC;YAAC,OAAO,CAAC,EAAE;gBACR,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;aACjC;SAEJ;QACD,8CAA8C;QAC9C,oDAAoD;QACpD,oDAAoD;QACpD,qBAAqB;QACrB,iCAAiC;QACjC,kDAAkD;QAClD,8FAA8F;QAC9F,uCAAuC;QACvC,YAAY;QACZ,SAAS;QACT,KAAK;IACT,CAAC;IAED;;OAEG;IACH,cAAc;QACV,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SAC3B;IACL,CAAC;IAED;;OAEG;IACH,cAAc;QACV,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;IACzB,CAAC;CAGJ"}
1
+ {"version":3,"file":"document-eval-func.js","sourceRoot":"lib/","sources":["framework/document-eval-func.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,gBAAgB;IACN;IAAnB,YAAmB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAExC,CAAC;IACD,WAAW,CAAuB;IAElC;;OAEG;IACH,WAAW,CAAC,OAAe;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,OAAO,EAAE;YACT,IAAI;gBACA,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;gBAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACxC;YAAC,OAAO,CAAC,EAAE;gBACR,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;aACjC;SAEJ;QACD,8CAA8C;QAC9C,oDAAoD;QACpD,oDAAoD;QACpD,qBAAqB;QACrB,iCAAiC;QACjC,kDAAkD;QAClD,8FAA8F;QAC9F,uCAAuC;QACvC,YAAY;QACZ,SAAS;QACT,KAAK;IACT,CAAC;IAED;;OAEG;IACH,cAAc;QACV,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SAC3B;IACL,CAAC;IAED;;OAEG;IACH,cAAc;QACV,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;IACzB,CAAC;CAGJ","sourcesContent":["import { EditorContext } from \"./document-context\";\n\nexport class DocumentEvalFunc {\n constructor(public docCtx: EditorContext) {\n\n }\n scriptsFunc!: (() => void) | null;\n\n /**\n * 实例化动态脚本\n */\n initScripts(scripts: string): void {\n this.destroyScripts();\n if (scripts) {\n try {\n const func = new Function(\"docCtx\", scripts)\n this.scriptsFunc = func(this.docCtx);\n } catch (e) {\n console.error(\"自定义标本解析错误\", e);\n }\n\n }\n // const func = (docCtx: DocumentContext) => {\n // const sexELe = docCtx.getControlById('NqoYI')\n // const dyEle = docCtx.getControlById('gTuBI');\n // return () => {\n // if (sexELe && dyEle) {\n // const sexValue = sexELe.getValue();\n // const dyValue = sexValue === '1' ? '男的吗' : sexValue === '2' ? '女的吗' : '难道是人妖吗';\n // dyEle.setValue(dyValue);\n // }\n // };\n // };\n }\n\n /**\n * 销毁动态脚本实例\n */\n destroyScripts(): void {\n if (this.scriptsFunc) {\n this.scriptsFunc = null;\n }\n }\n\n /**\n * 触发动态脚本\n */\n invokedScripts(): void {\n this.scriptsFunc?.();\n }\n\n\n}\n"]}