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 newCmps = [];
model.components().forEach(cmp => {
if (cmp === textModel) {
const type = 'textnode';
const cnt = cmp.get('content');
newCmps.push({ type, content: cnt.slice(0, offset) });
newCmps.push(content);
newCmps.push({ type, content: cnt.slice(offset) });
} else {
newCmps.push(cmp);
}
});
const result = newCmps.filter(Boolean);
const index = result.indexOf(content);
cmps.reset(result);
return cmps.at(index);
if (textModel && textModel.is?.('textnode')) {
model.components().forEach(cmp => {
if (cmp === textModel) {
const type = 'textnode';
const cnt = cmp.get('content');
newCmps.push({ type, content: cnt.slice(0, offset) });
newCmps.push(content);
newCmps.push({ type, content: cnt.slice(offset) });
} else {
newCmps.push(cmp);
}
});
const result = newCmps.filter(Boolean);
const index = result.indexOf(content);
cmps.reset(result);
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
*/
updateOffset() {
const offset = this.em.get('canvasOffset') || {};
const offset = this.em?.get('canvasOffset') || {};
this.offTop = offset.top;
this.offLeft = offset.left;
},
@ -99,7 +99,9 @@ export default Backbone.View.extend({
},
updateTextViewCursorPosition(e) {
const Canvas = this.em.get('Canvas');
const { em } = this;
if (!em) return;
const Canvas = em.get('Canvas');
const targetDoc = Canvas.getDocument();
let range = null;
@ -304,8 +306,8 @@ export default Backbone.View.extend({
this.onStart({
sorter: this,
target: srcModel,
parent: srcModel && srcModel.parent(),
index: srcModel && srcModel.index(),
parent: srcModel && srcModel.parent?.(),
index: srcModel && srcModel.index?.(),
});
// Avoid strange effects on dragging

Loading…
Cancel
Save