Mercurial > hg > ismi-richfaces
diff src/main/webapp/merge/referenceMerge.xhtml @ 85:fd7beb701724
working on "merge reference" feature.
author | casties |
---|---|
date | Fri, 30 Sep 2016 14:30:33 +0200 |
parents | |
children | 545e47659e1f |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/webapp/merge/referenceMerge.xhtml Fri Sep 30 14:30:33 2016 +0200 @@ -0,0 +1,379 @@ + +<!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 template="/templates/privateTemplate.xhtml"> + + <ui:define name="privateContent"> + + <div id="pageTitle"> + <h:outputText value="Join References" /> + </div> + + <!-- TODO: fix this! --> + <script type="text/javascript" src="../imageServer/resources/js/diva4ismi.js"></script> + + <h:panelGrid rendered="#{Session.user != null}" + styleClass="mainPanel" columns="1"> + + + + <h:panelGrid columns="2" styleClass="createPanel" + columnClasses="createPanelFirstColumn" id="loadingPanel"> + + <h:outputText value="Load Entities" /> + + <h:panelGrid columns="4"> + + <h:outputText value="Source Biblio ID" + styleClass="textBack"/> + <h:inputText value="#{Session.referenceMerge.firstId}" /> + <a4j:commandButton value="Load" + actionListener="#{Session.referenceMerge.loadFirstEntity}" + render="loadingPanel,mergingPanel" /> + <h:column> + <h:outputText + value="#{Session.referenceMerge.firstEntity.objectClass}= #{Session.referenceMerge.firstEntity.ownValue} [#{Session.referenceMerge.firstEntity.id}]" + rendered="#{!empty Session.referenceMerge.firstEntity}" + styleClass="textBack"/> + </h:column> + + <h:outputText/> + <h:outputText/> + <h:outputText/> + <h:column rendered="#{Session.referenceMerge.firstBibId != null}"> + <script>showBibliographyEntryFormatted("#{Session.referenceMerge.firstBibId}", null, "#bibl-entry-1")</script> + <span class="textBack" id="bibl-entry-1">(loading reference...)</span> + </h:column> + <h:outputText rendered="#{Session.referenceMerge.firstBibId == null}"/> + + <h:outputText value="Target Biblio ID" + styleClass="textBack"/> + <h:inputText value="#{Session.referenceMerge.secondId}" /> + <a4j:commandButton value="Load" + actionListener="#{Session.referenceMerge.loadSecondEntity}" + render="loadingPanel,mergingPanel" /> + <h:column> + <h:outputText + value="#{Session.referenceMerge.secondEntity.objectClass}= #{Session.referenceMerge.secondEntity.ownValue} [#{Session.referenceMerge.secondEntity.id}]" + rendered="#{Session.referenceMerge.secondEntity != null}" + styleClass="textBack"/> + </h:column> + + <h:outputText/> + <h:outputText/> + <h:outputText/> + <h:column rendered="#{Session.referenceMerge.secondBibId != null}"> + <script>showBibliographyEntryFormatted("#{Session.referenceMerge.secondBibId}", null, "#bibl-entry-2")</script> + <span class="textBack" id="bibl-entry-2">(loading reference...)</span> + </h:column> + <h:outputText rendered="#{Session.referenceMerge.secondBibId == null}"/> + + </h:panelGrid> + + </h:panelGrid> + + <h:panelGrid columns="1" id="mergingPanel"> + + <h:outputText value="Merge Mapping" + rendered="#{Session.referenceMerge.entitiesLoaded}" + styleClass="titlePanel"/> + + <h:panelGrid columns="3" styleClass="createPanel" + columnClasses="createPanelFirstColumn,createPanelColumn02,createPanelColumn02" + rendered="#{Session.referenceMerge.entitiesLoaded}"> + + + <h:outputText value="Attributes" /> + <rich:dataTable var="attName" + value="#{Session.referenceMerge.attLabels}" + rendered="#{!empty Session.referenceMerge.attLabels}"> + <h:column> + <f:facet name="header"> + <h:outputText value="Attribute Name" /> + </f:facet> + <h:outputText value="#{attName}" /> + </h:column> + <h:column> + <f:facet name="header"> + <h:outputText value="Value First Entity" /> + </f:facet> + <h:outputText + value="#{Session.referenceMerge.firstAttMap[attName]}" /> + </h:column> + <h:column> + <f:facet name="header"> + <h:outputText value="Value Second Entity" /> + </f:facet> + <h:outputText + value="#{Session.referenceMerge.secondAttMap[attName]}" /> + </h:column> + <h:column style="width:300px;"> + <f:facet name="header"> + <h:outputText value="Select Value" /> + </f:facet> + <h:selectOneRadio + value="#{Session.referenceMerge.selectedAtts[attName]}"> + <f:selectItems value="#{Session.referenceMerge.attSelectItems}" /> + </h:selectOneRadio> + </h:column> + </rich:dataTable> + <h:outputText /> + + <h:outputText value="Source Relations" /> + + <h:panelGrid columns="1"> + <rich:dataTable var="srcRelation" + rendered="#{!empty Session.referenceMerge.firstEntity.sourceRelations}" + value="#{Session.referenceMerge.firstEntity.sourceRelations}"> + + <h:column> + <f:facet name="header"> + <h:outputText value="Relation Name" /> + </f:facet> + <h:outputText value="#{srcRelation.ownValue}" /> + </h:column> + <h:column> + <f:facet name="header"> + <h:outputText value="linked to this" /> + </f:facet> + <h:outputText + value="#{srcRelation.target.ownValue} [#{srcRelation.target.objectClass}-#{srcRelation.targetId}]" /> + </h:column> + + <h:column> + <h:selectOneRadio + value="#{Session.referenceMerge.selectedFirstSrcRelations[srcRelation.id]}"> + <f:selectItems value="#{Session.referenceMerge.relSelectItems}" /> + </h:selectOneRadio> + </h:column> + + </rich:dataTable> + + <h:outputText + value="the first entity does not have source relations" + rendered="#{empty Session.referenceMerge.firstEntity.sourceRelations}" /> + </h:panelGrid> + + <h:panelGrid columns="1"> + + <rich:dataTable var="srcRelation" + rendered="#{!empty Session.referenceMerge.secondEntity.sourceRelations}" + value="#{Session.referenceMerge.secondEntity.sourceRelations}"> + <h:column> + <f:facet name="header"> + <h:outputText value="Relation Name" /> + </f:facet> + <h:outputText value="#{srcRelation.ownValue}" /> + </h:column> + <h:column> + <f:facet name="header"> + <h:outputText value="linked to this" /> + </f:facet> + <h:outputText + value="#{srcRelation.target.ownValue} [#{srcRelation.target.objectClass}-#{srcRelation.targetId}]" /> + </h:column> + <h:column> + <h:selectOneRadio + value="#{Session.referenceMerge.selectedSecondSrcRelations[srcRelation.id]}"> + <f:selectItems value="#{Session.referenceMerge.relSelectItems}" /> + </h:selectOneRadio> + </h:column> + </rich:dataTable> + + <h:outputText + value="The second entity does not have source relations" + rendered="#{empty Session.referenceMerge.secondEntity.sourceRelations}" /> + + </h:panelGrid> + + + <h:outputText value="Target Relations" /> + + <h:panelGrid columns="1"> + <rich:dataTable var="tarRelation" + rendered="#{!empty Session.referenceMerge.firstEntity.targetRelations}" + value="#{Session.referenceMerge.firstEntity.targetRelations}" + style="width:60%;"> + + <h:column> + <f:facet name="header"> + <h:outputText value="linked from this" /> + </f:facet> + <h:outputText + value="#{tarRelation.source.ownValue} [#{tarRelation.source.objectClass}-#{tarRelation.sourceId}]" /> + </h:column> + + <h:column> + <f:facet name="header"> + <h:outputText value="Relation Name" /> + </f:facet> + <h:outputText value="#{tarRelation.ownValue}" /> + </h:column> + + <h:column> + <h:selectOneRadio + value="#{Session.referenceMerge.selectedFirstTarRelations[tarRelation.id]}"> + <f:selectItems value="#{Session.referenceMerge.relSelectItems}" /> + </h:selectOneRadio> + </h:column> + </rich:dataTable> + <h:outputText + value="the first entity does not have target relations." + rendered="#{empty Session.referenceMerge.firstEntity.targetRelations}" /> + </h:panelGrid> + + <h:panelGrid columns="1"> + + <rich:dataTable var="tarRelation" + rendered="#{!empty Session.referenceMerge.secondEntity.targetRelations}" + value="#{Session.referenceMerge.secondEntity.targetRelations}" + style="width:60%;"> + + <h:column> + <f:facet name="header"> + <h:outputText value="linked from this" /> + </f:facet> + <h:outputText + value="#{tarRelation.source.ownValue} [#{tarRelation.source.objectClass}-#{tarRelation.sourceId}]" /> + </h:column> + + <h:column> + <f:facet name="header"> + <h:outputText value="Relation Name" /> + </f:facet> + <h:outputText value="#{tarRelation.ownValue}" /> + </h:column> + + <h:column> + <h:selectOneRadio + value="#{Session.referenceMerge.selectedSecondTarRelations[tarRelation.id]}"> + <f:selectItems value="#{Session.referenceMerge.relSelectItems}" /> + </h:selectOneRadio> + </h:column> + + </rich:dataTable> + + <h:outputText + value="The second entity does not have target relations" + rendered="#{empty Session.referenceMerge.secondEntity.targetRelations}" /> + + </h:panelGrid> + </h:panelGrid> + + <h:panelGrid columns="2" styleClass="controlPanel" + rendered="#{Session.referenceMerge.entitiesLoaded}"> + + <a4j:commandButton value="Preview" + actionListener="#{Session.referenceMerge.preview}" + rendered="#{Session.referenceMerge.entitiesLoaded}" + render="mergingPanel" /> + + <a4j:commandButton value="Execute Merge" + actionListener="#{Session.referenceMerge.listenerExecuteMerge }" + rendered="#{Session.referenceMerge.entitiesLoaded}" + onclick="#{ApplicationBean1.JSConfirmationMerge}" + render="mergingPanel" /> + + </h:panelGrid> + + + <h:outputText value="Entity Preview" + rendered="#{!empty Session.referenceMerge.entResult}" + styleClass="titlePanel"/> + <h:panelGrid columns="2" styleClass="createPanel" + columnClasses="createPanelFirstColumn" + rendered="#{!empty Session.referenceMerge.entResult}"> + + + <h:outputText value="Attributes" /> + <rich:dataTable + value="#{Session.referenceMerge.entResult.attributes}" + var="attribute" border="1"> + <h:column> + <f:facet name="header"> + <h:outputText value="Name" /> + </f:facet> + <h:outputText value="#{attribute.objectClass}" /> + </h:column> + <h:column> + <f:facet name="header"> + <h:outputText value="Value" /> + </f:facet> + <h:outputText value="#{attribute.ownValue}" /> + </h:column> + </rich:dataTable> + + + <h:outputText value="Source Relations" /> + <rich:dataTable + value="#{Session.referenceMerge.entResult.sourceRelations}" + var="srcRelation" border="1"> + + <h:column> + <f:facet name="header"> + <h:outputText value="linked from this" /> + </f:facet> + <h:outputText value="#{'x'}" /> + </h:column> + + <h:column> + <f:facet name="header"> + <h:outputText value="Relation Name" /> + </f:facet> + <h:outputText value="#{srcRelation.ownValue}" /> + </h:column> + <h:column> + <f:facet name="header"> + <h:outputText value="linked to this" /> + </f:facet> + <h:outputText + value="#{srcRelation.target.ownValue} [#{srcRelation.target.objectClass}]" /> + </h:column> + </rich:dataTable> + + <h:outputText value="Target Relations" /> + <rich:dataTable + value="#{Session.referenceMerge.entResult.targetRelations}" + var="tarRelation" border="1"> + <h:column> + <f:facet name="header"> + <h:outputText value="linked from this" /> + </f:facet> + <h:outputText + value="#{tarRelation.source.ownValue} [#{tarRelation.source.objectClass}]" /> + </h:column> + <h:column> + <f:facet name="header"> + <h:outputText value="Relation Name" /> + </f:facet> + <h:outputText value="#{tarRelation.ownValue}" /> + </h:column> + <h:column> + <f:facet name="header"> + <h:outputText value="linked to this" /> + </f:facet> + <h:outputText value="#{'x'}" /> + </h:column> + </rich:dataTable> + + + </h:panelGrid> + + + + </h:panelGrid> + + + + </h:panelGrid> + </ui:define> + </ui:composition> +</body> +</html> \ No newline at end of file