Mercurial > hg > ismi-richfaces
changeset 169:0b5d02012299 public_by_author
more work on publicByAuthor feature.
author | Robert Casties <casties@mpiwg-berlin.mpg.de> |
---|---|
date | Thu, 31 May 2018 20:26:10 +0200 |
parents | e9ab943ec528 |
children | 8604b368ec19 |
files | src/main/java/de/mpiwg/itgroup/ismi/browse/AbstractEntityRepositoryBean.java src/main/java/de/mpiwg/itgroup/ismi/browse/EntityRepositoryBean.java src/main/java/de/mpiwg/itgroup/ismi/browse/FullEntityRepositoryBean.java src/main/java/de/mpiwg/itgroup/ismi/merge/PublicByAuthorBean.java src/main/webapp/clean/components/findAuthor.xhtml src/main/webapp/clean/components/publicFindAuthor.xhtml src/main/webapp/clean/components/publicShowSubjects.xhtml src/main/webapp/clean/publicByAuthor.xhtml |
diffstat | 8 files changed, 406 insertions(+), 217 deletions(-) [+] |
line wrap: on
line diff
--- a/src/main/java/de/mpiwg/itgroup/ismi/browse/AbstractEntityRepositoryBean.java Wed May 30 20:23:45 2018 +0200 +++ b/src/main/java/de/mpiwg/itgroup/ismi/browse/AbstractEntityRepositoryBean.java Thu May 31 20:26:10 2018 +0200 @@ -22,57 +22,57 @@ private static final long serialVersionUID = 3154642100627969159L; - private static Logger logger = Logger.getLogger(AbstractEntityRepositoryBean.class); + protected static Logger logger = Logger.getLogger(AbstractEntityRepositoryBean.class); public static String MODE_ADVANCED = "advanced"; public static String MODE_ALL = "all"; public static String MODE_NONE = "none"; - private String objectClass = null; - private List<Entity> entities = new ArrayList<Entity>(); - private List<Entity> currentEntities = new ArrayList<Entity>(); + protected String objectClass = null; + protected List<Entity> entities = new ArrayList<Entity>(); + protected List<Entity> currentEntities = new ArrayList<Entity>(); - private List<SelectItem> definitions = new ArrayList<SelectItem>(); + protected List<SelectItem> definitions = new ArrayList<SelectItem>(); - private transient DataPaginator advancedPaginator = new DataPaginator(); + protected transient DataPaginator advancedPaginator = new DataPaginator(); - private String ocTerm; - private String currentTab; + protected String ocTerm; + protected String currentTab; - private String textFullTitle; - private String textFullTitleTranslit; - private String textShortTitle; + protected String textFullTitle; + protected String textFullTitleTranslit; + protected String textShortTitle; - private String personName; - private String personNameTranslit; + protected String personName; + protected String personNameTranslit; - private String codexIdentifier; + protected String codexIdentifier; - private String collectionName; + protected String collectionName; - private String placeName; - private String placeType; + protected String placeName; + protected String placeType; - private String aliasAlias; + protected String aliasAlias; - private String repositoryName; + protected String repositoryName; - private String witnessFullTitle; - private String witnessFullTitleTranslit; - private String witnessAhlwardtNo; + protected String witnessFullTitle; + protected String witnessFullTitleTranslit; + protected String witnessAhlwardtNo; - private boolean advancedSearch = false; - private String resultMode = MODE_NONE; - private String resultSummaryMsg; + protected boolean advancedSearch = false; + protected String resultMode = MODE_NONE; + protected String resultSummaryMsg; - private String subjectType; - private List<SelectItem> suggestedSubjectTypes = new ArrayList<SelectItem>(); + protected String subjectType; + protected List<SelectItem> suggestedSubjectTypes = new ArrayList<SelectItem>(); - private String referenceBibIdNo; + protected String referenceBibIdNo; - private String page; - private String pageMsg; + protected String page; + protected String pageMsg; public static String main_subject = "main_subject"; public static String sub_subject = "sub_subject"; @@ -87,7 +87,7 @@ /** * Put the current subset of this.entites in this.currentEntities. */ - private void updateAdvancedEntities() { + protected void updateAdvancedEntities() { if (StringUtils.isNotEmpty(getObjectClass())) { this.advancedPaginator.initCount(); int startRecord = this.advancedPaginator.getCurrentPage() * this.advancedPaginator.getItemsPerPage();
--- a/src/main/java/de/mpiwg/itgroup/ismi/browse/EntityRepositoryBean.java Wed May 30 20:23:45 2018 +0200 +++ b/src/main/java/de/mpiwg/itgroup/ismi/browse/EntityRepositoryBean.java Thu May 31 20:26:10 2018 +0200 @@ -23,7 +23,7 @@ private static final long serialVersionUID = -2380877853539157567L; - private transient DataPaginator paginator = new DataPaginator(); + protected transient DataPaginator paginator = new DataPaginator(); public EntityRepositoryBean(){ super(); @@ -36,7 +36,7 @@ } - private void updateEntities() { + protected void updateEntities() { if (StringUtils.isNotEmpty(getObjectClass())) { this.paginator.initCount(); int startRecord = this.paginator.getCurrentPage() * this.paginator.getItemsPerPage();
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/de/mpiwg/itgroup/ismi/browse/FullEntityRepositoryBean.java Thu May 31 20:26:10 2018 +0200 @@ -0,0 +1,55 @@ +package de.mpiwg.itgroup.ismi.browse; + +import java.util.ArrayList; + +import org.apache.commons.lang.StringUtils; +import org.mpi.openmind.cache.WrapperService; +import org.mpi.openmind.repository.bo.Entity; + +/** + * EntityRepositoryBean for full Entities with Attributes and Relations loaded. + * + * @author casties + * + */ +public class FullEntityRepositoryBean extends EntityRepositoryBean { + + private static final long serialVersionUID = 8022526185079972610L; + + /* (non-Javadoc) + * @see de.mpiwg.itgroup.ismi.browse.AbstractEntityRepositoryBean#updateAdvancedEntities() + */ + @Override + protected void updateAdvancedEntities() { + if (StringUtils.isNotEmpty(getObjectClass())) { + this.advancedPaginator.initCount(); + int startRecord = this.advancedPaginator.getCurrentPage() * this.advancedPaginator.getItemsPerPage(); + if ((this.advancedPaginator.getCurrentPage() + 1) == this.advancedPaginator.getNumberOfPages()) { + int mod = this.entities.size() % advancedPaginator.getItemsPerPage(); + if (mod == 0) { + this.currentEntities = entities.subList(startRecord, + startRecord + this.advancedPaginator.getItemsPerPage()); + } else { + this.currentEntities = entities.subList(startRecord, startRecord + mod); + } + + } else { + this.currentEntities = entities.subList(startRecord, + startRecord + this.advancedPaginator.getItemsPerPage()); + } + } else { + // empty object_class + this.currentEntities = new ArrayList<Entity>(); + } + // make sure all entities are loaded + WrapperService store = getWrapper(); + for (Entity ent : this.currentEntities) { + if (ent.isLightweight()) { + store.getEntityContent(ent); + } + } + } + + + +}
--- a/src/main/java/de/mpiwg/itgroup/ismi/merge/PublicByAuthorBean.java Wed May 30 20:23:45 2018 +0200 +++ b/src/main/java/de/mpiwg/itgroup/ismi/merge/PublicByAuthorBean.java Thu May 31 20:26:10 2018 +0200 @@ -1,13 +1,18 @@ package de.mpiwg.itgroup.ismi.merge; import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; import javax.faces.event.ActionEvent; import javax.faces.event.ValueChangeEvent; import org.apache.log4j.Logger; +import org.mpi.openmind.repository.bo.Entity; +import org.mpi.openmind.repository.bo.Relation; import de.mpiwg.itgroup.ismi.browse.EntityRepositoryBean; +import de.mpiwg.itgroup.ismi.browse.FullEntityRepositoryBean; import de.mpiwg.itgroup.ismi.entry.beans.AbstractISMIBean; public class PublicByAuthorBean extends AbstractISMIBean implements Serializable{ @@ -17,8 +22,13 @@ private static final long serialVersionUID = 1L; private String findAuthorName = ""; - private long timeExecution; - + protected Long selectedPersonId = 0l; + + protected Entity selectedPerson; + protected List<Entity> selectedPersonTexts; + protected List<Entity> selectedPersonSubjects; + + private EntityRepositoryBean browseBean; @@ -29,34 +39,49 @@ public void reset(){ //logger.info("AdvancedSearchBean.reset()"); - browseBean = new EntityRepositoryBean(); + browseBean = new FullEntityRepositoryBean(); browseBean.setObjectClass("PERSON"); - } - - public void listenerChange(ValueChangeEvent event){ - /* - logger.info(event.getOldValue()); - logger.info(event.getNewValue()); - */ + + selectedPersonTexts = new ArrayList<Entity>(); } - public void listenerFindAuthorSearch(ActionEvent event){ - try { - long start = System.currentTimeMillis(); - this.search(); - long end = System.currentTimeMillis(); - this.timeExecution = end - start; - logger.info(toString() + " time execution=" + (timeExecution)); - } catch (Exception e) { - logger.error(e.getMessage(), e); - printInternalError(e); - } + public void listenerAuthorIdSearch(ActionEvent event) { + setSelectedPersonById(); + } + private void setSelectedPersonById() { + Entity ent = getWrapper().getEntityById(selectedPersonId); + if (ent != null) { + ent = getWrapper().getEntityContent(ent); + selectedPerson = ent; + updateSelectedPerson(); + } + } + + + + public void updateSelectedPerson() { + // load all texts by this author + selectedPersonTexts = new ArrayList<Entity>(); + List<Relation> textRels = selectedPerson.getTargetRelations("was_created_by", "TEXT"); + for (Relation rel : textRels) { + Long textID = rel.getSourceId(); + Entity text = getWrapper().getEntityByIdWithContent(textID); + selectedPersonTexts.add(text); + } } + public String actionSelectPerson() { + Entity entity = (Entity) getRequestBean("entity"); + selectedPersonId = entity.getId(); + setSelectedPersonById(); + // switch tab + getSessionBean().setSelectedPublicByAuthorTab("02"); + return null; + } - public String actionSearch(){ + public String actionSearch(){ this.search(); return null; } @@ -90,4 +115,45 @@ return browseBean; } + /** + * @return the selectedPersonId + */ + public long getSelectedPersonId() { + return selectedPersonId; + } + + /** + * @param selectedPersonId the selectedPersonId to set + */ + public void setSelectedPersonId(long selectedPersonId) { + this.selectedPersonId = selectedPersonId; + } + /** + * @return the selectedPerson + */ + public Entity getSelectedPerson() { + return selectedPerson; + } + + /** + * @return the selectedPersonTexts + */ + public List<Entity> getSelectedPersonTexts() { + return selectedPersonTexts; + } + + /** + * @return the selectedPersonSubjects + */ + public List<Entity> getSelectedPersonSubjects() { + return selectedPersonSubjects; + } + + /** + * @param selectedPersonId the selectedPersonId to set + */ + public void setSelectedPersonId(Long selectedPersonId) { + this.selectedPersonId = selectedPersonId; + } + }
--- a/src/main/webapp/clean/components/findAuthor.xhtml Wed May 30 20:23:45 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,157 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" - xmlns:h="http://java.sun.com/jsf/html" - xmlns:f="http://java.sun.com/jsf/core" - xmlns:ui="http://java.sun.com/jsf/facelets" - xmlns:a4j="http://richfaces.org/a4j" - xmlns:rich="http://richfaces.org/rich"> - -<body> - <ui:composition> - - - - <h:panelGrid columns="2" styleClass="displayPanel" - columnClasses="displayPanelColumn01,displayPanelColumn02"> - - <h:panelGrid columns="1"> - <h:outputLabel value="Person name" /> - <h:outputLabel value="(name_translit)" /> - </h:panelGrid> - <h:inputText value="#{Session.publicByAuthor.browseBean.personNameTranslit}" /> - - <a4j:commandButton value="show all" - actionListener="#{Session.publicByAuthor.listenerAllAuthorSearch}" - render="selectPersonPanel" /> - - <a4j:commandButton value="search" - actionListener="#{Session.publicByAuthor.browseBean.actionSearchByAttributes}" - render="selectPersonPanel" /> - - - </h:panelGrid> - - <h:panelGrid id="selectPersonPanel" columns="1" - style="margin-left: auto; margin-right: auto; text-align: center; width: 100%;" - > - - - <h:outputText - value="#{Session.publicByAuthor.browseBean.resultSummaryMsg}" - rendered="#{!empty Session.publicByAuthor.browseBean.resultSummaryMsg}" - styleClass="sumaryMsg" /> - - <h:column - rendered="#{!empty Session.publicByAuthor.browseBean.entities}"> - <h:outputText value="go to page" styleClass="sumaryMsg" /> - <h:inputText value="#{Session.publicByAuthor.browseBean.page}" - size="4" /> - <h:commandButton value="submit" - actionListener="#{Session.publicByAuthor.browseBean.actionGoToPageAdvancedResult}" /> - <h:outputText value=" #{Session.publicByAuthor.browseBean.pageMsg}" - rendered="#{!empty Session.publicByAuthor.browseBean.pageMsg}" - style="color:red" /> - </h:column> - - - <h:column - rendered="#{!empty Session.publicByAuthor.browseBean.entities}"> - <h:panelGroup> - <h:commandButton - image="/resources/css/xp/css-images/arrow-first.gif" - style="border:none;" title="First Page" - action="#{Session.publicByAuthor.browseBean.advancedFirst}" /> - - <h:commandButton image="/resources/css/xp/css-images/arrow-fr.gif" - style="border:none;" title="Fast Backwards" - action="#{Session.publicByAuthor.browseBean.advancedFastRewind}" /> - - <h:commandButton - image="/resources/css/xp/css-images/arrow-previous.gif" - style="border:none;" title="Previous Page" - action="#{Session.publicByAuthor.browseBean.advancedPrevious}" /> - - <h:outputText - value="#{Session.publicByAuthor.browseBean.advancedPaginator.recordStatus}" - styleClass="sumaryMsg" /> - - <h:commandButton - image="/resources/css/xp/css-images/arrow-next.gif" - style="border:none;" title="Next Page" - action="#{Session.publicByAuthor.browseBean.advancedNext}" /> - - <h:commandButton image="/resources/css/xp/css-images/arrow-ff.gif" - style="border:none;" title="Fast Forward" - action="#{Session.publicByAuthor.browseBean.advancedFastForward}" /> - - <h:commandButton - image="/resources/css/xp/css-images/arrow-last.gif" - style="border:none;" title="Last Page" - action="#{Session.publicByAuthor.browseBean.advancedLast}" /> - </h:panelGroup> - </h:column> - - <rich:dataTable id="advancedDataTable" rows="10" - value="#{Session.publicByAuthor.browseBean.currentEntities}" - rendered="#{!empty Session.publicByAuthor.browseBean.currentEntities}" - var="entity" styleClass="rsPanel" columnClasses="rsPanelColumn"> - <h:column> - <h:outputText value="[#{entity.objectClass}] " /> - <h:outputLink - value="#{ApplicationBean1.root}/browse/entityDetails.xhtml?eid=#{entity.id}"> - <h:outputText - value="#{entity.ownValue} - [#{entity.id}, #{entity.privacity}]" /> - </h:outputLink> - <h:commandButton - action="#{Session.publicByAuthor.browseBean.actionEdit}" - rendered="#{Session.canEdit}" - image="/resources/css/xp/css-images//edit16.gif" - title="Edit this entity" /> - </h:column> - </rich:dataTable> - - <h:column - rendered="#{!empty Session.publicByAuthor.browseBean.entities}"> - <h:panelGroup> - <h:commandButton - image="/resources/css/xp/css-images/arrow-first.gif" - style="border:none;" title="First Page" - action="#{Session.publicByAuthor.browseBean.advancedFirst}" /> - - <h:commandButton image="/resources/css/xp/css-images/arrow-fr.gif" - style="border:none;" title="Fast Backwards" - action="#{Session.publicByAuthor.browseBean.advancedFastRewind}" /> - - <h:commandButton - image="/resources/css/xp/css-images/arrow-previous.gif" - style="border:none;" title="Previous Page" - action="#{Session.publicByAuthor.browseBean.advancedPrevious}" /> - - <h:outputText - value="#{Session.publicByAuthor.browseBean.advancedPaginator.recordStatus}" - styleClass="sumaryMsg" /> - - <h:commandButton - image="/resources/css/xp/css-images/arrow-next.gif" - style="border:none;" title="Next Page" - action="#{Session.publicByAuthor.browseBean.advancedNext}" /> - - <h:commandButton image="/resources/css/xp/css-images/arrow-ff.gif" - style="border:none;" title="Fast Forward" - action="#{Session.publicByAuthor.browseBean.advancedFastForward}" /> - - <h:commandButton - image="/resources/css/xp/css-images/arrow-last.gif" - style="border:none;" title="Last Page" - action="#{Session.publicByAuthor.browseBean.advancedLast}" /> - </h:panelGroup> - </h:column> - - - </h:panelGrid> - - - - </ui:composition> -</body> -</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/webapp/clean/components/publicFindAuthor.xhtml Thu May 31 20:26:10 2018 +0200 @@ -0,0 +1,173 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" + xmlns:h="http://java.sun.com/jsf/html" + xmlns:f="http://java.sun.com/jsf/core" + xmlns:ui="http://java.sun.com/jsf/facelets" + xmlns:a4j="http://richfaces.org/a4j" + xmlns:rich="http://richfaces.org/rich"> + +<body> + <ui:composition> + + <!-- <h:outputStylesheet name="/css/ismi-db/repository.css" /> --> + + + + <h:panelGrid columns="2" styleClass="displayPanel" + columnClasses="displayPanelColumn01,displayPanelColumn02"> + + <h:panelGrid columns="1"> + <h:outputLabel value="Person name" /> + <h:outputLabel value="(name_translit)" /> + </h:panelGrid> + <h:inputText value="#{Session.publicByAuthor.browseBean.personNameTranslit}" /> + + <a4j:commandButton value="show all" + actionListener="#{Session.publicByAuthor.listenerAllAuthorSearch}" + render="selectPersonPanel" /> + + <a4j:commandButton value="search" + actionListener="#{Session.publicByAuthor.browseBean.actionSearchByAttributes}" + render="selectPersonPanel" /> + + + </h:panelGrid> + + <h:panelGrid id="selectPersonPanel" columns="1" + style="margin-left: auto; margin-right: auto; text-align: center; width: 100%;" + > + + + <h:outputText + value="#{Session.publicByAuthor.browseBean.resultSummaryMsg}" + rendered="#{!empty Session.publicByAuthor.browseBean.resultSummaryMsg}" + styleClass="sumaryMsg" /> + + <h:column + rendered="#{!empty Session.publicByAuthor.browseBean.entities}"> + <h:outputText value="go to page" styleClass="sumaryMsg" /> + <h:inputText value="#{Session.publicByAuthor.browseBean.page}" + size="4" /> + <h:commandButton value="submit" + actionListener="#{Session.publicByAuthor.browseBean.actionGoToPageAdvancedResult}" /> + <h:outputText value=" #{Session.publicByAuthor.browseBean.pageMsg}" + rendered="#{!empty Session.publicByAuthor.browseBean.pageMsg}" + style="color:red" /> + </h:column> + + + <h:column + rendered="#{!empty Session.publicByAuthor.browseBean.entities}"> + <h:panelGroup> + <h:commandButton + image="/resources/css/xp/css-images/arrow-first.gif" + style="border:none;" title="First Page" + action="#{Session.publicByAuthor.browseBean.advancedFirst}" /> + + <h:commandButton image="/resources/css/xp/css-images/arrow-fr.gif" + style="border:none;" title="Fast Backwards" + action="#{Session.publicByAuthor.browseBean.advancedFastRewind}" /> + + <h:commandButton + image="/resources/css/xp/css-images/arrow-previous.gif" + style="border:none;" title="Previous Page" + action="#{Session.publicByAuthor.browseBean.advancedPrevious}" /> + + <h:outputText + value="#{Session.publicByAuthor.browseBean.advancedPaginator.recordStatus}" + styleClass="sumaryMsg" /> + + <h:commandButton + image="/resources/css/xp/css-images/arrow-next.gif" + style="border:none;" title="Next Page" + action="#{Session.publicByAuthor.browseBean.advancedNext}" /> + + <h:commandButton image="/resources/css/xp/css-images/arrow-ff.gif" + style="border:none;" title="Fast Forward" + action="#{Session.publicByAuthor.browseBean.advancedFastForward}" /> + + <h:commandButton + image="/resources/css/xp/css-images/arrow-last.gif" + style="border:none;" title="Last Page" + action="#{Session.publicByAuthor.browseBean.advancedLast}" /> + </h:panelGroup> + </h:column> + + <rich:dataTable id="advancedDataTable" rows="10" + value="#{Session.publicByAuthor.browseBean.currentEntities}" + rendered="#{!empty Session.publicByAuthor.browseBean.currentEntities}" + var="entity" styleClass="rsPanel" columnClasses="rsPanelColumn"> + <h:column style="text-align:left"> + <f:facet name="header">MAMS</f:facet> + <h:outputText value="#{entity.getAttributeByName('mams_number').getValue()}" /> + </h:column> + <h:column style="text-align:left"> + <f:facet name="header">Person</f:facet> + <h:commandLink + rerender="tabPanel" + action="#{Session.publicByAuthor.actionSelectPerson}"> + <h:outputText + value="#{entity.ownValue}" /> + </h:commandLink> + <h:outputLink + value="#{ApplicationBean1.root}/browse/entityDetails.xhtml?eid=#{entity.id}"> + <h:outputText + value=" - [#{entity.id}]" /> + </h:outputLink> + <h:commandButton + action="#{Session.publicByAuthor.browseBean.actionEdit}" + rendered="#{Session.canEdit}" + image="/resources/css/xp/css-images/edit16.gif" + title="Edit this entity" /> + </h:column> + <h:column style="text-align:left"> + <f:facet name="header">State</f:facet> + <h:outputText value="#{entity.privacity}" /> + </h:column> + </rich:dataTable> + + <h:column + rendered="#{!empty Session.publicByAuthor.browseBean.entities}"> + <h:panelGroup> + <h:commandButton + image="/resources/css/xp/css-images/arrow-first.gif" + style="border:none;" title="First Page" + action="#{Session.publicByAuthor.browseBean.advancedFirst}" /> + + <h:commandButton image="/resources/css/xp/css-images/arrow-fr.gif" + style="border:none;" title="Fast Backwards" + action="#{Session.publicByAuthor.browseBean.advancedFastRewind}" /> + + <h:commandButton + image="/resources/css/xp/css-images/arrow-previous.gif" + style="border:none;" title="Previous Page" + action="#{Session.publicByAuthor.browseBean.advancedPrevious}" /> + + <h:outputText + value="#{Session.publicByAuthor.browseBean.advancedPaginator.recordStatus}" + styleClass="sumaryMsg" /> + + <h:commandButton + image="/resources/css/xp/css-images/arrow-next.gif" + style="border:none;" title="Next Page" + action="#{Session.publicByAuthor.browseBean.advancedNext}" /> + + <h:commandButton image="/resources/css/xp/css-images/arrow-ff.gif" + style="border:none;" title="Fast Forward" + action="#{Session.publicByAuthor.browseBean.advancedFastForward}" /> + + <h:commandButton + image="/resources/css/xp/css-images/arrow-last.gif" + style="border:none;" title="Last Page" + action="#{Session.publicByAuthor.browseBean.advancedLast}" /> + </h:panelGroup> + </h:column> + + + </h:panelGrid> + + + + </ui:composition> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/webapp/clean/components/publicShowSubjects.xhtml Thu May 31 20:26:10 2018 +0200 @@ -0,0 +1,49 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" + xmlns:h="http://java.sun.com/jsf/html" + xmlns:f="http://java.sun.com/jsf/core" + xmlns:ui="http://java.sun.com/jsf/facelets" + xmlns:a4j="http://richfaces.org/a4j" + xmlns:rich="http://richfaces.org/rich"> + +<body> + <ui:composition> + + <!-- <h:outputStylesheet name="/css/ismi-db/repository.css" /> --> + + + + <h:panelGrid columns="3" styleClass="displayPanel" + columnClasses="displayPanelColumn01,displayPanelColumn02"> + + <h:outputLabel value="Person ID" /> + <h:inputText value="#{Session.publicByAuthor.selectedPersonId}" /> + <h:outputText value="#{Session.publicByAuthor.selectedPerson.ownValue}" /> + + <a4j:commandButton value="search" + actionListener="#{Session.publicByAuthor.listenerAuthorIdSearch}" + render="selectSubjectPanel" /> + + </h:panelGrid> + + <h:panelGrid id="selectSubjectPanel" columns="1" + style="margin-left: auto; margin-right: auto; text-align: center; width: 100%;" + > + <rich:dataTable + rendered="#{!empty Session.publicByAuthor.selectedPersonTexts}" + value="#{Session.publicByAuthor.selectedPersonTexts}" var="titleItem" + styleClass="select"> + <rich:column> + <div>#{titleItem.ownValue}</div> + </rich:column> + </rich:dataTable> + + + + </h:panelGrid> + + + + </ui:composition> +</body> +</html>
--- a/src/main/webapp/clean/publicByAuthor.xhtml Wed May 30 20:23:45 2018 +0200 +++ b/src/main/webapp/clean/publicByAuthor.xhtml Thu May 31 20:26:10 2018 +0200 @@ -9,10 +9,10 @@ <body> <ui:composition template="/templates/privateTemplate.xhtml"> + <h:outputStylesheet name="/css/ismi-db/repository.css" /> + <ui:define name="privateContent"> - <h:outputStylesheet name="/css/ismi-db/display.css" /> - <div id="pageTitle"> <h:outputText value="Public by Author Form" /> </div> @@ -20,14 +20,17 @@ <h:panelGrid columns="1" styleClass="mainPanel"> - <rich:tabPanel + <rich:tabPanel id="tabPanel" activeItem="#{Session.selectedPublicByAuthorTab}" itemChangeListener="#{Session.listenerPublicByAuthorTabChange}"> - <rich:tab header="Public by Author" name="01"> - <ui:include src="components/findAuthor.xhtml" /> + <rich:tab header="Find Author" name="01"> + <ui:include src="components/publicFindAuthor.xhtml" /> </rich:tab> + <rich:tab header="Select Subject" name="02"> + <ui:include src="components/publicShowSubjects.xhtml" /> + </rich:tab> </rich:tabPanel> </h:panelGrid>