Changeset 28909


Ignore:
Timestamp:
07/01/14 21:28:09 (5 years ago)
Author:
rvelices
Message:

bug 3013: Clean batch manager global

Location:
trunk/admin/themes/default
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin/themes/default/js/batchManagerGlobal.js

    r28821 r28909  
    9494jQuery("a.preview-box").colorbox(); 
    9595 
     96jQuery('.thumbnails img').tipTip({ 
     97        'delay' : 0, 
     98        'fadeIn' : 200, 
     99        'fadeOut' : 200 
     100}); 
    96101 
    97102 
     
    131136        } 
    132137}); 
     138 
     139var derivatives = { 
     140        elements: null, 
     141        done: 0, 
     142        total: 0, 
     143 
     144        finished: function() { 
     145                return derivatives.done == derivatives.total && derivatives.elements && derivatives.elements.length==0; 
     146        } 
     147}; 
     148 
     149function progress(success) { 
     150  jQuery('#progressBar').progressBar(derivatives.done, { 
     151    max: derivatives.total, 
     152    textFormat: 'fraction', 
     153    boxImage: 'themes/default/images/progressbar.gif', 
     154    barImage: 'themes/default/images/progressbg_orange.gif' 
     155  }); 
     156        if (success !== undefined) { 
     157                var type = success ? 'regenerateSuccess': 'regenerateError', 
     158                        s = jQuery('[name="'+type+'"]').val(); 
     159                jQuery('[name="'+type+'"]').val(++s); 
     160        } 
     161 
     162        if (derivatives.finished()) { 
     163                jQuery('#applyAction').click(); 
     164        } 
     165} 
     166 
     167function getDerivativeUrls() { 
     168        var ids = derivatives.elements.splice(0, 500); 
     169        var params = {max_urls: 100000, ids: ids, types: []}; 
     170        jQuery("#action_generate_derivatives input").each( function(i, t) { 
     171                if ($(t).is(":checked")) 
     172                        params.types.push( t.value ); 
     173        } ); 
     174 
     175        jQuery.ajax( { 
     176                type: "POST", 
     177                url: 'ws.php?format=json&method=pwg.getMissingDerivatives', 
     178                data: params, 
     179                dataType: "json", 
     180                success: function(data) { 
     181                        if (!data.stat || data.stat != "ok") { 
     182                                return; 
     183                        } 
     184                        derivatives.total += data.result.urls.length; 
     185                        progress(); 
     186                        for (var i=0; i < data.result.urls.length; i++) { 
     187                                jQuery.manageAjax.add("queued", { 
     188                                        type: 'GET', 
     189                                        url: data.result.urls[i] + "&ajaxload=true", 
     190                                        dataType: 'json', 
     191                                        success: ( function(data) { derivatives.done++; progress(true) }), 
     192                                        error: ( function(data) { derivatives.done++; progress(false) }) 
     193                                }); 
     194                        } 
     195                        if (derivatives.elements.length) 
     196                                setTimeout( getDerivativeUrls, 25 * (derivatives.total-derivatives.done)); 
     197                } 
     198        } ); 
     199} 
     200 
     201function selectGenerateDerivAll() { 
     202        $("#action_generate_derivatives input[type=checkbox]").prop("checked", true); 
     203} 
     204function selectGenerateDerivNone() { 
     205        $("#action_generate_derivatives input[type=checkbox]").prop("checked", false); 
     206} 
     207 
     208function selectDelDerivAll() { 
     209        $("#action_delete_derivatives input[type=checkbox]").prop("checked", true); 
     210} 
     211function selectDelDerivNone() { 
     212        $("#action_delete_derivatives input[type=checkbox]").prop("checked", false); 
     213} 
  • trunk/admin/themes/default/template/batch_manager_global.tpl

    r28821 r28909  
    2121{footer_script} 
    2222var lang = { 
    23         Cancel: '{'Cancel'|translate|escape:'javascript'}' 
     23        Cancel: '{'Cancel'|translate|escape:'javascript'}', 
     24        AreYouSure: "{'Are you sure?'|translate|escape:'javascript'}" 
    2425}; 
    2526 
     
    6869var nb_thumbs_page = {$nb_thumbs_page}; 
    6970var nb_thumbs_set = {$nb_thumbs_set}; 
    70 var are_you_sure = "{'Are you sure?'|@translate|@escape:'javascript'}"; 
    7171var applyOnDetails_pattern = "{'on the %d selected photos'|@translate}"; 
    7272var all_elements = [{if !empty($all_elements)}{','|@implode:$all_elements}{/if}]; 
    73 var derivatives = {ldelim} 
    74         elements: null, 
    75         done: 0, 
    76         total: 0, 
    77  
    78         finished: function() {ldelim} 
    79                 return derivatives.done == derivatives.total && derivatives.elements && derivatives.elements.length==0; 
    80         } 
    81 }; 
    8273 
    8374var selectedMessage_pattern = "{'%d of %d photos selected'|@translate}"; 
    8475var selectedMessage_none = "{'No photo selected, %d photos in current set'|@translate}"; 
    8576var selectedMessage_all = "{'All %d photos are selected'|@translate}"; 
    86  
    87 {literal} 
    88 function progress(success) { 
    89   jQuery('#progressBar').progressBar(derivatives.done, { 
    90     max: derivatives.total, 
    91     textFormat: 'fraction', 
    92     boxImage: 'themes/default/images/progressbar.gif', 
    93     barImage: 'themes/default/images/progressbg_orange.gif' 
    94   }); 
    95         if (success !== undefined) { 
    96                 var type = success ? 'regenerateSuccess': 'regenerateError', 
    97                         s = jQuery('[name="'+type+'"]').val(); 
    98                 jQuery('[name="'+type+'"]').val(++s); 
    99         } 
    100  
    101         if (derivatives.finished()) { 
    102                 jQuery('#applyAction').click(); 
    103         } 
    104 } 
    10577 
    10678$(document).ready(function() { 
     
    157129    } 
    158130  } 
    159  
    160   $('.thumbnails img').tipTip({ 
    161     'delay' : 0, 
    162     'fadeIn' : 200, 
    163     'fadeOut' : 200 
    164   }); 
    165131 
    166132  $("[id^=action_]").hide(); 
     
    261227                                , e_count = $('input[name="setSelected"]').is(':checked') ? nb_thumbs_set : $('.thumbnails input[type=checkbox]').filter(':checked').length; 
    262228                        if (d_count*e_count > 500) 
    263                                 return confirm(are_you_sure); 
     229                                return confirm(lang.AreYouSure); 
    264230                } 
    265231 
     
    297263  }); 
    298264 
    299         function getDerivativeUrls() { 
    300                 var ids = derivatives.elements.splice(0, 500); 
    301                 var params = {max_urls: 100000, ids: ids, types: []}; 
    302                 jQuery("#action_generate_derivatives input").each( function(i, t) { 
    303                         if ($(t).is(":checked")) 
    304                                 params.types.push( t.value ); 
    305                 } ); 
    306  
    307                 jQuery.ajax( { 
    308                         type: "POST", 
    309                         url: 'ws.php?format=json&method=pwg.getMissingDerivatives', 
    310                         data: params, 
    311                         dataType: "json", 
    312                         success: function(data) { 
    313                                 if (!data.stat || data.stat != "ok") { 
    314                                         return; 
    315                                 } 
    316                                 derivatives.total += data.result.urls.length; 
    317                                 progress(); 
    318                                 for (var i=0; i < data.result.urls.length; i++) { 
    319                                         jQuery.manageAjax.add("queued", { 
    320                                                 type: 'GET', 
    321                                                 url: data.result.urls[i] + "&ajaxload=true", 
    322                                                 dataType: 'json', 
    323                                                 success: ( function(data) { derivatives.done++; progress(true) }), 
    324                                                 error: ( function(data) { derivatives.done++; progress(false) }) 
    325                                         }); 
    326                                 } 
    327                                 if (derivatives.elements.length) 
    328                                         setTimeout( getDerivativeUrls, 25 * (derivatives.total-derivatives.done)); 
    329                         } 
    330                 } ); 
    331         } 
    332  
    333265  checkPermitAction(); 
    334266 
    335   /* dimensions sliders */ 
    336   /** 
    337   * find the key from a value in the startStopValues array 
    338    */ 
     267        {* /* dimensions sliders */ 
     268        /** 
     269        * find the key from a value in the startStopValues array 
     270         */ *} 
    339271  function getSliderKeyFromValue(value, values) { 
    340272    for (var key in values) { 
     
    347279  } 
    348280 
    349 {/literal} 
    350   var dimension_values = {ldelim} 
    351     'width':[{$dimensions.widths}], 
    352     'height':[{$dimensions.heights}], 
    353     'ratio':[{$dimensions.ratios}] 
     281  var dimension_values = { 
     282    width:[{$dimensions.widths}], 
     283    height:[{$dimensions.heights}], 
     284    ratio:[{$dimensions.ratios}] 
    354285  }; 
    355286 
    356   $("#filter_dimension_width_slider").slider({ldelim} 
     287        function onSliderChange(type, ui, pattern) { 
     288                $("input[name='filter_dimension_min_"+type+"']").val(dimension_values[type][ui.values[0]]); 
     289                $("input[name='filter_dimension_max_"+type+"']").val(dimension_values[type][ui.values[1]]); 
     290 
     291                $("#filter_dimension_"+type+"_info").html(sprintf( 
     292                        pattern, 
     293                        dimension_values[type][ui.values[0]], 
     294                        dimension_values[type][ui.values[1]] 
     295                )); 
     296        } 
     297         
     298  $("#filter_dimension_width_slider").slider({ 
    357299    range: true, 
    358300    min: 0, 
     
    362304      getSliderKeyFromValue({$dimensions.selected.max_width}, dimension_values['width']) 
    363305    ], 
    364     slide: function(event, ui) {ldelim} 
    365       $("input[name='filter_dimension_min_width']").val(dimension_values['width'][ui.values[0]]); 
    366       $("input[name='filter_dimension_max_width']").val(dimension_values['width'][ui.values[1]]); 
    367  
    368       $("#filter_dimension_width_info").html(sprintf( 
    369         "{'between %d and %d pixels'|@translate}", 
    370         dimension_values['width'][ui.values[0]], 
    371         dimension_values['width'][ui.values[1]] 
    372       )); 
    373     }, 
    374     change: function(event, ui) {ldelim} 
    375       $("input[name='filter_dimension_min_width']").val(dimension_values['width'][ui.values[0]]); 
    376       $("input[name='filter_dimension_max_width']").val(dimension_values['width'][ui.values[1]]); 
    377  
    378       $("#filter_dimension_width_info").html(sprintf( 
    379         "{'between %d and %d pixels'|@translate}", 
    380         dimension_values['width'][ui.values[0]], 
    381         dimension_values['width'][ui.values[1]] 
    382       )); 
    383     } 
    384   }); 
    385  
    386   $("#filter_dimension_height_slider").slider({ldelim} 
     306                slide: function(event, ui) { 
     307                        onSliderChange('width', ui, "{'between %d and %d pixels'|translate|escape:'javascript'}"); 
     308                }, 
     309                change: function(event, ui) { 
     310                        onSliderChange('width', ui, "{'between %d and %d pixels'|translate|escape:'javascript'}"); 
     311                } 
     312  }); 
     313 
     314  $("#filter_dimension_height_slider").slider({ 
    387315    range: true, 
    388316    min: 0, 
     
    392320      getSliderKeyFromValue({$dimensions.selected.max_height}, dimension_values['height']) 
    393321    ], 
    394     slide: function(event, ui) {ldelim} 
    395       $("input[name='filter_dimension_min_height']").val(dimension_values['height'][ui.values[0]]); 
    396       $("input[name='filter_dimension_max_height']").val(dimension_values['height'][ui.values[1]]); 
    397  
    398       $("#filter_dimension_height_info").html(sprintf( 
    399         "{'between %d and %d pixels'|@translate}", 
    400         dimension_values['height'][ui.values[0]], 
    401         dimension_values['height'][ui.values[1]] 
    402       )); 
    403     }, 
    404     change: function(event, ui) {ldelim} 
    405       $("input[name='filter_dimension_min_height']").val(dimension_values['height'][ui.values[0]]); 
    406       $("input[name='filter_dimension_max_height']").val(dimension_values['height'][ui.values[1]]); 
    407  
    408       $("#filter_dimension_height_info").html(sprintf( 
    409         "{'between %d and %d pixels'|@translate}", 
    410         dimension_values['height'][ui.values[0]], 
    411         dimension_values['height'][ui.values[1]] 
    412       )); 
    413     } 
    414   }); 
    415  
    416   $("#filter_dimension_ratio_slider").slider({ldelim} 
     322                slide: function(event, ui) { 
     323                        onSliderChange('height', ui, "{'between %d and %d pixels'|translate|escape:'javascript'}"); 
     324                }, 
     325                change: function(event, ui) { 
     326                        onSliderChange('height', ui, "{'between %d and %d pixels'|translate|escape:'javascript'}"); 
     327                } 
     328  }); 
     329 
     330  $("#filter_dimension_ratio_slider").slider({ 
    417331    range: true, 
    418332    min: 0, 
     
    422336      getSliderKeyFromValue({$dimensions.selected.max_ratio}, dimension_values['ratio']) 
    423337    ], 
    424     slide: function(event, ui) {ldelim} 
    425       $("input[name='filter_dimension_min_ratio']").val(dimension_values['ratio'][ui.values[0]]); 
    426       $("input[name='filter_dimension_max_ratio']").val(dimension_values['ratio'][ui.values[1]]); 
    427  
    428       $("#filter_dimension_ratio_info").html(sprintf( 
    429         "{'between %.2f and %.2f'|@translate}", 
    430         dimension_values['ratio'][ui.values[0]], 
    431         dimension_values['ratio'][ui.values[1]] 
    432       )); 
    433     }, 
    434     change: function(event, ui) {ldelim} 
    435       $("input[name='filter_dimension_min_ratio']").val(dimension_values['ratio'][ui.values[0]]); 
    436       $("input[name='filter_dimension_max_ratio']").val(dimension_values['ratio'][ui.values[1]]); 
    437  
    438       $("#filter_dimension_ratio_info").html(sprintf( 
    439         "{'between %.2f and %.2f'|@translate}", 
    440         dimension_values['ratio'][ui.values[0]], 
    441         dimension_values['ratio'][ui.values[1]] 
    442       )); 
    443     } 
    444   }); 
    445  
    446   $("a.dimensions-choice").click(function() {ldelim} 
     338                slide: function(event, ui) { 
     339                        onSliderChange('ratio', ui, "{'between %.2f and %.2f'|translate|escape:'javascript'}"); 
     340                }, 
     341                change: function(event, ui) { 
     342                        onSliderChange('ratio', ui, "{'between %.2f and %.2f'|translate|escape:'javascript'}"); 
     343                } 
     344  }); 
     345 
     346  $("a.dimensions-choice").click(function() { 
    447347    var type = jQuery(this).data("type"); 
    448348    var min = jQuery(this).data("min"); 
    449349    var max = jQuery(this).data("max"); 
    450350 
    451     $("#filter_dimension_"+ type +"_slider").slider("values", 0, 
    452       getSliderKeyFromValue(min, dimension_values[type]) 
    453     ); 
    454  
    455     $("#filter_dimension_"+type+"_slider").slider("values", 1, 
    456       getSliderKeyFromValue(max, dimension_values[type]) 
    457     ); 
     351                $("#filter_dimension_"+ type +"_slider") 
     352                        .slider("values", 0, getSliderKeyFromValue(min, dimension_values[type]) ) 
     353                        .slider("values", 1, getSliderKeyFromValue(max, dimension_values[type]) ); 
    458354  }); 
    459355}); 
     
    573469                                <option value="filter_search"{if isset($filter.search)} disabled="disabled"{/if}>{'Search'|@translate}</option> 
    574470      </select> 
    575       <a id="removeFilters" href="">{'Remove all filters'|@translate}</a> 
     471      <a id="removeFilters">{'Remove all filters'|@translate}</a> 
    576472    </p> 
    577473 
     
    780676                                <label><input type="checkbox" name="generate_derivatives_type[]" value="{$type}"> {$disp}</label> 
    781677                        {/foreach} 
    782                         {footer_script} 
    783                         function selectGenerateDerivAll() {ldelim} 
    784                                 $("#action_generate_derivatives input[type=checkbox]").prop("checked", true); 
    785                         } 
    786                         function selectGenerateDerivNone() {ldelim} 
    787                                 $("#action_generate_derivatives input[type=checkbox]").prop("checked", false); 
    788                         } 
    789                         {/footer_script} 
    790678                </div> 
    791679 
     
    798686                                <label><input type="checkbox" name="del_derivatives_type[]" value="{$type}"> {$disp}</label> 
    799687                        {/foreach} 
    800                         {footer_script} 
    801                         function selectDelDerivAll() {ldelim} 
    802                                 $("#action_delete_derivatives input[type=checkbox]").prop("checked", true); 
    803                         } 
    804                         function selectDelDerivNone() {ldelim} 
    805                                 $("#action_delete_derivatives input[type=checkbox]").prop("checked", false); 
    806                         } 
    807                         {/footer_script} 
    808688                </div> 
    809689 
Note: See TracChangeset for help on using the changeset viewer.