@hailin-zheng/editor-core 1.0.12 → 1.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/lib/doc-ruler.js.map +1 -1
  2. package/lib/framework/common-util.js.map +1 -1
  3. package/lib/framework/document-change.js.map +1 -1
  4. package/lib/framework/document-combine.js.map +1 -1
  5. package/lib/framework/document-comment.js.map +1 -1
  6. package/lib/framework/document-context.js.map +1 -1
  7. package/lib/framework/document-eval-func.js.map +1 -1
  8. package/lib/framework/document-event.js.map +1 -1
  9. package/lib/framework/document-history.js.map +1 -1
  10. package/lib/framework/document-images-loader.js.map +1 -1
  11. package/lib/framework/document-input-cursor.js.map +1 -1
  12. package/lib/framework/document-paint.js.map +1 -1
  13. package/lib/framework/document-print-offscreen.js.map +1 -1
  14. package/lib/framework/document-print.js.map +1 -1
  15. package/lib/framework/document-segmenter.js.map +1 -1
  16. package/lib/framework/document-selection.js.map +1 -1
  17. package/lib/framework/document-template.js.map +1 -1
  18. package/lib/framework/document-textline-mode.js.map +1 -1
  19. package/lib/framework/element-define.js.map +1 -1
  20. package/lib/framework/element-event-define.js.map +1 -1
  21. package/lib/framework/element-measure.js.map +1 -1
  22. package/lib/framework/element-paint.js.map +1 -1
  23. package/lib/framework/element-props.js.map +1 -1
  24. package/lib/framework/element-reader.js.map +1 -1
  25. package/lib/framework/element-render-cut.js.map +1 -1
  26. package/lib/framework/element-serialize.js.map +1 -1
  27. package/lib/framework/element-util.js.map +1 -1
  28. package/lib/framework/impl/checkbox/checkbox-impl.js.map +1 -1
  29. package/lib/framework/impl/comments/comment-content-impl.js.map +1 -1
  30. package/lib/framework/impl/comments/comment-element-impl.js.map +1 -1
  31. package/lib/framework/impl/comments/comments-container-impl.js.map +1 -1
  32. package/lib/framework/impl/comments/comments-util.js.map +1 -1
  33. package/lib/framework/impl/comments/validate-msg-impl.js.map +1 -1
  34. package/lib/framework/impl/data-element/data-decorate-impl.js.map +1 -1
  35. package/lib/framework/impl/data-element/data-element-barcode.js.map +1 -1
  36. package/lib/framework/impl/data-element/data-element-base-impl.js.map +1 -1
  37. package/lib/framework/impl/data-element/data-element-check-impl.js.map +1 -1
  38. package/lib/framework/impl/data-element/data-element-date-impl.js.map +1 -1
  39. package/lib/framework/impl/data-element/data-element-group-impl.js.map +1 -1
  40. package/lib/framework/impl/data-element/data-element-image-impl.js.map +1 -1
  41. package/lib/framework/impl/data-element/data-element-list-impl.js.map +1 -1
  42. package/lib/framework/impl/data-element/data-element-text-impl.js.map +1 -1
  43. package/lib/framework/impl/decorate/fill-null-space-imple.js.map +1 -1
  44. package/lib/framework/impl/document/doc-body-impl.js.map +1 -1
  45. package/lib/framework/impl/document/doc-body-part-impl.js.map +1 -1
  46. package/lib/framework/impl/document/doc-container-impl.js.map +1 -1
  47. package/lib/framework/impl/document/doc-footer-impl.js.map +1 -1
  48. package/lib/framework/impl/document/doc-header-impl.js.map +1 -1
  49. package/lib/framework/impl/document/doc-impl.js.map +1 -1
  50. package/lib/framework/impl/media-formula/menstrual-history.js.map +1 -1
  51. package/lib/framework/impl/paragraph/p-impl.js.map +1 -1
  52. package/lib/framework/impl/picture/image-impl.js.map +1 -1
  53. package/lib/framework/impl/radio/radio-impl.js.map +1 -1
  54. package/lib/framework/impl/symbol/br-symbol-impl.js.map +1 -1
  55. package/lib/framework/impl/symbol/p-symbol-impl.js.map +1 -1
  56. package/lib/framework/impl/table/table-cell-impl.js.map +1 -1
  57. package/lib/framework/impl/table/table-impl.js.map +1 -1
  58. package/lib/framework/impl/table/table-row-impl.js.map +1 -1
  59. package/lib/framework/impl/table/table-split-cell-patch.js.map +1 -1
  60. package/lib/framework/impl/table/table-split-cell.js.map +1 -1
  61. package/lib/framework/impl/table/table-util.js.map +1 -1
  62. package/lib/framework/impl/text/text-impl.js.map +1 -1
  63. package/lib/framework/impl/text/track-run-impl.js.map +1 -1
  64. package/lib/framework/notify.js.map +1 -1
  65. package/lib/framework/range-util.js.map +1 -1
  66. package/lib/framework/render-context.js.map +1 -1
  67. package/lib/framework/render-define.js.map +1 -1
  68. package/lib/framework/selection-overlays.js.map +1 -1
  69. package/lib/texteditor.js.map +1 -1
  70. package/lib/util/subject.js.map +1 -1
  71. package/lib/util/table-bind.js.map +1 -1
  72. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"document-context.js","sourceRoot":"","sources":["../../src/med_editor/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":"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","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}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"document-eval-func.js","sourceRoot":"","sources":["../../src/med_editor/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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"document-event.js","sourceRoot":"","sources":["../../src/med_editor/framework/document-event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-event.js","sourceRoot":"lib/","sources":["framework/document-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAgB,MAAM,MAAM,CAAC;AAExD,OAAO,EAAE,cAAc,EAAkB,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAwC,sBAAsB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtH,OAAO,EAAE,gBAAgB,EAAwC,iBAAiB,EAAE,cAAc,EAAuC,eAAe,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACnO,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAEvF,OAAO,EAAmB,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAc,kBAAkB,EAAc,gBAAgB,EAAgB,MAAM,iBAAiB,CAAC;AAE7G,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACH,MAAM,OAAO,aAAa;IAyBF;IAAmC;IAAsC;IAAkC;IAAwC;IAxB/J,WAAW,CAAW;IAC9B,YAAY;IACZ,YAAY,CAAuB;IACnC,aAAa;IACb,UAAU,CAAuB;IACjC,iBAAiB;IACjB,cAAc,CAAsB;IACpC,WAAW,CAAe;IAC1B,WAAW;IACX,sBAAsB,CAA6D;IACnF,cAAc,GAAsE,IAAI,OAAO,EAAE,CAAC;IAClG,UAAU,GAAwB,IAAI,OAAO,EAAE,CAAC;IAChD,aAAa,GAAwB,IAAI,OAAO,EAAE,CAAC;IACnD,YAAY,GAAwB,IAAI,OAAO,EAAE,CAAC;IAClD,WAAW,GAAwB,IAAI,OAAO,EAAE,CAAC;IACjD,gBAAgB,GAAiD,IAAI,OAAO,EAAE,CAAC;IAC/E,aAAa;IACb,cAAc,CAAyB;IACvC,sBAAsB;IACtB,UAAU,CAAY;IACtB,SAAS;IACT,YAAY,CAAY;IACxB,IAAI,GAAwB,EAAE,CAAC;IAE/B,YAAoB,MAAyB,EAAU,aAA4B,EAAU,WAAwB,EAAU,cAA8B,EAAU,MAAqB;QAAxK,WAAM,GAAN,MAAM,CAAmB;QAAU,kBAAa,GAAb,aAAa,CAAe;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAAU,WAAM,GAAN,MAAM,CAAe;QACxL,IAAI,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;IAEO,SAAS;QACb,IAAI,CAAC,WAAW,CAAC,SAAS,CAAa,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,WAAW,CAAC,SAAS,CAAa,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,WAAW,CAAC,SAAS,CAAa,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3E,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,WAAW,CAAC,SAAS,CAAa,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,WAAW,CAAC,SAAS,CAAa,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,WAAW,CAAC,SAAS,CAAa,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACvG,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,WAAW,CAAC,SAAS,CAAa,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9E,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,WAAW,CAAC,GAAiB;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,aAAa;QACT,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAEO,SAAS,CAAC,GAAe;QAC7B,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC/B,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC/B,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC/B,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QACvD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAEO,OAAO,CAAC,GAAe;QAC3B,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC/B,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC/B,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAEO,SAAS,CAAC,GAAe;QAC7B,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC/B,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC/B,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,IAAI,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE;YAC3G,OAAO;SACV;QACD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAEO,aAAa,GAAY,KAAK,CAAC;IACvC;;;OAGG;IACK,OAAO;QACX,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC9B,OAAO;SACV;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC;QAC3D,IAAI,CAAC,OAAO,EAAE;YACV,OAAO;SACV;QACD,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;QACvB,aAAa,CAAC,WAAW,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnF,IAAI,KAAK,CAAC,SAAS,EAAE;YACjB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7B;aAAM;YACH,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACrB,OAAO;aACV;YACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC9B;IACL,CAAC;IAGD;;MAEE;IACF,YAAY;QACR,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,OAAO;SACV;QACD,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACrC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACK,eAAe,CAAC,GAAsB;QAC1C,iBAAiB;QACjB,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;YAC1E,OAAO;SACV;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE;YACxD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC5B;QACD,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YAC/C,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,8BAA8B;YAC9B,IAAI,YAAY,YAAY,cAAc,IAAI,YAAY,YAAY,YAAY,EAAE;gBAChF,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;aAChC;YACD,uFAAuF;YACvF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;YACpC,MAAM,cAAc,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9D,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC;YACrC,aAAa,CAAC,WAAW,CAAC,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SACnG;aAAM;YACH,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;QACD,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;YACnD,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAA4B,EAAE,UAAU,EAAE,IAAI,CAAC,UAA0B,EAAE,CAAC,CAAC;QAC3H,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACzD,CAAC;IAED;;OAEG;IACK,kBAAkB;QACtB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,OAAO;SACV;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QAC/C,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SAC3B;QACD,IAAI,YAAY,IAAI,YAAY,CAAC,SAAS,EAAE;YACxC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,YAA2B,CAAC;YAClD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SACvF;IACL,CAAC;IAED,YAAY;QACR,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACK,UAAU,CAAC,GAAsB;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,EAAE;YACb,OAAO,IAAI,CAAC;SACf;QACD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;QACvD,aAAa;QACb,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC;QACzB,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC;QAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACjI,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,IAAI,CAAC;SACf;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAsB,CAAC;QACtD,OAAO;YACH,WAAW,EAAE,QAAQ;YACrB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO;YACP,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;YACjC,YAAY,EAAE,OAAO,CAAC,kBAAkB;YACxC,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;YAChG,WAAW,EAAE,WAAW,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC;SACjE,CAAC;IACN,CAAC;IAEO,sBAAsB,CAAC,GAAsB;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,EAAE;YACb,OAAO,IAAI,CAAC;SACf;QACD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;QAC1E,aAAa;QACb,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC;QACzB,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC;QACzB,6FAA6F;QAC7F,yJAAyJ;QACzJ,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACvI,OAAO,aAAa,CAAC;IACzB,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,GAAsB;QAC1C,6BAA6B;QAC7B,IAAI,cAAc,GAAsC,IAAI,CAAC;QAC7D,MAAM,QAAQ,GAAa,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9D,IAAI,UAAU,GAAe,MAAM,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC3B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE;YACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACvC,iBAAiB;YACjB,IAAI,CAAC,UAAU,EAAE,CAAC;SACrB;QACD,MAAM,uBAAuB,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACjE,6CAA6C;QAC7C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC1G,IAAI,CAAC,sBAAsB,GAAG,uBAAuB,CAAC;QACtD,8BAA8B;QAC9B,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,IAAU,IAAI,CAAC,cAAe,CAAC,YAAY,CAAC,EAAE;YAC1G,MAAM,WAAW,GAAa,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YACzG,MAAM,cAAc,GAAG,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YAC3F,IAAI,cAAc,EAAE;gBAChB,UAAU,GAAG,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBACpE,IAAI,cAAc,EAAE,UAAU,KAAK,MAAM,EAAE;oBACvC,cAAc,GAAG,IAAI,CAAC;iBACzB;qBAAM;oBACH,cAAc,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,UAAU,EAAE,CAAC;iBAC7H;aACJ;SACJ,CAAA,qCAAqC;aACjC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,EAAE;YAC1F,MAAM,UAAU,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAsB,EAAE,qBAAqB,CAA0B,CAAC;YACpJ,kFAAkF;YAClF,uFAAuF;YACvF,qEAAqE;YACrE,MAAM,EAAE,GAAG,WAAW,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;YAC9D,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YACpC,MAAM,WAAW,GAAa,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;YAC7E,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;YAClF,IAAI,cAAc,EAAE;gBAChB,qDAAqD;aACxD;YACD,UAAU,GAAG,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YACpE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnC,IAAI,cAAc,EAAE,UAAU,KAAK,MAAM,EAAE;gBACvC,cAAc,GAAG,IAAI,CAAC;aACzB;iBAAM;gBACH,cAAc,GAAG,EAAE,aAAa,EAAE,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,UAAU,EAAE,CAAC;aAC5H;SACJ;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;SACxC;QACD,uBAAuB;QACvB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;YACtD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACvB,UAAU,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;SACxE;QACD,IAAI,IAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,OAAO,YAAY,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,UAAU,KAAK,MAAM,EAAE;YACnH,UAAU,GAAG,IAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;SACxE;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAGO,kBAAkB,CAAC,MAAgC;QACvD,OAAO,MAAM,YAAY,qBAAqB,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACK,oBAAoB,CAAC,MAAgC;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,qBAAqB,CAAC,KAAK,IAAI,CAAC;IAC/E,CAAC;IAEO,oBAAoB,CAAC,MAAgC;QACzD,OAAO,MAAM,YAAY,sBAAsB,CAAC;IACpD,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,SAA0C,EAAE,SAA0C,EAAE,QAA8C;QAC/J,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;QAC/G,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;QAC/G,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;QAC/G,MAAM,eAAe,GAAG,CAAC,SAAqB,EAAE,KAAqB,EAAE,EAAE;YACrE,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE;gBACzB,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtD,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC;gBAC5B,UAAU,CAAC,cAAc,GAAG,OAAO,CAAC;gBACpC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aAC9C;QACL,CAAC,CAAC;QACF,eAAe,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QACxD,eAAe,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QACxD,eAAe,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IAGD,eAAe,GAAmB,EAAE,CAAC;IACrC;;;;OAIG;IACH,YAAY,CAAC,YAAyB;QAClC,IAAI,YAAY,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;YAC1C,OAAO;SACV;QACD,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvD,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC;QAErC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC;QACxC,MAAM,UAAU,GAAG,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;QAC9F,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;QAC9F,MAAM,eAAe,GAAG,CAAC,SAAqB,EAAE,KAAqB,EAAE,EAAE;YACrE,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE;gBACzB,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpD,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC;gBACjC,UAAU,CAAC,cAAc,GAAG,OAAO,CAAC;gBACpC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC7B,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aAC9C;QACL,CAAC,CAAC;QACF,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC5C,eAAe,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAE3C,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QAClC,4FAA4F;IAChG,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,GAAe;QACpC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,EAAE;YAC3C,OAAO;SACV;QACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YAC/F,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAsB,CAAC;YACrE,MAAM,cAAc,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9D,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC;YACrC,aAAa,CAAC,WAAW,CAAC,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5F,yBAAyB;SAC5B;QACD,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QACrE,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,KAAK,IAAI,CAAC,cAAc,EAAE;YACrG,wFAAwF;YACxF,WAAW;YACX,IAAI,IAAI,CAAC,cAAc,YAAY,cAAc,IAAI,IAAI,CAAC,cAAc,KAAK,YAAY,EAAE;gBACvF,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpD,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC;gBAChC,SAAS,CAAC,YAAY,GAAG,WAAW,CAAC;gBACrC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;gBAC5C,IAAI,aAAa,CAAC,WAAW,CAAC,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;oBACvF,OAAO;iBACV;gBACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,EAAE,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;gBACjI,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,OAAO;aACV;SACJ;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,GAAe;QACvC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC/B,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC/B,mBAAmB;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE;YAC7F,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACvE,OAAO;SACV;aAAM,IAAI,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE;YACrE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACvE,OAAO;SACV;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,OAAO,EAAE;YACT,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAClC,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;YACvC,MAAM,GAAG,GAAG,aAAa,CAAC,WAAW,CAAC,iBAAiB,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxG,IAAI,GAAG,EAAE;gBAAE,OAAM;aAAE;YACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChC;IACL,CAAC;IAED;;;;;;OAMG;IACK,gBAAgB,CAAC,YAA0B,EAAE,MAAgB,EAAE,MAAgB;QACnF,gCAAgC;QAChC,6HAA6H;QAC7H,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE;YAChD,OAAO,IAAI,CAAC;SACf;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;SAC/C;QACD,MAAM,gBAAgB,GAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACrM,IAAI,YAAY,YAAY,oBAAoB,EAAE;YAC9C,OAAO,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;SAClE;QACD,IAAI,YAAY,YAAY,gBAAgB,EAAE;YAC1C,IAAI,UAAU,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE;gBAC7D,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;gBACxC,MAAM,MAAM,GAAG,WAAW,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAC/D,OAAO;oBACH,MAAM,EAAE,YAAY;oBACpB,MAAM;oBACN,kBAAkB,EAAE,gBAAgB;iBACvC,CAAC;aACL;SACJ;aAAM,IAAI,YAAY,YAAY,kBAAkB,EAAE;YACnD,IAAI,UAAU,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE;gBAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC1C,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBACzG,IAAI,GAAG,EAAE;wBACL,OAAO,GAAG,CAAC;qBACd;iBACJ;gBACD,0BAA0B;gBAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;aAChE;SACJ;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1B;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAIO,oBAAoB,CAAC,YAAkC,EAAE,MAAgB,EAAE,QAAkB;QACjG,MAAM,MAAM,GAAG,YAAY,CAAC,OAA0B,CAAC;QACvD,oBAAoB;QACpB,cAAc;QACd,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE;YACxB,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;gBAC/C,OAAO,IAAI,CAAC;aACf;SACJ;QACD,MAAM,gBAAgB,GAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACrM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC3G,IAAI,GAAG,EAAE;gBACL,OAAO,GAAG,CAAC;aACd;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD;;;;;OAKG;IACK,kBAAkB,CAAC,YAAgC,EAAE,MAAgB,EAAE,QAAkB;QAC7F,MAAM,gBAAgB,GAAa,EAAE,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAA;QAC3G,IAAI,YAAY,GAAG,WAAW,CAAC,wBAAwB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC9E,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACtE,IAAI,iBAAiB,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC1J,gMAAgM;QAChM,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,MAAM,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,cAAc,EAAE;gBACjB,MAAM;aACT;YACD,IAAI,cAAc,CAAC,MAAM,YAAY,kBAAkB,EAAE;gBACrD,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;gBACvF,IAAI,GAAG,EAAE;oBACL,OAAO,GAAG,CAAC;iBACd;aACJ;iBAAM,IAAI,cAAc,CAAC,MAAM,YAAY,gBAAgB,EAAE;gBAC1D,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE;oBACpC,CAAC,GAAG,CAAC,CAAC;iBACT;qBAAM,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,EAAE;oBACvE,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;iBACjC;qBAAM;oBACH,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC1C;gBACD,MAAM,MAAM,GAAG,WAAW,CAAC,kBAAkB,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACxE,OAAO;oBACH,MAAM,EAAE,cAAc,CAAC,MAAM;oBAC7B,kBAAkB,EAAE,cAAc,CAAC,IAAI;oBACvC,MAAM;iBACT,CAAC;aACL;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAID;;OAEG;IACK,aAAa,CAAC,GAAsB;QACxC,MAAM,MAAM,GAAa,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;QAC1D,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC;QACjC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjC,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAyB,CAAC;YACnE,MAAM,YAAY,GAAa,EAAE,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACpF,IAAI,YAAY,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,EAAE;gBACnD,MAAM;aACT;YACD,IAAI,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE;gBAC3B,MAAM;aACT;SACJ;QACD,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAyB,CAAC;QAChE,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,UAAU,GAAa,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAA;QAC/E,OAAO;YACH,SAAS,EAAE,MAAM;YACjB,iBAAiB,EAAE,MAAM;YACzB,QAAQ,EAAE,CAAC;YACX,UAAU;SACb,CAAA;IACL,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,IAAgB,EAAE,aAAsB,EAAE,KAAmB,EAAE,UAAsB,EAAE,MAAqB;QAC3H,MAAM,OAAO,GAAG,WAAW,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAC7D,eAAe;QACf,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,KAAK,CAAC,EAAE;gBAC7D,SAAS;aACZ;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,KAAK,CAAC,EAAE;gBAC/D,SAAS;aACZ;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;YAC7B,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;YAC7B,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAChB,OAAO,KAAK,CAAC;aAChB;YACD,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YAC1D,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAChB,OAAO,KAAK,CAAC;aAChB;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD;;OAEG;IACK,UAAU;QACd,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAA4B,EAAE,UAAU,EAAE,IAAI,CAAC,UAA0B,EAAE,CAAC,CAAC;IAC/H,CAAC;IAED;;;;;;SAMK;IACG,kBAAkB,CAAC,YAA0B,EAAE,MAAgB,EAAE,QAAkB;QACvF,MAAM,gBAAgB,GAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACrM,IAAI,YAAY,YAAY,gBAAgB,EAAE;YAC1C,IAAI,UAAU,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE;gBAC/D,OAAO;oBACH,MAAM,EAAE,YAAY;oBACpB,kBAAkB,EAAE,gBAAgB;iBACvC,CAAC;aACL;SACJ;aAAM,IAAI,YAAY,YAAY,kBAAkB,EAAE;YACnD,IAAI,UAAU,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE;gBAC/D,2BAA2B;gBAC3B,gCAAgC;gBAChC,8CAA8C;gBAC9C,IAAI,YAAY,YAAY,qBAAqB,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC3N,OAAO;wBACH,MAAM,EAAE,YAAY;wBACpB,kBAAkB,EAAE,gBAAgB;qBACvC,CAAA;iBACJ;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC1C,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAC7G,IAAI,GAAG,EAAE;wBACL,OAAO,GAAG,CAAC;qBACd;iBACJ;gBACD,OAAO;oBACH,MAAM,EAAE,YAAY;oBACpB,kBAAkB,EAAE,gBAAgB;iBACvC,CAAA;aACJ;SACJ;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1B;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,CAAoB;QACrC,IAAU,IAAI,CAAC,cAAc,EAAE,aAAc,CAAC,YAAY,CAAC,EAAE;YACzD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SACzB;aAAM,IAAI,IAAI,CAAC,cAAc,EAAE,aAAa,YAAY,gBAAgB,EAAE;YACvE,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;IACL,CAAC;IAED;;OAEG;IACK,eAAe;QACnB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YAC3D,OAAO;SACV;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,EAAE,MAAsB,CAAC;QAC1C,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;SACzC;QACD,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACpC,IAAI,SAAS,KAAK,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE;gBACtC,OAAO;aACV;YACD,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,MAAM,KAAK,MAAM,EAAE;gBACnB,cAAc,GAAG,SAAS,GAAG,CAAC,CAAC;gBAC/B,cAAc,GAAG,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;gBACpD,cAAc,IAAI,aAAa,CAAC;gBAChC,SAAS,IAAI,aAAa,CAAC;aAC9B;iBAAM,IAAI,MAAM,KAAK,OAAO,EAAE;gBAC3B,cAAc,GAAG,SAAS,GAAG,CAAC,CAAC;gBAC/B,oCAAoC;gBACpC,cAAc,GAAG,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;gBACpD,IAAI,cAAc,GAAG,CAAC,EAAE;oBACpB,cAAc,IAAI,aAAa,CAAC;iBACnC;gBACD,SAAS,IAAI,aAAa,CAAC;aAC9B;YACD,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE;gBACjE,OAAO;aACV;YACD,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YACnD,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACzC,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;YACnD,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SAC7B;aAAM,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC3C,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,QAAQ,KAAK,CAAC,IAAI,MAAM,KAAK,KAAK,EAAE;gBACpC,OAAO;aACV;YACD,UAAU;YACV,QAAQ,GAAG,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtD,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAoB,CAAC;YACjE,IAAI,eAAe,GAAG,YAAY,CAAC,aAAqC,CAAC;YACzE,IAAI,eAAe,CAAC,OAAO,KAAK,YAAY,EAAE;gBAC1C,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;gBACzC,OAAO;aACV;YACD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;YACpD,wBAAwB;YACxB,IAAI,SAAS,IAAI,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE;gBACrC,OAAO;aACV;YACD,QAAQ;YACR,IAAI,4BAA4B,GAAG,WAAW,CAAC,8BAA8B,CAAC,eAAe,CAAC,CAAC;YAC/F,IAAI,kBAAkB,GAAG,CAAC,CAAC;YAC3B,IAAI,SAAS,IAAI,CAAC,EAAE;gBAChB,kBAAkB,GAAG,4BAA4B,GAAG,aAAa,CAAC;aACrE;iBAAM;gBACH,kBAAkB,GAAG,SAAS,GAAG,aAAa,CAAC;aAClD;YACD,sBAAsB;YACtB,IAAI,kBAAkB,IAAI,4BAA4B,EAAE;gBACpD,qCAAqC;gBACrC,kBAAkB,GAAG,CAAC,CAAC;aAC1B;YACD,YAAY,CAAC,KAAK,CAAC,SAAS,GAAG,kBAAkB,CAAC;YAClD,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;YACnD,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SAC7B;IACL,CAAC;IAEO,kBAAkB;QACtB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;SAC5C;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,aAAiC,CAAC;QAC1E,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,GAAG,EAAE;YACN,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;SACjC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAsB,CAAC;QACzC,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAC1C,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO,EAAE;YAC9D,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;gBACvD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAqB,CAAC;gBACjD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE;oBAClC,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAqB,CAAC;iBAClD;aACJ;SACJ;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,CAAoB;QACtC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YAC3D,OAAO;SACV;QACD,MAAM,UAAU,GAAY,IAAI,CAAC,cAAc,CAAC,aAA6D,CAAC;QAC9G,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;QACtD,IAAI,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;QACvD,IAAI,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC7I,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACtD,aAAa,GAAG,CAAC,CAAC;aACrB;YACD,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACtD,aAAa,GAAG,CAAC,CAAC;aACrB;YACD,aAAa;YACb,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBAC1F,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;oBACnD,KAAK,GAAG,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC/C,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;iBAC/D;qBAAM;oBACH,KAAK,GAAG,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;oBAChD,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBAC9D;aACJ;YACD,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,aAAa,CAAC;YAC3C,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,aAAa,CAAC;YAC5C,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE;gBAChC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;aAClC;YACD,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,EAAE,EAAE;gBACjC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;aACnC;YACD,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;SACtD;IAEL,CAAC;IAED;;OAEG;IACH,SAAS;QACL,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,MAAM,YAAY,GAAG,WAAW,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,EAAE;YAChC,OAAO;SACV;QACD,MAAM,SAAS,GAAG,WAAW,CAAC,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,WAAW,CAAC,kBAAkB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;SACnD;QACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,iBAAiB,GAAG,IAAI,cAAc,EAAE,CAAC;QAC/C,iBAAiB,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACzC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChD,YAAY;IAChB,CAAC;IAGD;;OAEG;IACH,qBAAqB;QACjB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,mBAAmB;QACf,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAAC,OAAgB,IAAI;QAC9C,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YAC1C,OAAO;SACV;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;QAC1B,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5C,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE;YACV,OAAO;SACV;QACD,MAAM,UAAU,GAAG,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,6BAA6B,CAAkC,CAAA;QAC9H,MAAM,WAAW,GAAG,WAAW,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAA;QACtE,QAAQ,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAClE,QAAQ,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;QACjE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAGD;;MAEE;IACF,gBAAgB;QACZ,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1D,IAAI,WAAW,KAAK,CAAC,EAAE;YACnB,MAAM,SAAS,GAAG,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,WAAW,CAAC,8BAA8B,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACtF,IAAI,OAAO,EAAE;gBACT,MAAM,SAAS,GAAG,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACxD,IAAI,SAAS,KAAK,SAAS,EAAE;oBACzB,OAAO;iBACV;gBACD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5C,OAAO;aACV;SACJ;aAAM;YACH,IAAI,YAAY,YAAY,gBAAgB,EAAE;gBAC1C,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;aACjE;iBAAM;gBACH,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;aACnD;SACJ;IACL,CAAC;IAED;;OAEG;IACH,iBAAiB;QACb,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1D,IAAI,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE;YACpD,MAAM,SAAS,GAAG,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,WAAW,CAAC,8BAA8B,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACtF,IAAI,OAAO,EAAE;gBACT,MAAM,SAAS,GAAG,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACxD,IAAI,SAAS,KAAK,SAAS,EAAE;oBACzB,OAAO;iBACV;gBACD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC3C,OAAO;aACV;SACJ;aAAM;YACH,IAAI,YAAY,YAAY,gBAAgB,EAAE;gBAC1C,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;aACjE;iBAAM;gBACH,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;aACnD;SACJ;IACL,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,KAAc,IAAI;QACnC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;YAChC,OAAO;SACV;QACD,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;QAC7C,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YACzB,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpD,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;YACrB,QAAQ,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7C,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;YACrB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1C,MAAM,GAAG,GAAG,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,cAAc,CAAC,YAAY,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;YACxH,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO;aACV;YACD,IAAI,CAAC,GAAG,EAAE;gBACN,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAC/B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,OAAO;aACV;SACJ;IACL,CAAC;IAGD;;;;;OAKG;IACK,kBAAkB,CAAC,GAAgB,EAAE,MAAc;QACvD,IAAI,GAAG,YAAY,gBAAgB,EAAE;YACjC,OAAO,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,MAAM,CAAC;SAC7C;aAAM;YACH,IAAI,GAAG,YAAY,cAAc,EAAE;gBAC/B,OAAO,IAAI,CAAC;aACf;iBAAM;gBACH,OAAO,MAAM,KAAK,CAAC,CAAC;aACvB;SACJ;IACL,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,QAA2B;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,EAAE;YACb,OAAO,IAAI,CAAC;SACf;QACD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;QAC7C,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,0BAA0B,CAA+B,CAAC;QAChJ,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,0BAA0B,CAA+B,CAAC;QAChJ,IAAI,CAAC,YAAY,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACrC;QACD,IAAI,CAAC,YAAY,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACrC;QACD,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QAClE,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,IAAI,UAAU,CAAC,CAAC,IAAI,UAAU,EAAE;YAC5B,OAAO,QAAQ,CAAC;SACnB;aAAM,IAAI,UAAU,CAAC,CAAC,IAAI,UAAU,EAAE;YACnC,OAAO,MAAM,CAAC;SACjB;aAAM,IAAI,UAAU,CAAC,CAAC,GAAG,UAAU,IAAI,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE;YAC1E,OAAO,QAAQ,CAAC;SACnB;aAAM;YACH,OAAO,IAAI,CAAC;SACf;IACL,CAAC;CAEJ","sourcesContent":["import { CommonUtil } from \"./common-util\";\nimport { fromEvent, Subject, Subscription } from \"rxjs\";\nimport { DocumentPaint } from \"./document-paint\";\nimport { SelectionRange, SelectionState } from \"./document-selection\";\nimport { LeafElement, Rect, Element, Position, ViewOptions, ResizeLeafRenderObject, DocMode } from \"./element-define\";\nimport { DropElementEvent, ElementEvent, EventStage, EventTypes, GetTrackTipsEvent, GotCursorEvent, HitEventInfo, HitRegion, ITrackTips, LostCursorEvent, MousedownElementEvent, MouseElementEvent } from \"./element-event-define\";\nimport { ElementUtil } from \"./element-util\";\nimport { DocumentRenderObject } from \"./impl/document/doc-impl\";\nimport { PictureElement } from \"./impl/picture/image-impl\";\nimport { BreakElement } from \"./impl/symbol/br-symbol-impl\";\nimport { PSymbolElement } from \"./impl/symbol/p-symbol-impl\";\nimport { TableCellElement, TableCellRenderObject } from \"./impl/table/table-cell-impl\";\nimport { TableElement } from \"./impl/table/table-impl\";\nimport { TableRowElement, TableRowRenderObject } from \"./impl/table/table-row-impl\";\nimport { BorderType, BranchRenderObject, CursorType, LeafRenderObject, RenderObject } from \"./render-define\";\nimport { EditorContext } from \"./document-context\";\nimport { ParagraphLineRectRenderObject } from \"./impl/paragraph/p-impl\";\nimport { TextGroupElement } from \"./impl/text/text-impl\";\nimport { DocumentHeaderRenderObject } from \"./impl/document/doc-header-impl\";\nimport { DocumentFooterRenderObject } from \"./impl/document/doc-footer-impl\";\nimport { debounceTime } from \"rxjs/operators\";\ninterface EdgeRenderInfo { renderElement: Element, relativePos: Position, mousedown: boolean, mousedownPos?: Position, border: BorderType }\n/**\n * 事件系统\n */\nexport class DocumentEvent {\n private ismousedown!: boolean;\n //开始点击时的元素信息\n startHitInfo!: HitEventInfo | null;\n //当前位置点击的元素信息\n endHitInfo!: HitEventInfo | null;\n //当前定位的焦点元素,例如图片等\n focusedElement!: LeafElement | null;\n focusedRect!: Rect | null;\n //当前光标所在的元素\n currentMouseoverRender!: { render: RenderObject, absoluteRenderRect: Rect } | null;\n hitInfoChanged: Subject<{ startHitInfo: HitEventInfo, endHitInfo: HitEventInfo }> = new Subject();\n clickEvent: Subject<MouseEvent> = new Subject();\n dblClickEvent: Subject<MouseEvent> = new Subject();\n changeCursor: Subject<CursorType> = new Subject();\n contextMenu: Subject<MouseEvent> = new Subject();\n trackTipsChanged: Subject<{ pos: Position, tips: ITrackTips }> = new Subject();\n //光标处于边框的绘制元素\n edgeRenderInfo!: EdgeRenderInfo | null;\n //当前鼠标所在的page-position\n currentPos!: Position;\n //鼠标按下的位置\n mousedownPos!: Position;\n subs: Array<Subscription> = [];\n\n constructor(private canvas: HTMLCanvasElement, private documentPaint: DocumentPaint, private viewOptions: ViewOptions, private selectionState: SelectionState, private docCtx: EditorContext) {\n this.bindEvent();\n }\n\n private bindEvent(): void {\n this.addSubEvent(fromEvent<MouseEvent>(this.canvas, 'mousedown').subscribe((evt) => {\n this.mousedown(evt);\n }));\n this.addSubEvent(fromEvent<MouseEvent>(this.canvas, 'mouseup').subscribe((evt) => {\n this.mouseup(evt);\n }));\n this.addSubEvent(fromEvent<MouseEvent>(this.canvas, 'click').subscribe((evt) => {\n this.mouseClickHandle(evt);\n }));\n this.addSubEvent(fromEvent<MouseEvent>(this.canvas, 'contextmenu').subscribe((evt) => {\n this.contextMenu.next(evt);\n }));\n this.addSubEvent(fromEvent<MouseEvent>(this.canvas, 'mousemove').subscribe((evt) => {\n this.mousemove(evt);\n }));\n this.addSubEvent(fromEvent<MouseEvent>(this.canvas, 'mousemove').pipe(debounceTime(500)).subscribe((evt) => {\n this.getTips();\n }));\n this.addSubEvent(fromEvent<MouseEvent>(this.canvas, 'dblclick').subscribe((evt) => {\n this.mouseDblClickHandle(evt);\n }));\n }\n\n addSubEvent(sub: Subscription): void {\n this.subs.push(sub);\n }\n\n clearSubEvent(): void {\n this.subs.forEach(item => item.unsubscribe());\n this.subs.length = 0;\n }\n\n clear(): void {\n this.selectionState.clear();\n this.startHitInfo = null;\n this.endHitInfo = null;\n this.focusedElement = null;\n this.focusedRect = null;\n this.currentMouseoverRender = null;\n this.edgeRenderInfo = null;\n }\n\n private mousedown(evt: MouseEvent): void {\n const docEvent = new MouseElementEvent(this.docCtx);\n docEvent.globalX = evt.offsetX;\n docEvent.globalY = evt.offsetY;\n docEvent.buttons = evt.buttons;\n docEvent.shift = evt.shiftKey;\n docEvent.ctrl = evt.ctrlKey;\n this.mousedownPos = { x: evt.offsetX, y: evt.offsetY };\n this.mousedownHandle(docEvent);\n }\n\n private mouseup(evt: MouseEvent): void {\n const docEvent = new MouseElementEvent(this.docCtx);\n docEvent.globalX = evt.offsetX;\n docEvent.globalY = evt.offsetY;\n docEvent.shift = evt.shiftKey;\n docEvent.ctrl = evt.ctrlKey;\n this.ismousedown = false;\n this.edgeRenderInfo = null;\n }\n\n private mousemove(evt: MouseEvent): void {\n const docEvent = new MouseElementEvent(this.docCtx);\n docEvent.globalX = evt.offsetX;\n docEvent.globalY = evt.offsetY;\n docEvent.shift = evt.shiftKey;\n docEvent.ctrl = evt.ctrlKey;\n if (this.mousedownPos && docEvent.globalX === this.mousedownPos.x && docEvent.globalY === this.mousedownPos.y) {\n return;\n }\n this.mousemoveHandle(docEvent);\n }\n\n private prevTrackInfo: boolean = false;\n /**\n * 显示提示信息\n * 显示留痕提示信息等\n */\n private getTips(): void {\n if (!this.currentMouseoverRender) {\n return;\n }\n const element = this.currentMouseoverRender.render.element;\n if (!element) {\n return;\n }\n const event = new GetTrackTipsEvent(this.docCtx);\n event.source = element;\n DocumentEvent.invokeEvent('GetTrackTips', element, event, 'Bubbling', this.docCtx);\n if (event.trackTips) {\n this.trackTipsChanged.next({ pos: { ...this.currentPos }, tips: event.trackTips });\n this.prevTrackInfo = true;\n } else {\n if (!this.prevTrackInfo) {\n return;\n }\n this.trackTipsChanged.next();\n this.prevTrackInfo = false;\n }\n }\n\n\n /**\n * 滚动视图的时候,需要手动触发mousemove\n */\n onScrollView(): void {\n if (!this.currentPos) {\n return;\n }\n const docEvent = new MouseElementEvent(this.docCtx);\n docEvent.globalX = this.currentPos.x;\n docEvent.globalY = this.currentPos.y;\n this.mousemoveHandle(docEvent);\n }\n\n /**\n * 处理鼠标按下事件\n * @param evt \n * @returns \n */\n private mousedownHandle(evt: MouseElementEvent): void {\n //点击右键时,存在选区,直接返回\n if (evt.buttons === 2 && this.startHitInfo && !this.selectionState.collapsed) {\n return;\n }\n this.ismousedown = true;\n this.startHitInfo = this.getHitInfo(evt);\n if (!ElementUtil.verifyHitable(this.startHitInfo?.element)) {\n this.startHitInfo = null;\n }\n if (this.startHitInfo) {\n const startElement = this.startHitInfo.element;\n this.switchElementFocus();\n //如果当前选中的是段落符号,则需要手动将其偏移量定位到左边\n if (startElement instanceof PSymbolElement || startElement instanceof BreakElement) {\n this.startHitInfo.offset = 0;\n }\n //this.startHitInfo.startRegion = this.getRenderObjectRegion(this.startHitInfo.render);\n this.endHitInfo = this.startHitInfo;\n const mousedownEvent = new MousedownElementEvent(this.docCtx);\n mousedownEvent.source = startElement;\n DocumentEvent.invokeEvent('ElementMousedown', startElement, mousedownEvent, 'All', this.docCtx);\n } else {\n this.clearHitInfo();\n }\n if (this.edgeRenderInfo) {\n this.edgeRenderInfo.mousedown = true;\n this.edgeRenderInfo.mousedownPos = this.currentPos;\n this.clearHitInfo();\n }\n this.hitInfoChanged.next({ startHitInfo: this.startHitInfo as HitEventInfo, endHitInfo: this.endHitInfo as HitEventInfo });\n this.selectionState.startHitInfo = this.startHitInfo;\n }\n\n /**\n * 设置元素焦点状态\n */\n private switchElementFocus(): void {\n if (!this.startHitInfo) {\n return;\n }\n const startElement = this.startHitInfo.element;\n if (this.focusedElement) {\n this.focusedElement.isFocused = false;\n this.focusedElement = null;\n this.focusedRect = null;\n }\n if (startElement && startElement.focusable) {\n startElement.isFocused = true;\n this.focusedElement = startElement as LeafElement;\n this.focusedRect = ElementUtil.getRenderAbsolutePaintRect(this.startHitInfo.render);\n }\n }\n\n clearHitInfo(): void {\n this.startHitInfo = null;\n this.endHitInfo = null;\n }\n\n /**\n * 获取当前鼠标所在位置的元素信息\n * @param evt \n * @returns \n */\n private getHitInfo(evt: MouseElementEvent): HitEventInfo | null {\n const hitDocInfo = this.getHitDocPage(evt);\n if (!hitDocInfo) {\n return null;\n }\n const { docIndex, docRender, hitPagePos } = hitDocInfo;\n //设置文档页中的相对位置\n evt.pageX = hitPagePos.x;\n evt.pageY = hitPagePos.y;\n\n const hitInfo = this.getHitLeafRender(docRender, { x: -docRender.rect.x, y: -docRender.rect.y }, { x: evt.pageX, y: evt.pageY });\n if (!hitInfo) {\n return null;\n }\n const element = hitInfo.render.element as LeafElement;\n return {\n hitDocIndex: docIndex,\n offset: hitInfo.offset,\n element,\n render: hitInfo.render,\n relativeRect: hitInfo.render.rect,\n absoluteRect: hitInfo.absoluteRenderRect,\n shadowRenderIndex: this.documentPaint.elementPaint.getShadowRenderIndex(element, hitInfo.render),\n startRegion: ElementUtil.getRenderObjectRegion(hitInfo.render)\n };\n }\n\n private getMouseoverRenderInfo(evt: MouseElementEvent): { render: RenderObject, absoluteRenderRect: Rect } | null {\n const hitDocInfo = this.getHitDocPage(evt);\n if (!hitDocInfo) {\n return null;\n }\n const { docIndex, docRender, paintAbsoluteRect, hitPagePos } = hitDocInfo;\n //设置文档页中的相对位置\n evt.pageX = hitPagePos.x;\n evt.pageY = hitPagePos.y;\n //const docRenderParentAbsolutePos = ElementUtil.getRenderAbsolutePaintPos(docRender.parent);\n //const mouseoverInfo = this.getMouseoverRender(docRender, docRenderParentAbsolutePos, { x: evt.globalX, y: evt.globalY + this.viewOptions.translateY });\n const mouseoverInfo = this.getHitLeafRender(docRender, { x: -docRender.rect.x, y: -docRender.rect.y }, { x: evt.pageX, y: evt.pageY });\n return mouseoverInfo;\n }\n\n /**\n * 鼠标移动事件\n * 主要处理选区改变\n */\n private mousemoveHandle(evt: MouseElementEvent): void {\n //console.time('mousemove计时')\n let edgeRenderInfo: null | typeof this.edgeRenderInfo = null;\n const mousePos: Position = { x: evt.globalX, y: evt.globalY };\n let cursorType: CursorType = 'text';\n this.currentPos = mousePos;\n if (this.ismousedown && this.startHitInfo) {\n this.endHitInfo = this.getHitInfo(evt);\n //只有鼠标按下的时候需要发布事件\n this.pubHitInfo();\n }\n const currMouseoverRenderInfo = this.getMouseoverRenderInfo(evt);\n //新旧信息不一致,需要校验绘制区域,触发mouseenter、mouseleave等事件\n this.invokeMousemoveEvent(this.currentMouseoverRender?.render, currMouseoverRenderInfo?.render, mousePos);\n this.currentMouseoverRender = currMouseoverRenderInfo;\n //当前有元素有焦点时,需要首先判断当前位置是否在焦点元素上\n //如果单元格中包含图片等可缩放的元素,并且元素的大小超过单元格,则当前图片的某一部分就无法缩放\n if (!this.ismousedown && this.focusedElement && this.focusedRect && (<any>this.focusedElement)['resizeable']) {\n const relativePos: Position = { x: mousePos.x - this.focusedRect.x, y: mousePos.y - this.focusedRect.y };\n const isInCellBorder = CommonUtil.isInPictureResizePoint(this.focusedRect, relativePos, 4);\n if (isInCellBorder) {\n cursorType = ElementUtil.getBorderCursor(isInCellBorder.borderType);\n if (isInCellBorder?.borderType === 'none') {\n edgeRenderInfo = null;\n } else {\n edgeRenderInfo = { renderElement: this.focusedElement, relativePos, mousedown: false, border: isInCellBorder.borderType };\n }\n }\n }//当前鼠标不处于mousedown并且鼠标位于单元格边界时,获取边界信息\n else if (!this.ismousedown && this.isInCellRenderObject(this.currentMouseoverRender?.render)) {\n const cellRender = ElementUtil.getParentRender(this.currentMouseoverRender?.render as RenderObject, TableCellRenderObject) as TableCellRenderObject;\n //const cellRender = this.currentMouseoverRender?.render as TableCellRenderObject;\n //const { render: { renderPosition: { x: rx, y: ry } } } = this.currentMouseoverRender;\n //const rp = this.currentMouseoverRender?.absoluteRenderRect as Rect;\n const rp = ElementUtil.getRenderAbsolutePaintRect(cellRender);\n rp.y -= this.viewOptions.translateY;\n const relativePos: Position = { x: mousePos.x - rp.x, y: mousePos.y - rp.y };\n const isInCellBorder = CommonUtil.isInRectBorder(cellRender.rect, 2, relativePos);\n if (isInCellBorder) {\n //console.log('是否在边框上' + isInCellBorder?.borderType);\n }\n cursorType = ElementUtil.getBorderCursor(isInCellBorder.borderType);\n this.changeCursor.next(cursorType);\n if (isInCellBorder?.borderType === 'none') {\n edgeRenderInfo = null;\n } else {\n edgeRenderInfo = { renderElement: cellRender.element, relativePos, mousedown: false, border: isInCellBorder.borderType };\n }\n }\n if (!this.ismousedown) {\n this.edgeRenderInfo = edgeRenderInfo;\n }\n //存在边界元素,并且当前边界处于鼠标按下状态\n if (this.edgeRenderInfo && this.edgeRenderInfo.mousedown) {\n this.resizeRender(evt);\n cursorType = ElementUtil.getBorderCursor(this.edgeRenderInfo.border);\n }\n if (this.currentMouseoverRender?.render?.element instanceof LeafElement && !this.ismousedown && cursorType === 'text') {\n cursorType = this.currentMouseoverRender?.render?.element.cursorType;\n }\n this.changeCursor.next(cursorType);\n }\n\n\n private isCellRenderObject(render: RenderObject | undefined): boolean {\n return render instanceof TableCellRenderObject;\n }\n\n /**\n * 当前绘制元素是否在单元格上面\n * @param render \n * @returns \n */\n private isInCellRenderObject(render: RenderObject | undefined): boolean {\n if (!render) {\n return false;\n }\n return ElementUtil.getParentRender(render, TableCellRenderObject) !== null;\n }\n\n private isResizeRenderObject(render: RenderObject | undefined): boolean {\n return render instanceof ResizeLeafRenderObject;\n }\n\n /**\n * 触发鼠标移动事件\n */\n private invokeMousemoveEvent(oldRender: RenderObject | null | undefined, newRender: RenderObject | null | undefined, mousePos: { x: number, y: number } | undefined): void {\n const oldParentRenders = oldRender ? ElementUtil.getRenderMapElements(oldRender) : [];\n const newParentRenders = newRender ? ElementUtil.getRenderMapElements(newRender) : [];\n const mouseleaveRenders = oldParentRenders.filter(item => newParentRenders.every(oldItem => item !== oldItem));\n const mouseenterRenders = newParentRenders.filter(item => oldParentRenders.every(oldItem => item !== oldItem));\n const mousemoveRenders = oldParentRenders.filter(item => mouseleaveRenders.every(oldItem => item !== oldItem));\n const loopInvokeEvent = (eventName: EventTypes, array: Array<Element>) => {\n for (const element of array) {\n const mouseEvent = new MouseElementEvent(this.docCtx);\n mouseEvent.source = element;\n mouseEvent.currentElement = element;\n element.invokeEvent(eventName, mouseEvent);\n }\n };\n loopInvokeEvent('ElementMouseLeave', mouseleaveRenders);\n loopInvokeEvent('ElementMouseEnter', mouseenterRenders);\n loopInvokeEvent('ElementMousemove', mousemoveRenders);\n }\n\n\n prevCursorItems: Array<Element> = [];\n /**\n * 触发获取焦点事件\n * 需要根据上次获取焦点的元素,比较触发失去焦点事件\n * @param focusElement \n */\n invokeCursor(focusElement: LeafElement): void {\n if (focusElement === this.prevCursorItems[0]) {\n return;\n }\n const getCursorEvent = new GotCursorEvent(this.docCtx);\n getCursorEvent.source = focusElement;\n\n const oldParents = this.prevCursorItems;\n const newParents = ElementUtil.getParentElements(focusElement);\n const leaveParents = oldParents.filter(item => newParents.every(oldItem => item !== oldItem));\n const enterParents = newParents.filter(item => oldParents.every(oldItem => item !== oldItem));\n const loopInvokeEvent = (eventName: EventTypes, array: Array<Element>) => {\n for (const element of array) {\n const mouseEvent = new LostCursorEvent(this.docCtx);\n mouseEvent.source = focusElement;\n mouseEvent.currentElement = element;\n mouseEvent.ctx = this.docCtx;\n element.invokeEvent(eventName, mouseEvent);\n }\n };\n loopInvokeEvent('LostCursor', leaveParents);\n loopInvokeEvent('GotCursor', enterParents);\n\n this.prevCursorItems = newParents;\n //dDocumentEvent.invokeEvent('GotCursor', focusElement, getCursorEvent, 'All', this.docCtx);\n }\n\n /**\n * mousedown-mouseup-click\n */\n private mouseClickHandle(evt: MouseEvent): void {\n if (this.viewOptions.docMode === DocMode.View) {\n return;\n }\n if (this.startHitInfo && this.endHitInfo && this.startHitInfo.element === this.endHitInfo.element) {\n const startElement = this.startHitInfo.render.element as LeafElement;\n const mousedownEvent = new MousedownElementEvent(this.docCtx);\n mousedownEvent.source = startElement;\n DocumentEvent.invokeEvent('ElementClick', startElement, mousedownEvent, \"All\", this.docCtx);\n //this.refreshDocument();\n }\n const { startControl, startOffset, collapsed } = this.selectionState;\n if (collapsed && this.startHitInfo && startControl && this.startHitInfo.element === this.focusedElement) {\n //const { render: { element: endElement }, offset: endElementOffset } = this.endHitInfo;\n //当前焦点元素被拖放\n if (this.focusedElement instanceof PictureElement && this.focusedElement !== startControl) {\n const dropEvent = new DropElementEvent(this.docCtx);\n dropEvent.source = startControl;\n dropEvent.sourceOffset = startOffset;\n dropEvent.dragElement = this.focusedElement;\n if (DocumentEvent.invokeEvent('ElementDrop', startControl, dropEvent, 'All', this.docCtx)) {\n return;\n }\n this.docCtx.docChange.moveElement(startControl, startOffset, this.focusedElement, this.startHitInfo.offset, this.selectionState);\n this.focusedElement.isFocused = false;\n this.focusedElement = null;\n this.focusedRect = null;\n return;\n }\n }\n this.clickEvent.next(evt);\n }\n\n /**\n * 鼠标双击事件\n */\n private mouseDblClickHandle(evt: MouseEvent): void {\n const docEvent = new MouseElementEvent(this.docCtx);\n docEvent.globalX = evt.offsetX;\n docEvent.globalY = evt.offsetY;\n //需要先处理是否开启页眉页脚编辑功能\n const hitRegion = this.getHitRegion(docEvent);\n if ((hitRegion === 'footer' || hitRegion === 'header') && !this.docCtx.document.headerEditState) {\n this.docCtx.document.switchPageHeaderEditor(this.selectionState, null);\n return;\n } else if (hitRegion === 'body' && this.docCtx.document.headerEditState) {\n this.docCtx.document.switchPageHeaderEditor(this.selectionState, null);\n return;\n }\n const hitInfo = this.getHitInfo(docEvent);\n if (hitInfo) {\n docEvent.source = hitInfo.element;\n docEvent.sourceRender = hitInfo.render;\n const res = DocumentEvent.invokeEvent('ElementDblClick', hitInfo.element, docEvent, 'All', this.docCtx);\n if (res) { return }\n this.dblClickEvent.next(evt);\n }\n }\n\n /**\n * 获取点击的渲染元素对象\n * @param renderObject \n * @param parPos \n * @param hitPos \n * @returns \n */\n private getHitLeafRender(renderObject: RenderObject, parPos: Position, hitPos: Position): { render: LeafRenderObject, offset: number, absoluteRenderRect: Rect } | null {\n //处理单元格合并,被合并的单元格当前属于被隐藏状态,不能被选择\n //if (renderObject.element && renderObject.element.visiable === false || renderObject instanceof FillNullSpaceRenderObject) {\n if (!ElementUtil.checkAvailHitRender(renderObject)) {\n return null;\n }\n if (!renderObject.rect) {\n throw new Error('renderObject.rect is null')\n }\n const renderObjectRect: Rect = { x: parPos.x + renderObject.rect.x, y: parPos.y + renderObject.rect.y, width: renderObject.rect.width, height: renderObject.rect.height, maxWidth: 0, maxHeight: 0 };\n if (renderObject instanceof TableRowRenderObject) {\n return this.getTRowHitLeafRender(renderObject, parPos, hitPos);\n }\n if (renderObject instanceof LeafRenderObject) {\n if (CommonUtil.isInsideRectByPosition(renderObjectRect, hitPos)) {\n const x = hitPos.x - renderObjectRect.x;\n const offset = ElementUtil.getHitRenderOffset(renderObject, x);\n return {\n render: renderObject,\n offset,\n absoluteRenderRect: renderObjectRect\n };\n }\n } else if (renderObject instanceof BranchRenderObject) {\n if (CommonUtil.isInsideRectByPosition(renderObjectRect, hitPos)) {\n for (let i = 0; i < renderObject.length; i++) {\n const childRender = renderObject.getChild(i);\n const res = this.getHitLeafRender(childRender, { x: renderObjectRect.x, y: renderObjectRect.y }, hitPos);\n if (res) {\n return res;\n }\n }\n //如果当前范围未击中任何元素,则需要匹配最近的元素\n return this.getRecentHitRender(renderObject, parPos, hitPos);\n }\n } else {\n throw new Error('未实现');\n }\n return null;\n }\n\n\n\n private getTRowHitLeafRender(renderObject: TableRowRenderObject, parent: Position, position: Position): { render: LeafRenderObject, offset: number, absoluteRenderRect: Rect } | null {\n const rowEle = renderObject.element as TableRowElement;\n //跨页重复显示的头行,属于不可点击区域\n //只有表第一页部分可以点击\n if (rowEle.props.headerRow) {\n if (rowEle.paintRenders.indexOf(renderObject) > 0) {\n return null;\n }\n }\n const renderObjectRect: Rect = { x: parent.x + renderObject.rect.x, y: parent.y + renderObject.rect.y, width: renderObject.rect.width, height: renderObject.rect.height, maxWidth: 0, maxHeight: 0 };\n for (let i = 0; i < renderObject.length; i++) {\n const childRender = renderObject.getChild(i);\n const res = this.getHitLeafRender(childRender, { x: renderObjectRect.x, y: renderObjectRect.y }, position);\n if (res) {\n return res;\n }\n }\n return null;\n }\n\n\n /**\n * 如果当前范围未击中任何元素,则需要匹配最近的元素\n * @param renderObject \n * @param parent \n * @param position \n */\n private getRecentHitRender(renderObject: BranchRenderObject, parent: Position, position: Position): { render: LeafRenderObject, offset: number, absoluteRenderRect: Rect } | null {\n const currentRenderPos: Position = { x: renderObject.rect.x + parent.x, y: renderObject.rect.y + parent.y }\n let childRenders = ElementUtil.getAvailHitRenderObjects(renderObject, parent);\n childRenders = childRenders.filter(item => !item.render.disableClick);\n let childrenRenderMap = childRenders.map(item => ({ rect: item.rect, distance: ElementUtil.getDistanceToRect(item.rect, position), render: item.render }))\n //rects = rects.concat(childRenders.map(item => ({ rect: item.rect, distance: ElementUtil.getDistance({ x: item.rect.x + item.rect.width, y: item.rect.y }, position), render: item.render })));\n childrenRenderMap.sort((item1, item2) => item1.distance - item2.distance);\n for (let i = 0; i < childrenRenderMap.length; i++) {\n const adjacentRender = childrenRenderMap[0];\n if (!adjacentRender) {\n break;\n }\n if (adjacentRender.render instanceof BranchRenderObject) {\n const res = this.getRecentHitRender(adjacentRender.render, currentRenderPos, position);\n if (res) {\n return res;\n }\n } else if (adjacentRender.render instanceof LeafRenderObject) {\n let x = 0;\n if (adjacentRender.rect.x > position.x) {\n x = 0;\n } else if (adjacentRender.rect.x + adjacentRender.rect.width < position.x) {\n x = adjacentRender.rect.width;\n } else {\n x = position.x - adjacentRender.rect.x;\n }\n const offset = ElementUtil.getHitRenderOffset(adjacentRender.render, x);\n return {\n render: adjacentRender.render,\n absoluteRenderRect: adjacentRender.rect,\n offset\n };\n }\n }\n return null;\n }\n\n\n\n /**\n * 获取点击的doc-page\n */\n private getHitDocPage(evt: MouseElementEvent): { docRender: DocumentRenderObject, paintAbsoluteRect: Position, hitPagePos: Position, docIndex: number } | null {\n const hitPos: Position = { x: evt.globalX, y: evt.globalY };\n const docContainer = this.documentPaint.getDocContainer();\n let { x, y } = docContainer.rect;\n y -= this.viewOptions.translateY;\n let i = 0;\n for (; i < docContainer.length; i++) {\n const docRender = docContainer.getChild(i) as DocumentRenderObject;\n const docRenderPos: Position = { x: docRender.rect.x + x, y: docRender.rect.y + y };\n if (docRenderPos.y + docRender.rect.height > hitPos.y) {\n break;\n }\n if (docRenderPos.y > hitPos.y) {\n break;\n }\n }\n i = i === docContainer.length ? i - 1 : i;\n const hitDoc = docContainer.getChild(i) as DocumentRenderObject;\n const docPos = { x: hitDoc.rect.x + x, y: hitDoc.rect.y + y };\n const hitPagePos: Position = { x: hitPos.x - docPos.x, y: hitPos.y - docPos.y }\n return {\n docRender: hitDoc,\n paintAbsoluteRect: docPos,\n docIndex: i,\n hitPagePos\n }\n }\n\n /**\n * 触发事件\n * @param type \n * @param sourceElement \n */\n static invokeEvent(type: EventTypes, sourceElement: Element, event: ElementEvent, eventStage: EventStage, docCtx: EditorContext): ElementEvent | null {\n const parents = ElementUtil.getParentElements(sourceElement);\n //先执行捕获阶段,在执行冒泡\n for (let i = parents.length - 1; i > -parents.length; i--) {\n if (i > 1 && (eventStage !== 'Capture' && eventStage !== 'All')) {\n continue;\n }\n if (i <= 0 && (eventStage !== 'Bubbling' && eventStage !== 'All')) {\n continue;\n }\n const child = parents[Math.abs(i)];\n event.currentElement = child;\n event.source = sourceElement;\n const userCapture = i > 0;\n child.invokeEvent(type, event, userCapture);\n if (event.isCancel) {\n return event;\n }\n docCtx.invokeTypeHandler(child, type, event, userCapture);\n if (event.isCancel) {\n return event;\n }\n }\n return null;\n }\n\n\n /**\n * 发布当前的点击信息\n */\n private pubHitInfo(): void {\n this.hitInfoChanged.next({ startHitInfo: this.startHitInfo as HitEventInfo, endHitInfo: this.endHitInfo as HitEventInfo });\n }\n\n /**\n * 获取鼠标所在的渲染元素对象\n * @param renderObject \n * @param parent \n * @param position \n * @returns \n */\n private getMouseoverRender(renderObject: RenderObject, parent: Position, position: Position): { render: RenderObject, absoluteRenderRect: Rect } | null {\n const renderObjectRect: Rect = { x: parent.x + renderObject.rect.x, y: parent.y + renderObject.rect.y, width: renderObject.rect.width, height: renderObject.rect.height, maxWidth: 0, maxHeight: 0 };\n if (renderObject instanceof LeafRenderObject) {\n if (CommonUtil.isInsideRectByPosition(renderObjectRect, position)) {\n return {\n render: renderObject,\n absoluteRenderRect: renderObjectRect\n };\n }\n } else if (renderObject instanceof BranchRenderObject) {\n if (CommonUtil.isInsideRectByPosition(renderObjectRect, position)) {\n //当前为表单元格,但是表格不存在上下padding,\n //则表格上边框和下边框可能会和内容(paragraph)重叠,\n //当前光标在table-render上时,始终无法获取到table-cell-render\n if (renderObject instanceof TableCellRenderObject && (CommonUtil.ApproxmateValueInRange(renderObjectRect.y, 1, position.y) || CommonUtil.ApproxmateValueInRange(renderObjectRect.y + renderObjectRect.height, 1, position.y))) {\n return {\n render: renderObject,\n absoluteRenderRect: renderObjectRect\n }\n }\n for (let i = 0; i < renderObject.length; i++) {\n const childRender = renderObject.getChild(i);\n const res = this.getMouseoverRender(childRender, { x: renderObjectRect.x, y: renderObjectRect.y }, position);\n if (res) {\n return res;\n }\n }\n return {\n render: renderObject,\n absoluteRenderRect: renderObjectRect\n }\n }\n } else {\n throw new Error('未实现');\n }\n return null;\n }\n\n /**\n * 缩放元素\n */\n private resizeRender(e: MouseElementEvent): void {\n if ((<any>this.edgeRenderInfo?.renderElement)['resizeable']) {\n this.resizeElement(e);\n } else if (this.edgeRenderInfo?.renderElement instanceof TableCellElement) {\n this.resizeTableCell();\n }\n }\n\n /**\n * 缩放表格\n */\n private resizeTableCell(): void {\n if (!this.edgeRenderInfo || !this.edgeRenderInfo.mousedownPos) {\n return;\n }\n const cellElement = this.getResizeTableCell();\n const border = this.edgeRenderInfo.border;\n const mousedownPos = this.edgeRenderInfo.mousedownPos;\n const moveDistanceX = this.currentPos.x - mousedownPos.x;\n const moveDistanceY = this.currentPos.y - mousedownPos.y;\n const row = cellElement.parent;\n const table = row?.parent as TableElement;\n if (!row || !table) {\n throw new Error('row | table is null')\n }\n const cellIndex = row.getChildIndex(cellElement);\n let cellWidth = table.getCellWidth(cellIndex);\n const colsCount = table.getColsCount();\n if (['left', 'right'].includes(border)) {\n if (cellIndex === 0 && border === 'left') {\n return;\n }\n let resizeColWidth = 0;\n let resizeColIndex = 0;\n if (border === 'left') {\n resizeColIndex = cellIndex - 1;\n resizeColWidth = table.getCellWidth(resizeColIndex);\n resizeColWidth += moveDistanceX;\n cellWidth -= moveDistanceX;\n } else if (border === 'right') {\n resizeColIndex = cellIndex + 1;\n //移动最后一列时,右侧没有列了,resizeColWidth的值为-1\n resizeColWidth = table.getCellWidth(resizeColIndex);\n if (resizeColWidth > 0) {\n resizeColWidth -= moveDistanceX;\n }\n cellWidth += moveDistanceX;\n }\n if ((resizeColWidth != -1 && resizeColWidth < 20) || cellWidth < 20) {\n return;\n }\n table.setCellWidth(resizeColIndex, resizeColWidth);\n table.setCellWidth(cellIndex, cellWidth);\n this.edgeRenderInfo.mousedownPos = this.currentPos;\n table.pubOnChange('self');\n } else if (['bottom', 'top'].includes(border)) {\n let rowIndex = row.getIndex();\n if (rowIndex === 0 && border === 'top') {\n return;\n }\n //按照移动底边计算\n rowIndex = border === 'top' ? rowIndex - 1 : rowIndex;\n const resizeRowEle = table.getChild(rowIndex) as TableRowElement;\n let resizeRowRender = resizeRowEle.measureRender as TableRowRenderObject;\n if (resizeRowRender.element !== resizeRowEle) {\n console.error('缩放表格行高度出现错误,绘制元素和表格对象不对应')\n return;\n }\n const minHeight = resizeRowEle.props.minHeight ?? 0;\n //当前行不存在最小高度设置,并且缩放高度为负数\n if (minHeight <= 0 && moveDistanceY < 0) {\n return;\n }\n //当前内容高度\n let resizeRowRenderContentHeight = ElementUtil.getTableRowRenderContentHeight(resizeRowRender);\n let resizeRowMinHeight = 0;\n if (minHeight <= 0) {\n resizeRowMinHeight = resizeRowRenderContentHeight + moveDistanceY;\n } else {\n resizeRowMinHeight = minHeight + moveDistanceY;\n }\n //缩放的高度小于内容高度,则重置行最小高度\n if (resizeRowMinHeight <= resizeRowRenderContentHeight) {\n //resizeRowEle.trProps.minHeight = 0;\n resizeRowMinHeight = 0;\n }\n resizeRowEle.props.minHeight = resizeRowMinHeight;\n this.edgeRenderInfo.mousedownPos = this.currentPos;\n table.pubOnChange('self');\n }\n }\n\n private getResizeTableCell(): TableCellElement {\n if (!this.edgeRenderInfo) {\n throw new Error('edgeRenderInfo is null')\n }\n const cellElement = this.edgeRenderInfo.renderElement as TableCellElement;\n const row = cellElement.parent;\n if (!row) {\n throw new Error('row is null')\n }\n const table = row.parent as TableElement;\n const cellIndex = row.getChildIndex(cellElement);\n const border = this.edgeRenderInfo.border;\n if (cellElement.props.hMerge === 'restart' || border === 'right') {\n for (let i = cellIndex + 1; i < table.getColsCount(); i++) {\n const cell = row.getChild(i) as TableCellElement;\n if (cell.props.hMerge !== 'continue') {\n return row.getChild(i - 1) as TableCellElement;\n }\n }\n }\n return cellElement;\n }\n\n /**\n * 调整元素大小\n */\n private resizeElement(e: MouseElementEvent): void {\n if (!this.edgeRenderInfo || !this.edgeRenderInfo.mousedownPos) {\n return;\n }\n const imgElement = <unknown>this.edgeRenderInfo.renderElement as { props: { width: number, height: number } };\n const border = this.edgeRenderInfo.border;\n const mousedownPos = this.edgeRenderInfo.mousedownPos;\n let moveDistanceX = this.currentPos.x - mousedownPos.x;\n let moveDistanceY = this.currentPos.y - mousedownPos.y;\n if (['left-top', 'left-middle', 'left-bottom', 'right-top', 'right-middle', 'right-bottom', 'top-middle', 'bottom-middle'].indexOf(border) >= 0) {\n if (['left-middle', 'right-middle'].indexOf(border) >= 0) {\n moveDistanceY = 0;\n }\n if (['top-middle', 'bottom-middle'].indexOf(border) >= 0) {\n moveDistanceX = 0;\n }\n //shift键按比例缩放\n if (e.shift && ['left-top', 'right-top', 'left-bottom', 'right-bottom'].indexOf(border) >= 0) {\n let scale = 1;\n if (Math.abs(moveDistanceX) > Math.abs(moveDistanceY)) {\n scale = moveDistanceX / imgElement.props.width;\n moveDistanceY = Math.floor(scale * imgElement.props.height);\n } else {\n scale = moveDistanceY / imgElement.props.height;\n moveDistanceX = Math.floor(scale * imgElement.props.width);\n }\n }\n imgElement[\"props\"].width += moveDistanceX;\n imgElement[\"props\"].height += moveDistanceY;\n if (imgElement[\"props\"].width < 10) {\n imgElement[\"props\"].width = 10;\n }\n if (imgElement[\"props\"].height < 10) {\n imgElement[\"props\"].height = 10;\n }\n this.edgeRenderInfo.mousedownPos = this.currentPos;\n }\n\n }\n\n /**\n * 选中当前全部 ctrl+A\n */\n selectAll(): void {\n const { startControl } = this.selectionState;\n const regionTarget = ElementUtil.getElementRegionTarget(startControl);\n if (!startControl || !regionTarget) {\n return;\n }\n const firstLeaf = ElementUtil.getFirstLeafElement(regionTarget.target);\n const lastLeaf = ElementUtil.getLastLeafElement(regionTarget.target);\n if (!firstLeaf || !lastLeaf) {\n throw new Error('firstLeaf or lastLeaf is null')\n }\n this.selectionState.clear();\n const newSelectionRange = new SelectionRange();\n newSelectionRange.setStart(firstLeaf, 0);\n newSelectionRange.setEnd(lastLeaf, -1);\n this.selectionState.addRange(newSelectionRange);\n //const doc=\n }\n\n\n /**\n * 移动光标到行首\n */\n moveCursorToLineStart(): void {\n this.moveCursorToHomeOrEnd();\n }\n\n /**\n * 移动光标到行尾\n */\n moveCursorToLineEnd(): void {\n this.moveCursorToHomeOrEnd(false);\n }\n\n /**\n * 处理移动光标到行尾或行首\n * @param home \n * @returns \n */\n private moveCursorToHomeOrEnd(home: boolean = true): void {\n const { startControl } = this.selectionState;\n if (!startControl || !this.docCtx.cursorRect) {\n return;\n }\n const rect = this.docCtx.cursorRect;\n const docEvent = new MouseElementEvent(this.docCtx);\n docEvent.globalX = rect.x;\n docEvent.globalY = rect.y + rect.height / 2;\n docEvent.buttons = 1;\n const hitInfo = this.getHitInfo(docEvent);\n if (!hitInfo) {\n return;\n }\n const paraRender = ElementUtil.getParentRender(hitInfo.render, ParagraphLineRectRenderObject) as ParagraphLineRectRenderObject\n const linePosRect = ElementUtil.getRenderAbsolutePaintRect(paraRender)\n docEvent.globalX = linePosRect.x + (home ? 0 : linePosRect.width);\n docEvent.globalY = linePosRect.y + linePosRect.height / 2;\n this.mousedownPos = { x: docEvent.globalX, y: docEvent.globalY };\n this.mousedownHandle(docEvent);\n this.ismousedown = false;\n this.edgeRenderInfo = null;\n }\n\n\n /**\n * 向左移动光标\n */\n moveCursorToLeft(): void {\n const { startControl, startOffset } = this.selectionState;\n if (startOffset === 0) {\n const oldRegion = ElementUtil.getElementRegion(startControl);\n const prevEle = ElementUtil.getRecursionPrevSiblingElement(startControl, false, true);\n if (prevEle) {\n const newRegion = ElementUtil.getElementRegion(prevEle);\n if (newRegion !== oldRegion) {\n return;\n }\n this.selectionState.resetRange(prevEle, -1);\n return;\n }\n } else {\n if (startControl instanceof TextGroupElement) {\n this.selectionState.resetRange(startControl, startOffset - 1);\n } else {\n this.selectionState.resetRange(startControl, 0);\n }\n }\n }\n\n /**\n * 向右移动光标\n */\n moveCursorToRight(): void {\n const { startControl, startOffset } = this.selectionState;\n if (this.isLeafEleEndOffset(startControl, startOffset)) {\n const oldRegion = ElementUtil.getElementRegion(startControl);\n const nextEle = ElementUtil.getRecursionNextSiblingElement(startControl, false, true);\n if (nextEle) {\n const newRegion = ElementUtil.getElementRegion(nextEle);\n if (oldRegion !== newRegion) {\n return;\n }\n this.selectionState.resetRange(nextEle, 0);\n return;\n }\n } else {\n if (startControl instanceof TextGroupElement) {\n this.selectionState.resetRange(startControl, startOffset + 1);\n } else {\n this.selectionState.resetRange(startControl, 1);\n }\n }\n }\n\n /**\n * 向上移动光标\n */\n moveCursorToUpOrDown(up: boolean = true): void {\n if (!this.selectionState.cursorPos) {\n return;\n }\n let { x, y } = this.selectionState.cursorPos;\n y -= this.viewOptions.translateY;\n for (let i = 0; i < 50; i++) {\n const docEvent = new MouseElementEvent(this.docCtx);\n docEvent.globalX = x;\n docEvent.globalY = y - (up ? i * 2 : i * -2);\n docEvent.buttons = 1;\n const hitInfo = this.getHitInfo(docEvent);\n const res = hitInfo?.element === this.selectionState.startControl && hitInfo.offset === this.selectionState.startOffset;\n if (!hitInfo) {\n return;\n }\n if (!res) {\n this.mousedownPos = { x: x, y: y };\n this.mousedownHandle(docEvent);\n this.ismousedown = false;\n this.edgeRenderInfo = null;\n return;\n }\n }\n }\n\n\n /**\n * 当前偏移量是否处于当前元素的末尾\n * @param ele \n * @param offset \n * @returns \n */\n private isLeafEleEndOffset(ele: LeafElement, offset: number): boolean {\n if (ele instanceof TextGroupElement) {\n return ele.textMeasures.length === offset;\n } else {\n if (ele instanceof PSymbolElement) {\n return true;\n } else {\n return offset === 1;\n }\n }\n }\n\n /**\n * 获取点击的文档区域\n * @param docRender \n * @param pos \n * @returns \n */\n getHitRegion(docEvent: MouseElementEvent): HitRegion | null {\n const hitDocInfo = this.getHitDocPage(docEvent);\n if (!hitDocInfo) {\n return null;\n }\n const { docRender, hitPagePos } = hitDocInfo;\n const headerRender = ElementUtil.findChildRender(docRender, (item) => item instanceof DocumentHeaderRenderObject) as DocumentHeaderRenderObject;\n const footerRender = ElementUtil.findChildRender(docRender, (item) => item instanceof DocumentFooterRenderObject) as DocumentFooterRenderObject;\n if (!headerRender) {\n throw new Error('header is null');\n }\n if (!footerRender) {\n throw new Error('footer is null');\n }\n const headerLine = headerRender.rect.y + headerRender.rect.height;\n const footerLine = footerRender.rect.y;\n if (hitPagePos.y <= headerLine) {\n return 'header';\n } else if (hitPagePos.y <= footerLine) {\n return 'body';\n } else if (hitPagePos.y > footerLine && hitPagePos.y < docRender.rect.height) {\n return 'footer';\n } else {\n return null;\n }\n }\n\n}\n\n\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"document-history.js","sourceRoot":"","sources":["../../src/med_editor/framework/document-history.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAMvD;;GAEG;AACH,MAAM,OAAO,eAAe;IAEL;IAA8B;IADjD,IAAI,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACxC,YAAmB,MAAqB,EAAS,MAAqB,EAAE,iBAAgC;QAArF,WAAM,GAAN,MAAM,CAAe;QAAS,WAAM,GAAN,MAAM,CAAe;QAClE,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;YACxG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;oBAC7D,OAAO;iBACV;gBACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC/B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IACO,UAAU,GAA0B,EAAE,CAAC;IACvC,MAAM,GAAW,CAAC,CAAC,CAAC;IAC5B,SAAS,GAAW,EAAE,CAAC;IACvB,mBAAmB;QACf,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAC3C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;SAC3B;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC1F,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACjB,OAAO;YACP,IAAI,EAAE,IAAI,IAAI,EAAE;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;SAC1D;IACL,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;SAC1D;IACL,CAAC;IAED,KAAK;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC/B,CAAC;CAEJ"}
1
+ {"version":3,"file":"document-history.js","sourceRoot":"lib/","sources":["framework/document-history.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAMvD;;GAEG;AACH,MAAM,OAAO,eAAe;IAEL;IAA8B;IADjD,IAAI,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACxC,YAAmB,MAAqB,EAAS,MAAqB,EAAE,iBAAgC;QAArF,WAAM,GAAN,MAAM,CAAe;QAAS,WAAM,GAAN,MAAM,CAAe;QAClE,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;YACxG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;oBAC7D,OAAO;iBACV;gBACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC/B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IACO,UAAU,GAA0B,EAAE,CAAC;IACvC,MAAM,GAAW,CAAC,CAAC,CAAC;IAC5B,SAAS,GAAW,EAAE,CAAC;IACvB,mBAAmB;QACf,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAC3C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;SAC3B;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC1F,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACjB,OAAO;YACP,IAAI,EAAE,IAAI,IAAI,EAAE;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;SAC1D;IACL,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;SAC1D;IACL,CAAC;IAED,KAAK;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC/B,CAAC;CAEJ","sourcesContent":["import { read } from \"fs\";\nimport { Subject } from \"rxjs\";\nimport { debounceTime, filter } from 'rxjs/operators'\nimport { EditorContext } from \"./document-context\";\nimport { ElementReader } from \"./element-reader\";\nimport { ElementSerialize } from \"./element-serialize\";\n\nexport interface DocumentHistoryItem {\n content: any,\n time: Date\n}\n/**\n * 支持文档重做和撤销的类 \n */\nexport class DocumentHistory {\n task: Promise<void> = Promise.resolve();\n constructor(public docCtx: EditorContext, public reader: ElementReader, onDocChangedEvent: Subject<void>) {\n onDocChangedEvent.pipe(filter(() => this.docCtx.viewOptions.enableUndo), debounceTime(1500)).subscribe(() => {\n this.task.then(() => {\n if (!this.docCtx.viewOptions.enableUndo || !this.docCtx.isDirty) {\n return;\n }\n this.generateHistoryItem();\n });\n });\n }\n private _undoStack: DocumentHistoryItem[] = [];\n private _index: number = -1;\n maxLength: number = 50;\n generateHistoryItem(): void {\n console.log('生成历史记录');\n if (this.maxLength === this._undoStack.length) {\n this._undoStack.shift();\n }\n this._undoStack.splice(this._index + 1, this._undoStack.length - this._index - 1);\n const content = ElementSerialize.serialize(this.docCtx.document, this.docCtx.viewOptions);\n this._undoStack.push({\n content,\n time: new Date()\n });\n this._index++;\n }\n\n get index() {\n return this._index;\n }\n\n get canUndo() {\n return this._index > 0;\n }\n\n get canRedo() {\n return this._index < this._undoStack.length - 1;\n }\n\n undo() {\n if (this.canUndo) {\n this._index--;\n this.reader.read(this._undoStack[this._index].content);\n }\n }\n\n redo() {\n if (this.canRedo) {\n this._index++;\n this.reader.read(this._undoStack[this._index].content);\n }\n }\n\n clear() {\n this._undoStack = [];\n this._index = -1;\n this.generateHistoryItem();\n }\n\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"document-images-loader.js","sourceRoot":"","sources":["../../src/med_editor/framework/document-images-loader.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,oBAAoB;IAC7B,MAAM,GAA2B,EAAE,CAAC;IAEpC,KAAK;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,GAAW,EAAE,UAA2C;QAC9D,IAAI,CAAC,GAAG,EAAE;YACN,OAAO;SACV;QACD,gBAAgB;QAChB,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAC3D,IAAI,SAAS,EAAE;YACX,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI,EAAE;gBAC/B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAClC;iBAAM;gBACH,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;aACpC;YACD,OAAO;SACV;QACD,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;QACd,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACnE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAoB;YAC7B,GAAG;YACH,GAAG;YACH,GAAG,EAAE,CAAC,UAAU,CAAC;YACjB,UAAU,EAAE,IAAI;YAChB,IAAI;SACP,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzB,uDAAuD;QACvD,qEAAqE;QACrE,kEAAkE;QAClE,IAAI;IACR,CAAC;IAED,aAAa,CAAC,GAAW,EAAE,MAAqB;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QACvD,IAAI,GAAG,EAAE;YACL,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC;YACxB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;SACrC;IACL,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAGD,QAAQ,CAAC,GAAW;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QACvD,OAAO,GAAG,EAAE,GAAG,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,mBAAmB;QACf,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,OAAO,IAAI,CAAC;SACf;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;IACtF,CAAC;CACJ"}
1
+ {"version":3,"file":"document-images-loader.js","sourceRoot":"lib/","sources":["framework/document-images-loader.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,oBAAoB;IAC7B,MAAM,GAA2B,EAAE,CAAC;IAEpC,KAAK;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,GAAW,EAAE,UAA2C;QAC9D,IAAI,CAAC,GAAG,EAAE;YACN,OAAO;SACV;QACD,gBAAgB;QAChB,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAC3D,IAAI,SAAS,EAAE;YACX,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI,EAAE;gBAC/B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAClC;iBAAM;gBACH,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;aACpC;YACD,OAAO;SACV;QACD,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;QACd,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACnE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAoB;YAC7B,GAAG;YACH,GAAG;YACH,GAAG,EAAE,CAAC,UAAU,CAAC;YACjB,UAAU,EAAE,IAAI;YAChB,IAAI;SACP,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzB,uDAAuD;QACvD,qEAAqE;QACrE,kEAAkE;QAClE,IAAI;IACR,CAAC;IAED,aAAa,CAAC,GAAW,EAAE,MAAqB;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QACvD,IAAI,GAAG,EAAE;YACL,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC;YACxB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;SACrC;IACL,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAGD,QAAQ,CAAC,GAAW;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QACvD,OAAO,GAAG,EAAE,GAAG,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,mBAAmB;QACf,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,OAAO,IAAI,CAAC;SACf;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;IACtF,CAAC;CACJ","sourcesContent":["import { IImageLoader, ImageSourceItem } from \"./document-context\";\nimport { ImgLoadStatus } from \"./element-define\";\n\nexport class DocumentImagesLoader implements IImageLoader {\n images: Array<ImageSourceItem> = [];\n\n clear(): void {\n this.images.length = 0;\n }\n\n loadImage(src: string, onCallback: (status: ImgLoadStatus) => void): void {\n if (!src) {\n return;\n }\n //已经存在的资源不需要重新加载\n let matchItem = this.images.find(item => item.src === src);\n if (matchItem) {\n if (matchItem.loadStatus === 'no') {\n matchItem.cbs.push(onCallback);\n } else {\n onCallback(matchItem.loadStatus);\n }\n return;\n }\n const ele = new Image();\n ele.src = src;\n const task = new Promise<void>((r, i) => {\n ele.onload = (e) => { this.invokeImgLoad(src, 'completed'); r(); };\n ele.onerror = (e) => { this.invokeImgLoad(src, 'error'); r(); };\n });\n const imgItem: ImageSourceItem = {\n ele,\n src,\n cbs: [onCallback],\n loadStatus: 'no',\n task\n };\n this.images.push(imgItem)\n // if (this.viewOptions.resourceMode === 'immediate') {\n // ele.onload = (e) => { this.invokeImgLoad(src, 'completed'); };\n // ele.onerror = (e) => { this.invokeImgLoad(src, 'error'); };\n // }\n }\n\n invokeImgLoad(src: string, status: ImgLoadStatus): void {\n const img = this.images.find(item => item.src === src);\n if (img) {\n img.loadStatus = status;\n img.cbs.forEach(cb => cb(status));\n }\n }\n\n getLoadTasks(): Array<Promise<void>> {\n return this.images.map(item => item.task);\n }\n\n\n getImage(src: string): HTMLImageElement | undefined {\n const img = this.images.find(item => item.src === src);\n return img?.ele;\n }\n\n /**\n * 判断图片是否都已经加载完毕\n * 用于打印时判断,如果当前图片没有加载完毕就打印,图片是打印不出来\n * @returns \n */\n imagesLoadCompleted(): boolean {\n if (this.images.length === 0) {\n return true;\n }\n return this.images.every(item => ['completed', 'error'].includes(item.loadStatus))\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"document-input-cursor.js","sourceRoot":"","sources":["../../src/med_editor/framework/document-input-cursor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-input-cursor.js","sourceRoot":"lib/","sources":["framework/document-input-cursor.ts"],"names":[],"mappings":"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","sourcesContent":["import { fromEvent, Subject } from \"rxjs\";\nimport { LeafElement } from \"./element-define\";\nimport { KeyboradElementEvent } from \"./element-event-define\";\nimport { DocumentEvent } from \"./document-event\";\nimport { EditorContext } from \"./document-context\";\n\nexport interface ICompositionStartInfo {\n element: LeafElement, offset: number\n}\nexport interface InputData {\n composition?: boolean;\n //开启输入法后的光标的起点位置\n compositionStartInfo?: ICompositionStartInfo;\n //输入法之前输入的内容\n prevInputData?: string;\n data: string\n}\n\n/**\n * 输入处理\n */\nexport class DocumentInput {\n /**\n * 光标是否可见\n */\n private _cursorVisibility = false;\n /**\n * 光标闪烁状态\n */\n private _cursorBlinksState = false;\n private cursorBlinksIntervalID: any;\n //是否是开启输入法了\n private compositionStart = false;\n //开启输入法后输入的文字\n private compositionPrevData!: string;\n //开启输入法后的的元素\n private compositionStartInfo!: ICompositionStartInfo | null;\n //输入内容事件\n onInputEvent: Subject<InputData> = new Subject();\n //backspace 键盘事件\n onBackspaceEvent: Subject<KeyboardEvent> = new Subject();\n //delete 键盘事件\n onDeleteEvent: Subject<KeyboardEvent> = new Subject();\n //enter 键盘事件\n onEnterEvent: Subject<void> = new Subject();\n //左键\n onLeftEvent: Subject<void> = new Subject();\n //右键\n onRightEvent: Subject<void> = new Subject();\n //复制\n onCopyEvent: Subject<ClipboardEvent> = new Subject();\n //剪切\n onCutEvent: Subject<ClipboardEvent> = new Subject();\n //粘贴\n onPasteEvent: Subject<ClipboardEvent> = new Subject();\n //插入换行符\n onInsertBr: Subject<void> = new Subject();\n //ctrl+A 全选事件\n onSelectAllEvent: Subject<void> = new Subject();\n //home 事件\n onHomeEvent: Subject<void> = new Subject();\n //end 事件\n onEndEvent: Subject<void> = new Subject();\n onUpEvent: Subject<void> = new Subject();\n onDownEvent: Subject<void> = new Subject();\n constructor(private editInput: HTMLInputElement, private editCursor: HTMLSpanElement, private cursorWrapper: HTMLDivElement, private docCtx: EditorContext) {\n this.startCursorBlinks();\n fromEvent(this.editInput, 'blur').subscribe(() => {\n this._cursorVisibility = false;\n //console.log('输入框 blur');\n })\n fromEvent(this.editInput, 'focus').subscribe(() => {\n //console.log('输入框 focus');\n })\n fromEvent(this.editInput, 'input').subscribe(() => {\n if (this.compositionStart) {\n return;\n }\n if (!this.editInput.value) {\n return;\n }\n //console.log('输入文字了');\n if (!this.compositionStart) {\n const { startControl, startOffset } = this.docCtx.selectionState;\n this.onInputEvent.next({\n data: this.editInput.value, prevInputData: '', compositionStartInfo: {\n element: startControl as LeafElement,\n offset: startOffset\n }\n });\n this.editInput.value = '';\n }\n })\n fromEvent<CompositionEvent>(this.editInput, 'compositionstart').subscribe((evt) => {\n this.compositionStart = true;\n this.compositionPrevData = '';\n const { startControl, startOffset } = this.docCtx.selectionState;\n //console.log('输入法开始');\n this.compositionStartInfo = {\n element: startControl as LeafElement,\n offset: startOffset\n };\n });\n fromEvent<CompositionEvent>(this.editInput, 'compositionupdate').subscribe((evt) => {\n if (evt.data === this.compositionPrevData) {\n return;\n }\n //console.log('输入了:' + evt.data);\n this.onInputEvent.next({\n data: evt.data,\n compositionStartInfo: this.compositionStartInfo as ICompositionStartInfo,\n composition: true,\n prevInputData: this.compositionPrevData\n });\n this.compositionPrevData = evt.data;\n });\n fromEvent<CompositionEvent>(this.editInput, 'compositionend').subscribe((evt) => {\n //console.log('compositionend')\n this.compositionStart = false;\n this.editInput.value = \"\";\n this.compositionPrevData = '';\n // this.onInputEvent.next({\n // data: evt.data,\n // compositionStartOffset: this.compositionStartOffset,\n // compositionRecordContent: this.compositionRecordContent\n // });\n // this.onInputEvent.next({\n // data: evt.data,\n // compositionStartInfo: this.compositionStartInfo,\n // composition: true,\n // prevInputData: ''\n // });\n this.compositionStartInfo = null;\n //this.compositionRecordContent = '';\n });\n fromEvent<KeyboardEvent>(this.editInput, 'keydown').subscribe((evt) => {\n const keyEvent = new KeyboradElementEvent(this.docCtx);\n keyEvent.sourceEvent = evt;\n if (DocumentEvent.invokeEvent('ElementKeyDown', this.docCtx.selectionState.startControl as LeafElement, keyEvent, 'Capture', this.docCtx)) {\n return;\n }\n if (evt.keyCode === 8) {\n this.onBackspaceEvent.next(evt);\n } else if (evt.keyCode === 13 && !evt.shiftKey) {\n this.onEnterEvent.next();\n } else if (evt.keyCode === 37) {\n this.onLeftEvent.next();\n } else if (evt.keyCode === 39) {\n this.onRightEvent.next();\n } else if (evt.keyCode === 38) {\n this.onUpEvent.next();\n } else if (evt.keyCode === 40) {\n this.onDownEvent.next();\n }\n else if (evt.keyCode === 9) {\n evt.preventDefault();\n } else if (evt.keyCode === 13 && evt.shiftKey) {\n evt.preventDefault();\n this.onInsertBr.next();\n } else if (evt.keyCode === 46) {\n this.onDeleteEvent.next(evt);\n } else if (evt.ctrlKey && evt.keyCode === 65) {\n evt.preventDefault();\n this.onSelectAllEvent.next();\n } else if (evt.keyCode === 36) {\n this.onHomeEvent.next();\n }\n else if (evt.keyCode === 35) {\n this.onEndEvent.next();\n }\n });\n fromEvent<ClipboardEvent>(this.editInput, \"copy\").subscribe(evt => {\n this.onCopyEvent.next(evt);\n });\n fromEvent<ClipboardEvent>(this.editInput, \"paste\").subscribe(evt => {\n this.onPasteEvent.next(evt);\n });\n fromEvent<ClipboardEvent>(this.editInput, \"cut\").subscribe(evt => {\n this.onCutEvent.next(evt);\n });\n }\n\n\n\n /**\n * 设置光标闪烁\n */\n startCursorBlinks() {\n // this.cursorBlinksIntervalID = setInterval(() => {\n // //this.setCursorBlinks();\n // }, 500);\n }\n\n destroy(): void {\n clearInterval(this.cursorBlinksIntervalID);\n }\n\n /**\n * 设置光标闪烁\n */\n setCursorBlinks() {\n this.editCursor.style.background = this._cursorBlinksState ? 'transparent' : 'black';\n this._cursorBlinksState = !this._cursorBlinksState;\n }\n\n /**\n * 设置光标位置\n * @param position\n */\n setCursorPosition(position: { x: number; y: number; height: number; }) {\n this.cursorWrapper.style.left = position.x + 'px';\n this.cursorWrapper.style.top = position.y + 'px';\n this.cursorWrapper.style.height = position.height + 'px';\n this.setCursorVisibility(true);\n //this.setCursorInputStatus();\n }\n\n /**\n * 设置虚拟光标的可见性\n * @param visibility\n */\n setCursorVisibility(visibility: boolean) {\n this.cursorWrapper.style.display = visibility ? 'block' : 'none';\n if (visibility) {\n this.setInputFocus(true);\n }\n }\n\n /**\n * 设置输入状态\n * @param focus \n */\n setInputFocus(focus: boolean): void {\n if (focus) {\n this.editInput.readOnly = false;\n this.editInput.focus();\n\n } else {\n //this.editInput.blur();\n this.editInput.readOnly = true;\n this.docCtx.selectionState.cursorPos = null;\n }\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"document-paint.js","sourceRoot":"","sources":["../../src/med_editor/framework/document-paint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-paint.js","sourceRoot":"lib/","sources":["framework/document-paint.ts"],"names":[],"mappings":"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","sourcesContent":["import { ElementMeasure } from \"./element-measure\";\nimport { ElementPaint } from \"./element-paint\";\nimport { ElementRenderCut } from \"./element-render-cut\";\nimport { DocumentRenderObject } from \"./impl/document/doc-impl\";\nimport { RenderContenxtType } from \"./render-context\";\nimport { Element, SelectionContentRange, ViewOptions } from \"./element-define\";\nimport { DocumentContainerRender } from \"./impl/document/doc-container-impl\";\nimport { ElementUtil } from \"./element-util\";\nimport { DocumentSelection } from \"./document-selection\";\nimport { CommsContainerRenderObject } from \"./impl/comments/comments-container-impl\";\nimport { RangeUtil } from \"./range-util\";\nimport { SelectionOverlays } from \"./selection-overlays\";\nimport { EditorContext } from \"./document-context\";\nimport { CommContentElement, CommentRangeStatus } from \"./impl/comments/comment-content-impl\";\n\nexport class DocumentPaint {\n elementMeasure: ElementMeasure;\n elementRenderCut: ElementRenderCut;\n elementPaint: ElementPaint;\n docPages!: Array<DocumentRenderObject>;\n docContainer!: DocumentContainerRender;\n commsContainer!: CommsContainerRenderObject;\n constructor(private viewOptions: ViewOptions, private renderContext: RenderContenxtType, private docCtx: EditorContext, private selectedSets: Map<Element, SelectionContentRange>) {\n this.elementMeasure = new ElementMeasure(this.viewOptions, this.renderContext);\n this.elementRenderCut = new ElementRenderCut(this.viewOptions, this.renderContext);\n this.elementPaint = new ElementPaint(this.viewOptions, this.renderContext);\n }\n\n rePages(): void {\n // const destroyItems = [this.docContainer, this.commsContainer];\n // destroyItems.forEach(item => item?.destroy())\n //Promise.resolve().then(() => { destroyItems.forEach(item => item?.destroy()) });\n if (!this.docCtx.document.length) {\n return;\n }\n this.docContainer = new DocumentContainerRender();\n this.docCtx.selectionState.renderContainer = this.docContainer;\n this.docContainer.rect.width = this.viewOptions.docPageSettings.width;\n // console.time('排版计时');\n const documentRender = this.elementMeasure.measureDocument(this.docCtx.document);\n this.commsContainer = documentRender.getChild(3) as CommsContainerRenderObject;\n if (this.commsContainer) {\n this.commsContainer = this.commsContainer.clone() as CommsContainerRenderObject;\n }\n //console.timeEnd('排版计时');\n //console.time('断页计时');\n const docPages = this.elementRenderCut.cutPage(documentRender, this.docCtx.document);\n //console.timeEnd('断页计时');\n this.docContainer.addPages(docPages);\n ElementUtil.remeasure(this.docContainer);\n this.setCommRangeMark();\n this.docPages = docPages;\n\n\n }\n\n /**\n * 获取设置文档容器的总高度\n */\n getDocumentContainerHeight(): number {\n if (this.docPages.length > 0) {\n const lastPage = this.docPages[this.docPages.length - 1];\n const lastPageY = lastPage.rect.y + lastPage.rect.height + this.viewOptions.docSpace;\n return lastPageY + (this.viewOptions.viewSettings.height * (this.viewOptions.scale - 1));\n }\n else {\n return 0;\n }\n }\n\n refreshView(rePaint = false): void {\n //console.time('计时');\n this.elementPaint.drawPages(this.docContainer, this.selectedSets, this.commsContainer, rePaint);\n //console.timeEnd('计时');\n\n }\n\n getDocPages(): Array<DocumentRenderObject> {\n return this.docPages;\n }\n\n getDocContainer(): DocumentContainerRender {\n return this.docContainer;\n }\n\n /***\n * 设置审阅区间样式痕迹\n */\n setCommRangeMark(): void {\n if (!this.viewOptions.showReviewWindow) {\n return;\n }\n const cce = this.docCtx.document.commentsContainerElement;\n const set = new Map<Element, SelectionContentRange>();\n const commentRangeStatus: Array<CommentRangeStatus> = [];\n for (let i = 0; i < cce.length; i++) {\n const commContent = cce.getChild(i) as CommContentElement;\n const { startMark, endMark, props: { id }, focus } = commContent;\n const ancestorCommonControl = DocumentSelection.getAncestorCommonControl(startMark, endMark);\n const commonRange = RangeUtil.getSelctionRange(startMark, 0, endMark, 1, ancestorCommonControl);\n SelectionOverlays.addToCommentSets(commonRange, set);\n commentRangeStatus.push({\n commContent,\n range: commonRange\n })\n }\n this.commsContainer.selectedSet = set;\n this.commsContainer.commentRangeStatus = commentRangeStatus;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"document-print-offscreen.js","sourceRoot":"","sources":["../../src/med_editor/framework/document-print-offscreen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-print-offscreen.js","sourceRoot":"lib/","sources":["framework/document-print-offscreen.ts"],"names":[],"mappings":"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","sourcesContent":["import { EditorContext } from \"./document-context\";\nimport { DocumentPaint } from \"./document-paint\";\nimport { exportCanvasToPDF, printNodes } from \"./document-print\";\nimport { SelectionState } from \"./document-selection\";\nimport { ViewOptions } from \"./element-define\";\nimport { ElementPaint } from \"./element-paint\";\nimport { ElementReader } from \"./element-reader\";\nimport { ElementUtil } from \"./element-util\";\nimport { DocumentElement, DocumentRenderObject } from \"./impl/document/doc-impl\";\nimport { RenderContenxt, RenderContenxtType } from \"./render-context\";\n\n/**\n * 离屏打印\n */\nexport class DocumentPrintOffscreen {\n documentPaint: DocumentPaint;\n viewOptions: ViewOptions;\n docCtx: EditorContext;\n renderCtx: RenderContenxt;\n elementReader: ElementReader;\n ctx: CanvasRenderingContext2D;\n constructor() {\n this.viewOptions = new ViewOptions();\n this.viewOptions.copyRightInfo = '万达信息电子病历编辑器,www.wondersgroup.com';\n this.viewOptions.showCharRect = true;\n this.viewOptions.drawCharRectColor = 'green';\n this.viewOptions.showLineRect = true;\n this.viewOptions.docSpace = 20;\n this.viewOptions.reviewWindowWidth = 200;\n this.viewOptions.mmToPixelsRatio = 3.7795001220703126;\n //整个画布的尺寸\n this.viewOptions.viewSettings = {\n width: 1000,\n height: 800\n };\n this.viewOptions.editUser = {\n id: '6666',\n name: '管理员'\n };\n const canvas = document.createElement('canvas');\n this.ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n const ss = new SelectionState();\n this.docCtx = new EditorContext(ss, this.viewOptions);\n this.renderCtx = new RenderContenxt(this.ctx, this.viewOptions, this.docCtx);\n this.documentPaint = new DocumentPaint(this.viewOptions, this.renderCtx, this.docCtx, new Map());\n this.elementReader = new ElementReader(this.docCtx, this.viewOptions, this.renderCtx);\n this.docCtx.syncRefresh = () => {\n };\n }\n async print(data: any | DocumentElement, ranges: Array<number> | null = null): Promise<void> {\n await this.prepare(data);\n const canvasNodes = this.getCanvasNodes(this.documentPaint.docPages, ranges);\n if (!canvasNodes.length) {\n console.warn('无可打印页')\n return;\n }\n const docProps = this.docCtx.document.props;\n printNodes(canvasNodes, { ...docProps });\n }\n\n /**\n * 导出PDF\n * @param fileName\n * @param ss\n * @param viewOptions\n * @param docCtx\n * @param ranges\n */\n async exportToPDF(data: any | DocumentElement, fileName: string, ranges: Array<number> | null = null): Promise<void> {\n await this.prepare(data);\n const canvasNodes = this.getCanvasNodes(this.documentPaint.docPages, ranges);\n if (!canvasNodes.length) {\n console.warn('无可导出页')\n return;\n }\n exportCanvasToPDF(fileName, canvasNodes, this.docCtx.document.props);\n }\n\n\n /**\n * 获取绘制的图片,格式为Base64编码\n */\n async getImagesContent(data: any | DocumentElement, ranges: Array<number> | null = null): Promise<Array<string>> {\n await this.prepare(data);\n const canvasNodes = this.getCanvasNodes(this.documentPaint.docPages, ranges);\n if (!canvasNodes.length) {\n console.warn('无可导出页')\n return [];\n }\n return canvasNodes.map(node => node.toDataURL());\n }\n\n /**\n * 读取数据,排版\n * @param data\n */\n private async prepare(data: any | DocumentElement,): Promise<void> {\n this.elementReader.read(data);\n this.documentPaint.rePages();\n await Promise.all(this.docCtx.imageLoader.getLoadTasks());\n this.renderCtx.setCanvasProps(this.viewOptions.docPageSettings);\n }\n\n private getCanvasNodes(printPages: Array<DocumentRenderObject>, printRanges: Array<number> | null = null): Array<HTMLCanvasElement> {\n const { width, height } = this.viewOptions.docPageSettings;\n const canvasList: Array<HTMLCanvasElement> = [];\n for (let i = 0; i < printPages.length; i++) {\n if (printRanges && printRanges.indexOf(i) === -1) {\n continue;\n }\n const canvasNode = document.createElement('canvas');\n canvasNode.style.cursor = 'text';\n canvasNode.style.width = width + 'px';\n canvasNode.style.height = height + 'px';\n const ctx = canvasNode.getContext('2d') as CanvasRenderingContext2D;\n ElementUtil.setCanvasProps(canvasNode, ctx, this.viewOptions.docPageSettings);\n const renderCtx = new RenderContenxt(ctx, this.viewOptions, this.docCtx);\n renderCtx.setCanvasProps(this.viewOptions.docPageSettings);\n renderCtx.drawMode = 'print';\n const doc = printPages[i];\n const tmp = ElementUtil.cloneRect(doc.rect);\n doc.rect.x = 0;\n doc.rect.y = 0;\n ElementPaint.drawPage(renderCtx, doc, { x: 0, y: 0 });\n renderCtx.overlaysContext.clear();\n renderCtx.mainCtx.fillStyle = 'white';\n renderCtx.mainCtx.fillRect(0, 0, width, height);\n renderCtx.commit(this.viewOptions.docPageSettings);\n doc.rect = tmp;\n canvasList.push(canvasNode);\n }\n return canvasList;\n }\n}\n"]}