Skip to content

Commit f105e79

Browse files
authored
Merge branch 'main' into export-irangestyle
2 parents 12e3c7c + 51a2434 commit f105e79

File tree

6 files changed

+19
-5
lines changed

6 files changed

+19
-5
lines changed

dist/canvas-editor.es.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6790,6 +6790,8 @@ class RangeManager {
67906790
return rangeStyle;
67916791
}
67926792
setRangeStyle() {
6793+
if (!this.eventBus || !this.listener)
6794+
return;
67936795
const rangeStyleChangeListener = this.listener.rangeStyleChange;
67946796
const isSubscribeRangeStyleChange = this.eventBus.isSubscribe("rangeStyleChange");
67956797
if (!rangeStyleChangeListener && !isSubscribeRangeStyleChange)
@@ -10870,6 +10872,7 @@ class Draw {
1087010872
__publicField(this, "visiblePageNoList");
1087110873
__publicField(this, "intersectionPageNo");
1087210874
__publicField(this, "lazyRenderIntersectionObserver");
10875+
__publicField(this, "isDestroyed", false);
1087310876
this.container = this._wrapContainer(rootContainer);
1087410877
this.pageList = [];
1087510878
this.ctxList = [];
@@ -11039,6 +11042,8 @@ class Draw {
1103911042
return this.intersectionPageNo;
1104011043
}
1104111044
setIntersectionPageNo(payload) {
11045+
if (this.isDestroyed)
11046+
return;
1104211047
this.intersectionPageNo = payload;
1104311048
if (this.listener.intersectionPageNoChange) {
1104411049
this.listener.intersectionPageNoChange(this.intersectionPageNo);
@@ -12085,6 +12090,8 @@ class Draw {
1208512090
}
1208612091
render(payload) {
1208712092
var _a;
12093+
if (this.isDestroyed)
12094+
return;
1208812095
const { header, footer } = this.options;
1208912096
const { isSubmitHistory = true, isSetCursor = true, isCompute = true, isLazy = true, isInit = false } = payload || {};
1209012097
let { curIndex } = payload || {};
@@ -12187,6 +12194,7 @@ class Draw {
1218712194
});
1218812195
}
1218912196
destroy() {
12197+
this.isDestroyed = true;
1219012198
this.container.remove();
1219112199
this.globalEvent.removeEvent();
1219212200
this.scrollObserver.removeEvent();

src/editor/DOMEventHandlers.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,16 @@ export class DOMEventHandlers {
3535
// }
3636
if (DOMEventHandlers.instance) {
3737
try {
38-
DOMEventHandlers.instance.destroy();
38+
DOMEventHandlers.instance.destroy()
3939
} catch (e) {
40-
console.warn("Cleaning up old editor instance");
40+
console.warn('Cleaning up old editor instance')
4141
}
4242
}
4343
DOMEventHandlers.instance = new Editor(container, data, options)
4444
DOMEventHandlers.instance.command.executeSetLocale('en')
4545
DOMEventHandlers.instance.register.langMap('en', en)
4646

47-
return DOMEventHandlers.instance;
47+
return DOMEventHandlers.instance
4848
}
4949

5050
static handleUndo() {

src/editor/core/draw/Draw.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,8 @@ export class Draw {
143143
private intersectionPageNo: number
144144
private lazyRenderIntersectionObserver: IntersectionObserver | null
145145

146+
private isDestroyed = false
147+
146148
constructor(
147149
rootContainer: HTMLElement,
148150
options: DeepRequired<IEditorOption>,
@@ -357,6 +359,7 @@ export class Draw {
357359
}
358360

359361
public setIntersectionPageNo(payload: number) {
362+
if (this.isDestroyed) return
360363
this.intersectionPageNo = payload
361364
if (this.listener.intersectionPageNoChange) {
362365
this.listener.intersectionPageNoChange(this.intersectionPageNo)
@@ -1716,6 +1719,7 @@ export class Draw {
17161719
}
17171720

17181721
public render(payload?: IDrawOption) {
1722+
if (this.isDestroyed) return
17191723
const { header, footer } = this.options
17201724
const {
17211725
isSubmitHistory = true,
@@ -1849,6 +1853,7 @@ export class Draw {
18491853
}
18501854

18511855
public destroy() {
1856+
this.isDestroyed = true
18521857
this.container.remove()
18531858
this.globalEvent.removeEvent()
18541859
this.scrollObserver.removeEvent()

src/editor/core/range/RangeManager.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,7 @@ export class RangeManager {
318318
}
319319

320320
public setRangeStyle() {
321+
if (!this.eventBus || !this.listener) return
321322
const rangeStyleChangeListener = this.listener.rangeStyleChange
322323
const isSubscribeRangeStyleChange =
323324
this.eventBus.isSubscribe('rangeStyleChange')

src/editor/dataset/enum/Row.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ export enum RowFlex {
33
CENTER = 'center',
44
RIGHT = 'right',
55
ALIGNMENT = 'alignment',
6-
JUSTIFY = "justify",
6+
JUSTIFY = 'justify',
77
}

src/editor/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ export default class Editor {
185185
})
186186
// 监听
187187
this.listener = new Listener()
188-
this.eventBus = new EventBus()
188+
this.eventBus = new EventBus<EventBusMap>()
189189
// start up
190190
const draw = new Draw(
191191
container,

0 commit comments

Comments
 (0)