Ignore:
Timestamp:
Nov 24, 2013, 6:09:57 PM (10 years ago)
Author:
mistic100
Message:

very big update for Piwigo 2.6

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/UserCollections/template/thumbnails_css_js.tpl

    r25674 r25678  
    44{if not $UC_IN_EDIT}
    55{footer_script require='jquery'}
    6 var $cdm = jQuery("#collectionsDropdown");
     6var $cdm = jQuery('#collectionsDropdown');
    77
    88{if not $IN_PICTURE}
    9 $cdm.on("mouseleave", function() {ldelim}
     9$cdm.on('mouseleave', function() {
    1010  $cdm.hide();
    1111});
     
    1313
    1414// click on "create collection" button
    15 $cdm.find("a.new").on("click", function(event) {ldelim}
     15$cdm.find('a.new').on('click', function(e) {
    1616  jQuery(this).hide().next().show().focus();
    17   event.stopPropagation();
    18   return false;
     17  e.stopPropagation();
     18  e.preventDefault();
    1919});
    2020
    2121// events on "new collection" input
    22 $cdm.find("input.new").on({ldelim}
     22$cdm.find('input.new').on({
    2323  // ENTER or ESC pressed
    24   "keyup": function(event) {ldelim}
    25     if (event.which == 27) {ldelim}
     24  keyup: function(e) {
     25    if (e.which == 27) {
    2626      jQuery(this).val('').hide().prev().show();
    2727      return;
    2828    }
    29    
    30     if (event.which != 13) return;
    31    
     29
     30    if (e.which != 13) {
     31      return;
     32    }
     33
    3234    jQuery(this).hide().prev().show();
    3335    var name = jQuery(this).val();
    3436    jQuery(this).val('');
    35    
    36     if (name == "" || name == null) return;
    37    
    38     jQuery.ajax({ldelim}
    39       type: "GET",
    40       dataType: "json",
    41       url: "{$ROOT_URL}ws.php",
    42       data: {ldelim}
    43         format: "json",
    44         method: "pwg.collections.create",
     37
     38    if (name == '' || name == null) {
     39      return;
     40    }
     41
     42    jQuery.ajax({
     43      type: 'GET',
     44      dataType: 'json',
     45      url: '{$ROOT_URL}ws.php',
     46      data: {
     47        format: 'json',
     48        method: 'pwg.collections.create',
    4549        name: name,
    4650      },
    47       success: function(data) {ldelim}
    48         if (data.stat == 'ok') {ldelim}
     51      success: function(data) {
     52        if (data.stat == 'ok') {
    4953          var col = data.result;
    5054          var html = '<span>&#9733;</span> <a class="add" data-id="'+ col.id +'">'+ col.name +'</a> '
    5155            +'<span class="menuInfoCat">[<span class="nbImagesCollec-'+ col.id +'">'+ col.nb_images +'</span>]</span> '
    52             +'<a class="remove" data-id="'+ col.id +'">{'(remove)'|@translate}</a>'
     56            +'<a class="remove" data-id="'+ col.id +'">{'(remove)'|translate|escape:javscript}</a>'
    5357            +'<br>';
    54          
    55           $cdm.children(".switchBoxFooter").before(html);
    56           $cdm.children(".noCollecMsg").remove();
    57         }
    58         else {ldelim}
     58
     59          $cdm.children('.switchBoxFooter').before(html);
     60          $cdm.children('.noCollecMsg').remove();
     61        }
     62        else {
    5963          alert(data.message);
    6064        }
    6165      },
    62       error: function() {ldelim}
    63         alert("{'An unknown error occured'|@translate}");
     66      error: function() {
     67        alert('{'An unknown error occured'|translate|escape:javascript}');
    6468      }
    6569    });
    66    
    67     return false;
    6870  },
    6971  // prevent click propagation
    70   "click": function(event) {ldelim}
    71     event.stopPropagation();
     72  click: function(e) {
     73    e.stopPropagation();
    7274  }
    7375});
    7476
    7577// add and remove links (delegate for new collections)
    76 $cdm.on("click", ".add, .remove", function() {ldelim}
    77   var img_id = $cdm.data("img_id");
    78   var col_id = jQuery(this).data("id");
    79   var method = jQuery(this).hasClass("add") ? "pwg.collections.addImages" : "pwg.collections.removeImages";
    80  
    81   jQuery.ajax({ldelim}
    82     type: "GET",
    83     dataType: "json",
    84     url: "{$ROOT_URL}ws.php",
    85     data: {ldelim}
    86       format: "json",
     78$cdm.on('click', '.add, .remove', function(e) {
     79  var img_id = $cdm.data('img_id');
     80  var col_id = jQuery(this).data('id');
     81  var method = jQuery(this).hasClass('add') ? 'pwg.collections.addImages' : 'pwg.collections.removeImages';
     82
     83  jQuery.ajax({
     84    type: 'GET',
     85    dataType: 'json',
     86    url: '{$ROOT_URL}ws.php',
     87    data: {
     88      format: 'json',
    8789      method: method,
    8890      col_id: col_id,
    8991      image_ids: img_id
    9092    },
    91     success: function(data) {ldelim}
    92       if (data.stat == 'ok') {ldelim}
     93    success: function(data) {
     94      if (data.stat == 'ok') {
    9395        // update col counters
    94         jQuery(".nbImagesCollec-"+col_id).html(data.result.nb_images);
    95        
     96        jQuery('.nbImagesCollec-'+ col_id).html(data.result.nb_images);
     97
    9698        // update item datas
    97         var $target = jQuery(".addCollection[data-id='"+ img_id +"']");
    98         var col_ids = $target.data("cols");
    99         if (method == "pwg.collections.addImages" && col_ids.indexOf(col_id) == -1)
     99        var $target = jQuery('.addCollection[data-id="'+ img_id +'"]');
     100        var col_ids = $target.data('cols');
     101        if (method == 'pwg.collections.addImages' && col_ids.indexOf(col_id) == -1) {
    100102          col_ids[ col_ids.length ] = col_id;
    101         else if (method == "pwg.collections.removeImages")
     103        }
     104        else if (method == 'pwg.collections.removeImages') {
    102105          col_ids.splice(col_ids.indexOf(col_id), 1);
    103         $target.data("col", col_ids);
    104       }
    105       else {ldelim}
     106        }
     107        $target.data('col', col_ids);
     108      }
     109      else {
    106110        alert(data.message);
    107111      }
    108112    },
    109     error: function() {ldelim}
    110       alert("{'An unknown error occured'|@translate}");
    111     }
    112   });
    113  
     113    error: function() {
     114      alert('{'An unknown error occured'|translate|escape:javascript}');
     115    }
     116  });
     117
    114118  $cdm.hide();
    115   return false;
     119  e.preventDefault();
    116120});
    117121
    118122// main button, open the menu
    119 jQuery(".addCollection").on("click", function(event) {ldelim}
    120   var img_id = jQuery(this).data("id");
    121   var col_ids = jQuery(this).data("cols");
    122  
    123   $cdm.data("img_id", img_id);
    124  
    125   $cdm.children(".add").each(function() {ldelim}   
    126     if (col_ids.indexOf($(this).data("id")) != -1) {ldelim}
    127       $(this).css("font-weight", "bold").next().next().show();
    128     }
    129     else {ldelim}
    130       $(this).css("font-weight", "normal").next().next().hide();
    131     }
    132   });
    133  
     123jQuery('.addCollection').on('click', function(e) {
     124  var img_id = jQuery(this).data('id');
     125  var col_ids = jQuery(this).data('cols');
     126
     127  $cdm.data('img_id', img_id);
     128
     129  $cdm.children('.add').each(function() {
     130    if (col_ids.indexOf($(this).data('id')) != -1) {
     131      $(this).css('font-weight', 'bold').next().next().show();
     132    }
     133    else {
     134      $(this).css('font-weight', 'normal').next().next().hide();
     135    }
     136  });
     137
    134138  {if not $IN_PICTURE}
    135   $cdm.css({ldelim}
    136     "top": event.pageY-5-$(window).scrollTop(),
    137     "left": Math.min(event.pageX-jQuery(window).scrollLeft()-20, jQuery(window).width()-$cdm.outerWidth(true)-5)
     139  $cdm.css({
     140    'top': e.pageY-5-$(window).scrollTop(),
     141    'left': Math.min(e.pageX-jQuery(window).scrollLeft()-20, jQuery(window).width()-$cdm.outerWidth(true)-5)
    138142  });
    139143  $cdm.show();
    140144  {/if}
    141  
    142   return false;
     145
     146  e.preventDefault();
    143147});
    144148
    145149// try to respect theme colors
    146 $cdm.children(".switchBoxFooter").css("border-top-color", $cdm.children(".switchBoxTitle").css("border-bottom-color"));
     150$cdm.children('.switchBoxFooter').css('border-top-color', $cdm.children('.switchBoxTitle').css('border-bottom-color'));
    147151{/footer_script}
    148152
    149153<div id="collectionsDropdown" class="switchBox">
    150   <div class="switchBoxTitle">{'Collections'|@translate}</div>
    151  
     154  <div class="switchBoxTitle">{'Collections'|translate}</div>
     155
    152156  {foreach from=$COLLECTIONS item=col}
    153157    <span>&#9733;</span> <a class="add" data-id="{$col.id}">{$col.name}</a>
    154158    <span class="menuInfoCat">[<span class="nbImagesCollec-{$col.id}">{$col.nb_images}</span>]</span>
    155     <a class="remove" data-id="{$col.id}">{'(remove)'|@translate}</a>
     159    <a class="remove" data-id="{$col.id}">{'(remove)'|translate}</a>
    156160    <br>
    157161  {foreachelse}
    158     <span class="noCollecMsg">{'You have no collection'|@translate}</span>
     162    <span class="noCollecMsg">{'You have no collection'|translate}</span>
    159163  {/foreach}
    160  
     164
    161165  <div class="switchBoxFooter">
    162   <span>&#10010;</span> <a class="new">{'Create a new collection'|@translate}</a>
    163   <input type="text" class="new" placeholder="{'Name'|@translate}" size="25"/>
     166  <span>&#10010;</span> <a class="new">{'Create a new collection'|translate}</a>
     167  <input type="text" class="new" placeholder="{'Name'|translate}" size="25"/>
    164168  </div>
    165169</div>
     
    168172{else}
    169173{footer_script require='jquery'}
    170 jQuery(".addCollection").on("click", function(event) {ldelim}
     174jQuery('.addCollection').on('click', function(e) {
    171175  var $trigger = jQuery(this);
    172   var img_id = jQuery(this).data("id");
     176  var img_id = jQuery(this).data('id');
    173177  var col_id = {$collection.ID};
    174  
    175   jQuery.ajax({ldelim}
    176     type: "GET",
    177     dataType: "json",
    178     url: "{$ROOT_URL}ws.php",
    179     data: {ldelim}
    180       format: "json",
    181       method: "pwg.collections.removeImages",
     178
     179  jQuery.ajax({
     180    type: 'GET',
     181    dataType: 'json',
     182    url: '{$ROOT_URL}ws.php',
     183    data: {
     184      format: 'json',
     185      method: 'pwg.collections.removeImages',
    182186      col_id: col_id,
    183187      image_ids: img_id
    184188    },
    185     success: function(data) {ldelim}
    186       if (data.stat == 'ok') {ldelim}
    187         $trigger.parent("li").hide("fast", function() {ldelim}
     189    success: function(data) {
     190      if (data.stat == 'ok') {
     191        $trigger.parent('li').hide('fast', function() {
    188192          jQuery(this).remove();
    189           if (typeof GThumb != "undefined") GThumb.build();
     193          if (typeof GThumb != 'undefined') {
     194            GThumb.build();
     195          }
    190196        });
    191        
    192         jQuery(".nbImagesCollec-"+col_id).html(data.result.nb_images);
    193         if (typeof batchdown_count != 'undefined') batchdown_count = data.result.nb_images;
    194       }
    195       else {ldelim}
     197
     198        jQuery('.nbImagesCollec-'+ col_id).html(data.result.nb_images);
     199        if (typeof batchdown_count != 'undefined') {
     200          batchdown_count = data.result.nb_images;
     201        }
     202      }
     203      else {
    196204        alert(data.message);
    197205      }
    198206    },
    199     error: function() {ldelim}
    200       alert("{'An unknown error occured'|@translate}");
    201     }
    202   });
    203  
    204   event.stopPropagation();
    205   event.preventDefault();
    206   return false;
     207    error: function() {
     208      alert('{'An unknown error occured'|translate|escape:javascript}');
     209    }
     210  });
     211
     212  e.stopPropagation();
     213  e.preventDefault();
    207214});
    208215{/footer_script}
Note: See TracChangeset for help on using the changeset viewer.