Commit 57d17d37
Changed files (3)
app
assets
javascripts
presenters
service
views
tutorials
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 %>