@hailin-zheng/editor-core 1.0.1 → 1.0.3

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 (216) hide show
  1. package/lib/doc-ruler.d.ts +51 -0
  2. package/lib/doc-ruler.js +313 -0
  3. package/lib/doc-ruler.js.map +1 -0
  4. package/lib/framework/common-util.d.ts +63 -0
  5. package/lib/framework/common-util.js +178 -0
  6. package/lib/framework/common-util.js.map +1 -0
  7. package/lib/framework/document-change.d.ts +265 -0
  8. package/lib/framework/document-change.js +1342 -0
  9. package/lib/framework/document-change.js.map +1 -0
  10. package/lib/framework/document-combine.d.ts +24 -0
  11. package/lib/framework/document-combine.js +40 -0
  12. package/lib/framework/document-combine.js.map +1 -0
  13. package/lib/framework/document-comment.d.ts +46 -0
  14. package/lib/framework/document-comment.js +148 -0
  15. package/lib/framework/document-comment.js.map +1 -0
  16. package/lib/framework/document-context.d.ts +149 -0
  17. package/lib/framework/document-context.js +330 -0
  18. package/lib/framework/document-context.js.map +1 -0
  19. package/lib/framework/document-eval-func.d.ts +18 -0
  20. package/lib/framework/document-eval-func.js +48 -0
  21. package/lib/framework/document-eval-func.js.map +1 -0
  22. package/lib/framework/document-event.d.ts +213 -0
  23. package/lib/framework/document-event.js +1054 -0
  24. package/lib/framework/document-event.js.map +1 -0
  25. package/lib/framework/document-history.d.ts +26 -0
  26. package/lib/framework/document-history.js +65 -0
  27. package/lib/framework/document-history.js.map +1 -0
  28. package/lib/framework/document-images-loader.d.ts +16 -0
  29. package/lib/framework/document-images-loader.js +66 -0
  30. package/lib/framework/document-images-loader.js.map +1 -0
  31. package/lib/framework/document-input-cursor.d.ts +78 -0
  32. package/lib/framework/document-input-cursor.js +239 -0
  33. package/lib/framework/document-input-cursor.js.map +1 -0
  34. package/lib/framework/document-paint.d.ts +34 -0
  35. package/lib/framework/document-paint.js +103 -0
  36. package/lib/framework/document-paint.js.map +1 -0
  37. package/lib/framework/document-print-offscreen.d.ts +38 -0
  38. package/lib/framework/document-print-offscreen.js +128 -0
  39. package/lib/framework/document-print-offscreen.js.map +1 -0
  40. package/lib/framework/document-print.d.ts +60 -0
  41. package/lib/framework/document-print.js +203 -0
  42. package/lib/framework/document-print.js.map +1 -0
  43. package/lib/framework/document-segmenter.d.ts +2 -0
  44. package/lib/framework/document-segmenter.js +106 -0
  45. package/lib/framework/document-segmenter.js.map +1 -0
  46. package/lib/framework/document-selection.d.ts +89 -0
  47. package/lib/framework/document-selection.js +358 -0
  48. package/lib/framework/document-selection.js.map +1 -0
  49. package/lib/framework/document-template.d.ts +4 -0
  50. package/lib/framework/document-template.js +20 -0
  51. package/lib/framework/document-template.js.map +1 -0
  52. package/lib/framework/document-textline-mode.d.ts +7 -0
  53. package/lib/framework/document-textline-mode.js +30 -0
  54. package/lib/framework/document-textline-mode.js.map +1 -0
  55. package/lib/framework/element-define.d.ts +319 -0
  56. package/lib/framework/element-define.js +579 -0
  57. package/lib/framework/element-define.js.map +1 -0
  58. package/lib/framework/element-event-define.d.ts +99 -0
  59. package/lib/framework/element-event-define.js +108 -0
  60. package/lib/framework/element-event-define.js.map +1 -0
  61. package/lib/framework/element-measure.d.ts +97 -0
  62. package/lib/framework/element-measure.js +551 -0
  63. package/lib/framework/element-measure.js.map +1 -0
  64. package/lib/framework/element-paint.d.ts +42 -0
  65. package/lib/framework/element-paint.js +170 -0
  66. package/lib/framework/element-paint.js.map +1 -0
  67. package/lib/framework/element-props.d.ts +301 -0
  68. package/lib/framework/element-props.js +809 -0
  69. package/lib/framework/element-props.js.map +1 -0
  70. package/lib/framework/element-reader.d.ts +19 -0
  71. package/lib/framework/element-reader.js +151 -0
  72. package/lib/framework/element-reader.js.map +1 -0
  73. package/lib/framework/element-render-cut.d.ts +55 -0
  74. package/lib/framework/element-render-cut.js +449 -0
  75. package/lib/framework/element-render-cut.js.map +1 -0
  76. package/lib/framework/element-serialize.d.ts +30 -0
  77. package/lib/framework/element-serialize.js +113 -0
  78. package/lib/framework/element-serialize.js.map +1 -0
  79. package/lib/framework/element-util.d.ts +369 -0
  80. package/lib/framework/element-util.js +1463 -0
  81. package/lib/framework/element-util.js.map +1 -0
  82. package/lib/framework/impl/checkbox/checkbox-impl.d.ts +24 -0
  83. package/lib/framework/impl/checkbox/checkbox-impl.js +64 -0
  84. package/lib/framework/impl/checkbox/checkbox-impl.js.map +1 -0
  85. package/lib/framework/impl/comments/comment-content-impl.d.ts +40 -0
  86. package/lib/framework/impl/comments/comment-content-impl.js +105 -0
  87. package/lib/framework/impl/comments/comment-content-impl.js.map +1 -0
  88. package/lib/framework/impl/comments/comment-element-impl.d.ts +21 -0
  89. package/lib/framework/impl/comments/comment-element-impl.js +62 -0
  90. package/lib/framework/impl/comments/comment-element-impl.js.map +1 -0
  91. package/lib/framework/impl/comments/comments-container-impl.d.ts +22 -0
  92. package/lib/framework/impl/comments/comments-container-impl.js +62 -0
  93. package/lib/framework/impl/comments/comments-container-impl.js.map +1 -0
  94. package/lib/framework/impl/comments/comments-util.d.ts +12 -0
  95. package/lib/framework/impl/comments/comments-util.js +67 -0
  96. package/lib/framework/impl/comments/comments-util.js.map +1 -0
  97. package/lib/framework/impl/comments/validate-msg-impl.d.ts +21 -0
  98. package/lib/framework/impl/comments/validate-msg-impl.js +83 -0
  99. package/lib/framework/impl/comments/validate-msg-impl.js.map +1 -0
  100. package/lib/framework/impl/data-element/data-decorate-impl.d.ts +30 -0
  101. package/lib/framework/impl/data-element/data-decorate-impl.js +91 -0
  102. package/lib/framework/impl/data-element/data-decorate-impl.js.map +1 -0
  103. package/lib/framework/impl/data-element/data-element-barcode.d.ts +31 -0
  104. package/lib/framework/impl/data-element/data-element-barcode.js +115 -0
  105. package/lib/framework/impl/data-element/data-element-barcode.js.map +1 -0
  106. package/lib/framework/impl/data-element/data-element-base-impl.d.ts +68 -0
  107. package/lib/framework/impl/data-element/data-element-base-impl.js +205 -0
  108. package/lib/framework/impl/data-element/data-element-base-impl.js.map +1 -0
  109. package/lib/framework/impl/data-element/data-element-check-impl.d.ts +35 -0
  110. package/lib/framework/impl/data-element/data-element-check-impl.js +133 -0
  111. package/lib/framework/impl/data-element/data-element-check-impl.js.map +1 -0
  112. package/lib/framework/impl/data-element/data-element-date-impl.d.ts +23 -0
  113. package/lib/framework/impl/data-element/data-element-date-impl.js +111 -0
  114. package/lib/framework/impl/data-element/data-element-date-impl.js.map +1 -0
  115. package/lib/framework/impl/data-element/data-element-group-impl.d.ts +23 -0
  116. package/lib/framework/impl/data-element/data-element-group-impl.js +130 -0
  117. package/lib/framework/impl/data-element/data-element-group-impl.js.map +1 -0
  118. package/lib/framework/impl/data-element/data-element-image-impl.d.ts +30 -0
  119. package/lib/framework/impl/data-element/data-element-image-impl.js +137 -0
  120. package/lib/framework/impl/data-element/data-element-image-impl.js.map +1 -0
  121. package/lib/framework/impl/data-element/data-element-list-impl.d.ts +22 -0
  122. package/lib/framework/impl/data-element/data-element-list-impl.js +131 -0
  123. package/lib/framework/impl/data-element/data-element-list-impl.js.map +1 -0
  124. package/lib/framework/impl/data-element/data-element-text-impl.d.ts +23 -0
  125. package/lib/framework/impl/data-element/data-element-text-impl.js +103 -0
  126. package/lib/framework/impl/data-element/data-element-text-impl.js.map +1 -0
  127. package/lib/framework/impl/decorate/fill-null-space-imple.d.ts +21 -0
  128. package/lib/framework/impl/decorate/fill-null-space-imple.js +43 -0
  129. package/lib/framework/impl/decorate/fill-null-space-imple.js.map +1 -0
  130. package/lib/framework/impl/document/doc-body-impl.d.ts +27 -0
  131. package/lib/framework/impl/document/doc-body-impl.js +79 -0
  132. package/lib/framework/impl/document/doc-body-impl.js.map +1 -0
  133. package/lib/framework/impl/document/doc-body-part-impl.d.ts +30 -0
  134. package/lib/framework/impl/document/doc-body-part-impl.js +94 -0
  135. package/lib/framework/impl/document/doc-body-part-impl.js.map +1 -0
  136. package/lib/framework/impl/document/doc-container-impl.d.ts +16 -0
  137. package/lib/framework/impl/document/doc-container-impl.js +21 -0
  138. package/lib/framework/impl/document/doc-container-impl.js.map +1 -0
  139. package/lib/framework/impl/document/doc-footer-impl.d.ts +26 -0
  140. package/lib/framework/impl/document/doc-footer-impl.js +77 -0
  141. package/lib/framework/impl/document/doc-footer-impl.js.map +1 -0
  142. package/lib/framework/impl/document/doc-header-impl.d.ts +26 -0
  143. package/lib/framework/impl/document/doc-header-impl.js +83 -0
  144. package/lib/framework/impl/document/doc-header-impl.js.map +1 -0
  145. package/lib/framework/impl/document/doc-impl.d.ts +61 -0
  146. package/lib/framework/impl/document/doc-impl.js +209 -0
  147. package/lib/framework/impl/document/doc-impl.js.map +1 -0
  148. package/lib/framework/impl/media-formula/menstrual-history.d.ts +35 -0
  149. package/lib/framework/impl/media-formula/menstrual-history.js +153 -0
  150. package/lib/framework/impl/media-formula/menstrual-history.js.map +1 -0
  151. package/lib/framework/impl/paragraph/p-impl.d.ts +45 -0
  152. package/lib/framework/impl/paragraph/p-impl.js +156 -0
  153. package/lib/framework/impl/paragraph/p-impl.js.map +1 -0
  154. package/lib/framework/impl/picture/image-impl.d.ts +31 -0
  155. package/lib/framework/impl/picture/image-impl.js +124 -0
  156. package/lib/framework/impl/picture/image-impl.js.map +1 -0
  157. package/lib/framework/impl/radio/radio-impl.d.ts +22 -0
  158. package/lib/framework/impl/radio/radio-impl.js +72 -0
  159. package/lib/framework/impl/radio/radio-impl.js.map +1 -0
  160. package/lib/framework/impl/symbol/br-symbol-impl.d.ts +22 -0
  161. package/lib/framework/impl/symbol/br-symbol-impl.js +54 -0
  162. package/lib/framework/impl/symbol/br-symbol-impl.js.map +1 -0
  163. package/lib/framework/impl/symbol/p-symbol-impl.d.ts +19 -0
  164. package/lib/framework/impl/symbol/p-symbol-impl.js +54 -0
  165. package/lib/framework/impl/symbol/p-symbol-impl.js.map +1 -0
  166. package/lib/framework/impl/table/table-cell-impl.d.ts +37 -0
  167. package/lib/framework/impl/table/table-cell-impl.js +145 -0
  168. package/lib/framework/impl/table/table-cell-impl.js.map +1 -0
  169. package/lib/framework/impl/table/table-impl.d.ts +55 -0
  170. package/lib/framework/impl/table/table-impl.js +363 -0
  171. package/lib/framework/impl/table/table-impl.js.map +1 -0
  172. package/lib/framework/impl/table/table-row-impl.d.ts +26 -0
  173. package/lib/framework/impl/table/table-row-impl.js +75 -0
  174. package/lib/framework/impl/table/table-row-impl.js.map +1 -0
  175. package/lib/framework/impl/table/table-split-cell-patch.d.ts +20 -0
  176. package/lib/framework/impl/table/table-split-cell-patch.js +89 -0
  177. package/lib/framework/impl/table/table-split-cell-patch.js.map +1 -0
  178. package/lib/framework/impl/table/table-split-cell.d.ts +90 -0
  179. package/lib/framework/impl/table/table-split-cell.js +464 -0
  180. package/lib/framework/impl/table/table-split-cell.js.map +1 -0
  181. package/lib/framework/impl/table/table-util.d.ts +150 -0
  182. package/lib/framework/impl/table/table-util.js +678 -0
  183. package/lib/framework/impl/table/table-util.js.map +1 -0
  184. package/lib/framework/impl/text/text-impl.d.ts +32 -0
  185. package/lib/framework/impl/text/text-impl.js +149 -0
  186. package/lib/framework/impl/text/text-impl.js.map +1 -0
  187. package/lib/framework/impl/text/track-run-impl.d.ts +27 -0
  188. package/lib/framework/impl/text/track-run-impl.js +112 -0
  189. package/lib/framework/impl/text/track-run-impl.js.map +1 -0
  190. package/lib/framework/notify.d.ts +13 -0
  191. package/lib/framework/notify.js +116 -0
  192. package/lib/framework/notify.js.map +1 -0
  193. package/lib/framework/range-util.d.ts +40 -0
  194. package/lib/framework/range-util.js +312 -0
  195. package/lib/framework/range-util.js.map +1 -0
  196. package/lib/framework/render-context.d.ts +91 -0
  197. package/lib/framework/render-context.js +384 -0
  198. package/lib/framework/render-context.js.map +1 -0
  199. package/lib/framework/render-define.d.ts +109 -0
  200. package/lib/framework/render-define.js +195 -0
  201. package/lib/framework/render-define.js.map +1 -0
  202. package/lib/framework/selection-overlays.d.ts +30 -0
  203. package/lib/framework/selection-overlays.js +124 -0
  204. package/lib/framework/selection-overlays.js.map +1 -0
  205. package/lib/texteditor.d.ts +318 -0
  206. package/lib/texteditor.js +913 -0
  207. package/lib/texteditor.js.map +1 -0
  208. package/lib/util/subject.d.ts +34 -0
  209. package/lib/util/subject.js +88 -0
  210. package/lib/util/subject.js.map +1 -0
  211. package/lib/util/table-bind.d.ts +5 -0
  212. package/lib/util/table-bind.js +6 -0
  213. package/lib/util/table-bind.js.map +1 -0
  214. package/package.json +1 -1
  215. package/tsconfig.json +1 -1
  216. package/webpack.config.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-util.js","sourceRoot":"","sources":["../../src/med_editor/framework/element-util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { ElementFactory, LeafElement, readElementProps, SerializeProps, ViewOptions } from "@/med_editor/framework/element-define";
2
+ import { CheckBoxProps } from "@/med_editor/framework/element-props";
3
+ import { RenderContenxtType } from "@/med_editor/framework/render-context";
4
+ import { LeafRenderObject, RenderObject } from "@/med_editor/framework/render-define";
5
+ import { ElementEvent } from "../../element-event-define";
6
+ export declare class CheckBoxElement extends LeafElement<CheckBoxProps> {
7
+ constructor();
8
+ createRenderObject(): CheckBoxRenderObject;
9
+ changeState(e: ElementEvent): void;
10
+ serialize(viewOptions: ViewOptions): SerializeProps;
11
+ clone(): CheckBoxElement;
12
+ getType(): string;
13
+ }
14
+ export declare class CheckBoxFactory extends ElementFactory<CheckBoxProps> {
15
+ match(type: string): boolean;
16
+ createElement(data: readElementProps<CheckBoxProps>, renderCtx: RenderContenxtType): CheckBoxElement;
17
+ }
18
+ export declare class CheckBoxRenderObject extends LeafRenderObject<CheckBoxElement> {
19
+ render(ctx: RenderContenxtType, position: {
20
+ x: number;
21
+ y: number;
22
+ }): void;
23
+ clone(cloneData?: boolean): RenderObject;
24
+ }
@@ -0,0 +1,64 @@
1
+ import { ElementFactory, LeafElement } from "@/med_editor/framework/element-define";
2
+ import { CheckBoxProps } from "@/med_editor/framework/element-props";
3
+ import { ElementUtil } from "@/med_editor/framework/element-util";
4
+ import { LeafRenderObject } from "@/med_editor/framework/render-define";
5
+ export class CheckBoxElement extends LeafElement {
6
+ //props: CheckBoxProps;
7
+ constructor() {
8
+ super('ckb');
9
+ this.props = new CheckBoxProps();
10
+ //this.addPropValueChangedSub(this.props);
11
+ this.cursorType = 'default';
12
+ this.addEvent('ElementClick', (evt) => { this.changeState(evt); });
13
+ }
14
+ createRenderObject() {
15
+ const render = new CheckBoxRenderObject(this);
16
+ render.rect.width = this.props.size + 4;
17
+ render.rect.height = this.props.size;
18
+ return render;
19
+ }
20
+ changeState(e) {
21
+ this.props.isChecked = !this.props.isChecked;
22
+ }
23
+ serialize(viewOptions) {
24
+ return {
25
+ type: 'ckb',
26
+ props: {
27
+ ...this.props.getSerializeProps(viewOptions)
28
+ }
29
+ };
30
+ }
31
+ clone() {
32
+ const clone = new CheckBoxElement();
33
+ this.props.clone(clone.props);
34
+ return clone;
35
+ }
36
+ getType() {
37
+ return 'ckb';
38
+ }
39
+ }
40
+ export class CheckBoxFactory extends ElementFactory {
41
+ match(type) {
42
+ return type === 'ckb';
43
+ }
44
+ createElement(data, renderCtx) {
45
+ const props = data.props;
46
+ const ckbElement = new CheckBoxElement();
47
+ const ckbProps = ckbElement.props;
48
+ ckbProps.size = props?.size ?? 14;
49
+ ckbProps.isChecked = props?.isChecked ?? false;
50
+ ckbProps.groupName = props?.groupName ?? null;
51
+ return ckbElement;
52
+ }
53
+ }
54
+ export class CheckBoxRenderObject extends LeafRenderObject {
55
+ render(ctx, position) {
56
+ ctx.contentContext.drawCheckBox(position.x + 2, position.y, this.element.props.size, this.element.props.size, this.element.props.isChecked);
57
+ }
58
+ clone(cloneData = true) {
59
+ const clone = new CheckBoxRenderObject(this.element);
60
+ clone.rect = ElementUtil.cloneRect(this.rect);
61
+ return clone;
62
+ }
63
+ }
64
+ //# sourceMappingURL=checkbox-impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-impl.js","sourceRoot":"","sources":["../../../../src/med_editor/framework/impl/checkbox/checkbox-impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { BlockContainerElement, ElementFactory, Position, readElementProps, SelectionContentRange, SerializeProps, ViewOptions } from "../../element-define";
2
+ import { CommContentProps } from "../../element-props";
3
+ import { Element } from "../../element-define";
4
+ import { RenderContenxtType } from "../../render-context";
5
+ import { BlockContainerRenderObject, RenderObject } from "../../render-define";
6
+ import { CommentElement } from "./comment-element-impl";
7
+ export declare abstract class CommContentBaseElement<P extends object = {
8
+ id: string;
9
+ }> extends BlockContainerElement<P> {
10
+ startMark: CommentElement;
11
+ endMark: CommentElement;
12
+ focus: boolean;
13
+ protected constructor(type: string);
14
+ }
15
+ export declare abstract class CommContentBaseRenderObject<E extends CommContentBaseElement> extends BlockContainerRenderObject<E> {
16
+ commMarkRender: {
17
+ render: RenderObject;
18
+ pos: Position;
19
+ };
20
+ }
21
+ export declare class CommContentElement extends CommContentBaseElement<CommContentProps> {
22
+ constructor();
23
+ createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject;
24
+ serialize(viewOptions: ViewOptions): SerializeProps;
25
+ clone(data: boolean): Element;
26
+ }
27
+ export declare class CommContentRenderObject extends CommContentBaseRenderObject<CommContentElement> {
28
+ beginRender(ctx: RenderContenxtType, position: Position): void;
29
+ renderTitle(ctx: RenderContenxtType, position: Position): void;
30
+ endRender(ctx: RenderContenxtType, position: Position): void;
31
+ clone(): RenderObject;
32
+ }
33
+ export interface CommentRangeStatus {
34
+ range: SelectionContentRange;
35
+ commContent: CommContentBaseElement;
36
+ }
37
+ export declare class CommentContentFactory extends ElementFactory<CommContentProps> {
38
+ match(type: string): boolean;
39
+ createElement(data: readElementProps<CommContentProps>, renderCtx: RenderContenxtType): Element;
40
+ }
@@ -0,0 +1,105 @@
1
+ import { BlockContainerElement, ElementFactory } from "../../element-define";
2
+ import { CommContentProps, TextProps } from "../../element-props";
3
+ import { ElementUtil } from "../../element-util";
4
+ import { BlockContainerRenderObject } from "../../render-define";
5
+ import { DocumentRenderObject } from "../document/doc-impl";
6
+ import moment from "moment";
7
+ export class CommContentBaseElement extends BlockContainerElement {
8
+ startMark;
9
+ endMark;
10
+ focus = false;
11
+ constructor(type) {
12
+ super(type);
13
+ this.addEvent('GotCursor', () => {
14
+ this.focus = true;
15
+ this.refreshView();
16
+ });
17
+ this.addEvent('LostCursor', () => {
18
+ this.focus = false;
19
+ this.refreshView();
20
+ });
21
+ }
22
+ }
23
+ export class CommContentBaseRenderObject extends BlockContainerRenderObject {
24
+ commMarkRender;
25
+ }
26
+ export class CommContentElement extends CommContentBaseElement {
27
+ constructor() {
28
+ super("comm-content");
29
+ this.props = new CommContentProps();
30
+ }
31
+ createRenderObject(options, renderCtx) {
32
+ const render = new CommContentRenderObject(this);
33
+ render.padding.left = 14;
34
+ render.padding.top = 24;
35
+ return render;
36
+ }
37
+ serialize(viewOptions) {
38
+ return {
39
+ type: this.type,
40
+ props: { ...this.props.getSerializeProps(viewOptions) }
41
+ };
42
+ }
43
+ clone(data) {
44
+ throw new Error('不支持');
45
+ }
46
+ }
47
+ export class CommContentRenderObject extends CommContentBaseRenderObject {
48
+ beginRender(ctx, position) {
49
+ let borderColor = this.element.focus ? '#fa8c16' : '#ffd591';
50
+ ctx.contentContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height, borderColor);
51
+ ctx.contentContext.fillRect(position.x, position.y, 8, this.rect.height, '#871400');
52
+ const docRender = ElementUtil.getParentRender(this.commMarkRender.render, DocumentRenderObject);
53
+ //获取审阅标记的绘制坐标
54
+ let commMarkPos = ElementUtil.getRenderAbsolutePaintPos(this.commMarkRender.render, { x: 0, y: -ctx.viewOptions.translateY });
55
+ const commMarkLinePos = ElementUtil.getParaLinePos(this.commMarkRender.render, commMarkPos);
56
+ commMarkPos.y = commMarkLinePos.y + 2;
57
+ const docRenderPos = ElementUtil.getRenderAbsolutePaintPos(docRender, { x: 0, y: -ctx.viewOptions.translateY });
58
+ const marginLeft = commMarkPos.x - docRenderPos.x - docRender.padding.left;
59
+ const marginRight = ctx.viewOptions.docPageSettings.width - marginLeft - docRender.padding.right * 2;
60
+ ctx.overlaysContext.drawDashLine([commMarkPos, { x: commMarkPos.x + marginRight, y: commMarkPos.y }], [1, 1], 'red');
61
+ ctx.overlaysContext.drawDashLine([{ x: commMarkPos.x + marginRight, y: commMarkPos.y }, position], [1, 1], 'red');
62
+ this.renderTitle(ctx, position);
63
+ }
64
+ renderTitle(ctx, position) {
65
+ const topPadding = 24;
66
+ const { props } = this.element;
67
+ const textProps = new TextProps();
68
+ textProps.fontSize = 12;
69
+ textProps.fontName = '楷体';
70
+ textProps.color = "rgb(0,0,0)";
71
+ const createDate = moment(props.createDate).format('YYYY-MM-DD HH:mm');
72
+ const commTitle = `${props.createName}:${createDate}`;
73
+ const { width, height } = ctx.contentContext.measureText(commTitle, textProps);
74
+ const rect = { x: position.x + this.padding.left, y: position.y, width, height, maxHeight: 0, maxWidth: 0 };
75
+ rect.y += (topPadding - rect.height) / 2;
76
+ ctx.contentContext.drawText(commTitle, textProps, rect.x, rect.y, rect.width, rect.height);
77
+ }
78
+ endRender(ctx, position) {
79
+ //throw new Error("Method not implemented.");
80
+ }
81
+ clone() {
82
+ const clone = new CommContentRenderObject(this.element);
83
+ clone.rect = ElementUtil.cloneRect(this.rect);
84
+ clone.padding = this.padding.clone();
85
+ for (let i = 0; i < this.length; i++) {
86
+ clone.addChild(this.getChild(i).clone());
87
+ }
88
+ return clone;
89
+ }
90
+ }
91
+ export class CommentContentFactory extends ElementFactory {
92
+ match(type) {
93
+ return type === "comm-content";
94
+ }
95
+ createElement(data, renderCtx) {
96
+ const props = data.props;
97
+ const commentEle = new CommContentElement();
98
+ commentEle.props.id = props.id;
99
+ commentEle.props.createDate = props.createDate;
100
+ commentEle.props.createId = props.createId;
101
+ commentEle.props.createName = props.createName;
102
+ return commentEle;
103
+ }
104
+ }
105
+ //# sourceMappingURL=comment-content-impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment-content-impl.js","sourceRoot":"","sources":["../../../../src/med_editor/framework/impl/comments/comment-content-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAwF,MAAM,sBAAsB,CAAC;AACnK,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,0BAA0B,EAAgB,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,OAAgB,sBAA0D,SAAQ,qBAAwB;IAC5G,SAAS,CAAkB;IAC3B,OAAO,CAAkB;IACzB,KAAK,GAAY,KAAK,CAAC;IACvB,YAAsB,IAAY;QAC9B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;YAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,WAAW,EAAE,CAAA;QACtB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;YAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,WAAW,EAAE,CAAA;QACtB,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAED,MAAM,OAAgB,2BAA8D,SAAQ,0BAA6B;IACrH,cAAc,CAA2C;CAC5D;AAED,MAAM,OAAO,kBAAmB,SAAQ,sBAAwC;IAC5E;QACI,KAAK,CAAC,cAAc,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACxC,CAAC;IACD,kBAAkB,CAAC,OAAoB,EAAE,SAA6B;QAClE,MAAM,MAAM,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,SAAS,CAAC,WAAwB;QAC9B,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE;SAC1D,CAAA;IACL,CAAC;IACD,KAAK,CAAC,IAAa;QACf,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;CACJ;AAED,MAAM,OAAO,uBAAwB,SAAQ,2BAA+C;IACxF,WAAW,CAAC,GAAuB,EAAE,QAAkB;QACnD,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACtG,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QACnF,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,oBAAoB,CAAyB,CAAC;QACxH,aAAa;QACb,IAAI,WAAW,GAAG,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9H,MAAM,eAAe,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC5F,WAAW,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC;QAEtC,MAAM,YAAY,GAAG,WAAW,CAAC,yBAAyB,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;QAChH,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3E,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;QACrG,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACrH,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAElH,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,WAAW,CAAC,GAAuB,EAAE,QAAkB;QACnD,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAClC,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC;QACxB,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC;QAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;QACtE,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC;QACtD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAS,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;QACjH,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/F,CAAC;IACD,SAAS,CAAC,GAAuB,EAAE,QAAkB;QACjD,6CAA6C;IACjD,CAAC;IACD,KAAK;QACD,MAAM,KAAK,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;SAC5C;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAMD,MAAM,OAAO,qBAAsB,SAAQ,cAAgC;IACvE,KAAK,CAAC,IAAY;QACd,OAAO,IAAI,KAAK,cAAc,CAAC;IACnC,CAAC;IACD,aAAa,CAAC,IAAwC,EAAE,SAA6B;QACjF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAyB,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC5C,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QAC/B,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAC/C,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC3C,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAC/C,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ"}
@@ -0,0 +1,21 @@
1
+ import { Element, ElementFactory, LeafElement, readElementProps, SerializeProps, ViewOptions } from "@/med_editor/framework/element-define";
2
+ import { CommProps } from "@/med_editor/framework/element-props";
3
+ import { RenderContenxtType } from "@/med_editor/framework/render-context";
4
+ import { LeafRenderObject, RenderObject } from "@/med_editor/framework/render-define";
5
+ export declare class CommentElement extends LeafElement<CommProps> {
6
+ constructor();
7
+ createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject;
8
+ serialize(viewOptions: ViewOptions): SerializeProps | null;
9
+ clone(): Element;
10
+ }
11
+ export declare class CommentRenderObject extends LeafRenderObject<CommentElement> {
12
+ render(ctx: RenderContenxtType, position: {
13
+ x: number;
14
+ y: number;
15
+ }): void;
16
+ clone(): RenderObject;
17
+ }
18
+ export declare class CommentFactory extends ElementFactory<CommProps> {
19
+ match(type: string): boolean;
20
+ createElement(data: readElementProps<CommProps>, renderCtx: RenderContenxtType): Element;
21
+ }
@@ -0,0 +1,62 @@
1
+ import { ElementFactory, LeafElement } from "@/med_editor/framework/element-define";
2
+ import { CommProps } from "@/med_editor/framework/element-props";
3
+ import { ElementUtil } from "@/med_editor/framework/element-util";
4
+ import { LeafRenderObject } from "@/med_editor/framework/render-define";
5
+ export class CommentElement extends LeafElement {
6
+ constructor() {
7
+ super('comm');
8
+ this.isDecorate = true;
9
+ this.disableClick = true;
10
+ this.props = new CommProps();
11
+ }
12
+ createRenderObject(options, renderCtx) {
13
+ const render = new CommentRenderObject(this);
14
+ render.rect.width = 0;
15
+ render.rect.height = 14;
16
+ return render;
17
+ }
18
+ serialize(viewOptions) {
19
+ if (this.isDecorate) {
20
+ return null;
21
+ }
22
+ return {
23
+ type: this.type,
24
+ props: {
25
+ ...this.props.getSerializeProps(viewOptions)
26
+ }
27
+ };
28
+ }
29
+ clone() {
30
+ const clone = new CommentElement();
31
+ this.props.clone(clone.props);
32
+ return clone;
33
+ }
34
+ }
35
+ export class CommentRenderObject extends LeafRenderObject {
36
+ render(ctx, position) {
37
+ if (!ctx.viewOptions.showReviewWindow) {
38
+ return;
39
+ }
40
+ const paraLinePos = ElementUtil.getParaLinePos(this, { x: position.x, y: position.y });
41
+ const color = '#ff4d4f';
42
+ ctx.contentContext.fillRect(position.x - 1, paraLinePos.y, 2, paraLinePos.height, color);
43
+ }
44
+ clone() {
45
+ const clone = new CommentRenderObject(this.element);
46
+ clone.rect = ElementUtil.cloneRect(this.rect);
47
+ return clone;
48
+ }
49
+ }
50
+ export class CommentFactory extends ElementFactory {
51
+ match(type) {
52
+ return type === "comm";
53
+ }
54
+ createElement(data, renderCtx) {
55
+ const ele = new CommentElement();
56
+ const props = data.props;
57
+ ele.props.id = props.id;
58
+ ele.props.markType = props.markType;
59
+ return ele;
60
+ }
61
+ }
62
+ //# sourceMappingURL=comment-element-impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment-element-impl.js","sourceRoot":"","sources":["../../../../src/med_editor/framework/impl/comments/comment-element-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,WAAW,EAAiD,MAAM,uCAAuC,CAAC;AAC5I,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAgB,MAAM,sCAAsC,CAAC;AAEtF,MAAM,OAAO,cAAe,SAAQ,WAAsB;IACtD;QACI,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;IACjC,CAAC;IACD,kBAAkB,CAAC,OAAoB,EAAE,SAA6B;QAClE,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,SAAS,CAAC,WAAwB;QAC9B,IAAG,IAAI,CAAC,UAAU,EAAC;YACf,OAAQ,IAAI,CAAC;SAChB;QACD,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE;gBACH,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC;aAC/C;SACJ,CAAA;IACL,CAAC;IACD,KAAK;QACD,MAAM,KAAK,GAAG,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAED,MAAM,OAAO,mBAAoB,SAAQ,gBAAgC;IACrE,MAAM,CAAC,GAAuB,EAAE,QAAmC;QAC/D,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACnC,OAAO;SACV;QACD,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;QACvF,MAAM,KAAK,GAAG,SAAS,CAAC;QACxB,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC5F,CAAC;IACD,KAAK;QACD,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAED,MAAM,OAAO,cAAe,SAAQ,cAAyB;IACzD,KAAK,CAAC,IAAY;QACd,OAAO,IAAI,KAAK,MAAM,CAAC;IAC3B,CAAC;IACD,aAAa,CAAC,IAAiC,EAAE,SAA6B;QAC1E,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAkB,CAAC;QACtC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACxB,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACpC,OAAO,GAAG,CAAC;IACf,CAAC;CACJ"}
@@ -0,0 +1,22 @@
1
+ import { BlockContainerElement, Element, ElementFactory, Position, SelectionContentRange, SerializeProps, ViewOptions } from "@/med_editor/framework/element-define";
2
+ import { RenderContenxtType } from "@/med_editor/framework/render-context";
3
+ import { BlockContainerRenderObject, RenderObject } from "@/med_editor/framework/render-define";
4
+ import { CommentRangeStatus } from "./comment-content-impl";
5
+ export declare class CommsContainerElement extends BlockContainerElement {
6
+ constructor();
7
+ createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject;
8
+ serialize(viewOptions: ViewOptions): SerializeProps;
9
+ clone(data: boolean): Element;
10
+ }
11
+ export declare class CommsContainerRenderObject extends BlockContainerRenderObject {
12
+ isMeasureComm: boolean;
13
+ selectedSet: Map<Element, SelectionContentRange>;
14
+ commentRangeStatus: Array<CommentRangeStatus>;
15
+ beginRender(ctx: RenderContenxtType, position: Position): void;
16
+ endRender(ctx: RenderContenxtType, position: Position): void;
17
+ clone(): RenderObject;
18
+ }
19
+ export declare class CommentsFactory extends ElementFactory<null> {
20
+ match(type: string): boolean;
21
+ createElement(data: any, renderCtx: RenderContenxtType): Element;
22
+ }
@@ -0,0 +1,62 @@
1
+ import { BlockContainerElement, ElementFactory } from "@/med_editor/framework/element-define";
2
+ import { ElementUtil } from "@/med_editor/framework/element-util";
3
+ import { BlockContainerRenderObject } from "@/med_editor/framework/render-define";
4
+ export class CommsContainerElement extends BlockContainerElement {
5
+ constructor() {
6
+ super('comm-list');
7
+ this.noFillEmpty = true;
8
+ }
9
+ createRenderObject(options, renderCtx) {
10
+ const render = new CommsContainerRenderObject(this);
11
+ render.rect.maxWidth = options.reviewWindowWidth;
12
+ render.rect.width = render.rect.maxWidth;
13
+ return render;
14
+ }
15
+ serialize(viewOptions) {
16
+ return {
17
+ type: this.type,
18
+ props: {}
19
+ };
20
+ }
21
+ clone(data) {
22
+ const clone = new CommsContainerElement();
23
+ if (data) {
24
+ for (let i = 0; i < this.length; i++) {
25
+ clone.addChild(this.getChild(i).clone(true));
26
+ }
27
+ }
28
+ return clone;
29
+ }
30
+ }
31
+ export class CommsContainerRenderObject extends BlockContainerRenderObject {
32
+ //批注内容是否已经重组,只要重新绘制的时候组合一次即可
33
+ isMeasureComm;
34
+ selectedSet;
35
+ commentRangeStatus = [];
36
+ beginRender(ctx, position) {
37
+ if (this.rect.height === 0) {
38
+ return;
39
+ }
40
+ ctx.contentContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height, 'black', 0.5);
41
+ }
42
+ endRender(ctx, position) {
43
+ }
44
+ clone() {
45
+ const clone = new CommsContainerRenderObject(this.element);
46
+ clone.rect = ElementUtil.cloneRect(this.rect);
47
+ for (let i = 0; i < this.length; i++) {
48
+ clone.addChild(this.getChild(i).clone());
49
+ }
50
+ return clone;
51
+ }
52
+ }
53
+ export class CommentsFactory extends ElementFactory {
54
+ match(type) {
55
+ return type === "comm-list";
56
+ }
57
+ createElement(data, renderCtx) {
58
+ const commentsEle = new CommsContainerElement();
59
+ return commentsEle;
60
+ }
61
+ }
62
+ //# sourceMappingURL=comments-container-impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comments-container-impl.js","sourceRoot":"","sources":["../../../../src/med_editor/framework/impl/comments/comments-container-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAW,cAAc,EAAgE,MAAM,uCAAuC,CAAC;AACrK,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAElE,OAAO,EAAE,0BAA0B,EAAgB,MAAM,sCAAsC,CAAC;AAGhG,MAAM,OAAO,qBAAsB,SAAQ,qBAAqB;IAC5D;QACI,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,kBAAkB,CAAC,OAAoB,EAAE,SAA6B;QAClE,MAAM,MAAM,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzC,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,SAAS,CAAC,WAAwB;QAC9B,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,EAAE;SACZ,CAAC;IACN,CAAC;IACD,KAAK,CAAC,IAAa;QACf,MAAM,KAAK,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAC1C,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;aAChD;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAED,MAAM,OAAO,0BAA2B,SAAQ,0BAA0B;IACtE,4BAA4B;IAC5B,aAAa,CAAW;IACxB,WAAW,CAAuC;IAClD,kBAAkB,GAA8B,EAAE,CAAC;IACnD,WAAW,CAAC,GAAuB,EAAE,QAAkB;QACnD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,OAAO;SACV;QACD,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC3G,CAAC;IACD,SAAS,CAAC,GAAuB,EAAE,QAAkB;IAErD,CAAC;IACD,KAAK;QACD,MAAM,KAAK,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;SAC5C;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAGD,MAAM,OAAO,eAAgB,SAAQ,cAAoB;IACrD,KAAK,CAAC,IAAY;QACd,OAAO,IAAI,KAAK,WAAW,CAAC;IAChC,CAAC;IACD,aAAa,CAAC,IAAS,EAAE,SAA6B;QAClD,MAAM,WAAW,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAChD,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ"}
@@ -0,0 +1,12 @@
1
+ import { Position } from "@/med_editor/framework/element-define";
2
+ import { RenderContenxtType } from "@/med_editor/framework/render-context";
3
+ import { RenderObject } from "@/med_editor/framework/render-define";
4
+ import { CommentElement } from "./comment-element-impl";
5
+ import { CommsContainerRenderObject } from "./comments-container-impl";
6
+ export declare class CommentsUtil {
7
+ static remeasureComments(ctx: RenderContenxtType, commWindow: CommsContainerRenderObject, commContainer: CommsContainerRenderObject, map: Array<{
8
+ ele: CommentElement;
9
+ render: RenderObject;
10
+ pos: Position;
11
+ }>): void;
12
+ }
@@ -0,0 +1,67 @@
1
+ import { ElementUtil } from "../../element-util";
2
+ import { DocumentRenderObject } from "../document/doc-impl";
3
+ export class CommentsUtil {
4
+ static remeasureComments(ctx, commWindow, commContainer, map) {
5
+ const commMap = [];
6
+ const docRender = ElementUtil.getParentRender(commWindow, DocumentRenderObject);
7
+ for (let i = 0; i < commContainer.length; i++) {
8
+ const commRender = commContainer.getChild(i);
9
+ const commEle = commRender.element;
10
+ const mapComm = map.find(item => item.ele.props.id === commEle.props.id);
11
+ if (mapComm) {
12
+ const commMarkLinePos = ElementUtil.getParaLinePos(mapComm.render, mapComm.pos);
13
+ mapComm.pos.y = commMarkLinePos.y + 2;
14
+ const commContentRender = commRender.clone();
15
+ commContentRender.rect.x = 0;
16
+ commContentRender.rect.y = mapComm.pos.y;
17
+ commWindow.addChild(commContentRender);
18
+ commMap.push({
19
+ commMarkRender: mapComm.render,
20
+ commMarkPos: mapComm.pos,
21
+ commContentRender: commContentRender
22
+ });
23
+ }
24
+ }
25
+ let sumCommentHeight = 0;
26
+ for (let i = 0; i < commMap.length; i++) {
27
+ const map = commMap[i];
28
+ const prevRender = commMap[i - 1]?.commContentRender;
29
+ const { commContentRender } = map;
30
+ sumCommentHeight += commContentRender.rect.height + 5;
31
+ if (prevRender) {
32
+ const { y: prevY, height: prevHeight } = prevRender.rect;
33
+ if (commContentRender.rect.y < prevY + prevHeight) {
34
+ commContentRender.rect.y = prevY + prevHeight + 5;
35
+ }
36
+ }
37
+ commContentRender.commMarkRender = { render: map.commMarkRender, pos: map.commMarkPos };
38
+ }
39
+ if (!commMap.length) {
40
+ return;
41
+ }
42
+ const lastCommentMap = commMap[commMap.length - 1];
43
+ const { commContentRender: lastCommContentRender } = lastCommentMap;
44
+ const { rect: lastRect } = lastCommContentRender;
45
+ //批注内容超出文档,需要重新排序
46
+ if (lastRect.y + lastRect.height > docRender.rect.height) {
47
+ //总内容小于容器高度,则进行倒排
48
+ //否则进行正排
49
+ if (sumCommentHeight < docRender.rect.height) {
50
+ lastRect.y = docRender.rect.height - lastRect.height;
51
+ for (let i = commMap.length - 1; i >= 0; i--) {
52
+ const map = commMap[i];
53
+ const prevRender = commMap[i + 1]?.commContentRender;
54
+ const { commContentRender } = map;
55
+ if (prevRender) {
56
+ const { y: prevY } = prevRender.rect;
57
+ if (commContentRender.rect.y + commContentRender.rect.height > prevY) {
58
+ commContentRender.rect.y = prevY - commContentRender.rect.height - 5;
59
+ }
60
+ }
61
+ commContentRender.commMarkRender = { render: map.commMarkRender, pos: map.commMarkPos };
62
+ }
63
+ }
64
+ }
65
+ }
66
+ }
67
+ //# sourceMappingURL=comments-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comments-util.js","sourceRoot":"","sources":["../../../../src/med_editor/framework/impl/comments/comments-util.ts"],"names":[],"mappings":"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"}