Commit 57d17d37

mo k <mo@mokhan.ca>
2012-09-18 23:05:04
connect the embedly service.
1 parent 1c52641
Changed files (3)
app
assets
views
app/assets/javascripts/presenters/new_tutorial_presenter.js.coffee
@@ -5,7 +5,7 @@ class window.NewTutorialPresenter
     @view.add_tag_button.bind 'click', (event) =>
       this.add_tag(@view.tag_input.val())
     @view.url_input.bind 'change', (event) =>
-      @service.retrieve_info_on(@view.url_input.val(), this.display_url_info)
+      @service.retrieve_info_on(@view.url_input.val(), (data) => this.display_url_info(data))
 
   create_list_item_for:(tag) ->
     '<a href="tags/"><span class="label">'+tag+'</span></a>'
app/assets/javascripts/service/embedly_service.js.coffee
@@ -0,0 +1,3 @@
+class window.EmbedlyService
+  retrieve_info_on: (url, callback) ->
+    $.embedly(url, {}, callback)
app/views/tutorials/_form.html.erb
@@ -1,23 +1,21 @@
 <% content_for :javascript do %>
 <script type="text/javascript" charset="utf-8">
 $(function(){
-  $('#tutorial_url').change(function(){
-    var url = $('#tutorial_url').val();
-    $.embedly(url, {}, function(data){
-      $('.tutorial-heading').val(data.title);
-      $('.tutorial-heading').text(data.title);
-      $('.tutorial-description').text(data.description);
-      $('img.embed-thumb').attr('src', data.thumbnail_url);
-      $('#tutorial_image_url').val(data.thumbnail_url);
-    });
-  });
   var view = {
     add_tag_button: $('#add-tag-button'),
     tag_list: $('#tag-list'),
     tag_input: $('#tags'),
-    hidden_tag_list: $('#hidden_tags')
+    hidden_tag_list: $('#hidden_tags'),
+    url_input: $('#tutorial_url'),
+    preview: {
+      heading: $('.tutorial-heading'),
+      description: $('.tutorial-description'),
+      image: $('img.embed-thumb'),
+      hidden_image_url: $('#tutorial_image_url'),
+    }
   };
-  new NewTutorialPresenter(view).present();
+  var service = new EmbedlyService($);
+  new NewTutorialPresenter(view, service).present();
 });
 </script>
 <% end %>