Skip to content
Extraits de code Groupes Projets
_new_photo.haml 3 ko
Newer Older
danielgrippi's avatar
danielgrippi a validé
-#   Copyright (c) 2010-2011, Diaspora Inc.  This file is
Raphael's avatar
Raphael a validé
-#   licensed under the Affero General Public License version 3 or later.  See
Raphael's avatar
Raphael a validé
-#   the COPYRIGHT file.
Daniel Vincent Grippi's avatar
Daniel Vincent Grippi a validé
:javascript
maxwell's avatar
maxwell a validé
 function createUploader(){
maxwell's avatar
maxwell a validé
   var uploader = new qq.FileUploaderBasic({
       element: document.getElementById('file-upload'),
       params: {'photo' : {'pending' : 'true', 'aspect_ids' : aspectIds}, 'set_profile_image' : "#{set_profile_image if defined?(set_profile_image)}"},
       allowedExtensions: ['jpg', 'jpeg', 'png', 'gif', 'tiff'],
maxwell's avatar
maxwell a validé
       action: "#{photos_path}",
       debug: true,
       button: document.getElementById('file-upload'),
       sizeLimit: 4194304,
       onProgress: function(id, fileName, loaded, total){
       },
MrZYX's avatar
MrZYX a validé
       messages: {
           typeError: "#{t('.invalid_ext')}",
           sizeError: "#{t('.size_error')}",
           emptyError: "#{t('.empty')}"
       },
maxwell's avatar
maxwell a validé
       onSubmit: function(id, fileName){
        $('#file-upload').addClass("loading");
        $('#publisher').find("input[type='submit']").attr('disabled','disabled');
maxwell's avatar
maxwell a validé

Florian Staudacher's avatar
Florian Staudacher a validé
        Publisher.wrapper().addClass("with_attachments");
maxwell's avatar
maxwell a validé
        $('#photodropzone').append(
          "<li class='publisher_photo loading' style='position:relative;'>" +
            "<img src='/images/ajax-loader2.gif' />" +
          "</li>"
          );
maxwell's avatar
maxwell a validé
       },
       onComplete: function(id, fileName, responseJSON) {
        $('#fileInfo').text(fileName + ' completed');
        var id = responseJSON.data.photo.id,
            url = responseJSON.data.photo.unprocessed_image.url,
            currentPlaceholder = $('li.loading').first();
Florian Staudacher's avatar
Florian Staudacher a validé
        Publisher.wrapper().addClass("with_attachments");
maxwell's avatar
maxwell a validé
        $('#new_status_message').append("<input type='hidden' value='" + id + "' name='photos[]' />");

        // replace image placeholders
        var img = currentPlaceholder.find('img');
        img.attr('src', url);
        img.attr('data-id', id);
        currentPlaceholder.removeClass('loading');
        currentPlaceholder.append("<div class='x'>X</div>" +
            "<div class='circle'></div>");
        ////

        var publisher = $('#publisher'),
            textarea = publisher.find('textarea');

        publisher.find("input[type='submit']").removeAttr('disabled');

        $('.x').bind('click', function(){
          var photo = $(this).closest('.publisher_photo');
zhitomirskiyi's avatar
zhitomirskiyi a validé
          photo.addClass("dim");
zhitomirskiyi's avatar
zhitomirskiyi a validé
          $.ajax({url: "photos/" + photo.children('img').attr('data-id'),
                  type: 'DELETE',
                  success: function() {
                            photo.fadeOut(400, function(){
zhitomirskiyi's avatar
zhitomirskiyi a validé
                              photo.remove();
                              if ( $('.publisher_photo').length  == 0){
Florian Staudacher's avatar
Florian Staudacher a validé
                                Publisher.wrapper().removeClass("with_attachments");
zhitomirskiyi's avatar
zhitomirskiyi a validé
                            });
                          }
                  });
        });
       },

       onAllComplete: function(completed_files){
Dennis Collinson's avatar
Dennis Collinson a validé
 createUploader();