@hailin-zheng/editor-core 1.0.14 → 1.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1613 -0
- package/lib/doc-ruler.js +1 -1
- package/lib/doc-ruler.js.map +1 -1
- package/lib/framework/common-util.js +1 -1
- package/lib/framework/common-util.js.map +1 -1
- package/lib/framework/document-change.js +1 -1
- package/lib/framework/document-change.js.map +1 -1
- package/lib/framework/document-combine.js +1 -1
- package/lib/framework/document-combine.js.map +1 -1
- package/lib/framework/document-comment.js +1 -1
- package/lib/framework/document-comment.js.map +1 -1
- package/lib/framework/document-context.js +1 -1
- package/lib/framework/document-context.js.map +1 -1
- package/lib/framework/document-eval-func.js +1 -1
- package/lib/framework/document-eval-func.js.map +1 -1
- package/lib/framework/document-event.js +1 -1
- package/lib/framework/document-event.js.map +1 -1
- package/lib/framework/document-history.js +1 -1
- package/lib/framework/document-history.js.map +1 -1
- package/lib/framework/document-images-loader.js +1 -1
- package/lib/framework/document-images-loader.js.map +1 -1
- package/lib/framework/document-input-cursor.js +1 -1
- package/lib/framework/document-input-cursor.js.map +1 -1
- package/lib/framework/document-paint.js +1 -1
- package/lib/framework/document-paint.js.map +1 -1
- package/lib/framework/document-print-offscreen.js +1 -1
- package/lib/framework/document-print-offscreen.js.map +1 -1
- package/lib/framework/document-print.js +1 -1
- package/lib/framework/document-print.js.map +1 -1
- package/lib/framework/document-segmenter.js +1 -1
- package/lib/framework/document-segmenter.js.map +1 -1
- package/lib/framework/document-selection.js +1 -1
- package/lib/framework/document-selection.js.map +1 -1
- package/lib/framework/document-template.js +1 -1
- package/lib/framework/document-template.js.map +1 -1
- package/lib/framework/document-textline-mode.js +1 -1
- package/lib/framework/document-textline-mode.js.map +1 -1
- package/lib/framework/element-define.js +1 -1
- package/lib/framework/element-define.js.map +1 -1
- package/lib/framework/element-event-define.js +1 -1
- package/lib/framework/element-event-define.js.map +1 -1
- package/lib/framework/element-measure.js +1 -1
- package/lib/framework/element-measure.js.map +1 -1
- package/lib/framework/element-paint.js +1 -1
- package/lib/framework/element-paint.js.map +1 -1
- package/lib/framework/element-props.js +1 -1
- package/lib/framework/element-props.js.map +1 -1
- package/lib/framework/element-reader.js +1 -1
- package/lib/framework/element-reader.js.map +1 -1
- package/lib/framework/element-render-cut.js +1 -1
- package/lib/framework/element-render-cut.js.map +1 -1
- package/lib/framework/element-serialize.js +1 -1
- package/lib/framework/element-serialize.js.map +1 -1
- package/lib/framework/element-util.js +1 -1
- package/lib/framework/element-util.js.map +1 -1
- package/lib/framework/impl/checkbox/checkbox-impl.js +1 -1
- package/lib/framework/impl/checkbox/checkbox-impl.js.map +1 -1
- package/lib/framework/impl/comments/comment-content-impl.js +1 -1
- package/lib/framework/impl/comments/comment-content-impl.js.map +1 -1
- package/lib/framework/impl/comments/comment-element-impl.js +1 -1
- package/lib/framework/impl/comments/comment-element-impl.js.map +1 -1
- package/lib/framework/impl/comments/comments-container-impl.js +1 -1
- package/lib/framework/impl/comments/comments-container-impl.js.map +1 -1
- package/lib/framework/impl/comments/comments-util.js +1 -1
- package/lib/framework/impl/comments/comments-util.js.map +1 -1
- package/lib/framework/impl/comments/validate-msg-impl.js +1 -1
- package/lib/framework/impl/comments/validate-msg-impl.js.map +1 -1
- package/lib/framework/impl/data-element/data-decorate-impl.js +1 -1
- package/lib/framework/impl/data-element/data-decorate-impl.js.map +1 -1
- package/lib/framework/impl/data-element/data-element-barcode.js +1 -1
- package/lib/framework/impl/data-element/data-element-barcode.js.map +1 -1
- package/lib/framework/impl/data-element/data-element-base-impl.js +1 -1
- package/lib/framework/impl/data-element/data-element-base-impl.js.map +1 -1
- package/lib/framework/impl/data-element/data-element-check-impl.js +1 -1
- package/lib/framework/impl/data-element/data-element-check-impl.js.map +1 -1
- package/lib/framework/impl/data-element/data-element-date-impl.js +1 -1
- package/lib/framework/impl/data-element/data-element-date-impl.js.map +1 -1
- package/lib/framework/impl/data-element/data-element-group-impl.js +1 -1
- package/lib/framework/impl/data-element/data-element-group-impl.js.map +1 -1
- package/lib/framework/impl/data-element/data-element-image-impl.js +1 -1
- package/lib/framework/impl/data-element/data-element-image-impl.js.map +1 -1
- package/lib/framework/impl/data-element/data-element-list-impl.js +1 -1
- package/lib/framework/impl/data-element/data-element-list-impl.js.map +1 -1
- package/lib/framework/impl/data-element/data-element-text-impl.js +1 -1
- package/lib/framework/impl/data-element/data-element-text-impl.js.map +1 -1
- package/lib/framework/impl/decorate/fill-null-space-imple.js +1 -1
- package/lib/framework/impl/decorate/fill-null-space-imple.js.map +1 -1
- package/lib/framework/impl/document/doc-body-impl.js +1 -1
- package/lib/framework/impl/document/doc-body-impl.js.map +1 -1
- package/lib/framework/impl/document/doc-body-part-impl.js +1 -1
- package/lib/framework/impl/document/doc-body-part-impl.js.map +1 -1
- package/lib/framework/impl/document/doc-container-impl.js +1 -1
- package/lib/framework/impl/document/doc-container-impl.js.map +1 -1
- package/lib/framework/impl/document/doc-footer-impl.js +1 -1
- package/lib/framework/impl/document/doc-footer-impl.js.map +1 -1
- package/lib/framework/impl/document/doc-header-impl.js +1 -1
- package/lib/framework/impl/document/doc-header-impl.js.map +1 -1
- package/lib/framework/impl/document/doc-impl.js +1 -1
- package/lib/framework/impl/document/doc-impl.js.map +1 -1
- package/lib/framework/impl/media-formula/menstrual-history.js +1 -1
- package/lib/framework/impl/media-formula/menstrual-history.js.map +1 -1
- package/lib/framework/impl/paragraph/p-impl.js +1 -1
- package/lib/framework/impl/paragraph/p-impl.js.map +1 -1
- package/lib/framework/impl/picture/image-impl.js +1 -1
- package/lib/framework/impl/picture/image-impl.js.map +1 -1
- package/lib/framework/impl/radio/radio-impl.js +1 -1
- package/lib/framework/impl/radio/radio-impl.js.map +1 -1
- package/lib/framework/impl/symbol/br-symbol-impl.js +1 -1
- package/lib/framework/impl/symbol/br-symbol-impl.js.map +1 -1
- package/lib/framework/impl/symbol/p-symbol-impl.js +1 -1
- package/lib/framework/impl/symbol/p-symbol-impl.js.map +1 -1
- package/lib/framework/impl/table/table-cell-impl.js +1 -1
- package/lib/framework/impl/table/table-cell-impl.js.map +1 -1
- package/lib/framework/impl/table/table-impl.js +1 -1
- package/lib/framework/impl/table/table-impl.js.map +1 -1
- package/lib/framework/impl/table/table-row-impl.js +1 -1
- package/lib/framework/impl/table/table-row-impl.js.map +1 -1
- package/lib/framework/impl/table/table-split-cell-patch.js +1 -1
- package/lib/framework/impl/table/table-split-cell-patch.js.map +1 -1
- package/lib/framework/impl/table/table-split-cell.js +1 -1
- package/lib/framework/impl/table/table-split-cell.js.map +1 -1
- package/lib/framework/impl/table/table-util.js +1 -1
- package/lib/framework/impl/table/table-util.js.map +1 -1
- package/lib/framework/impl/text/text-impl.js +1 -1
- package/lib/framework/impl/text/text-impl.js.map +1 -1
- package/lib/framework/impl/text/track-run-impl.js +1 -1
- package/lib/framework/impl/text/track-run-impl.js.map +1 -1
- package/lib/framework/notify.js +1 -1
- package/lib/framework/notify.js.map +1 -1
- package/lib/framework/range-util.js +1 -1
- package/lib/framework/range-util.js.map +1 -1
- package/lib/framework/render-context.js +1 -1
- package/lib/framework/render-context.js.map +1 -1
- package/lib/framework/render-define.js +1 -1
- package/lib/framework/render-define.js.map +1 -1
- package/lib/framework/selection-overlays.js +1 -1
- package/lib/framework/selection-overlays.js.map +1 -1
- package/lib/texteditor.js +1 -1
- package/lib/texteditor.js.map +1 -1
- package/lib/util/subject.js +1 -1
- package/lib/util/subject.js.map +1 -1
- package/lib/util/table-bind.js +1 -1
- package/lib/util/table-bind.js.map +1 -1
- package/package.json +23 -26
@@ -675,4 +675,4 @@ export class TableUtil {
|
|
675
675
|
return { startRow, endRow, startCol, endCol };
|
676
676
|
}
|
677
677
|
}
|
678
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiJsaWIvIiwic291cmNlcyI6WyJmcmFtZXdvcmsvaW1wbC90YWJsZS90YWJsZS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUduRCxNQUFNLE9BQU8sU0FBUztJQUVsQixNQUFNLENBQUMsY0FBYyxDQUFDLEVBQWtCO1FBQ3BDLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNmLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbkUsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFrQjtRQUNuQyxNQUFNLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ3pGLElBQUksU0FBUyxFQUFFO1lBQ1gsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxJQUFJLHFCQUFxQixZQUFZLFlBQVksSUFBSSxxQkFBcUIsWUFBWSxlQUFlLEVBQUU7WUFDbkcsTUFBTSxTQUFTLEdBQUcscUJBQXFCLFlBQVksWUFBWSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMs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
|
678
|
+
//# sourceMappingURL=table-util.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"table-util.js","sourceRoot":"lib/","sources":["framework/impl/table/table-util.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"table-util.js","sourceRoot":"lib/","sources":["framework/impl/table/table-util.ts"],"names":[],"mappings":"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","sourcesContent":["import { SelectionState } from \"../../document-selection\";\nimport { ElementUtil } from \"../../element-util\";\nimport { Element } from \"../../element-define\";\nimport { ParagraphElement } from \"../paragraph/p-impl\";\nimport { TableCellElement } from \"./table-cell-impl\";\nimport { TableElement } from \"./table-impl\";\nimport { TableRowElement } from \"./table-row-impl\";\n\n\nexport class TableUtil {\n\n static canDeleteTable(ss: SelectionState): boolean {\n const { startControl } = ss;\n if (!startControl) {\n return false;\n }\n const tb = ElementUtil.getParentByType(startControl, TableElement);\n return !!tb;\n }\n /**\n * 校验当前选区是否可以执行合并单元格操作\n * @param ss \n * @returns \n */\n static canMergeCells(ss: SelectionState): boolean {\n const { ancestorCommonControl, startControl, endControl, collapsed, selectedRange } = ss;\n if (collapsed) {\n return false;\n }\n if (ancestorCommonControl instanceof TableElement || ancestorCommonControl instanceof TableRowElement) {\n const tbElement = ancestorCommonControl instanceof TableElement ? ancestorCommonControl : ancestorCommonControl.parent as TableElement;\n const startCell = ElementUtil.getParentByType(startControl, TableCellElement);\n const endCell = ElementUtil.getParentByType(endControl, TableCellElement);\n if (startCell?.parent?.parent === tbElement && endCell?.parent?.parent === tbElement) {\n const tbRegion = this.getTableRectSelectedRegion(tbElement, startCell, endCell);\n if (selectedRange && selectedRange.target === tbElement) {\n const selectedCells: Array<TableCellElement> = [];\n selectedRange.selectedChildren.every(item => item.selectedChildren.every(cell => selectedCells.push(cell.target as TableCellElement)));\n for (let i = tbRegion.startRow; i <= tbRegion.endRow; i++) {\n const currRow = tbElement.getChild<TableRowElement>(i);\n for (let j = tbRegion.startCol; j <= tbRegion.endCol; j++) {\n const currCell = currRow.getChild<TableCellElement>(j);\n if (currCell.isNotBeMergedCell() && selectedCells.indexOf(currCell) < 0) {\n return false;\n }\n }\n }\n return true;\n }\n }\n }\n return false;\n }\n\n /**\n * 获取横向合并当前单元格合并结束索引位置\n * @param tb \n * @param rowIndex \n * @param colIndex \n */\n static getHMergeEndIndex(tb: TableElement, rowIndex: number, colIndex: number): number {\n const currRow = tb.getChild(rowIndex) as TableRowElement;\n let index = colIndex;\n for (let i = colIndex + 1; i < tb.getColsCount(); i++) {\n const cell = currRow.getChild(i) as TableCellElement;\n if (cell.props.hMerge === 'continue') {\n index = i;\n } else {\n break;\n }\n }\n return index;\n }\n\n /**\n * 获取横向合并当前单元格合并开始索引位置\n * @param tb \n * @param rowIndex \n * @param colIndex \n */\n static getHMergeStartIndex(tb: TableElement, rowIndex: number, colIndex: number): number {\n const row = tb.getChild(rowIndex) as TableRowElement;\n for (let i = colIndex - 1; i >= 0; i--) {\n const cell = row.getChild(i) as TableCellElement;\n if (cell.props.hMerge === 'restart') {\n return i;\n }\n }\n throw new Error('未找到主合并单元格');\n }\n\n /**\n * 获取纵向合并当前单元格合并结束索引位置\n * @param tb \n * @param rowIndex \n * @param colIndex i\n */\n static getVMergeEndIndex(tb: TableElement, rowIndex: number, colIndex: number): number {\n let index = rowIndex;\n for (let i = rowIndex + 1; i < tb.length; i++) {\n const currRow = tb.getChild(i) as TableRowElement;\n const cell = currRow.getChild(colIndex) as TableCellElement;\n if (cell.props.vMerge === 'continue') {\n index = i;\n } else {\n break;\n }\n }\n return index;\n }\n\n /**\n * 获取纵向合并当前单元格合并开始索引位置\n * @param tb \n * @param rowIndex \n * @param colIndex i\n */\n static getVMergeStartIndex(tb: TableElement, rowIndex: number, colIndex: number): number {\n for (let i = rowIndex - 1; i >= 0; i--) {\n const currRow = tb.getChild(i) as TableRowElement;\n const cell = currRow.getChild(colIndex) as TableCellElement;\n if (cell.props.vMerge === 'restart') {\n return i;\n }\n }\n throw new Error('未找到主合并单元格');\n }\n\n /**\n * 合并单元格\n * @param ss \n * @returns \n */\n static mergeCells(ss: SelectionState): void {\n const { ancestorCommonControl, startControl, endControl, collapsed } = ss;\n if (collapsed) {\n return;\n }\n if (ancestorCommonControl instanceof TableElement || ancestorCommonControl instanceof TableRowElement) {\n const tbElement = ancestorCommonControl instanceof TableElement ? ancestorCommonControl : ancestorCommonControl.parent as TableElement;\n const startCell = ElementUtil.getParentByType(startControl, TableCellElement);\n const endCell = ElementUtil.getParentByType(endControl, TableCellElement);\n if (startCell?.parent?.parent === tbElement && endCell?.parent?.parent === tbElement) {\n //this.combineCellContent(tbElement, startCell, endCell);\n this.combineCells(tbElement, startCell, endCell);\n }\n this.checkRowBeMerged(ss);\n ss.clear();\n }\n }\n\n /**\n * 在合并单元格后需要校验\n * 1.如果某个行的所有单元格都不是normal,则需要删除当前行\n * 2.如果某个列的所有的单元格都不是normal,则需要删除当前列\n */\n private static checkRowBeMerged(ss: SelectionState): void {\n const tb = ElementUtil.getParentByType(ss.startControl, TableElement);\n if (!tb) { return }\n const colsCount = tb.getColsCount();\n const fullMergeRows: Array<TableRowElement> = [];\n for (let i = 0; i < tb.length; i++) {\n const row = tb.getChild(i) as TableRowElement;\n let count = 0;\n for (let j = 0; j < colsCount; j++) {\n const cell = row.getChild(j) as TableCellElement;\n if (!cell.isNotBeMergedCell()) {\n count++;\n }\n }\n //当前行所有的单元格都被合并,需要删除\n if (count === colsCount) {\n fullMergeRows.push(row)\n }\n }\n fullMergeRows.forEach(row => this.removeRow(row));\n }\n\n /**\n * 移除行\n * @param row \n */\n private static removeRow(row: TableRowElement): void {\n const rowIndex = row.getIndex();\n const tb = row.parent as TableElement;\n for (let i = 0; i < row.length; i++) {\n const cell = row.getChild<TableCellElement>(i);\n if (cell.props.vMerge === 'restart') {\n const vMergeEndIndex = this.getVMergeEndIndex(tb, rowIndex, i);\n if (vMergeEndIndex > rowIndex) {\n const nextRow = tb.getChild<TableRowElement>(rowIndex + 1);\n nextRow.getChild<TableCellElement>(i).props.vMerge = vMergeEndIndex - rowIndex > 2 ? 'restart' : null;\n }\n } else if (cell.props.vMerge === 'continue') {\n // const vMergeEndIndex = this.getVMergeEndIndex(tb, rowIndex, i);\n // if (vMergeEndIndex > rowIndex) {\n // const nextRow = tb.getChild<TableRowElement>(rowIndex + 1);\n // nextRow.getChild<TableCellElement>(i).cellProps.vMerge = 'continue';\n // }\n const vMergeStartIndex = this.getVMergeStartIndex(tb, rowIndex, i);\n const vMergeEndIndex = this.getVMergeEndIndex(tb, rowIndex, i);\n //当前单元格处于合并行的最后一行,并且合并的行数为2行\n if (vMergeEndIndex === rowIndex && vMergeEndIndex - vMergeStartIndex === 1) {\n const aboveCell = tb.getChild<TableRowElement>(vMergeStartIndex).getChild<TableCellElement>(i)\n aboveCell.props.vMerge = null;\n }\n }\n }\n tb.removeChild(row);\n }\n\n /**\n * 移除列\n * @param tb \n * @param colIndex \n */\n private static removeCol(tb: TableElement, colIndex: number): void {\n for (let i = 0; i < tb.length; i++) {\n const row = tb.getChild<TableRowElement>(i);\n const cell = row.getChild<TableCellElement>(colIndex);\n if (cell.props.hMerge === 'restart') {\n const hMergeEndIndex = this.getHMergeEndIndex(tb, i, colIndex);\n if (hMergeEndIndex > colIndex) {\n const nextCell = row.getChild<TableCellElement>(colIndex + 1);\n nextCell.props.hMerge = hMergeEndIndex - colIndex > 2 ? 'restart' : null;\n }\n } else if (cell.props.hMerge === 'continue') {\n const hMergeStartIndex = this.getHMergeStartIndex(tb, i, colIndex);\n const hMergeEndIndex = this.getHMergeEndIndex(tb, i, colIndex);\n //当前单元格处于合并行的最后一行,并且合并的行数为2行\n if (hMergeEndIndex === colIndex && hMergeEndIndex - hMergeStartIndex === 1) {\n const masterVMergeCell = tb.getChild<TableRowElement>(hMergeStartIndex).getChild<TableCellElement>(i)\n masterVMergeCell.props.hMerge = null;\n }\n\n }\n row.removeChild(cell);\n }\n tb.removeCol(colIndex);\n }\n\n /**\n * 移除光标所在的当前行\n * @param ss \n */\n static removeCurrRow(ss: SelectionState): void {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n const currRow = startCell.parent as TableRowElement;\n const tb = currRow.parent as TableElement;\n this.removeRow(currRow);\n tb.pubOnChange('self');\n tb.refreshView();\n }\n\n /**\n * 移除光标所在的当前列\n * @param ss \n */\n static removeCurrCol(ss: SelectionState): void {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n if (ss.collapsed) {\n const currRow = startCell.parent as TableRowElement;\n const tb = currRow.parent as TableElement;\n this.removeCol(tb, startCell.getIndex());\n ss.clear();\n return;\n }\n const { ancestorCommonControl, startControl, endControl } = ss;\n if (ancestorCommonControl instanceof TableElement || ancestorCommonControl instanceof TableRowElement) {\n const tbElement = ancestorCommonControl instanceof TableElement ? ancestorCommonControl : ancestorCommonControl.parent as TableElement;\n const startCell = ElementUtil.getParentByType(startControl, TableCellElement);\n const endCell = ElementUtil.getParentByType(endControl, TableCellElement);\n if (startCell?.parent?.parent === tbElement && endCell?.parent?.parent === tbElement) {\n const startColIndex = startCell.getIndex();\n let endColIndex = endCell.getIndex();\n while (startColIndex <= endColIndex) {\n this.removeCol(tbElement, endColIndex);\n endColIndex--;\n }\n }\n tbElement.pubOnChange('self');\n }\n ss.clear();\n }\n\n /**\n * 合并单元格\n */\n static combineCells(tbElement: TableElement, startCell: TableCellElement, endCell: TableCellElement): void {\n const tbRegion = this.getTableRectSelectedRegion(tbElement, startCell, endCell);\n const cellContents: Array<Element> = [];\n for (let i = tbRegion.startRow; i <= tbRegion.endRow; i++) {\n const currRow = tbElement.getChild<TableRowElement>(i);\n for (let j = tbRegion.startCol; j <= tbRegion.endCol; j++) {\n const currCell = currRow.getChild<TableCellElement>(j);\n currCell.props.vMerge = null;\n currCell.props.hMerge = 'continue';\n if (j === tbRegion.startCol) {\n currCell.props.vMerge = i === tbRegion.startRow ? 'restart' : 'continue';\n currCell.props.hMerge = 'restart';\n }\n if (currCell !== startCell) {\n cellContents.push(...ElementUtil.getChildrenElements(currCell));\n currCell.clearItems();\n }\n }\n }\n //如果合并的单元格都是空段落,则不合并内容\n if (!cellContents.every((item) => (item instanceof ParagraphElement && item.length === 1))) {\n for (let i = 0; i < cellContents.length; i++) {\n startCell.addChild(cellContents[i]);\n }\n }\n }\n\n\n static canSplitCell(ss: SelectionState): boolean {\n const { ancestorCommonControl, startControl, endControl, collapsed } = ss;\n if (ancestorCommonControl instanceof TableElement || ancestorCommonControl instanceof TableRowElement) {\n const tbElement = ancestorCommonControl instanceof TableElement ? ancestorCommonControl : ancestorCommonControl.parent;\n const startCell = ElementUtil.getParentByType(startControl, TableCellElement);\n const endCell = ElementUtil.getParentByType(endControl, TableCellElement);\n if (startCell?.parent?.parent === tbElement && endCell?.parent?.parent === tbElement) {\n if (startCell === endCell) {\n return startCell.props.hMerge === 'restart' || startCell.props.vMerge === 'restart';\n }\n }\n } else {\n const startCell = ElementUtil.getParentByType(startControl, TableCellElement);\n if (!startCell) {\n throw new Error('startCell is null');\n }\n const { hMerge, vMerge } = startCell?.props;\n return hMerge === 'restart' || vMerge === 'restart' || !hMerge || !vMerge;\n }\n\n return false;\n }\n\n /**\n * 将合并的单元格合并还原\n * @param ss \n */\n static restoreCell(ss: SelectionState): void {\n const { ancestorCommonControl, startControl, endControl, collapsed } = ss;\n const startCell = ElementUtil.getParentByType(startControl, TableCellElement);\n if (startCell) {\n this.restoreCellMerge(startCell);\n ss.resetRange(startCell, 0);\n startCell.refreshView();\n }\n }\n\n private static restoreCellMerge(cell: TableCellElement): void {\n const { vMerge, hMerge } = cell.props;\n const row = cell.parent as TableRowElement;\n const tb = row.parent as TableElement;\n const rowIndex = row.getIndex();\n const colIndex = cell.getIndex();\n if (vMerge === 'restart') {\n for (let i = rowIndex + 1; i < tb.length; i++) {\n const row = tb.getChild(i) as TableRowElement;\n const cell = row.getChild(colIndex) as TableCellElement;\n if (cell.props.vMerge === \"continue\") {\n cell.props.vMerge = null;\n if (cell.props.hMerge === \"restart\") {\n this.restoreCellMerge(cell);\n }\n }\n }\n }\n if (hMerge === 'restart') {\n for (let i = colIndex + 1; i < row.length; i++) {\n const cell = row.getChild(i) as TableCellElement;\n if (cell.props.hMerge === \"continue\") {\n cell.props.hMerge = null;\n if (cell.props.vMerge === \"restart\") {\n this.restoreCellMerge(cell);\n }\n }\n }\n }\n cell.props.hMerge = null;\n cell.props.vMerge = null;\n }\n\n\n private static getVMergeRows(tb: TableElement, masterRowIndex: number, masterColIndex: number): Array<TableRowElement> {\n const items: Array<TableRowElement> = [];\n for (let i = masterRowIndex + 1; i < tb.length; i++) {\n const row = <TableRowElement>tb.getChild(i);\n const cell = row.getChild(masterColIndex) as TableCellElement;\n if (cell.props.vMerge === 'continue') {\n items.push(row);\n } else {\n return items;\n }\n }\n return items;\n }\n\n\n static insertCol(ss: SelectionState, insertColIndex: number): void {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n const startRow = startCell.parent as TableRowElement;\n const tb = startRow.parent as TableElement;\n const currColIndex = startCell.getIndex();\n const colsCount = tb.getColsCount();\n insertColIndex = insertColIndex < 0 ? 0 : insertColIndex;\n insertColIndex = insertColIndex > colsCount ? colsCount : insertColIndex;\n //插入列需要将之前列分割\n const insertColWidth = insertColIndex === colsCount ? tb.getCellWidth(colsCount - 1) : tb.getCellWidth(insertColIndex);\n const newColWidth = Math.floor(insertColWidth / 2);\n if (newColWidth < 20) {\n console.warn('插入列的最小宽度不能小于20,当前为:' + newColWidth)\n return;\n }\n for (let i = 0; i < tb.length; i++) {\n const row = tb.getChild<TableRowElement>(i)\n const newCell = new TableCellElement();\n if (insertColIndex === 0 || insertColIndex === colsCount) {\n row.addChild(newCell, insertColIndex);\n continue;\n }\n const focusCell = row.getChild<TableCellElement>(insertColIndex);\n if (focusCell) {\n if (focusCell.props.hMerge === 'continue') {\n //获取合并行的最后的行索引\n const hMergeEndColIndex = this.getHMergeEndIndex(tb, i, currColIndex);\n if (hMergeEndColIndex > insertColIndex || (hMergeEndColIndex === insertColIndex && currColIndex < insertColIndex)) {\n newCell.props.hMerge = 'continue';\n }\n } else if (focusCell.props.hMerge === 'restart' && currColIndex > insertColIndex) {\n newCell.props.hMerge = 'continue';\n }\n }\n row.addChild(newCell, insertColIndex);\n }\n\n tb.setCellWidth(insertColIndex === colsCount ? insertColIndex - 1 : insertColIndex, insertColWidth - newColWidth);\n tb.insertCol(insertColIndex, newColWidth);\n tb.pubOnChange('self');\n tb.refreshView();\n }\n\n static insertRow(ss: SelectionState, insertRowIndex: number): TableRowElement {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n const startRow = startCell.parent as TableRowElement;\n const tb = startRow.parent as TableElement;\n const currRowIndex = startRow.getIndex();\n insertRowIndex = insertRowIndex < 0 ? 0 : insertRowIndex;\n insertRowIndex = insertRowIndex > tb.length ? tb.length : insertRowIndex;\n const newRow = TableRowElement.createRow(tb.getColsCount());\n //新行插在第一行或者最后一行\n if (insertRowIndex === 0 || insertRowIndex === tb.length) {\n tb.addChild(newRow, insertRowIndex);\n tb.refreshView();\n return newRow;\n }\n const destRow = tb.getChild(insertRowIndex) as TableRowElement;\n for (let i = 0; i < destRow.length; i++) {\n const destCell = destRow.getChild(i) as TableCellElement;\n const newCell = newRow.getChild(i) as TableCellElement;\n //如果当前单元格是普通单元格或者合并列的最后一个单元格,则不做处理\n if (destCell.props.vMerge === 'continue') {\n //获取合并列的最后的行索引\n const vMergeEndRowIndex = this.getVMergeEndIndex(tb, insertRowIndex, i);\n if (vMergeEndRowIndex > insertRowIndex || (vMergeEndRowIndex === insertRowIndex && currRowIndex < insertRowIndex)) {\n newCell.props.vMerge = 'continue';\n //newCell.cellProps.hMerge = destCell.cellProps.hMerge;\n }\n } else if (destCell.props.vMerge === 'restart' && currRowIndex > insertRowIndex) {\n //在上方新增行,目标行单元格属于合并的起点\n newCell.props.vMerge = 'continue';\n //newCell.cellProps.hMerge = destCell.cellProps.hMerge;\n }\n\n }\n tb.addChild(newRow, insertRowIndex);\n tb.refreshView();\n return newRow;\n }\n\n /**\n * 在下方插入行\n */\n static insertRowBelow(ss: SelectionState): void {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n const startRow = startCell.parent as TableRowElement;\n const currRowIndex = startRow.getIndex();\n this.insertRow(ss, currRowIndex + 1);\n }\n\n /**\n * 在上方插入行\n */\n static insertRowAbove(ss: SelectionState): void {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n const startRow = startCell.parent as TableRowElement;\n const currRowIndex = startRow.getIndex();\n this.insertRow(ss, currRowIndex);\n }\n\n /**\n * 在右侧插入列\n */\n static insertColToRight(ss: SelectionState): void {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n const currColIndex = startCell.getIndex();\n this.insertCol(ss, currColIndex + 1);\n }\n\n /**\n * 在左侧插入列\n */\n static insertColToLeft(ss: SelectionState): void {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n const currColIndex = startCell.getIndex();\n this.insertCol(ss, currColIndex);\n }\n\n /**\n * 跳转到下一个单元格中\n * @param ss \n */\n static moveNextCell(ss: SelectionState): void {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n const rowIndex = startCell.parent.getIndex();\n const nextCell = this.getNextCell(ss);\n if (nextCell) {\n ss.resetRange(nextCell, 0);\n nextCell.refreshView();\n return;\n }\n //新增行,并定位\n const newRow = this.insertRow(ss, rowIndex + 1);\n ss.resetRange(newRow, 0);\n newRow.refreshView();\n }\n\n\n /**\n * 获取下一个可定位的单元格\n * @param ss \n * @returns \n */\n static getNextCell(ss: SelectionState): TableCellElement | undefined {\n const startCell = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!startCell?.parent) {\n throw new Error('parent is null')\n }\n const rowIndex = startCell.parent.getIndex();\n const colIndex = startCell.getIndex();\n const tb = startCell.parent.parent as TableElement;\n for (let i = rowIndex; i < tb.length; i++) {\n let j = i === rowIndex ? colIndex + 1 : 0;\n const currRow = tb.getChild(i) as TableRowElement;\n for (; j < tb.getColsCount(); j++) {\n const currCell = currRow.getChild(j) as TableCellElement;\n if (currCell.isNotBeMergedCell()) {\n return currCell;\n }\n }\n }\n //throw new Error('getNextCell is null')\n }\n\n /**\n * 当前光标是否在最后一个单元格中\n */\n static isLastVisiableCell(ss: SelectionState): boolean {\n return !this.getNextCell(ss);\n }\n\n\n /**\n * 移除当前table\n */\n static removeTable(ss: SelectionState): void {\n const tb = ElementUtil.getParentByType(ss.startControl, TableElement);\n if (!tb) {\n console.warn('当前位置不存在表格');\n return;\n }\n tb.parent.refreshView();\n tb.remove();\n }\n\n /**\n * 设置表格单元格对角线\n * @param ss \n * @param diagonal \n * @returns \n */\n static setTableCellDiagonal(ss: SelectionState, diagonal: 'main' | 'sub'): void {\n const tc = ElementUtil.getParentByType(ss.startControl, TableCellElement);\n if (!tc) {\n console.warn('当前位置不存在表格');\n return\n }\n if (!tc.props.diagonal || tc.props.diagonal !== diagonal) {\n tc.props.diagonal = diagonal;\n } else if (tc.props.diagonal === diagonal) {\n tc.props.diagonal = null;\n }\n tc.refreshView();\n }\n\n /**\n * 将当前表格截断成两个相邻的表格\n * @param tb \n * @param rowIndex \n */\n static cutTable(tb: TableElement, rowIndex: number): void {\n if (rowIndex === 0 || rowIndex === tb.length - 1) {\n return;\n }\n const newTb = tb.clone(false) as TableElement;\n const len = tb.length - 1;\n while (len > rowIndex) {\n const child = tb.getChild(len);\n newTb.addChild(child.clone(true), 0);\n tb.removeChild(child);\n }\n if (newTb.length > 0) {\n tb.parent.addChild(newTb, tb.getIndex() + 1);\n }\n }\n\n /**\n * 获取表格选区区域最大的矩形区域\n * @param tb \n * @param startCell \n * @param endCell \n * @returns \n */\n static getTableRectSelectedRegion(tb: TableElement, startCell: TableCellElement, endCell: TableCellElement): ITableSelectedRegion {\n let startRow = startCell.parent.getIndex();\n let startCol = startCell.getIndex();\n let endRow = endCell.parent.getIndex();\n let endCol = endCell.getIndex();\n if (startRow > endRow) {\n [endRow, startRow] = [startRow, endRow];\n }\n if (startCol > endCol) {\n [endCol, startCol] = [startCol, endCol];\n }\n for (let i = startRow; i <= endRow; i++) {\n const row = tb.getChild(i) as TableRowElement;\n for (let j = startCol; j <= endCol; j++) {\n const cell = row.getChild(j) as TableCellElement;\n const { hMerge, vMerge } = cell.props;\n if (hMerge === 'continue') {\n const startColIndex = TableUtil.getHMergeStartIndex(tb, i, j);\n const endColIndex = TableUtil.getHMergeEndIndex(tb, i, j);\n startCol = Math.min(startCol, startColIndex);\n endCol = Math.max(endCol, endColIndex);\n }\n if (vMerge === 'continue') {\n const startRowIndex = TableUtil.getVMergeStartIndex(tb, i, j);\n const endRowIndex = TableUtil.getVMergeEndIndex(tb, i, j);\n startRow = Math.min(startRow, startRowIndex);\n endRow = Math.max(endRow, endRowIndex);\n }\n if (vMerge === 'restart') {\n const rowIndex = TableUtil.getVMergeEndIndex(tb, i, j);\n if (rowIndex > endRow) {\n endRow = rowIndex;\n }\n }\n if (hMerge === 'restart') {\n const colIndex = TableUtil.getHMergeEndIndex(tb, i, j);\n if (colIndex > endCol) {\n endCol = colIndex;\n }\n }\n }\n }\n return { startRow, endRow, startCol, endCol }\n }\n}\n\n\nexport interface ITableSelectedRegion {\n startRow: number;\n endRow: number;\n startCol: number;\n endCol: number;\n}"]}
|
@@ -146,4 +146,4 @@ export class TextGroupFactory extends ElementFactory {
|
|
146
146
|
return textGroup;
|
147
147
|
}
|
148
148
|
}
|
149
|
-
//# sourceMappingURL=
|
149
|
+
//# sourceMappingURL=text-impl.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"text-impl.js","sourceRoot":"lib/","sources":["framework/impl/text/text-impl.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"text-impl.js","sourceRoot":"lib/","sources":["framework/impl/text/text-impl.ts"],"names":[],"mappings":"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","sourcesContent":["import { SelectionRange } from \"../../document-selection\";\nimport { ContextMenuElementEvent } from \"../../element-event-define\";\nimport { TextProps } from \"../../element-props\";\nimport { ElementUtil } from \"../../element-util\";\nimport { LeafRenderObject, RenderObject } from \"../../render-define\";\nimport { LeafElement, ElementFactory, Element, SerializeProps, ViewOptions, ModifyFlag } from \"../../element-define\";\nimport { watchChanged } from \"../../notify\";\nimport { RenderContenxtType, TextUnits } from \"../../render-context\";\n\nexport class TextGroupElement extends LeafElement<TextProps> {\n //props: TextProps;\n textMeasures: Array<TextUnits> = [];\n isMeasure: boolean = false;\n constructor() {\n super('text');\n this.props = new TextProps();\n watchChanged(this.props, () => {\n this.isMeasure = false;\n this.props.clearCache();\n });\n //this.addPropValueChangedSub(this.props);\n //this.addsubscribe(this, this.props.onPropertyChangedSubject.subscribe(() => { this.clearTextCache() }));\n this.addEvent<ContextMenuElementEvent>('ElementContextMenu', (evt) => {\n const ss = evt.selectionState;\n evt.menus.push({\n icon: \"EditStyle\", caption: \"选中样式组合\", eventObj: {\n onClick: (cevt) => {\n const range = new SelectionRange();\n range.setStart(this, 0);\n range.setEnd(this, -1);\n ss.addRange(range);\n }\n }\n })\n });\n }\n set text(val: string) {\n this.splice(0, this.textMeasures.length, val);\n }\n\n splice(index: number, deleteCount: number, addText: string | null = null): void {\n this.isMeasure = false;\n addText = addText ?? '';\n const addTextUnits = addText.split('').map(char => ({ sourceSize: 0, actualSize: 0, char }));\n if (this.textMeasures.length === 0) {\n this.textMeasures = addTextUnits;\n } else {\n this.textMeasures.splice(index, deleteCount, ...addTextUnits);\n }\n this.pubOnChange('self');\n }\n\n get text() {\n return this.textMeasures.map(item => item.char).join('');\n }\n\n createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject {\n if (!this.isMeasure || this.modifyFlag !== ModifyFlag.None) {\n renderCtx.contentContext.measureTextUnits(this.textMeasures, this.props);\n this.isMeasure = true;\n }\n const render = new TextGroupRenderObject(this);\n render.disableClick = this.disableClick;\n render.textMeasures = [...this.textMeasures];\n render.measure();\n return render;\n }\n\n serialize(viewOptions: ViewOptions): SerializeProps & any {\n //修饰元素不序列化\n if (this.isDecorate) {\n return null;\n }\n return {\n type: 'text',\n props: {\n ...this.props.getSerializeProps(viewOptions)\n },\n content: this.text,\n complete: true\n }\n }\n\n clone(data: boolean): TextGroupElement {\n const clone = new TextGroupElement();\n this.props.clone(clone.props);\n clone.text = this.text;\n return clone;\n }\n\n destroy(): void {\n super.destroy();\n }\n\n spliceText(startOffset: number, endOffset: number, xCopy: boolean): TextGroupElement | null {\n endOffset = endOffset === -1 ? this.textMeasures.length : endOffset;\n if (endOffset === startOffset) {\n return null;\n }\n const clone = new TextGroupElement();\n this.props.clone(clone.props);\n if (xCopy) {\n clone.textMeasures = this.textMeasures.splice(startOffset, endOffset - startOffset);\n } else {\n clone.textMeasures = this.textMeasures.filter((item, index) => index >= startOffset && index < endOffset);\n }\n clone.textMeasures = clone.textMeasures.map(item => ({ sourceSize: 0, actualSize: 0, char: item.char }));\n return clone;\n }\n\n clearTextCache(): void {\n this.isMeasure = false;\n }\n}\n\n\nexport class TextGroupRenderObject extends LeafRenderObject<TextGroupElement> {\n textMeasures!: Array<TextUnits>;\n render(ctx: RenderContenxtType, position: { x: number; y: number; }): void {\n //null-text不打印\n if (ctx.drawMode === 'print' && this.element.isDecorate) {\n return;\n }\n if (this.element.props.border) {\n ctx.contentContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height);\n }\n ctx.contentContext.drawTextUnits(this, position.x, position.y);\n // if (this.element.isMouseenter) {\n // ctx.overlaysContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height, CommonUtil.randomColor());\n // }\n\n }\n constructor(element: TextGroupElement) {\n super(element);\n }\n clone(): RenderObject {\n const cloneRender = new TextGroupRenderObject(this.element);\n cloneRender.disableClick = this.disableClick;\n cloneRender.rect = ElementUtil.cloneRect(this.rect);\n cloneRender.textMeasures = [...this.textMeasures];\n return cloneRender;\n }\n\n measure(): void {\n this.rect.width = this.textMeasures.reduce((prev, curr) => prev + curr.actualSize, 0);\n this.rect.height = this.element.props.fontSize;\n }\n}\n\nexport class TextGroupFactory extends ElementFactory<null> {\n match(type: string): boolean {\n return type === 'text';\n }\n createElement(data: any, renderCtx: RenderContenxtType): Element {\n const props = data.props as TextProps;\n const text = data.content as string;\n const textGroup = new TextGroupElement();\n textGroup.text = text;\n ElementUtil.readTextProps(textGroup.props, props, this.options);\n return textGroup;\n }\n\n}\n"]}
|
@@ -109,4 +109,4 @@ export class RunElementFactory extends ElementFactory {
|
|
109
109
|
return type === TrackRunTypeEnum.Inserted || type === TrackRunTypeEnum.Deleted;
|
110
110
|
}
|
111
111
|
}
|
112
|
-
//# sourceMappingURL=
|
112
|
+
//# sourceMappingURL=track-run-impl.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"track-run-impl.js","sourceRoot":"lib/","sources":["framework/impl/text/track-run-impl.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"track-run-impl.js","sourceRoot":"lib/","sources":["framework/impl/text/track-run-impl.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n InlineGroupElement,\n Position,\n SerializeProps,\n ViewOptions,\n Element,\n ElementFactory, readElementProps\n} from \"../../element-define\";\nimport { RenderContenxtType } from \"../../render-context\";\nimport { InlineGroupRenderObject, RenderObject } from \"../../render-define\";\nimport { TrackRunProps } from \"../../element-props\";\nimport { ElementUtil } from \"../../element-util\";\nimport { ElementSerialize } from \"../../element-serialize\";\nimport { GetTrackTipsEvent } from \"../../element-event-define\";\nimport { nanoid } from \"nanoid\";\nexport enum TrackRunTypeEnum {\n Inserted = 'ins-run',\n Deleted = 'del-run',\n}\ntype NullableType<T> = T | null;\nexport class TrackRunElement extends InlineGroupElement<TrackRunProps> {\n constructor(trackType: TrackRunTypeEnum) {\n super(trackType);\n this.props = new TrackRunProps(trackType);\n this.addEvent<GetTrackTipsEvent>('GetTrackTips', (evt) => {\n evt.trackTips = {\n trackRunType: this.type as TrackRunTypeEnum,\n name: this.props.userName,\n date: this.props.date,\n content: ElementSerialize.serializeString(this, { all: true })\n };\n console.log(evt.trackTips.content);\n\n evt.isCancel = true;\n });\n }\n\n clone(data: boolean): Element {\n const clone = new TrackRunElement(this.type as TrackRunTypeEnum);\n this.props.clone(clone.props);\n if (data) {\n const length = this.length;\n for (let i = 0; i < length; i++) {\n clone.addChild(this.getChild(i).clone(true));\n }\n }\n return clone;\n }\n\n createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): NullableType<RenderObject> {\n if (!options.showTrackChanges && this.type === TrackRunTypeEnum.Deleted) {\n return null;\n }\n return new TrackRunRenderObject(this);\n }\n\n serialize(viewOptions: ViewOptions): SerializeProps | null {\n return {\n type: this.type,\n props: this.props.getSerializeProps()\n };\n }\n\n split(index: number): TrackRunElement | null {\n if (index === 0 || index === this.length) {\n return null;\n }\n const clone = new TrackRunElement(this.type as TrackRunTypeEnum);\n this.props.clone(clone.props);\n const items: Array<Element> = [];\n for (let i = index; i < this.length; i++) {\n const child = this.getChild(i);\n items.push(child);\n }\n items.forEach(item => {\n item.remove();\n clone.addChild(item);\n });\n return clone;\n }\n}\n\nexport class TrackRunRenderObject extends InlineGroupRenderObject<TrackRunElement> {\n constructor(ele: TrackRunElement) {\n super(ele);\n }\n\n beginRender(ctx: RenderContenxtType, position: Position): void {\n const color = this.element.type === 'ins-run' ? 'green' : 'red';\n //ctx.overlaysContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height, color);\n }\n\n clone(): RenderObject {\n const cloneRender = new TrackRunRenderObject(this.element);\n cloneRender.rect = ElementUtil.cloneRect(this.rect);\n for (let i = 0; i < this.length; i++) {\n cloneRender.addChild(this.getChild(i).clone());\n }\n return cloneRender;\n }\n\n endRender(ctx: RenderContenxtType, position: Position): void {\n const { x, y } = position;\n const color = this.element.type === 'ins-run' ? 'green' : 'red';\n for (let i = 0; i < this.length; i++) {\n const childRender = this.getChild(i);\n const { rect } = childRender;\n if (childRender.element && childRender.element.type === 'del-run') {\n continue;\n }\n let lineY = y + rect.y + rect.height;\n lineY = this.element.type === 'ins-run' ? lineY : lineY - rect.height / 2;\n ctx.contentContext.drawLine(x + rect.x, lineY, rect.width, color, 1);\n }\n }\n}\n\nexport class RunElementFactory extends ElementFactory<TrackRunProps>{\n\n createElement(data: readElementProps<TrackRunProps>, renderCtx: RenderContenxtType): TrackRunElement {\n const ele = new TrackRunElement(data.type as TrackRunTypeEnum);\n ele.props.userId = data.props?.userId ?? '';\n ele.props.userName = data.props?.userName ?? '';\n ele.props.date = data.props?.date ?? '';\n ele.props.id = data.props?.id ?? nanoid(5);\n return ele;\n }\n\n match(type: string): boolean {\n return type === TrackRunTypeEnum.Inserted || type === TrackRunTypeEnum.Deleted;\n }\n\n\n}\n\n"]}
|
package/lib/framework/notify.js
CHANGED
@@ -113,4 +113,4 @@ export const toTypeString = (value) => objectToString.call(value);
|
|
113
113
|
export const toRawType = (value) => {
|
114
114
|
return toTypeString(value).slice(8, -1);
|
115
115
|
};
|
116
|
-
//# sourceMappingURL=
|
116
|
+
//# sourceMappingURL=notify.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"notify.js","sourceRoot":"lib/","sources":["framework/notify.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"notify.js","sourceRoot":"lib/","sources":["framework/notify.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;AAC3C,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,EAAkB,CAAC;AACzD,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,EAA8C,CAAC;AAOpF,MAAM,SAAS,GAA0B,EAAE,CAAC;AAC5C,SAAS,KAAK,CAAC,MAAc,EAAE,CAAW;IACtC,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,EAAE;QACX,OAAO;KACV;IACD,IAAI,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACtC,IAAI,CAAC,SAAS,EAAE;QACZ,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAA;KAClD;IACD,IAAI,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,SAAS,EAAE;QACZ,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAA;KAC5C;IACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC3B,CAAC;AAED,SAAS,OAAO,CAAC,MAAc,EAAE,CAAW,EAAE,QAAa,EAAE,QAAa;IACtE,OAAO;IACP,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAC/B,OAAO;KACV;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,SAAS,EAAE;QACZ,OAAO;KACV;IACD,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,WAAW,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,kBAAkB;IAClB,IAAI,QAAQ,EAAE;QACV,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;KACvB;IACD,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACb,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACrC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,YAAY,CAAmB,MAAS,EAAE,EAAkB;IACxE,IAAU,MAAO,CAAC,eAAe,CAAC,EAAE;QAChC,UAAU,CAAO,MAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC;KACjB;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;QAChB,OAAO,MAAM,CAAC;KACjB;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,UAAU,EAAE;QACZ,OAAO,UAAe,CAAC;KAC1B;IACD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE;QAC5B,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ;YACnB,IAAI,CAAC,KAAK,KAAK,EAAE;gBACb,OAAO,MAAM,CAAC;aACjB;YACD,IAAI,CAAC,KAAK,eAAe,EAAE;gBACvB,OAAO,IAAI,CAAC;aACf;YACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;YAC5C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,EAAE;gBAChC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;aAChC;YACD,OAAO,GAAG,CAAC;QACf,CAAC;QACD,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ;YAC7B,kCAAkC;YAClC,MAAM,QAAQ,GAAS,MAAO,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAU,QAAS,CAAC,GAAG,KAAK,MAAM,EAAE;gBAChC,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,QAAQ,CAAC,EAAE;oBAC3E,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;iBAC1C;aACJ;YACD,OAAO,GAAG,CAAC;QACf,CAAC;QACD,cAAc,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/B,OAAO,GAAG,CAAC;QACf,CAAC;QACD,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU;YAChC,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;YACzD,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/B,OAAO,GAAG,CAAC;QACf,CAAC;KACJ,CAAC,CAAA;IACF,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,KAAa,EAAE,EAAkB;IACjE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC5B,SAAS,CAAC,GAAG,EAAE,CAAC;IAChB,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC;AAGD,MAAM,UAAU,wBAAwB,CAAC,MAAc,EAAE,CAAW,EAAE,EAAkB;IACpF,IAAI,WAAW,GAAQ,MAAM,CAAC;IAC9B,IAAU,MAAO,CAAC,eAAe,CAAC,EAAE;QAChC,WAAW,GAAS,MAAO,CAAC,KAAK,CAAC,CAAC;KACtC;IACD,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAClB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACtB,SAAS,CAAC,GAAG,EAAE,CAAA;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAY,EAAe,EAAE,CAAC,GAAG,YAAY,IAAI,CAAA;AAExE,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAA;AACvD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAU,EAAE,CACnD,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAE9B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAU,EAAE;IAChD,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAC3C,CAAC,CAAA","sourcesContent":["const EDITOR_REACTIVE = '__editor_reactive';\nconst ITERATOR_KEY = Symbol('iterator-key')\nexport const reactiveMap = new WeakMap<object, object>();\nexport const targetMaps = new WeakMap<object, Map<propType, Set<notifyCallback>>>();\ntype propType = string | number | symbol;\ninterface notifyCallback {\n (target: object, p: propType, oldValue: any, newValue: any): string | undefined | void;\n}\n\n\nconst activeFns: Array<notifyCallback> = [];\nfunction track(target: object, p: propType) {\n const activeFn = activeFns[activeFns.length - 1];\n if (!activeFn) {\n return;\n }\n let targetMap = targetMaps.get(target)\n if (!targetMap) {\n targetMaps.set(target, (targetMap = new Map()))\n }\n let effectFns = targetMap.get(p);\n if (!effectFns) {\n targetMap.set(p, (effectFns = new Set()))\n }\n effectFns.add(activeFn)\n}\n\nfunction trigger(target: object, p: propType, oldValue: any, newValue: any): void {\n //不需要触发\n if (p.toString().startsWith('__')) {\n return;\n }\n const targetMap = targetMaps.get(target);\n if (!targetMap) {\n return;\n }\n const effectFns = targetMap.get(p);\n const iteratorFns = targetMap.get(ITERATOR_KEY);\n const fns = new Set<notifyCallback>();\n effectFns && effectFns.forEach(item => fns.add(item));\n iteratorFns && iteratorFns.forEach(item => fns.add(item));\n const activeFn = activeFns[activeFns.length - 1];\n //防止死循环,过滤正在运行的副作用\n if (activeFn) {\n fns.delete(activeFn)\n }\n fns.forEach(fn => {\n fn(target, p, oldValue, newValue)\n });\n}\n\nexport function watchChanged<T extends object>(source: T, cb: notifyCallback): T {\n if ((<any>source)[EDITOR_REACTIVE]) {\n addToTrack((<any>source)['raw'], source, cb);\n return source;\n }\n if (isDate(source)) {\n return source;\n }\n const existProxy = reactiveMap.get(source);\n if (existProxy) {\n return existProxy as T;\n }\n const proxy = new Proxy(source, {\n get(target, p, receiver) {\n if (p === 'raw') {\n return target;\n }\n if (p === EDITOR_REACTIVE) {\n return true;\n }\n const res = Reflect.get(target, p, receiver)\n if (typeof res === 'object' && res) {\n return watchChanged(res, cb);\n }\n return res;\n },\n set(target, p, newValue, receiver) {\n //console.log('设置' + p.toString())\n const oldValue = (<any>target)[p];\n const res = Reflect.set(target, p, newValue, receiver);\n if ((<any>receiver).raw === target) {\n if (oldValue !== newValue && (oldValue === oldValue || newValue === newValue)) {\n trigger(target, p, oldValue, newValue);\n }\n }\n return res;\n },\n deleteProperty(target, p) {\n const res = Reflect.deleteProperty(target, p);\n trigger(target, p, null, null);\n return res;\n },\n defineProperty(target, p, attributes) {\n const res = Reflect.defineProperty(target, p, attributes)\n trigger(target, p, null, null);\n return res;\n }\n })\n addToTrack(source, proxy, cb);\n return proxy;\n}\n\nfunction addToTrack(source: object, proxy: object, cb: notifyCallback): void {\n activeFns.push(cb);\n track(source, ITERATOR_KEY);\n activeFns.pop();\n reactiveMap.set(source, proxy);\n}\n\n\nexport function setNotifyChangedCallback(target: object, p: propType, cb: notifyCallback): void {\n let trackTarget: any = target;\n if ((<any>target)[EDITOR_REACTIVE]) {\n trackTarget = (<any>target)['raw'];\n }\n activeFns.push(cb)\n track(trackTarget, p);\n activeFns.pop()\n}\n\nexport const isDate = (val: unknown): val is Date => val instanceof Date\n\nexport const objectToString = Object.prototype.toString\nexport const toTypeString = (value: unknown): string =>\n objectToString.call(value)\n\nexport const toRawType = (value: unknown): string => {\n return toTypeString(value).slice(8, -1)\n}\n"]}
|
@@ -309,4 +309,4 @@ export class RangeUtil {
|
|
309
309
|
return res;
|
310
310
|
}
|
311
311
|
}
|
312
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiJsaWIvIiwic291cmNlcyI6WyJmcmFtZXdvcmsvcmFuZ2UtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFXLFdBQVcsRUFBeUIsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFrQixNQUFNLHNCQUFzQixDQUFBO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3pELE1BQU0sT0FBTyxTQUFTO0lBRWxCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxZQUF5QixFQUFFLFdBQW1CLEVBQUUsVUFBdUIsRUFBRSxTQUFpQixFQUFFLHFCQUFvQztRQUNwSixJQUFJLHFCQUFxQixZQUFZLFlBQVksSUFBSSxxQkFBcUIsWUFBWSxlQUFlLEVBQUU7WUFDbkcsTUFBTSxTQUFTLEdBQUcscUJBQXFCLFlBQVksWUFBWSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsTUFBc0IsQ0FBQztZQUN2SSxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDbkc7UUFDRCxJQUFJLFlBQVksS0FBSyxVQUFVLElBQUksWUFBWSxDQUFDLE1BQU0sS0FBSyxxQkFBcUIsRUFBRTtZQUM5RSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1NBQzlGO1FBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUgsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEgsTUFBTSxVQUFVLEdBQUcscUJBQXFCLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxRSxNQUFNLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRSxVQUFVLEdBQUcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzNGLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDeEMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNwRDthQUFNO1lBQ0gsV0FBVyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNqRCxXQUFXLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsWUFBeUIsRUFBRSxXQUFtQixFQUFFLFNBQWlCLEVBQUUscUJBQW9DO1FBQzVILE1BQU0sS0FBSyxHQUFHO1lBQ1YsTUFBTSxFQUFFLHFCQUFxQjtZQUM3QixjQUFjLEVBQUUsS0FBSztZQUNyQixXQUFXLEVBQUUsWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUNwQyxTQUFTLEVBQUUsWUFBWSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUM7WUFDdEMsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztTQUNsRixDQUFBO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sS0FBSyxDQUFDO0lBRWpCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLHNCQUFzQixDQUFDLFlBQXlCLEVBQUUsV0FBbUIsRUFBRSxVQUF1QixFQUFFLFNBQWlCLEVBQUUsRUFBZ0I7UUFDdEksTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM5RSxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzFFLElBQUksU0FBUyxJQUFJLE9BQU8sSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxFQUFFLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFO1lBQ3hGLElBQUksYUFBYSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEQsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1QyxJQUFJLGFBQWEsR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDekMsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JDLElBQUksYUFBYSxHQUFHLFdBQVcsRUFBRTtnQkFDN0IsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7YUFDL0Q7WUFDRCxJQUFJLGFBQWEsR0FBRyxXQUFXLEVBQUU7Z0JBQzdCLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO2FBQy9EO1lBQ0QsTUFBTSxNQUFNLEdBQUcsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQSxzSUFBc0k7WUFDcFAsYUFBYSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDaEMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDNUIsYUFBYSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDaEMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDNUIsTUFBTSxTQUFTLEdBQWlDLEVBQUUsQ0FBQztZQUNuRCxLQUFLLElBQUksQ0FBQyxHQUFHLGFBQWEsRUFBRSxDQUFDLElBQUksV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUMvQyxNQUFNLFVBQVUsR0FBaUMsRUFBRSxDQUFDO2dCQUNwRCxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBb0IsQ0FBQztnQkFDOUMsS0FBSyxJQUFJLENBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDL0MsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQXFCLENBQUM7b0JBQ2pELE1BQU0sb0JBQW9CLEdBQUcsV0FBVyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBZ0IsQ0FBQztvQkFDbEYsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFnQixDQUFDO29CQUNoRixJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRTt3QkFDcEQsVUFBVSxDQUFDLElBQUksQ0FBQzs0QkFDWixNQUFNLEVBQUUsSUFBSTs0QkFDWixjQUFjLEVBQUUsSUFBSTs0QkFDcEIsV0FBVyxFQUFFLENBQUM7NEJBQ2QsU0FBUyxFQUFFLENBQUM7NEJBQ1osZ0JBQWdCLEVBQUUsRUFBRTt5QkFDdkIsQ0FBQyxDQUFDO3FCQUNOO3lCQUFNO3dCQUNILE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO3dCQUMvRixVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO3FCQUM5QjtpQkFDSjtnQkFDRCxNQUFNLFFBQVEsR0FBMEI7b0JBQ3BDLE1BQU0sRUFBRSxHQUFHO29CQUNYLGNBQWMsRUFBRSxLQUFLO29CQUNyQixXQUFXLEVBQUUsYUFBYTtvQkFDMUIsU0FBUyxFQUFFLFdBQVc7b0JBQ3RCLGdCQUFnQixFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7aUJBQ3BDLENBQUM7Z0JBQ0YsUUFBUSxDQUFDLGNBQWMsR0FBRyxhQUFhLEtBQUssQ0FBQyxJQUFJLFdBQVcsS0FBSyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDaEYsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM1QjtZQUNELE1BQU0sVUFBVSxHQUEwQjtnQkFDdEMsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsY0FBYyxFQUFFLEtBQUs7Z0JBQ3JCLFdBQVcsRUFBRSxhQUFhO2dCQUMxQixTQUFTLEVBQUUsV0FBVztnQkFDdEIsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQzthQUNuQyxDQUFDO1lBQ0YsVUFBVSxDQUFDLGNBQWMsR0FBRyxhQUFhLEtBQUssQ0FBQyxJQUFJLFdBQVcsS0FBSyxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ25KLE9BQU8sVUFBVSxDQUFDO1NBQ3JCO2FBQU07WUFDSCxNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQztJQUlPLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxPQUFnQixFQUFFLHFCQUFvQyxFQUFFLFNBQXVDLEVBQUUsTUFBYztRQUNsSixJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1YsUUFBUSxDQUFDO1NBQ1o7UUFDRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQzlCLElBQUksTUFBTSxLQUFLLHFCQUFxQixFQUFFO1lBQ2xDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRixJQUFJLFNBQVMsRUFBRTtnQkFDWCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQzdDO2lCQUFNO2dCQUNILEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzlFO1lBQ0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pDLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNsRjthQUFNO1lBQ0gsTUFBTSxhQUFhLEdBQTBCO2dCQUN6QyxNQUFNLEVBQUUscUJBQXFCO2dCQUM3QixXQUFXLEVBQUUsQ0FBQyxDQUFDO2dCQUNmLFNBQVMsRUFBRSxDQUFDLENBQUM7Z0JBQ2IsY0FBYyxFQUFFLEtBQUs7Z0JBQ3JCLGdCQUFnQixFQUFFLEVBQUU7YUFDdkIsQ0FBQztZQUNGLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ1osU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUQ7WUFDRCxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6QyxPQUFPLGFBQWEsQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFJTyxNQUFNLENBQUMscUJBQXFCLENBQUMsT0FBZ0IsRUFBRSxxQkFBb0MsRUFBRSxTQUF1QyxFQUFFLE1BQWM7UUFDaEosTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUM5QixJQUFJLE1BQU0sS0FBSyxxQkFBcUIsRUFBRTtZQUNsQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDOUUsSUFBSSxTQUFTLEVBQUU7Z0JBQ1gsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMxQztpQkFBTTtnQkFDSCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDMUU7WUFDRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2hGO2FBQU07WUFDSCxNQUFNLGFBQWEsR0FBMEI7Z0JBQ3pDLE1BQU0sRUFBRSxxQkFBcUI7Z0JBQzdCLFdBQVcsRUFBRSxDQUFDO2dCQUNkLFNBQVMsRUFBRSxDQUFDO2dCQUNaLGNBQWMsRUFBRSxLQUFLO2dCQUNyQixnQkFBZ0IsRUFBRSxFQUFFO2FBQ3ZCLENBQUM7WUFDRixJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNaLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQTthQUN4RDtZQUNELGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sYUFBYSxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVPLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFnQixFQUFFLEtBQWEsRUFBRSxHQUFXO1FBQ3hFLE1BQU0sS0FBSyxHQUEwQjtZQUNqQyxNQUFNLEVBQUUsT0FBTztZQUNmLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFNBQVMsRUFBRSxHQUFHO1lBQ2QsZ0JBQWdCLEVBQUUsRUFBRTtTQUN2QixDQUFDO1FBQ0YsSUFBSSxPQUFPLFlBQVksV0FBVyxFQUFFO1lBQ2hDLElBQUksT0FBTyxZQUFZLGdCQUFnQixFQUFFO2dCQUNyQyxLQUFLLENBQUMsU0FBUyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQzthQUM1RDtpQkFBTTtnQkFDSCxLQUFLLENBQUMsU0FBUyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7YUFDMUM7U0FFSjthQUFNLElBQUksT0FBTyxZQUFZLGFBQWEsRUFBRTtZQUN6QyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDeEMsS0FBSyxJQUFJLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDOUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDcEU7U0FDSjtRQUNELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8sTUFBTSxDQUFDLG9CQUFvQixDQUFDLGNBQXFDO1FBQ3JFLElBQUksY0FBYyxDQUFDLE1BQU0sWUFBWSxXQUFXLEVBQUU7WUFDOUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxjQUFjLENBQUM7WUFDbEQsSUFBSSxjQUFjLENBQUMsTUFBTSxZQUFZLGdCQUFnQixFQUFFO2dCQUNuRCxjQUFjLENBQUMsY0FBYyxHQUFHLFdBQVcsS0FBSyxDQUFDLElBQUksU0FBUyxLQUFLLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQTthQUN2RztpQkFBTTtnQkFDSCxjQUFjLENBQUMsY0FBYyxHQUFHLFdBQVcsS0FBSyxDQUFDLElBQUksU0FBUyxLQUFLLENBQUMsQ0FBQzthQUN4RTtTQUNKO2FBQU0sSUFBSSxjQUFjLENBQUMsTUFBTSxZQUFZLGFBQWEsRUFBRTtZQUN2RCxNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDO1lBQ3JDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUFDLGdCQUFnQixDQUFDO1lBQ3pELHlCQUF5QjtZQUN6QixJQUFJLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQy9CLElBQUksY0FBYyxDQUFDLFdBQVcsS0FBSyxDQUFDLElBQUksY0FBYyxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUMsRUFBRTtvQkFDckUsY0FBYyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7b0JBQ3JDLE9BQU87aUJBQ1Y7Z0JBQ0QsY0FBYyxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7Z0JBQ3RDLE9BQU87YUFDVjtZQUNELE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlELE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvRCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1RCxjQUFjLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQztZQUM1QyxjQUFjLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQztZQUN6QyxjQUFjLENBQUMsY0FBYyxHQUFHLGNBQWMsS0FBSyxDQUFDLElBQUksU0FBUyxDQUFDLGNBQWMsSUFBSSxhQUFhLEtBQUssTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksUUFBUSxDQUFDLGNBQWMsQ0FBQztTQUN0SjtJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQWdDLEVBQUUsU0FBZ0M7UUFDakYsT0FBTyxTQUFTLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUMsV0FBVyxJQUFJLFNBQVMsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLFNBQVMsQ0FBQztJQUNuSixDQUFDO0lBR0Q7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxjQUE4QjtRQUMxRCxNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxHQUFHLGNBQWMsQ0FBQztRQUMzRixJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pDLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBMEIsQ0FBQztRQUNwRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUEwQixDQUFDO1FBQ2hGLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxZQUFZLElBQUksVUFBVSxDQUFDLFdBQVcsS0FBSyxXQUFXLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxVQUFVLElBQUksUUFBUSxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUU7WUFDcEosY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sT0FBTyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7WUFDckMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM1RCxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BELGNBQWMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakMsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsV0FBa0M7UUFDekQsSUFBSSxXQUFXLENBQUMsTUFBTSxZQUFZLFdBQVcsRUFBRTtZQUMzQyxPQUFPLFdBQVcsQ0FBQztTQUN0QjthQUFNO1lBQ0gsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzFELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdEUsSUFBSSxHQUFHLEVBQUU7b0JBQ0wsT0FBTyxHQUFHLENBQUM7aUJBQ2Q7YUFDSjtTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxXQUFrQztRQUN2RCxJQUFJLFdBQVcsQ0FBQyxNQUFNLFlBQVksV0FBVyxFQUFFO1lBQzNDLE9BQU8sV0FBVyxDQUFDO1NBQ3RCO2FBQU07WUFDSCxLQUFLLElBQUksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQy9ELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEUsSUFBSSxHQUFHLEVBQUU7b0JBQ0wsT0FBTyxHQUFHLENBQUM7aUJBQ2Q7YUFDSjtTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7O01BSUU7SUFDRixNQUFNLENBQUMsOEJBQThCLENBQUMsS0FBNEIsRUFBRSxPQUErQztRQUMvRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDZixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUMsOEJBQThCLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQzNFO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxLQUE0QixFQUFFLEdBQVk7UUFDckUsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUN0RCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxjQUFjLEVBQUU7Z0JBQ3hELEdBQUcsR0FBRyxJQUFJLENBQUM7YUFDZDtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0NBRUoifQ==
|
312
|
+
//# sourceMappingURL=range-util.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"range-util.js","sourceRoot":"lib/","sources":["framework/range-util.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"range-util.js","sourceRoot":"lib/","sources":["framework/range-util.ts"],"names":[],"mappings":"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","sourcesContent":["import { BranchElement, Element, LeafElement, SelectionContentRange } from \"./element-define\";\nimport { ElementUtil } from \"./element-util\";\nimport { TableCellElement } from \"./impl/table/table-cell-impl\";\nimport { TableElement } from \"./impl/table/table-impl\";\nimport { TableRowElement } from \"./impl/table/table-row-impl\";\nimport { SelectionRange, SelectionState } from './document-selection'\nimport { TextGroupElement } from \"./impl/text/text-impl\";\n\n\nexport class RangeUtil {\n\n static getSelctionRange(startControl: LeafElement, startOffset: number, endControl: LeafElement, endOffset: number, ancestorCommonControl: BranchElement): SelectionContentRange {\n if (ancestorCommonControl instanceof TableElement || ancestorCommonControl instanceof TableRowElement) {\n const tbElement = ancestorCommonControl instanceof TableElement ? ancestorCommonControl : ancestorCommonControl.parent as TableElement;\n return this.getTableSelectionRange(startControl, startOffset, endControl, endOffset, tbElement);\n }\n if (startControl === endControl && startControl.parent === ancestorCommonControl) {\n return this.getCollapsedRange(startControl, startOffset, endOffset, ancestorCommonControl);\n }\n const startRange = this.getStartForbackTreeData(startControl, ancestorCommonControl, null, startOffset).selectedChildren[0];\n const endRange = this.getEndForwardTreeData(endControl, ancestorCommonControl, null, endOffset).selectedChildren[0];\n const startIndex = ancestorCommonControl.getChildIndex(startRange.target);\n const endIndex = ancestorCommonControl.getChildIndex(endRange.target);\n const commonRange = this.getChildTreeData(ancestorCommonControl, startIndex + 1, endIndex);\n if (this.rangeEquals(startRange, endRange)) {\n commonRange.selectedChildren.unshift(startRange);\n } else {\n commonRange.selectedChildren.unshift(startRange);\n commonRange.selectedChildren.push(endRange);\n }\n this.setRangeFullSelected(commonRange);\n return commonRange;\n }\n\n static getCollapsedRange(startControl: LeafElement, startOffset: number, endOffset: number, ancestorCommonControl: BranchElement): SelectionContentRange {\n const range = {\n target: ancestorCommonControl,\n isFullSelected: false,\n startOffset: startControl.getIndex(),\n endOffset: startControl.getIndex() + 1,\n selectedChildren: [this.getChildTreeData(startControl, startOffset, endOffset)]\n }\n this.setRangeFullSelected(range);\n return range;\n\n }\n\n /**\n * 获取表格选区的内容\n * @param startControl \n * @param startOffset \n * @param endControl \n * @param endOffset \n * @param tb \n */\n static getTableSelectionRange(startControl: LeafElement, startOffset: number, endControl: LeafElement, endOffset: number, tb: TableElement): SelectionContentRange {\n const startCell = ElementUtil.getParentByType(startControl, TableCellElement);\n const endCell = ElementUtil.getParentByType(endControl, TableCellElement);\n if (startCell && endCell && startCell.parent.parent === tb && endCell.parent.parent === tb) {\n let startRowIndex = startCell.parent.getIndex();\n let endRowIndex = endCell.parent.getIndex();\n let startColIndex = startCell.getIndex();\n let endColIndex = endCell.getIndex();\n if (startColIndex > endColIndex) {\n [startColIndex, endColIndex] = [endColIndex, startColIndex];\n }\n if (startRowIndex > endRowIndex) {\n [startRowIndex, endRowIndex] = [endRowIndex, startRowIndex];\n }\n const region = { startRow: startRowIndex, endRow: endRowIndex, startCol: startColIndex, endCol: endColIndex };//this.getTableRectSelectedRegion(tb, { startRow: startRowIndex, endRow: endRowIndex, startCol: startColIndex, endCol: endColIndex });\n startRowIndex = region.startRow;\n endRowIndex = region.endRow;\n startColIndex = region.startCol;\n endColIndex = region.endCol;\n const rowRanges: Array<SelectionContentRange> = [];\n for (let i = startRowIndex; i <= endRowIndex; i++) {\n const cellRanges: Array<SelectionContentRange> = [];\n const row = tb.getChild(i) as TableRowElement;\n for (let j = startColIndex; j <= endColIndex; j++) {\n const cell = row.getChild(j) as TableCellElement;\n const cellFirstLeafElement = ElementUtil.getFirstLeafElement(cell) as LeafElement;\n const cellLastLeafElement = ElementUtil.getLastLeafElement(cell) as LeafElement;\n if (!cellFirstLeafElement && !cell.isNotBeMergedCell()) {\n cellRanges.push({\n target: cell,\n isFullSelected: true,\n startOffset: 0,\n endOffset: 1,\n selectedChildren: []\n });\n } else {\n const cellRange = this.getSelctionRange(cellFirstLeafElement, 0, cellLastLeafElement, 1, cell);\n cellRanges.push(cellRange);\n }\n }\n const rowRange: SelectionContentRange = {\n target: row,\n isFullSelected: false,\n startOffset: startColIndex,\n endOffset: endColIndex,\n selectedChildren: [...cellRanges]\n };\n rowRange.isFullSelected = startColIndex === 0 && endColIndex === row.length - 1;\n rowRanges.push(rowRange);\n }\n const tableRange: SelectionContentRange = {\n target: tb,\n isFullSelected: false,\n startOffset: startRowIndex,\n endOffset: endRowIndex,\n selectedChildren: [...rowRanges]\n };\n tableRange.isFullSelected = startRowIndex === 0 && endRowIndex === tb.length - 1 && tableRange.selectedChildren.every(item => item.isFullSelected);\n return tableRange;\n } else {\n throw new Error('当前单元格和表格不对应');\n }\n }\n\n\n\n private static getStartForbackTreeData(control: Element, ancestorCommonControl: BranchElement, childData: SelectionContentRange | null, offset: number): SelectionContentRange {\n if (!control) {\n debugger;\n }\n const parent = control.parent;\n if (parent !== ancestorCommonControl) {\n const range = this.getChildTreeData(parent, parent.getChildIndex(control) + 1, -1);\n if (childData) {\n range.selectedChildren.unshift(childData);\n } else {\n range.selectedChildren.unshift(this.getChildTreeData(control, offset, -1));\n }\n this.setRangeFullSelected(range);\n return this.getStartForbackTreeData(parent, ancestorCommonControl, range, -99);\n } else {\n const ancestorRange: SelectionContentRange = {\n target: ancestorCommonControl,\n startOffset: -1,\n endOffset: -1,\n isFullSelected: false,\n selectedChildren: []\n };\n if (!childData) {\n childData = this.getChildTreeData(control, offset, -1);\n }\n ancestorRange.selectedChildren.push(childData);\n this.setRangeFullSelected(ancestorRange);\n return ancestorRange;\n }\n }\n\n\n\n private static getEndForwardTreeData(control: Element, ancestorCommonControl: BranchElement, childData: SelectionContentRange | null, offset: number): SelectionContentRange {\n const parent = control.parent;\n if (parent !== ancestorCommonControl) {\n const range = this.getChildTreeData(parent, 0, parent.getChildIndex(control));\n if (childData) {\n range.selectedChildren.push(childData);\n } else {\n range.selectedChildren.push(this.getChildTreeData(control, 0, offset));\n }\n this.setRangeFullSelected(range);\n return this.getEndForwardTreeData(parent, ancestorCommonControl, range, -99);\n } else {\n const ancestorRange: SelectionContentRange = {\n target: ancestorCommonControl,\n startOffset: 0,\n endOffset: 0,\n isFullSelected: false,\n selectedChildren: []\n };\n if (!childData) {\n childData = this.getChildTreeData(control, 0, offset)\n }\n ancestorRange.selectedChildren.push(childData);\n this.setRangeFullSelected(ancestorRange);\n return ancestorRange;\n }\n }\n\n private static getChildTreeData(control: Element, start: number, end: number): SelectionContentRange {\n const range: SelectionContentRange = {\n target: control,\n isFullSelected: false,\n startOffset: start,\n endOffset: end,\n selectedChildren: []\n };\n if (control instanceof LeafElement) {\n if (control instanceof TextGroupElement) {\n range.endOffset = end === -1 ? control.text.length : end;\n } else {\n range.endOffset = end === -1 ? 1 : end;\n }\n\n } else if (control instanceof BranchElement) {\n end = end === -1 ? control.length : end;\n for (let i = start; i < end; i++) {\n const child = control.getChild(i);\n range.selectedChildren.push(this.getChildTreeData(child, 0, -1));\n }\n }\n this.setRangeFullSelected(range);\n return range;\n }\n\n private static setRangeFullSelected(selectionRange: SelectionContentRange): void {\n if (selectionRange.target instanceof LeafElement) {\n const { startOffset, endOffset } = selectionRange;\n if (selectionRange.target instanceof TextGroupElement) {\n selectionRange.isFullSelected = startOffset === 0 && endOffset === selectionRange.target.text.length\n } else {\n selectionRange.isFullSelected = startOffset === 0 && endOffset === 1;\n }\n } else if (selectionRange.target instanceof BranchElement) {\n const parent = selectionRange.target;\n const selectedChildren = selectionRange.selectedChildren;\n //被合并的table-cell,内容为empty\n if (selectedChildren.length === 0) {\n if (selectionRange.startOffset === 0 && selectionRange.endOffset === -1) {\n selectionRange.isFullSelected = true;\n return;\n }\n selectionRange.isFullSelected = false;\n return;\n }\n const firstItem = selectedChildren[0];\n const firstItemIndex = parent.getChildIndex(firstItem.target);\n const lastItem = selectedChildren[selectedChildren.length - 1];\n const lastItemIndex = parent.getChildIndex(lastItem.target);\n selectionRange.startOffset = firstItemIndex;\n selectionRange.endOffset = lastItemIndex;\n selectionRange.isFullSelected = firstItemIndex === 0 && firstItem.isFullSelected && lastItemIndex === parent.length - 1 && lastItem.isFullSelected;\n }\n }\n\n static rangeEquals(selRange1: SelectionContentRange, selRange2: SelectionContentRange): boolean {\n return selRange1.target === selRange2.target && selRange1.startOffset === selRange2.startOffset && selRange1.endOffset === selRange2.endOffset;\n }\n\n\n /**\n * 根据选区范围更正选区内容状态\n * @param selectedRange \n * @param selectionState \n */\n static fixSelectionStateByRange(selectionState: SelectionState): boolean {\n const { startControl, startOffset, endControl, endOffset, selectedRange } = selectionState;\n if (!selectedRange || !startControl) {\n return false;\n }\n const startRange = this.getStartRangeTarget(selectedRange) as SelectionContentRange;\n const endRange = this.getEndRangeTarget(selectedRange) as SelectionContentRange;\n if (startRange.target !== startControl || startRange.startOffset !== startOffset || endRange.target !== endControl || endRange.endOffset !== endOffset) {\n selectionState.clear();\n const ssRange = new SelectionRange();\n ssRange.setStart(startRange.target, startRange.startOffset);\n ssRange.setEnd(endRange.target, endRange.endOffset);\n selectionState.addRange(ssRange);\n return true;\n }\n return false;\n }\n\n static getStartRangeTarget(parentRange: SelectionContentRange): SelectionContentRange | null {\n if (parentRange.target instanceof LeafElement) {\n return parentRange;\n } else {\n for (let i = 0; i < parentRange.selectedChildren.length; i++) {\n const res = this.getStartRangeTarget(parentRange.selectedChildren[i]);\n if (res) {\n return res;\n }\n }\n }\n return null;\n }\n\n static getEndRangeTarget(parentRange: SelectionContentRange): SelectionContentRange | null {\n if (parentRange.target instanceof LeafElement) {\n return parentRange;\n } else {\n for (let i = parentRange.selectedChildren.length - 1; i >= 0; i--) {\n const res = this.getEndRangeTarget(parentRange.selectedChildren[i]);\n if (res) {\n return res;\n }\n }\n }\n return null;\n }\n\n /**\n * 循环递归执行选区对象方法\n * @param range \n * @param handler \n */\n static recursionTraversalRangeHandler(range: SelectionContentRange, handler: (range: SelectionContentRange) => void): void {\n handler(range);\n for (let i = 0; i < range.selectedChildren.length; i++) {\n this.recursionTraversalRangeHandler(range.selectedChildren[i], handler);\n }\n }\n\n /**\n * 判断元素是否被完全选中\n * @param range \n */\n static checkElementFullInRange(range: SelectionContentRange, ele: Element): boolean {\n let res = false;\n this.recursionTraversalRangeHandler(range, (childRange) => {\n if (childRange.target === ele && childRange.isFullSelected) {\n res = true;\n }\n });\n return res;\n }\n\n}"]}
|