fnp
/
fnpeditor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
editor: canvas links fix
[fnpeditor.git]
/
src
/
editor
/
plugins
/
core
/
links
/
linkElement.js
diff --git
a/src/editor/plugins/core/links/linkElement.js
b/src/editor/plugins/core/links/linkElement.js
index
1214e95
..
8a9edd7
100644
(file)
--- a/
src/editor/plugins/core/links/linkElement.js
+++ b/
src/editor/plugins/core/links/linkElement.js
@@
-17,7
+17,10
@@
_.extend(linkElement, {
genericElement.init.call(this);
_.bindAll(this, 'changeLink', 'deleteLink');
genericElement.init.call(this);
_.bindAll(this, 'changeLink', 'deleteLink');
- this.box = $(_.template(boxTemplate)({href: this.wlxmlNode.getAttr('href')}));
+ var linkText = this.wlxmlNode.getAttr('href') || '',
+ linkUrl = this.getUrl(linkText);
+
+ this.box = $(_.template(boxTemplate)({text: linkText, url: linkUrl}));
this.box.find('.change').on('click', this.changeLink);
this.box.find('.delete').on('click', this.deleteLink);
this.box.hide();
this.box.find('.change').on('click', this.changeLink);
this.box.find('.delete').on('click', this.deleteLink);
this.box.hide();
@@
-30,7
+33,7
@@
_.extend(linkElement, {
if(event.meta.attr === 'href') {
var link = this.box.find('[link]');
link.text(event.meta.newVal);
if(event.meta.attr === 'href') {
var link = this.box.find('[link]');
link.text(event.meta.newVal);
- link.attr('href',
event.meta.newVal
);
+ link.attr('href',
this.getUrl(event.meta.newVal)
);
}
},
}
},
@@
-69,6
+72,14
@@
_.extend(linkElement, {
description: gettext('Remove link')
}
});
description: gettext('Remove link')
}
});
+ },
+
+ getUrl: function(link) {
+ var pattern = /^[a-z]*:\/\//g;
+ if(!pattern.test(link)) {
+ link = 'http://' + link;
+ }
+ return this.wlxmlNode.document.getUrlForLink(link);
}
});
}
});