@hailin-zheng/editor-core 2.0.49 → 2.0.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -141,42 +141,63 @@ editor-body.vue 的结构如下:
141
141
 
142
142
  初始化编辑器,实例CanvasTextEditor对象,提供给子组件ref参数(docScroll, docHoldSpace, ruleCanvas, editCanvasContainer, editCanvas, editInput, editCursor, cursorWrapper)给CanvasTextEditor,获得编辑器对象。属性的修改和编辑器的方法均通过CanvasTextEditor暴露出来;
143
143
  > 注意:这里需要引入类型 `editorContextType` (位于 emrComponents/code/types.ts 中)
144
+
144
145
  ```js
145
146
  /** CanvasTextEditor实例属性 */
146
- private contentCtx: CanvasRenderingContext2D;
147
- viewOptions: ViewOptions;
148
- docCtx: EditorContext;
149
- private docComment: DocumentComment;
150
- private renderContext: RenderContext;
151
- private documentPaint: DocumentPaint;
152
- elementReader: ElementReader;
153
- private documentEvent: DocumentEvent;
154
- private documentSelection: DocumentSelection;
155
- private documentInput: DocumentInput;
156
- private documentChange: DocumentChange;
157
- private selectionOverlays: SelectionOverlays;
158
- private docRule: DocRule;
159
- private eventMap: EventMap = new EventMap();
160
- historyMange: ElementTrackManage;
161
- selectionChanged: Subject<SelectionState> = new Subject();
162
- beforeRenderSubject: Subject<void> = new Subject();
163
- afterRenderSubject: Subject<void> = new Subject();
164
- selectionState: SelectionState;
165
- //显示右键菜单
166
- onContextMenuItemChanged: Subject<EditorContenxtProps> = new Subject();
167
- onDblClickEvent: Subject<Event> = new Subject();
168
- onClickEvent: Subject<Event> = new Subject();
169
- onScrollViewEvent: Subject<number> = new Subject();
170
- //文档改变事件:内容及样式,业务模块需要根据此事件,来追踪当前文档是否改变的状态
171
- onDocChangedEvent: Subject<void> = new Subject();
172
- //执行flushTask,refreshDoc之前,此时可以在文档计算排版之前改变内容
173
- onBeforeRefreshDocument: Subject<void> = new Subject();
174
- .....
175
-
176
- /** 实例化编辑器 */
177
- const { docScroll, docHoldSpace, ruleCanvas, editCanvasContainer, editCanvas, editInput, editCursor, cursorWrapper } = editorBodyRef.value;
178
- let textEditor = new CanvasTextEditor(docScroll, docHoldSpace, ruleCanvas, editCanvasContainer, editCanvas, editInput, editCursor, cursorWrapper);
179
- textEditor.createNewDoc();
147
+ private
148
+ contentCtx: CanvasRenderingContext2D;
149
+ viewOptions: ViewOptions;
150
+ docCtx: EditorContext;
151
+ private
152
+ docComment: DocumentComment;
153
+ private
154
+ renderContext: RenderContext;
155
+ private
156
+ documentPaint: DocumentPaint;
157
+ elementReader: ElementReader;
158
+ private
159
+ documentEvent: DocumentEvent;
160
+ private
161
+ documentSelection: DocumentSelection;
162
+ private
163
+ documentInput: DocumentInput;
164
+ private
165
+ documentChange: DocumentChange;
166
+ private
167
+ selectionOverlays: SelectionOverlays;
168
+ private
169
+ docRule: DocRule;
170
+ private
171
+ eventMap: EventMap = new EventMap();
172
+ historyMange: ElementTrackManage;
173
+ selectionChanged: Subject < SelectionState > = new Subject();
174
+ beforeRenderSubject: Subject < void > = new Subject();
175
+ afterRenderSubject: Subject < void > = new Subject();
176
+ selectionState: SelectionState;
177
+ //显示右键菜单
178
+ onContextMenuItemChanged: Subject < EditorContextProps > = new Subject();
179
+ onDblClickEvent: Subject < Event > = new Subject();
180
+ onClickEvent: Subject < Event > = new Subject();
181
+ onScrollViewEvent: Subject < number > = new Subject();
182
+ //文档改变事件:内容及样式,业务模块需要根据此事件,来追踪当前文档是否改变的状态
183
+ onDocChangedEvent: Subject < void > = new Subject();
184
+ //执行flushTask,refreshDoc之前,此时可以在文档计算排版之前改变内容
185
+ onBeforeRefreshDocument: Subject < void > = new Subject();
186
+ .....
187
+
188
+ /** 实例化编辑器 */
189
+ const {
190
+ docScroll,
191
+ docHoldSpace,
192
+ ruleCanvas,
193
+ editCanvasContainer,
194
+ editCanvas,
195
+ editInput,
196
+ editCursor,
197
+ cursorWrapper
198
+ } = editorBodyRef.value;
199
+ let textEditor = new CanvasTextEditor(docScroll, docHoldSpace, ruleCanvas, editCanvasContainer, editCanvas, editInput, editCursor, cursorWrapper);
200
+ textEditor.createNewDoc();
180
201
 
181
202
  ```
182
203
  <!-- /div -->
package/index-cjs.js CHANGED
@@ -26980,6 +26980,7 @@ class DocEditor {
26980
26980
  selectionChanged = new Subject$1();
26981
26981
  beforeRenderSubject = new Subject$1();
26982
26982
  afterRenderSubject = new Subject$1();
26983
+ onBeforeSetCursorSubject = new Subject$1();
26983
26984
  contentChanged = new Subject$1();
26984
26985
  onShouldRender = new Subject$1();
26985
26986
  selectionState;
@@ -27382,6 +27383,13 @@ class DocEditor {
27382
27383
  * @returns
27383
27384
  */
27384
27385
  canSetCursor() {
27386
+ //判断当前光标是否可以放置,可以设置返回true,否则返回false
27387
+ //用法:合并病程录,分开处理多个病程录录入权限
27388
+ const event = { result: true };
27389
+ this.onBeforeSetCursorSubject.next(event);
27390
+ if (!event.result) {
27391
+ return false;
27392
+ }
27385
27393
  const { startControl, startOffset, editable } = this.selectionState;
27386
27394
  return ElementUtil.canSetCursor(startControl, startOffset, editable, this.viewOptions);
27387
27395
  }
@@ -28368,7 +28376,7 @@ class DocEditor {
28368
28376
  rule.setRuleOptions({ width: this.viewOptions.docPageSettings.width, pagePL, pagePR, docLeft });
28369
28377
  }
28370
28378
  version() {
28371
- return "2.0.49";
28379
+ return "2.0.50";
28372
28380
  }
28373
28381
  }
28374
28382