summaryrefslogtreecommitdiffstats
path: root/assets/js/views/sample-add-view.js
diff options
context:
space:
mode:
Diffstat (limited to 'assets/js/views/sample-add-view.js')
-rw-r--r--assets/js/views/sample-add-view.js13
1 files changed, 10 insertions, 3 deletions
diff --git a/assets/js/views/sample-add-view.js b/assets/js/views/sample-add-view.js
index 7080c84..2d3372e 100644
--- a/assets/js/views/sample-add-view.js
+++ b/assets/js/views/sample-add-view.js
@@ -1,4 +1,9 @@
ClipPlay.Views.SampleAddView = Marionette.View.extend({
+ // Copied from
+ // http://daringfireball.net/2010/07/improved_regex_for_matching_urls
+ // http://stackoverflow.com/questions/6927719/url-regex-does-not-work-in-javascript
+ url_matcher: /\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/i,
+
events: {
'click .js-create-sample': 'on_sample_add'
},
@@ -19,12 +24,14 @@ ClipPlay.Views.SampleAddView = Marionette.View.extend({
},
on_sample_add: function() {
- if (this.$input.val()) {
+ var input_value = this.$input.val();
+ if (input_value
+ && this.url_matcher.test(input_value)) {
this.add_sample_to_collection();
-
- this.clear_input();
}
+ this.clear_input();
+
return false;
}
}); \ No newline at end of file