@hailin-zheng/editor-core 2.2.10 → 2.2.11
Sign up to get free protection for your applications and to get access to all the features.
- package/index-cjs.js +66 -11
- package/index-cjs.js.map +1 -1
- package/index.js +66 -12
- package/index.js.map +1 -1
- package/med_editor/doc-editor.d.ts +7 -2
- package/med_editor/framework/document-context.d.ts +1 -0
- package/med_editor/framework/document-event.d.ts +6 -1
- package/med_editor/framework/element-define.d.ts +4 -0
- package/med_editor/framework/impl/data-element/data-element-group-impl.d.ts +1 -0
- package/package.json +1 -1
package/index-cjs.js
CHANGED
@@ -1539,7 +1539,7 @@ class BranchElement extends Element {
|
|
1539
1539
|
}
|
1540
1540
|
treeFilter(predicate, options) {
|
1541
1541
|
if (!options) {
|
1542
|
-
options = { includeChildren:
|
1542
|
+
options = { includeChildren: false };
|
1543
1543
|
}
|
1544
1544
|
const items = [];
|
1545
1545
|
for (let i = 0; i < this.length; i++) {
|
@@ -1552,7 +1552,7 @@ class BranchElement extends Element {
|
|
1552
1552
|
}
|
1553
1553
|
}
|
1554
1554
|
if (item instanceof BranchElement) {
|
1555
|
-
items.push(...item.treeFilter(predicate));
|
1555
|
+
items.push(...item.treeFilter(predicate, options));
|
1556
1556
|
}
|
1557
1557
|
}
|
1558
1558
|
return items;
|
@@ -1737,6 +1737,8 @@ class ViewOptions {
|
|
1737
1737
|
dataDecoratorNormalColor = '#0050b3';
|
1738
1738
|
dataDecoratorMouseEnterColor = '#0050b3';
|
1739
1739
|
dataDecoratorFocusedColor = '#0050b3';
|
1740
|
+
//是否显示数据元修饰符
|
1741
|
+
showDataEleDecorator = true;
|
1740
1742
|
//数据元没有输入值时背景颜色
|
1741
1743
|
dataEleEmptyBgColor = '';
|
1742
1744
|
//数据元鼠标悬浮颜色
|
@@ -1747,7 +1749,14 @@ class ViewOptions {
|
|
1747
1749
|
dataEleFocusedBgColor = '#d9d9d9';
|
1748
1750
|
//数据元正常背景颜色
|
1749
1751
|
dataEleNormalBgColor = '#fafafa';
|
1752
|
+
//数据元错误背景颜色
|
1750
1753
|
dataEleErrorBgColor = '#ff4d4f';
|
1754
|
+
//数据元正常背景颜色
|
1755
|
+
dataGroupEleNormalBgColor = '';
|
1756
|
+
//数据元鼠标悬浮颜色
|
1757
|
+
dataGroupMouseEnterBgColor = '';
|
1758
|
+
//数据元只读背景颜色
|
1759
|
+
dataGroupFocusedBgColor = '';
|
1751
1760
|
viewBackcolor = 'rgb(230,230,230)';
|
1752
1761
|
paraSymbolColor = 'rgb(128,128,128)';
|
1753
1762
|
dataGroupColor = 'rgb(0,80,179)';
|
@@ -8807,6 +8816,9 @@ function IsInSideDataGroup(control, offset) {
|
|
8807
8816
|
return true;
|
8808
8817
|
}
|
8809
8818
|
return false;
|
8819
|
+
}
|
8820
|
+
function validateDataGroup(control) {
|
8821
|
+
return control instanceof DataElementGroupElement;
|
8810
8822
|
}
|
8811
8823
|
|
8812
8824
|
class DataElementImage extends DataElementLeaf {
|
@@ -13403,17 +13415,20 @@ class DocumentContext {
|
|
13403
13415
|
this.ss = ss;
|
13404
13416
|
}
|
13405
13417
|
getControlIDList() {
|
13406
|
-
const dataEleList = this.ctx.treeFilter(item =>
|
13418
|
+
const dataEleList = this.ctx.treeFilter(item => this.isDataEle(item));
|
13407
13419
|
return dataEleList.map(item => item.props.id);
|
13408
13420
|
}
|
13409
13421
|
getControlInstanceList(options) {
|
13410
|
-
return this.ctx.treeFilter(item =>
|
13422
|
+
return this.ctx.treeFilter(item => this.isDataEle(item), options);
|
13411
13423
|
}
|
13412
13424
|
getControlById(id) {
|
13413
|
-
return this.ctx.treeFind(item =>
|
13425
|
+
return this.ctx.treeFind(item => this.isDataEle(item) && item['props']['id'] === id);
|
13426
|
+
}
|
13427
|
+
isDataEle(ele) {
|
13428
|
+
return validateDataEle(ele) || ele instanceof DataElementGroupElement;
|
13414
13429
|
}
|
13415
13430
|
getControlByName(name) {
|
13416
|
-
return this.ctx.treeFind(item =>
|
13431
|
+
return this.ctx.treeFind(item => this.isDataEle(item) && item['props']['name'] === name);
|
13417
13432
|
}
|
13418
13433
|
/**
|
13419
13434
|
* 获取数据元值集合
|
@@ -13431,7 +13446,7 @@ class DocumentContext {
|
|
13431
13446
|
* @returns
|
13432
13447
|
*/
|
13433
13448
|
getDataElementModelList(options) {
|
13434
|
-
const dataEleList = this.ctx.treeFilter(item =>
|
13449
|
+
const dataEleList = this.ctx.treeFilter(item => this.isDataEle(item), options);
|
13435
13450
|
//数据元、数据组
|
13436
13451
|
const dataInlineGroups = dataEleList.filter(item => item instanceof DataElementInlineGroup);
|
13437
13452
|
const dataLeafs = dataEleList.filter(item => item instanceof DataElementLeaf);
|
@@ -15505,12 +15520,12 @@ class DocumentEvent {
|
|
15505
15520
|
},
|
15506
15521
|
mouseup: (evt) => {
|
15507
15522
|
this.mouseup(evt, ElementUtil.getMousePos(evt, scale));
|
15508
|
-
this.mouseClickHandle(evt);
|
15523
|
+
//this.mouseClickHandle(evt);
|
15509
15524
|
},
|
15510
15525
|
click: (evt) => {
|
15511
15526
|
//nulltext 不触发 click 事件,暂且这么处理
|
15512
15527
|
//移到 mouseup 事件中处理
|
15513
|
-
|
15528
|
+
this.mouseClickHandle(evt);
|
15514
15529
|
},
|
15515
15530
|
mousemove: (evt) => {
|
15516
15531
|
this.mousemove(evt, ElementUtil.getMousePos(evt, scale));
|
@@ -16737,6 +16752,30 @@ class DocumentEvent {
|
|
16737
16752
|
}
|
16738
16753
|
return null;
|
16739
16754
|
}
|
16755
|
+
/**
|
16756
|
+
* 获取当前光标所在的数据组
|
16757
|
+
* @returns
|
16758
|
+
*/
|
16759
|
+
getCurrentDataGroupElement(mode = 'strict') {
|
16760
|
+
const selectionState = this.selectionState;
|
16761
|
+
const { startControl, startOffset, collapsed, ancestorCommonControl } = selectionState;
|
16762
|
+
if (startControl && collapsed) {
|
16763
|
+
// if (!ElementUtil.verifyHitable(startControl)) {
|
16764
|
+
// return null;
|
16765
|
+
// }
|
16766
|
+
const dataEle = ElementUtil.getParent(startControl, validateDataGroup);
|
16767
|
+
if (mode === 'free' || IsInSideDataGroup(startControl, startOffset)) {
|
16768
|
+
return dataEle;
|
16769
|
+
}
|
16770
|
+
else {
|
16771
|
+
return null;
|
16772
|
+
}
|
16773
|
+
}
|
16774
|
+
else if (!collapsed && ancestorCommonControl) {
|
16775
|
+
return ElementUtil.getParent(ancestorCommonControl, validateDataGroup);
|
16776
|
+
}
|
16777
|
+
return null;
|
16778
|
+
}
|
16740
16779
|
}
|
16741
16780
|
|
16742
16781
|
/**
|
@@ -17885,6 +17924,14 @@ class DocumentChange {
|
|
17885
17924
|
}
|
17886
17925
|
return;
|
17887
17926
|
}
|
17927
|
+
const dataGroup = ElementUtil.getDataGroupElement(range.target);
|
17928
|
+
if (dataGroup) {
|
17929
|
+
this.deleteRange(range);
|
17930
|
+
if (!startPointElement || ElementUtil.getParent(startPointElement, item => validateDataGroup(item)) !== dataGroup) {
|
17931
|
+
this.selectionState.resetRange(dataGroup.startDecorate, 1);
|
17932
|
+
}
|
17933
|
+
return;
|
17934
|
+
}
|
17888
17935
|
//在数据元外删除
|
17889
17936
|
else {
|
17890
17937
|
this.loopForDelDataEleRange(range);
|
@@ -20987,12 +21034,19 @@ class DocEditor {
|
|
20987
21034
|
this.onDblClickEvent.next(evt);
|
20988
21035
|
}
|
20989
21036
|
/**
|
20990
|
-
*
|
21037
|
+
* 获取当前光标所在的数据元
|
20991
21038
|
* @returns
|
20992
21039
|
*/
|
20993
21040
|
getCurrentDataElement() {
|
20994
21041
|
return this.documentEvent.getCurrentDataElement();
|
20995
21042
|
}
|
21043
|
+
/**
|
21044
|
+
* 回去当前光标所在数据组
|
21045
|
+
* @returns
|
21046
|
+
*/
|
21047
|
+
getCurrentDataGroupElement() {
|
21048
|
+
return this.documentEvent.getCurrentDataGroupElement();
|
21049
|
+
}
|
20996
21050
|
/**
|
20997
21051
|
* 移动光标到下一个数据元素上
|
20998
21052
|
*/
|
@@ -22026,7 +22080,7 @@ class DocEditor {
|
|
22026
22080
|
rule.setRuleOptions({ width: this.viewOptions.docPageSettings.width, pagePL, pagePR, docLeft });
|
22027
22081
|
}
|
22028
22082
|
version() {
|
22029
|
-
return "2.2.
|
22083
|
+
return "2.2.11";
|
22030
22084
|
}
|
22031
22085
|
switchPageHeaderEditor() {
|
22032
22086
|
this.docCtx.document.switchPageHeaderEditor(this.selectionState, null);
|
@@ -28008,6 +28062,7 @@ exports.toTypeString = toTypeString;
|
|
28008
28062
|
exports.trueChar = trueChar;
|
28009
28063
|
exports.validateDataEle = validateDataEle;
|
28010
28064
|
exports.validateDataEleRenderObj = validateDataEleRenderObj;
|
28065
|
+
exports.validateDataGroup = validateDataGroup;
|
28011
28066
|
exports.validateInlineInputRenderObj = validateInlineInputRenderObj;
|
28012
28067
|
exports.watchChanged = watchChanged;
|
28013
28068
|
//# sourceMappingURL=index-cjs.js.map
|