@hailin-zheng/editor-core 2.2.32 → 2.2.33
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 +9 -10
- package/index-cjs.js +197 -80
- package/index-cjs.js.map +1 -1
- package/index.js +197 -81
- package/index.js.map +1 -1
- package/med_editor/doc-editor.d.ts +5 -1
- package/med_editor/framework/code-interpreter/dynamic-execute.d.ts +11 -0
- package/med_editor/framework/document-event.d.ts +11 -6
- package/med_editor/framework/impl/data-element/data-element-base-impl.d.ts +1 -0
- package/med_editor/framework/print/document-print-offscreen.d.ts +1 -0
- package/med_editor/framework/print/document-print.d.ts +2 -1
- package/med_editor/framework/render-define.d.ts +30 -14
- package/med_editor/framework/util/element-util.d.ts +2 -2
- package/package.json +1 -1
package/index.js
CHANGED
@@ -231,8 +231,8 @@ const toRawType = (value) => {
|
|
231
231
|
*/
|
232
232
|
class RenderObject {
|
233
233
|
element;
|
234
|
-
margin;
|
235
|
-
padding;
|
234
|
+
// margin!: MarginProps;
|
235
|
+
// padding!: PaddingProps;
|
236
236
|
rect = new Rect();
|
237
237
|
parent;
|
238
238
|
/**
|
@@ -241,8 +241,8 @@ class RenderObject {
|
|
241
241
|
disableClick;
|
242
242
|
constructor(element) {
|
243
243
|
this.element = element;
|
244
|
-
this.margin = new MarginProps();
|
245
|
-
this.padding = new PaddingProps();
|
244
|
+
// this.margin = new MarginProps();
|
245
|
+
// this.padding = new PaddingProps();
|
246
246
|
}
|
247
247
|
destroy() {
|
248
248
|
//this.parent = null;
|
@@ -251,34 +251,34 @@ class RenderObject {
|
|
251
251
|
//this.rect = null;
|
252
252
|
//this.element = null;
|
253
253
|
}
|
254
|
-
/**
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
getInnerRect() {
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
}
|
268
|
-
getInnerMaxWidth() {
|
269
|
-
|
270
|
-
|
271
|
-
}
|
272
|
-
/**
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
updateRenderHeight(innerRect) {
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
}
|
254
|
+
// /**
|
255
|
+
// * 获取内容区域框体
|
256
|
+
// * @param render
|
257
|
+
// * @returns
|
258
|
+
// */
|
259
|
+
// getInnerRect(): Rect {
|
260
|
+
// const { padding } = this;
|
261
|
+
// const rect = new Rect();
|
262
|
+
// rect.x = padding.left;
|
263
|
+
// rect.y = padding.top;
|
264
|
+
// rect.width = this.rect.width - padding.left - padding.right;
|
265
|
+
// rect.height = this.rect.height - padding.top - padding.bottom;
|
266
|
+
// return rect;
|
267
|
+
// }
|
268
|
+
// getInnerMaxWidth(): number {
|
269
|
+
// const { padding, margin } = this;
|
270
|
+
// return this.rect.width - padding.left - padding.right - margin.left - margin.right;
|
271
|
+
// }
|
272
|
+
// /**
|
273
|
+
// * 根据内框内容高度,更新外框框体高度
|
274
|
+
// * @param innerRect
|
275
|
+
// */
|
276
|
+
// updateRenderHeight(innerRect: Rect | number): void {
|
277
|
+
// const innerHeight = typeof innerRect === 'number' ? innerRect : (<Rect>innerRect).height;
|
278
|
+
// const { padding, margin } = this;
|
279
|
+
// //外层容器高度等于内容高度+外边距+内边距
|
280
|
+
// this.rect.height = innerHeight + padding.top + padding.bottom;
|
281
|
+
// }
|
282
282
|
getIndex() {
|
283
283
|
if (this.parent) {
|
284
284
|
return this.parent.getChildIndex(this);
|
@@ -382,10 +382,45 @@ class BranchRenderObject extends RenderObject {
|
|
382
382
|
* 块级渲染元素
|
383
383
|
*/
|
384
384
|
class BlockContentRenderObject extends BranchRenderObject {
|
385
|
+
margin;
|
386
|
+
padding;
|
387
|
+
constructor(element) {
|
388
|
+
super(element);
|
389
|
+
this.margin = new MarginProps();
|
390
|
+
this.padding = new PaddingProps();
|
391
|
+
}
|
385
392
|
setRenderWidth(maxWidth) {
|
386
393
|
//this.rect.maxWidth = maxWidth;
|
387
394
|
this.rect.width = maxWidth;
|
388
395
|
}
|
396
|
+
/**
|
397
|
+
* 获取内容区域框体
|
398
|
+
* @param render
|
399
|
+
* @returns
|
400
|
+
*/
|
401
|
+
getInnerRect() {
|
402
|
+
const { padding } = this;
|
403
|
+
const rect = new Rect();
|
404
|
+
rect.x = padding.left;
|
405
|
+
rect.y = padding.top;
|
406
|
+
rect.width = this.rect.width - padding.left - padding.right;
|
407
|
+
rect.height = this.rect.height - padding.top - padding.bottom;
|
408
|
+
return rect;
|
409
|
+
}
|
410
|
+
getInnerMaxWidth() {
|
411
|
+
const { padding, margin } = this;
|
412
|
+
return this.rect.width - padding.left - padding.right - margin.left - margin.right;
|
413
|
+
}
|
414
|
+
/**
|
415
|
+
* 根据内框内容高度,更新外框框体高度
|
416
|
+
* @param innerRect
|
417
|
+
*/
|
418
|
+
updateRenderHeight(innerRect) {
|
419
|
+
const innerHeight = typeof innerRect === 'number' ? innerRect : innerRect.height;
|
420
|
+
const { padding, margin } = this;
|
421
|
+
//外层容器高度等于内容高度+外边距+内边距
|
422
|
+
this.rect.height = innerHeight + padding.top + padding.bottom;
|
423
|
+
}
|
389
424
|
}
|
390
425
|
class InlineGroupRenderObject extends BranchRenderObject {
|
391
426
|
}
|
@@ -393,10 +428,45 @@ class InlineGroupRenderObject extends BranchRenderObject {
|
|
393
428
|
* 包含块级渲染元素的容器元素,例如body、table-cell等
|
394
429
|
*/
|
395
430
|
class BlockContainerRenderObject extends BranchRenderObject {
|
431
|
+
margin;
|
432
|
+
padding;
|
433
|
+
constructor(element) {
|
434
|
+
super(element);
|
435
|
+
this.margin = new MarginProps();
|
436
|
+
this.padding = new PaddingProps();
|
437
|
+
}
|
396
438
|
setRenderWidth(maxWidth) {
|
397
439
|
//this.rect.maxWidth = maxWidth;
|
398
440
|
this.rect.width = maxWidth;
|
399
441
|
}
|
442
|
+
/**
|
443
|
+
* 获取内容区域框体
|
444
|
+
* @param render
|
445
|
+
* @returns
|
446
|
+
*/
|
447
|
+
getInnerRect() {
|
448
|
+
const { padding } = this;
|
449
|
+
const rect = new Rect();
|
450
|
+
rect.x = padding.left;
|
451
|
+
rect.y = padding.top;
|
452
|
+
rect.width = this.rect.width - padding.left - padding.right;
|
453
|
+
rect.height = this.rect.height - padding.top - padding.bottom;
|
454
|
+
return rect;
|
455
|
+
}
|
456
|
+
getInnerMaxWidth() {
|
457
|
+
const { padding, margin } = this;
|
458
|
+
return this.rect.width - padding.left - padding.right - margin.left - margin.right;
|
459
|
+
}
|
460
|
+
/**
|
461
|
+
* 根据内框内容高度,更新外框框体高度
|
462
|
+
* @param innerRect
|
463
|
+
*/
|
464
|
+
updateRenderHeight(innerRect) {
|
465
|
+
const innerHeight = typeof innerRect === 'number' ? innerRect : innerRect.height;
|
466
|
+
const { padding, margin } = this;
|
467
|
+
//外层容器高度等于内容高度+外边距+内边距
|
468
|
+
this.rect.height = innerHeight + padding.top + padding.bottom;
|
469
|
+
}
|
400
470
|
}
|
401
471
|
/**
|
402
472
|
* 多级 ‘BlockLineRectRenderObject’ 包裹元素,例如 p、table
|
@@ -3081,9 +3151,12 @@ function parser(code, objects) {
|
|
3081
3151
|
const identifierName = child['name'];
|
3082
3152
|
if (identifierName.startsWith('$')) {
|
3083
3153
|
//获取对象为"CallExpression", "MemberExpression"获取属性,例如$1.value
|
3084
|
-
parent?.type;
|
3085
|
-
`getObject('${identifierName.slice(1)})`;
|
3086
|
-
|
3154
|
+
const type = parent?.type;
|
3155
|
+
let express = `getObject('${identifierName.slice(1)}')`;
|
3156
|
+
if (type !== 'MemberExpression') {
|
3157
|
+
express += '.value';
|
3158
|
+
}
|
3159
|
+
child['name'] = express;
|
3087
3160
|
objects?.push(identifierName.slice(1));
|
3088
3161
|
}
|
3089
3162
|
}
|
@@ -4339,6 +4412,9 @@ class DataElementRenderObject extends InlineGroupRenderObject {
|
|
4339
4412
|
const validateDataEle = (ele) => {
|
4340
4413
|
return ele instanceof DataElementLeaf || ele instanceof DataElementInlineGroup;
|
4341
4414
|
};
|
4415
|
+
const validateInlineDataEle = (ele) => {
|
4416
|
+
return ele instanceof DataElementInlineGroup;
|
4417
|
+
};
|
4342
4418
|
const validateDataEleRenderObj = (renderObj) => {
|
4343
4419
|
if (renderObj.element) {
|
4344
4420
|
return validateDataEle(renderObj.element);
|
@@ -11018,8 +11094,10 @@ class SVGRenderObject extends ResizeLeafRenderObject {
|
|
11018
11094
|
exportSVG(event) {
|
11019
11095
|
const props = this.element.props;
|
11020
11096
|
const t = super.exportSVG(event);
|
11021
|
-
t.children = [ElementUtil.createSvgEle('svg', {
|
11022
|
-
|
11097
|
+
t.children = [ElementUtil.createSvgEle('svg', {
|
11098
|
+
width: this.rect.width,
|
11099
|
+
height: this.rect.height
|
11100
|
+
}, ElementUtil.createSvgEle('image', {
|
11023
11101
|
"xlink:href": props.value,
|
11024
11102
|
width: Math.min(this.rect.width, this.rect.height),
|
11025
11103
|
height: Math.min(this.rect.width, this.rect.height)
|
@@ -11052,7 +11130,6 @@ class SVGFactory extends ElementFactory {
|
|
11052
11130
|
picProps.height = props.height;
|
11053
11131
|
picProps.value = props.value;
|
11054
11132
|
picProps.title = props.title;
|
11055
|
-
pic.props = picProps;
|
11056
11133
|
return pic;
|
11057
11134
|
}
|
11058
11135
|
}
|
@@ -11687,12 +11764,18 @@ class ElementUtil {
|
|
11687
11764
|
innerRect.height = 0;
|
11688
11765
|
for (let i = 0; i < render.length; i++) {
|
11689
11766
|
const line = render.getChild(i);
|
11767
|
+
let mt = 0;
|
11768
|
+
let mb = 0;
|
11769
|
+
if (line instanceof BlockContainerRenderObject || line instanceof BlockContentRenderObject) {
|
11770
|
+
mt = line.margin.top;
|
11771
|
+
mb = line.margin.bottom;
|
11772
|
+
}
|
11690
11773
|
if (resetX) {
|
11691
11774
|
line.rect.x = innerRect.x;
|
11692
11775
|
}
|
11693
|
-
line.rect.y = innerRect.height + innerRect.y +
|
11776
|
+
line.rect.y = innerRect.height + innerRect.y + mt;
|
11694
11777
|
this.setHorizontalAlign(line, innerRect);
|
11695
|
-
innerRect.height += line.rect.height +
|
11778
|
+
innerRect.height += line.rect.height + mt + mb;
|
11696
11779
|
}
|
11697
11780
|
render.updateRenderHeight(innerRect);
|
11698
11781
|
return innerRect.height;
|
@@ -14379,6 +14462,22 @@ class DynamicExecute {
|
|
14379
14462
|
}
|
14380
14463
|
return res;
|
14381
14464
|
}
|
14465
|
+
/**
|
14466
|
+
* 获取元素的父表格行元素。
|
14467
|
+
*
|
14468
|
+
*/
|
14469
|
+
CtxRow(ele) {
|
14470
|
+
// 使用ElementUtil的getParent方法来查找第一个实例化为TableRowElement的父元素
|
14471
|
+
return ElementUtil.getParent(ele, (item) => item instanceof TableRowElement);
|
14472
|
+
}
|
14473
|
+
/**
|
14474
|
+
* 获取元素的父表格行元素。
|
14475
|
+
*
|
14476
|
+
*/
|
14477
|
+
CtxTable(ele) {
|
14478
|
+
// 使用ElementUtil的getParent方法来查找第一个实例化为TableElement的父元素
|
14479
|
+
return ElementUtil.getParent(ele, (item) => item instanceof TableElement);
|
14480
|
+
}
|
14382
14481
|
}
|
14383
14482
|
|
14384
14483
|
class ParagraphMeasure {
|
@@ -16274,6 +16373,7 @@ class DocumentEvent {
|
|
16274
16373
|
subs = [];
|
16275
16374
|
selectionState;
|
16276
16375
|
viewOptions;
|
16376
|
+
prevTrackInfo = false;
|
16277
16377
|
constructor(documentPaint, docCtx, documentInput) {
|
16278
16378
|
this.documentPaint = documentPaint;
|
16279
16379
|
this.docCtx = docCtx;
|
@@ -16350,6 +16450,7 @@ class DocumentEvent {
|
|
16350
16450
|
}
|
16351
16451
|
clear() {
|
16352
16452
|
this.selectionState.clear();
|
16453
|
+
this.prevCursorItems.length = 0;
|
16353
16454
|
this.startHitInfo = null;
|
16354
16455
|
this.endHitInfo = null;
|
16355
16456
|
this.focusedElement = null;
|
@@ -16410,7 +16511,6 @@ class DocumentEvent {
|
|
16410
16511
|
viewEvt.globalX = evt.x / this.viewOptions.scale;
|
16411
16512
|
viewEvt.globalY = evt.y / this.viewOptions.scale;
|
16412
16513
|
}
|
16413
|
-
prevTrackInfo = false;
|
16414
16514
|
/**
|
16415
16515
|
* 显示提示信息
|
16416
16516
|
* 显示留痕提示信息等
|
@@ -17338,13 +17438,25 @@ class DocumentEvent {
|
|
17338
17438
|
if (this.viewOptions.docMode !== DocMode.FormEdit) {
|
17339
17439
|
return;
|
17340
17440
|
}
|
17341
|
-
const currDataEle = this.getCurrentDataElement(
|
17342
|
-
|
17343
|
-
|
17344
|
-
|
17345
|
-
|
17346
|
-
|
17347
|
-
|
17441
|
+
const currDataEle = this.getCurrentDataElement();
|
17442
|
+
//只处理内联数据元元素
|
17443
|
+
if (!currDataEle || !(currDataEle instanceof DataElementInlineGroup)) {
|
17444
|
+
return;
|
17445
|
+
}
|
17446
|
+
const ctx = this.docCtx.defaultCtx.ctx;
|
17447
|
+
//获取所有的段落
|
17448
|
+
const paras = ctx.treeFilter(item => item instanceof ParagraphElement);
|
17449
|
+
//当前段落
|
17450
|
+
let currPara = ElementUtil.getParentByType(currDataEle, ParagraphElement);
|
17451
|
+
for (let i = paras.indexOf(currPara); i < paras.length; i++) {
|
17452
|
+
const currPara = paras[i];
|
17453
|
+
let currParaDataEleList = currPara.treeFilter(item => validateInlineDataEle(item));
|
17454
|
+
for (let j = currParaDataEleList.indexOf(currDataEle) + 1; j < currParaDataEleList.length; j++) {
|
17455
|
+
const nextDataEle = currParaDataEleList[j];
|
17456
|
+
if (nextDataEle && ElementUtil.canSetCursor(nextDataEle.startDecorate, 1, true, this.viewOptions)) {
|
17457
|
+
this.selectionState.resetRange(nextDataEle.startDecorate, 1);
|
17458
|
+
return;
|
17459
|
+
}
|
17348
17460
|
}
|
17349
17461
|
}
|
17350
17462
|
}
|
@@ -17500,7 +17612,7 @@ class DocumentEvent {
|
|
17500
17612
|
* 获取当前光标所在的数据元
|
17501
17613
|
* @returns
|
17502
17614
|
*/
|
17503
|
-
getCurrentDataElement(
|
17615
|
+
getCurrentDataElement() {
|
17504
17616
|
const selectionState = this.selectionState;
|
17505
17617
|
const { startControl, startOffset, collapsed, ancestorCommonControl } = selectionState;
|
17506
17618
|
if (startControl && collapsed) {
|
@@ -17508,7 +17620,7 @@ class DocumentEvent {
|
|
17508
17620
|
// return null;
|
17509
17621
|
// }
|
17510
17622
|
const dataEle = ElementUtil.getParent(startControl, validateDataEle);
|
17511
|
-
if (dataEle instanceof DataElementLeaf ||
|
17623
|
+
if (dataEle instanceof DataElementLeaf || IsInSideDataElement(startControl, startOffset)) {
|
17512
17624
|
return dataEle;
|
17513
17625
|
}
|
17514
17626
|
else {
|
@@ -17521,10 +17633,18 @@ class DocumentEvent {
|
|
17521
17633
|
return null;
|
17522
17634
|
}
|
17523
17635
|
/**
|
17524
|
-
|
17525
|
-
|
17526
|
-
|
17527
|
-
|
17636
|
+
* 根据元素寻找所在的数据元
|
17637
|
+
* @param ele
|
17638
|
+
*/
|
17639
|
+
getParentDataElement(ele) {
|
17640
|
+
const dataEle = ElementUtil.getParent(ele, validateDataEle);
|
17641
|
+
return dataEle;
|
17642
|
+
}
|
17643
|
+
/**
|
17644
|
+
* 获取当前光标所在的数据组
|
17645
|
+
* @returns
|
17646
|
+
*/
|
17647
|
+
getCurrentDataGroupElement() {
|
17528
17648
|
const selectionState = this.selectionState;
|
17529
17649
|
const { startControl, startOffset, collapsed, ancestorCommonControl } = selectionState;
|
17530
17650
|
if (startControl && collapsed) {
|
@@ -17532,7 +17652,7 @@ class DocumentEvent {
|
|
17532
17652
|
// return null;
|
17533
17653
|
// }
|
17534
17654
|
const dataEle = ElementUtil.getParent(startControl, validateDataGroup);
|
17535
|
-
if (
|
17655
|
+
if (IsInSideDataGroup(startControl, startOffset)) {
|
17536
17656
|
return dataEle;
|
17537
17657
|
}
|
17538
17658
|
else {
|
@@ -19253,6 +19373,9 @@ class DocumentChange {
|
|
19253
19373
|
* @param text
|
19254
19374
|
*/
|
19255
19375
|
pastePlainText(text) {
|
19376
|
+
if (!text) {
|
19377
|
+
return;
|
19378
|
+
}
|
19256
19379
|
const textItems = text.split(/\r?\n/);
|
19257
19380
|
const { startControl, startOffset } = this.selectionState;
|
19258
19381
|
if (this.viewOptions.docMode === DocMode.FormEdit || textItems.length === 1 || IsInSideInlineGroupInputElement(startControl, startOffset)) {
|
@@ -21974,6 +22097,10 @@ class DocEditor {
|
|
21974
22097
|
}
|
21975
22098
|
this.trackChangeState = prev;
|
21976
22099
|
}
|
22100
|
+
/**
|
22101
|
+
* 载入文档
|
22102
|
+
* @param data json对象、json字符串、DocumentElement对象
|
22103
|
+
*/
|
21977
22104
|
loadDoc(data) {
|
21978
22105
|
suppressTracking(() => {
|
21979
22106
|
this.noEffectChange(() => {
|
@@ -21981,6 +22108,8 @@ class DocEditor {
|
|
21981
22108
|
this.elementReader.read(data);
|
21982
22109
|
this.refreshDocument();
|
21983
22110
|
this.historyMange.clear();
|
22111
|
+
this.documentEvent.clear();
|
22112
|
+
this.scrollToPosition({ x: 0, y: 0 });
|
21984
22113
|
});
|
21985
22114
|
});
|
21986
22115
|
}
|
@@ -22199,7 +22328,7 @@ class DocEditor {
|
|
22199
22328
|
return this.documentEvent.getCurrentDataElement();
|
22200
22329
|
}
|
22201
22330
|
/**
|
22202
|
-
*
|
22331
|
+
* 获取当前光标所在数据组
|
22203
22332
|
* @returns
|
22204
22333
|
*/
|
22205
22334
|
getCurrentDataGroupElement() {
|
@@ -23137,7 +23266,7 @@ class DocEditor {
|
|
23137
23266
|
if (parent) {
|
23138
23267
|
const parentRect = parent.getBoundingClientRect();
|
23139
23268
|
const elmRect = elm.getBoundingClientRect();
|
23140
|
-
|
23269
|
+
parseInt(elm.style.top);
|
23141
23270
|
// elmRect.width /= scale;
|
23142
23271
|
// elmRect.height /= scale;
|
23143
23272
|
// parentRect.width /= scale;
|
@@ -23148,21 +23277,7 @@ class DocEditor {
|
|
23148
23277
|
if (elmRect.left < parentRect.left) {
|
23149
23278
|
elm.style.left = (position.x - 10) + 'px';
|
23150
23279
|
}
|
23151
|
-
|
23152
|
-
elm.style.left = (position.x - elmRect.width / scale + 10) + 'px';
|
23153
|
-
//elm.style.left = parentRect.width - elmRect.width + 'px';
|
23154
|
-
}
|
23155
|
-
if (elmRect.top + elmRect.height > parentRect.top + parentRect.height) {
|
23156
|
-
const newTop = top - 5 - position.height - elmRect.height;
|
23157
|
-
position.y + 5 + position.height;
|
23158
|
-
//计算前后的高度的差距,然后判断新的值是否在父元素的范围内,如果不在则使用旧的值
|
23159
|
-
// if (newTop > 0 && oldTop - newTop < elmRect.top - parentRect.top) {
|
23160
|
-
// elm.style.top = (position.y - position.height - elmRect.height) + 'px';
|
23161
|
-
// }
|
23162
|
-
elm.style.top = newTop + 'px';
|
23163
|
-
//elm.style.top = (top - (elmRect.top + elmRect.height - (parentRect.top + parentRect.height))) + 'px';
|
23164
|
-
//elm.style.top = (position.y - position.height - elmRect.height) + 'px';
|
23165
|
-
}
|
23280
|
+
return;
|
23166
23281
|
}
|
23167
23282
|
}
|
23168
23283
|
renderCalendar() {
|
@@ -23270,7 +23385,7 @@ class DocEditor {
|
|
23270
23385
|
rule.setRuleOptions({ width: this.viewOptions.docPageSettings.width, pagePL, pagePR, docLeft });
|
23271
23386
|
}
|
23272
23387
|
version() {
|
23273
|
-
return "2.2.
|
23388
|
+
return "2.2.33";
|
23274
23389
|
}
|
23275
23390
|
switchPageHeaderEditor() {
|
23276
23391
|
this.docCtx.document.switchPageHeaderEditor(this.selectionState, null);
|
@@ -23723,7 +23838,9 @@ class DocumentEvalFunc {
|
|
23723
23838
|
}
|
23724
23839
|
}
|
23725
23840
|
|
23726
|
-
function createPrintTemplate({ width, height, orient }) {
|
23841
|
+
function createPrintTemplate({ width, height, orient, printDOMStyle }) {
|
23842
|
+
//FIX:修复win7宋体加粗不生效的情况
|
23843
|
+
const printStyle = printDOMStyle ?? `text[font-weight="bold"][font-family="宋体"] {font-family: STSong;}`;
|
23727
23844
|
return `
|
23728
23845
|
<!DOCTYPE html>
|
23729
23846
|
<html lang="zh">
|
@@ -23764,10 +23881,7 @@ function createPrintTemplate({ width, height, orient }) {
|
|
23764
23881
|
width: initial;
|
23765
23882
|
min-height: initial;
|
23766
23883
|
}
|
23767
|
-
|
23768
|
-
font-family: STSong, 宋体;
|
23769
|
-
-webkit-text-shadow: 0.15pt 0px 0px black, 0.25pt 0px 0px black, 0.35pt 0px 0px black, -0.25pt 0px 0px black, 0px 0.25pt 0px black, 0px -0.25pt 0px black;
|
23770
|
-
}
|
23884
|
+
${printStyle}
|
23771
23885
|
}
|
23772
23886
|
</style>
|
23773
23887
|
</head>
|
@@ -23793,8 +23907,7 @@ function printNodes(printNodes, options, printEvent = null) {
|
|
23793
23907
|
console.warn('无可打印节点');
|
23794
23908
|
return;
|
23795
23909
|
}
|
23796
|
-
const
|
23797
|
-
const iframeHTML = createPrintTemplate(printSize);
|
23910
|
+
const iframeHTML = createPrintTemplate(options);
|
23798
23911
|
printIFrame.contentWindow?.document.write(iframeHTML);
|
23799
23912
|
printIFrame.contentWindow?.document.close();
|
23800
23913
|
for (let i = 0; i < printNodes.length; i++) {
|
@@ -28784,6 +28897,7 @@ class DocumentPrintOffscreenBase {
|
|
28784
28897
|
afterRenderEvent = new Subject();
|
28785
28898
|
beforePrint = new Subject();
|
28786
28899
|
afterPrint = new Subject();
|
28900
|
+
printDOMStyle;
|
28787
28901
|
constructor() {
|
28788
28902
|
this.viewOptions = new ViewOptions();
|
28789
28903
|
this.viewOptions.copyRightInfo = '';
|
@@ -28817,6 +28931,7 @@ class DocumentPrintOffscreenBase {
|
|
28817
28931
|
return;
|
28818
28932
|
}
|
28819
28933
|
const docProps = this.docCtx.viewOptions.docPageSettings.clone();
|
28934
|
+
docProps['printDOMStyle'] = this.printDOMStyle;
|
28820
28935
|
printNodes(canvasNodes, docProps, {
|
28821
28936
|
beforePrint: () => this.beforePrint.next(),
|
28822
28937
|
afterPrint: () => this.afterPrint.next()
|
@@ -28847,6 +28962,7 @@ class DocumentPrintOffscreenBase {
|
|
28847
28962
|
return;
|
28848
28963
|
}
|
28849
28964
|
const docProps = this.docCtx.viewOptions.docPageSettings.clone();
|
28965
|
+
docProps['printDOMStyle'] = this.printDOMStyle;
|
28850
28966
|
// if (docProps.orient === 'landscape') {
|
28851
28967
|
// svgNodes = svgNodes.map(item => 'data:image/svg+xml;base64,' + CommonUtil.btoa(item)).map(item => `<img src="${item}" width="${docProps.width}px" height="${docProps.height-1}px" style="display: block"/>`);
|
28852
28968
|
// }
|
@@ -29040,5 +29156,5 @@ function removeDuplicatesEvent(events) {
|
|
29040
29156
|
return arr;
|
29041
29157
|
}
|
29042
29158
|
|
29043
|
-
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, IsInSideDataGroup, IsInSideInlineGroupInputElement, KeyboradElementEvent, LeafElement, LeafRenderObject, LineElement, LineFactory, LineProps, LineRenderObject, 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, exportDataEleDecoratorSVG$1 as exportDataEleDecoratorSVG, falseChar, fontMapFunc, formatEle, fromEvent, generatePatch, getCalleeName, getCurrentParaGroupRenders, getFocusTextSegment, getRenderPosToDoc, inputText, insertEle, invokeTypeHandler, isDate, logUpdateEleProps, objectToString$4 as objectToString, onTableContextmenu, onceTask, parser, reactiveMap, refreshEditor, removeEle, removeText, renderErrorTip, renderUnderWavyLine, renderUnderline, runTextLineRender, setChildrenModifyFlag, setNotifyChangedCallback, setTraceTrackingFlag, suppressTracking, targetMaps, textLineRenderMode, toRawType, toTypeString, trueChar, updatePartialProps, validateDataEle, validateDataEleRenderObj, validateDataGroup, validateInlineInputRenderObj, watchChanged };
|
29159
|
+
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, IsInSideDataGroup, IsInSideInlineGroupInputElement, KeyboradElementEvent, LeafElement, LeafRenderObject, LineElement, LineFactory, LineProps, LineRenderObject, 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, exportDataEleDecoratorSVG$1 as exportDataEleDecoratorSVG, falseChar, fontMapFunc, formatEle, fromEvent, generatePatch, getCalleeName, getCurrentParaGroupRenders, getFocusTextSegment, getRenderPosToDoc, inputText, insertEle, invokeTypeHandler, isDate, logUpdateEleProps, objectToString$4 as objectToString, onTableContextmenu, onceTask, parser, reactiveMap, refreshEditor, removeEle, removeText, renderErrorTip, renderUnderWavyLine, renderUnderline, runTextLineRender, setChildrenModifyFlag, setNotifyChangedCallback, setTraceTrackingFlag, suppressTracking, targetMaps, textLineRenderMode, toRawType, toTypeString, trueChar, updatePartialProps, validateDataEle, validateDataEleRenderObj, validateDataGroup, validateInlineDataEle, validateInlineInputRenderObj, watchChanged };
|
29044
29160
|
//# sourceMappingURL=index.js.map
|