Repository: isis Updated Branches: refs/heads/master 4672aefa7 -> 8c0aff2f7
ISIS-1330: adding CSS classes for collections and also entity page. Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/1eed4fbc Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/1eed4fbc Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/1eed4fbc Branch: refs/heads/master Commit: 1eed4fbce058f00c07b9e5a781f8963d1f599275 Parents: 4672aef Author: Dan Haywood <d...@haywood-associates.co.uk> Authored: Thu Mar 17 12:28:58 2016 +0000 Committer: Dan Haywood <d...@haywood-associates.co.uk> Committed: Thu Mar 17 12:28:58 2016 +0000 ---------------------------------------------------------------------- .../collection/EntityCollectionPanel.java | 1 + .../StandaloneCollectionPanel.html | 26 ++++++++++-------- .../StandaloneCollectionPanel.java | 28 +++++++++++++++----- .../wicket/ui/pages/entity/EntityPage.java | 10 ++----- 4 files changed, 40 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/isis/blob/1eed4fbc/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java ---------------------------------------------------------------------- diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java index c635ae5..04b31c2 100644 --- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java +++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java @@ -95,6 +95,7 @@ public class EntityCollectionPanel extends PanelAbstract<EntityModel> implements final EntityCollectionModel entityCollectionModel = EntityCollectionModel.createParented(getModel()); CssClassAppender.appendCssClassTo(div, entityCollectionModel.getCollectionMemento().getId()); + CssClassAppender.appendCssClassTo(div, entityCollectionModel.getTypeOfSpecification().getFullIdentifier().replace('.','-')); final OneToManyAssociation association = entityCollectionModel.getCollectionMemento().getCollection(); final ObjectAdapter objectAdapter = getModel().getObject(); http://git-wip-us.apache.org/repos/asf/isis/blob/1eed4fbc/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.html ---------------------------------------------------------------------- diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.html index 43700a9..0f407f5 100644 --- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.html +++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.html @@ -25,21 +25,25 @@ <body> <wicket:panel> - <div wicket:id="actionPromptModalWindow"></div> - <div class="standaloneCollectionPanel actionComponentType panel panel-default"> - <div class="iconAndTitle panel-heading actionPanelHeaderNew"> - <span wicket:id="actionName" class="actionName panel-title">[action name]</span> + <div wicket:id="standaloneCollection"> - <div class="btn-group"> - <div wicket:id="additionalLinks"></div> - </div> + <div wicket:id="actionPromptModalWindow"/> + + <div class="standaloneCollectionPanel actionComponentType panel panel-default"> + <div class="iconAndTitle panel-heading actionPanelHeaderNew"> + <span wicket:id="actionName" class="actionName panel-title">[action name]</span> + + <div class="btn-group"> + <div wicket:id="additionalLinks"></div> + </div> - <div class="pull-right btn-group selectorDropdown"> - <span wicket:id="selectorDropdown"/> + <div class="pull-right btn-group selectorDropdown"> + <span wicket:id="selectorDropdown"/> + </div> </div> - </div> - <div wicket:id="collectionContents" class="panel-body"></div> + <div wicket:id="collectionContents" class="panel-body"></div> + </div> </div> </wicket:panel> http://git-wip-us.apache.org/repos/asf/isis/blob/1eed4fbc/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java ---------------------------------------------------------------------- diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java index d573e2b..4ce6779 100644 --- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java +++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java @@ -20,12 +20,17 @@ package org.apache.isis.viewer.wicket.ui.components.standalonecollection; import java.util.List; + import com.google.common.base.Function; import com.google.common.collect.Lists; + import org.apache.wicket.Component; +import org.apache.wicket.MarkupContainer; import org.apache.wicket.ajax.AjaxRequestTarget; +import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.model.Model; + import org.apache.isis.core.metamodel.adapter.ObjectAdapter; import org.apache.isis.core.metamodel.spec.feature.ObjectAction; import org.apache.isis.viewer.wicket.model.common.OnSelectionHandler; @@ -36,8 +41,8 @@ import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel; import org.apache.isis.viewer.wicket.ui.ComponentFactory; import org.apache.isis.viewer.wicket.ui.ComponentType; import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistry; -import org.apache.isis.viewer.wicket.ui.components.actionprompt.ActionPromptModalWindow; import org.apache.isis.viewer.wicket.ui.components.actionmenu.entityactions.AdditionalLinksPanel; +import org.apache.isis.viewer.wicket.ui.components.actionprompt.ActionPromptModalWindow; import org.apache.isis.viewer.wicket.ui.components.collection.bulk.BulkActionsHelper; import org.apache.isis.viewer.wicket.ui.components.collection.bulk.BulkActionsLinkFactory; import org.apache.isis.viewer.wicket.ui.components.collection.bulk.BulkActionsProvider; @@ -47,12 +52,14 @@ import org.apache.isis.viewer.wicket.ui.components.collection.selector.Collectio import org.apache.isis.viewer.wicket.ui.components.collection.selector.CollectionSelectorProvider; import org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.ObjectAdapterToggleboxColumn; import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract; +import org.apache.isis.viewer.wicket.ui.util.CssClassAppender; public class StandaloneCollectionPanel extends PanelAbstract<EntityCollectionModel> implements CollectionCountProvider, CollectionSelectorProvider, BulkActionsProvider, ActionPromptProvider { private static final long serialVersionUID = 1L; + private static final String ID_STANDALONE_COLLECTION = "standaloneCollection"; private static final String ID_ACTION_NAME = "actionName"; private static final String ID_ACTION_PROMPT_MODAL_WINDOW = "actionPromptModalWindow"; @@ -67,19 +74,28 @@ public class StandaloneCollectionPanel extends PanelAbstract<EntityCollectionMod private boolean additionalLinksAdded; + private MarkupContainer outerDiv = this; + /** * note that the bulk actions components are added in {@link #configureBulkActions(org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.ObjectAdapterToggleboxColumn)}. */ public StandaloneCollectionPanel(final String id, final EntityCollectionModel entityCollectionModel) { super(id, entityCollectionModel); + outerDiv = new WebMarkupContainer(ID_STANDALONE_COLLECTION); + + addOrReplace(outerDiv); + ActionModel actionModel = entityCollectionModel.getActionModelHint(); ObjectAction action = actionModel.getActionMemento().getAction(); - addOrReplace(new Label(StandaloneCollectionPanel.ID_ACTION_NAME, Model.of(action.getName()))); + outerDiv.addOrReplace(new Label(StandaloneCollectionPanel.ID_ACTION_NAME, Model.of(action.getName()))); + + CssClassAppender.appendCssClassTo(outerDiv, action.getOnType().getFullIdentifier().replace('.', '-') + "_" + action.getId()); + CssClassAppender.appendCssClassTo(outerDiv, entityCollectionModel.getTypeOfSpecification().getFullIdentifier().replace('.','-')); // action prompt this.actionPromptModalWindow = ActionPromptModalWindow.newModalWindow(ID_ACTION_PROMPT_MODAL_WINDOW); - addOrReplace(actionPromptModalWindow); + outerDiv.addOrReplace(actionPromptModalWindow); // selector final CollectionSelectorHelper selectorHelper = new CollectionSelectorHelper(entityCollectionModel, getComponentFactoryRegistry()); @@ -100,13 +116,13 @@ public class StandaloneCollectionPanel extends PanelAbstract<EntityCollectionMod componentFactoryModel.setObject(selectedComponentFactory); this.setOutputMarkupId(true); - addOrReplace(selectorDropdownPanel); + outerDiv.addOrReplace(selectorDropdownPanel); this.selectorDropdownPanel = selectorDropdownPanel; } final ComponentFactoryRegistry componentFactoryRegistry = getComponentFactoryRegistry(); - componentFactoryRegistry.addOrReplaceComponent(this, ComponentType.COLLECTION_CONTENTS, entityCollectionModel); + componentFactoryRegistry.addOrReplaceComponent(outerDiv, ComponentType.COLLECTION_CONTENTS, entityCollectionModel); bulkActionsHelper = new BulkActionsHelper(entityCollectionModel); } @@ -168,7 +184,7 @@ public class StandaloneCollectionPanel extends PanelAbstract<EntityCollectionMod } }); - AdditionalLinksPanel.addAdditionalLinks(this, ID_ADDITIONAL_LINKS, links, AdditionalLinksPanel.Style.INLINE_LIST); + AdditionalLinksPanel.addAdditionalLinks(outerDiv, ID_ADDITIONAL_LINKS, links, AdditionalLinksPanel.Style.INLINE_LIST); additionalLinksAdded = true; } http://git-wip-us.apache.org/repos/asf/isis/blob/1eed4fbc/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java ---------------------------------------------------------------------- diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java index 5c5a507..e74f33c 100644 --- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java +++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java @@ -25,7 +25,6 @@ import org.apache.wicket.authroles.authorization.strategies.role.annotations.Aut import org.apache.wicket.event.Broadcast; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.link.BookmarkablePageLink; -import org.apache.wicket.model.AbstractReadOnlyModel; import org.apache.wicket.request.mapper.parameter.PageParameters; import org.apache.wicket.util.string.Strings; @@ -147,13 +146,8 @@ public class EntityPage extends PageAbstract { } WebMarkupContainer entityPageContainer = new WebMarkupContainer("entityPageContainer"); - entityPageContainer.add(new CssClassAppender(new AbstractReadOnlyModel<String>() { - @Override - public String getObject() { - ObjectAdapter adapter = entityModel.getObject(); - return adapter.getObject().getClass().getSimpleName(); - } - })); + CssClassAppender.appendCssClassTo(entityPageContainer, objectSpec.getFullIdentifier().replace('.','-')); + CssClassAppender.appendCssClassTo(entityPageContainer, objectSpec.getCorrespondingClass().getSimpleName()); themeDiv.addOrReplace(entityPageContainer); addChildComponents(entityPageContainer, model);