diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3819313
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*.swp
+*.swo
diff --git a/src/Ext.ux.form.HtmlEditor.Link.js b/src/Ext.ux.form.HtmlEditor.Link.js
index 60f287a..d105037 100644
--- a/src/Ext.ux.form.HtmlEditor.Link.js
+++ b/src/Ext.ux.form.HtmlEditor.Link.js
@@ -73,6 +73,7 @@ Ext.ux.form.HtmlEditor.Link = Ext.extend(Ext.util.Observable, {
buttons: [{
text: this.langInsert,
handler: function(){
+ //TODO: not having new idx's for the component could cause issues around multiple edit areas
var frm = this.linkWindow.getComponent('insert-link').getForm();
if (frm.isValid()) {
var afterSpace = '', sel = this.cmp.getSelectedText(true), text = frm.findField('text').getValue(), url = frm.findField('url').getValue(), target = frm.findField('target').getValue();
@@ -83,9 +84,10 @@ Ext.ux.form.HtmlEditor.Link = Ext.extend(Ext.util.Observable, {
if (sel.hasHTML) {
text = sel.html;
}
- var html = '' + text + '' + afterSpace;
+ var html = '' + text + ' ' + afterSpace;
this.cmp.insertAtCursor(html);
- this.linkWindow.hide();
+ this.linkWindow.close();
+ this.linkWindow = null;
} else {
if (!frm.findField('url').isValid()) {
frm.findField('url').getEl().frame();
@@ -93,13 +95,13 @@ Ext.ux.form.HtmlEditor.Link = Ext.extend(Ext.util.Observable, {
frm.findField('target').getEl().frame();
}
}
-
},
scope: this
}, {
text: this.langCancel,
handler: function(){
this.linkWindow.close();
+ this.linkWindow = null;
},
scope: this
}],
@@ -108,7 +110,7 @@ Ext.ux.form.HtmlEditor.Link = Ext.extend(Ext.util.Observable, {
fn: function(){
var frm = this.linkWindow.getComponent('insert-link').getForm();
frm.findField('text').setValue(sel.textContent).setDisabled(sel.hasHTML);
- frm.findField('url').reset().focus(true, 50);
+ frm.findField('url').focus(true, 50);
},
scope: this,
defer: 350
diff --git a/src/Ext.ux.form.HtmlEditor.MidasCommand.js b/src/Ext.ux.form.HtmlEditor.MidasCommand.js
index cb2894c..a32ea59 100644
--- a/src/Ext.ux.form.HtmlEditor.MidasCommand.js
+++ b/src/Ext.ux.form.HtmlEditor.MidasCommand.js
@@ -29,6 +29,7 @@ Ext.override(Ext.form.HtmlEditor, {
} else {
selDocFrag = this.win.getSelection().getRangeAt(0).cloneContents();
}
+
Ext.each(selDocFrag.childNodes, function(n){
if (n.nodeType !== 3) {
hasHTML = true;
@@ -42,6 +43,10 @@ Ext.override(Ext.form.HtmlEditor, {
} else {
html = txt = selDocFrag.textContent;
}
+ if (clip) {
+ //selection range sticks around unless you collapse it.
+ sel.collapseToStart();
+ }
ret = {
textContent: txt,
hasHTML: hasHTML,