From 238e7407662e3e5e691a7a6a3fd160341892c394 Mon Sep 17 00:00:00 2001 From: tDidierjean Date: Tue, 13 Sep 2011 17:14:58 +0000 Subject: [PATCH] // change image drag&drop to look like other drag&drop lists --- admin-dev/tabs/AdminProducts.php | 42 +++------------- js/admin-dnd.js | 85 +++++++++++++++----------------- 2 files changed, 47 insertions(+), 80 deletions(-) diff --git a/admin-dev/tabs/AdminProducts.php b/admin-dev/tabs/AdminProducts.php index 713b83182..5e6e073c6 100644 --- a/admin-dev/tabs/AdminProducts.php +++ b/admin-dev/tabs/AdminProducts.php @@ -3103,7 +3103,6 @@ class AdminProducts extends AdminTab '.$this->l('Action').' '; - echo $this->_positionJS(); foreach ($images AS $k => $image) echo $this->getLineTableImage($image, $imagesTotal, $token, $shops); @@ -3146,32 +3145,17 @@ class AdminProducts extends AdminTab $image_obj = new Image($image['id_image']); $img_path = $image_obj->getExistingImgPath(); $html = ' - + '.htmlentities(stripslashes($image['legend']), ENT_COMPAT, 'UTF-8').' '.(int)($image['position']).' - '; - if ($image['position'] == 1) - { - $html .= ' - [ ]'; - if ($image['position'] == $imagesTotal) - $html .= ' - [ ]'; - else - $html .= ' - [ ]'; - } - elseif ($image['position'] == $imagesTotal) - $html .= ' - [ ] - [ ]'; - else - $html .= ' - [ ] - [ ]'; + '; + + $html .= ' + + '; $html .= ' '; if (Shop::isMultiShopActivated()) @@ -3850,20 +3834,6 @@ class AdminProducts extends AdminTab }'; } - private function _positionJS() - { - - return ''; - } - public function updatePackItems($product) { Pack::deleteItems($product->id); diff --git a/js/admin-dnd.js b/js/admin-dnd.js index 8ca9bcf75..959f13d06 100644 --- a/js/admin-dnd.js +++ b/js/admin-dnd.js @@ -99,61 +99,59 @@ $(document).ready(function() { url: 'ajax.php?' + $.tableDnD.serialize(), data: params, success: function(data) { - if (come_from == 'AdminModulesPositions') { - tableDrag.find('tr').removeClass('alt_row'); - tableDrag.find('tr' + reOrder).addClass('alt_row'); - tableDrag.find('td.positions').each(function(i) { - $(this).html(i+1); - }); - tableDrag.find('td.dragHandle a:hidden').show(); - tableDrag.find('td.dragHandle:first a:even').hide(); - tableDrag.find('td.dragHandle:last a:odd').hide(); + if (come_from == 'AdminModulesPositions') + { + tableDrag.find('tr').removeClass('alt_row'); + tableDrag.find('tr' + reOrder).addClass('alt_row'); + tableDrag.find('td.positions').each(function(i) { + $(this).html(i+1); + }); + tableDrag.find('td.dragHandle a:hidden').show(); + tableDrag.find('td.dragHandle:first a:even').hide(); + tableDrag.find('td.dragHandle:last a:odd').hide(); } - else if (table.id == 'product') { - var reg = /_[0-9][0-9]*$/g; - tableDrag.find('tbody tr').each(function(i) { - $(this).attr('id', $(this).attr('id').replace(reg, '_' + i)); - - // Update link position - var up_reg = new RegExp('position=[-]?[0-9]+&'); - - // Up links - $(this).find('td.dragHandle a:odd').attr('href', $(this).find('td.dragHandle a:odd').attr('href').replace(up_reg, 'position='+ (i - 1) +'&')); - - // Down links - $(this).find('td.dragHandle a:even').attr('href', $(this).find('td.dragHandle a:even').attr('href').replace(up_reg, 'position='+ (i + 1) +'&')); - - }); - tableDrag.find('tr').not('.nodrag').removeClass('alt_row'); - tableDrag.find('tr:not(".nodrag"):odd').addClass('alt_row'); - tableDrag.find('tr td.dragHandle a:hidden').show(); - - if (alternate) { - tableDrag.find('tr td.dragHandle:first a:odd').hide(); - tableDrag.find('tr td.dragHandle:last a:even').hide(); - } - else { - tableDrag.find('tr td.dragHandle:first a:even').hide(); - tableDrag.find('tr td.dragHandle:last a:odd').hide(); - } - } - else + else if (table.id == 'imageTable') { var reg = /_[0-9]$/g; + var up_reg = new RegExp('imgPosition=[0-9]+&'); + tableDrag.find('tbody tr').each(function(i) { + // Update link position + // Up links + $(this).find('td.dragHandle a:first').attr('href', $(this).find('td.dragHandle a:first').attr('href').replace(up_reg, 'imgPosition='+ i +'&'));//, 'imgPosition='+ (i - 1) +'&')); + // Down links + $(this).find('td.dragHandle a:last').attr('href', $(this).find('td.dragHandle a:last').attr('href').replace(up_reg, 'imgPosition='+ (i + 2) +'&')); + // Position image cell + $(this).find('td.positionImage').html(i + 1); + + }); + tableDrag.find('tr td.dragHandle a:hidden').show(); + tableDrag.find('tr td.dragHandle:first a:first').hide(); + tableDrag.find('tr td.dragHandle:last a:last').hide(); + } + else + { + if (table.id == 'product') + { + var reg = /_[0-9][0-9]*$/g; + } + else + { + var reg = /_[0-9]$/g; + } + + var up_reg = new RegExp('position=[-]?[0-9]+&'); + tableDrag.find('tbody tr').each(function(i) { $(this).attr('id', $(this).attr('id').replace(reg, '_' + i)); - // Update link position - var up_reg = new RegExp('position=[-]?[0-9]+&'); - + // Update link position // Up links $(this).find('td.dragHandle a:odd').attr('href', $(this).find('td.dragHandle a:odd').attr('href').replace(up_reg, 'position='+ (i - 1) +'&')); // Down links $(this).find('td.dragHandle a:even').attr('href', $(this).find('td.dragHandle a:even').attr('href').replace(up_reg, 'position='+ (i + 1) +'&')); - }); - + }); tableDrag.find('tr').not('.nodrag').removeClass('alt_row'); tableDrag.find('tr:not(".nodrag"):odd').addClass('alt_row'); tableDrag.find('tr td.dragHandle a:hidden').show(); @@ -166,7 +164,6 @@ $(document).ready(function() { tableDrag.find('tr td.dragHandle:first a:even').hide(); tableDrag.find('tr td.dragHandle:last a:odd').hide(); } - } } });