From dfe87bf1818770d454d899a7b938937acd0d2a49 Mon Sep 17 00:00:00 2001 From: Yung Han Khoe Date: Thu, 14 May 2009 13:51:56 +0000 Subject: [PATCH] adding a 'delete item' button on Carousel edit screen --- lib/WebGUI/Asset/Wobject/Carousel.pm | 33 ++++++++++----- www/extras/wobject/Carousel/carousel.js | 53 +++++++++++++++++++++---- 2 files changed, 69 insertions(+), 17 deletions(-) diff --git a/lib/WebGUI/Asset/Wobject/Carousel.pm b/lib/WebGUI/Asset/Wobject/Carousel.pm index 955f01aec..01a5300d5 100644 --- a/lib/WebGUI/Asset/Wobject/Carousel.pm +++ b/lib/WebGUI/Asset/Wobject/Carousel.pm @@ -107,7 +107,8 @@ sub getEditForm { .'
'.$i18n->get("items description").'
' .' ' - .'

'; + .'
' + ."
\n"; $tabform->getTab("properties")->raw($tableRowStart); @@ -115,25 +116,37 @@ sub getEditForm { my @items = @{JSON->new->decode($self->getValue('items'))->{items}}; foreach my $item (@items){ - my $itemHTML = $i18n->get("id label").'
'.$i18n->get("id description").'
: ' - .'' - .'
\n"; $itemHTML .= " \n"; + .'myEditor'.$itemNr.".render()\n" + ."\n" + ."\n"; $tabform->getTab("properties")->raw($itemHTML); } } else{ - my $itemHTML = 'ID: ' + my $itemHTML = "
\n" + ."\n" + .$i18n->get("id label").'
'.$i18n->get("id description").'
: ' + .' ' + ."
\n" + ."\n" .'
\n"; diff --git a/www/extras/wobject/Carousel/carousel.js b/www/extras/wobject/Carousel/carousel.js index 7ccbd311a..168e4b412 100644 --- a/www/extras/wobject/Carousel/carousel.js +++ b/www/extras/wobject/Carousel/carousel.js @@ -1,5 +1,4 @@ -//YAHOO.util.Event.addListener(window, "load", function() { - function addItem () { +function addItem () { var items_td = document.getElementById('items_td'); var textAreas = items_td.getElementsByClassName('carouselItemText'); var textAreaCount = textAreas.length; @@ -12,6 +11,11 @@ handleSubmit: true }; + var newItem_div = document.createElement('div'); + newItem_div.id = 'item_div'+newItemNumber; + newItem_div.name = 'item_div_'+newItemNumber; + items_td.appendChild(newItem_div); + var newItem_textarea = document.createElement('textarea'); newItem_textarea.id = 'item'+newItemNumber; newItem_textarea.name = 'item_'+newItemNumber; @@ -19,7 +23,7 @@ var newItem_id_span = document.createElement('span'); newItem_id_span.innerHTML = 'ID: '; - items_td.appendChild(newItem_id_span); + newItem_div.appendChild(newItem_id_span); var newItem_id = document.getElementById('newItem_id'); newItem_id.type = 'text'; @@ -27,12 +31,47 @@ newItem_id.name = 'itemId_'+newItemNumber; newItem_id.value = 'carousel_item_'+newItemNumber; - items_td.appendChild(newItem_textarea); + var newItem_deleteButton = document.createElement('input'); + newItem_deleteButton.type = 'button'; + newItem_deleteButton.id = 'deleteItem'+newItemNumber; + newItem_deleteButton.value = 'Delete this item'; + newItem_deleteButton.onclick = function(){deleteItem(this.id)}; + newItem_div.appendChild(newItem_deleteButton); + + newItem_div.appendChild(newItem_textarea); var newItem_break = document.createElement('br'); - items_td.appendChild(newItem_break); + newItem_div.appendChild(newItem_break); var myEditor = new YAHOO.widget.SimpleEditor('item'+newItemNumber, myConfig); myEditor.render(); - } -//}); \ No newline at end of file +} +function resetItemIds() { + var items_td = document.getElementById('items_td'); + var textAreas = items_td.getElementsByClassName('carouselItemText'); + for (i=0;i