branch feature/8180 updated (aec1002 -> 9df8d02)
This is an automated email from the git hooks/post-receive script. New change to branch feature/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git from aec1002 Add support to display a mooring new e18c828 Add support to display a mooring new 9df8d02 Toggle visibility between voyages and morings The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 9df8d02db4e86a7bd4f151331111e890e036c961 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Thu Jun 23 16:31:15 2016 +0200 Toggle visibility between voyages and morings commit e18c8288b532eca8c39cc70b18531569221b2f72 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Thu Jun 23 14:27:47 2016 +0200 Add support to display a mooring Summary of changes: .../services/service/UserDbPersistenceService.java | 9 + .../echobase/ui/actions/workingDb/GetVoyage.java | 15 +- .../resources/i18n/echobase-ui_en_GB.properties | 2 + .../resources/i18n/echobase-ui_fr_FR.properties | 2 + .../webapp/WEB-INF/jsp/workingDb/dashboard.jsp | 291 +++++++++++---------- echobase-ui/src/main/webapp/css/screen.css | 2 +- 6 files changed, 178 insertions(+), 143 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit e18c8288b532eca8c39cc70b18531569221b2f72 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Thu Jun 23 14:27:47 2016 +0200 Add support to display a mooring --- .../services/service/UserDbPersistenceService.java | 9 ++ .../echobase/ui/actions/workingDb/GetVoyage.java | 15 +- .../webapp/WEB-INF/jsp/workingDb/dashboard.jsp | 177 +++++++++------------ 3 files changed, 101 insertions(+), 100 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java index 68e9f52..288a9c3 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java @@ -74,6 +74,7 @@ import fr.ifremer.echobase.entities.references.Gear; import fr.ifremer.echobase.entities.references.GearMetadata; import fr.ifremer.echobase.entities.references.Mission; import fr.ifremer.echobase.entities.references.OperationMetadata; +import fr.ifremer.echobase.entities.references.Port; import fr.ifremer.echobase.entities.references.SampleDataType; import fr.ifremer.echobase.entities.references.SampleType; import fr.ifremer.echobase.entities.references.SexCategory; @@ -711,6 +712,14 @@ public class UserDbPersistenceService extends EchoBaseServiceSupport { } //------------------------------------------------------------------------// + //--- Port ---------------------------------------------------------------// + //------------------------------------------------------------------------// + + public Port getPort(String id) { + return persistenceContext.getPortDao().forTopiaIdEquals(id).findUnique(); + } + + //------------------------------------------------------------------------// //--- AcousticInstrument -------------------------------------------------// //------------------------------------------------------------------------// diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetVoyage.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetVoyage.java index 8ec9d16..b9e525a 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetVoyage.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetVoyage.java @@ -26,6 +26,7 @@ import fr.ifremer.echobase.entities.ImportLog; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.AreaOfOperation; import fr.ifremer.echobase.entities.references.Mission; +import fr.ifremer.echobase.entities.references.Port; import fr.ifremer.echobase.services.service.DbEditorService; import fr.ifremer.echobase.services.service.DecoratorService; import fr.ifremer.echobase.services.service.UserDbPersistenceService; @@ -65,12 +66,22 @@ public class GetVoyage extends EchoBaseActionSupport { data = dbEditorService.getData(tableMeta, voyageId); // decorate foreign keys - Mission mission = userDbPersistenceService.getMission((String) data.get(Voyage.PROPERTY_MISSION)); + String missionId = (String) data.get(Voyage.PROPERTY_MISSION); + Mission mission = userDbPersistenceService.getMission(missionId); decoratorService.decorateForeignKey(data, Voyage.PROPERTY_MISSION, mission, null); - AreaOfOperation areaOfOperation = userDbPersistenceService.getAreaOfOperation((String) data.get(Voyage.PROPERTY_AREA_OF_OPERATION)); + String areaOfOperationId = (String) data.get(Voyage.PROPERTY_AREA_OF_OPERATION); + AreaOfOperation areaOfOperation = userDbPersistenceService.getAreaOfOperation(areaOfOperationId); decoratorService.decorateForeignKey(data, Voyage.PROPERTY_AREA_OF_OPERATION, areaOfOperation, null); + String startPortId = (String) data.get(Voyage.PROPERTY_START_PORT); + Port startPort = userDbPersistenceService.getPort(startPortId); + decoratorService.decorateForeignKey(data, Voyage.PROPERTY_START_PORT, startPort, null); + + String endPortId = (String) data.get(Voyage.PROPERTY_END_PORT); + Port endPort = userDbPersistenceService.getPort(endPortId); + decoratorService.decorateForeignKey(data, Voyage.PROPERTY_END_PORT, endPort, null); + return SUCCESS; } diff --git a/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/dashboard.jsp b/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/dashboard.jsp index a2bbd38..3be2aa4 100644 --- a/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/dashboard.jsp +++ b/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/dashboard.jsp @@ -42,9 +42,11 @@ async:false, dataType:"json", success:function (data, textStatus) { - - $('.noImportLogDetail').hide(); - $('.importLogDetail').show(); + + $('#voyageDetail').hide(); + $('#mooringDetail').hide(); + $('#importLogDetail').show(); + var json = data.data; $('#importLogEntity').html(json['entityName']); @@ -86,7 +88,6 @@ exportResult = "<s:text name='echobase.message.noImportFilesFound'/>"; } $('#exportLogFiles').html(exportResult); - } }); } @@ -103,11 +104,15 @@ $('#voyageMission').html(json['mission_lbl']); $('#voyageAreaOfOperation').html(json['areaOfOperation_lbl']); - $('#voyageStartEndPort').html(json['startPort'] + " - " + json['endPort']); + $('#voyageStartEndPort').html(json['startPort_lbl'] + " - " + json['endPort_lbl']); $('#voyageStartEndDate').html(json['startDate'] + " - " + json['endDate']); $('#voyageDatum').html(json['datum']); $('#voyageName').html(json['name']); $('#voyageDescription').html(json['description']); + + $('#voyageDetail').show(); + $('#mooringDetail').hide(); + $('#importLogDetail').show(); } }); return false; @@ -126,6 +131,10 @@ $('#mooringMission').html(json['mission_lbl']); $('#mooringCode').html(json['code']); $('#mooringDescription').html(json['description']); + + $('#voyageDetail').hide(); + $('#mooringDetail').show(); + $('#importLogDetail').show(); } }); return false; @@ -138,9 +147,8 @@ $(cellvalue).each(function () { var importId = this; var val = importMapping[importId]; - result += "<li><a href='#' title='${importTooltip}' " + - "onclick='loadImportLogDetail(\"" + importId + "\", \"" + entityId + "\")' " + - "class='fontsize11'>" + val + "</a></li>"; + result += "<li onclick='loadImportLogDetail(\"" + importId + "\", \"" + entityId + "\")' " + + "class='fontsize11'>" + val + "</li>"; }); result += "</ul>"; return result; @@ -150,28 +158,31 @@ return rowObject.id_lbl; } - jQuery(document).ready(function () { + jQuery(document).ready(function () { + $('#voyageDetail').hide(); + $('#mooringDetail').hide(); + $('#importLogDetail').hide(); + + var lastEntityId = null; + // display voyage infos $.addRowSelectTopic('voyages', function () { var voyageId = $("tr[aria-selected=true] td[aria-describedby='voyages_id']").text(); - loadVoyageDetail(voyageId); + if (lastEntityId !== voyageId) { + loadVoyageDetail(voyageId); + } + lastEntityId = voyageId; }); // display mooring infos $.addRowSelectTopic('moorings', function () { var mooringId = $("tr[aria-selected=true] td[aria-describedby='moorings_id']").text(); - loadMooringDetail(mooringId); + if (lastEntityId !== mooringId) { + loadMooringDetail(mooringId); + } + lastEntityId = mooringId; }); - -// $.addClearSelectTopic('voyages', function (event) { -// -// $('.noImportLogDetail').show(); -// $('.importLogDetail').hide(); -// $('#noVoyageDetail').show(); -// $('#voyageDetail').hide(); -// }); -// $.addEvenAndOddClasses('voyages'); }); </script> @@ -222,16 +233,10 @@ </sjg:grid> <br/> -<fieldset> +<fieldset id="voyageDetail"> <legend><s:text name="echobase.title.voyage.detail"/></legend> - <div id="noVoyageDetail"> - <pre> - <s:text name="echobase.message.noVoyageSelected"/> - </pre> - </div> - <div id="voyageDetail"> - + <div> <s:label key='echobase.common.name' value=''/> <pre id='voyageName' style="font-weight: bold;"></pre> <br/> @@ -261,18 +266,11 @@ <br/> </div> - </fieldset> -<fieldset> +<fieldset id="mooringDetail"> <legend><s:text name="echobase.title.mooring.detail"/></legend> - - <div id="noMooringDetail"> - <pre> - <s:text name="echobase.message.noMooringSelected"/> - </pre> - </div> - <div id="mooringDetail"> + <div> <s:label key='echobase.common.name' value=''/> <pre id='mooringCode' style="font-weight: bold;"></pre> @@ -287,66 +285,49 @@ <br/> </div> - </fieldset> -<fieldset> - <legend><s:text name="echobase.title.importLog.detail"/></legend> - - <div class="noImportLogDetail"> - <pre> - <s:text name="echobase.message.noImportLogSelected"/> - </pre> - </div> - <div class="importLogDetail"> - - <s:label key='echobase.common.importType' value=''/> - <pre id='importLogImportType' style="font-weight: bold;"></pre> - <br/> - - <s:label key='echobase.common.importEntity' value=''/> - <pre id='importLogEntity' style="font-weight: bold;"></pre> - <br/> - - <s:label key='echobase.common.importDate' value=''/> - <pre id='importLogDate' style="font-weight: bold;"></pre> - <br/> - - <s:label key='echobase.common.importText' value=''/> - <div class="floatLeft"> - <pre id='importLogText' style="font-weight: bold;"></pre> - </div> - <br/> - - <div class="clearBoth"/> - <s:label key='echobase.common.importUser' value=''/> - <pre id='importLogUser' style="font-weight: bold;"></pre> - </div> - -</fieldset> - -<fieldset id="importLogFilesFieldset"> - <legend><s:text name="echobase.title.importLog.files"/></legend> - - <div class="noImportLogDetail"> - <pre> - <s:text name="echobase.message.noImportLogSelected"/> - </pre> - </div> - <div class="importLogDetail"> - <ul id='importLogFiles' style="font-weight: bold;"></ul> - </div> -</fieldset> - -<fieldset id="exportLogFilesFieldset"> - <legend><s:text name="echobase.title.exportLog.files"/></legend> - - <div class="noImportLogDetail"> - <pre> - <s:text name="echobase.message.noImportLogSelected"/> - </pre> - </div> - <div class="importLogDetail"> - <ul id='exportLogFiles' style="font-weight: bold;"></ul> - </div> -</fieldset> +<div id="importLogDetail"> + <fieldset> + <legend><s:text name="echobase.title.importLog.detail"/></legend> + <div> + + <s:label key='echobase.common.importType' value=''/> + <pre id='importLogImportType' style="font-weight: bold;"></pre> + <br/> + + <s:label key='echobase.common.importEntity' value=''/> + <pre id='importLogEntity' style="font-weight: bold;"></pre> + <br/> + + <s:label key='echobase.common.importDate' value=''/> + <pre id='importLogDate' style="font-weight: bold;"></pre> + <br/> + + <s:label key='echobase.common.importText' value=''/> + <div class="floatLeft"> + <pre id='importLogText' style="font-weight: bold;"></pre> + </div> + <br/> + + <div class="clearBoth"> + <s:label key='echobase.common.importUser' value=''/> + <pre id='importLogUser' style="font-weight: bold;"></pre> + </div> + </div> + </fieldset> + + <fieldset id="importLogFilesFieldset"> + <legend><s:text name="echobase.title.importLog.files"/></legend> + <div> + <ul id='importLogFiles' style="font-weight: bold;"></ul> + </div> + </fieldset> + + <fieldset id="exportLogFilesFieldset"> + <legend><s:text name="echobase.title.exportLog.files"/></legend> + <div> + <ul id='exportLogFiles' style="font-weight: bold;"></ul> + </div> + </fieldset> +</div> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 9df8d02db4e86a7bd4f151331111e890e036c961 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Thu Jun 23 16:31:15 2016 +0200 Toggle visibility between voyages and morings --- .../resources/i18n/echobase-ui_en_GB.properties | 2 + .../resources/i18n/echobase-ui_fr_FR.properties | 2 + .../webapp/WEB-INF/jsp/workingDb/dashboard.jsp | 120 +++++++++++++-------- echobase-ui/src/main/webapp/css/screen.css | 2 +- 4 files changed, 80 insertions(+), 46 deletions(-) diff --git a/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties b/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties index 59e0086..959c540 100644 --- a/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties +++ b/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties @@ -472,5 +472,7 @@ echobase.title.workingDbConfiguration=Manage working database configurations echobase.tooltip.disconnectWorkingDb=Change working database echobase.tooltip.logout=Logout echobase.tooltip.selectWorkingDb=Select a working database +echobase.view.moorings= +echobase.view.voyages= echobase.warning.coser.not.reachable=Coser instance <strong>%s</strong> is not available, please contact his administrator. echobase.warning.no.importLog.selected=No selected import diff --git a/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties b/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties index 8c9e6df..d4ceed1 100644 --- a/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties +++ b/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties @@ -475,5 +475,7 @@ echobase.title.workingDbConfiguration=Administration des configurations de base echobase.tooltip.disconnectWorkingDb=Changer de base de travail echobase.tooltip.logout=Se déconnecter echobase.tooltip.selectWorkingDb=Sélectionner une base de travail +echobase.view.moorings= +echobase.view.voyages= echobase.warning.coser.not.reachable=L'instance de Coser <strong>%s</strong> n'est pas disponible, veuillez contacter l'administrateur de ce projet. echobase.warning.no.importLog.selected=Aucun import sélectionné diff --git a/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/dashboard.jsp b/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/dashboard.jsp index 3be2aa4..de7f095 100644 --- a/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/dashboard.jsp +++ b/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/dashboard.jsp @@ -158,12 +158,32 @@ return rowObject.id_lbl; } - - jQuery(document).ready(function () { + var togglePosition = false; + + function toggleTab() { $('#voyageDetail').hide(); $('#mooringDetail').hide(); $('#importLogDetail').hide(); - + + if (togglePosition) { + $('#voyagesTab').hide(); + $('#mooringsTab').show(); + $("#moorings").jqGrid && $("#moorings").jqGrid('setGridWidth', $("#mooringsTab")[0].offsetWidth); + $("#toggleTabButton").text('<s:text name="echobase.view.voyages"/>'); + + } else { + $('#voyagesTab').show(); + $("#voyages").jqGrid && $("#voyages").jqGrid('setGridWidth', $("#voyagesTab")[0].offsetWidth); + $('#mooringsTab').hide(); + $("#toggleTabButton").text('<s:text name="echobase.view.moorings"/>'); + } + + togglePosition = !togglePosition; + } + + jQuery(document).ready(function () { + toggleTab(); + var lastEntityId = null; // display voyage infos @@ -187,50 +207,60 @@ </script> <title><s:text name="echobase.title.dashboard"/></title> -<s:url id="loadUrl" action="getDashboardVoyageImportLogs" namespace="/workingDb" escapeAmp="false"/> -<sjg:grid id="voyages" dataType="json" href="%{loadUrl}" gridModel="datas" - pager="true" pagerButtons="true" pagerInput="true" navigator="true" - autowidth="true" rownumbers="false" viewrecords="true" - navigatorEdit="false" navigatorSearch="false" - navigatorDelete="false" - navigatorAdd="false" rowList="10,15,20,50,100,250,500" rowNum="10" - onSelectRowTopics="voyages-rowSelect" - onCellSelectTopics="voyages-rowSelect" - onCompleteTopics="voyages-clearSelect,voyages-CompleteTopics"> - - <sjg:gridColumn name="id" title="id" hidden="true"/> - <sjg:gridColumn name="name" sortable="true" formatter="formatName" - title="%{getText('echobase.common.voyage')}"/> - - <s:iterator value="%{importVoyageTypes}" var="entry"> - <sjg:gridColumn name="importType.%{#entry.name}" sortable="false" - title="%{#entry.label}" tooltip="%{#entry.title}" - formatter="formatImportLogs"/> - </s:iterator> -</sjg:grid> + +<div align="right"> + <button id="toggleTabButton" class="action" onclick="toggleTab()"><s:text name="echobase.view.voyages"/></button> +</div> <br/> + +<div id="voyagesTab"> + <s:url id="loadUrl" action="getDashboardVoyageImportLogs" namespace="/workingDb" escapeAmp="false"/> + <sjg:grid id="voyages" dataType="json" href="%{loadUrl}" gridModel="datas" + pager="true" pagerButtons="true" pagerInput="true" navigator="true" + autowidth="true" rownumbers="false" viewrecords="true" + navigatorEdit="false" navigatorSearch="false" + navigatorDelete="false" + navigatorAdd="false" rowList="10,15,20,50,100,250,500" rowNum="10" + onSelectRowTopics="voyages-rowSelect" + onCellSelectTopics="voyages-rowSelect" + onCompleteTopics="voyages-clearSelect,voyages-CompleteTopics"> + + <sjg:gridColumn name="id" title="id" hidden="true"/> + <sjg:gridColumn name="name" sortable="true" formatter="formatName" + title="%{getText('echobase.common.voyage')}"/> + + <s:iterator value="%{importVoyageTypes}" var="entry"> + <sjg:gridColumn name="importType.%{#entry.name}" sortable="false" + title="%{#entry.label}" tooltip="%{#entry.title}" + formatter="formatImportLogs"/> + </s:iterator> + </sjg:grid> +</div> + +<div id ="mooringsTab"> + <s:url id="loadUrl" action="getDashboardMooringImportLogs" namespace="/workingDb" escapeAmp="false"/> + <sjg:grid id="moorings" dataType="json" href="%{loadUrl}" gridModel="datas" + pager="true" pagerButtons="true" pagerInput="true" navigator="true" + autowidth="false" rownumbers="false" viewrecords="true" + navigatorEdit="false" navigatorSearch="false" + navigatorDelete="false" + navigatorAdd="false" rowList="10,15,20,50,100,250,500" rowNum="10" + onSelectRowTopics="moorings-rowSelect" + onCellSelectTopics="moorings-rowSelect" + onCompleteTopics="moorings-clearSelect,moorings-CompleteTopics"> + + <sjg:gridColumn name="id" title="id" hidden="true"/> + <sjg:gridColumn name="name" sortable="true" formatter="formatName" + title="%{getText('echobase.common.mooring')}"/> + + <s:iterator value="%{importMooringTypes}" var="entry"> + <sjg:gridColumn name="importType.%{#entry.name}" sortable="false" + title="%{#entry.label}" tooltip="%{#entry.title}" + formatter="formatImportLogs"/> + </s:iterator> + </sjg:grid> +</div> -<s:url id="loadUrl" action="getDashboardMooringImportLogs" namespace="/workingDb" escapeAmp="false"/> -<sjg:grid id="moorings" dataType="json" href="%{loadUrl}" gridModel="datas" - pager="true" pagerButtons="true" pagerInput="true" navigator="true" - autowidth="true" rownumbers="false" viewrecords="true" - navigatorEdit="false" navigatorSearch="false" - navigatorDelete="false" - navigatorAdd="false" rowList="10,15,20,50,100,250,500" rowNum="10" - onSelectRowTopics="moorings-rowSelect" - onCellSelectTopics="moorings-rowSelect" - onCompleteTopics="moorings-clearSelect,moorings-CompleteTopics"> - - <sjg:gridColumn name="id" title="id" hidden="true"/> - <sjg:gridColumn name="name" sortable="true" formatter="formatName" - title="%{getText('echobase.common.mooring')}"/> - - <s:iterator value="%{importMooringTypes}" var="entry"> - <sjg:gridColumn name="importType.%{#entry.name}" sortable="false" - title="%{#entry.label}" tooltip="%{#entry.title}" - formatter="formatImportLogs"/> - </s:iterator> -</sjg:grid> <br/> <fieldset id="voyageDetail"> diff --git a/echobase-ui/src/main/webapp/css/screen.css b/echobase-ui/src/main/webapp/css/screen.css index c322bc7..f7f2ae9 100644 --- a/echobase-ui/src/main/webapp/css/screen.css +++ b/echobase-ui/src/main/webapp/css/screen.css @@ -448,7 +448,7 @@ input, textarea, select{ input[type="password"], input[type="text"]:not(.ui-pg-input), select:not(.ui-pg-input){ height:35px; } -input[type="submit"]{ +input[type="submit"], button.action { background:url(../images/bt_jaune.jpg) repeat-x 0 0; height: 48px; width:auto; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm