@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.js CHANGED
@@ -1510,7 +1510,7 @@ class BranchElement extends Element {
1510
1510
  }
1511
1511
  treeFilter(predicate, options) {
1512
1512
  if (!options) {
1513
- options = { includeChildren: true };
1513
+ options = { includeChildren: false };
1514
1514
  }
1515
1515
  const items = [];
1516
1516
  for (let i = 0; i < this.length; i++) {
@@ -1523,7 +1523,7 @@ class BranchElement extends Element {
1523
1523
  }
1524
1524
  }
1525
1525
  if (item instanceof BranchElement) {
1526
- items.push(...item.treeFilter(predicate));
1526
+ items.push(...item.treeFilter(predicate, options));
1527
1527
  }
1528
1528
  }
1529
1529
  return items;
@@ -1708,6 +1708,8 @@ class ViewOptions {
1708
1708
  dataDecoratorNormalColor = '#0050b3';
1709
1709
  dataDecoratorMouseEnterColor = '#0050b3';
1710
1710
  dataDecoratorFocusedColor = '#0050b3';
1711
+ //是否显示数据元修饰符
1712
+ showDataEleDecorator = true;
1711
1713
  //数据元没有输入值时背景颜色
1712
1714
  dataEleEmptyBgColor = '';
1713
1715
  //数据元鼠标悬浮颜色
@@ -1718,7 +1720,14 @@ class ViewOptions {
1718
1720
  dataEleFocusedBgColor = '#d9d9d9';
1719
1721
  //数据元正常背景颜色
1720
1722
  dataEleNormalBgColor = '#fafafa';
1723
+ //数据元错误背景颜色
1721
1724
  dataEleErrorBgColor = '#ff4d4f';
1725
+ //数据元正常背景颜色
1726
+ dataGroupEleNormalBgColor = '';
1727
+ //数据元鼠标悬浮颜色
1728
+ dataGroupMouseEnterBgColor = '';
1729
+ //数据元只读背景颜色
1730
+ dataGroupFocusedBgColor = '';
1722
1731
  viewBackcolor = 'rgb(230,230,230)';
1723
1732
  paraSymbolColor = 'rgb(128,128,128)';
1724
1733
  dataGroupColor = 'rgb(0,80,179)';
@@ -8778,6 +8787,9 @@ function IsInSideDataGroup(control, offset) {
8778
8787
  return true;
8779
8788
  }
8780
8789
  return false;
8790
+ }
8791
+ function validateDataGroup(control) {
8792
+ return control instanceof DataElementGroupElement;
8781
8793
  }
8782
8794
 
8783
8795
  class DataElementImage extends DataElementLeaf {
@@ -13374,17 +13386,20 @@ class DocumentContext {
13374
13386
  this.ss = ss;
13375
13387
  }
13376
13388
  getControlIDList() {
13377
- const dataEleList = this.ctx.treeFilter(item => validateDataEle(item));
13389
+ const dataEleList = this.ctx.treeFilter(item => this.isDataEle(item));
13378
13390
  return dataEleList.map(item => item.props.id);
13379
13391
  }
13380
13392
  getControlInstanceList(options) {
13381
- return this.ctx.treeFilter(item => validateDataEle(item), options);
13393
+ return this.ctx.treeFilter(item => this.isDataEle(item), options);
13382
13394
  }
13383
13395
  getControlById(id) {
13384
- return this.ctx.treeFind(item => validateDataEle(item) && item['props']['id'] === id);
13396
+ return this.ctx.treeFind(item => this.isDataEle(item) && item['props']['id'] === id);
13397
+ }
13398
+ isDataEle(ele) {
13399
+ return validateDataEle(ele) || ele instanceof DataElementGroupElement;
13385
13400
  }
13386
13401
  getControlByName(name) {
13387
- return this.ctx.treeFind(item => validateDataEle(item) && item['props']['name'] === name);
13402
+ return this.ctx.treeFind(item => this.isDataEle(item) && item['props']['name'] === name);
13388
13403
  }
13389
13404
  /**
13390
13405
  * 获取数据元值集合
@@ -13402,7 +13417,7 @@ class DocumentContext {
13402
13417
  * @returns
13403
13418
  */
13404
13419
  getDataElementModelList(options) {
13405
- const dataEleList = this.ctx.treeFilter(item => validateDataEle(item), options);
13420
+ const dataEleList = this.ctx.treeFilter(item => this.isDataEle(item), options);
13406
13421
  //数据元、数据组
13407
13422
  const dataInlineGroups = dataEleList.filter(item => item instanceof DataElementInlineGroup);
13408
13423
  const dataLeafs = dataEleList.filter(item => item instanceof DataElementLeaf);
@@ -15476,12 +15491,12 @@ class DocumentEvent {
15476
15491
  },
15477
15492
  mouseup: (evt) => {
15478
15493
  this.mouseup(evt, ElementUtil.getMousePos(evt, scale));
15479
- this.mouseClickHandle(evt);
15494
+ //this.mouseClickHandle(evt);
15480
15495
  },
15481
15496
  click: (evt) => {
15482
15497
  //nulltext 不触发 click 事件,暂且这么处理
15483
15498
  //移到 mouseup 事件中处理
15484
- //this.mouseClickHandle(evt);
15499
+ this.mouseClickHandle(evt);
15485
15500
  },
15486
15501
  mousemove: (evt) => {
15487
15502
  this.mousemove(evt, ElementUtil.getMousePos(evt, scale));
@@ -16708,6 +16723,30 @@ class DocumentEvent {
16708
16723
  }
16709
16724
  return null;
16710
16725
  }
16726
+ /**
16727
+ * 获取当前光标所在的数据组
16728
+ * @returns
16729
+ */
16730
+ getCurrentDataGroupElement(mode = 'strict') {
16731
+ const selectionState = this.selectionState;
16732
+ const { startControl, startOffset, collapsed, ancestorCommonControl } = selectionState;
16733
+ if (startControl && collapsed) {
16734
+ // if (!ElementUtil.verifyHitable(startControl)) {
16735
+ // return null;
16736
+ // }
16737
+ const dataEle = ElementUtil.getParent(startControl, validateDataGroup);
16738
+ if (mode === 'free' || IsInSideDataGroup(startControl, startOffset)) {
16739
+ return dataEle;
16740
+ }
16741
+ else {
16742
+ return null;
16743
+ }
16744
+ }
16745
+ else if (!collapsed && ancestorCommonControl) {
16746
+ return ElementUtil.getParent(ancestorCommonControl, validateDataGroup);
16747
+ }
16748
+ return null;
16749
+ }
16711
16750
  }
16712
16751
 
16713
16752
  /**
@@ -17856,6 +17895,14 @@ class DocumentChange {
17856
17895
  }
17857
17896
  return;
17858
17897
  }
17898
+ const dataGroup = ElementUtil.getDataGroupElement(range.target);
17899
+ if (dataGroup) {
17900
+ this.deleteRange(range);
17901
+ if (!startPointElement || ElementUtil.getParent(startPointElement, item => validateDataGroup(item)) !== dataGroup) {
17902
+ this.selectionState.resetRange(dataGroup.startDecorate, 1);
17903
+ }
17904
+ return;
17905
+ }
17859
17906
  //在数据元外删除
17860
17907
  else {
17861
17908
  this.loopForDelDataEleRange(range);
@@ -20958,12 +21005,19 @@ class DocEditor {
20958
21005
  this.onDblClickEvent.next(evt);
20959
21006
  }
20960
21007
  /**
20961
- * 获取当前光标所在的数据元或者数据组
21008
+ * 获取当前光标所在的数据元
20962
21009
  * @returns
20963
21010
  */
20964
21011
  getCurrentDataElement() {
20965
21012
  return this.documentEvent.getCurrentDataElement();
20966
21013
  }
21014
+ /**
21015
+ * 回去当前光标所在数据组
21016
+ * @returns
21017
+ */
21018
+ getCurrentDataGroupElement() {
21019
+ return this.documentEvent.getCurrentDataGroupElement();
21020
+ }
20967
21021
  /**
20968
21022
  * 移动光标到下一个数据元素上
20969
21023
  */
@@ -21997,7 +22051,7 @@ class DocEditor {
21997
22051
  rule.setRuleOptions({ width: this.viewOptions.docPageSettings.width, pagePL, pagePR, docLeft });
21998
22052
  }
21999
22053
  version() {
22000
- return "2.2.10";
22054
+ return "2.2.11";
22001
22055
  }
22002
22056
  switchPageHeaderEditor() {
22003
22057
  this.docCtx.document.switchPageHeaderEditor(this.selectionState, null);
@@ -27716,5 +27770,5 @@ function removeDuplicatesEvent(events) {
27716
27770
  return arr;
27717
27771
  }
27718
27772
 
27719
- 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, 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 };
27773
+ 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, 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, validateDataGroup, validateInlineInputRenderObj, watchChanged };
27720
27774
  //# sourceMappingURL=index.js.map