2017-01-31 07:50:28 +01:00
|
|
|
const FieldViewText = require('./field-view-text');
|
2015-10-17 23:49:24 +02:00
|
|
|
|
2017-01-31 07:50:28 +01:00
|
|
|
const FieldViewUrl = FieldViewText.extend({
|
2016-01-13 19:00:22 +01:00
|
|
|
displayUrlRegex: /^http:\/\//i,
|
|
|
|
|
2015-10-17 23:49:24 +02:00
|
|
|
renderValue: function(value) {
|
2019-08-16 23:05:39 +02:00
|
|
|
return value
|
|
|
|
? '<a href="' +
|
|
|
|
_.escape(this.fixUrl(value)) +
|
|
|
|
'" rel="noreferrer noopener" target="_blank">' +
|
|
|
|
_.escape(this.displayUrl(value)) +
|
|
|
|
'</a>'
|
|
|
|
: '';
|
2015-11-07 21:49:48 +01:00
|
|
|
},
|
|
|
|
|
|
|
|
fixUrl: function(url) {
|
|
|
|
return url.indexOf(':') < 0 ? 'http://' + url : url;
|
2016-01-13 19:00:22 +01:00
|
|
|
},
|
|
|
|
|
|
|
|
displayUrl: function(url) {
|
|
|
|
return url.replace(this.displayUrlRegex, '');
|
2015-10-17 23:49:24 +02:00
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
module.exports = FieldViewUrl;
|