Advertisement
Guest User

Untitled

a guest
Jul 28th, 2015
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $(function(){
  2.     /************************** Van Details Page ****************************/
  3.  
  4.     /**
  5.      *  Used Vans Images
  6.      */
  7.  
  8.     // Variable Declarations
  9.     var usedVanImgContainer = $('.used-van-img-container'); // Used vans images container
  10.  
  11.     var usedVanSelectAllBtn = $('.used-van-select-all-button'); // Used vans select all button
  12.     var usedVanSelectNoneBtn = $('.used-van-select-none-button'); // Used vans select none button
  13.  
  14.     var usedVanId = $('.used-van-derivative-id').val(); // A hidden input to get the used van ID on the derivative page
  15.  
  16.     var usedVanBulkSelect = $('#used-van-bulk-img-select'); // Select box with actions for Delete and Deactivate
  17.  
  18.     var deactivatedContainer = $('.used-van-deactivated-images-container'); // Containing <div> for deactivated images
  19.     var deletedContainer = $('.used-van-deleted-images-container'); // Containing <div> for deleted images
  20.  
  21.     var usedVansImagesSortable = $(".used-van-img-container").sortable({
  22.  
  23.     });
  24.  
  25.     addReactivateButtons();
  26.  
  27.     // Set Drozone autodiscover OFF
  28.     Dropzone.autoDiscover = false;
  29.  
  30.     // Used vans images Dropzone
  31.     var usedVanDropzone = new Dropzone('#used-van-dropzone', {
  32.         url: "/used-vans/ajax/upload-images/" + usedVanId,
  33.         parallelUploads: 999,
  34.         uploadMultiple: true,
  35.         paramName: 'new-images',
  36.         dictDefaultMessage: 'Drag multiple files here, or click to select files.',
  37.         acceptedFiles: "image/*",
  38.         autoProcessQueue: false,
  39.         addRemoveLinks: true,
  40.  
  41.         init: function(){
  42.             this.on('error', function(file){
  43.                 // Error
  44.             });
  45.  
  46.             this.on('success', function(){
  47.                 // Success
  48.                 window.location.reload();
  49.             });
  50.  
  51.             this.on('addedfile', function(file){
  52.                 console.log( this.getActiveFiles() );
  53.  
  54.             });
  55.         }
  56.     });
  57.  
  58.     $("#used-van-dropzone").sortable({
  59.         items:'.dz-preview',
  60.         cursor: 'move',
  61.         opacity: 0.5,
  62.         containment: "parent",
  63.         distance: 20,
  64.         tolerance: 'pointer',
  65.         update: function(e, ui){
  66.             // do what you want
  67.         }
  68.     });
  69.  
  70.     $('#used-van-dropzone-get-all-files').click(function(){
  71.         console.log(usedVanDropzone.files);
  72.     });
  73.  
  74.     // Listen for clicks on each image to mark selected or not
  75.     usedVanImgContainer.on('click','div.used-van-image-div', function(){
  76.         $(this).toggleClass('used-van-img-selected');
  77.     });
  78.  
  79.     // Select All Button
  80.     usedVanSelectAllBtn.click(function(){
  81.         usedVanImgContainer.find('.used-van-image-div').addClass('used-van-img-selected');
  82.     });
  83.  
  84.     // Select None Button
  85.     usedVanSelectNoneBtn.click(function(){
  86.         usedVanImgContainer.find('.used-van-image-div').removeClass('used-van-img-selected');
  87.     });
  88.  
  89.     // Listen for click on the Upload Files button, and then
  90.     // process the Dropzone queue
  91.     $('.used-van-upload-files-button').on('click', function(){
  92.         if( usedVanDropzone.getQueuedFiles().length > 0){
  93.             usedVanDropzone.processQueue();
  94.         }
  95.     });
  96.  
  97.     // Adds the "undelete" buttons underneith each Deleted Image
  98.     function addUndeleteButtons(){
  99.         deletedContainer.find('.used-van-image-div').each(function(index, item){
  100.             $(this).children('div').remove();
  101.             var el = $('<div>');
  102.             el.css('background','blue').css('color', 'white');
  103.  
  104.             var link = $('<button>').text('Undelete').attr('id', 'used-van-undelete-button').addClass('btn btn-success').attr('data-index', index);
  105.             el.append(link);
  106.             $(this).append(el);
  107.         });
  108.     }
  109.  
  110.     // Adds the "reactivate" buttons underneith each Deactivated Image
  111.     function addReactivateButtons(){
  112.         deactivatedContainer.find('.used-van-image-div').each(function(index, item){
  113.             $(this).children('div').remove();
  114.             var el = $('<div>');
  115.             el.css('background','blue').css('color', 'white');
  116.  
  117.             var link = $('<button>').text('Reactivate').attr('id', 'used-van-reactivate-button').addClass('btn btn-success').attr('data-index', index);
  118.             el.append(link);
  119.             $(this).append(el);
  120.         });
  121.     }
  122.  
  123.     // Listen for click on the "undelete" button and move it back into
  124.     // the sortable
  125.     deletedContainer.on('click', '#used-van-undelete-button', function(){
  126.         var container = $(this).parents('.used-van-image-div');
  127.         container.children('div').remove();
  128.         usedVanImgContainer.append(container);
  129.         usedVansImagesSortable.sortable('refresh');
  130.     });
  131.  
  132.     // Listen for click on the "reactivate" button and move it back into
  133.     // the sortable
  134.     deactivatedContainer.on('click', '#used-van-reactivate-button', function(){
  135.         var container = $(this).parents('.used-van-image-div');
  136.         container.children('div').remove();
  137.         usedVanImgContainer.append(container);
  138.         usedVansImagesSortable.sortable('refresh');
  139.     });
  140.  
  141.     // Listen for click on the "Apply" button to either delete or deactivate
  142.     // all of the selected images in the normal images container
  143.     $('#used-van-bulk-img-submit-btn').on('click', function(){
  144.         var options = usedVanImgContainer.find('.used-van-img-selected');
  145.  
  146.         // Deactivate
  147.         if( usedVanBulkSelect.val() == "deactivate" ){
  148.  
  149.             options.each(function(index,item){
  150.  
  151.                 $(this).removeClass("ui-sortable-handle used-van-img-selected");
  152.                 deactivatedContainer.append( $(this) );
  153.             });
  154.             addReactivateButtons();
  155.  
  156.             // Delete
  157.         }else if( usedVanBulkSelect.val() == "delete" ){
  158.  
  159.             options.each(function(index,item){
  160.  
  161.                 $(this).removeClass("ui-sortable-handle used-van-img-selected");
  162.                 deletedContainer.append( $(this) );
  163.             });
  164.             addUndeleteButtons();
  165.         }
  166.     });
  167. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement