vibe-editor 0.0.0

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.
Files changed (132) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +51 -0
  3. package/package.json +56 -0
  4. package/src/fonts/bravura/FONTLOG.txt +243 -0
  5. package/src/fonts/bravura/OFL-FAQ.txt +369 -0
  6. package/src/fonts/bravura/OFL.txt +94 -0
  7. package/src/fonts/bravura/bravura-text.md +153 -0
  8. package/src/fonts/bravura/bravura_metadata.json +34718 -0
  9. package/src/fonts/bravura/eot/Bravura.eot +0 -0
  10. package/src/fonts/bravura/eot/BravuraText.eot +0 -0
  11. package/src/fonts/bravura/otf/Bravura.otf +0 -0
  12. package/src/fonts/bravura/otf/BravuraText.otf +0 -0
  13. package/src/fonts/bravura/svg/Bravura.svg +3517 -0
  14. package/src/fonts/bravura/svg/BravuraText.svg +18879 -0
  15. package/src/fonts/bravura/woff/Bravura.woff +0 -0
  16. package/src/fonts/bravura/woff/BravuraText.woff +0 -0
  17. package/src/fonts/colaborate/ColabBol-webfont.eot +0 -0
  18. package/src/fonts/colaborate/ColabBol-webfont.svg +976 -0
  19. package/src/fonts/colaborate/ColabBol-webfont.ttf +0 -0
  20. package/src/fonts/colaborate/ColabBol-webfont.woff +0 -0
  21. package/src/fonts/colaborate/ColabLig-webfont.eot +0 -0
  22. package/src/fonts/colaborate/ColabLig-webfont.svg +976 -0
  23. package/src/fonts/colaborate/ColabLig-webfont.ttf +0 -0
  24. package/src/fonts/colaborate/ColabLig-webfont.woff +0 -0
  25. package/src/fonts/colaborate/ColabMed-webfont.eot +0 -0
  26. package/src/fonts/colaborate/ColabMed-webfont.svg +976 -0
  27. package/src/fonts/colaborate/ColabMed-webfont.ttf +0 -0
  28. package/src/fonts/colaborate/ColabMed-webfont.woff +0 -0
  29. package/src/fonts/colaborate/ColabReg-webfont.eot +0 -0
  30. package/src/fonts/colaborate/ColabReg-webfont.svg +976 -0
  31. package/src/fonts/colaborate/ColabReg-webfont.ttf +0 -0
  32. package/src/fonts/colaborate/ColabReg-webfont.woff +0 -0
  33. package/src/fonts/colaborate/ColabThi-webfont.eot +0 -0
  34. package/src/fonts/colaborate/ColabThi-webfont.svg +970 -0
  35. package/src/fonts/colaborate/ColabThi-webfont.ttf +0 -0
  36. package/src/fonts/colaborate/ColabThi-webfont.woff +0 -0
  37. package/src/images/GUI/.DS_Store +0 -0
  38. package/src/images/GUI/backward-fast-solid.svg +1 -0
  39. package/src/images/GUI/bars-solid.svg +1 -0
  40. package/src/images/GUI/caret-left-solid.svg +1 -0
  41. package/src/images/GUI/caret-right-solid.svg +1 -0
  42. package/src/images/GUI/edit-solid.svg +1 -0
  43. package/src/images/GUI/pause-solid.svg +1 -0
  44. package/src/images/GUI/play-solid.svg +1 -0
  45. package/src/images/GUI/triplet.svg +21 -0
  46. package/src/images/GUI/zoomin.svg +1 -0
  47. package/src/images/GUI/zoomout.svg +1 -0
  48. package/src/images/bravura_notes/.DS_Store +0 -0
  49. package/src/images/bravura_notes/16th.svg +1 -0
  50. package/src/images/bravura_notes/32th.svg +1 -0
  51. package/src/images/bravura_notes/alterDDown.svg +1 -0
  52. package/src/images/bravura_notes/alterDUp.svg +1 -0
  53. package/src/images/bravura_notes/alterDown.svg +1 -0
  54. package/src/images/bravura_notes/alterNeutral.svg +1 -0
  55. package/src/images/bravura_notes/alterUp.svg +1 -0
  56. package/src/images/bravura_notes/beams.svg +1 -0
  57. package/src/images/bravura_notes/eigth.svg +1 -0
  58. package/src/images/bravura_notes/full.svg +1 -0
  59. package/src/images/bravura_notes/half.svg +1 -0
  60. package/src/images/bravura_notes/oneDot.svg +1 -0
  61. package/src/images/bravura_notes/pauseNote.svg +1 -0
  62. package/src/images/bravura_notes/quarter.svg +1 -0
  63. package/src/images/bravura_notes/tie.svg +1 -0
  64. package/src/images/bravura_notes/twoDot.svg +1 -0
  65. package/src/scripts/js/.DS_Store +0 -0
  66. package/src/scripts/js/Core.js +887 -0
  67. package/src/scripts/js/MusicPlayer.js +572 -0
  68. package/src/scripts/js/MusicProcessor.js +652 -0
  69. package/src/scripts/js/VerovioScoreEditor.js +183 -0
  70. package/src/scripts/js/assets/mei_template.js +161 -0
  71. package/src/scripts/js/constants.js +20 -0
  72. package/src/scripts/js/datastructures/MeasureMatrix.js +235 -0
  73. package/src/scripts/js/datastructures/ScoreGraph.js +432 -0
  74. package/src/scripts/js/datastructures/ScoreNode.js +78 -0
  75. package/src/scripts/js/entry.js +4 -0
  76. package/src/scripts/js/gui/Annotations.js +456 -0
  77. package/src/scripts/js/gui/Cursor.js +203 -0
  78. package/src/scripts/js/gui/CustomAnnotationDrawer.js +114 -0
  79. package/src/scripts/js/gui/CustomAnnotationShapeDrawer.js +114 -0
  80. package/src/scripts/js/gui/HarmonyLabel.js +104 -0
  81. package/src/scripts/js/gui/Label.js +2 -0
  82. package/src/scripts/js/gui/PhantomElement.js +132 -0
  83. package/src/scripts/js/gui/ScoreManipulator.js +156 -0
  84. package/src/scripts/js/gui/Tabbar.js +675 -0
  85. package/src/scripts/js/gui/TempoLabel.js +60 -0
  86. package/src/scripts/js/gui/Toolbar copy.js +614 -0
  87. package/src/scripts/js/gui/Toolbar.js +618 -0
  88. package/src/scripts/js/handlers/AnnotationChangeHandler.js +567 -0
  89. package/src/scripts/js/handlers/AnnotationDragHandler.js +113 -0
  90. package/src/scripts/js/handlers/AnnotationLineHandler.js +113 -0
  91. package/src/scripts/js/handlers/ArticulationHandler.js +20 -0
  92. package/src/scripts/js/handlers/ClickModeHandler.js +265 -0
  93. package/src/scripts/js/handlers/CustomAnnotationShapeDrawer.js +131 -0
  94. package/src/scripts/js/handlers/CustomToolbarHandler.js +297 -0
  95. package/src/scripts/js/handlers/DeleteHandler.js +102 -0
  96. package/src/scripts/js/handlers/GlobalKeyboardHandler.js +367 -0
  97. package/src/scripts/js/handlers/Handler.js +2 -0
  98. package/src/scripts/js/handlers/HarmonyHandler.js +282 -0
  99. package/src/scripts/js/handlers/InsertModeHandler copy.js +423 -0
  100. package/src/scripts/js/handlers/InsertModeHandler.js +380 -0
  101. package/src/scripts/js/handlers/InsertModeHandler_deprecated.js +424 -0
  102. package/src/scripts/js/handlers/KeyModeHandler copy.js +407 -0
  103. package/src/scripts/js/handlers/KeyModeHandler.js +456 -0
  104. package/src/scripts/js/handlers/KeyModeHandler_deprecated.js +411 -0
  105. package/src/scripts/js/handlers/LabelHandler.js +461 -0
  106. package/src/scripts/js/handlers/ModHandler.js +311 -0
  107. package/src/scripts/js/handlers/NoteDragHandler copy.js +148 -0
  108. package/src/scripts/js/handlers/NoteDragHandler.js +97 -0
  109. package/src/scripts/js/handlers/NoteDragHandler_deprecated.js +150 -0
  110. package/src/scripts/js/handlers/PhantomElementHandler.js +168 -0
  111. package/src/scripts/js/handlers/ScoreManipulatorHandler.js +135 -0
  112. package/src/scripts/js/handlers/SelectionHandler.js +218 -0
  113. package/src/scripts/js/handlers/SideBarHandler.js +499 -0
  114. package/src/scripts/js/handlers/TooltipHandler.js +132 -0
  115. package/src/scripts/js/handlers/WindowHandler.js +257 -0
  116. package/src/scripts/js/utils/DOMCreator.js +174 -0
  117. package/src/scripts/js/utils/MEIConverter.js +64 -0
  118. package/src/scripts/js/utils/MEIOperations.js +2112 -0
  119. package/src/scripts/js/utils/Mouse2MEI.js +735 -0
  120. package/src/scripts/js/utils/Mouse2SVG.js +737 -0
  121. package/src/scripts/js/utils/SVGEditor.js +352 -0
  122. package/src/scripts/js/utils/SVGFiller.js +245 -0
  123. package/src/scripts/js/utils/Types.js +2 -0
  124. package/src/scripts/js/utils/VerovioWrapper copy.js +156 -0
  125. package/src/scripts/js/utils/VerovioWrapper.js +165 -0
  126. package/src/scripts/js/utils/VerovioWrapperLocal.js +156 -0
  127. package/src/scripts/js/utils/convenienceQueries.js +37 -0
  128. package/src/scripts/js/utils/coordinates.js +54 -0
  129. package/src/scripts/js/utils/firefoxBBoxes.js +143 -0
  130. package/src/scripts/js/utils/mappings.js +332 -0
  131. package/src/scripts/js/utils/random.js +45 -0
  132. package/src/styles/VerovioScoreEditor.css +694 -0
@@ -0,0 +1,424 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = void 0;
4
+ const SelectionHandler_1 = require("./SelectionHandler");
5
+ const Annotations_1 = require("../gui/Annotations");
6
+ const LabelHandler_1 = require("./LabelHandler");
7
+ const KeyModeHandler_1 = require("./KeyModeHandler");
8
+ const ClickModeHandler_1 = require("./ClickModeHandler");
9
+ const PhantomElementHandler_1 = require("./PhantomElementHandler");
10
+ const MEIConverter_1 = require("../utils/MEIConverter");
11
+ const ScoreManipulatorHandler_1 = require("./ScoreManipulatorHandler");
12
+ const MEIOperations_1 = require("../utils/MEIOperations");
13
+ const cq = require("../utils/convenienceQueries");
14
+ /**
15
+ * Class that handles insert mode, events, and actions.
16
+ * @deprecated
17
+ */
18
+ class InsertModeHandler {
19
+ constructor(containerId) {
20
+ //For Callbacks
21
+ this.activateHarmonyModeFunction = (function activateHarmonyModeFunction(clicked = false) {
22
+ this.activateHarmonyMode(clicked);
23
+ }).bind(this);
24
+ this.isGlobal = true;
25
+ this.annotations = new Annotations_1.default(containerId);
26
+ }
27
+ activateClickMode(clicked = false) {
28
+ if (this.keyMode || this.annotationMode || this.harmonyMode) {
29
+ this.insertDeactivate();
30
+ }
31
+ if (clicked) {
32
+ if (this.unselectMenuItem("clickInsert")) {
33
+ return;
34
+ }
35
+ }
36
+ this.container.classList.add("clickmode");
37
+ this.keyMode = false;
38
+ this.clickInsertMode = true;
39
+ this.annotationMode = false;
40
+ this.harmonyMode = false;
41
+ this.phantomNoteHandler = new PhantomElementHandler_1.default(this.containerId);
42
+ this.setPhantomNote();
43
+ this.clickModeHandler = this.clickModeHandler == undefined ? new ClickModeHandler_1.default() : this.clickModeHandler;
44
+ this.clickModeHandler
45
+ .setContainerId(this.containerId)
46
+ .setInsertCallback(this.insertCallback)
47
+ .setDeleteCallback(this.deleteCallback)
48
+ .setAnnotations(this.annotations)
49
+ .setM2M(this.m2m)
50
+ .setMusicPlayer(this.musicPlayer)
51
+ .setPhantomCursor(this.phantomNoteHandler)
52
+ .resetListeners();
53
+ // if(typeof this.selectionHandler !== "undefined"){
54
+ // this.selectionHandler.removeListeners()
55
+ // }
56
+ this.deleteHandler.setListeners();
57
+ }
58
+ activateKeyMode(clicked = false) {
59
+ var _a;
60
+ if (this.clickInsertMode || this.annotationMode || this.harmonyMode) {
61
+ this.insertDeactivate();
62
+ }
63
+ if (clicked) {
64
+ if (this.unselectMenuItem("keyMode")) {
65
+ return;
66
+ }
67
+ }
68
+ this.container.classList.add("textmode");
69
+ this.keyMode = true;
70
+ this.clickInsertMode = false;
71
+ this.annotationMode = false;
72
+ this.harmonyMode = false;
73
+ var cursor = null;
74
+ if (this.keyModeHandler != undefined) {
75
+ //cursor = this.keyModeHandler.cursor
76
+ }
77
+ this.keyModeHandler = this.keyModeHandler || new KeyModeHandler_1.default(this.containerId);
78
+ var currNodeId;
79
+ if (((_a = this.keyModeHandler.scoreGraph) === null || _a === void 0 ? void 0 : _a.getCurrentNode()) != undefined) {
80
+ currNodeId = this.keyModeHandler.scoreGraph.getCurrentNode().getId();
81
+ }
82
+ this.keyModeHandler
83
+ .setContainerId(this.containerId)
84
+ .setInsertCallback(this.insertCallback)
85
+ .setDeleteCallback(this.deleteCallback)
86
+ .setScoreGraph(this.scoreGraph)
87
+ .setM2M(this.m2m)
88
+ .setMusicPlayer(this.musicPlayer)
89
+ .resetListeners();
90
+ if (currNodeId != undefined) {
91
+ this.keyModeHandler.setCurrentNodeScoreGraph(currNodeId);
92
+ }
93
+ // if(typeof this.selectionHandler !== "undefined"){
94
+ // this.selectionHandler.removeListeners()
95
+ // }
96
+ this.deleteHandler.setListeners();
97
+ }
98
+ activateSelectionMode() {
99
+ //this.insertDeactivate()
100
+ this.selectionHandler = new SelectionHandler_1.default(this.containerId);
101
+ this.selectionHandler.setM2M(this.m2m);
102
+ //this.selectionHandler.setHarmonyHandler(this.harmonyHandler)
103
+ //this.deleteHandler.setListeners()
104
+ return this;
105
+ }
106
+ activateAnnotationMode(clicked = false) {
107
+ this.insertDeactivate();
108
+ if (clicked) {
109
+ if (this.unselectMenuItem("activateAnnot")) {
110
+ return;
111
+ }
112
+ }
113
+ if (this.annotations == undefined) {
114
+ this.annotations = new Annotations_1.default(this.containerId);
115
+ }
116
+ else {
117
+ this.annotations.update();
118
+ }
119
+ this.annotations
120
+ .setContainerId(this.containerId)
121
+ .setM2M(this.m2m)
122
+ .setMusicPlayer(this.musicPlayer)
123
+ .setToFront()
124
+ .setMenuClickHandler();
125
+ this.keyMode = false;
126
+ this.clickInsertMode = false;
127
+ this.annotationMode = true;
128
+ this.harmonyMode = false;
129
+ }
130
+ activateHarmonyMode(clicked = false) {
131
+ try {
132
+ if (clicked) {
133
+ if (this.unselectMenuItem("activateHarm")) {
134
+ return;
135
+ }
136
+ }
137
+ }
138
+ catch (_a) {
139
+ try {
140
+ var harmonyButton = this.container.querySelector("#harmonyAnnotButton");
141
+ if (!harmonyButton.classList.contains("selected")) {
142
+ harmonyButton.classList.add("selected");
143
+ }
144
+ }
145
+ catch (e) {
146
+ console.error("There was a problem in activating harmonymode", e);
147
+ return;
148
+ }
149
+ }
150
+ if (this.labelHandler == undefined) {
151
+ this.labelHandler = new LabelHandler_1.default(this.containerId);
152
+ }
153
+ //Activate/ Deactivate Global functions according to selected harmonymode
154
+ if (this.container.querySelector("#activateHarm.selected, #harmonyAnnotButton.selected") !== null) {
155
+ this.insertDeactivate();
156
+ this.container.classList.add("harmonyMode");
157
+ this.isGlobal = false;
158
+ }
159
+ else {
160
+ this.isGlobal = true;
161
+ }
162
+ this.labelHandler
163
+ .setContainerId(this.containerId)
164
+ .setGlobal(this.isGlobal)
165
+ .setListeners()
166
+ .setM2M(this.m2m)
167
+ .setMusicPlayer(this.musicPlayer)
168
+ .setCurrentMEI(this.m2m.getCurrentMei())
169
+ .setLoadDataCallback(this.loadDataCallback);
170
+ //this.keyMode = false;
171
+ //this.clickInsertMode = false;
172
+ //this.annotationMode = false;
173
+ this.harmonyMode = true;
174
+ return this;
175
+ }
176
+ insertDeactivate() {
177
+ this.container.classList.remove("textmode");
178
+ this.container.classList.remove("clickmode");
179
+ this.container.classList.remove("annotMode");
180
+ this.container.classList.remove("harmonyMode");
181
+ this.keyMode = false;
182
+ this.clickInsertMode = false;
183
+ this.harmonyMode = false;
184
+ this.annotationMode = false;
185
+ if (this.clickModeHandler != undefined) {
186
+ this.clickModeHandler.removeListeners();
187
+ this.phantomNoteHandler
188
+ .removeListeners()
189
+ .removeLines();
190
+ }
191
+ if (this.keyModeHandler != undefined) {
192
+ this.keyModeHandler.removeListeners();
193
+ }
194
+ // if(typeof this.selectionHandler !== "undefined"){
195
+ // this.selectionHandler.removeListeners()
196
+ // }
197
+ // this.selectionHandler = undefined
198
+ if (this.annotations != undefined) {
199
+ this.annotations.removeListeners();
200
+ this.annotations.setToBack();
201
+ this.annotationMode = false;
202
+ }
203
+ if (this.labelHandler != undefined) {
204
+ //this.labelHandler.removeListeners()
205
+ this.isGlobal = true;
206
+ this.labelHandler.reset();
207
+ }
208
+ if (this.deleteHandler != undefined) {
209
+ this.deleteHandler.removeListeners();
210
+ }
211
+ //selectionnmode should be always active.
212
+ //Listeners will overwritten if another mode listen same behaviour on same element (d3.js), e.g. annotation
213
+ this.activateSelectionMode();
214
+ }
215
+ setSMHandler() {
216
+ if (this.smHandler == undefined) {
217
+ this.smHandler = new ScoreManipulatorHandler_1.default();
218
+ }
219
+ this.smHandler
220
+ .setContainerId(this.containerId)
221
+ .setMEI(this.m2m.getCurrentMei())
222
+ .setMusicPlayer(this.musicPlayer)
223
+ .setLoadDataCallback(this.loadDataCallback)
224
+ .drawElements();
225
+ }
226
+ setListeners() {
227
+ var that = this;
228
+ Array.from(this.container.querySelectorAll(".dropdown-item")).forEach(n => {
229
+ n.addEventListener("click", function (e) {
230
+ e.preventDefault();
231
+ switch (this.id) {
232
+ case "clickInsert":
233
+ that.activateClickMode(true);
234
+ break;
235
+ case "keyMode":
236
+ that.activateKeyMode(true);
237
+ break;
238
+ case "activateAnnot":
239
+ that.activateAnnotationMode(true);
240
+ break;
241
+ case "activateHarm":
242
+ that.activateHarmonyMode(true);
243
+ break;
244
+ default:
245
+ that.insertDeactivate();
246
+ break;
247
+ }
248
+ });
249
+ });
250
+ this.container.addEventListener("annotationButtonClicked", function (e) {
251
+ var t = e.target;
252
+ if (t.id === "harmonyAnnotButton") {
253
+ that.activateHarmonyMode(true);
254
+ }
255
+ else {
256
+ that.activateHarmonyMode(false);
257
+ }
258
+ }, true);
259
+ Array.from(this.container.querySelectorAll("#noteGroup > *")).forEach(b => {
260
+ b.addEventListener("click", function (e) {
261
+ let dur = 0;
262
+ switch (this.id) {
263
+ case "fullNote":
264
+ dur = 1;
265
+ break;
266
+ case "halfNote":
267
+ dur = 2;
268
+ break;
269
+ case "quarterNote":
270
+ dur = 4;
271
+ break;
272
+ case "eigthNote":
273
+ dur = 8;
274
+ break;
275
+ case "sixteenthNote":
276
+ dur = 16;
277
+ break;
278
+ case "thirtysecondNote":
279
+ dur = 32;
280
+ break;
281
+ }
282
+ that.m2m.setDurationNewNote(dur);
283
+ if (that.m2m.setMarkedNoteDurations(dur)) {
284
+ MEIOperations_1.cleanUp(that.m2m.getCurrentMei());
285
+ var mei = MEIConverter_1.restoreXmlIdTags(that.m2m.getCurrentMei());
286
+ that.loadDataCallback("", mei, false);
287
+ }
288
+ });
289
+ });
290
+ Array.from(this.container.querySelectorAll("#dotGroup > *")).forEach(b => {
291
+ b.addEventListener("click", function (e) {
292
+ let dots = 0;
293
+ if (this.classList.contains("selected")) {
294
+ switch (this.id) {
295
+ case "oneDot":
296
+ dots = 1;
297
+ break;
298
+ case "twoDot":
299
+ dots = 2;
300
+ }
301
+ }
302
+ that.m2m.setDotsNewNote(dots);
303
+ if (that.m2m.setMarkedNoteDots(dots)) {
304
+ MEIOperations_1.cleanUp(that.m2m.getCurrentMei());
305
+ var mei = MEIConverter_1.restoreXmlIdTags(that.m2m.getCurrentMei());
306
+ that.loadDataCallback("", mei, false);
307
+ }
308
+ });
309
+ });
310
+ this.navBarLoaded = true;
311
+ return this;
312
+ }
313
+ removeListeners() {
314
+ // No Changes in Navbar = no remove
315
+ }
316
+ resetModes() {
317
+ //reset
318
+ if (!this.navBarLoaded)
319
+ this.setListeners();
320
+ if (this.keyMode)
321
+ this.activateKeyMode();
322
+ if (this.clickInsertMode)
323
+ this.activateClickMode();
324
+ if (this.annotationMode)
325
+ this.activateAnnotationMode();
326
+ if (this.harmonyMode)
327
+ this.activateHarmonyMode();
328
+ this.setSMHandler();
329
+ return this;
330
+ }
331
+ unselectMenuItem(key) {
332
+ var menuitem = this.container.querySelector("#" + key);
333
+ var modeButton = this.container.querySelector("#insertMode");
334
+ if (menuitem.classList.contains("selected")) {
335
+ menuitem.classList.remove("selected");
336
+ modeButton.innerHTML = "        ";
337
+ modeButton.classList.add("empty");
338
+ this.insertDeactivate();
339
+ return true;
340
+ }
341
+ else {
342
+ this.container.querySelectorAll("#insertDropdown > a").forEach(a => {
343
+ if (a.id !== key) {
344
+ a.classList.remove("selected");
345
+ }
346
+ });
347
+ menuitem.classList.add("selected");
348
+ modeButton.textContent = menuitem.textContent;
349
+ modeButton.classList.remove("empty");
350
+ return false;
351
+ }
352
+ }
353
+ /////////////// GETTER/ SETTER /////////////////
354
+ setM2M(m2m) {
355
+ this.m2m = m2m;
356
+ //this.selectionHandler = new SelectionHandler()
357
+ //this.selectionHandler?.setM2M(this.m2m)
358
+ return this;
359
+ }
360
+ setMusicPlayer(musicPlayer) {
361
+ this.musicPlayer = musicPlayer;
362
+ return this;
363
+ }
364
+ setScoreGraph(scoreGraph) {
365
+ this.scoreGraph = scoreGraph;
366
+ return this;
367
+ }
368
+ setDeleteHandler(deleteHandler) {
369
+ this.deleteHandler = deleteHandler;
370
+ return this;
371
+ }
372
+ setLabelHandler(labelHandler) {
373
+ this.labelHandler = labelHandler;
374
+ return this;
375
+ }
376
+ setPhantomNote() {
377
+ if (this.phantomNoteHandler != undefined) {
378
+ this.phantomNoteHandler
379
+ .setPhantomNote()
380
+ .setListeners()
381
+ .setM2M(this.m2m);
382
+ }
383
+ return this;
384
+ }
385
+ setInsertCallback(insertCallback) {
386
+ this.insertCallback = insertCallback;
387
+ return this;
388
+ }
389
+ setDeleteCallback(deleteCallback) {
390
+ this.deleteCallback = deleteCallback;
391
+ return this;
392
+ }
393
+ setLoadDataCallback(loadDataCallback) {
394
+ this.loadDataCallback = loadDataCallback;
395
+ return this;
396
+ }
397
+ setUndoAnnotationStacks(arr) {
398
+ this.annotations.setUndoStacks(arr);
399
+ return this;
400
+ }
401
+ setContainerId(containerId) {
402
+ this.containerId = containerId;
403
+ this.interactionOverlay = cq.getInteractOverlay(containerId);
404
+ this.rootSVG = cq.getRootSVG(containerId);
405
+ this.container = document.getElementById(containerId);
406
+ return this;
407
+ }
408
+ resetCanvas() {
409
+ if (this.annotations != undefined) {
410
+ this.annotations.addCanvas();
411
+ }
412
+ return this;
413
+ }
414
+ getAnnotations() {
415
+ return this.annotations;
416
+ }
417
+ getSMHandler() {
418
+ return this.smHandler;
419
+ }
420
+ getPhantomNoteHandler() {
421
+ return this.phantomNoteHandler;
422
+ }
423
+ }
424
+ exports.default = InsertModeHandler;