@hailin-zheng/editor-core 2.2.7 → 2.2.8
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/editor.css +348 -348
- package/index-cjs.js +208 -254
- package/index-cjs.js.map +1 -1
- package/index.js +208 -254
- package/index.js.map +1 -1
- package/med_editor/framework/element-define.d.ts +8 -5
- package/med_editor/framework/element-serialize.d.ts +1 -1
- package/med_editor/framework/impl/data-element/data-container-impl.d.ts +8 -8
- package/med_editor/framework/impl/document/doc-body-impl.d.ts +2 -2
- package/med_editor/framework/impl/document/doc-body-part-impl.d.ts +2 -2
- package/med_editor/framework/impl/paragraph/p-impl.d.ts +2 -2
- package/med_editor/framework/impl/table/table-impl.d.ts +2 -2
- package/med_editor/framework/impl/table/table-row-impl.d.ts +2 -2
- package/med_editor/framework/render-define.d.ts +5 -6
- package/package.json +2 -2
package/index.js
CHANGED
@@ -388,7 +388,6 @@ class BlockContentRenderObject extends BranchRenderObject {
|
|
388
388
|
}
|
389
389
|
}
|
390
390
|
class InlineGroupRenderObject extends BranchRenderObject {
|
391
|
-
paintPos;
|
392
391
|
}
|
393
392
|
/**
|
394
393
|
* 包含块级渲染元素的容器元素,例如body、table-cell等
|
@@ -402,18 +401,18 @@ class BlockContainerRenderObject extends BranchRenderObject {
|
|
402
401
|
/**
|
403
402
|
* 多级 ‘BlockLineRectRenderObject’ 包裹元素,例如 p、table
|
404
403
|
*/
|
405
|
-
class
|
404
|
+
class MultiBlockLineRenderObject extends BlockContentRenderObject {
|
406
405
|
}
|
407
406
|
/**
|
408
407
|
* 容器-子内容为多个行内块级元素,例如table-row
|
409
408
|
*/
|
410
|
-
class InlineBlockContainer extends
|
409
|
+
class InlineBlockContainer extends MultiBlockLineRenderObject {
|
411
410
|
}
|
412
411
|
/**
|
413
412
|
* 服务于table-cell
|
414
413
|
* 可被多级拆分的元素
|
415
414
|
*/
|
416
|
-
class InlineMuiltBlockLineRenderObject extends
|
415
|
+
class InlineMuiltBlockLineRenderObject extends MultiBlockLineRenderObject {
|
417
416
|
}
|
418
417
|
/**
|
419
418
|
* 最小不可分割单位的块级行框,例如 p-line
|
@@ -1697,12 +1696,22 @@ class ViewOptions {
|
|
1697
1696
|
defaultColor = "#000000";
|
1698
1697
|
currentFontSize = 14;
|
1699
1698
|
currentFontName = '宋体';
|
1700
|
-
|
1701
|
-
|
1702
|
-
|
1699
|
+
//选区颜色
|
1700
|
+
selectionColor = 'rgb(131,175,155,0.5)';
|
1701
|
+
dataDecoratorNormalColor = '#0050b3';
|
1702
|
+
dataDecoratorMouseEnterColor = '#0050b3';
|
1703
|
+
dataDecoratorFocusedColor = '#0050b3';
|
1704
|
+
//数据元没有输入值时背景颜色
|
1705
|
+
dataEleEmptyBgColor = '';
|
1706
|
+
//数据元鼠标悬浮颜色
|
1707
|
+
dataEleMouseEnterBgColor = '#d9d9d9';
|
1708
|
+
//数据元只读背景颜色
|
1709
|
+
dataEleReadOnlyBgColor = '#d9d9d9';
|
1710
|
+
//数据元焦点背景颜色
|
1711
|
+
dataEleFocusedBgColor = '#d9d9d9';
|
1712
|
+
//数据元正常背景颜色
|
1713
|
+
dataEleNormalBgColor = '#fafafa';
|
1703
1714
|
dataEleErrorBgColor = '#ff4d4f';
|
1704
|
-
dataEleReadOnlyOverlayColor = '#d9d9d9';
|
1705
|
-
dataEleOutlineColor = 'rgb(131,175,155,0.7)';
|
1706
1715
|
viewBackcolor = 'rgb(230,230,230)';
|
1707
1716
|
paraSymbolColor = 'rgb(128,128,128)';
|
1708
1717
|
dataGroupColor = 'rgb(0,80,179)';
|
@@ -1717,7 +1726,6 @@ class ViewOptions {
|
|
1717
1726
|
showCharRect;
|
1718
1727
|
//数据元交互修饰模式
|
1719
1728
|
dataEleDecoratorMode = 'outline';
|
1720
|
-
dataEleDecoratorColor = '#ddd';
|
1721
1729
|
showTabChar;
|
1722
1730
|
showSpaceChar;
|
1723
1731
|
showLineBreak;
|
@@ -2900,7 +2908,7 @@ class DataDecorateElement extends LeafElement {
|
|
2900
2908
|
const render = new DataDecorateRenderObject(this);
|
2901
2909
|
//render.rect.width = this.dProps.size / 2;
|
2902
2910
|
render.rect.width = 1;
|
2903
|
-
render.rect.height = 14;
|
2911
|
+
render.rect.height = Math.ceil(14 * TEXT_HEIGHT_FACTOR);
|
2904
2912
|
return render;
|
2905
2913
|
}
|
2906
2914
|
serialize() {
|
@@ -2926,6 +2934,14 @@ class DataDecorateRenderObject extends LeafRenderObject {
|
|
2926
2934
|
// if(this.element.parent.parent.type==='data-group'){
|
2927
2935
|
// return null;
|
2928
2936
|
// }
|
2937
|
+
const options = event.options;
|
2938
|
+
let color = options.dataDecoratorNormalColor;
|
2939
|
+
if (this.element.dataEle.isMouseenter && options.dataDecoratorMouseEnterColor) {
|
2940
|
+
color = options.dataDecoratorMouseEnterColor;
|
2941
|
+
}
|
2942
|
+
if (this.element.dataEle.isFocused && options.dataDecoratorFocusedColor) {
|
2943
|
+
color = options.dataDecoratorFocusedColor;
|
2944
|
+
}
|
2929
2945
|
const element = this.element;
|
2930
2946
|
const lineWidth = 3;
|
2931
2947
|
let path = '';
|
@@ -2939,7 +2955,7 @@ class DataDecorateRenderObject extends LeafRenderObject {
|
|
2939
2955
|
path = `M ${x - lineWidth} 2 L ${x} 2 L ${x} ${height} L ${x - lineWidth} ${height}`;
|
2940
2956
|
}
|
2941
2957
|
return ElementUtil.createSvgPath({
|
2942
|
-
stroke:
|
2958
|
+
stroke: color,
|
2943
2959
|
fill: "none",
|
2944
2960
|
'stroke-width': 1,
|
2945
2961
|
d: path
|
@@ -3105,7 +3121,7 @@ class ParagraphElement extends BlockContentElement {
|
|
3105
3121
|
return new ParagraphElement();
|
3106
3122
|
}
|
3107
3123
|
}
|
3108
|
-
class ParagraphRenderObject extends
|
3124
|
+
class ParagraphRenderObject extends MultiBlockLineRenderObject {
|
3109
3125
|
/**
|
3110
3126
|
* 绘制项目符号
|
3111
3127
|
*/
|
@@ -3654,7 +3670,7 @@ class DocumentRenderObject extends BlockContainerRenderObject {
|
|
3654
3670
|
},
|
3655
3671
|
},
|
3656
3672
|
children: [
|
3657
|
-
pageCorner,
|
3673
|
+
pageCorner, highlight, ...CommonUtil.toArray(event.getChildNodes(this)), pageNum, selection, copyright
|
3658
3674
|
]
|
3659
3675
|
};
|
3660
3676
|
}
|
@@ -3692,11 +3708,10 @@ class DocumentRenderObject extends BlockContainerRenderObject {
|
|
3692
3708
|
}
|
3693
3709
|
const str = "\u6f14\u793a\u7248\u672c";
|
3694
3710
|
const textProps = new TextProps();
|
3695
|
-
textProps.color = "#
|
3696
|
-
textProps.fontName = '
|
3711
|
+
textProps.color = "#bfbfbf";
|
3712
|
+
textProps.fontName = '宋体';
|
3697
3713
|
textProps.fontSize = 80;
|
3698
3714
|
textProps.fontStyle = 'italic';
|
3699
|
-
event.renderCtx.contentContext.measureText(str, textProps);
|
3700
3715
|
const getTextRotationAngle = (width, height) => {
|
3701
3716
|
return Math.atan(height / width) * 180 / Math.PI;
|
3702
3717
|
};
|
@@ -3715,6 +3730,7 @@ class DocumentRenderObject extends BlockContainerRenderObject {
|
|
3715
3730
|
'font-size': textProps.fontSize,
|
3716
3731
|
"stroke": textProps.color,
|
3717
3732
|
'fill': '#fff',
|
3733
|
+
'opacity': '0.5',
|
3718
3734
|
x: this.rect.width / 2,
|
3719
3735
|
y: this.rect.height / 2,
|
3720
3736
|
}
|
@@ -4102,68 +4118,85 @@ class DataElementBaseFactory extends ElementFactory {
|
|
4102
4118
|
* @param r
|
4103
4119
|
*/
|
4104
4120
|
function exportDecoratorHTML(event, r) {
|
4105
|
-
|
4106
|
-
if (!canPaint) {
|
4121
|
+
if (event.mode === 'print') {
|
4107
4122
|
return;
|
4108
4123
|
}
|
4109
|
-
const
|
4110
|
-
|
4111
|
-
|
4112
|
-
|
4124
|
+
const options = event.options;
|
4125
|
+
let color = options.dataEleNormalBgColor;
|
4126
|
+
//空数据元填充颜色
|
4127
|
+
if (r.element.length === 2 && options.dataEleEmptyBgColor) {
|
4128
|
+
color = options.dataEleEmptyBgColor;
|
4113
4129
|
}
|
4114
|
-
if (
|
4115
|
-
|
4116
|
-
const bgY = event.relativePagePos.y;
|
4117
|
-
event.highlights.push(ElementUtil.getFillSvgRect(bgX, bgY, r.rect.width, r.rect.height, color));
|
4118
|
-
return;
|
4130
|
+
if (r.element.isMouseenter && options.dataEleMouseEnterBgColor) {
|
4131
|
+
color = options.dataEleMouseEnterBgColor;
|
4119
4132
|
}
|
4120
|
-
|
4121
|
-
|
4122
|
-
const renderPosMap = getCurrentParaGroupRenders(r).map(item => ({ pos: getRenderPosToDoc(item), render: item }));
|
4123
|
-
if (renderPosMap.length > 1) {
|
4124
|
-
const secondGroupRenderPos = renderPosMap[1].pos;
|
4125
|
-
if (secondGroupRenderPos.x + renderPosMap[1].render.rect.width > event.relativePagePos.x) {
|
4126
|
-
const leftPoints = [];
|
4127
|
-
const rightPoints = [];
|
4128
|
-
for (let i = 0; i < renderPosMap.length; i++) {
|
4129
|
-
const groupRender = renderPosMap[i].render;
|
4130
|
-
const groupRenderPos = renderPosMap[i].pos;
|
4131
|
-
leftPoints.push({ x: groupRenderPos.x, y: groupRenderPos.y - verOffset });
|
4132
|
-
rightPoints.push({
|
4133
|
-
x: groupRenderPos.x + groupRender.rect.width,
|
4134
|
-
y: groupRenderPos.y - verOffset
|
4135
|
-
});
|
4136
|
-
leftPoints.push({
|
4137
|
-
x: groupRenderPos.x,
|
4138
|
-
y: groupRenderPos.y + groupRender.rect.height + verOffset * 2
|
4139
|
-
});
|
4140
|
-
rightPoints.push({
|
4141
|
-
x: groupRenderPos.x + groupRender.rect.width,
|
4142
|
-
y: groupRenderPos.y + groupRender.rect.height + verOffset * 2
|
4143
|
-
});
|
4144
|
-
}
|
4145
|
-
const sharpPoints1 = CommonUtil.resharpPoints(rightPoints);
|
4146
|
-
const sharpPoints = CommonUtil.resharpPoints([...leftPoints.reverse()]);
|
4147
|
-
const path = [...sharpPoints, ...sharpPoints1, sharpPoints[0]].map((item, index) => ((index === 0) ? 'M' : "L") + item.x + " " + item.y).join(" ");
|
4148
|
-
event.highlights.push(ElementUtil.createSvgPath({
|
4149
|
-
d: path,
|
4150
|
-
stroke: color,
|
4151
|
-
fill: 'none',
|
4152
|
-
'stroke-width': 1
|
4153
|
-
}));
|
4154
|
-
return;
|
4155
|
-
}
|
4156
|
-
}
|
4157
|
-
for (let i = 0; i < renderPosMap.length; i++) {
|
4158
|
-
const currRen = renderPosMap[i];
|
4159
|
-
event.highlights.push(ElementUtil.createSvgPath({
|
4160
|
-
d: `M${currRen.pos.x} ${currRen.pos.y} L${currRen.pos.x + currRen.render.rect.width} ${currRen.pos.y} L${currRen.pos.x + currRen.render.rect.width} ${currRen.pos.y + currRen.render.rect.height} L${currRen.pos.x} ${currRen.pos.y + currRen.render.rect.height} Z`,
|
4161
|
-
stroke: '#0050b3',
|
4162
|
-
fill: 'none',
|
4163
|
-
'stroke-width': 1
|
4164
|
-
}));
|
4165
|
-
}
|
4133
|
+
if (r.element.isFocused && options.dataEleFocusedBgColor) {
|
4134
|
+
color = options.dataEleFocusedBgColor;
|
4166
4135
|
}
|
4136
|
+
//绘制背景
|
4137
|
+
const bgX = event.relativePagePos.x;
|
4138
|
+
const bgY = event.relativePagePos.y;
|
4139
|
+
event.highlights.push(ElementUtil.getFillSvgRect(bgX, bgY, r.rect.width, r.rect.height, color));
|
4140
|
+
// const canPaint = r.element.isMouseenter || r.element.isFocused;
|
4141
|
+
// if (!canPaint) {
|
4142
|
+
// return;
|
4143
|
+
// }
|
4144
|
+
// const mode = event.options.dataEleDecoratorMode;
|
4145
|
+
// if (mode === 'none') {
|
4146
|
+
// return;
|
4147
|
+
// }
|
4148
|
+
// if (mode === 'overlay') {
|
4149
|
+
// const bgX = event.relativePagePos.x;
|
4150
|
+
// const bgY = event.relativePagePos.y;
|
4151
|
+
// event.highlights.push(ElementUtil.getFillSvgRect(bgX, bgY, r.rect.width, r.rect.height, color));
|
4152
|
+
// return;
|
4153
|
+
// } else if (mode === 'outline') {
|
4154
|
+
// const verOffset = 0;
|
4155
|
+
// const renderPosMap = getCurrentParaGroupRenders(r).map(item => ({ pos: getRenderPosToDoc(item), render: item }));
|
4156
|
+
// if (renderPosMap.length > 1) {
|
4157
|
+
// const secondGroupRenderPos = renderPosMap[1].pos;
|
4158
|
+
// if (secondGroupRenderPos.x + renderPosMap[1].render.rect.width > event.relativePagePos.x) {
|
4159
|
+
// const leftPoints: Array<Position> = [];
|
4160
|
+
// const rightPoints: Array<Position> = [];
|
4161
|
+
// for (let i = 0; i < renderPosMap.length; i++) {
|
4162
|
+
// const groupRender = renderPosMap[i].render;
|
4163
|
+
// const groupRenderPos = renderPosMap[i].pos;
|
4164
|
+
// leftPoints.push({ x: groupRenderPos.x, y: groupRenderPos.y - verOffset });
|
4165
|
+
// rightPoints.push({
|
4166
|
+
// x: groupRenderPos.x + groupRender.rect.width,
|
4167
|
+
// y: groupRenderPos.y - verOffset
|
4168
|
+
// });
|
4169
|
+
// leftPoints.push({
|
4170
|
+
// x: groupRenderPos.x,
|
4171
|
+
// y: groupRenderPos.y + groupRender.rect.height + verOffset * 2
|
4172
|
+
// });
|
4173
|
+
// rightPoints.push({
|
4174
|
+
// x: groupRenderPos.x + groupRender.rect.width,
|
4175
|
+
// y: groupRenderPos.y + groupRender.rect.height + verOffset * 2
|
4176
|
+
// });
|
4177
|
+
// }
|
4178
|
+
// const sharpPoints1 = CommonUtil.resharpPoints(rightPoints);
|
4179
|
+
// const sharpPoints = CommonUtil.resharpPoints([...leftPoints.reverse()]);
|
4180
|
+
// const path = [...sharpPoints, ...sharpPoints1, sharpPoints[0]].map((item, index) => ((index === 0) ? 'M' : "L") + item.x + " " + item.y).join(" ")
|
4181
|
+
// event.highlights.push(ElementUtil.createSvgPath({
|
4182
|
+
// d: path,
|
4183
|
+
// stroke: color,
|
4184
|
+
// fill: 'none',
|
4185
|
+
// 'stroke-width': 1
|
4186
|
+
// }));
|
4187
|
+
// return;
|
4188
|
+
// }
|
4189
|
+
// }
|
4190
|
+
// for (let i = 0; i < renderPosMap.length; i++) {
|
4191
|
+
// const currRen = renderPosMap[i];
|
4192
|
+
// event.highlights.push(ElementUtil.createSvgPath({
|
4193
|
+
// d: `M${currRen.pos.x} ${currRen.pos.y} L${currRen.pos.x + currRen.render.rect.width} ${currRen.pos.y} L${currRen.pos.x + currRen.render.rect.width} ${currRen.pos.y + currRen.render.rect.height} L${currRen.pos.x} ${currRen.pos.y + currRen.render.rect.height} Z`,
|
4194
|
+
// stroke: '#0050b3',
|
4195
|
+
// fill: 'none',
|
4196
|
+
// 'stroke-width': 1
|
4197
|
+
// }));
|
4198
|
+
// }
|
4199
|
+
// }
|
4167
4200
|
}
|
4168
4201
|
/**
|
4169
4202
|
* 渲染数据源验证错误提示框
|
@@ -4268,30 +4301,6 @@ function renderUnderWavyLine(event, r, color) {
|
|
4268
4301
|
d += Array(Math.ceil(width / 3)).fill("3,0").join(' t ');
|
4269
4302
|
const path = ElementUtil.createSvgPath({ d, fill: 'none', stroke: color });
|
4270
4303
|
event.highlights.push(path);
|
4271
|
-
}
|
4272
|
-
/**
|
4273
|
-
* 获取渲染元素相对稳当的位置
|
4274
|
-
* @param render
|
4275
|
-
* @param refPos
|
4276
|
-
*/
|
4277
|
-
function getRenderPosToDoc(render, refPos = null) {
|
4278
|
-
refPos = refPos ?? { x: 0, y: 0 };
|
4279
|
-
if (render instanceof DocumentRenderObject) {
|
4280
|
-
return refPos;
|
4281
|
-
}
|
4282
|
-
const currPos = { x: render.rect.x + refPos.x, y: render.rect.y + refPos.y };
|
4283
|
-
return getRenderPosToDoc(render.parent, currPos);
|
4284
|
-
}
|
4285
|
-
function getCurrentParaGroupRenders(r) {
|
4286
|
-
const renders = [];
|
4287
|
-
const currParaRender = ElementUtil.getParentRender(r, ParagraphRenderObject);
|
4288
|
-
for (let i = 0; i < r.element.paintRenders.length; i++) {
|
4289
|
-
const paraRender = ElementUtil.getParentRender(r.element.paintRenders[i], ParagraphRenderObject);
|
4290
|
-
if (paraRender === currParaRender) {
|
4291
|
-
renders.push(r.element.paintRenders[i]);
|
4292
|
-
}
|
4293
|
-
}
|
4294
|
-
return renders;
|
4295
4304
|
}
|
4296
4305
|
|
4297
4306
|
class DocumentBodyElement extends BlockContainerElement {
|
@@ -4333,7 +4342,7 @@ class DocumentBodyElement extends BlockContainerElement {
|
|
4333
4342
|
super.beginMeasure(data);
|
4334
4343
|
}
|
4335
4344
|
}
|
4336
|
-
class DocumentBodyRenderObject extends
|
4345
|
+
class DocumentBodyRenderObject extends MultiBlockLineRenderObject {
|
4337
4346
|
clone(cloneData = true) {
|
4338
4347
|
const cloneRender = new DocumentBodyRenderObject(this.element);
|
4339
4348
|
cloneRender.rect = ElementUtil.cloneRect(this.rect);
|
@@ -4632,7 +4641,7 @@ class TableRowElement extends BlockContainerElement {
|
|
4632
4641
|
return tr;
|
4633
4642
|
}
|
4634
4643
|
}
|
4635
|
-
class TableRowRenderObject extends
|
4644
|
+
class TableRowRenderObject extends MultiBlockLineRenderObject {
|
4636
4645
|
//被截断的行是否需要重新计算高度
|
4637
4646
|
remeasureState = true;
|
4638
4647
|
//当前行是否存在合并单元格
|
@@ -4862,9 +4871,7 @@ class TextGroupRenderObject extends LeafRenderObject {
|
|
4862
4871
|
event.highlights.push(ElementUtil.getStrokeSvgPath(path, '#000', 1));
|
4863
4872
|
}
|
4864
4873
|
//处理null-text
|
4865
|
-
if (this.element.isDecorate && this.element.disableClick && !this.element.parent)
|
4866
|
-
t.data.attrs['opacity'] = '0.58';
|
4867
|
-
}
|
4874
|
+
if (this.element.isDecorate && this.element.disableClick && !this.element.parent) ;
|
4868
4875
|
return t;
|
4869
4876
|
}
|
4870
4877
|
}
|
@@ -6131,7 +6138,7 @@ class TableElement extends BlockContainerElement {
|
|
6131
6138
|
};
|
6132
6139
|
}
|
6133
6140
|
}
|
6134
|
-
class TableRenderObject extends
|
6141
|
+
class TableRenderObject extends MultiBlockLineRenderObject {
|
6135
6142
|
setRenderWidth(maxWidth) {
|
6136
6143
|
super.setRenderWidth(maxWidth);
|
6137
6144
|
}
|
@@ -9088,33 +9095,23 @@ class DataContainerElement extends BlockContainerElement {
|
|
9088
9095
|
}
|
9089
9096
|
super.beginMeasure(data);
|
9090
9097
|
}
|
9091
|
-
serialize() {
|
9092
|
-
|
9098
|
+
serialize(viewOptions) {
|
9099
|
+
return {
|
9093
9100
|
type: this.type,
|
9094
|
-
props: {
|
9101
|
+
props: {
|
9102
|
+
...this.props.getSerializeProps(viewOptions)
|
9103
|
+
}
|
9095
9104
|
};
|
9096
|
-
if (this.props.id) {
|
9097
|
-
p['id'] = this.props.id;
|
9098
|
-
}
|
9099
|
-
if (this.props.name) {
|
9100
|
-
p['name'] = this.props.name;
|
9101
|
-
}
|
9102
|
-
if (this.props.caption) {
|
9103
|
-
p['caption'] = this.props.caption;
|
9104
|
-
}
|
9105
|
-
return p;
|
9106
9105
|
}
|
9107
9106
|
clone(data) {
|
9108
9107
|
const clone = new DataContainerElement();
|
9109
|
-
|
9110
|
-
clone.props.name = this.props.name;
|
9111
|
-
clone.props.caption = this.props.caption;
|
9108
|
+
this.props.clone(clone.props);
|
9112
9109
|
cloneElementBase(this, clone);
|
9113
9110
|
cloneChildren(this, clone, data);
|
9114
9111
|
return clone;
|
9115
9112
|
}
|
9116
9113
|
}
|
9117
|
-
class DataContainerRenderObject extends
|
9114
|
+
class DataContainerRenderObject extends MultiBlockLineRenderObject {
|
9118
9115
|
clone(cloneData = true) {
|
9119
9116
|
const cloneRender = new DataContainerRenderObject(this.element);
|
9120
9117
|
cloneRender.rect = ElementUtil.cloneRect(this.rect);
|
@@ -9139,24 +9136,21 @@ class DataContainerFactory extends ElementFactory {
|
|
9139
9136
|
return type === 'data-container';
|
9140
9137
|
}
|
9141
9138
|
createElement(data) {
|
9142
|
-
const
|
9139
|
+
const ele = new DataContainerElement();
|
9143
9140
|
const props = data.props;
|
9144
|
-
|
9145
|
-
|
9146
|
-
}
|
9147
|
-
if (props?.name) {
|
9148
|
-
element.props.name = props.name;
|
9149
|
-
}
|
9150
|
-
if (props?.caption) {
|
9151
|
-
element.props.caption = props.caption;
|
9152
|
-
}
|
9153
|
-
return element;
|
9141
|
+
ElementUtil.readEleBaseProps(ele.props, props);
|
9142
|
+
return ele;
|
9154
9143
|
}
|
9155
9144
|
}
|
9156
|
-
class DataContainerProps {
|
9157
|
-
|
9158
|
-
|
9159
|
-
|
9145
|
+
class DataContainerProps extends DataEleBaseProps {
|
9146
|
+
clone(dest) {
|
9147
|
+
const clone = dest ?? new DataContainerProps();
|
9148
|
+
super.cloneBaseProps(clone);
|
9149
|
+
}
|
9150
|
+
getSerializeProps(options) {
|
9151
|
+
const props = {};
|
9152
|
+
return this.getBaseProps(props, options);
|
9153
|
+
}
|
9160
9154
|
}
|
9161
9155
|
|
9162
9156
|
/**
|
@@ -9242,7 +9236,7 @@ class DocumentBodyPartElement extends BlockContainerElement {
|
|
9242
9236
|
return clone;
|
9243
9237
|
}
|
9244
9238
|
}
|
9245
|
-
class DocumentBodyPartRenderObject extends
|
9239
|
+
class DocumentBodyPartRenderObject extends MultiBlockLineRenderObject {
|
9246
9240
|
clone(cloneData = true) {
|
9247
9241
|
const cloneRender = new DocumentBodyPartRenderObject(this.element);
|
9248
9242
|
cloneRender.rect = ElementUtil.cloneRect(this.rect);
|
@@ -10618,10 +10612,10 @@ class ElementSerialize {
|
|
10618
10612
|
}
|
10619
10613
|
}
|
10620
10614
|
if (element.props && element.props['__attachedProperty'] && !result.props['__attachedProperty']) {
|
10621
|
-
result.props['__attachedProperty'] =
|
10615
|
+
result.props['__attachedProperty'] = this.serializeObject(element.props['__attachedProperty']);
|
10622
10616
|
}
|
10623
10617
|
if (element.attribute) {
|
10624
|
-
result['attribute'] = this.
|
10618
|
+
result['attribute'] = this.serializeObject(element.attribute);
|
10625
10619
|
}
|
10626
10620
|
return result;
|
10627
10621
|
}
|
@@ -10645,20 +10639,23 @@ class ElementSerialize {
|
|
10645
10639
|
}
|
10646
10640
|
return "";
|
10647
10641
|
}
|
10648
|
-
static
|
10649
|
-
if (
|
10650
|
-
|
10651
|
-
|
10652
|
-
|
10653
|
-
|
10642
|
+
static serializeObject(obj) {
|
10643
|
+
if (obj === null || obj === undefined) {
|
10644
|
+
return null;
|
10645
|
+
}
|
10646
|
+
const result = {};
|
10647
|
+
for (const key in obj) {
|
10648
|
+
if (obj[key] !== undefined && obj[key] !== null) {
|
10649
|
+
if (key.startsWith("__")) {
|
10650
|
+
continue;
|
10654
10651
|
}
|
10652
|
+
result[key] = obj[key];
|
10655
10653
|
}
|
10656
|
-
if (Object.keys(result).length === 0) {
|
10657
|
-
return null;
|
10658
|
-
}
|
10659
|
-
return CommonUtil.cloneValue(result);
|
10660
10654
|
}
|
10661
|
-
|
10655
|
+
if (Object.keys(result).length === 0) {
|
10656
|
+
return null;
|
10657
|
+
}
|
10658
|
+
return CommonUtil.cloneValue(result);
|
10662
10659
|
}
|
10663
10660
|
/**
|
10664
10661
|
* 获取选中的结构
|
@@ -14685,7 +14682,7 @@ class DocumentArrange {
|
|
14685
14682
|
}
|
14686
14683
|
const cloneRender = this.pMeasure.createRenderObject(render.element);
|
14687
14684
|
cloneRender.setRenderWidth(render.rect.width);
|
14688
|
-
if (render instanceof
|
14685
|
+
if (render instanceof MultiBlockLineRenderObject) {
|
14689
14686
|
let sumHeight = 0;
|
14690
14687
|
const children = [...render.getItems()];
|
14691
14688
|
let j = 0;
|
@@ -14694,7 +14691,7 @@ class DocumentArrange {
|
|
14694
14691
|
//sumHeight = ElementUtil.remeasure(cloneRender);
|
14695
14692
|
const calcBlockLineHeight = this.getBlockLineHeight(blockLine);
|
14696
14693
|
if (calcBlockLineHeight + sumHeight > limitHeight) {
|
14697
|
-
if (blockLine instanceof
|
14694
|
+
if (blockLine instanceof MultiBlockLineRenderObject) {
|
14698
14695
|
//限制的外框尺寸
|
14699
14696
|
const availHeight = limitHeight - sumHeight;
|
14700
14697
|
//限制的内框尺寸
|
@@ -15404,9 +15401,12 @@ class DocumentEvent {
|
|
15404
15401
|
},
|
15405
15402
|
mouseup: (evt) => {
|
15406
15403
|
this.mouseup(evt, ElementUtil.getMousePos(evt, scale));
|
15404
|
+
this.mouseClickHandle(evt);
|
15407
15405
|
},
|
15408
15406
|
click: (evt) => {
|
15409
|
-
|
15407
|
+
//nulltext 不触发 click 事件,暂且这么处理
|
15408
|
+
//移到 mouseup 事件中处理
|
15409
|
+
//this.mouseClickHandle(evt);
|
15410
15410
|
},
|
15411
15411
|
mousemove: (evt) => {
|
15412
15412
|
this.mousemove(evt, ElementUtil.getMousePos(evt, scale));
|
@@ -18700,103 +18700,56 @@ function getFocusTextSegment(selection) {
|
|
18700
18700
|
let { startControl: element, startOffset: offset } = selection;
|
18701
18701
|
if (!(element instanceof TextGroupElement))
|
18702
18702
|
return false;
|
18703
|
-
if (!supportSegment())
|
18704
|
-
return false;
|
18705
18703
|
const focusEle = element;
|
18706
|
-
|
18707
|
-
|
18708
|
-
|
18709
|
-
|
18710
|
-
const
|
18711
|
-
const
|
18712
|
-
|
18713
|
-
|
18714
|
-
|
18715
|
-
}
|
18716
|
-
if (curr.item === focusEle) {
|
18717
|
-
prev.index += offset;
|
18718
|
-
prev.completed = true;
|
18719
|
-
}
|
18720
|
-
else {
|
18721
|
-
prev.index += curr.item.textMeasures.length;
|
18722
|
-
}
|
18723
|
-
return prev;
|
18724
|
-
}, { completed: false, index: 0, text: '' });
|
18725
|
-
const { index: hitIndex, len: hitLen } = getHitSegment(text, index);
|
18726
|
-
const matchSegment = sortItems.filter(item => (item.index <= hitIndex && item.endIndex > hitIndex) || (item.index <= hitIndex + hitLen && item.endIndex > hitIndex + hitLen));
|
18727
|
-
const startSegment = matchSegment[0];
|
18728
|
-
const endSegment = matchSegment[matchSegment.length - 1];
|
18729
|
-
const startOffset = hitIndex - startSegment.index;
|
18730
|
-
const endOffset = hitIndex + hitLen - endSegment.index;
|
18731
|
-
const newRange = new SelectionRange();
|
18732
|
-
newRange.setStart(startSegment.item, startOffset);
|
18733
|
-
newRange.setEnd(endSegment.item, endOffset);
|
18734
|
-
selection.addRange(newRange);
|
18704
|
+
const focusText = focusEle.text;
|
18705
|
+
if (!focusText) {
|
18706
|
+
return false;
|
18707
|
+
}
|
18708
|
+
const [start, end] = tokenize(focusText, offset);
|
18709
|
+
const range = new SelectionRange();
|
18710
|
+
range.setStart(focusEle, start);
|
18711
|
+
range.setEnd(focusEle, end + 1);
|
18712
|
+
selection.addRange(range);
|
18735
18713
|
return true;
|
18736
18714
|
}
|
18737
|
-
|
18738
|
-
|
18739
|
-
|
18740
|
-
|
18741
|
-
|
18742
|
-
|
18743
|
-
|
18744
|
-
const
|
18745
|
-
|
18746
|
-
|
18747
|
-
|
18748
|
-
|
18749
|
-
|
18750
|
-
|
18751
|
-
|
18752
|
-
|
18753
|
-
|
18754
|
-
|
18755
|
-
|
18715
|
+
function tokenize(text, index) {
|
18716
|
+
if (text.length === 0) {
|
18717
|
+
return [0, 0]; // 处理空字符串的情况
|
18718
|
+
}
|
18719
|
+
const isChinese = (char) => {
|
18720
|
+
return /^[\u4e00-\u9fa5]+$/.test(char);
|
18721
|
+
};
|
18722
|
+
const isEnglish = (char) => {
|
18723
|
+
return /^[a-zA-Z]+$/.test(char);
|
18724
|
+
};
|
18725
|
+
const isNumeric = (char) => {
|
18726
|
+
return /^[0-9]+$/.test(char);
|
18727
|
+
};
|
18728
|
+
let start = index;
|
18729
|
+
let end = index;
|
18730
|
+
// 向左查找开始位置
|
18731
|
+
while (start > 0) {
|
18732
|
+
if ((isChinese(text[start]) && isChinese(text[start - 1])) ||
|
18733
|
+
(isEnglish(text[start]) && isEnglish(text[start - 1])) ||
|
18734
|
+
(isNumeric(text[start]) && isNumeric(text[start - 1]))) {
|
18735
|
+
start--;
|
18736
|
+
}
|
18737
|
+
else {
|
18738
|
+
break;
|
18756
18739
|
}
|
18757
|
-
index += currLen;
|
18758
18740
|
}
|
18759
|
-
|
18760
|
-
|
18761
|
-
|
18762
|
-
|
18763
|
-
|
18764
|
-
|
18765
|
-
|
18766
|
-
|
18767
|
-
|
18768
|
-
|
18769
|
-
let index = 0;
|
18770
|
-
const sortItems = [];
|
18771
|
-
for (let i = 0; i < texts.length; i++) {
|
18772
|
-
const item = texts[i];
|
18773
|
-
const sortData = {
|
18774
|
-
len: item.textMeasures.length,
|
18775
|
-
index,
|
18776
|
-
endIndex: index + item.textMeasures.length,
|
18777
|
-
item,
|
18778
|
-
text: item.text
|
18779
|
-
};
|
18780
|
-
sortItems.push(sortData);
|
18781
|
-
index += sortData.len;
|
18741
|
+
// 向右查找结束位置
|
18742
|
+
while (end < text.length - 1) {
|
18743
|
+
if ((isChinese(text[end]) && isChinese(text[end + 1])) ||
|
18744
|
+
(isEnglish(text[end]) && isEnglish(text[end + 1])) ||
|
18745
|
+
(isNumeric(text[end]) && isNumeric(text[end + 1]))) {
|
18746
|
+
end++;
|
18747
|
+
}
|
18748
|
+
else {
|
18749
|
+
break;
|
18750
|
+
}
|
18782
18751
|
}
|
18783
|
-
return
|
18784
|
-
}
|
18785
|
-
/**
|
18786
|
-
* 获取指定方向上连续的字符
|
18787
|
-
* @param element
|
18788
|
-
* @param prev
|
18789
|
-
*/
|
18790
|
-
function getConsecutiveTextsByDirection(element, prev = true) {
|
18791
|
-
let prevText = element;
|
18792
|
-
const prevTexts = [];
|
18793
|
-
const func = prev ? ElementUtil.getPrevSiblingElement : ElementUtil.getNextSiblingElement;
|
18794
|
-
const addItem = prev ? prevTexts.unshift : prevTexts.push;
|
18795
|
-
while ((prevText = func(prevText)) && prevText instanceof TextGroupElement) {
|
18796
|
-
//addItem(prevText);
|
18797
|
-
addItem.apply(prevTexts, [prevText]);
|
18798
|
-
}
|
18799
|
-
return prevTexts;
|
18752
|
+
return [start, end];
|
18800
18753
|
}
|
18801
18754
|
|
18802
18755
|
/**
|
@@ -19361,7 +19314,7 @@ class DocumentSvg {
|
|
19361
19314
|
ns: 'http://www.w3.org/2000/svg',
|
19362
19315
|
attrs: {
|
19363
19316
|
stroke: 'none',
|
19364
|
-
fill: item.color ??
|
19317
|
+
fill: item.color ?? this.viewOptions.selectionColor,
|
19365
19318
|
'paint-order': 'stroke fill markers',
|
19366
19319
|
d: `M${item.x} ${item.y} L${item.x + item.width} ${item.y} L${item.x + item.width} ${item.y + item.height} L${item.x} ${item.y + item.height} Z`,
|
19367
19320
|
'fill-opacity': '0.5'
|
@@ -20756,6 +20709,7 @@ class DocEditor {
|
|
20756
20709
|
ssChanged && this.documentEvent.invokeCursor(this.selectionState.startControl);
|
20757
20710
|
this.documentSelection.clearSnapshot();
|
20758
20711
|
this.documentSelection.takeSnapshot();
|
20712
|
+
return ssChanged;
|
20759
20713
|
}
|
20760
20714
|
/**
|
20761
20715
|
* 根据当前选区,更新待输入文本字体信息
|
@@ -20795,6 +20749,7 @@ class DocEditor {
|
|
20795
20749
|
this.selectionState.cursorPos = cursorRect;
|
20796
20750
|
const abPos = ElementUtil.cloneRect(cursorRect);
|
20797
20751
|
this.setCursorPosition(abPos);
|
20752
|
+
this.setCursorVisibility(true);
|
20798
20753
|
//this.documentEvent.invokeCursor(startControl);
|
20799
20754
|
return;
|
20800
20755
|
}
|
@@ -20828,7 +20783,7 @@ class DocEditor {
|
|
20828
20783
|
setCursorVisibility(visibility) {
|
20829
20784
|
if (visibility) {
|
20830
20785
|
//this.editInput.style.removeProperty('display');
|
20831
|
-
this.editInput.focus();
|
20786
|
+
this.editInput.focus({ preventScroll: true });
|
20832
20787
|
}
|
20833
20788
|
}
|
20834
20789
|
hiddenInput(reset = true, pos = null) {
|
@@ -20850,7 +20805,6 @@ class DocEditor {
|
|
20850
20805
|
this.editInput.style.height = position.height + 'px';
|
20851
20806
|
this.editInput.style.width = "1.6px";
|
20852
20807
|
this.editInput.readOnly = false;
|
20853
|
-
this.setCursorVisibility(true);
|
20854
20808
|
//判断光标位置是否被可见,如果不可见,需要将其设置到可见区域
|
20855
20809
|
//TODO:暂时不做处理
|
20856
20810
|
//this.setCursorInputStatus();
|
@@ -20886,7 +20840,7 @@ class DocEditor {
|
|
20886
20840
|
* 文档点击事件
|
20887
20841
|
*/
|
20888
20842
|
docClickHandle(evt) {
|
20889
|
-
this.hiddenInput();
|
20843
|
+
//this.hiddenInput();
|
20890
20844
|
// this.setCursor();
|
20891
20845
|
// this.updateSelection();
|
20892
20846
|
this.refreshDocument();
|
@@ -21186,20 +21140,20 @@ class DocEditor {
|
|
21186
21140
|
const startControl = this.selectionState.startControl;
|
21187
21141
|
if (startControl instanceof TextGroupElement) {
|
21188
21142
|
const selectedStyle = startControl.props.clone(null);
|
21189
|
-
const
|
21190
|
-
this.viewOptions.
|
21143
|
+
const selectionColor = this.viewOptions.selectionColor;
|
21144
|
+
this.viewOptions.selectionColor = "rgba(0,58,140,0.8)";
|
21191
21145
|
const cancelToken = {};
|
21192
21146
|
const sub = this.onClickEvent.subscribe(() => {
|
21193
21147
|
sub.unsubscribe();
|
21194
21148
|
this.setTextFormat(selectedStyle);
|
21195
|
-
this.viewOptions.
|
21149
|
+
this.viewOptions.selectionColor = selectionColor;
|
21196
21150
|
if (cancelToken.onFinish) {
|
21197
21151
|
cancelToken.onFinish(null);
|
21198
21152
|
}
|
21199
21153
|
});
|
21200
21154
|
cancelToken.cancel = () => {
|
21201
21155
|
sub.unsubscribe();
|
21202
|
-
this.viewOptions.
|
21156
|
+
this.viewOptions.selectionColor = selectionColor;
|
21203
21157
|
};
|
21204
21158
|
return cancelToken;
|
21205
21159
|
}
|
@@ -21960,7 +21914,7 @@ class DocEditor {
|
|
21960
21914
|
rule.setRuleOptions({ width: this.viewOptions.docPageSettings.width, pagePL, pagePR, docLeft });
|
21961
21915
|
}
|
21962
21916
|
version() {
|
21963
|
-
return "2.2.
|
21917
|
+
return "2.2.8";
|
21964
21918
|
}
|
21965
21919
|
switchPageHeaderEditor() {
|
21966
21920
|
this.docCtx.document.switchPageHeaderEditor(this.selectionState, null);
|
@@ -27679,5 +27633,5 @@ function removeDuplicatesEvent(events) {
|
|
27679
27633
|
return arr;
|
27680
27634
|
}
|
27681
27635
|
|
27682
|
-
export { BlockContainerElement, BlockContainerRenderObject, BlockContentElement, BlockContentRenderObject, BlockLineRectRenderObject, BodyPartProps, BooleanEnum, BorderProps, BranchElement, BranchRenderObject, BreakElement, BreakFactory, BreakRenderObject, CheckBoxElement, CheckBoxFactory, CheckBoxProps, CheckBoxRenderObject, ColumnPatchUtil, CommContentBaseElement, CommContentBaseRenderObject, CommContentElement, CommContentProps, CommContentRenderObject, CommProps, CommentContentFactory, CommentElement, CommentFactory, CommentRenderObject, CommentsFactory, CommonUtil, CommsContainerElement, CommsContainerRenderObject, ContentMenuItem, ContextMenuElementEvent, CopyElementEvent, DOMEventSource, DOMSubscription, DataContainerElement, DataContainerFactory, DataContainerProps, DataContainerRenderObject, DataDecorateElement, DataDecorateProps, DataDecorateRenderObject, DataEleBaseProps, DataEleBaseTextProps, DataEleCheckProps, DataEleDateProps, DataEleImageProps, DataEleListProps, DataEleMHProps, DataElementBarcode, DataElementBarcodeFactory, DataElementBarcodeProps, DataElementBarcodeRenderObject, DataElementBaseFactory, DataElementCheck, DataElementCheckFactory, DataElementCheckRenderObject, DataElementDate, DataElementDateFactory, DataElementDateRenderObject, DataElementGroupElement, DataElementGroupFactory, DataElementGroupProps, DataElementGroupRenderObject, DataElementImage, DataElementImgFactory, DataElementInlineGroup, DataElementLeaf, DataElementList, DataElementListFactory, DataElementListRenderObject, DataElementMH, DataElementMHFactory, DataElementRenderObject, DataElementText, DataElementTextFactory, DataElementTextRenderObject, DataImageRenderObject, DataRenderMH, DocEditor, DocInputSuggestions, DocMode, DocumentBodyElement, DocumentBodyFactory, DocumentBodyPartElement, DocumentBodyPartFactory, DocumentBodyPartRenderObject, DocumentBodyRenderObject, DocumentChange, DocumentCombine, DocumentComment, DocumentContainerRender, DocumentContext, DocumentCursor, DocumentElement, DocumentEvalFunc, DocumentEvent, DocumentFactory, DocumentFooterElement, DocumentFooterFactory, DocumentFooterRenderObject, DocumentHeaderElement, DocumentHeaderFactory, DocumentHeaderRenderObject, DocumentInput, DocumentPaginator, DocumentPrintOffscreen, DocumentPrintOffscreenBase, DocumentProps, DocumentRenderObject, DocumentSelection, DocumentTemplate, DropElementEvent, EditMode, EditorContext, Element, ElementEvent, ElementFactory, ElementReader, ElementSerialize, ElementUtil, EventBus, EventMap, EventSourceCore, FillNullSpaceElement, FillNullSpaceRenderObject, GetTrackTipsEvent, GotCursorEvent, IDispose, INotifyPropertyChanged, InlineBlockContainer, InlineGroupElement, InlineGroupInputElement, InlineGroupRenderObject, InlineMuiltBlockLineRenderObject, InputElementEvent, IsInSideDataElement, IsInSideInlineGroupInputElement, KeyboradElementEvent, LeafElement, LeafRenderObject, LostCursorEvent, MarginProps, ModifyFlag, MouseElementEvent, MousedownElementEvent,
|
27636
|
+
export { BlockContainerElement, BlockContainerRenderObject, BlockContentElement, BlockContentRenderObject, BlockLineRectRenderObject, BodyPartProps, BooleanEnum, BorderProps, BranchElement, BranchRenderObject, BreakElement, BreakFactory, BreakRenderObject, CheckBoxElement, CheckBoxFactory, CheckBoxProps, CheckBoxRenderObject, ColumnPatchUtil, CommContentBaseElement, CommContentBaseRenderObject, CommContentElement, CommContentProps, CommContentRenderObject, CommProps, CommentContentFactory, CommentElement, CommentFactory, CommentRenderObject, CommentsFactory, CommonUtil, CommsContainerElement, CommsContainerRenderObject, ContentMenuItem, ContextMenuElementEvent, CopyElementEvent, DOMEventSource, DOMSubscription, DataContainerElement, DataContainerFactory, DataContainerProps, DataContainerRenderObject, DataDecorateElement, DataDecorateProps, DataDecorateRenderObject, DataEleBaseProps, DataEleBaseTextProps, DataEleCheckProps, DataEleDateProps, DataEleImageProps, DataEleListProps, DataEleMHProps, DataElementBarcode, DataElementBarcodeFactory, DataElementBarcodeProps, DataElementBarcodeRenderObject, DataElementBaseFactory, DataElementCheck, DataElementCheckFactory, DataElementCheckRenderObject, DataElementDate, DataElementDateFactory, DataElementDateRenderObject, DataElementGroupElement, DataElementGroupFactory, DataElementGroupProps, DataElementGroupRenderObject, DataElementImage, DataElementImgFactory, DataElementInlineGroup, DataElementLeaf, DataElementList, DataElementListFactory, DataElementListRenderObject, DataElementMH, DataElementMHFactory, DataElementRenderObject, DataElementText, DataElementTextFactory, DataElementTextRenderObject, DataImageRenderObject, DataRenderMH, DocEditor, DocInputSuggestions, DocMode, DocumentBodyElement, DocumentBodyFactory, DocumentBodyPartElement, DocumentBodyPartFactory, DocumentBodyPartRenderObject, DocumentBodyRenderObject, DocumentChange, DocumentCombine, DocumentComment, DocumentContainerRender, DocumentContext, DocumentCursor, DocumentElement, DocumentEvalFunc, DocumentEvent, DocumentFactory, DocumentFooterElement, DocumentFooterFactory, DocumentFooterRenderObject, DocumentHeaderElement, DocumentHeaderFactory, DocumentHeaderRenderObject, DocumentInput, DocumentPaginator, DocumentPrintOffscreen, DocumentPrintOffscreenBase, DocumentProps, DocumentRenderObject, DocumentSelection, DocumentTemplate, DropElementEvent, EditMode, EditorContext, Element, ElementEvent, ElementFactory, ElementReader, ElementSerialize, ElementUtil, EventBus, EventMap, EventSourceCore, FillNullSpaceElement, FillNullSpaceRenderObject, GetTrackTipsEvent, GotCursorEvent, IDispose, INotifyPropertyChanged, InlineBlockContainer, InlineGroupElement, InlineGroupInputElement, InlineGroupRenderObject, InlineMuiltBlockLineRenderObject, InputElementEvent, IsInSideDataElement, IsInSideInlineGroupInputElement, KeyboradElementEvent, LeafElement, LeafRenderObject, LostCursorEvent, MarginProps, ModifyFlag, MouseElementEvent, MousedownElementEvent, MultiBlockLineRenderObject, OnceSubject, PSymbolElement, PSymbolRenderObject, PaddingProps, PageBreakElement, PageBreakFactory, PageBreakRenderObject, PageOptions, PaintContent, ParagraphElement, ParagraphFactory, ParagraphLineRectRenderObject, ParagraphNumberType, ParagraphProps, ParagraphRenderObject, PasteElementEvent, PermanentTeethElement, PermanentTeethFactory, PermanentTeethProps, PermanentTeethRenderObject, PictureElement, PictureFactory, PictureProps, PictureRenderObject, RadioBoxElement, RadioBoxFactory, RadioBoxProps, RadioBoxRenderObject, RangeUtil, Rect, RenderContext, RenderObject, RenderObjectType, ResizeLeafRenderObject, RowMinHeight, RunElementFactory, SVGElement, SVGFactory, SVGProps, SVGRenderObject, SelectionOverlays, SelectionRange, SelectionState, Subject, SubjectSubscription, Subscription, TEXT_HEIGHT_FACTOR, TabElement, TabFactory, TabRenderObject, TableCellElement, TableCellFactory, TableCellProps, TableCellRenderObject, TableElement, TableFactory, TableProps, TableRenderObject, TableRowElement, TableRowFactory, TableRowProps, TableRowRenderObject, TableSplitCell, TableUtil, TextGroupElement, TextGroupFactory, TextGroupRenderObject, TextProps, TextUnitsHolder, TrackRunElement, TrackRunProps, TrackRunRenderObject, TrackRunTypeEnum, ValidateCondition, ValidateElement, ValidateProps, ValidateRenderObject, ViewOptions, addReturn, clearChildrenRenderCache, clearTraces, cloneChildren, cloneElementBase, defaultParaHanging, deleteCurrentParagraph, docOpsMap, elementTypeEventHandler, exportDecoratorHTML, falseChar, fontMapFunc, formatEle, fromEvent, generatePatch, getCalleeName, getFocusTextSegment, inputText, insertEle, invokeTypeHandler, isDate, logUpdateEleProps, objectToString$4 as objectToString, onTableContextmenu, onceTask, parser, reactiveMap, removeEle, removeText, renderErrorTip, renderUnderWavyLine, runTextLineRender, setChildrenModifyFlag, setNotifyChangedCallback, setTraceTrackingFlag, suppressTracking, targetMaps, textLineRenderMode, toRawType, toTypeString, trueChar, validateDataEle, validateDataEleRenderObj, validateInlineInputRenderObj, watchChanged };
|
27683
27637
|
//# sourceMappingURL=index.js.map
|