Re: Clone a WebPage

2008-05-30 Thread Gwyn Evans
On Thu, May 29, 2008 at 8:48 PM, Mathias P.W Nilsson
[EMAIL PROTECTED] wrote:
 In my item page I update the cart via Ajax and call updateCart(
 AjaxRequestTarget target )
 this add a container with the cart fragment

And you've checked updateCart /does/ add the fragment to the AJAX
target?  Does the Ajax debugging show anything?

/Gwyn

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Clone a WebPage

2008-05-30 Thread Erik van Oosten
Do you have any overriden isVisible() in which you use the model?

Regards,
Erik.

Mathias P.W Nilsson wrote:
 You are perfectly right. All my LoadableDetachable models are called again.
 Problem is that the cart is a Fragment and it does not get called.

   
--
Erik van Oosten
http://day-to-day-stuff.blogspot.com/



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Clone a WebPage

2008-05-29 Thread Mathias P.W Nilsson

I'm going mad I can't get this working.

Here is some code. It is quite a bit so

ItemListPage

package se.edgesoft.hairless.web.page.site.item;

import java.util.Arrays;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

import org.apache.wicket.PageParameters;
import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.Radio;
import org.apache.wicket.markup.html.form.RadioGroup;
import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.IDataProvider;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.LoadableDetachableModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.StringResourceModel;

import se.edgesoft.hairless.entities.brand.Brand;
import se.edgesoft.hairless.entities.category.Category;
import se.edgesoft.hairless.entities.colorstory.ColorStory;
import se.edgesoft.hairless.entities.department.Department;
import se.edgesoft.hairless.entities.item.Item;
import se.edgesoft.hairless.entities.presentation.Presentation;
import se.edgesoft.hairless.entities.translation.Translation;
import se.edgesoft.hairless.model.filter.item.BalanceFilter;
import se.edgesoft.hairless.model.filter.item.BrandFilter;
import se.edgesoft.hairless.model.filter.item.CategoryFilter;
import se.edgesoft.hairless.model.filter.item.ColorStoryFilter;
import se.edgesoft.hairless.model.filter.item.DepartmentFilter;
import se.edgesoft.hairless.model.filter.item.GenderFilter;
import se.edgesoft.hairless.model.filter.item.ItemBreadcrumb;
import se.edgesoft.hairless.model.filter.item.ItemFilter;
import se.edgesoft.hairless.model.filter.item.ItemResourceBreadcrumb;
import se.edgesoft.hairless.model.filter.item.ObjectFilter;
import se.edgesoft.hairless.model.filter.item.OutletFilter;
import se.edgesoft.hairless.model.filter.item.Presentational;
import se.edgesoft.hairless.model.filter.item.StoreFilter;
import se.edgesoft.hairless.model.filter.item.TypePresentational;
import se.edgesoft.hairless.model.format.item.ItemFormatter;
import se.edgesoft.hairless.model.presentation.PresentationManager;
import se.edgesoft.hairless.model.sort.item.ItemSort;
import se.edgesoft.hairless.model.sort.item.Sort;
import se.edgesoft.hairless.model.translation.Translator;
import se.edgesoft.hairless.model.translation.TranslatorManager;
import se.edgesoft.hairless.web.components.ExternalImageUrl;
import se.edgesoft.hairless.web.components.models.TranslatableCategoryModel;
import
se.edgesoft.hairless.web.page.administration.renderers.BrandChoiceRenderer;
import
se.edgesoft.hairless.web.page.administration.renderers.CategoryChoiceRenderer;
import
se.edgesoft.hairless.web.page.administration.renderers.ColorStoryChoiceRenderer;
import se.edgesoft.hairless.web.page.site.RootPage;
import se.edgesoft.hairless.web.panels.ItemPageNavigation;

public class ItemListPage extends RootPage{

ListItemFilter filters;
ListItemSort sorts;
private Presentation presentation;
private Translation translation;

public ListItemFilter getFilters() {
return filters;
}

public void setFilters(ListItemFilter filters) {
this.filters = filters;
/**
 * Check if the outlet filter exists. This can
 * happen if the outlet is pressed
 * If no outlet filter is present we add a new outlet filter
 * to filter only the items that is in date scope.
 */
if( ! containsFilter( OutletFilter.class ) ){
addFilter( new OutletFilter( false ));
}
/** Always add balance and store filter when getting items */
if( ! containsFilter( BalanceFilter.class ) ){
addFilter( new BalanceFilter( new Long( 1 ) ));
}
/** Add store filter */
if( ! containsFilter( StoreFilter.class ) ){
addFilter( new StoreFilter( getStore() ) );
}
/**
 * Add default family as gender filter
 */
if( ! containsFilter( GenderFilter.class ) ){
addFilter( new GenderFilter( Item.Gender.FAMILY ) );
}

}

public ListItemBreadcrumb getBreadCrumbs(){

if( 

Re: Clone a WebPage

2008-05-29 Thread Mathias P.W Nilsson

You are perfectly right. All my LoadableDetachable models are called again.
Problem is that the cart is a Fragment and it does not get called.

final class CartFragment extends Fragment{
private static final long serialVersionUID = 1L;
Cart cart = getCart();
Translator translator = new Translator( getStore() );
private Long getAmount(){
Long amount = new Long( 0 );
for( CartItem item : cart.getCartItems() ){
amount += item.getAmount();
}

return amount;

}

private Float getPrice(){
float price = 0;
for( CartItem cartItem : cart.getCartItems() ){
Item item = cartItem.getSubItem().getItem();
new ItemFormatter( item ).format( getStore() );
price += item.getFormattedPrice() * 
cartItem.getAmount();
}

return price;

}

private Float getMemberPrice(){
float memberPrice = 0;
for( CartItem cartItem : cart.getCartItems() ){
Item item = cartItem.getSubItem().getItem();
new ItemFormatter( item ).format( getStore() );
memberPrice += item.getFormattedMemberPrice() * 
cartItem.getAmount();
}

return memberPrice;

}

public CartFragment( String panel, String id ){
super( panel, id, RootPage.this );
// ALL labels are added here
}
}
}

In my item page I update the cart via Ajax and call updateCart(
AjaxRequestTarget target )
this add a container with the cart fragment

Any tip of getting around this?
-- 
View this message in context: 
http://www.nabble.com/Clone-a-WebPage-tp17468163p17544341.html
Sent from the Wicket - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]