Browse Source

Add default append in insertComponent

pull/4134/head
Artur Arseniev 4 years ago
parent
commit
4c244656fa
  1. 38
      src/dom_components/view/ComponentTextView.js
  2. 10
      src/utils/Sorter.js

38
src/dom_components/view/ComponentTextView.js

@ -149,26 +149,28 @@ export default ComponentView.extend({
const cmps = model.components(); const cmps = model.components();
const newCmps = []; const newCmps = [];
model.components().forEach(cmp => { if (textModel && textModel.is?.('textnode')) {
if (cmp === textModel) { model.components().forEach(cmp => {
const type = 'textnode'; if (cmp === textModel) {
const cnt = cmp.get('content'); const type = 'textnode';
newCmps.push({ type, content: cnt.slice(0, offset) }); const cnt = cmp.get('content');
newCmps.push(content); newCmps.push({ type, content: cnt.slice(0, offset) });
newCmps.push({ type, content: cnt.slice(offset) }); newCmps.push(content);
} else { newCmps.push({ type, content: cnt.slice(offset) });
newCmps.push(cmp); } else {
} newCmps.push(cmp);
}); }
});
const result = newCmps.filter(Boolean);
const index = result.indexOf(content); const result = newCmps.filter(Boolean);
cmps.reset(result); const index = result.indexOf(content);
cmps.reset(result);
return cmps.at(index);
return cmps.at(index);
}
} }
return null; return model.append(content);
}, },
/** /**

10
src/utils/Sorter.js

@ -84,7 +84,7 @@ export default Backbone.View.extend({
* Triggered when the offset of the editro is changed * Triggered when the offset of the editro is changed
*/ */
updateOffset() { updateOffset() {
const offset = this.em.get('canvasOffset') || {}; const offset = this.em?.get('canvasOffset') || {};
this.offTop = offset.top; this.offTop = offset.top;
this.offLeft = offset.left; this.offLeft = offset.left;
}, },
@ -99,7 +99,9 @@ export default Backbone.View.extend({
}, },
updateTextViewCursorPosition(e) { updateTextViewCursorPosition(e) {
const Canvas = this.em.get('Canvas'); const { em } = this;
if (!em) return;
const Canvas = em.get('Canvas');
const targetDoc = Canvas.getDocument(); const targetDoc = Canvas.getDocument();
let range = null; let range = null;
@ -304,8 +306,8 @@ export default Backbone.View.extend({
this.onStart({ this.onStart({
sorter: this, sorter: this,
target: srcModel, target: srcModel,
parent: srcModel && srcModel.parent(), parent: srcModel && srcModel.parent?.(),
index: srcModel && srcModel.index(), index: srcModel && srcModel.index?.(),
}); });
// Avoid strange effects on dragging // Avoid strange effects on dragging

Loading…
Cancel
Save