Changeset 1011
- Timestamp:
- 12/22/10 15:21:43 (13 years ago)
- Location:
- VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main
- Files:
-
- 2 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/BrowsePrivateCollectionsPage.java
r993 r1011 18 18 import eu.clarin.cmdi.virtualcollectionregistry.gui.ApplicationSession; 19 19 import eu.clarin.cmdi.virtualcollectionregistry.gui.dialog.ConfirmationDialog; 20 import eu.clarin.cmdi.virtualcollectionregistry.gui.menu.AjaxLinkMenuItem; 21 import eu.clarin.cmdi.virtualcollectionregistry.gui.menu.AjaxPopupMenu; 20 22 import eu.clarin.cmdi.virtualcollectionregistry.gui.table.VirtualCollectionTable; 21 23 import eu.clarin.cmdi.virtualcollectionregistry.model.VirtualCollection; … … 25 27 @SuppressWarnings("serial") 26 28 public class BrowsePrivateCollectionsPage extends BasePage { 29 private class ActionsColumn extends Panel { 30 public ActionsColumn(String id, IModel<VirtualCollection> model) { 31 super(id, model); 32 setRenderBodyOnly(true); 33 34 final AjaxPopupMenu menu = 35 new AjaxPopupMenu("menu", new Model<String>("[actions]")); 36 37 final AjaxLinkMenuItem<VirtualCollection> publishItem = 38 new AjaxLinkMenuItem<VirtualCollection>( 39 new Model<String>("Publish"), model, "publish") { 40 @Override 41 protected void onClick(AjaxRequestTarget target, 42 IModel<VirtualCollection> model) { 43 doPublish(target, model.getObject()); 44 } 45 }; 46 menu.add(publishItem); 47 48 final AjaxLinkMenuItem<VirtualCollection> editItem = 49 new AjaxLinkMenuItem<VirtualCollection>( 50 new Model<String>("Edit"), model, "edit") { 51 @Override 52 protected void onClick(AjaxRequestTarget target, 53 IModel<VirtualCollection> model) { 54 doEdit(target, model.getObject()); 55 } 56 }; 57 menu.add(editItem); 58 59 final AjaxLinkMenuItem<VirtualCollection> deleteItem = 60 new AjaxLinkMenuItem<VirtualCollection>( 61 new Model<String>("Delete"), model, "delete") { 62 @Override 63 protected void onClick(AjaxRequestTarget target, 64 IModel<VirtualCollection> model) { 65 doDelete(target, model.getObject()); 66 } 67 }; 68 menu.add(deleteItem); 69 70 final AjaxLinkMenuItem<VirtualCollection> detailsItem = 71 new AjaxLinkMenuItem<VirtualCollection>( 72 new Model<String>("Details"), model, "details") { 73 @Override 74 protected void onClick(AjaxRequestTarget target, 75 IModel<VirtualCollection> model) { 76 doDetails(target, model); 77 } 78 }; 79 menu.add(detailsItem); 80 add(menu); 81 82 final VirtualCollection vc = model.getObject(); 83 if (vc.isDeleted()) { 84 detailsItem.setVisible(false).setEnabled(false); 85 } 86 if (!vc.isPrivate()) { 87 editItem.setVisible(false).setEnabled(false); 88 publishItem.setVisible(false).setEnabled(false); 89 deleteItem.setVisible(false).setEnabled(false); 90 } 91 } 92 } 93 27 94 private class ActionsPanel extends Panel { 28 95 public ActionsPanel(String id, IModel<VirtualCollection> model) { … … 66 133 add(detailsLink); 67 134 68 VirtualCollection vc = model.getObject();135 final VirtualCollection vc = model.getObject(); 69 136 if (vc.isDeleted()) { 70 137 detailsLink.setVisible(false).setEnabled(false); … … 142 209 final VirtualCollectionTable table = 143 210 new VirtualCollectionTable("collectionsTable", true) { 144 @Override 145 protected Panel createActionPanel(String componentId, 146 IModel<VirtualCollection> model) { 147 return new ActionsPanel(componentId, model); 148 } 211 @Override 212 protected Panel createActionColumn(String componentId, 213 IModel<VirtualCollection> model) { 214 return new ActionsColumn(componentId, model); 215 } 216 217 @Override 218 protected Panel createActionPanel(String componentId, 219 IModel<VirtualCollection> model) { 220 return new ActionsPanel(componentId, model); 221 } 149 222 }; 150 223 add(table); -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/BrowsePublicCollectionsPage.java
r993 r1011 32 32 new VirtualCollectionTable("collectionsTable", false) { 33 33 @Override 34 protected Panel createActionColumn(String componentId, 35 IModel<VirtualCollection> model) { 36 return new ActionsPanel(componentId, model); 37 } 38 39 @Override 34 40 protected Panel createActionPanel(String componentId, 35 41 IModel<VirtualCollection> model) { -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/table/ColumnActions.java
r976 r1011 20 20 public void populateItem(Item<ICellPopulator<VirtualCollection>> item, 21 21 String componentId, IModel<VirtualCollection> model) { 22 item.add(table.createAction Panel(componentId, model));22 item.add(table.createActionColumn(componentId, model)); 23 23 } 24 24 -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/table/ColumnName$ItemCell.html
r1004 r1011 10 10 <div wicket:id="details" class="details"> 11 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> 12 <div class="actions"> 13 <div wicket:id="actionsPanel"></div> 14 </div> 17 15 </div> 18 16 </div> -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/table/ColumnName.java
r1004 r1011 23 23 private static final ResourceReference JAVASCRIPT_RESOURCE = 24 24 new ResourceReference(ColumnName.class, "ColumnName.js"); 25 25 private final VirtualCollectionTable table; 26 26 27 private final class ItemCell extends Panel implements IWiQueryPlugin { 27 28 private final WebMarkupContainer nameColumn; … … 44 45 } 45 46 details.add(descLabel); 47 details.add(table.createActionPanel("actionsPanel", model)); 48 46 49 // move to css? 47 50 details.add(new AttributeAppender("style", … … 65 68 ColumnName(VirtualCollectionTable table) { 66 69 super(new ResourceModel("column.name", "Name"), "name"); 70 this.table = table; 67 71 } 68 72 -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/table/VirtualCollectionTable.java
r987 r1011 4 4 import java.util.List; 5 5 6 import org.apache.wicket.behavior.AttributeAppender; 6 7 import org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxFallbackDefaultDataTable; 7 8 import org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxNavigationToolbar; … … 9 10 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn; 10 11 import org.apache.wicket.markup.html.panel.Panel; 12 import org.apache.wicket.model.AbstractReadOnlyModel; 11 13 import org.apache.wicket.model.IModel; 12 14 import org.apache.wicket.model.Model; … … 18 20 public abstract class VirtualCollectionTable extends Panel { 19 21 20 public VirtualCollectionTable(String id, boolean privateMode) {22 public VirtualCollectionTable(String id, final boolean privateMode) { 21 23 super(id); 22 24 setOutputMarkupId(true); … … 38 40 new AjaxFallbackDefaultDataTable<VirtualCollection>("table", 39 41 columns, provider, 30); 42 table.add(new AttributeAppender("class", 43 new AbstractReadOnlyModel<String>() { 44 @Override 45 public String getObject() { 46 return privateMode ? "private" : "public"; 47 } 48 }, " ")); 40 49 table.addBottomToolbar(new AjaxNavigationToolbar(table)); 41 50 … … 50 59 } 51 60 61 protected abstract Panel createActionColumn(String componentId, 62 IModel<VirtualCollection> model); 63 52 64 protected abstract Panel createActionPanel(String componentId, 53 65 IModel<VirtualCollection> model); -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/webapp/css/vcr.css
r981 r1011 685 685 } 686 686 687 table.collectionsTable th.name, 688 table.collectionsTable td.name { 689 width: 670px; 687 table.collectionsTable.public th.name, 688 table.collectionsTable.public td.name { 689 width: 796px; 690 } 691 692 table.collectionsTable.private th.name, 693 table.collectionsTable.private td.name { 694 width: 736px; 690 695 } 691 696 … … 699 704 background-repeat: no-repeat; 700 705 background-position: center left; 706 cursor: pointer; 701 707 } 702 708 … … 722 728 } 723 729 730 table.collectionsTable td.name div.actions { 731 margin-top: 4px; 732 } 733 734 table.collectionsTable th.state, 735 table.collectionsTable td.state { 736 width: 60px; 737 } 738 739 table.collectionsTable th.type, 740 table.collectionsTable td.type { 741 width: 80px; 742 } 743 724 744 table.collectionsTable th.created, 725 745 table.collectionsTable td.created { 726 width: 100px; 727 } 728 729 table.collectionsTable th.type, 730 table.collectionsTable td.type { 731 width: 100px; 746 width: 80px; 732 747 } 733 748 734 749 table.collectionsTable td.action, 735 750 table.collectionsTable th.action { 736 width: 100px; 751 width: 12px; 752 } 753 754 table.collectionsTable.public td.action span, 755 table.collectionsTable.private td.action div.popupTrigger span { 756 display: none; 757 } 758 759 table.collectionsTable.public td.action a { 760 display: block; 761 width: 12px; 762 height: 12px; 763 margin-right: 2px; 764 background: transparent url('../icons/magnifier.png') no-repeat center center; 765 } 766 767 table.collectionsTable.private td.action div.popupTrigger { 768 display: block; 769 width: 12px; 770 height: 12px; 771 margin-right: 2px; 772 background: transparent url('../icons/wrench.png') no-repeat center center; 737 773 } 738 774 … … 765 801 background-repeat: no-repeat; 766 802 background-position: center left; 803 cursor: pointer; 767 804 } 768 805 … … 805 842 width: 790px; 806 843 } 844 845 div.popupMenu { 846 -moz-box-shadow: 3px 3px 3px #888; 847 -webkit-box-shadow: 3px 3px 3px #888; 848 box-shadow: 3px 3px 3px #888; 849 -moz-border-radius: 4px; 850 border-radius: 4px; 851 } 852 853 div.popupMenu li a { 854 color: #000000; 855 } 856 857 div.popupMenu li a:hover { 858 color: #AE0000; 859 } 860 861 div.popupTrigger span.title { 862 color: #AE0000; 863 }
Note: See TracChangeset
for help on using the changeset viewer.