From 37994c0306ebeeee94b482eeb4b7e95e50bd7027 Mon Sep 17 00:00:00 2001 From: joshua stein Date: Mon, 26 Oct 2015 10:39:40 -0500 Subject: [PATCH] story editing: consolidate auto tag application, add audio for soundcloud --- app/assets/javascripts/application.js.erb | 32 +++++++++++------------ 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/app/assets/javascripts/application.js.erb b/app/assets/javascripts/application.js.erb index 19700a6..e72afe1 100644 --- a/app/assets/javascripts/application.js.erb +++ b/app/assets/javascripts/application.js.erb @@ -406,23 +406,21 @@ $(document).ready(function() { }); $(document).on("blur", "#story_url", function() { - /* if the url looks like a pdf, assign the pdf tag */ - if ($("#story_url").val().match(/\.pdf$/i)) { - var ta = $("#story_tags_a").data("select2"); - if (ta.getVal().indexOf("pdf") < 0) - ta.addSelectedChoice({ id: "pdf" }); - } - /* if the url looks like a video site url, assign the video tag */ - else if ($("#story_url").val().match(/[\/\.]((youtube|vimeo)\.com|youtu\.be)\//i)) { - var ta = $("#story_tags_a").data("select2"); - if (ta.getVal().indexOf("video") < 0) - ta.addSelectedChoice({ id: "video" }); - } - /* if the url looks like a slide sharing site url, assign the slides tag */ - else if ($("#story_url").val().match(/[\/\.](slideshare\.net|speakerdeck\.com)\//i)) { - var ta = $("#story_tags_a").data("select2"); - if (ta.getVal().indexOf("slides") < 0) - ta.addSelectedChoice({ id: "slides" }); + var url_tags = { + "\.pdf$": "pdf", + "[\/\.]((youtube|vimeo)\.com|youtu\.be)\/": "video", + "[\/\.](slideshare\.net|speakerdeck\.com)\/": "slides", + "[\/\.](soundcloud\.com)\/": "audio", + }; + + for (var u in url_tags) { + var tag = url_tags[u]; + + if ($("#story_url").val().match(new RegExp(u, "i"))) { + var ta = $("#story_tags_a").data("select2"); + if (ta.getVal().indexOf(tag) < 0) + ta.addSelectedChoice({ id: tag }); + } } });