From cb7d7f28af00e47685de391b40f674fd6ed10e5d Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Thu, 24 Aug 2017 16:10:38 +0200 Subject: [PATCH] GuiConnector unit tests --- frontend-js/.idea/workspace.xml | 1174 ----------------- frontend-js/src/main/css/global.css | 2 +- frontend-js/src/main/js/GuiConnector.js | 112 +- .../main/js/gui/leftPanel/ProjectInfoPanel.js | 552 ++++---- frontend-js/src/main/js/minerva.js | 1094 +++++++-------- frontend-js/src/test/js/GuiConnector-test.js | 49 + frontend-js/src/test/js/minerva-test.js | 3 - 7 files changed, 934 insertions(+), 2052 deletions(-) delete mode 100644 frontend-js/.idea/workspace.xml create mode 100644 frontend-js/src/test/js/GuiConnector-test.js diff --git a/frontend-js/.idea/workspace.xml b/frontend-js/.idea/workspace.xml deleted file mode 100644 index 0156c1a5a7..0000000000 --- a/frontend-js/.idea/workspace.xml +++ /dev/null @@ -1,1174 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project version="4"> - <component name="AnalysisUIOptions"> - <option name="SCOPE_TYPE" value="8" /> - <option name="CUSTOM_SCOPE_NAME" value="Project" /> - </component> - <component name="ChangeListManager"> - <list default="true" id="c119f0dd-fdda-4d02-a51e-86bc6ef7e50c" name="Default" comment=""> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/mocha-config.js" afterPath="$PROJECT_DIR$/src/test/js/mocha-config.js" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/gui/admin/MapsAdminPanel-test.js" afterPath="$PROJECT_DIR$/src/test/js/gui/admin/MapsAdminPanel-test.js" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/minerva-test.js" afterPath="$PROJECT_DIR$/src/test/js/minerva-test.js" /> - </list> - <ignored path="$PROJECT_DIR$/.tmp/" /> - <ignored path="$PROJECT_DIR$/temp/" /> - <ignored path="$PROJECT_DIR$/tmp/" /> - <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> - <option name="TRACKING_ENABLED" value="true" /> - <option name="SHOW_DIALOG" value="false" /> - <option name="HIGHLIGHT_CONFLICTS" value="true" /> - <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> - <option name="LAST_RESOLUTION" value="IGNORE" /> - </component> - <component name="FileEditorManager"> - <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> - <file leaf-file-name="mocha-config.js" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/test/js/mocha-config.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="432"> - <caret line="42" column="18" lean-forward="false" selection-start-line="42" selection-start-column="18" selection-end-line="42" selection-end-column="18" /> - <folding> - <marker date="1508237827118" expanded="true" signature="3275:3278" ph="{...}" /> - <marker date="1508237827118" expanded="true" signature="3275:3280" ph="{...}" /> - </folding> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="AddProjectDialog.js" pinned="false" current-in-tab="true"> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/admin/AddProjectDialog.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="144"> - <caret line="8" column="32" lean-forward="false" selection-start-line="8" selection-start-column="32" selection-end-line="8" selection-end-column="32" /> - <folding> - <marker date="1508237545671" expanded="true" signature="4765:4771" ph="Â " /> - <marker date="1508237545671" expanded="true" signature="5084:5090" ph="Â " /> - </folding> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="GeneVariant.js" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/main/js/map/data/GeneVariant.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="666"> - <caret line="37" column="27" lean-forward="false" selection-start-line="37" selection-start-column="27" selection-end-line="37" selection-end-column="27" /> - <folding /> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="Chemical.js" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/main/js/map/data/Chemical.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="504"> - <caret line="28" column="64" lean-forward="false" selection-start-line="28" selection-start-column="64" selection-end-line="28" selection-end-column="64" /> - <folding> - <marker date="1508229549461" expanded="true" signature="1073:1101" ph="{...}" /> - <marker date="1508229549461" expanded="true" signature="1073:1103" ph="{...}" /> - <marker date="1508229549461" expanded="true" signature="1166:1210" ph="{...}" /> - <marker date="1508229549461" expanded="true" signature="1269:1305" ph="{...}" /> - <marker date="1508229549461" expanded="true" signature="1354:1384" ph="{...}" /> - <marker date="1508229549461" expanded="true" signature="1443:1581" ph="{...}" /> - <marker date="1508229549461" expanded="true" signature="1516:1579" ph="{...}" /> - <marker date="1508229549461" expanded="true" signature="1630:1660" ph="{...}" /> - <marker date="1508229549461" expanded="true" signature="1715:1747" ph="{...}" /> - <marker date="1508229549461" expanded="true" signature="1794:1822" ph="{...}" /> - <marker date="1508229549461" expanded="true" signature="1883:1921" ph="{...}" /> - <marker date="1508229549461" expanded="true" signature="1971:2002" ph="{...}" /> - <marker date="1508229549461" expanded="true" signature="2075:2125" ph="{...}" /> - <marker date="1508229549461" expanded="true" signature="2181:2218" ph="{...}" /> - </folding> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="MapModel.js" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/main/js/map/data/MapModel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="10854"> - <caret line="603" column="27" lean-forward="false" selection-start-line="603" selection-start-column="27" selection-end-line="603" selection-end-column="27" /> - <folding> - <marker date="1508233144455" expanded="true" signature="20010:21349" ph="{...}" /> - <marker date="1508233144455" expanded="true" signature="20683:20714" ph="{...}" /> - <marker date="1508233144455" expanded="true" signature="21301:21345" ph="{...}" /> - <marker date="1508233144455" expanded="true" signature="21400:21961" ph="{...}" /> - <marker date="1508233144455" expanded="true" signature="21497:21851" ph="{...}" /> - <marker date="1508233144455" expanded="true" signature="21540:21642" ph="{"columns": "id,bounds,modelId"...}" /> - <marker date="1508233144455" expanded="true" signature="21672:21845" ph="{...}" /> - <marker date="1508233144455" expanded="true" signature="21757:21839" ph="{...}" /> - <marker date="1508233144455" expanded="true" signature="21885:21957" ph="{...}" /> - </folding> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="TouchMap.js" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/main/js/map/TouchMap.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="288"> - <caret line="16" column="23" lean-forward="false" selection-start-line="16" selection-start-column="23" selection-end-line="16" selection-end-column="23" /> - <folding> - <marker date="1508229549461" expanded="true" signature="201:438" ph="{...}" /> - </folding> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="AbstractCustomMap.js" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/main/js/map/AbstractCustomMap.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="487"> - <caret line="1013" column="29" lean-forward="false" selection-start-line="1013" selection-start-column="29" selection-end-line="1013" selection-end-column="29" /> - <folding /> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="EditProjectDialog.js" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/admin/EditProjectDialog.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="720"> - <caret line="40" column="5" lean-forward="false" selection-start-line="40" selection-start-column="5" selection-end-line="40" selection-end-column="5" /> - <folding /> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="ServerConnector.js" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/main/js/ServerConnector.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="2163"> - <caret line="1128" column="0" lean-forward="false" selection-start-line="1128" selection-start-column="0" selection-end-line="1128" selection-end-column="0" /> - <folding> - <marker date="1508236737742" expanded="true" signature="1565:1881" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="22991:23037" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="23043:23605" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="23119:23599" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="23245:23567" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="23431:23496" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="23658:24354" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="23707:23729" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="23775:23852" ph="{"creator": params.creator...}" /> - <marker date="1508236737742" expanded="true" signature="23901:24350" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="23965:24092" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="24117:24336" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="24425:25307" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="24477:24532" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="24553:24604" ph="{"overlayId": overlayId...}" /> - <marker date="1508236737742" expanded="true" signature="24691:24819" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="24844:25303" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="24943:25280" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="25199:25274" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="25367:26151" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="25409:25530" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="25781:26147" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="25882:25948" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="25984:26047" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="26053:26124" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="26205:26543" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="26466:26541" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="26698:26767" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="26820:26895" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="26962:27323" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="27003:27034" ph="{"overlayId": overlayId...}" /> - <marker date="1508236737742" expanded="true" signature="27119:27241" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="27374:28261" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="27451:27477" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="27520:27556" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="27578:27676" ph="{"id": params.ids...}" /> - <marker date="1508236737742" expanded="true" signature="27745:28056" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="27864:27955" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="27961:28051" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="28081:28257" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="28184:28234" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="28310:29397" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="28420:28446" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="28662:28863" ph="{"id": params.ids...}" /> - <marker date="1508236737742" expanded="true" signature="28932:29195" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="29008:29097" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="29103:29191" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="29220:29393" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="29323:29370" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="29630:30237" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="29671:29786" ph="{"elementId": params.elementId...}" /> - <marker date="1508236737742" expanded="true" signature="29809:29843" ph="{"columns": params.columns...}" /> - <marker date="1508236737742" expanded="true" signature="29912:30033" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="30058:30233" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="30291:30538" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="30332:30387" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="30608:31177" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="30649:30683" ph="{"modelId": params.modelId...}" /> - <marker date="1508236737742" expanded="true" signature="30706:30775" ph="{"coordinates": params.coordinates...}" /> - <marker date="1508236737742" expanded="true" signature="30988:31173" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="31230:31861" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="31313:31376" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="31382:31419" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="31529:31646" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="31664:31857" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="31900:32060" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="32117:32689" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="32158:32192" ph="{"modelId": params.modelId...}" /> - <marker date="1508236737742" expanded="true" signature="32215:32286" ph="{"query": params.query...}" /> - <marker date="1508236737742" expanded="true" signature="32356:32475" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="32500:32685" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="32603:32662" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="32743:33233" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="32809:32839" ph="{"query": params.query...}" /> - <marker date="1508236737742" expanded="true" signature="32908:33032" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="33057:33229" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="33160:33206" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="33288:33780" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="33354:33384" ph="{"query": params.query...}" /> - <marker date="1508236737742" expanded="true" signature="33603:33776" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="33706:33753" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="33838:34336" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="33904:33934" ph="{"query": params.query...}" /> - <marker date="1508236737742" expanded="true" signature="34003:34131" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="34156:34332" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="34259:34309" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="34402:34684" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="34443:34481" ph="{"overlayId": params.overlayId...}" /> - <marker date="1508236737742" expanded="true" signature="34575:34680" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="34742:35301" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="34783:34852" ph="{"projectId": params.projectId...}" /> - <marker date="1508236737742" expanded="true" signature="34875:35130" ph="{"token": params.token...}" /> - <marker date="1508236737742" expanded="true" signature="35200:35297" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="35359:35921" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="35400:35469" ph="{"projectId": params.projectId...}" /> - <marker date="1508236737742" expanded="true" signature="35492:35747" ph="{"token": params.token...}" /> - <marker date="1508236737742" expanded="true" signature="35816:35917" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="35972:36111" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="36161:36300" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="36366:36663" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="36396:36418" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="36554:36659" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="36722:37278" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="36955:37079" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="37104:37274" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="37209:37251" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="37338:37895" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="37404:37502" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="37571:37696" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="37721:37891" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="37958:38518" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="38024:38122" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="38191:38319" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="38344:38514" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="38449:38491" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="38567:39367" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="38608:38773" ph="{"elementId": params.elementId...}" /> - <marker date="1508236737742" expanded="true" signature="38963:39039" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="39284:39363" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="39416:40021" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="39826:39939" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="39964:40017" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="40074:40454" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="40115:40153" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="40176:40369" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="40192:40365" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="40506:40809" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="40547:40585" ph="{"overlayId": params.overlayId...}" /> - <marker date="1508236737742" expanded="true" signature="40679:40805" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="40861:41164" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="40902:40940" ph="{"commentId": params.commentId...}" /> - <marker date="1508236737742" expanded="true" signature="41034:41160" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="41227:41503" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="41308:41437" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="41395:41430" ph="{"projectId": projectId...}" /> - <marker date="1508236737742" expanded="true" signature="41462:41499" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="41551:41687" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="41634:41683" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="41741:42276" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="41790:41812" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="41859:42016" ph="{"start": params.start...}" /> - <marker date="1508236737742" expanded="true" signature="42085:42210" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="42235:42272" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="42333:42543" ph="{...}" /> - <marker date="1508236737742" expanded="true" signature="42481:42539" ph="{...}" /> - </folding> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="AddOverlayDialog.js" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/AddOverlayDialog.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="504"> - <caret line="28" column="32" lean-forward="false" selection-start-line="28" selection-start-column="32" selection-end-line="28" selection-end-column="32" /> - <folding /> - </state> - </provider> - </entry> - </file> - </leaf> - </component> - <component name="FindInProjectRecents"> - <findStrings> - <find>init</find> - <find>initialized</find> - <find>openAdd</find> - <find>setCen</find> - <find>setCenter</find> - <find>openDa</find> - <find>dialog</find> - <find>TopMe</find> - <find>showOverviewButton</find> - <find>TopMen</find> - <find>getProject</find> - <find>touch</find> - <find>session d</find> - <find>session da</find> - <find>data</find> - <find>CommentsAdminPanel</find> - <find>createAd</find> - <find>return result\.destroy\(\)\;\n</find> - <find>createAdmin</find> - <find>destroy</find> - <find>destr</find> - <find>logger.in</find> - <find>resize</find> - <find>DataT</find> - <find>Table</find> - <find>DataTa</find> - <find>DataTable</find> - <find>isD</find> - <find>createA</find> - <find>scriptDiv</find> - </findStrings> - <dirStrings> - <dir>C:\Users\piotr.gawron\workspace\MapViewer-parent\frontend-js\src\main\js\gui\leftPanel</dir> - <dir>C:\Users\piotr.gawron\workspace\MapViewer-parent\frontend-js\src</dir> - </dirStrings> - </component> - <component name="Git.Settings"> - <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/.." /> - </component> - <component name="IdeDocumentHistory"> - <option name="CHANGED_PATHS"> - <list> - <option value="$PROJECT_DIR$/src/test/js/gui/AddOverlayDialog-test.js" /> - <option value="$PROJECT_DIR$/src/main/js/gui/AddOverlayDialog.js" /> - <option value="$PROJECT_DIR$/src/test/js/GuiConnector-mock.js" /> - <option value="$PROJECT_DIR$/src/main/js/gui/Header.js" /> - <option value="$PROJECT_DIR$/src/main/js/gui/LoginDialog.js" /> - <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/ChemicalPanel.js" /> - <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/DrugPanel.js" /> - <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/MiRnaPanel.js" /> - <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/SearchPanel.js" /> - <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/LeftPanel.js" /> - <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/ProjectInfoPanel.js" /> - <option value="$PROJECT_DIR$/src/main/js/gui/Panel.js" /> - <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/OverlayPanel.js" /> - <option value="$PROJECT_DIR$/src/test/js/gui/leftPanel/OverlayPanel-test.js" /> - <option value="$PROJECT_DIR$/src/test/js/gui/leftPanel/ProjectInfoPanel-test.js" /> - <option value="$PROJECT_DIR$/src/test/js/gui/Panel-test.js" /> - <option value="$PROJECT_DIR$/src/main/js/map/CustomMap.js" /> - <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/SubmapPanel.js" /> - <option value="$PROJECT_DIR$/src/main/js/map/Submap.js" /> - <option value="$PROJECT_DIR$/src/test/js/map/CustomMap-test.js" /> - <option value="$PROJECT_DIR$/src/main/js/minerva.js" /> - <option value="$PROJECT_DIR$/src/main/js/gui/topMenu/TopMenu.js" /> - <option value="$PROJECT_DIR$/src/main/js/gui/admin/MapsAdminPanel.js" /> - <option value="$PROJECT_DIR$/src/main/js/gui/admin/CommentsAdminPanel.js" /> - <option value="$PROJECT_DIR$/src/main/js/Admin.js" /> - <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/PublicationListDialog.js" /> - <option value="$PROJECT_DIR$/src/main/js/gui/export/ElementExportPanel.js" /> - <option value="$PROJECT_DIR$/src/test/js/gui/leftPanel/PublicationListDialog-test.js" /> - <option value="$PROJECT_DIR$/src/test/js/gui/leftPanel/LeftPanel-test.js" /> - <option value="$PROJECT_DIR$/src/main/js/gui/admin/EditProjectDialog.js" /> - <option value="$PROJECT_DIR$/src/test/js/gui/admin/EditProjectDialog-test.js" /> - <option value="$PROJECT_DIR$/src/test/js/gui/admin/MapsAdminPanel-test.js" /> - <option value="$PROJECT_DIR$/src/test/js/mocha-config.js" /> - <option value="$PROJECT_DIR$/src/test/js/minerva-test.js" /> - <option value="$PROJECT_DIR$/src/main/css/global.css" /> - </list> - </option> - </component> - <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" /> - <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER"> - <package-json value="$PROJECT_DIR$/package.json" /> - </component> - <component name="JsGulpfileManager"> - <detection-done>true</detection-done> - <sorting>DEFINITION_ORDER</sorting> - </component> - <component name="NamedScopeManager"> - <scope name="Project" pattern="file[frontend-js]:src//*" /> - </component> - <component name="NodeModulesDirectoryManager"> - <handled-path value="$PROJECT_DIR$/node_modules" /> - </component> - <component name="ProjectFrameBounds" extendedState="6"> - <option name="x" value="260" /> - <option name="y" value="80" /> - <option name="width" value="1400" /> - <option name="height" value="1000" /> - </component> - <component name="ProjectLevelVcsManager" settingsEditedManually="true" /> - <component name="ProjectView"> - <navigator currentView="ProjectPane" proportions="" version="1"> - <flattenPackages /> - <showMembers /> - <showModules /> - <showLibraryContents /> - <hideEmptyPackages /> - <abbreviatePackageNames /> - <autoscrollToSource /> - <autoscrollFromSource /> - <sortByType /> - <manualOrder /> - <foldersAlwaysOnTop value="true" /> - </navigator> - <panes> - <pane id="Scratches" /> - <pane id="ProjectPane"> - <subPane> - <expand> - <path> - <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> - <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> - </path> - <path> - <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> - <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> - <item name="src" type="462c0819:PsiDirectoryNode" /> - </path> - <path> - <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> - <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> - <item name="src" type="462c0819:PsiDirectoryNode" /> - <item name="main" type="462c0819:PsiDirectoryNode" /> - </path> - <path> - <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> - <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> - <item name="src" type="462c0819:PsiDirectoryNode" /> - <item name="main" type="462c0819:PsiDirectoryNode" /> - <item name="js" type="462c0819:PsiDirectoryNode" /> - </path> - <path> - <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> - <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> - <item name="src" type="462c0819:PsiDirectoryNode" /> - <item name="main" type="462c0819:PsiDirectoryNode" /> - <item name="js" type="462c0819:PsiDirectoryNode" /> - <item name="gui" type="462c0819:PsiDirectoryNode" /> - </path> - <path> - <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> - <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> - <item name="src" type="462c0819:PsiDirectoryNode" /> - <item name="main" type="462c0819:PsiDirectoryNode" /> - <item name="js" type="462c0819:PsiDirectoryNode" /> - <item name="gui" type="462c0819:PsiDirectoryNode" /> - <item name="admin" type="462c0819:PsiDirectoryNode" /> - </path> - <path> - <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> - <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> - <item name="src" type="462c0819:PsiDirectoryNode" /> - <item name="test" type="462c0819:PsiDirectoryNode" /> - </path> - <path> - <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> - <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> - <item name="src" type="462c0819:PsiDirectoryNode" /> - <item name="test" type="462c0819:PsiDirectoryNode" /> - <item name="js" type="462c0819:PsiDirectoryNode" /> - </path> - <path> - <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> - <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> - <item name="src" type="462c0819:PsiDirectoryNode" /> - <item name="test" type="462c0819:PsiDirectoryNode" /> - <item name="js" type="462c0819:PsiDirectoryNode" /> - <item name="gui" type="462c0819:PsiDirectoryNode" /> - </path> - <path> - <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> - <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> - <item name="src" type="462c0819:PsiDirectoryNode" /> - <item name="test" type="462c0819:PsiDirectoryNode" /> - <item name="js" type="462c0819:PsiDirectoryNode" /> - <item name="gui" type="462c0819:PsiDirectoryNode" /> - <item name="admin" type="462c0819:PsiDirectoryNode" /> - </path> - <path> - <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> - <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> - <item name="src" type="462c0819:PsiDirectoryNode" /> - <item name="test" type="462c0819:PsiDirectoryNode" /> - <item name="js" type="462c0819:PsiDirectoryNode" /> - <item name="gui" type="462c0819:PsiDirectoryNode" /> - <item name="leftPanel" type="462c0819:PsiDirectoryNode" /> - </path> - <path> - <item name="frontend-js" type="b2602c69:ProjectViewProjectNode" /> - <item name="frontend-js" type="462c0819:PsiDirectoryNode" /> - <item name="src" type="462c0819:PsiDirectoryNode" /> - <item name="test" type="462c0819:PsiDirectoryNode" /> - <item name="js" type="462c0819:PsiDirectoryNode" /> - <item name="map" type="462c0819:PsiDirectoryNode" /> - </path> - </expand> - <select /> - </subPane> - </pane> - <pane id="Scope" /> - <pane id="PackagesPane" /> - <pane id="AndroidView" /> - </panes> - </component> - <component name="PropertiesComponent"> - <property name="WebServerToolWindowFactoryState" value="false" /> - <property name="last_opened_file_path" value="$PROJECT_DIR$" /> - <property name="nodejs_interpreter_path" value="C:/Program Files/nodejs/node" /> - <property name="HbShouldOpenHtmlAsHb" value="" /> - <property name="nodejs.mocha.mocha_node_package_dir" value="$PROJECT_DIR$/node_modules/mocha" /> - <property name="settings.editor.selected.configurable" value="preferences.sourceCode.JavaScript" /> - <property name="run.code.analysis.last.selected.profile" value="pProject Default" /> - </component> - <component name="RunDashboard"> - <option name="ruleStates"> - <list> - <RuleState> - <option name="name" value="ConfigurationTypeDashboardGroupingRule" /> - </RuleState> - <RuleState> - <option name="name" value="StatusDashboardGroupingRule" /> - </RuleState> - </list> - </option> - </component> - <component name="RunManager" selected="npm.test"> - <configuration name="MapsAdminPanel" type="mocha-javascript-test-runner" factoryName="Mocha" temporary="true" nameIsGenerated="true"> - <node-interpreter>project</node-interpreter> - <node-options /> - <working-directory>$PROJECT_DIR$</working-directory> - <pass-parent-env>true</pass-parent-env> - <envs /> - <ui>bdd</ui> - <extra-mocha-options /> - <test-kind>SUITE</test-kind> - <test-file>$PROJECT_DIR$/src/test/js/gui/admin/MapsAdminPanel-test.js</test-file> - <test-names> - <name value="MapsAdminPanel" /> - </test-names> - </configuration> - <configuration name="MapsAdminPanel.onAddClicked" type="mocha-javascript-test-runner" factoryName="Mocha" temporary="true" nameIsGenerated="true"> - <node-interpreter>project</node-interpreter> - <node-options /> - <working-directory>$PROJECT_DIR$</working-directory> - <pass-parent-env>true</pass-parent-env> - <envs /> - <ui>bdd</ui> - <extra-mocha-options /> - <test-kind>SUITE</test-kind> - <test-file>$PROJECT_DIR$/src/test/js/gui/admin/MapsAdminPanel-test.js</test-file> - <test-names> - <name value="MapsAdminPanel" /> - <name value="onAddClicked" /> - </test-names> - </configuration> - <configuration name="OverlayPanel.js" type="NodeJSConfigurationType" factoryName="Node.js" temporary="true" path-to-node="project" path-to-js-file="OverlayPanel.js" working-dir="$PROJECT_DIR$/src/main/js/gui/leftPanel" /> - <configuration default="true" type="mocha-javascript-test-runner" factoryName="Mocha"> - <node-interpreter>project</node-interpreter> - <node-options /> - <working-directory>$PROJECT_DIR$</working-directory> - <pass-parent-env>true</pass-parent-env> - <envs /> - <ui /> - <extra-mocha-options /> - <test-kind>DIRECTORY</test-kind> - <test-directory>$PROJECT_DIR$/src/test/js</test-directory> - <recursive>true</recursive> - </configuration> - <configuration default="true" type="js.build_tools.npm" factoryName="npm"> - <package-json value="$PROJECT_DIR$/package.json" /> - <command value="run" /> - <scripts> - <script value="test" /> - </scripts> - <node-interpreter value="project" /> - <envs /> - </configuration> - <configuration name="minerva global" type="mocha-javascript-test-runner" factoryName="Mocha" temporary="true" nameIsGenerated="true"> - <node-interpreter>project</node-interpreter> - <node-options /> - <working-directory>$PROJECT_DIR$</working-directory> - <pass-parent-env>true</pass-parent-env> - <envs /> - <ui>bdd</ui> - <extra-mocha-options /> - <test-kind>SUITE</test-kind> - <test-file>$PROJECT_DIR$/src/test/js/minerva-test.js</test-file> - <test-names> - <name value="minerva global" /> - </test-names> - </configuration> - <configuration name="test" type="js.build_tools.npm" factoryName="npm"> - <package-json value="$PROJECT_DIR$/package.json" /> - <command value="run" /> - <scripts> - <script value="test" /> - </scripts> - <node-interpreter value="project" /> - <envs /> - </configuration> - <list size="5"> - <item index="0" class="java.lang.String" itemvalue="npm.test" /> - <item index="1" class="java.lang.String" itemvalue="Mocha.MapsAdminPanel.onAddClicked" /> - <item index="2" class="java.lang.String" itemvalue="Node.js.OverlayPanel.js" /> - <item index="3" class="java.lang.String" itemvalue="Mocha.MapsAdminPanel" /> - <item index="4" class="java.lang.String" itemvalue="Mocha.minerva global" /> - </list> - <recent_temporary> - <list size="4"> - <item index="0" class="java.lang.String" itemvalue="Mocha.minerva global" /> - <item index="1" class="java.lang.String" itemvalue="Mocha.MapsAdminPanel" /> - <item index="2" class="java.lang.String" itemvalue="Mocha.MapsAdminPanel.onAddClicked" /> - <item index="3" class="java.lang.String" itemvalue="Node.js.OverlayPanel.js" /> - </list> - </recent_temporary> - </component> - <component name="ShelveChangesManager" show_recycled="false"> - <option name="remove_strategy" value="false" /> - </component> - <component name="SvnConfiguration"> - <configuration /> - </component> - <component name="TaskManager"> - <task active="true" id="Default" summary="Default task"> - <changelist id="c119f0dd-fdda-4d02-a51e-86bc6ef7e50c" name="Default" comment="" /> - <created>1503501471011</created> - <option name="number" value="Default" /> - <option name="presentableId" value="Default" /> - <updated>1503501471011</updated> - <workItem from="1503501472332" duration="132000" /> - <workItem from="1503501772627" duration="21000" /> - <workItem from="1503502231792" duration="5017000" /> - <workItem from="1503560609163" duration="12204000" /> - </task> - <servers /> - </component> - <component name="TestHistory"> - <history-entry file="MapsAdminPanel - 2017.08.24 at 15h 17m 08s.xml"> - <configuration name="MapsAdminPanel" configurationId="mocha-javascript-test-runner" /> - </history-entry> - <history-entry file="MapsAdminPanel - 2017.08.24 at 15h 17m 42s.xml"> - <configuration name="MapsAdminPanel" configurationId="mocha-javascript-test-runner" /> - </history-entry> - <history-entry file="MapsAdminPanel - 2017.08.24 at 15h 18m 07s.xml"> - <configuration name="MapsAdminPanel" configurationId="mocha-javascript-test-runner" /> - </history-entry> - <history-entry file="MapsAdminPanel - 2017.08.24 at 15h 22m 20s.xml"> - <configuration name="MapsAdminPanel" configurationId="mocha-javascript-test-runner" /> - </history-entry> - <history-entry file="MapsAdminPanel - 2017.08.24 at 15h 22m 47s.xml"> - <configuration name="MapsAdminPanel" configurationId="mocha-javascript-test-runner" /> - </history-entry> - <history-entry file="MapsAdminPanel_onAddClicked - 2017.08.24 at 14h 34m 51s.xml"> - <configuration name="MapsAdminPanel.onAddClicked" configurationId="mocha-javascript-test-runner" /> - </history-entry> - <history-entry file="MapsAdminPanel_onAddClicked - 2017.08.24 at 14h 41m 09s.xml"> - <configuration name="MapsAdminPanel.onAddClicked" configurationId="mocha-javascript-test-runner" /> - </history-entry> - <history-entry file="minerva_global - 2017.08.24 at 15h 22m 56s.xml"> - <configuration name="minerva global" configurationId="mocha-javascript-test-runner" /> - </history-entry> - </component> - <component name="TimeTrackingManager"> - <option name="totallyTimeSpent" value="17376000" /> - </component> - <component name="ToolWindowManager"> - <frame x="1989" y="110" width="1857" height="1212" extended-state="6" /> - <layout> - <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> - <window_info id="DB Browser" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> - <window_info id="DB Execution Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> - <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" /> - <window_info id="npm" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> - <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32786885" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> - <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> - <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> - <window_info id="FAQ Robot" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> - <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25175202" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> - <window_info id="Project Explorer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> - <window_info id="Job Explorer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> - <window_info id="MaxCompute Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> - <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> - <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> - <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> - <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> - <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> - <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> - <window_info id="Debug Logs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> - <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> - <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.5679475" sideWeight="0.33802083" order="7" side_tool="true" content_ui="tabs" /> - <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> - <window_info id="Execute Anonymous" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> - <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> - <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> - <window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> - <window_info id="MaxCompute Job" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> - <window_info id="MaxCompute Job Explorer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> - <window_info id="Inspection Results" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32969034" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> - <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> - <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> - <window_info id="MaxCompute Project Explorer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> - <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> - <window_info id="Salesforce" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> - <window_info id="Data View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> - <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> - <window_info id="Palette	" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> - <window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> - <window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> - <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> - <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" /> - <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33833176" sideWeight="0.49791667" order="10" side_tool="false" content_ui="tabs" x="-170" y="502" width="1920" height="493" /> - <window_info id="npm" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> - <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" /> - <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.18020834" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> - <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32969034" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> - <window_info id="Theme Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> - </layout> - <layout-to-restore> - <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> - <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> - <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> - <window_info id="Debug Logs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> - <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> - <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="true" content_ui="tabs" /> - <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> - <window_info id="Execute Anonymous" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" /> - <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> - <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> - <window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> - <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> - <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> - <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> - <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> - <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> - <window_info id="Salesforce" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" /> - <window_info id="Data View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> - <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> - <window_info id="Palette	" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> - <window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> - <window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" /> - <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> - <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" /> - <window_info id="npm" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="true" content_ui="tabs" /> - <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32786885" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> - <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="12" side_tool="false" content_ui="tabs" /> - <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24959569" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> - <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32969034" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> - <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" /> - <window_info id="Theme Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" /> - </layout-to-restore> - </component> - <component name="TypeScriptGeneratedFilesManager"> - <option name="version" value="1" /> - </component> - <component name="VcsContentAnnotationSettings"> - <option name="myLimit" value="2678400000" /> - </component> - <component name="XDebuggerManager"> - <breakpoint-manager /> - <watches-manager /> - </component> - <component name="editorHistoryManager"> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/AddOverlayDialog.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="504"> - <caret line="28" column="32" lean-forward="false" selection-start-line="28" selection-start-column="32" selection-end-line="28" selection-end-column="32" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/mocha-config.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="414"> - <caret line="23" column="22" lean-forward="false" selection-start-line="23" selection-start-column="22" selection-end-line="23" selection-end-column="22" /> - <folding> - <marker date="1508237827118" expanded="true" signature="3275:3278" ph="{...}" /> - <marker date="1508237827118" expanded="true" signature="3275:3280" ph="{...}" /> - </folding> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/admin/AddProjectDialog.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="144"> - <caret line="8" column="32" lean-forward="false" selection-start-line="8" selection-start-column="32" selection-end-line="8" selection-end-column="32" /> - <folding> - <marker date="1508237545671" expanded="true" signature="4765:4771" ph="Â " /> - <marker date="1508237545671" expanded="true" signature="5084:5090" ph="Â " /> - </folding> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/LeftPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="5576"> - <caret line="328" column="27" lean-forward="false" selection-start-line="328" selection-start-column="27" selection-end-line="328" selection-end-column="27" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/AbstractDbPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/ChemicalPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="1224"> - <caret line="72" column="0" lean-forward="false" selection-start-line="69" selection-start-column="0" selection-end-line="72" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/DrugPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="1071"> - <caret line="63" column="0" lean-forward="false" selection-start-line="60" selection-start-column="0" selection-end-line="63" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/MiRnaPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="1071"> - <caret line="63" column="0" lean-forward="false" selection-start-line="60" selection-start-column="0" selection-end-line="63" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/OverlayPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="6409"> - <caret line="377" column="0" lean-forward="false" selection-start-line="374" selection-start-column="0" selection-end-line="377" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/SearchPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="2669"> - <caret line="157" column="0" lean-forward="false" selection-start-line="154" selection-start-column="0" selection-end-line="157" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/SubmapPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="2397"> - <caret line="141" column="11" lean-forward="false" selection-start-line="141" selection-start-column="11" selection-end-line="141" selection-end-column="11" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/ProjectInfoPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="6086"> - <caret line="358" column="37" lean-forward="false" selection-start-line="358" selection-start-column="27" selection-end-line="358" selection-end-column="37" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/gui/leftPanel/LeftPanel-test.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="1394"> - <caret line="82" column="76" lean-forward="false" selection-start-line="82" selection-start-column="75" selection-end-line="82" selection-end-column="76" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/gui/AddOverlayDialog-test.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="249"> - <caret line="45" column="2" lean-forward="false" selection-start-line="45" selection-start-column="2" selection-end-line="45" selection-end-column="2" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/AddOverlayDialog.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="504"> - <caret line="28" column="32" lean-forward="false" selection-start-line="28" selection-start-column="32" selection-end-line="28" selection-end-column="32" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/GuiConnector-mock.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="412"> - <caret line="26" column="38" lean-forward="false" selection-start-line="26" selection-start-column="38" selection-end-line="26" selection-end-column="38" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/ObjectWithListeners.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="208"> - <caret line="93" column="3" lean-forward="false" selection-start-line="93" selection-start-column="3" selection-end-line="93" selection-end-column="3" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/Header.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="412"> - <caret line="115" column="5" lean-forward="false" selection-start-line="115" selection-start-column="5" selection-end-line="115" selection-end-column="5" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/LoginDialog.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="303"> - <caret line="118" column="40" lean-forward="false" selection-start-line="118" selection-start-column="33" selection-end-line="118" selection-end-column="40" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/AbstractDbPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/ChemicalPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="1224"> - <caret line="72" column="0" lean-forward="false" selection-start-line="69" selection-start-column="0" selection-end-line="72" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/DrugPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="1071"> - <caret line="63" column="0" lean-forward="false" selection-start-line="60" selection-start-column="0" selection-end-line="63" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/MiRnaPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="1071"> - <caret line="63" column="0" lean-forward="false" selection-start-line="60" selection-start-column="0" selection-end-line="63" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/SearchPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="2669"> - <caret line="157" column="0" lean-forward="false" selection-start-line="154" selection-start-column="0" selection-end-line="157" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/Panel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="710"> - <caret line="289" column="39" lean-forward="false" selection-start-line="289" selection-start-column="39" selection-end-line="289" selection-end-column="39" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/OverlayPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="438"> - <caret line="360" column="35" lean-forward="false" selection-start-line="360" selection-start-column="35" selection-end-line="360" selection-end-column="35" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/gui/leftPanel/OverlayPanel-test.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="434"> - <caret line="102" column="19" lean-forward="false" selection-start-line="102" selection-start-column="19" selection-end-line="102" selection-end-column="19" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/gui/leftPanel/ProjectInfoPanel-test.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="519"> - <caret line="82" column="8" lean-forward="false" selection-start-line="82" selection-start-column="8" selection-end-line="82" selection-end-column="8" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/SubmapPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="485"> - <caret line="142" column="0" lean-forward="false" selection-start-line="142" selection-start-column="0" selection-end-line="142" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/CommentDialog.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/gui/Panel-test.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="527"> - <caret line="31" column="8" lean-forward="false" selection-start-line="31" selection-start-column="8" selection-end-line="31" selection-end-column="8" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/map/Submap.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="474"> - <caret line="137" column="20" lean-forward="false" selection-start-line="137" selection-start-column="20" selection-end-line="137" selection-end-column="20" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/map/CustomMap.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="243"> - <caret line="1041" column="24" lean-forward="false" selection-start-line="1041" selection-start-column="24" selection-end-line="1041" selection-end-column="24" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/map/CustomMap-test.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="609"> - <caret line="194" column="41" lean-forward="false" selection-start-line="194" selection-start-column="41" selection-end-line="194" selection-end-column="41" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/topMenu/TopMenu.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="553"> - <caret line="226" column="20" lean-forward="false" selection-start-line="226" selection-start-column="20" selection-end-line="226" selection-end-column="20" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/ProjectInfoPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/admin/CommentsAdminPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="77"> - <caret line="203" column="18" lean-forward="false" selection-start-line="203" selection-start-column="0" selection-end-line="203" selection-end-column="18" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/LeftPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="252"> - <caret line="165" column="97" lean-forward="false" selection-start-line="165" selection-start-column="97" selection-end-line="165" selection-end-column="97" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/Admin.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="-7"> - <caret line="178" column="17" lean-forward="false" selection-start-line="178" selection-start-column="17" selection-end-line="178" selection-end-column="17" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/admin/MapsAdminPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="-24"> - <caret line="127" column="33" lean-forward="false" selection-start-line="127" selection-start-column="27" selection-end-line="127" selection-end-column="33" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/gui/leftPanel/LeftPanel-test.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="580"> - <caret line="59" column="0" lean-forward="false" selection-start-line="59" selection-start-column="0" selection-end-line="59" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/export/ElementExportPanel.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="-7"> - <caret line="41" column="0" lean-forward="false" selection-start-line="41" selection-start-column="0" selection-end-line="41" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/leftPanel/PublicationListDialog.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="216"> - <caret line="129" column="0" lean-forward="false" selection-start-line="128" selection-start-column="0" selection-end-line="129" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/gui/leftPanel/PublicationListDialog-test.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="-7"> - <caret line="49" column="0" lean-forward="false" selection-start-line="49" selection-start-column="0" selection-end-line="49" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/gui/admin/EditProjectDialog.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="720"> - <caret line="40" column="5" lean-forward="false" selection-start-line="40" selection-start-column="5" selection-end-line="40" selection-end-column="5" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/gui/admin/EditProjectDialog-test.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="-7"> - <caret line="111" column="0" lean-forward="false" selection-start-line="111" selection-start-column="0" selection-end-line="111" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/mocha-config.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="432"> - <caret line="42" column="18" lean-forward="false" selection-start-line="42" selection-start-column="18" selection-end-line="42" selection-end-column="18" /> - <folding> - <marker date="1508237827118" expanded="true" signature="3275:3278" ph="{...}" /> - <marker date="1508237827118" expanded="true" signature="3275:3280" ph="{...}" /> - </folding> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/gui/admin/MapsAdminPanel-test.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="51"> - <caret line="3" column="0" lean-forward="false" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/minerva.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="204"> - <caret line="66" column="23" lean-forward="false" selection-start-line="66" selection-start-column="23" selection-end-line="66" selection-end-column="23" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/minerva-test.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="136"> - <caret line="18" column="46" lean-forward="true" selection-start-line="18" selection-start-column="46" selection-end-line="18" selection-end-column="46" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/src/main/css/global.css"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="460"> - <caret line="352" column="17" lean-forward="true" selection-start-line="352" selection-start-column="17" selection-end-line="352" selection-end-column="17" /> - </state> - </provider> - </entry> - </component> - <component name="masterDetails"> - <states> - <state key="ScopeChooserConfigurable.UI"> - <settings> - <last-edited>Project</last-edited> - <splitter-proportions> - <option name="proportions"> - <list> - <option value="0.2" /> - </list> - </option> - </splitter-proportions> - <order> - <scope name="Project" /> - </order> - </settings> - </state> - </states> - </component> -</project> \ No newline at end of file diff --git a/frontend-js/src/main/css/global.css b/frontend-js/src/main/css/global.css index 9cbfaf7078..7ba03d1b17 100644 --- a/frontend-js/src/main/css/global.css +++ b/frontend-js/src/main/css/global.css @@ -207,7 +207,7 @@ background-color: #333333; color: #ffffff; display: block; - flaot: left; + float: left; line-height: 35px; height: 35px; z-index: 10000 diff --git a/frontend-js/src/main/js/GuiConnector.js b/frontend-js/src/main/js/GuiConnector.js index e5dea644c4..f88e1fac21 100644 --- a/frontend-js/src/main/js/GuiConnector.js +++ b/frontend-js/src/main/js/GuiConnector.js @@ -11,27 +11,22 @@ var NetworkError = require('./NetworkError'); * This static global object contains set of functions that returns/set data in * the Gui (html). */ -var GuiConnector = {}; - -/** - * X coordinate of the mouse in a browser. - */ -GuiConnector.xPos = 0; - -/** - * Y coordinate of the mouse in a browser. - */ -GuiConnector.yPos = 0; +function GuiConnector() { + // X coordinate of the mouse in a browser. + this.xPos = 0; + // coordinate of the mouse in a browser. + this.yPos = 0; +} /** * List of GET params passed via url. */ -GuiConnector.init = function() { +GuiConnector.prototype.init = function () { var self = this; if (!String.prototype.endsWith) { - String.prototype.endsWith = function(pattern) { + String.prototype.endsWith = function (pattern) { var d = this.length - pattern.length; return d >= 0 && this.lastIndexOf(pattern) === d; }; @@ -42,7 +37,7 @@ GuiConnector.init = function() { alert("This webpage works well with Chrome, Firefox and Safari."); } // bootstrap tab initialization - $("ul.nav-tabs a").click(function(e) { + $("ul.nav-tabs a").click(function (e) { e.preventDefault(); $(this).tab('show'); }); @@ -50,18 +45,18 @@ GuiConnector.init = function() { self.getParams = []; // find GuiConnector.getParams - window.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function() { + window.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () { function decode(s) { return decodeURIComponent(s.split("+").join(" ")); } - GuiConnector.getParams[decode(arguments[1])] = decode(arguments[2]); + self.getParams[decode(arguments[1])] = decode(arguments[2]); }); // forser browser to update mouse coordinates whenever mouse move - jQuery(document).ready(function() { - $(document).mousemove(function(e) { - GuiConnector.updateMouseCoordinates(e.pageX, e.pageY); + jQuery(document).ready(function () { + $(document).mousemove(function (e) { + this.updateMouseCoordinates(e.pageX, e.pageY); }); }); @@ -72,7 +67,7 @@ GuiConnector.init = function() { self.addWindowResizeEvent(window.onresize); } - window.onresize = function() { + window.onresize = function () { for (var i = 0; i < self._windowResizeEvents.length; i++) { self._windowResizeEvents[i](); } @@ -80,18 +75,18 @@ GuiConnector.init = function() { } }; -GuiConnector.addWindowResizeEvent = function(handler) { +GuiConnector.prototype.addWindowResizeEvent = function (handler) { this._windowResizeEvents.push(handler); }; /** * Returns name of the file with LCSB logo. - * + * * @param bigLogo * {@link Boolean} value determining if we want to have big logo or * small one */ -GuiConnector.getLcsbLogoImg = function(bigLogo) { +GuiConnector.prototype.getLcsbLogoImg = function (bigLogo) { if (bigLogo) { return 'lcsb_logo_mid.png'; } else { @@ -101,48 +96,48 @@ GuiConnector.getLcsbLogoImg = function(bigLogo) { /** * Returns name of the file with image that should be presented when we are - * wainting for data to be loaded. + * waiting for data to be loaded. */ -GuiConnector.getLoadingImg = function() { +GuiConnector.prototype.getLoadingImg = function () { return "icons/ajax-loader.gif"; }; /** * Returns home directory for images in the application. */ -GuiConnector.getImgPrefix = function() { +GuiConnector.prototype.getImgPrefix = function () { return "resources/images/"; }; /** * Updates coordinates of the mouse in the browser. */ -GuiConnector.updateMouseCoordinates = function(x, y) { +GuiConnector.prototype.updateMouseCoordinates = function (x, y) { this.xPos = x; this.yPos = y; }; -GuiConnector.showProcessing = function(messageText) { - var self = GuiConnector; +GuiConnector.prototype.showProcessing = function (messageText) { + var self = this; if (self._processingDialog === undefined) { self._processingDialog = document.createElement("div"); self._processingDialogContent = document.createElement("div"); self._processingDialog.appendChild(self._processingDialogContent); document.body.appendChild(self._processingDialog); $(self._processingDialog).dialog({ - modal : true, - title : "PROCESSING", - width : "150px", - closeOnEscape : false, - dialogClass : 'minerva-no-close', + modal: true, + title: "PROCESSING", + width: "150px", + closeOnEscape: false, + dialogClass: 'minerva-no-close', }); } if (messageText === undefined) { messageText = "PROCESSING"; } var messageImg = Functions.createElement({ - type : "img", - src : 'resources/images/icons/ajax-loader.gif', + type: "img", + src: 'resources/images/icons/ajax-loader.gif', }); self._processingDialogContent.innerHTML = ""; self._processingDialogContent.style.textAlign = "center"; @@ -153,13 +148,13 @@ GuiConnector.showProcessing = function(messageText) { $(self._processingDialog).dialog("open"); }; -GuiConnector.hideProcessing = function() { - var self = GuiConnector; +GuiConnector.prototype.hideProcessing = function () { + var self = this; $(self._processingDialog).dialog("close"); }; -GuiConnector.alert = function(error) { - var self = GuiConnector; +GuiConnector.prototype.alert = function (error) { + var self = this; logger.error(error); if (self._errorDialog === undefined) { self._errorDialog = document.createElement("div"); @@ -167,11 +162,11 @@ GuiConnector.alert = function(error) { self._errorDialog.appendChild(self._errorDialogContent); document.body.appendChild(self._errorDialog); $(self._errorDialog).dialog({ - classes : { - "ui-dialog" : "ui-state-error" + classes: { + "ui-dialog": "ui-state-error" }, - modal : true, - title : "ERROR" + modal: true, + title: "ERROR" }).siblings('.ui-dialog-titlebar').css("background", "red"); } var message = error; @@ -189,19 +184,19 @@ GuiConnector.alert = function(error) { }; -GuiConnector.info = function(message) { - var self = GuiConnector; +GuiConnector.prototype.info = function (message) { + var self = this; if (self._infoDialog === undefined) { self._infoDialog = document.createElement("div"); self._infoDialogContent = document.createElement("div"); self._infoDialog.appendChild(self._infoDialogContent); document.body.appendChild(self._infoDialog); $(self._infoDialog).dialog({ - classes : { - "ui-dialog" : "ui-state-info" + classes: { + "ui-dialog": "ui-state-info" }, - modal : true, - title : "INFO" + modal: true, + title: "INFO" }); } self._infoDialogContent.innerHTML = message; @@ -209,4 +204,19 @@ GuiConnector.info = function(message) { }; -module.exports = GuiConnector; +GuiConnector.prototype.destroy = function () { + var self = this; + + if (self._infoDialog !== undefined) { + $(self._infoDialog).dialog("destroy").remove(); + } + if (self._processingDialog !== undefined) { + $(self._processingDialog).dialog("destroy").remove(); + } + + if (self._errorDialog !== undefined) { + $(self._errorDialog).dialog("destroy").remove(); + } +}; + +module.exports = new GuiConnector(); diff --git a/frontend-js/src/main/js/gui/leftPanel/ProjectInfoPanel.js b/frontend-js/src/main/js/gui/leftPanel/ProjectInfoPanel.js index 4971bba90c..0867db4f5c 100644 --- a/frontend-js/src/main/js/gui/leftPanel/ProjectInfoPanel.js +++ b/frontend-js/src/main/js/gui/leftPanel/ProjectInfoPanel.js @@ -11,21 +11,21 @@ var logger = require('../../logger'); var Functions = require('../../Functions'); function ProjectInfoPanel(params) { - params.panelName = "info"; - params.scrollable = true; - Panel.call(this, params); - var self = this; - self._createInfoPanelGui(); - self._createInfoPanelLogic(); - - self._createUserDataTab(); - var logoutButton = self.getControlElement(PanelControlElementType.USER_TAB_LOGOUT_BUTTON); - - logoutButton.onclick = function () { - return ServerConnector.logout().then(function () { - window.location.reload(false); - }).then(null, GuiConnector.alert); - }; + params.panelName = "info"; + params.scrollable = true; + Panel.call(this, params); + var self = this; + self._createInfoPanelGui(); + self._createInfoPanelLogic(); + + self._createUserDataTab(); + var logoutButton = self.getControlElement(PanelControlElementType.USER_TAB_LOGOUT_BUTTON); + + logoutButton.onclick = function () { + return ServerConnector.logout().then(function () { + window.location.reload(false); + }).then(null, GuiConnector.alert); + }; } @@ -33,281 +33,281 @@ ProjectInfoPanel.prototype = Object.create(Panel.prototype); ProjectInfoPanel.prototype.constructor = ProjectInfoPanel; ProjectInfoPanel.prototype._createInfoPanelGui = function () { - var self = this; - var guiUtils = self.getGuiUtils(); - var projectId = self.getMap().getProject().getProjectId(); - - var infoDiv = Functions.createElement({ - type: "div", - name: "infoDiv", - className: "searchPanel" - }); - this.getElement().appendChild(infoDiv); - this.setControlElement(PanelControlElementType.INFO_DIV, infoDiv); + var self = this; + var guiUtils = self.getGuiUtils(); + var projectId = self.getMap().getProject().getProjectId(); - var infoTitle = Functions.createElement({ - type: "h4", - content: "PROJECT INFO:" - }); - infoDiv.appendChild(infoTitle); + var infoDiv = Functions.createElement({ + type: "div", + name: "infoDiv", + className: "searchPanel" + }); + this.getElement().appendChild(infoDiv); + this.setControlElement(PanelControlElementType.INFO_DIV, infoDiv); - var dataTab = Functions.createElement({ - type: "div", - style: "width:100%;display: table;border-spacing: 10px;" - }); - infoDiv.appendChild(dataTab); + var infoTitle = Functions.createElement({ + type: "h4", + content: "PROJECT INFO:" + }); + infoDiv.appendChild(infoTitle); - var projectNameLabel = Functions.createElement({ - type: "div", - content: "Name:" - }); - var projectNameText = Functions.createElement({ - type: "div", - style: "width:100%", - name: "projectNameText" - }); - this.setControlElement(PanelControlElementType.INFO_PROJECT_NAME_TEXT, projectNameText); - dataTab.appendChild(guiUtils.createTableRow([projectNameLabel, projectNameText])); + var dataTab = Functions.createElement({ + type: "div", + style: "width:100%;display: table;border-spacing: 10px;" + }); + infoDiv.appendChild(dataTab); - var projectVersionLabel = Functions.createElement({ - type: "div", - content: "Version:" - }); - var projectVersionText = Functions.createElement({ - type: "div", - style: "width:100%", - name: "projectVersionText" - }); - this.setControlElement(PanelControlElementType.INFO_PROJECT_VERSION_TEXT, projectVersionText); - dataTab.appendChild(guiUtils.createTableRow([projectVersionLabel, projectVersionText])); + var projectNameLabel = Functions.createElement({ + type: "div", + content: "Name:" + }); + var projectNameText = Functions.createElement({ + type: "div", + style: "width:100%", + name: "projectNameText" + }); + this.setControlElement(PanelControlElementType.INFO_PROJECT_NAME_TEXT, projectNameText); + dataTab.appendChild(guiUtils.createTableRow([projectNameLabel, projectNameText])); - infoTitle = Functions.createElement({ - type: "h4", - content: "Data:" - }); - infoDiv.appendChild(infoTitle); + var projectVersionLabel = Functions.createElement({ + type: "div", + content: "Version:" + }); + var projectVersionText = Functions.createElement({ + type: "div", + style: "width:100%", + name: "projectVersionText" + }); + this.setControlElement(PanelControlElementType.INFO_PROJECT_VERSION_TEXT, projectVersionText); + dataTab.appendChild(guiUtils.createTableRow([projectVersionLabel, projectVersionText])); - var dialogDiv = Functions.createElement({ - type: "div", - }); + infoTitle = Functions.createElement({ + type: "h4", + content: "Data:" + }); + infoDiv.appendChild(infoTitle); - this.publicationListDialog = new PublicationListDialog({ - customMap: self.getMap(), - element: dialogDiv, - }); + var dialogDiv = Functions.createElement({ + type: "div", + }); - dataTab = Functions.createElement({ - type: "ul", - }); - infoDiv.appendChild(dataTab); + this.publicationListDialog = new PublicationListDialog({ + customMap: self.getMap(), + element: dialogDiv, + }); - var projectPublicationsText = Functions.createElement({ - type: "span", - name: "projectPublicationsText", - style: "font-family:FontAwesome; font-weight: normal;font-style: normal;cursor: pointer", - }); - this.setControlElement(PanelControlElementType.INFO_PROJECT_PUBLICATIONS_TEXT, projectPublicationsText); + dataTab = Functions.createElement({ + type: "ul", + }); + infoDiv.appendChild(dataTab); - var projectPublicationsButton = Functions.createElement({ - type: "a", - name: "projectPublicationsButton", - }); - projectPublicationsButton.appendChild(Functions.createElement({ - type: "span", - content: "<i class='fa fa-list'> ", - })); - - projectPublicationsButton.appendChild(projectPublicationsText); - projectPublicationsButton.appendChild(Functions.createElement({ - type: "span", - style: "font-family:FontAwesome; font-weight: normal;font-style: normal;cursor: pointer", - content: " publication(s)", - })); - this.setControlElement(PanelControlElementType.INFO_PROJECT_SHOW_PUBLICATIONS_BUTTON, projectPublicationsButton); - - var liElement = Functions.createElement({ - type: "li", - style: "line-height: 30px;", - }); - liElement.appendChild(projectPublicationsButton); - dataTab.appendChild(liElement); - - var projectOriginalFileButton = Functions.createElement({ - type: "a", - name: "projectOriginalFileButton", - href: "#", - content: "<i class='fa fa-files-o'> source file", - }); - this.setControlElement(PanelControlElementType.INFO_PROJECT_GET_ORIGINAL_FILE_BUTTON, projectOriginalFileButton); - liElement = Functions.createElement({ - type: "li", - style: "line-height: 30px", - }); - liElement.appendChild(projectOriginalFileButton); - dataTab.appendChild(liElement); + var projectPublicationsText = Functions.createElement({ + type: "span", + name: "projectPublicationsText", + style: "font-family:FontAwesome; font-weight: normal;font-style: normal;cursor: pointer", + }); + this.setControlElement(PanelControlElementType.INFO_PROJECT_PUBLICATIONS_TEXT, projectPublicationsText); - var exportButton = Functions.createElement({ - type: "a", - href: ServerConnector.getServerBaseUrl() + "/export.xhtml?id=" + projectId, - content: '<i class="fa fa-mail-forward"> EXPORT', - }); - liElement = Functions.createElement({ - type: "li", - style: "line-height: 30px", - }); - liElement.appendChild(exportButton); - dataTab.appendChild(liElement); + var projectPublicationsButton = Functions.createElement({ + type: "a", + name: "projectPublicationsButton", + }); + projectPublicationsButton.appendChild(Functions.createElement({ + type: "span", + content: "<i class='fa fa-list'> ", + })); + + projectPublicationsButton.appendChild(projectPublicationsText); + projectPublicationsButton.appendChild(Functions.createElement({ + type: "span", + style: "font-family:FontAwesome; font-weight: normal;font-style: normal;cursor: pointer", + content: " publication(s)", + })); + this.setControlElement(PanelControlElementType.INFO_PROJECT_SHOW_PUBLICATIONS_BUTTON, projectPublicationsButton); + + var liElement = Functions.createElement({ + type: "li", + style: "line-height: 30px;", + }); + liElement.appendChild(projectPublicationsButton); + dataTab.appendChild(liElement); + + var projectOriginalFileButton = Functions.createElement({ + type: "a", + name: "projectOriginalFileButton", + href: "#", + content: "<i class='fa fa-files-o'> source file", + }); + this.setControlElement(PanelControlElementType.INFO_PROJECT_GET_ORIGINAL_FILE_BUTTON, projectOriginalFileButton); + liElement = Functions.createElement({ + type: "li", + style: "line-height: 30px", + }); + liElement.appendChild(projectOriginalFileButton); + dataTab.appendChild(liElement); - var manualButton = Functions.createElement({ - type: "a", - name: "manualLink", - content: '<i class="fa fa-file"> MANUAL', - }); - manualButton.href = "#"; - manualButton.onclick = function () { - return ServerConnector.getConfigurationParam(ConfigurationType.USER_MANUAL_FILE).then(function (manualFileUrl) { - var win = window.open(manualFileUrl, '_user_manual_'); - win.focus(); - }); - }; - liElement = Functions.createElement({ - type: "li", - style: "line-height: 30px", + var exportButton = Functions.createElement({ + type: "a", + href: ServerConnector.getServerBaseUrl() + "/export.xhtml?id=" + projectId, + content: '<i class="fa fa-mail-forward"> EXPORT', + }); + liElement = Functions.createElement({ + type: "li", + style: "line-height: 30px", + }); + liElement.appendChild(exportButton); + dataTab.appendChild(liElement); + + var manualButton = Functions.createElement({ + type: "a", + name: "manualLink", + content: '<i class="fa fa-file"> MANUAL', + }); + manualButton.href = "#"; + manualButton.onclick = function () { + return ServerConnector.getConfigurationParam(ConfigurationType.USER_MANUAL_FILE).then(function (manualFileUrl) { + var win = window.open(manualFileUrl, '_user_manual_'); + win.focus(); }); - liElement.appendChild(manualButton); - dataTab.appendChild(liElement); + }; + liElement = Functions.createElement({ + type: "li", + style: "line-height: 30px", + }); + liElement.appendChild(manualButton); + dataTab.appendChild(liElement); }; ProjectInfoPanel.prototype._createInfoPanelLogic = function () { - var self = this; + var self = this; - var downloadSourceButton = self.getControlElement(PanelControlElementType.INFO_PROJECT_GET_ORIGINAL_FILE_BUTTON); - var showPublicationsButton = self.getControlElement(PanelControlElementType.INFO_PROJECT_SHOW_PUBLICATIONS_BUTTON); + var downloadSourceButton = self.getControlElement(PanelControlElementType.INFO_PROJECT_GET_ORIGINAL_FILE_BUTTON); + var showPublicationsButton = self.getControlElement(PanelControlElementType.INFO_PROJECT_SHOW_PUBLICATIONS_BUTTON); - downloadSourceButton.onclick = function () { - return self.downloadSourceFile(); - }; - showPublicationsButton.onclick = function () { - return self.showPublicationListDialog(); - }; + downloadSourceButton.onclick = function () { + return self.downloadSourceFile(); + }; + showPublicationsButton.onclick = function () { + return self.showPublicationListDialog(); + }; }; ProjectInfoPanel.prototype.downloadSourceFile = function () { - var self = this; - return ServerConnector.getProjectSourceDownloadUrl().then(function (url) { - return self.downloadFile(url); - }).then(null, GuiConnector.alert); + var self = this; + return ServerConnector.getProjectSourceDownloadUrl().then(function (url) { + return self.downloadFile(url); + }).then(null, GuiConnector.alert); }; ProjectInfoPanel.prototype.showPublicationListDialog = function () { - return this.publicationListDialog.show(); + return this.publicationListDialog.show(); }; ProjectInfoPanel.prototype.refresh = function () { - var self = this; - - var projectNameText = self.getControlElement(PanelControlElementType.INFO_PROJECT_NAME_TEXT); - var projectVersionText = self.getControlElement(PanelControlElementType.INFO_PROJECT_VERSION_TEXT); - var projectPublicationsText = self.getControlElement(PanelControlElementType.INFO_PROJECT_PUBLICATIONS_TEXT); - - return ServerConnector.getProject().then(function (project) { - projectNameText.innerHTML = project.getName(); - projectVersionText.innerHTML = project.getVersion(); - return ServerConnector.getProjectStatistics(); - }).then(function (statistics) { - projectPublicationsText.innerHTML = statistics.getPublicationCount(); - return ServerConnector.getLoggedUser(); - }).then(function (user) { - self.showUserProfilePage(user); - }); + var self = this; + + var projectNameText = self.getControlElement(PanelControlElementType.INFO_PROJECT_NAME_TEXT); + var projectVersionText = self.getControlElement(PanelControlElementType.INFO_PROJECT_VERSION_TEXT); + var projectPublicationsText = self.getControlElement(PanelControlElementType.INFO_PROJECT_PUBLICATIONS_TEXT); + + return ServerConnector.getProject().then(function (project) { + projectNameText.innerHTML = project.getName(); + projectVersionText.innerHTML = project.getVersion(); + return ServerConnector.getProjectStatistics(); + }).then(function (statistics) { + projectPublicationsText.innerHTML = statistics.getPublicationCount(); + return ServerConnector.getLoggedUser(); + }).then(function (user) { + self.showUserProfilePage(user); + }); }; ProjectInfoPanel.prototype._createUserDataTab = function () { - var self = this; - var guiUtils = self.getGuiUtils(); - var userDataDiv = Functions.createElement({ - type: "div", - name: "userDataTab", - className: "searchPanel", - style: "display:none" - }); - this.getElement().appendChild(userDataDiv); - this.setControlElement(PanelControlElementType.USER_TAB_USER_DIV, userDataDiv); + var self = this; + var guiUtils = self.getGuiUtils(); + var userDataDiv = Functions.createElement({ + type: "div", + name: "userDataTab", + className: "searchPanel", + style: "display:none" + }); + this.getElement().appendChild(userDataDiv); + this.setControlElement(PanelControlElementType.USER_TAB_USER_DIV, userDataDiv); - var userDataTitle = Functions.createElement({ - type: "h3", - content: '<img src="./resources/images/profile.png" border="0" align="left"/><br/>User data<br/>' - }); - userDataDiv.appendChild(userDataTitle); + var userDataTitle = Functions.createElement({ + type: "h3", + content: '<img src="./resources/images/profile.png" border="0" align="left"/><br/>User data<br/>' + }); + userDataDiv.appendChild(userDataTitle); - var userDataFormTab = Functions.createElement({ - type: "div", - style: "width:100%;display: table;border-spacing: 10px;" - }); - userDataDiv.appendChild(userDataFormTab); + var userDataFormTab = Functions.createElement({ + type: "div", + style: "width:100%;display: table;border-spacing: 10px;" + }); + userDataDiv.appendChild(userDataFormTab); - var loginLabel = Functions.createElement({ - type: "span", - content: "LOGIN:", - style: "color:#999999" - }); - var loginText = Functions.createElement({ - type: "span", - name: "loginValue" - }); - this.setControlElement(PanelControlElementType.USER_TAB_LOGIN_TEXT, loginText); - userDataDiv.appendChild(guiUtils.createTableRow([loginLabel, loginText])); + var loginLabel = Functions.createElement({ + type: "span", + content: "LOGIN:", + style: "color:#999999" + }); + var loginText = Functions.createElement({ + type: "span", + name: "loginValue" + }); + this.setControlElement(PanelControlElementType.USER_TAB_LOGIN_TEXT, loginText); + userDataDiv.appendChild(guiUtils.createTableRow([loginLabel, loginText])); - var nameLabel = Functions.createElement({ - type: "span", - content: "NAME:", - style: "color:#999999" - }); - var nameText = Functions.createElement({ - type: "span", - name: "nameValue" - }); - this.setControlElement(PanelControlElementType.USER_TAB_NAME_TEXT, nameText); - userDataDiv.appendChild(guiUtils.createTableRow([nameLabel, nameText])); + var nameLabel = Functions.createElement({ + type: "span", + content: "NAME:", + style: "color:#999999" + }); + var nameText = Functions.createElement({ + type: "span", + name: "nameValue" + }); + this.setControlElement(PanelControlElementType.USER_TAB_NAME_TEXT, nameText); + userDataDiv.appendChild(guiUtils.createTableRow([nameLabel, nameText])); - var surnameLabel = Functions.createElement({ - type: "span", - content: "SURNAME:", - style: "color:#999999" - }); - var surnameText = Functions.createElement({ - type: "span", - name: "surnameValue" - }); - this.setControlElement(PanelControlElementType.USER_TAB_SURNAME_TEXT, surnameText); - userDataDiv.appendChild(guiUtils.createTableRow([surnameLabel, surnameText])); + var surnameLabel = Functions.createElement({ + type: "span", + content: "SURNAME:", + style: "color:#999999" + }); + var surnameText = Functions.createElement({ + type: "span", + name: "surnameValue" + }); + this.setControlElement(PanelControlElementType.USER_TAB_SURNAME_TEXT, surnameText); + userDataDiv.appendChild(guiUtils.createTableRow([surnameLabel, surnameText])); - var emailLabel = Functions.createElement({ - type: "span", - content: "EMAIL:", - style: "color:#999999" - }); - var emailText = Functions.createElement({ - type: "span", - name: "emailValue" - }); - self.setControlElement(PanelControlElementType.USER_TAB_EMAIL_TEXT, emailText); - userDataDiv.appendChild(guiUtils.createTableRow([emailLabel, emailText])); + var emailLabel = Functions.createElement({ + type: "span", + content: "EMAIL:", + style: "color:#999999" + }); + var emailText = Functions.createElement({ + type: "span", + name: "emailValue" + }); + self.setControlElement(PanelControlElementType.USER_TAB_EMAIL_TEXT, emailText); + userDataDiv.appendChild(guiUtils.createTableRow([emailLabel, emailText])); - var centerTag = Functions.createElement({ - type: "center" - }); - userDataDiv.appendChild(centerTag); + var centerTag = Functions.createElement({ + type: "center" + }); + userDataDiv.appendChild(centerTag); - var logoutButton = Functions.createElement({ - type: "button", - name: "logoutButton", - content: "LOGOUT" - }); - centerTag.appendChild(logoutButton); - self.setControlElement(PanelControlElementType.USER_TAB_LOGOUT_BUTTON, logoutButton); - self.setControlElement(PanelControlElementType.USER_TAB_USER_DIV, userDataDiv); + var logoutButton = Functions.createElement({ + type: "button", + name: "logoutButton", + content: "LOGOUT" + }); + centerTag.appendChild(logoutButton); + self.setControlElement(PanelControlElementType.USER_TAB_LOGOUT_BUTTON, logoutButton); + self.setControlElement(PanelControlElementType.USER_TAB_USER_DIV, userDataDiv); var loginTabDiv = Functions.createElement({ type: "div", @@ -322,34 +322,34 @@ ProjectInfoPanel.prototype._createUserDataTab = function () { return self.getParent().getLoginDialog().open(); }; - self.getElement().appendChild(loginTabDiv); - self.setControlElement(PanelControlElementType.USER_TAB_LOGIN_DIV, loginTabDiv); + self.getElement().appendChild(loginTabDiv); + self.setControlElement(PanelControlElementType.USER_TAB_LOGIN_DIV, loginTabDiv); }; ProjectInfoPanel.prototype.showUserProfilePage = function (user) { - var self = this; - var userDataTabDiv = self.getControlElement(PanelControlElementType.USER_TAB_USER_DIV); - var userLoginTabDiv = self.getControlElement(PanelControlElementType.USER_TAB_LOGIN_DIV); - if (user.getLogin() !== "anonymous") { - var loginText = self.getControlElement(PanelControlElementType.USER_TAB_LOGIN_TEXT); - var nameText = self.getControlElement(PanelControlElementType.USER_TAB_NAME_TEXT); - var surnameText = self.getControlElement(PanelControlElementType.USER_TAB_SURNAME_TEXT); - var emailText = self.getControlElement(PanelControlElementType.USER_TAB_EMAIL_TEXT); - - userLoginTabDiv.style.display = "none"; - userDataTabDiv.style.display = "block"; - - loginText.innerHTML = user.getLogin(); - nameText.innerHTML = user.getName(); - surnameText.innerHTML = user.getSurname(); - emailText.innerHTML = user.getEmail(); - } else { - - userLoginTabDiv.style.display = "block"; - userDataTabDiv.style.display = "none"; - } + var self = this; + var userDataTabDiv = self.getControlElement(PanelControlElementType.USER_TAB_USER_DIV); + var userLoginTabDiv = self.getControlElement(PanelControlElementType.USER_TAB_LOGIN_DIV); + if (user.getLogin() !== "anonymous") { + var loginText = self.getControlElement(PanelControlElementType.USER_TAB_LOGIN_TEXT); + var nameText = self.getControlElement(PanelControlElementType.USER_TAB_NAME_TEXT); + var surnameText = self.getControlElement(PanelControlElementType.USER_TAB_SURNAME_TEXT); + var emailText = self.getControlElement(PanelControlElementType.USER_TAB_EMAIL_TEXT); + + userLoginTabDiv.style.display = "none"; + userDataTabDiv.style.display = "block"; + + loginText.innerHTML = user.getLogin(); + nameText.innerHTML = user.getName(); + surnameText.innerHTML = user.getSurname(); + emailText.innerHTML = user.getEmail(); + } else { + + userLoginTabDiv.style.display = "block"; + userDataTabDiv.style.display = "none"; + } }; ProjectInfoPanel.prototype.init = function () { @@ -362,6 +362,6 @@ ProjectInfoPanel.prototype.init = function () { }; ProjectInfoPanel.prototype.destroy = function () { - return this.publicationListDialog.destroy(); -} + return this.publicationListDialog.destroy(); +}; module.exports = ProjectInfoPanel; diff --git a/frontend-js/src/main/js/minerva.js b/frontend-js/src/main/js/minerva.js index 85dea4e3fd..f512561d04 100644 --- a/frontend-js/src/main/js/minerva.js +++ b/frontend-js/src/main/js/minerva.js @@ -29,631 +29,631 @@ var logger = require('./logger'); var customMap, leftPanel, topMenu, legend, mapContextMenu, selectionContextMenu; function processUrlGetParams(params) { - var project = params.getProject(); - var sessionData = ServerConnector.getSessionData(project); - - var modelId = project.getModel().getId(); - if (GuiConnector.getParams["submap"] !== undefined) { - modelId = parseInt(GuiConnector.getParams["submap"]); - } - - var model = project.getModel().getSubmodelById(modelId); - - if (GuiConnector.getParams["x"] !== undefined && GuiConnector.getParams["y"] !== undefined) { - var point = new google.maps.Point(GuiConnector.getParams["x"], GuiConnector.getParams["y"]); - sessionData.setCenter(model, point); - } - if (GuiConnector.getParams["zoom"] !== undefined) { - sessionData.setZoomLevel(model, GuiConnector.getParams["zoom"]); - } - - if (GuiConnector.getParams["comments"] === "on") { - sessionData.setShowComments(true); - } - if (GuiConnector.getParams["search"] !== undefined) { - var query = SearchDbOverlay.prototype.encodeQuery(AbstractDbOverlay.QueryType.SEARCH_BY_QUERY, - GuiConnector.getParams["search"]); - sessionData.setSearchQuery(query); - } + var project = params.getProject(); + var sessionData = ServerConnector.getSessionData(project); + + var modelId = project.getModel().getId(); + if (GuiConnector.getParams["submap"] !== undefined) { + modelId = parseInt(GuiConnector.getParams["submap"]); + } + + var model = project.getModel().getSubmodelById(modelId); + + if (GuiConnector.getParams["x"] !== undefined && GuiConnector.getParams["y"] !== undefined) { + var point = new google.maps.Point(GuiConnector.getParams["x"], GuiConnector.getParams["y"]); + sessionData.setCenter(model, point); + } + if (GuiConnector.getParams["zoom"] !== undefined) { + sessionData.setZoomLevel(model, GuiConnector.getParams["zoom"]); + } + + if (GuiConnector.getParams["comments"] === "on") { + sessionData.setShowComments(true); + } + if (GuiConnector.getParams["search"] !== undefined) { + var query = SearchDbOverlay.prototype.encodeQuery(AbstractDbOverlay.QueryType.SEARCH_BY_QUERY, + GuiConnector.getParams["search"]); + sessionData.setSearchQuery(query); + } } function insertGoogleAnalyticsCode() { - return ServerConnector.getConfigurationParam(ConfigurationType.GOOGLE_ANALYTICS_IDENTIFIER).then( - function (identifier) { - if (identifier === "" || identifier === undefined || identifier === null) { - return; - } else { - global._gaq = global._gaq || []; - global._gaq.push(['_setAccount', identifier]); - global._gaq.push(['_trackPageview']); - - (function () { - var ga = document.createElement('script'); - ga.type = 'text/javascript'; - ga.async = true; - ga.src = ('https:' === document.location.protocol ? 'https://ssl' : 'http://www') - + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; - s.parentNode.insertBefore(ga, s); - })(); - return; - } - }); + return ServerConnector.getConfigurationParam(ConfigurationType.GOOGLE_ANALYTICS_IDENTIFIER).then( + function (identifier) { + if (identifier === "" || identifier === undefined || identifier === null) { + return; + } else { + global._gaq = global._gaq || []; + global._gaq.push(['_setAccount', identifier]); + global._gaq.push(['_trackPageview']); + + (function () { + var ga = document.createElement('script'); + ga.type = 'text/javascript'; + ga.async = true; + ga.src = ('https:' === document.location.protocol ? 'https://ssl' : 'http://www') + + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; + s.parentNode.insertBefore(ga, s); + })(); + return; + } + }); } function createDivStructure(element) { - var leftPanelDiv = functions.createElement({ - type: "div", - name: "leftPanelDiv", - className: "minerva-left-panel", - }); - element.appendChild(leftPanelDiv); - var rightPanelDiv = functions.createElement({ - type: "div", - style: "display: table-cell;height:100%;width:100%;", - }); - element.appendChild(rightPanelDiv); - - var rightPanelContainerDiv = functions.createElement({ - type: "div", - style: "height:100%;width:100%;position:relative", - }); - rightPanelDiv.appendChild(rightPanelContainerDiv); - - var menuDiv = functions.createElement({ - type: "div", - name: "menuDiv", - className: "menuBelt", - }); - rightPanelContainerDiv.appendChild(menuDiv); - - var mapDiv = functions.createElement({ - type: "div", - name: "mapDiv", - className: "mapClass", - }); - rightPanelContainerDiv.appendChild(mapDiv); - - var legendDiv = functions.createElement({ - type: "div", - name: "legendDiv", - className: "minerva-legend", - style: "display:none", - }); - rightPanelContainerDiv.appendChild(legendDiv); - - var contextMenu = functions.createElement({ - type: "ul", - name: "contextMenu", - }); - element.appendChild(contextMenu); - var selectionContextMenu = functions.createElement({ - type: "ul", - name: "selectionContextMenu", - }); - element.appendChild(selectionContextMenu); + var leftPanelDiv = functions.createElement({ + type: "div", + name: "leftPanelDiv", + className: "minerva-left-panel", + }); + element.appendChild(leftPanelDiv); + var rightPanelDiv = functions.createElement({ + type: "div", + style: "display: table-cell;height:100%;width:100%;", + }); + element.appendChild(rightPanelDiv); + + var rightPanelContainerDiv = functions.createElement({ + type: "div", + style: "height:100%;width:100%;position:relative", + }); + rightPanelDiv.appendChild(rightPanelContainerDiv); + + var menuDiv = functions.createElement({ + type: "div", + name: "menuDiv", + className: "menuBelt", + }); + rightPanelContainerDiv.appendChild(menuDiv); + + var mapDiv = functions.createElement({ + type: "div", + name: "mapDiv", + className: "mapClass", + }); + rightPanelContainerDiv.appendChild(mapDiv); + + var legendDiv = functions.createElement({ + type: "div", + name: "legendDiv", + className: "minerva-legend", + style: "display:none", + }); + rightPanelContainerDiv.appendChild(legendDiv); + + var contextMenu = functions.createElement({ + type: "ul", + name: "contextMenu", + }); + element.appendChild(contextMenu); + var selectionContextMenu = functions.createElement({ + type: "ul", + name: "selectionContextMenu", + }); + element.appendChild(selectionContextMenu); } function getFullElements(customMap, identifiedElements) { - var result = []; - return Promise.each( - identifiedElements, - function (item) { - if (item.length === undefined) { - return customMap.getSubmapById(item.getModelId()).getModel().getByIdentifiedElement(item, true).then( - function (fullElement) { - result.push(fullElement); - }); - } else { - return getFullElements(customMap, item).then(function (resultRow) { - result.push(resultRow); - }); - } - }).then(function () { - return result; - }); + var result = []; + return Promise.each( + identifiedElements, + function (item) { + if (item.length === undefined) { + return customMap.getSubmapById(item.getModelId()).getModel().getByIdentifiedElement(item, true).then( + function (fullElement) { + result.push(fullElement); + }); + } else { + return getFullElements(customMap, item).then(function (resultRow) { + result.push(resultRow); + }); + } + }).then(function () { + return result; + }); } function getOverlayByName(customMap, dbOverlayName) { - var dbOverlay = customMap.getOverlayByName(dbOverlayName); - if (dbOverlay === null) { - var validOverlays = ""; - var overlays = customMap.getDbOverlays(); - for (var overlay in overlays) { - if (overlays.hasOwnProperty(overlay)) { - validOverlays += overlay.getName() + ", "; - } - } - throw new Error("Invalid DbOverlay: " + dbOverlayName + ". Valid DbOverlays: " + validOverlays); - } else { - return dbOverlay; + var dbOverlay = customMap.getOverlayByName(dbOverlayName); + if (dbOverlay === null) { + var validOverlays = ""; + var overlays = customMap.getDbOverlays(); + for (var overlay in overlays) { + if (overlays.hasOwnProperty(overlay)) { + validOverlays += overlay.getName() + ", "; + } } + throw new Error("Invalid DbOverlay: " + dbOverlayName + ". Valid DbOverlays: " + validOverlays); + } else { + return dbOverlay; + } } function createMarkerElements(options) { - var params = options.params; - var filteredType = options.filteredType; - var isDefault = options.isDefault; - - var markerElements = []; - if (params.length === undefined) { - params = [params]; - } - for (var i = 0; i < params.length; i++) { - var elementParam = params[i]; - if (elementParam.type === undefined && isDefault) { - markerElements.push({ - element: elementParam.element, - }); - } else if (elementParam.type === filteredType) { - markerElements.push({ - element: elementParam.element, - options: elementParam.options, - }); - } else if (elementParam.type !== "ICON" && elementParam.type !== "SURFACE") { - throw new Error("Unknown type:" + elementParam.type); - } + var params = options.params; + var filteredType = options.filteredType; + var isDefault = options.isDefault; + + var markerElements = []; + if (params.length === undefined) { + params = [params]; + } + for (var i = 0; i < params.length; i++) { + var elementParam = params[i]; + if (elementParam.type === undefined && isDefault) { + markerElements.push({ + element: elementParam.element, + }); + } else if (elementParam.type === filteredType) { + markerElements.push({ + element: elementParam.element, + options: elementParam.options, + }); + } else if (elementParam.type !== "ICON" && elementParam.type !== "SURFACE") { + throw new Error("Unknown type:" + elementParam.type); } - return markerElements; + } + return markerElements; } function getElements(elementIdentifiers, customMap) { - var identifiedElements = []; + var identifiedElements = []; - var elementsByModelId = []; - for (var i = 0; i < elementIdentifiers.length; i++) { - var identifiedElement = new IdentifiedElement(elementIdentifiers[i]); - if (elementsByModelId[identifiedElement.getModelId()] === undefined) { - elementsByModelId[identifiedElement.getModelId()] = []; - } - elementsByModelId[identifiedElement.getModelId()].push(identifiedElement); - identifiedElements.push(identifiedElement); + var elementsByModelId = []; + for (var i = 0; i < elementIdentifiers.length; i++) { + var identifiedElement = new IdentifiedElement(elementIdentifiers[i]); + if (elementsByModelId[identifiedElement.getModelId()] === undefined) { + elementsByModelId[identifiedElement.getModelId()] = []; } - - var modelScopePromises = []; - for (var key in elementsByModelId) { - if (elementsByModelId.hasOwnProperty(key)) { - var model = customMap.getModel().getSubmodelById(parseInt(key)); - modelScopePromises.push(model.getByIdentifiedElements(elementsByModelId[key], true)); - } + elementsByModelId[identifiedElement.getModelId()].push(identifiedElement); + identifiedElements.push(identifiedElement); + } + + var modelScopePromises = []; + for (var key in elementsByModelId) { + if (elementsByModelId.hasOwnProperty(key)) { + var model = customMap.getModel().getSubmodelById(parseInt(key)); + modelScopePromises.push(model.getByIdentifiedElements(elementsByModelId[key], true)); } - // first promise fetch all data - return Promise.all(modelScopePromises).then(function () { - // this promise return result in the right order - var elementPromises = []; - for (var i = 0; i < identifiedElements.length; i++) { - var element = identifiedElements[i]; - var model = customMap.getModel().getSubmodelById(element.getModelId()); - var promise = model.getByIdentifiedElement(element, true); - elementPromises.push(promise); - } - return Promise.all(elementPromises); - }); + } + // first promise fetch all data + return Promise.all(modelScopePromises).then(function () { + // this promise return result in the right order + var elementPromises = []; + for (var i = 0; i < identifiedElements.length; i++) { + var element = identifiedElements[i]; + var model = customMap.getModel().getSubmodelById(element.getModelId()); + var promise = model.getByIdentifiedElement(element, true); + elementPromises.push(promise); + } + return Promise.all(elementPromises); + }); } function getReactionsForElements(elementIdentifiers, customMap) { - var elementsByModelId = []; - for (var i = 0; i < elementIdentifiers.length; i++) { - var identifiedElement = new IdentifiedElement(elementIdentifiers[i]); - if (elementsByModelId[identifiedElement.getModelId()] === undefined) { - elementsByModelId[identifiedElement.getModelId()] = []; - } - elementsByModelId[identifiedElement.getModelId()].push(identifiedElement); + var elementsByModelId = []; + for (var i = 0; i < elementIdentifiers.length; i++) { + var identifiedElement = new IdentifiedElement(elementIdentifiers[i]); + if (elementsByModelId[identifiedElement.getModelId()] === undefined) { + elementsByModelId[identifiedElement.getModelId()] = []; } - - var modelScopePromises = []; - for (var key in elementsByModelId) { - if (elementsByModelId.hasOwnProperty(key)) { - var model = customMap.getModel().getSubmodelById(parseInt(key)); - var promise = model.getReactionsForElements(elementsByModelId[key], true); - modelScopePromises.push(promise); - } + elementsByModelId[identifiedElement.getModelId()].push(identifiedElement); + } + + var modelScopePromises = []; + for (var key in elementsByModelId) { + if (elementsByModelId.hasOwnProperty(key)) { + var model = customMap.getModel().getSubmodelById(parseInt(key)); + var promise = model.getReactionsForElements(elementsByModelId[key], true); + modelScopePromises.push(promise); } + } - // first promise fetch all data - return Promise.all(modelScopePromises).then(function (reactionResult) { - var result = []; - for (var i = 0; i < reactionResult.length; i++) { - result = result.concat(reactionResult[i]); - } - return result; - }); + // first promise fetch all data + return Promise.all(modelScopePromises).then(function (reactionResult) { + var result = []; + for (var i = 0; i < reactionResult.length; i++) { + result = result.concat(reactionResult[i]); + } + return result; + }); } function createResult(customMap) { - return { - getVisibleDataOverlays: function () { - return customMap.getVisibleDataOverlays(); - }, - addListener: function (param) { - var dbOverlay = getOverlayByName(customMap, param.dbOverlayName); - dbOverlay.addListener(param.type, function (e) { - return getFullElements(customMap, e.arg.identifiedElements).then(function (result) { - return param.callback(result); - }); - }); - }, - getHighlightedBioEntities: function (dbOverlayName) { - if (dbOverlayName === undefined) { - dbOverlayName = "user"; - } - var dbOverlay = getOverlayByName(customMap, dbOverlayName); - var identifiedElements; - return dbOverlay.getIdentifiedElements().then(function (result) { - identifiedElements = result; - return getFullElements(customMap, identifiedElements); - }).then(function (fullElements) { - var result = []; - for (var i = 0; i < identifiedElements.length; i++) { - var type; - if (identifiedElements[i].getIcon() !== undefined) { - type = "ICON"; - } else { - type = "SURFACE"; - } - var row = { - element: fullElements[i], - type: type, - options: { - icon: identifiedElements[i].getIcon(), - color: identifiedElements[i].getColor(), - opacity: identifiedElements[i].getOpacity(), - } - }; - result.push(row); - } - return result; - }); - }, - getProject: function () { - return customMap.getProject(); - }, - getConfiguration: function () { - return ServerConnector.getConfiguration(); - }, - getBioEntityById: function (param) { - var isArray = true; - if (param.length === undefined) { - param = [param]; - isArray = false; - } - return getElements(param, customMap).then(function (result) { - if (!isArray) { - return result[0]; - } else { - return result; - } - }); - }, - getAllBioEntities: function () { - var models = [customMap.getModel()]; - var result = []; - for (var i = 0; i < customMap.getModel().getSubmodels().length; i++) { - models.push(customMap.getModel().getSubmodels()[i]); - } - var promises = []; - for (var i = 0; i < models.length; i++) { - promises.push(models[i].getAliases({ - type: customMap.getConfiguration().getElementTypes(), - complete: true, - })); - } - return Promise.all(promises).then(function (aliasesByModel) { - var promises = []; - for (var i = 0; i < models.length; i++) { - promises.push(models[i].getReactionsForElements(aliasesByModel[i], true)); - for (var j = 0; j < aliasesByModel[i].length; j++) { - result.push(aliasesByModel[i][j]); - } - } - return Promise.all(promises); - }).then(function (reactionsByModel) { - for (var i = 0; i < models.length; i++) { - for (var j = 0; j < reactionsByModel[i].length; j++) { - result.push(reactionsByModel[i][j]); - } - } - return result; - }); - }, - getReactionsWithElement: function (param) { - if (param.length === undefined) { - param = [param]; - } - return getReactionsForElements(param, customMap); - }, - destroy: function () { - return leftPanel.destroy().then(function () { - customMap.destroy(); - return topMenu.destroy(); - }); - }, - showBioEntity: function (params) { - var iconElements = createMarkerElements({ - params: params, - filteredType: "ICON", - isDefault: true - }); - var surfaceElements = createMarkerElements({ - params: params, - filteredType: "SURFACE", - isDefault: false - }); - return customMap.getOverlayByName("user").addMarker(iconElements).then(function () { - return customMap.getOverlayByName("user").addSurface(surfaceElements); - }); - }, - hideBioEntity: function (params) { - var iconElements = createMarkerElements({ - params: params, - filteredType: "ICON", - isDefault: true - }); - var surfaceElements = createMarkerElements({ - params: params, - filteredType: "SURFACE", - isDefault: false - }); - return customMap.getOverlayByName("user").removeMarker(iconElements).then(function () { - return customMap.getOverlayByName("user").removeSurface(surfaceElements); - }); - }, - setCenter: function (params) { - var submap = customMap.getSubmapById(params.modelId); - if (submap === null) { - throw new Error("Unknown modelId: " + params.modelId); - } - return submap.setCenter(new google.maps.Point(params.x, params.y)); - }, - fitBounds: function (params) { - var submap = customMap.getSubmapById(params.modelId); - if (submap === null) { - throw new Error("Unknown modelId: " + params.modelId); - } - var p1 = new google.maps.Point(params.x1, params.y1); - var p2 = new google.maps.Point(params.x2, params.y2); - var latLng1 = submap.fromPointToLatLng(p1); - var latLng2 = submap.fromPointToLatLng(p2); - var bounds = new google.maps.LatLngBounds(); - bounds.extend(latLng1); - bounds.extend(latLng2); - return submap.getGoogleMap().fitBounds(bounds); - }, - setZoom: function (params) { - var submap = customMap.getSubmapById(params.modelId); - if (submap === null) { - throw new Error("Unknown modelId: " + params.modelId); + return { + getVisibleDataOverlays: function () { + return customMap.getVisibleDataOverlays(); + }, + addListener: function (param) { + var dbOverlay = getOverlayByName(customMap, param.dbOverlayName); + dbOverlay.addListener(param.type, function (e) { + return getFullElements(customMap, e.arg.identifiedElements).then(function (result) { + return param.callback(result); + }); + }); + }, + getHighlightedBioEntities: function (dbOverlayName) { + if (dbOverlayName === undefined) { + dbOverlayName = "user"; + } + var dbOverlay = getOverlayByName(customMap, dbOverlayName); + var identifiedElements; + return dbOverlay.getIdentifiedElements().then(function (result) { + identifiedElements = result; + return getFullElements(customMap, identifiedElements); + }).then(function (fullElements) { + var result = []; + for (var i = 0; i < identifiedElements.length; i++) { + var type; + if (identifiedElements[i].getIcon() !== undefined) { + type = "ICON"; + } else { + type = "SURFACE"; + } + var row = { + element: fullElements[i], + type: type, + options: { + icon: identifiedElements[i].getIcon(), + color: identifiedElements[i].getColor(), + opacity: identifiedElements[i].getOpacity(), } - return submap.setZoom(params.zoom); - }, - }; -} - -function initGlobals(params) { - if (global.GuiConnector === undefined) { - global.GuiConnector = OriginalGuiConnector; - global.ServerConnector = OriginalServerConnector; - if (params.isDebug()) { - logger.setLevel("debug"); + }; + result.push(row); + } + return result; + }); + }, + getProject: function () { + return customMap.getProject(); + }, + getConfiguration: function () { + return ServerConnector.getConfiguration(); + }, + getBioEntityById: function (param) { + var isArray = true; + if (param.length === undefined) { + param = [param]; + isArray = false; + } + return getElements(param, customMap).then(function (result) { + if (!isArray) { + return result[0]; } else { - logger.setLevel("info"); + return result; + } + }); + }, + getAllBioEntities: function () { + var models = [customMap.getModel()]; + var result = []; + for (var i = 0; i < customMap.getModel().getSubmodels().length; i++) { + models.push(customMap.getModel().getSubmodels()[i]); + } + var promises = []; + for (var i = 0; i < models.length; i++) { + promises.push(models[i].getAliases({ + type: customMap.getConfiguration().getElementTypes(), + complete: true, + })); + } + return Promise.all(promises).then(function (aliasesByModel) { + var promises = []; + for (var i = 0; i < models.length; i++) { + promises.push(models[i].getReactionsForElements(aliasesByModel[i], true)); + for (var j = 0; j < aliasesByModel[i].length; j++) { + result.push(aliasesByModel[i][j]); + } } - GuiConnector.init(); - if (GuiConnector.getParams['debug'] !== undefined) { - logger.setLevel("debug"); + return Promise.all(promises); + }).then(function (reactionsByModel) { + for (var i = 0; i < models.length; i++) { + for (var j = 0; j < reactionsByModel[i].length; j++) { + result.push(reactionsByModel[i][j]); + } } + return result; + }); + }, + getReactionsWithElement: function (param) { + if (param.length === undefined) { + param = [param]; + } + return getReactionsForElements(param, customMap); + }, + destroy: function () { + return leftPanel.destroy().then(function () { + customMap.destroy(); + return topMenu.destroy(); + }); + }, + showBioEntity: function (params) { + var iconElements = createMarkerElements({ + params: params, + filteredType: "ICON", + isDefault: true + }); + var surfaceElements = createMarkerElements({ + params: params, + filteredType: "SURFACE", + isDefault: false + }); + return customMap.getOverlayByName("user").addMarker(iconElements).then(function () { + return customMap.getOverlayByName("user").addSurface(surfaceElements); + }); + }, + hideBioEntity: function (params) { + var iconElements = createMarkerElements({ + params: params, + filteredType: "ICON", + isDefault: true + }); + var surfaceElements = createMarkerElements({ + params: params, + filteredType: "SURFACE", + isDefault: false + }); + return customMap.getOverlayByName("user").removeMarker(iconElements).then(function () { + return customMap.getOverlayByName("user").removeSurface(surfaceElements); + }); + }, + setCenter: function (params) { + var submap = customMap.getSubmapById(params.modelId); + if (submap === null) { + throw new Error("Unknown modelId: " + params.modelId); + } + return submap.setCenter(new google.maps.Point(params.x, params.y)); + }, + fitBounds: function (params) { + var submap = customMap.getSubmapById(params.modelId); + if (submap === null) { + throw new Error("Unknown modelId: " + params.modelId); + } + var p1 = new google.maps.Point(params.x1, params.y1); + var p2 = new google.maps.Point(params.x2, params.y2); + var latLng1 = submap.fromPointToLatLng(p1); + var latLng2 = submap.fromPointToLatLng(p2); + var bounds = new google.maps.LatLngBounds(); + bounds.extend(latLng1); + bounds.extend(latLng2); + return submap.getGoogleMap().fitBounds(bounds); + }, + setZoom: function (params) { + var submap = customMap.getSubmapById(params.modelId); + if (submap === null) { + throw new Error("Unknown modelId: " + params.modelId); + } + return submap.setZoom(params.zoom); + }, + }; +} + +function initGlobals(params) { + if (global.GuiConnector === undefined) { + global.GuiConnector = OriginalGuiConnector; + global.ServerConnector = OriginalServerConnector; + if (params.isDebug()) { + logger.setLevel("debug"); } else { - logger.warn("global GuiConnector found"); + logger.setLevel("info"); + } + GuiConnector.init(); + if (GuiConnector.getParams['debug'] !== undefined) { + logger.setLevel("debug"); } + } else { + logger.warn("global GuiConnector found"); + } } function verifyBrowser() { - var browser = functions.browser; - if (browser.name === "IE") { - if (browser.version <= 8 || browser.compatibilityMode) { - var message = "This webpage works only with Internet Explorer version 9 or greater.\n" - + "If you have Internet Explorer version 9 or greater and still see this message, please, turn the 'Compatibility modeoff:\n" - + "Open Internet Explorer and press the Alt key on your keyboard.\n" - + "Select 'Tools' menu item. \n" - + "Select the 'Compatibility View' settings option. \n" - + "Make sure the 'Display all websites in Compatibility View' check box is unchecked and that the 'Compatibility View; list of websites is cleared.\n" - + "\n" + "Alternatively, please, use other browsers: Chrome, Firefox or Safari."; - GuiConnector.alert(message); - } + var browser = functions.browser; + if (browser.name === "IE") { + if (browser.version <= 8 || browser.compatibilityMode) { + var message = "This webpage works only with Internet Explorer version 9 or greater.\n" + + "If you have Internet Explorer version 9 or greater and still see this message, please, turn the 'Compatibility modeoff:\n" + + "Open Internet Explorer and press the Alt key on your keyboard.\n" + + "Select 'Tools' menu item. \n" + + "Select the 'Compatibility View' settings option. \n" + + "Make sure the 'Display all websites in Compatibility View' check box is unchecked and that the 'Compatibility View; list of websites is cleared.\n" + + "\n" + "Alternatively, please, use other browsers: Chrome, Firefox or Safari."; + GuiConnector.alert(message); } + } } function getProject(params) { - if (params.getProject() !== undefined) { - return Promise.resolve(params.getProject()); - } else { - return ServerConnector.getProject(params.getProjectId()); - } + if (params.getProject() !== undefined) { + return Promise.resolve(params.getProject()); + } else { + return ServerConnector.getProject(params.getProjectId()); + } } function modifyParamsForTouchInterface(params) { - if (params.markerOptimization === undefined && params.bigLogo === undefined - && params.customTouchInterface === undefined) { - var windowsTouchInterface = ((navigator.appVersion.indexOf("Win") > -1) && ('ontouchstart' in document.documentElement)); - params.markerOptimization = !windowsTouchInterface; - params.bigLogo = windowsTouchInterface; - params.customTouchInterface = windowsTouchInterface; - } - return params; + if (params.markerOptimization === undefined && params.bigLogo === undefined + && params.customTouchInterface === undefined) { + var windowsTouchInterface = ((navigator.appVersion.indexOf("Win") > -1) && ('ontouchstart' in document.documentElement)); + params.markerOptimization = !windowsTouchInterface; + params.bigLogo = windowsTouchInterface; + params.customTouchInterface = windowsTouchInterface; + } + return params; } function create(params) { - params = modifyParamsForTouchInterface(params); - if (!(params instanceof CustomMapOptions)) { - params = new CustomMapOptions(params); + params = modifyParamsForTouchInterface(params); + if (!(params instanceof CustomMapOptions)) { + params = new CustomMapOptions(params); + } + initGlobals(params); + params.getElement().style.display = "table"; + params.getElement().innerHTML = "<div style='vertical-align:middle;display:table-cell;text-align: center'>" + + "<img src='resources/images/icons/ajax-loader.gif'/>" + "</div>"; + + // make sure that we are logged in + return ServerConnector.getToken().then(function () { + return ServerConnector.getConfiguration(); + }).then(function (configuration) { + params.setConfiguration(configuration); + return getProject(params); + }).then(function (project) { + if (project === null) { + var message = "Project with given id doesn't exist."; + message += "<p>Please go to <a href='" + ServerConnector.getServerBaseUrl() + "'>default map</a>"; + return Promise.reject(new Error(message)); } - initGlobals(params); - params.getElement().style.display = "table"; - params.getElement().innerHTML = "<div style='vertical-align:middle;display:table-cell;text-align: center'>" - + "<img src='resources/images/icons/ajax-loader.gif'/>" + "</div>"; - - // make sure that we are logged in - return ServerConnector.getToken().then(function () { - return ServerConnector.getConfiguration(); - }).then(function (configuration) { - params.setConfiguration(configuration); - return getProject(params); - }).then(function (project) { - if (project === null) { - var message = "Project with given id doesn't exist."; - message += "<p>Please go to <a href='" + ServerConnector.getServerBaseUrl() + "'>default map</a>"; - return Promise.reject(new Error(message)); - } - params.setProject(project); - var element = params.getElement(); - - verifyBrowser(); + params.setProject(project); + var element = params.getElement(); - processUrlGetParams(params); + verifyBrowser(); - params.getElement().innerHTML = ""; - createDivStructure(element); - params.setElement(functions.getElementByName(element, "mapDiv")); + processUrlGetParams(params); - customMap = new CustomMap(params); + params.getElement().innerHTML = ""; + createDivStructure(element); + params.setElement(functions.getElementByName(element, "mapDiv")); - new DbOverlayCollection({ - map: customMap - }); + customMap = new CustomMap(params); - leftPanel = new LeftPanel({ - element: functions.getElementByName(element, "leftPanelDiv"), - customMap: customMap - }); - - topMenu = new TopMenu({ - element: functions.getElementByName(element, "menuDiv"), - customMap: customMap - }); + new DbOverlayCollection({ + map: customMap + }); - legend = new Legend({ - element: functions.getElementByName(element, "legendDiv"), - customMap: customMap - }); + leftPanel = new LeftPanel({ + element: functions.getElementByName(element, "leftPanelDiv"), + customMap: customMap + }); - mapContextMenu = new MapContextMenu({ - element: functions.getElementByName(element, "contextMenu"), - customMap: customMap - }); - customMap.setContextMenu(mapContextMenu); + topMenu = new TopMenu({ + element: functions.getElementByName(element, "menuDiv"), + customMap: customMap + }); - selectionContextMenu = new SelectionContextMenu({ - element: functions.getElementByName(element, "selectionContextMenu"), - customMap: customMap - }); - customMap.setSelectionContextMenu(selectionContextMenu); + legend = new Legend({ + element: functions.getElementByName(element, "legendDiv"), + customMap: customMap + }); - topMenu.setLegend(legend); - topMenu.setLeftPanel(leftPanel); + mapContextMenu = new MapContextMenu({ + element: functions.getElementByName(element, "contextMenu"), + customMap: customMap + }); + customMap.setContextMenu(mapContextMenu); - return customMap.init(); - }).then(function () { - return insertGoogleAnalyticsCode(customMap); - }).then(function () { - return leftPanel.init(); - }).then(function () { - return legend.init(); - }).then(function () { - return topMenu.init(); - }).then(function () { - return selectionContextMenu.init(); - }).then(function () { - return mapContextMenu.init(); - }).then(function () { - if (GuiConnector.getParams["layout"] !== undefined) { - var layouts = params.getProject().getModel().getLayouts(); - for (var j = 0; j < layouts.length; j++) { - var layout = layouts[j]; - if (layout.getName() === GuiConnector.getParams["layout"]) { - return customMap.openDataOverlay(layout); - } - } + selectionContextMenu = new SelectionContextMenu({ + element: functions.getElementByName(element, "selectionContextMenu"), + customMap: customMap + }); + customMap.setSelectionContextMenu(selectionContextMenu); + + topMenu.setLegend(legend); + topMenu.setLeftPanel(leftPanel); + + return customMap.init(); + }).then(function () { + return insertGoogleAnalyticsCode(customMap); + }).then(function () { + return leftPanel.init(); + }).then(function () { + return legend.init(); + }).then(function () { + return topMenu.init(); + }).then(function () { + return selectionContextMenu.init(); + }).then(function () { + return mapContextMenu.init(); + }).then(function () { + if (GuiConnector.getParams["layout"] !== undefined) { + var layouts = params.getProject().getModel().getLayouts(); + for (var j = 0; j < layouts.length; j++) { + var layout = layouts[j]; + if (layout.getName() === GuiConnector.getParams["layout"]) { + return customMap.openDataOverlay(layout); } - }).then(function () { + } + } + }).then(function () { - var submapId = GuiConnector.getParams["submap"]; - if (submapId !== undefined) { - return customMap.openSubmap(submapId); - } - }).then(function () { - var result = createResult(customMap); + var submapId = GuiConnector.getParams["submap"]; + if (submapId !== undefined) { + return customMap.openSubmap(submapId); + } + }).then(function () { + var result = createResult(customMap); - if (params.isDebug()) { - result.leftPanel = leftPanel; - result.customMap = customMap; - } - return result; - }); + if (params.isDebug()) { + result.leftPanel = leftPanel; + result.customMap = customMap; + } + return result; + }); } function createExport(params) { - params = modifyParamsForTouchInterface(params); - if (!(params instanceof CustomMapOptions)) { - params = new CustomMapOptions(params); - } - initGlobals(params); - params.getElement().style.display = "table"; - params.getElement().innerHTML = "<div style='vertical-align:middle;display:table-cell;text-align: center'>" - + "<img src='resources/images/icons/ajax-loader.gif'/>" + "</div>"; - - var result; - // make sure that we are logged in - return ServerConnector.getToken().then(function () { - return ServerConnector.getConfiguration(); - }).then(function (configuration) { - params.setConfiguration(configuration); - return getProject(params); - }).then(function (project) { - params.setProject(project); - result = new Export(params); - return result.init(); - }).then(function () { - return result; - }); + params = modifyParamsForTouchInterface(params); + if (!(params instanceof CustomMapOptions)) { + params = new CustomMapOptions(params); + } + initGlobals(params); + params.getElement().style.display = "table"; + params.getElement().innerHTML = "<div style='vertical-align:middle;display:table-cell;text-align: center'>" + + "<img src='resources/images/icons/ajax-loader.gif'/>" + "</div>"; + + var result; + // make sure that we are logged in + return ServerConnector.getToken().then(function () { + return ServerConnector.getConfiguration(); + }).then(function (configuration) { + params.setConfiguration(configuration); + return getProject(params); + }).then(function (project) { + params.setProject(project); + result = new Export(params); + return result.init(); + }).then(function () { + return result; + }); } function createAdmin(params) { - params = modifyParamsForTouchInterface(params); - if (!(params instanceof CustomMapOptions)) { - params = new CustomMapOptions(params); - } - initGlobals(params); - params.getElement().style.display = "table"; - params.getElement().innerHTML = "<div style='vertical-align:middle;display:table-cell;text-align: center'>" - + "<img src='resources/images/icons/ajax-loader.gif'/>" + "</div>"; - - var result; - // make sure that we are logged in - return ServerConnector.getToken().then(function () { - return ServerConnector.getConfiguration(); - }).then(function (configuration) { - params.setConfiguration(configuration); - return getProject(params); - }).then(function (project) { - params.setProject(project); - result = new Admin(params); - return result.init(); - }).then(function () { - return result; - }); + params = modifyParamsForTouchInterface(params); + if (!(params instanceof CustomMapOptions)) { + params = new CustomMapOptions(params); + } + initGlobals(params); + params.getElement().style.display = "table"; + params.getElement().innerHTML = "<div style='vertical-align:middle;display:table-cell;text-align: center'>" + + "<img src='resources/images/icons/ajax-loader.gif'/>" + "</div>"; + + var result; + // make sure that we are logged in + return ServerConnector.getToken().then(function () { + return ServerConnector.getConfiguration(); + }).then(function (configuration) { + params.setConfiguration(configuration); + return getProject(params); + }).then(function (project) { + params.setProject(project); + result = new Admin(params); + return result.init(); + }).then(function () { + return result; + }); } var minerva = { - create: create, - createExport: createExport, - createAdmin: createAdmin, - ServerConnector: OriginalServerConnector, - GuiConnector: OriginalGuiConnector, - DualListbox: require('dual-listbox').DualListbox, + create: create, + createExport: createExport, + createAdmin: createAdmin, + ServerConnector: OriginalServerConnector, + GuiConnector: OriginalGuiConnector, + DualListbox: require('dual-listbox').DualListbox, }; module.exports = minerva; diff --git a/frontend-js/src/test/js/GuiConnector-test.js b/frontend-js/src/test/js/GuiConnector-test.js new file mode 100644 index 0000000000..b32b7b9cb7 --- /dev/null +++ b/frontend-js/src/test/js/GuiConnector-test.js @@ -0,0 +1,49 @@ +"use strict"; + +require("./mocha-config"); +/* exported logger */ + +var GuiConnector = require('../../main/js/GuiConnector'); + +var chai = require('chai'); +var assert = chai.assert; +var logger = require('./logger'); + +describe('GuiConnector', function () { + it('destroy', function () { + var length = document.body.children.length; + var connector = new (GuiConnector.constructor)(); + connector.showProcessing("test"); + connector.destroy(); + assert.equal(length, document.body.children.length); + }); + + it('hideProcessing', function () { + var connector = new (GuiConnector.constructor)(); + connector.showProcessing(); + connector.hideProcessing(); + $(".ui-dialog-content").each(function(){ + assert.notOk($(this).dialog('isOpen')); + }); + connector.destroy(); + }); + + it('alert', function () { + var connector = new (GuiConnector.constructor)(); + connector.alert("some error"); + $(".ui-dialog-content").each(function(){ + assert.ok($(this).dialog('isOpen')); + }); + connector.destroy(); + }); + + it('info', function () { + var connector = new (GuiConnector.constructor)(); + connector.info("info message"); + $(".ui-dialog-content").each(function(){ + assert.ok($(this).dialog('isOpen')); + }); + connector.destroy(); + }); + +}); \ No newline at end of file diff --git a/frontend-js/src/test/js/minerva-test.js b/frontend-js/src/test/js/minerva-test.js index 87e03a1f18..dc1501ae74 100644 --- a/frontend-js/src/test/js/minerva-test.js +++ b/frontend-js/src/test/js/minerva-test.js @@ -14,14 +14,11 @@ var logger = require('./logger'); describe('minerva global', function () { beforeEach(function () { - global.scriptDiv = document.createElement("script"); global.GuiConnector = undefined; global.ServerConnector = undefined; - document.body.appendChild(global.scriptDiv); }); afterEach(function () { - document.body.removeChild(global.scriptDiv); global.GuiConnector = GuiConnectorMock; global.ServerConnector = ServerConnectorMock; }); -- GitLab