diff options
Diffstat (limited to 'assets/js/views/sample-add-view.js')
| -rw-r--r-- | assets/js/views/sample-add-view.js | 13 | 
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 | 
