Changeset 1004
- Timestamp:
- 12/21/10 19:35:08 (13 years ago)
- Location:
- VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/border/AjaxToggleBorder.html
r975 r1004 7 7 <body> 8 8 <wicket:border> 9 <div class="toggleBorder">9 <div wicket:id="border" class="toggleBorder"> 10 10 <div wicket:id="header" class="toggleBorderHeader"> 11 11 <span wicket:id="title">Title</span> -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/border/AjaxToggleBorder.java
r991 r1004 1 1 package eu.clarin.cmdi.virtualcollectionregistry.gui.border; 2 2 3 import org.apache.wicket.ResourceReference; 3 4 import org.apache.wicket.behavior.AttributeAppender; 4 5 import org.apache.wicket.markup.html.WebMarkupContainer; … … 7 8 import org.apache.wicket.model.IModel; 8 9 import org.apache.wicket.model.Model; 9 import org.odlabs.wiquery.core.effects.EffectSpeed; 10 import org.odlabs.wiquery.core.effects.sliding.SlideToggle; 11 import org.odlabs.wiquery.core.events.Event; 12 import org.odlabs.wiquery.core.events.MouseEvent; 13 import org.odlabs.wiquery.core.events.WiQueryEventBehavior; 14 import org.odlabs.wiquery.core.javascript.JsScope; 10 import org.odlabs.wiquery.core.commons.IWiQueryPlugin; 11 import org.odlabs.wiquery.core.commons.WiQueryResourceManager; 15 12 import org.odlabs.wiquery.core.javascript.JsStatement; 16 13 17 14 @SuppressWarnings("serial") 18 public class AjaxToggleBorder extends Border { 19 private final static String COLLAPSED_CLASS = "collapsed"; 15 public class AjaxToggleBorder extends Border implements IWiQueryPlugin { 16 private static final ResourceReference JAVASCRIPT_RESOURCE = 17 new ResourceReference(AjaxToggleBorder.class, "AjaxToggleBorder.js"); 18 private final WebMarkupContainer border; 20 19 21 20 public AjaxToggleBorder(String id, IModel<String> title, … … 24 23 setRenderBodyOnly(true); 25 24 25 border = new WebMarkupContainer("border"); 26 border.setOutputMarkupId(true); 27 26 28 final WebMarkupContainer header = new WebMarkupContainer("header"); 27 add(header);28 29 header.add(new Label("title", title)); 30 border.add(header); 29 31 30 32 final WebMarkupContainer content = new WebMarkupContainer("content"); 31 add(content);32 33 content.setOutputMarkupId(true); 33 34 content.add(getBodyContainer()); 35 border.add(content); 36 add(border); 34 37 35 header.add(new WiQueryEventBehavior(new Event(MouseEvent.CLICK) {36 @Override37 public JsScope callback() {38 final JsScope cb = JsScope.quickScope(new JsStatement()39 .$(header).toggleClass(COLLAPSED_CLASS));40 final SlideToggle effect = new SlideToggle(EffectSpeed.SLOW);41 effect.setCallback(cb);42 return JsScope.quickScope(new JsStatement()43 .$(content).chain(effect));44 }45 }));46 38 if (!expanded) { 47 39 header.add(new AttributeAppender("class", 48 new Model<String>( COLLAPSED_CLASS), " "));40 new Model<String>("collapsed"), " ")); 49 41 content.add(new AttributeAppender("style", 50 42 new Model<String>("display:none"), ";")); … … 64 56 } 65 57 58 @Override 59 public void contribute(WiQueryResourceManager manager) { 60 manager.addJavaScriptResource(JAVASCRIPT_RESOURCE); 61 } 62 63 @Override 64 public JsStatement statement() { 65 return new JsStatement().$(border).append(".ajaxToggleBorder()"); 66 } 67 66 68 } // class AjaxToggleBorder -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/table/ColumnName$ItemCell.html
r976 r1004 6 6 <body> 7 7 <wicket:panel> 8 <div wicket:id="name" class="name"></div> 9 <div wicket:id="details" class="details"> 10 <div wicket:id="desc" class="desc"></div> 11 <ul style="list-style: none; margin: 0; padding: 0;"> 12 <li style="display: inline"><a href="#">[Display]</a></li> 13 <li style="display: inline"><a href="#">[Action1]</a></li> 14 <li style="display: inline"><a href="#">[Action2]</a></li> 15 </ul> 8 <div wicket:id="nameColumn"> 9 <div wicket:id="name" class="name"></div> 10 <div wicket:id="details" class="details"> 11 <div wicket:id="desc" class="desc"></div> 12 <ul style="list-style: none; margin: 0; padding: 0;"> 13 <li style="display: inline"><a href="#">[Display]</a></li> 14 <li style="display: inline"><a href="#">[Action1]</a></li> 15 <li style="display: inline"><a href="#">[Action2]</a></li> 16 </ul> 17 </div> 16 18 </div> 17 19 </wicket:panel> -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/table/ColumnName.java
r976 r1004 1 1 package eu.clarin.cmdi.virtualcollectionregistry.gui.table; 2 2 3 import org.apache.wicket.ResourceReference; 3 4 import org.apache.wicket.behavior.AttributeAppender; 4 5 import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator; … … 12 13 import org.apache.wicket.model.Model; 13 14 import org.apache.wicket.model.ResourceModel; 14 import org.odlabs.wiquery.core.effects.EffectSpeed; 15 import org.odlabs.wiquery.core.effects.sliding.SlideToggle; 16 import org.odlabs.wiquery.core.events.Event; 17 import org.odlabs.wiquery.core.events.MouseEvent; 18 import org.odlabs.wiquery.core.events.WiQueryEventBehavior; 19 import org.odlabs.wiquery.core.javascript.JsScope; 15 import org.odlabs.wiquery.core.commons.IWiQueryPlugin; 16 import org.odlabs.wiquery.core.commons.WiQueryResourceManager; 20 17 import org.odlabs.wiquery.core.javascript.JsStatement; 21 18 … … 24 21 @SuppressWarnings("serial") 25 22 final class ColumnName extends AbstractColumn<VirtualCollection> { 26 private final class ItemCell extends Panel {27 private final static String DETAILS_SHOWN_CLASS = "detailsShown";23 private static final ResourceReference JAVASCRIPT_RESOURCE = 24 new ResourceReference(ColumnName.class, "ColumnName.js"); 28 25 26 private final class ItemCell extends Panel implements IWiQueryPlugin { 27 private final WebMarkupContainer nameColumn; 28 29 29 public ItemCell(String id, IModel<VirtualCollection> model) { 30 30 super(id); 31 31 setRenderBodyOnly(true); 32 33 nameColumn = new WebMarkupContainer("nameColumn"); 34 nameColumn.setOutputMarkupId(true); 32 35 final VirtualCollection vc = model.getObject(); 33 final Label nameLabel = new Label("name", vc.getName()); 34 add(nameLabel); 35 36 nameColumn.add(new Label("name", vc.getName())); 37 36 38 final WebMarkupContainer details = 37 39 new WebMarkupContainer("details"); 38 details.setOutputMarkupId(true);39 40 40 final String desc = vc.getDescription(); 41 41 final MultiLineLabel descLabel = new MultiLineLabel("desc", desc); … … 44 44 } 45 45 details.add(descLabel); 46 add(details); 47 nameLabel.add(new WiQueryEventBehavior(new Event(MouseEvent.CLICK) { 48 @Override 49 public JsScope callback() { 50 final JsScope cb = JsScope.quickScope(new JsStatement() 51 .$(nameLabel).toggleClass(DETAILS_SHOWN_CLASS)); 52 final SlideToggle effect = new SlideToggle(EffectSpeed.SLOW); 53 effect.setCallback(cb); 54 return JsScope.quickScope(new JsStatement() 55 .$(details).chain(effect)); 56 } 57 })); 46 // move to css? 58 47 details.add(new AttributeAppender("style", 59 48 new Model<String>("display:none"), ";")); 49 nameColumn.add(details); 50 add(nameColumn); 60 51 } 52 53 @Override 54 public void contribute(WiQueryResourceManager manager) { 55 manager.addJavaScriptResource(JAVASCRIPT_RESOURCE); 56 } 57 58 @Override 59 public JsStatement statement() { 60 return new JsStatement().$(nameColumn).append(".detailsToggle()"); 61 } 62 61 63 } // class ColumnName.ItemCell 62 64
Note: See TracChangeset
for help on using the changeset viewer.