diff --git a/adapter/adapter-api/pom.xml b/adapter/adapter-api/pom.xml index bd06040d7..098ebc9c3 100644 --- a/adapter/adapter-api/pom.xml +++ b/adapter/adapter-api/pom.xml @@ -1,78 +1,73 @@ 4.0.0 SHRINE Adapter Client API shrine-adapter-client-api net.shrine shrine-base - - 1.23.4.1-SNAPSHOT - - - ../../pom.xml src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin net.shrine shrine-crypto ${project.version} net.shrine shrine-client ${project.version} net.shrine shrine-protocol ${project.version} com.sun.jersey.jersey-test-framework jersey-test-framework-http ${jersey-version} test com.sun.jersey.contribs jersey-simple-server ${jersey-version} test net.shrine shrine-test-commons ${project.version} test-jar test net.shrine shrine-client ${project.version} test-jar test net.shrine shrine-config ${project.version} test-jar test diff --git a/adapter/adapter-service/pom.xml b/adapter/adapter-service/pom.xml index b3a30eddf..281fc4394 100644 --- a/adapter/adapter-service/pom.xml +++ b/adapter/adapter-service/pom.xml @@ -1,184 +1,188 @@ 4.0.0 SHRINE Adapter shrine-adapter-service jar net.shrine shrine-base + 1.23.4.1-SNAPSHOT + + + ../../pom.xml src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin org.apache.maven.plugins maven-jar-plugin test-jar org.squeryl squeryl_${scala-major-version} org.scala-lang scalap org.scala-lang scalap ${scala-version} net.shrine shrine-auth ${project.version} net.shrine shrine-adapter-client-api ${project.version} net.shrine shrine-data-commons ${project.version} net.shrine shrine-crypto ${project.version} net.shrine shrine-crypto ${project.version} test-jar test net.shrine shrine-client ${project.version} net.shrine shrine-protocol ${project.version} net.shrine shrine-config ${project.version} com.typesafe.slick slick_2.11 ${slick-version} org.suecarter freeslick_2.11 ${freeslick-version} org.slf4j slf4j-log4j12 ${slf4j-version} mysql mysql-connector-java com.sun.jersey.jersey-test-framework jersey-test-framework-http ${jersey-version} test com.sun.jersey.contribs jersey-simple-server ${jersey-version} test com.h2database h2 test org.easymock easymock test org.springframework spring-jdbc test net.shrine shrine-util ${project.version} test-jar test net.shrine shrine-test-commons ${project.version} test-jar test net.shrine shrine-data-commons ${project.version} test-jar test diff --git a/apps/dashboard-app/pom.xml b/apps/dashboard-app/pom.xml index 5480678fc..8d36f20e1 100644 --- a/apps/dashboard-app/pom.xml +++ b/apps/dashboard-app/pom.xml @@ -1,207 +1,207 @@ shrine-base net.shrine - 1.23.4.1-SNAPSHOT - - - ../../pom.xml 4.0.0 dashboard-app + 1.23.4.1-SNAPSHOT + + + Dashboard App jar net.alchim31.maven scala-maven-plugin com.github.eirslett frontend-maven-plugin 1.0 src/main/js install node and npm install-node-and-npm v6.10.3 4.1.2 npm install npm generate-resources install -s bower install bower install -s grunt default grunt --no-color log4j log4j io.spray spray-routing_2.11 ${spray-version} io.spray spray-servlet_2.11 ${spray-version} io.spray spray-util_2.11 ${spray-version} io.spray spray-testkit_2.11 ${spray-version} test com.typesafe.akka akka-actor_2.11 ${akka-version} com.typesafe.akka akka-slf4j_2.11 ${akka-version} com.typesafe.akka akka-testkit_2.11 ${akka-testkit-version} test org.json4s json4s-native_2.11 ${json4s-version} com.typesafe.slick slick_2.11 ${slick-version} org.slf4j slf4j-log4j12 ${slf4j-version} com.h2database h2 ${h2-version} test net.shrine shrine-protocol ${project.version} net.shrine shrine-utility-commons ${project.version} net.shrine shrine-crypto ${project.version} test-jar test net.shrine shrine-auth ${project.version} net.shrine shrine-data-commons ${project.version} mysql mysql-connector-java ${mysql-version} io.jsonwebtoken jjwt ${jjwt-version} net.sourceforge.jtds jtds ${jtds-version} net.shrine shrine-adapter-client-api ${project.version} com.typesafe config ${typesafe-config-version} diff --git a/apps/dashboard-app/src/main/js/pom.xml b/apps/dashboard-app/src/main/js/pom.xml index 30b3ee35b..3d242ec64 100644 --- a/apps/dashboard-app/src/main/js/pom.xml +++ b/apps/dashboard-app/src/main/js/pom.xml @@ -1,94 +1,90 @@ shrine-base net.shrine - 1.23.4.1-SNAPSHOT - - - 4.0.0 dashboard-app-client pom com.github.eirslett frontend-maven-plugin 0.0.23 install node and npm install-node-and-npm v0.10.33 2.7.4 npm install npm generate-resources install bower install bower install grunt default grunt --no-color diff --git a/apps/dashboard-war/pom.xml b/apps/dashboard-war/pom.xml index 30e08bc94..572cea3a1 100644 --- a/apps/dashboard-war/pom.xml +++ b/apps/dashboard-war/pom.xml @@ -1,41 +1,37 @@ shrine-base net.shrine - 1.23.4.1-SNAPSHOT - - - ../../pom.xml 4.0.0 dashboard-war Dashboard War war org.apache.maven.plugins maven-war-plugin shrine-dashboard net.shrine dashboard-app ${project.version} org.slf4j slf4j-log4j12 ${slf4j-version} runtime diff --git a/apps/meta-app/pom.xml b/apps/meta-app/pom.xml index 1c24f3238..a38f07474 100644 --- a/apps/meta-app/pom.xml +++ b/apps/meta-app/pom.xml @@ -1,120 +1,118 @@ shrine-base net.shrine 1.23.4.1-SNAPSHOT - - - + ../../pom.xml 4.0.0 meta-app MetaData App jar net.alchim31.maven scala-maven-plugin com.propensive rapture-json_2.11 ${rapture-version} com.propensive rapture-json-jawn_2.11 ${rapture-version} net.shrine shrine-utility-commons ${project.version} net.shrine shrine-config ${project.version} net.shrine shrine-auth ${project.version} net.shrine shrine-qep ${project.version} log4j log4j io.spray spray-routing_2.11 ${spray-version} io.spray spray-servlet_2.11 ${spray-version} io.spray spray-util_2.11 ${spray-version} io.spray spray-testkit_2.11 ${spray-version} test com.typesafe.akka akka-actor_2.11 ${akka-version} com.typesafe.akka akka-slf4j_2.11 ${akka-version} com.typesafe.akka akka-testkit_2.11 ${akka-testkit-version} test org.json4s json4s-native_2.11 ${json4s-version} com.typesafe config ${typesafe-config-version} mysql mysql-connector-java ${mysql-version} com.h2database h2 test \ No newline at end of file diff --git a/apps/meta-war/pom.xml b/apps/meta-war/pom.xml index ff09a9ded..47e17e0fd 100644 --- a/apps/meta-war/pom.xml +++ b/apps/meta-war/pom.xml @@ -1,41 +1,39 @@ shrine-base net.shrine 1.23.4.1-SNAPSHOT - - ../../pom.xml 4.0.0 meta-war MetaData War war org.apache.maven.plugins maven-war-plugin shrine-metadata net.shrine meta-app ${project.version} org.slf4j slf4j-log4j12 ${slf4j-version} runtime \ No newline at end of file diff --git a/apps/proxy/pom.xml b/apps/proxy/pom.xml index 1bd898127..9dbf81578 100644 --- a/apps/proxy/pom.xml +++ b/apps/proxy/pom.xml @@ -1,56 +1,54 @@ 4.0.0 SHRINE Proxy shrine-proxy war net.shrine shrine-base 1.23.4.1-SNAPSHOT - - ../../pom.xml net.shrine shrine-test-commons ${project.version} test-jar test net.shrine shrine-crypto ${project.version} net.shrine shrine-client ${project.version} net.shrine shrine-protocol ${project.version} javax.servlet javax.servlet-api provided src/main/scala src/test/scala shrine-proxy net.alchim31.maven scala-maven-plugin diff --git a/apps/shrine-app/pom.xml b/apps/shrine-app/pom.xml index 8ffd84724..c2436a70c 100644 --- a/apps/shrine-app/pom.xml +++ b/apps/shrine-app/pom.xml @@ -1,127 +1,125 @@ shrine-base net.shrine 1.23.4.1-SNAPSHOT - - ../../pom.xml 4.0.0 shrine-app SHRINE App jar src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin net.shrine shrine-test-commons ${project.version} test-jar test net.shrine shrine-util ${project.version} net.shrine shrine-config ${project.version} net.shrine shrine-hms-core ${project.version} net.shrine shrine-qep ${project.version} net.shrine shrine-broadcaster-aggregator ${project.version} net.shrine shrine-broadcaster-service ${project.version} net.shrine shrine-adapter-service ${project.version} net.shrine shrine-crypto ${project.version} net.shrine shrine-ont-support ${project.version} net.shrine shrine-crypto ${project.version} test-jar test net.shrine shrine-protocol ${project.version} test-jar test net.shrine shrine-config ${project.version} test-jar test net.shrine shrine-broadcaster-aggregator ${project.version} test-jar test net.shrine shrine-client ${project.version} test-jar test com.h2database h2 ${h2-version} test org.json4s json4s-native_2.11 ${json4s-version} diff --git a/apps/steward-app/pom.xml b/apps/steward-app/pom.xml index 10941e8ef..e68d32fed 100644 --- a/apps/steward-app/pom.xml +++ b/apps/steward-app/pom.xml @@ -1,195 +1,199 @@ shrine-base net.shrine + 1.23.4.1-SNAPSHOT + + + ../../pom.xml 4.0.0 steward-app Steward App jar src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin com.github.eirslett frontend-maven-plugin 1.0 src/main/js install node and npm install-node-and-npm v6.10.3 4.1.2 npm install npm generate-resources install -s bower install bower install -s gulp test and build gulp --no-color io.spray spray-routing_2.11 ${spray-version} io.spray spray-servlet_2.11 ${spray-version} io.spray spray-util_2.11 ${spray-version} io.spray spray-testkit_2.11 ${spray-version} test com.typesafe.akka akka-actor_2.11 ${akka-version} com.typesafe.akka akka-slf4j_2.11 ${akka-version} com.typesafe.akka akka-testkit_2.11 ${akka-testkit-version} test org.json4s json4s-native_2.11 ${json4s-version} com.typesafe.slick slick_2.11 ${slick-version} org.suecarter freeslick_2.11 ${freeslick-version} org.slf4j slf4j-log4j12 ${slf4j-version} com.h2database h2 ${h2-version} test net.shrine shrine-protocol ${project.version} net.shrine shrine-email ${project.version} net.shrine shrine-data-commons ${project.version} net.shrine shrine-client ${project.version} net.shrine shrine-crypto ${project.version} test-jar test net.shrine shrine-auth ${project.version} mysql mysql-connector-java ${mysql-version} diff --git a/apps/steward-war/pom.xml b/apps/steward-war/pom.xml index 334847b63..d896c401a 100644 --- a/apps/steward-war/pom.xml +++ b/apps/steward-war/pom.xml @@ -1,47 +1,51 @@ shrine-base net.shrine + 1.23.4.1-SNAPSHOT + + + ../../pom.xml 4.0.0 steward Steward War war org.apache.maven.plugins maven-war-plugin steward net.shrine steward-app ${project.version} com.h2database h2 ${h2-version} test org.slf4j slf4j-log4j12 ${slf4j-version} runtime diff --git a/apps/war/pom.xml b/apps/war/pom.xml index 3da3e5dc5..8237f51b5 100644 --- a/apps/war/pom.xml +++ b/apps/war/pom.xml @@ -1,68 +1,66 @@ 4.0.0 SHRINE War shrine-war war net.shrine shrine-base 1.23.4.1-SNAPSHOT - - ../../pom.xml net.shrine shrine-test-commons ${project.version} test-jar test net.shrine shrine-app ${project.version} net.shrine shrine-adapter-service ${project.version} javax.servlet javax.servlet-api provided com.sun.jersey jersey-servlet net.shrine shrine-adapter-service ${project.version} test-jar test org.slf4j slf4j-log4j12 ${slf4j-version} runtime shrine-cell src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin diff --git a/commons/auth/pom.xml b/commons/auth/pom.xml index bd322b236..025031686 100644 --- a/commons/auth/pom.xml +++ b/commons/auth/pom.xml @@ -1,89 +1,93 @@ 4.0.0 SHRINE Auth* shrine-auth jar net.shrine shrine-base + 1.23.4.1-SNAPSHOT + + + ../../pom.xml net.shrine shrine-protocol ${project.version} com.typesafe.akka akka-actor_2.11 ${akka-version} org.json4s json4s-native_2.11 ${json4s-version} io.spray spray-client_2.11 ${spray-version} io.spray spray-routing_2.11 ${spray-version} io.spray spray-servlet_2.11 ${spray-version} io.spray spray-util_2.11 ${spray-version} io.spray spray-testkit_2.11 ${spray-version} test com.typesafe.akka akka-slf4j_2.11 ${akka-version} com.typesafe.akka akka-testkit_2.11 ${akka-version} test net.shrine shrine-client ${project.version} net.shrine shrine-test-commons ${project.version} test-jar test src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin diff --git a/commons/client/pom.xml b/commons/client/pom.xml index b1068a6a6..86c1614f2 100644 --- a/commons/client/pom.xml +++ b/commons/client/pom.xml @@ -1,72 +1,70 @@ 4.0.0 SHRINE Client shrine-client jar net.shrine shrine-base 1.23.4.1-SNAPSHOT - - ../../pom.xml net.shrine shrine-test-commons ${project.version} test-jar test net.shrine shrine-protocol ${project.version} net.shrine shrine-crypto ${project.version} net.shrine shrine-crypto ${project.version} test-jar test net.shrine shrine-config ${project.version} com.sun.jersey jersey-client src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin org.apache.maven.plugins maven-jar-plugin test-jar diff --git a/commons/config/pom.xml b/commons/config/pom.xml index 5a4bb437b..28a8a1a66 100644 --- a/commons/config/pom.xml +++ b/commons/config/pom.xml @@ -1,60 +1,58 @@ 4.0.0 SHRINE Config shrine-config jar net.shrine shrine-base 1.23.4.1-SNAPSHOT - - ../../pom.xml net.shrine shrine-test-commons ${project.version} test-jar test net.sf.opencsv opencsv com.typesafe config net.shrine shrine-util ${project.version} src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin org.apache.maven.plugins maven-jar-plugin test-jar diff --git a/commons/crypto/pom.xml b/commons/crypto/pom.xml index 6fb01c33b..674bbff98 100644 --- a/commons/crypto/pom.xml +++ b/commons/crypto/pom.xml @@ -1,86 +1,84 @@ 4.0.0 SHRINE Crypto shrine-crypto jar net.shrine shrine-base 1.23.4.1-SNAPSHOT - - ../../pom.xml net.shrine shrine-test-commons ${project.version} test-jar test net.shrine shrine-protocol ${project.version} net.shrine shrine-config ${project.version} org.bouncycastle bcpkix-jdk15on ${bouncy-castle-version} src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin org.apache.maven.plugins maven-jar-plugin test-jar diff --git a/commons/data-commons/pom.xml b/commons/data-commons/pom.xml index cac70f62a..38bb3d4fb 100644 --- a/commons/data-commons/pom.xml +++ b/commons/data-commons/pom.xml @@ -1,91 +1,90 @@ 4.0.0 SHRINE Data Access Classes shrine-data-commons jar net.shrine shrine-base - 1.23.4.1-SNAPSHOT - + 1.23.4.1-SNAPSHOT ../../pom.xml src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin org.apache.maven.plugins maven-jar-plugin test-jar net.shrine shrine-test-commons ${project.version} test-jar test net.shrine shrine-config ${project.version} net.shrine shrine-util ${project.version} org.suecarter freeslick_2.11 ${freeslick-version} org.squeryl squeryl_${scala-major-version} org.scala-lang scalap org.scala-lang scalap ${scala-version} org.springframework spring-jdbc test com.h2database h2 test diff --git a/commons/email/pom.xml b/commons/email/pom.xml index ac910c1cf..28f6ac2f5 100644 --- a/commons/email/pom.xml +++ b/commons/email/pom.xml @@ -1,76 +1,75 @@ 4.0.0 SHRINE Email shrine-email jar net.shrine shrine-base - 1.23.4.1-SNAPSHOT - + 1.23.4.1-SNAPSHOT ../../pom.xml org.slf4j slf4j-simple ${slf4j-version} test org.json4s json4s-native_2.11 ${json4s-version} me.lessis courier_2.11 ${courier-version} net.shrine shrine-config ${project.version} net.shrine shrine-test-commons ${project.version} test-jar test org.jvnet.mock-javamail mock-javamail ${mock-javamail-version} test src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin org.apache.maven.plugins maven-jar-plugin 2.6 test-jar diff --git a/commons/json-store/pom.xml b/commons/json-store/pom.xml index 5d6a4579f..6a31bf131 100644 --- a/commons/json-store/pom.xml +++ b/commons/json-store/pom.xml @@ -1,84 +1,86 @@ 4.0.0 SHRINE Data Access Classes shrine-json-store jar net.shrine shrine-base + 1.23.4.1-SNAPSHOT + ../../pom.xml src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin org.apache.maven.plugins maven-jar-plugin test-jar net.shrine shrine-test-commons ${project.version} test-jar test net.shrine shrine-config ${project.version} net.shrine shrine-util ${project.version} org.spire-math jawn-parser_2.11 ${jawn-version} org.spire-math jawn-ast_2.11 ${jawn-version} com.propensive rapture-json_2.11 ${rapture-version} com.propensive rapture-json-jawn_2.11 ${rapture-version} com.h2database h2 diff --git a/commons/ont-support/pom.xml b/commons/ont-support/pom.xml index 9e8481a37..88d12b56c 100644 --- a/commons/ont-support/pom.xml +++ b/commons/ont-support/pom.xml @@ -1,67 +1,66 @@ 4.0.0 SHRINE Ontology Support shrine-ont-support jar net.shrine shrine-base - 1.23.4.1-SNAPSHOT - + 1.23.4.1-SNAPSHOT ../../pom.xml net.shrine shrine-test-commons ${project.version} test-jar test net.shrine shrine-protocol ${project.version} net.shrine shrine-util ${project.version} net.shrine shrine-crypto ${project.version} net.shrine shrine-crypto ${project.version} test-jar test net.shrine shrine-config ${project.version} net.shrine shrine-client ${project.version} src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin diff --git a/commons/protocol-query/pom.xml b/commons/protocol-query/pom.xml index 790817349..7d405bc56 100644 --- a/commons/protocol-query/pom.xml +++ b/commons/protocol-query/pom.xml @@ -1,61 +1,60 @@ 4.0.0 SHRINE Query Protocol shrine-protocol-query jar net.shrine shrine-base - 1.23.4.1-SNAPSHOT - - + 1.23.4.1-SNAPSHOT + ../../pom.xml net.shrine shrine-test-commons ${project.version} test-jar test net.liftweb lift-json_${scala-major-version} org.scala-lang scalap org.scala-lang scalap ${scala-version} net.shrine shrine-util ${project.version} src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin diff --git a/commons/protocol/pom.xml b/commons/protocol/pom.xml index f3e55cb43..c01779ad4 100644 --- a/commons/protocol/pom.xml +++ b/commons/protocol/pom.xml @@ -1,91 +1,90 @@ 4.0.0 SHRINE Protocol shrine-protocol jar net.shrine shrine-base - 1.23.4.1-SNAPSHOT - + 1.23.4.1-SNAPSHOT ../../pom.xml net.shrine shrine-protocol-query ${project.version} net.shrine shrine-util ${project.version} net.shrine shrine-util ${project.version} test-jar test net.shrine shrine-config ${project.version} net.shrine shrine-data-commons ${project.version} net.liftweb lift-json_${scala-major-version} org.easymock easymock test net.shrine shrine-test-commons ${project.version} test-jar test src/main/scala src/test/scala src/main/resources true shrine-versions.properties net.alchim31.maven scala-maven-plugin org.apache.maven.plugins maven-jar-plugin test-jar diff --git a/commons/test-commons/pom.xml b/commons/test-commons/pom.xml index 75a623ac3..5352344e2 100644 --- a/commons/test-commons/pom.xml +++ b/commons/test-commons/pom.xml @@ -1,52 +1,51 @@ 4.0.0 SHRINE Test Commons shrine-test-commons jar net.shrine shrine-base - 1.23.4.1-SNAPSHOT - + 1.23.4.1-SNAPSHOT ../../pom.xml com.sun.jersey jersey-client test com.sun.jersey.jersey-test-framework jersey-test-framework-http ${jersey-version} test src/test/scala org.apache.maven.plugins maven-jar-plugin test-jar net.alchim31.maven scala-maven-plugin diff --git a/commons/util/pom.xml b/commons/util/pom.xml index d2eb63860..9e0393c8f 100644 --- a/commons/util/pom.xml +++ b/commons/util/pom.xml @@ -1,130 +1,129 @@ 4.0.0 SHRINE Utility Code shrine-util jar net.shrine shrine-base - 1.23.4.1-SNAPSHOT - - + 1.23.4.1-SNAPSHOT + ../../pom.xml com.typesafe.slick slick_2.11 ${slick-version} io.spray spray-httpx_2.11 ${spray-version} org.slf4j slf4j-simple ${slf4j-version} test net.liftweb lift-json_${scala-major-version} org.scala-lang scalap org.scala-lang scalap ${scala-version} log4j log4j net.shrine shrine-test-commons ${project.version} test-jar test org.json4s json4s-native_2.11 ${json4s-version} com.h2database h2 test org.xerial sqlite-jdbc 3.15.1 test org.spire-math jawn-parser_2.11 ${jawn-version} org.spire-math jawn-ast_2.11 ${jawn-version} com.propensive rapture-json_2.11 ${rapture-version} com.propensive rapture-json-jawn_2.11 ${rapture-version} src/main/scala src/test/scala src/main/resources true net.alchim31.maven scala-maven-plugin org.apache.maven.plugins maven-jar-plugin 2.6 test-jar diff --git a/hms-support/hms-core/pom.xml b/hms-support/hms-core/pom.xml index 905676420..1bd34197b 100644 --- a/hms-support/hms-core/pom.xml +++ b/hms-support/hms-core/pom.xml @@ -1,66 +1,65 @@ net.shrine shrine-hms-support - 1.23.4.1-SNAPSHOT - + 1.23.4.1-SNAPSHOT 4.0.0 shrine-hms-core SHRINE HMS Support (Core Classes) net.shrine shrine-test-commons ${project.version} test-jar test net.shrine shrine-auth ${project.version} net.shrine shrine-protocol ${project.version} net.shrine shrine-client ${project.version} net.shrine shrine-crypto ${project.version} net.shrine shrine-crypto ${project.version} test-jar test org.easymock easymock test src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin diff --git a/hms-support/pom.xml b/hms-support/pom.xml index 9b3ff11d2..433c1524c 100644 --- a/hms-support/pom.xml +++ b/hms-support/pom.xml @@ -1,19 +1,17 @@ 4.0.0 SHRINE HMS Support shrine-hms-support pom net.shrine shrine-base - 1.23.4.1-SNAPSHOT - - + 1.23.4.1-SNAPSHOT hms-core diff --git a/hub/broadcaster-aggregator/pom.xml b/hub/broadcaster-aggregator/pom.xml index c09269b83..56a354023 100644 --- a/hub/broadcaster-aggregator/pom.xml +++ b/hub/broadcaster-aggregator/pom.xml @@ -1,165 +1,163 @@ 4.0.0 SHRINE Broadcaster Aggregator shrine-broadcaster-aggregator jar net.shrine shrine-base 1.23.4.1-SNAPSHOT - - ../../pom.xml src/main/scala src/test/scala org.codehaus.mojo tomcat-maven-plugin 1.0-beta-1 net.alchim31.maven scala-maven-plugin org.apache.maven.plugins maven-jar-plugin test-jar net.shrine shrine-adapter-client-api ${project.version} net.shrine shrine-client ${project.version} net.shrine shrine-protocol ${project.version} net.shrine shrine-data-commons ${project.version} mysql mysql-connector-java net.shrine shrine-util ${project.version} test-jar test net.shrine shrine-crypto ${project.version} test-jar test net.shrine shrine-test-commons ${project.version} test-jar test net.shrine shrine-data-commons ${project.version} test-jar test net.shrine shrine-config ${project.version} test-jar test com.sun.jersey.jersey-test-framework jersey-test-framework-http ${jersey-version} test com.sun.jersey.contribs jersey-simple-server ${jersey-version} test com.h2database h2 test org.easymock easymock test org.springframework spring-jdbc test org.codehaus.mojo findbugs-maven-plugin 2.3.1 Max org.codehaus.mojo cobertura-maven-plugin 2.3 org.apache.maven.plugins maven-checkstyle-plugin 2.5 org.apache.maven.plugins maven-pmd-plugin 2.4 1.6 diff --git a/hub/broadcaster-service/pom.xml b/hub/broadcaster-service/pom.xml index 90a28d7e5..908344848 100644 --- a/hub/broadcaster-service/pom.xml +++ b/hub/broadcaster-service/pom.xml @@ -1,152 +1,151 @@ 4.0.0 SHRINE Broadcast Service shrine-broadcaster-service jar net.shrine shrine-base - 1.23.4.1-SNAPSHOT - + 1.23.4.1-SNAPSHOT ../../pom.xml src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin com.sun.jersey jersey-server net.shrine shrine-broadcaster-aggregator ${project.version} net.shrine shrine-crypto ${project.version} net.shrine shrine-client ${project.version} net.shrine shrine-adapter-client-api ${project.version} net.shrine shrine-protocol ${project.version} net.shrine shrine-data-commons ${project.version} log4j log4j com.sun.jersey.jersey-test-framework jersey-test-framework-http ${jersey-version} test com.sun.jersey.contribs jersey-simple-server ${jersey-version} test com.h2database h2 test org.easymock easymock test org.springframework spring-jdbc test net.shrine shrine-test-commons ${project.version} test-jar test net.shrine shrine-data-commons ${project.version} test-jar test org.codehaus.mojo findbugs-maven-plugin 2.3.1 Max org.codehaus.mojo cobertura-maven-plugin 2.3 org.apache.maven.plugins maven-checkstyle-plugin 2.5 org.apache.maven.plugins maven-pmd-plugin 2.4 1.6 diff --git a/install/pom.xml b/install/pom.xml index b2f01bbb1..a3f97b31c 100644 --- a/install/pom.xml +++ b/install/pom.xml @@ -1,38 +1,38 @@ 4.0.0 SHRINE Install Scripts shrine-install-scripts pom net.shrine shrine-base - 1.23.4.1-SNAPSHOT - + 1.23.4.1-SNAPSHOT + shrine-install-scripts org.apache.maven.plugins maven-assembly-plugin src/main/assembly/assembly.xml make-assembly package single diff --git a/integration/pom.xml b/integration/pom.xml index d08aeaaff..d865132d2 100644 --- a/integration/pom.xml +++ b/integration/pom.xml @@ -1,149 +1,147 @@ 4.0.0 SHRINE Integration Tests shrine-integration-tests net.shrine shrine-base 1.23.4.1-SNAPSHOT - - - + src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin net.shrine shrine-crypto ${project.version} net.shrine shrine-crypto ${project.version} test-jar test net.shrine shrine-test-commons ${project.version} test-jar test net.shrine shrine-data-commons ${project.version} test-jar test net.shrine shrine-protocol ${project.version} test net.shrine shrine-adapter-service ${project.version} test net.shrine shrine-adapter-service ${project.version} test-jar test net.shrine shrine-adapter-client-api ${project.version} test net.shrine shrine-broadcaster-aggregator ${project.version} test net.shrine shrine-qep ${project.version} test net.shrine shrine-broadcaster-service ${project.version} test com.h2database h2 test org.slf4j slf4j-log4j12 test org.springframework spring-jdbc test com.sun.jersey.jersey-test-framework jersey-test-framework-http ${jersey-version} test com.sun.jersey.contribs jersey-simple-server ${jersey-version} test com.typesafe.slick slick-hikaricp_2.11 ${slick-version} test org.spire-math jawn-parser_2.11 ${jawn-version} org.spire-math jawn-ast_2.11 ${jawn-version} com.propensive rapture-json_2.11 ${rapture-version} com.propensive rapture-json-jawn_2.11 ${rapture-version} diff --git a/pom.xml b/pom.xml index 6ad9eac21..b9988315b 100644 --- a/pom.xml +++ b/pom.xml @@ -1,399 +1,395 @@ 4.0.0 SHRINE net.shrine shrine-base pom - 1.23.4.1-SNAPSHOT - - - UTF-8 4.2.5.RELEASE 2.6.2 2.11.11 2.11 4.12 1.7.22 1.2.17 1.19 2.2.6 3.2.2 0.9.7 1.3.1 1.4.193 3.4 5.1.40 2.3 3.0.1 0.9.5 1.3.4 2.4.16 2.4.16 3.5.0 3.1.1 3.1.1.1 1.56 0.1.3 1.9 0.7.0 1.3.1 0.10.4 2.0.0-M8 apps/meta-app apps/meta-war apps/dashboard-app apps/dashboard-war apps/steward-app apps/steward-war apps/proxy apps/shrine-app apps/war qep/service hub/broadcaster-aggregator hub/broadcaster-service adapter/adapter-api adapter/adapter-service hms-support tools commons/json-store commons/util commons/email commons/auth commons/protocol-query commons/data-commons commons/protocol commons/crypto commons/client commons/config commons/ont-support commons/test-commons install integration shrine-webclient shrine-setup net.alchim31.maven scala-maven-plugin ${scala-maven-plugin-version} compile compile compile test-compile testCompile test-compile process-resources compile incremental true -XX:+AggressiveOpts -XX:CompileThreshold=500 -XX:+UseFastAccessorMethods -XX:+UseStringCache -XX:+OptimizeStringConcat -XX:+TieredCompilation -XX:+UseConcMarkSweepGC -XX:+DoEscapeAnalysis -server -Xms64m -Xmx1024m -XX:MaxPermSize=384m ${scala-version} -Xcheckinit -unchecked -deprecation -Xlint:adapted-args,inaccessible,infer-any,missing-interpolator,private-shadow,type-parameter-shadow,unsound-match 7 7 maven-compiler-plugin 7 7 org.codehaus.mojo buildnumber-maven-plugin 1.1 org.apache.maven.plugins maven-jar-plugin 2.4 org.apache.maven.plugins maven-war-plugin 2.1.1 org.codehaus.mojo buildnumber-maven-plugin validate create {0,date,yyyy-MM-dd HH:mm:ss} (not available) org.apache.maven.plugins maven-jar-plugin true ${buildNumber} ${scmBranch} ${timestamp} org.apache.maven.plugins maven-war-plugin true ${buildNumber} ${scmBranch} ${timestamp} org.apache.tomcat.maven tomcat7-maven-plugin 2.2 true true true true http://shrine-dev1.catalyst:6060/shrine/rest/happy scm:git:https://open.med.harvard.edu/stash/scm/shrine/shrine.git CBMI-Nexus https://repo.open.med.harvard.edu/nexus/content/groups/public/ com.typesafe config ${typesafe-config-version} log4j log4j ${log4j-version} org.springframework spring-jdbc ${spring.version} test com.h2database h2 ${h2-version} test org.easymock easymock ${easymock-version} test org.slf4j slf4j-log4j12 ${slf4j-version} test mysql mysql-connector-java ${mysql-version} net.sf.opencsv opencsv ${opencsv-version} net.liftweb lift-json_${scala-major-version} ${lift-version} com.sun.jersey jersey-server ${jersey-version} com.sun.jersey jersey-servlet ${jersey-version} com.sun.jersey jersey-client ${jersey-version} org.squeryl squeryl_${scala-major-version} ${squeryl-version} javax.servlet javax.servlet-api ${servlet-api-version} provided org.bouncycastle bcpkix-jdk15on ${bouncy-castle-version} org.scala-lang scala-library ${scala-version} junit junit ${junit-version} test org.scalatest scalatest_${scala-major-version} ${scalatest-version} test org.scala-lang scala-actors org.scala-lang scala-reflect org.scala-lang scala-actors ${scala-version} test org.scala-lang scala-reflect ${scala-version} nexus Nexus Repo https://repo.open.med.harvard.edu/nexus/content/repositories/snapshots false nexus Nexus Repo https://repo.open.med.harvard.edu/nexus/content/repositories/releases-internal diff --git a/qep/service/pom.xml b/qep/service/pom.xml index 4b34668d9..8a861e118 100644 --- a/qep/service/pom.xml +++ b/qep/service/pom.xml @@ -1,222 +1,226 @@ 4.0.0 SHRINE Service shrine-qep jar net.shrine shrine-base + 1.23.4.1-SNAPSHOT + + + ../../pom.xml src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin false org.squeryl squeryl_${scala-major-version} org.scala-lang scalap org.scala-lang scalap ${scala-version} com.sun.jersey jersey-server com.sun.jersey jersey-client net.shrine shrine-auth ${project.version} net.shrine shrine-broadcaster-aggregator ${project.version} net.shrine shrine-crypto ${project.version} net.shrine shrine-client ${project.version} net.shrine shrine-adapter-client-api ${project.version} net.shrine shrine-protocol ${project.version} net.shrine shrine-data-commons ${project.version} net.shrine shrine-hms-core ${project.version} com.typesafe.slick slick_2.11 ${slick-version} org.suecarter freeslick_2.11 ${freeslick-version} org.slf4j slf4j-log4j12 ${slf4j-version} mysql mysql-connector-java log4j log4j com.sun.jersey.jersey-test-framework jersey-test-framework-http ${jersey-version} test com.sun.jersey.contribs jersey-simple-server ${jersey-version} test com.h2database h2 test org.easymock easymock test org.springframework spring-jdbc test net.shrine shrine-test-commons ${project.version} test-jar test net.shrine shrine-data-commons ${project.version} test-jar test net.shrine shrine-config ${project.version} test-jar test net.shrine shrine-util ${project.version} test-jar test org.codehaus.mojo findbugs-maven-plugin 2.3.1 Max org.codehaus.mojo cobertura-maven-plugin 2.3 org.apache.maven.plugins maven-checkstyle-plugin 2.5 org.apache.maven.plugins maven-pmd-plugin 2.4 1.6 diff --git a/shrine-setup/pom.xml b/shrine-setup/pom.xml index 1cd24d64a..f77de2995 100644 --- a/shrine-setup/pom.xml +++ b/shrine-setup/pom.xml @@ -1,37 +1,39 @@ 4.0.0 SHRINE Web Client shrine-setup pom net.shrine shrine-base + 1.23.4.1-SNAPSHOT + 1.5 2.4 maven-assembly-plugin ${assembly-plugin-version} assembly package single src/main/assembly/assembly.xml \ No newline at end of file diff --git a/shrine-webclient/pom.xml b/shrine-webclient/pom.xml index 307fa500e..9fe5696f9 100644 --- a/shrine-webclient/pom.xml +++ b/shrine-webclient/pom.xml @@ -1,44 +1,48 @@ 4.0.0 SHRINE Web Client shrine-webclient pom net.shrine shrine-base + 1.23.4.1-SNAPSHOT + + + 1.5 2.4 maven-assembly-plugin ${assembly-plugin-version} assembly package single src/main/assembly/assembly.xml \ No newline at end of file diff --git a/shrine-webclient/src/main/js/client/js-i2b2/cells/SHRINE/shrine.plugin.js b/shrine-webclient/src/main/js/client/js-i2b2/cells/SHRINE/shrine.plugin.js index edb86b39e..dace8e445 100644 --- a/shrine-webclient/src/main/js/client/js-i2b2/cells/SHRINE/shrine.plugin.js +++ b/shrine-webclient/src/main/js/client/js-i2b2/cells/SHRINE/shrine.plugin.js @@ -1,125 +1,125 @@ /** * @todo: This logic could be designed to handle all views. */ (function () { 'use strict'; var pluginId = 'shrinePlugin'; //var tabId = 'shrineTab'; var contentIds = [ 'infoQueryStatusText', 'infoQueryStatusChart', 'infoQueryStatusReport', 'infoDownloadStatusData', pluginId ]; // -- add plugin to i2b2 namespace -- // i2b2.SHRINE.plugin = new i2b2Base_cellViewController(i2b2.SHRINE, pluginId); i2b2.SHRINE.plugin.showDisplay = showDisplay; i2b2.SHRINE.plugin.hideDisplay = hideDisplay; i2b2.SHRINE.plugin.ZoomView = zoomView; i2b2.SHRINE.plugin.navigateTo = navigateTo; i2b2.SHRINE.plugin.errorDetail = errorDetail; function zoomView() { const height = jQuery('#infoQueryStatusText').css('height'); jQuery('#shrinePlugin').css('height', height); } function showDisplay(route) { clearAllTabs(); setShrineTabActive(route); hideContent(); $(pluginId).show(); } function clearAllTabs() { $(pluginId).parentNode.parentNode .select('DIV.tabBox.active') .each(function (el) { el.removeClassName('active'); }); /* IE is no fun! .each(el => el.removeClassName('active'));*/ } function setShrineTabActive(route) { // set us as active $(pluginId) .parentNode .parentNode .select('DIV.tabBox.' + route)[0] .addClassName('active'); } function hideContent() { contentIds .each(function (id) { $(id).hide(); }) /*@ie no fun! .each(id => $(id).hide());*/ } function hideDisplay() { $(pluginId).hide(e); } function navigateTo(route) { i2b2.CRC.view.status.selectTab('shrine'); showDisplay(route); var pluginLocation = window.frames['shrine-plugin'].window.location; pluginLocation.href = pluginLocation.origin + pluginLocation.pathname + '#' + route; } function errorDetail(data) { var j$ = jQuery; j$('body').append(j$(getDialogHTML(data))) var pluginErrorDetail = new YAHOO.widget.SimpleDialog("pluginErrorDetail", { width: "820px", fixedcenter: true, constraintoviewport: true, modal: true, zindex: 700, buttons: [{ text: "Done", handler: function() {this.cancel();}, isDefault: true }] }); //$ = prototype.js $('pluginErrorDetail').show(); pluginErrorDetail.validate = function () { return true; }; pluginErrorDetail.render(document.body); // / display the dialoge pluginErrorDetail.center(); pluginErrorDetail.show(); } // ES5 :( function getDialogHTML(data) { return ''; } })(); diff --git a/shrine-webclient/src/main/js/client/js-shrine/assets/css/styles.css b/shrine-webclient/src/main/js/client/js-shrine/assets/css/styles.css index 00d134422..3c446d0c0 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/assets/css/styles.css +++ b/shrine-webclient/src/main/js/client/js-shrine/assets/css/styles.css @@ -1,258 +1,256 @@ @import url(http://fonts.googleapis.com/css?family=Roboto:400,500,300,700); body { overflow: hidden; background: rgba(255, 255, 255, 0.9); font-family: 'Roboto', sans-serif; } html, body, .box-wrapper { width: 100%; height: 100%; margin: 0; } .box-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; } .box-wrapper > .box { margin-top: 1%; width: 100%; transition: all .2s ease; } .box-wrapper > .box .hideextra { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .box-wrapper > .box section { margin: 20 0 6 0; } .box-wrapper > .box section .v-full { height: 90vh; } - .box-wrapper > .box section .v-full > table { - padding-bottom: 10%; } .box-wrapper > .box section .v-min { height: 100px; } .box-wrapper > .box section .v-min > table { padding-bottom: 1%; } .box-wrapper > .box section .tbl-content { overflow: auto; margin-top: 0px; border: 1px solid rgba(98, 108, 146, 0.3); } .box-wrapper > .box table { width: 100%; table-layout: fixed; } .box-wrapper > .box table .tbl-header { background-color: rgba(98, 108, 146, 0.3); } .box-wrapper > .box table .tbl-header div.tbl-header { max-width: 5rem; } .box-wrapper > .box table tr { background: white; cursor: pointer; } .box-wrapper > .box table tr:hover { background: rgba(98, 108, 146, 0.3) !important; } .box-wrapper > .box table tr:nth-child(odd) { background: rgba(98, 108, 146, 0.1); } .box-wrapper > .box table th { padding: 2px 4px 4px 2px; text-align: left; font-weight: 500; font-size: .75rem; color: #626C92; text-transform: uppercase; border-bottom: solid 1px rgba(98, 108, 146, 0.1); border-left: solid 1px rgba(98, 108, 146, 0.1); } .box-wrapper > .box table td { transition: all .5s ease; padding: 2px; text-align: left; vertical-align: top; font-weight: 300; font-size: 12px; color: black; border-bottom: solid 1px rgba(98, 108, 146, 0.1); border-left: solid 1px rgba(98, 108, 146, 0.1); } .circle-pagination { position: absolute; z-index: 1000; list-style-type: none; margin: 0; top: -.3rem; } .circle-pagination li { border-radius: 50%; border: 2px solid #626C92; width: 12px; height: 12px; padding: 4px; margin: 6px; cursor: pointer; float: left; transition: all .2s ease; } .circle-pagination li.active, .circle-pagination li:hover { background: #626C92; width: 14px; height: 14px; } .circle-pagination li.active div, .circle-pagination li div:hover { color: white; } .circle-pagination li div { font-size: .6rem; width: 24px; position: relative; left: -6px; top: 1px; color: #626C92; font-weight: 600; text-transform: capitalize; } .mailto { box-sizing: border-box; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; padding: 10px; color: #333; background: #f2f2f2; height: 100% p; height-font-size: 16px; height-line-height: 1.6em; } .mailto .button { border: 1px solid #6576a8; background: #6d85ad; border: 0; outline: 0; font-weight: bold; text-transform: uppercase; text-decoration: none; letter-spacing: 1px; color: #fff; cursor: pointer; } .mailto .button:hover { background: #9cb8d9; } .mailto .button:active { background: #6576a8; } .mailto .button--large { position: relative; padding: 15px 30px; border-radius: 5px; font-size: 16px; } .mailto .button--large:active { top: 1px; } .mailto .content { max-width: 350px; text-align: center; } .mailto .email { position: relative; } @import url(http://fonts.googleapis.com/css?family=Roboto:400,300&subset=latin,latin-ext); ul.context-menu { transition: opacity 0.2s linear; list-style: none; margin: 0; padding: 0; font: 200 11px "Roboto", sans-serif; position: absolute; color: #626C92; box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.2); border-radius: 5px; border: 1px solid rgba(98, 108, 146, 0.25); } ul.context-menu * { transition: color 0.2s, background 0.2s; } ul.context-menu.hide { visibility: hidden; opacity: 0; } ul.context-menu.show { visibility: visible; opacity: 1; } ul.context-menu li { min-width: 100px; overflow: hidden; white-space: nowrap; padding: 6px 8px; background-color: #fff; border-bottom: 1px solid #ecf0f1; } ul.context-menu li a { color: #626C92; text-decoration: none; } ul.context-menu li:hover { background-color: #ecf0f1; color: #2980b9; } ul.context-menu li:hover a { color: #2980b9; } ul.context-menu li:first-child { border-radius: 5px 5px 0 0; } ul.context-menu li:last-child { border-bottom: 0; border-radius: 0 0 5px 5px; } @import url(http://fonts.googleapis.com/css?family=Roboto:400,300&subset=latin,latin-ext); .loader { background: #fff; margin: 50px 300px; /*todo cleanup with mixin*/ } .loader h1 { color: #626C92; font: 300 11px "Roboto", sans-serif; } .loader div.slider { position: absolute; width: 200px; height: 2px; margin-top: -30px; } .loader div.slider div.line { position: absolute; background: rgba(0, 0, 0, 0.2); width: 200px; height: 2px; } .loader div.slider div.break { position: absolute; width: 50%; height: 2px; } .loader div.slider div.break.dot1 { animation: loading 2s infinite; background: #D9ECF0; } .loader div.slider div.break.dot2 { animation: loading 2s 0.5s infinite; background: #6677AA; } .loader div.slider div.break.dot3 { animation: loading 2s 1s infinite; background: #D9ECF0; } @-webkit-keyframes "loading" { from { left: 0; opacity: 1; } to { left: 200px; opacity: 1; } } @-moz-keyframes "loading" { from { left: 0; opacity: 0; } to { left: 200px; opacity: 1; } } @-o-keyframes "loading" { from { left: 0; opacity: 0; } to { left: 200px; opacity: 1; } } @keyframes "loading" { from { left: 0; opacity: 0; } to { left: 200px; opacity: 1; } } diff --git a/shrine-webclient/src/main/js/client/js-shrine/config.js b/shrine-webclient/src/main/js/client/js-shrine/config.js index 494115738..3d911dd00 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/config.js +++ b/shrine-webclient/src/main/js/client/js-shrine/config.js @@ -1,682 +1,695 @@ System.config({ defaultJSExtensions: true, transpiler: false, paths: { "*": "dist/*", "github:*": "jspm_packages/github/*", "npm:*": "jspm_packages/npm/*" }, map: { "aurelia-animator-css": "npm:aurelia-animator-css@1.0.1", "aurelia-bootstrapper": "npm:aurelia-bootstrapper@1.0.0", "aurelia-fetch-client": "npm:aurelia-fetch-client@1.0.1", "aurelia-framework": "npm:aurelia-framework@1.0.6", "aurelia-history-browser": "npm:aurelia-history-browser@1.0.0", "aurelia-loader-default": "npm:aurelia-loader-default@1.0.0", "aurelia-logging-console": "npm:aurelia-logging-console@1.0.0", "aurelia-pal-browser": "npm:aurelia-pal-browser@1.0.0", "aurelia-polyfills": "npm:aurelia-polyfills@1.1.1", "aurelia-router": "npm:aurelia-router@1.3.0", "aurelia-templating-binding": "npm:aurelia-templating-binding@1.0.0", "aurelia-templating-resources": "npm:aurelia-templating-resources@1.1.1", "aurelia-templating-router": "npm:aurelia-templating-router@1.0.0", "bluebird": "npm:bluebird@3.4.1", "bootstrap": "github:twbs/bootstrap@3.3.7", "fetch": "github:github/fetch@1.0.0", "font-awesome": "npm:font-awesome@4.7.0", "jquery": "npm:jquery@2.2.4", "ramda": "npm:ramda@0.23.0", "text": "github:systemjs/plugin-text@0.0.8", "github:jspm/nodelibs-assert@0.1.0": { "assert": "npm:assert@1.4.1" }, "github:jspm/nodelibs-buffer@0.1.1": { "buffer": "npm:buffer@5.0.6" }, "github:jspm/nodelibs-process@0.1.2": { "process": "npm:process@0.11.10" }, "github:jspm/nodelibs-util@0.1.0": { "util": "npm:util@0.10.3" }, "github:jspm/nodelibs-vm@0.1.0": { "vm-browserify": "npm:vm-browserify@0.0.4" }, "github:twbs/bootstrap@3.3.7": { "jquery": "npm:jquery@2.2.4" }, "npm:assert@1.4.1": { "assert": "github:jspm/nodelibs-assert@0.1.0", "buffer": "github:jspm/nodelibs-buffer@0.1.1", "process": "github:jspm/nodelibs-process@0.1.2", "util": "npm:util@0.10.3" }, "npm:aurelia-animator-css@1.0.1": { "aurelia-metadata": "npm:aurelia-metadata@1.0.3", "aurelia-pal": "npm:aurelia-pal@1.3.0", "aurelia-templating": "npm:aurelia-templating@1.1.1" }, "npm:aurelia-binding@1.0.9": { "aurelia-logging": "npm:aurelia-logging@1.3.1", "aurelia-metadata": "npm:aurelia-metadata@1.0.3", "aurelia-pal": "npm:aurelia-pal@1.3.0", "aurelia-task-queue": "npm:aurelia-task-queue@1.1.0" }, "npm:aurelia-bootstrapper@1.0.0": { "aurelia-event-aggregator": "npm:aurelia-event-aggregator@1.0.1", "aurelia-framework": "npm:aurelia-framework@1.0.6", "aurelia-history": "npm:aurelia-history@1.0.0", "aurelia-history-browser": "npm:aurelia-history-browser@1.0.0", "aurelia-loader-default": "npm:aurelia-loader-default@1.0.0", "aurelia-logging-console": "npm:aurelia-logging-console@1.0.0", "aurelia-pal": "npm:aurelia-pal@1.3.0", "aurelia-pal-browser": "npm:aurelia-pal-browser@1.0.0", "aurelia-polyfills": "npm:aurelia-polyfills@1.1.1", "aurelia-router": "npm:aurelia-router@1.3.0", "aurelia-templating": "npm:aurelia-templating@1.1.1", "aurelia-templating-binding": "npm:aurelia-templating-binding@1.0.0", "aurelia-templating-resources": "npm:aurelia-templating-resources@1.1.1", "aurelia-templating-router": "npm:aurelia-templating-router@1.0.0" }, "npm:aurelia-dependency-injection@1.3.1": { "aurelia-metadata": "npm:aurelia-metadata@1.0.3", "aurelia-pal": "npm:aurelia-pal@1.3.0" }, "npm:aurelia-event-aggregator@1.0.1": { "aurelia-logging": "npm:aurelia-logging@1.3.1" }, "npm:aurelia-framework@1.0.6": { "aurelia-binding": "npm:aurelia-binding@1.0.9", "aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1", "aurelia-loader": "npm:aurelia-loader@1.0.0", "aurelia-logging": "npm:aurelia-logging@1.3.1", "aurelia-metadata": "npm:aurelia-metadata@1.0.3", "aurelia-pal": "npm:aurelia-pal@1.3.0", "aurelia-path": "npm:aurelia-path@1.1.1", "aurelia-task-queue": "npm:aurelia-task-queue@1.1.0", "aurelia-templating": "npm:aurelia-templating@1.1.1" }, "npm:aurelia-history-browser@1.0.0": { "aurelia-history": "npm:aurelia-history@1.0.0", "aurelia-pal": "npm:aurelia-pal@1.3.0" }, "npm:aurelia-loader-default@1.0.0": { "aurelia-loader": "npm:aurelia-loader@1.0.0", "aurelia-metadata": "npm:aurelia-metadata@1.0.3", "aurelia-pal": "npm:aurelia-pal@1.3.0" }, "npm:aurelia-loader@1.0.0": { "aurelia-metadata": "npm:aurelia-metadata@1.0.3", "aurelia-path": "npm:aurelia-path@1.1.1" }, "npm:aurelia-logging-console@1.0.0": { "aurelia-logging": "npm:aurelia-logging@1.3.1" }, "npm:aurelia-metadata@1.0.3": { "aurelia-pal": "npm:aurelia-pal@1.3.0" }, "npm:aurelia-pal-browser@1.0.0": { "aurelia-pal": "npm:aurelia-pal@1.3.0" }, "npm:aurelia-polyfills@1.1.1": { "aurelia-pal": "npm:aurelia-pal@1.3.0" }, "npm:aurelia-route-recognizer@1.1.0": { "aurelia-path": "npm:aurelia-path@1.1.1" }, "npm:aurelia-router@1.3.0": { "aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1", "aurelia-event-aggregator": "npm:aurelia-event-aggregator@1.0.1", "aurelia-history": "npm:aurelia-history@1.0.0", "aurelia-logging": "npm:aurelia-logging@1.3.1", "aurelia-path": "npm:aurelia-path@1.1.1", "aurelia-route-recognizer": "npm:aurelia-route-recognizer@1.1.0" }, "npm:aurelia-task-queue@1.1.0": { "aurelia-pal": "npm:aurelia-pal@1.3.0" }, "npm:aurelia-templating-binding@1.0.0": { "aurelia-binding": "npm:aurelia-binding@1.0.9", "aurelia-logging": "npm:aurelia-logging@1.3.1", "aurelia-templating": "npm:aurelia-templating@1.1.1" }, "npm:aurelia-templating-resources@1.1.1": { "aurelia-binding": "npm:aurelia-binding@1.0.9", "aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1", "aurelia-loader": "npm:aurelia-loader@1.0.0", "aurelia-logging": "npm:aurelia-logging@1.3.1", "aurelia-metadata": "npm:aurelia-metadata@1.0.3", "aurelia-pal": "npm:aurelia-pal@1.3.0", "aurelia-path": "npm:aurelia-path@1.1.1", "aurelia-task-queue": "npm:aurelia-task-queue@1.1.0", "aurelia-templating": "npm:aurelia-templating@1.1.1" }, "npm:aurelia-templating-router@1.0.0": { "aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1", "aurelia-logging": "npm:aurelia-logging@1.3.1", "aurelia-metadata": "npm:aurelia-metadata@1.0.3", "aurelia-pal": "npm:aurelia-pal@1.3.0", "aurelia-path": "npm:aurelia-path@1.1.1", "aurelia-router": "npm:aurelia-router@1.3.0", "aurelia-templating": "npm:aurelia-templating@1.1.1" }, "npm:aurelia-templating@1.1.1": { "aurelia-binding": "npm:aurelia-binding@1.0.9", "aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1", "aurelia-loader": "npm:aurelia-loader@1.0.0", "aurelia-logging": "npm:aurelia-logging@1.3.1", "aurelia-metadata": "npm:aurelia-metadata@1.0.3", "aurelia-pal": "npm:aurelia-pal@1.3.0", "aurelia-path": "npm:aurelia-path@1.1.1", "aurelia-task-queue": "npm:aurelia-task-queue@1.1.0" }, "npm:bluebird@3.4.1": { "process": "github:jspm/nodelibs-process@0.1.2" }, "npm:buffer@5.0.6": { "base64-js": "npm:base64-js@1.2.0", "ieee754": "npm:ieee754@1.1.8" }, "npm:font-awesome@4.7.0": { "css": "github:systemjs/plugin-css@0.1.33" }, "npm:inherits@2.0.1": { "util": "github:jspm/nodelibs-util@0.1.0" }, "npm:process@0.11.10": { "assert": "github:jspm/nodelibs-assert@0.1.0", "fs": "github:jspm/nodelibs-fs@0.1.2", "vm": "github:jspm/nodelibs-vm@0.1.0" }, "npm:ramda@0.23.0": { "assert": "github:jspm/nodelibs-assert@0.1.0", "process": "github:jspm/nodelibs-process@0.1.2", "util": "github:jspm/nodelibs-util@0.1.0", "vm": "github:jspm/nodelibs-vm@0.1.0" }, "npm:util@0.10.3": { "inherits": "npm:inherits@2.0.1", "process": "github:jspm/nodelibs-process@0.1.2" }, "npm:vm-browserify@0.0.4": { "indexof": "npm:indexof@0.0.1" } }, depCache: { "common/container.js": [ "ramda" ], + "common/i2b2.pub-sub.js": [ + "aurelia-framework", + "./i2b2.service", + "./tabs.model" + ], "common/i2b2.service.js": [ "ramda", "./container" ], "repository/qep.repository.js": [ "aurelia-framework", "aurelia-fetch-client", "fetch" ], + "shell.js": [ + "aurelia-framework", + "common/i2b2.pub-sub" + ], "views/mailto/mailto.js": [ "aurelia-framework", "views/mailto/mailto.service", "views/mailto/mailto.config" ], "views/mailto/mailto.service.js": [ "aurelia-framework", "repository/qep.repository" ], "views/query-viewer/context-menu/context-menu.js": [ "aurelia-framework", "common/i2b2.service.js" ], "views/query-viewer/loading-bar/loading-bar.js": [ "aurelia-framework" ], "views/query-viewer/query-viewer.js": [ "aurelia-framework", "views/query-viewer/query-viewer.service", "common/i2b2.service.js", + "common/tabs.model", "./query-viewer.model", "./scroll.service", "./query-viewer.config" ], "views/query-viewer/query-viewer.service.js": [ "aurelia-framework", "repository/qep.repository", "./query-viewer.config" ], "views/query-viewer/scroll.service.js": [ "ramda", "common/container" ] }, bundles: { "app-build.js": [ "common/container.js", + "common/i2b2.pub-sub.js", "common/i2b2.service.js", + "common/tabs.model.js", "main.js", "repository/qep.repository.js", "shell.html!github:systemjs/plugin-text@0.0.8.js", "shell.js", "views/mailto/mailto.config.js", "views/mailto/mailto.html!github:systemjs/plugin-text@0.0.8.js", "views/mailto/mailto.js", "views/mailto/mailto.service.js", "views/query-viewer/box-style.converter.js", "views/query-viewer/context-menu/context-menu.html!github:systemjs/plugin-text@0.0.8.js", "views/query-viewer/context-menu/context-menu.js", "views/query-viewer/loading-bar/loading-bar.html!github:systemjs/plugin-text@0.0.8.js", "views/query-viewer/loading-bar/loading-bar.js", + "views/query-viewer/loading-bar/row-loader.html!github:systemjs/plugin-text@0.0.8.js", "views/query-viewer/query-viewer.config.js", "views/query-viewer/query-viewer.html!github:systemjs/plugin-text@0.0.8.js", "views/query-viewer/query-viewer.js", "views/query-viewer/query-viewer.model.js", "views/query-viewer/query-viewer.service.js", "views/query-viewer/result-style.converter.js", "views/query-viewer/result-value.converter.js", "views/query-viewer/scroll.service.js" ], "aurelia.js": [ "github:github/fetch@1.0.0.js", "github:github/fetch@1.0.0/fetch.js", "github:jspm/nodelibs-process@0.1.2.js", "github:jspm/nodelibs-process@0.1.2/index.js", "npm:aurelia-binding@1.0.9.js", "npm:aurelia-binding@1.0.9/aurelia-binding.js", "npm:aurelia-bootstrapper@1.0.0.js", "npm:aurelia-bootstrapper@1.0.0/aurelia-bootstrapper.js", "npm:aurelia-dependency-injection@1.3.1.js", "npm:aurelia-dependency-injection@1.3.1/aurelia-dependency-injection.js", "npm:aurelia-event-aggregator@1.0.1.js", "npm:aurelia-event-aggregator@1.0.1/aurelia-event-aggregator.js", "npm:aurelia-fetch-client@1.0.1.js", "npm:aurelia-fetch-client@1.0.1/aurelia-fetch-client.js", "npm:aurelia-framework@1.0.6.js", "npm:aurelia-framework@1.0.6/aurelia-framework.js", "npm:aurelia-history-browser@1.0.0.js", "npm:aurelia-history-browser@1.0.0/aurelia-history-browser.js", "npm:aurelia-history@1.0.0.js", "npm:aurelia-history@1.0.0/aurelia-history.js", "npm:aurelia-loader-default@1.0.0.js", "npm:aurelia-loader-default@1.0.0/aurelia-loader-default.js", "npm:aurelia-loader@1.0.0.js", "npm:aurelia-loader@1.0.0/aurelia-loader.js", "npm:aurelia-logging-console@1.0.0.js", "npm:aurelia-logging-console@1.0.0/aurelia-logging-console.js", "npm:aurelia-logging@1.3.1.js", "npm:aurelia-logging@1.3.1/aurelia-logging.js", "npm:aurelia-metadata@1.0.3.js", "npm:aurelia-metadata@1.0.3/aurelia-metadata.js", "npm:aurelia-pal-browser@1.0.0.js", "npm:aurelia-pal-browser@1.0.0/aurelia-pal-browser.js", "npm:aurelia-pal@1.3.0.js", "npm:aurelia-pal@1.3.0/aurelia-pal.js", "npm:aurelia-path@1.1.1.js", "npm:aurelia-path@1.1.1/aurelia-path.js", "npm:aurelia-polyfills@1.1.1.js", "npm:aurelia-polyfills@1.1.1/aurelia-polyfills.js", "npm:aurelia-route-recognizer@1.1.0.js", "npm:aurelia-route-recognizer@1.1.0/aurelia-route-recognizer.js", "npm:aurelia-router@1.3.0.js", "npm:aurelia-router@1.3.0/aurelia-router.js", "npm:aurelia-task-queue@1.1.0.js", "npm:aurelia-task-queue@1.1.0/aurelia-task-queue.js", "npm:aurelia-templating-binding@1.0.0.js", "npm:aurelia-templating-binding@1.0.0/aurelia-templating-binding.js", "npm:aurelia-templating-resources@1.1.1.js", "npm:aurelia-templating-resources@1.1.1/abstract-repeater.js", "npm:aurelia-templating-resources@1.1.1/analyze-view-factory.js", "npm:aurelia-templating-resources@1.1.1/array-repeat-strategy.js", "npm:aurelia-templating-resources@1.1.1/attr-binding-behavior.js", "npm:aurelia-templating-resources@1.1.1/aurelia-hide-style.js", "npm:aurelia-templating-resources@1.1.1/aurelia-templating-resources.js", "npm:aurelia-templating-resources@1.1.1/binding-mode-behaviors.js", "npm:aurelia-templating-resources@1.1.1/binding-signaler.js", "npm:aurelia-templating-resources@1.1.1/compose.js", "npm:aurelia-templating-resources@1.1.1/css-resource.js", "npm:aurelia-templating-resources@1.1.1/debounce-binding-behavior.js", "npm:aurelia-templating-resources@1.1.1/dynamic-element.js", "npm:aurelia-templating-resources@1.1.1/focus.js", "npm:aurelia-templating-resources@1.1.1/hide.js", "npm:aurelia-templating-resources@1.1.1/html-resource-plugin.js", "npm:aurelia-templating-resources@1.1.1/html-sanitizer.js", "npm:aurelia-templating-resources@1.1.1/if.js", "npm:aurelia-templating-resources@1.1.1/map-repeat-strategy.js", "npm:aurelia-templating-resources@1.1.1/null-repeat-strategy.js", "npm:aurelia-templating-resources@1.1.1/number-repeat-strategy.js", "npm:aurelia-templating-resources@1.1.1/repeat-strategy-locator.js", "npm:aurelia-templating-resources@1.1.1/repeat-utilities.js", "npm:aurelia-templating-resources@1.1.1/repeat.js", "npm:aurelia-templating-resources@1.1.1/replaceable.js", "npm:aurelia-templating-resources@1.1.1/sanitize-html.js", "npm:aurelia-templating-resources@1.1.1/set-repeat-strategy.js", "npm:aurelia-templating-resources@1.1.1/show.js", "npm:aurelia-templating-resources@1.1.1/signal-binding-behavior.js", "npm:aurelia-templating-resources@1.1.1/throttle-binding-behavior.js", "npm:aurelia-templating-resources@1.1.1/update-trigger-binding-behavior.js", "npm:aurelia-templating-resources@1.1.1/with.js", "npm:aurelia-templating-router@1.0.0.js", "npm:aurelia-templating-router@1.0.0/aurelia-templating-router.js", "npm:aurelia-templating-router@1.0.0/route-href.js", "npm:aurelia-templating-router@1.0.0/route-loader.js", "npm:aurelia-templating-router@1.0.0/router-view.js", "npm:aurelia-templating@1.1.1.js", "npm:aurelia-templating@1.1.1/aurelia-templating.js", "npm:font-awesome@4.7.0.js", "npm:font-awesome@4.7.0/css/font-awesome.css!github:systemjs/plugin-css@0.1.33.js", "npm:jquery@2.2.4.js", "npm:jquery@2.2.4/dist/jquery.js", "npm:process@0.11.10.js", "npm:process@0.11.10/browser.js", "npm:ramda@0.23.0.js", "npm:ramda@0.23.0/index.js", "npm:ramda@0.23.0/src/F.js", "npm:ramda@0.23.0/src/T.js", "npm:ramda@0.23.0/src/__.js", "npm:ramda@0.23.0/src/add.js", "npm:ramda@0.23.0/src/addIndex.js", "npm:ramda@0.23.0/src/adjust.js", "npm:ramda@0.23.0/src/all.js", "npm:ramda@0.23.0/src/allPass.js", "npm:ramda@0.23.0/src/always.js", "npm:ramda@0.23.0/src/and.js", "npm:ramda@0.23.0/src/any.js", "npm:ramda@0.23.0/src/anyPass.js", "npm:ramda@0.23.0/src/ap.js", "npm:ramda@0.23.0/src/aperture.js", "npm:ramda@0.23.0/src/append.js", "npm:ramda@0.23.0/src/apply.js", "npm:ramda@0.23.0/src/applySpec.js", "npm:ramda@0.23.0/src/ascend.js", "npm:ramda@0.23.0/src/assoc.js", "npm:ramda@0.23.0/src/assocPath.js", "npm:ramda@0.23.0/src/binary.js", "npm:ramda@0.23.0/src/bind.js", "npm:ramda@0.23.0/src/both.js", "npm:ramda@0.23.0/src/call.js", "npm:ramda@0.23.0/src/chain.js", "npm:ramda@0.23.0/src/clamp.js", "npm:ramda@0.23.0/src/clone.js", "npm:ramda@0.23.0/src/comparator.js", "npm:ramda@0.23.0/src/complement.js", "npm:ramda@0.23.0/src/compose.js", "npm:ramda@0.23.0/src/composeK.js", "npm:ramda@0.23.0/src/composeP.js", "npm:ramda@0.23.0/src/concat.js", "npm:ramda@0.23.0/src/cond.js", "npm:ramda@0.23.0/src/construct.js", "npm:ramda@0.23.0/src/constructN.js", "npm:ramda@0.23.0/src/contains.js", "npm:ramda@0.23.0/src/converge.js", "npm:ramda@0.23.0/src/countBy.js", "npm:ramda@0.23.0/src/curry.js", "npm:ramda@0.23.0/src/curryN.js", "npm:ramda@0.23.0/src/dec.js", "npm:ramda@0.23.0/src/defaultTo.js", "npm:ramda@0.23.0/src/descend.js", "npm:ramda@0.23.0/src/difference.js", "npm:ramda@0.23.0/src/differenceWith.js", "npm:ramda@0.23.0/src/dissoc.js", "npm:ramda@0.23.0/src/dissocPath.js", "npm:ramda@0.23.0/src/divide.js", "npm:ramda@0.23.0/src/drop.js", "npm:ramda@0.23.0/src/dropLast.js", "npm:ramda@0.23.0/src/dropLastWhile.js", "npm:ramda@0.23.0/src/dropRepeats.js", "npm:ramda@0.23.0/src/dropRepeatsWith.js", "npm:ramda@0.23.0/src/dropWhile.js", "npm:ramda@0.23.0/src/either.js", "npm:ramda@0.23.0/src/empty.js", "npm:ramda@0.23.0/src/eqBy.js", "npm:ramda@0.23.0/src/eqProps.js", "npm:ramda@0.23.0/src/equals.js", "npm:ramda@0.23.0/src/evolve.js", "npm:ramda@0.23.0/src/filter.js", "npm:ramda@0.23.0/src/find.js", "npm:ramda@0.23.0/src/findIndex.js", "npm:ramda@0.23.0/src/findLast.js", "npm:ramda@0.23.0/src/findLastIndex.js", "npm:ramda@0.23.0/src/flatten.js", "npm:ramda@0.23.0/src/flip.js", "npm:ramda@0.23.0/src/forEach.js", "npm:ramda@0.23.0/src/forEachObjIndexed.js", "npm:ramda@0.23.0/src/fromPairs.js", "npm:ramda@0.23.0/src/groupBy.js", "npm:ramda@0.23.0/src/groupWith.js", "npm:ramda@0.23.0/src/gt.js", "npm:ramda@0.23.0/src/gte.js", "npm:ramda@0.23.0/src/has.js", "npm:ramda@0.23.0/src/hasIn.js", "npm:ramda@0.23.0/src/head.js", "npm:ramda@0.23.0/src/identical.js", "npm:ramda@0.23.0/src/identity.js", "npm:ramda@0.23.0/src/ifElse.js", "npm:ramda@0.23.0/src/inc.js", "npm:ramda@0.23.0/src/indexBy.js", "npm:ramda@0.23.0/src/indexOf.js", "npm:ramda@0.23.0/src/init.js", "npm:ramda@0.23.0/src/insert.js", "npm:ramda@0.23.0/src/insertAll.js", "npm:ramda@0.23.0/src/internal/_Set.js", "npm:ramda@0.23.0/src/internal/_aperture.js", "npm:ramda@0.23.0/src/internal/_arity.js", "npm:ramda@0.23.0/src/internal/_arrayFromIterator.js", "npm:ramda@0.23.0/src/internal/_assign.js", "npm:ramda@0.23.0/src/internal/_checkForMethod.js", "npm:ramda@0.23.0/src/internal/_clone.js", "npm:ramda@0.23.0/src/internal/_cloneRegExp.js", "npm:ramda@0.23.0/src/internal/_complement.js", "npm:ramda@0.23.0/src/internal/_concat.js", "npm:ramda@0.23.0/src/internal/_contains.js", "npm:ramda@0.23.0/src/internal/_containsWith.js", "npm:ramda@0.23.0/src/internal/_createPartialApplicator.js", "npm:ramda@0.23.0/src/internal/_curry1.js", "npm:ramda@0.23.0/src/internal/_curry2.js", "npm:ramda@0.23.0/src/internal/_curry3.js", "npm:ramda@0.23.0/src/internal/_curryN.js", "npm:ramda@0.23.0/src/internal/_dispatchable.js", "npm:ramda@0.23.0/src/internal/_dropLast.js", "npm:ramda@0.23.0/src/internal/_dropLastWhile.js", "npm:ramda@0.23.0/src/internal/_equals.js", "npm:ramda@0.23.0/src/internal/_filter.js", "npm:ramda@0.23.0/src/internal/_flatCat.js", "npm:ramda@0.23.0/src/internal/_forceReduced.js", "npm:ramda@0.23.0/src/internal/_functionName.js", "npm:ramda@0.23.0/src/internal/_has.js", "npm:ramda@0.23.0/src/internal/_identity.js", "npm:ramda@0.23.0/src/internal/_indexOf.js", "npm:ramda@0.23.0/src/internal/_isArguments.js", "npm:ramda@0.23.0/src/internal/_isArray.js", "npm:ramda@0.23.0/src/internal/_isFunction.js", "npm:ramda@0.23.0/src/internal/_isInteger.js", "npm:ramda@0.23.0/src/internal/_isNumber.js", "npm:ramda@0.23.0/src/internal/_isObject.js", "npm:ramda@0.23.0/src/internal/_isPlaceholder.js", "npm:ramda@0.23.0/src/internal/_isRegExp.js", "npm:ramda@0.23.0/src/internal/_isString.js", "npm:ramda@0.23.0/src/internal/_isTransformer.js", "npm:ramda@0.23.0/src/internal/_makeFlat.js", "npm:ramda@0.23.0/src/internal/_map.js", "npm:ramda@0.23.0/src/internal/_objectAssign.js", "npm:ramda@0.23.0/src/internal/_of.js", "npm:ramda@0.23.0/src/internal/_pipe.js", "npm:ramda@0.23.0/src/internal/_pipeP.js", "npm:ramda@0.23.0/src/internal/_quote.js", "npm:ramda@0.23.0/src/internal/_reduce.js", "npm:ramda@0.23.0/src/internal/_reduced.js", "npm:ramda@0.23.0/src/internal/_stepCat.js", "npm:ramda@0.23.0/src/internal/_toISOString.js", "npm:ramda@0.23.0/src/internal/_toString.js", "npm:ramda@0.23.0/src/internal/_xall.js", "npm:ramda@0.23.0/src/internal/_xany.js", "npm:ramda@0.23.0/src/internal/_xaperture.js", "npm:ramda@0.23.0/src/internal/_xchain.js", "npm:ramda@0.23.0/src/internal/_xdrop.js", "npm:ramda@0.23.0/src/internal/_xdropLast.js", "npm:ramda@0.23.0/src/internal/_xdropLastWhile.js", "npm:ramda@0.23.0/src/internal/_xdropRepeatsWith.js", "npm:ramda@0.23.0/src/internal/_xdropWhile.js", "npm:ramda@0.23.0/src/internal/_xfBase.js", "npm:ramda@0.23.0/src/internal/_xfilter.js", "npm:ramda@0.23.0/src/internal/_xfind.js", "npm:ramda@0.23.0/src/internal/_xfindIndex.js", "npm:ramda@0.23.0/src/internal/_xfindLast.js", "npm:ramda@0.23.0/src/internal/_xfindLastIndex.js", "npm:ramda@0.23.0/src/internal/_xmap.js", "npm:ramda@0.23.0/src/internal/_xreduceBy.js", "npm:ramda@0.23.0/src/internal/_xtake.js", "npm:ramda@0.23.0/src/internal/_xtakeWhile.js", "npm:ramda@0.23.0/src/internal/_xwrap.js", "npm:ramda@0.23.0/src/intersection.js", "npm:ramda@0.23.0/src/intersectionWith.js", "npm:ramda@0.23.0/src/intersperse.js", "npm:ramda@0.23.0/src/into.js", "npm:ramda@0.23.0/src/invert.js", "npm:ramda@0.23.0/src/invertObj.js", "npm:ramda@0.23.0/src/invoker.js", "npm:ramda@0.23.0/src/is.js", "npm:ramda@0.23.0/src/isArrayLike.js", "npm:ramda@0.23.0/src/isEmpty.js", "npm:ramda@0.23.0/src/isNil.js", "npm:ramda@0.23.0/src/join.js", "npm:ramda@0.23.0/src/juxt.js", "npm:ramda@0.23.0/src/keys.js", "npm:ramda@0.23.0/src/keysIn.js", "npm:ramda@0.23.0/src/last.js", "npm:ramda@0.23.0/src/lastIndexOf.js", "npm:ramda@0.23.0/src/length.js", "npm:ramda@0.23.0/src/lens.js", "npm:ramda@0.23.0/src/lensIndex.js", "npm:ramda@0.23.0/src/lensPath.js", "npm:ramda@0.23.0/src/lensProp.js", "npm:ramda@0.23.0/src/lift.js", "npm:ramda@0.23.0/src/liftN.js", "npm:ramda@0.23.0/src/lt.js", "npm:ramda@0.23.0/src/lte.js", "npm:ramda@0.23.0/src/map.js", "npm:ramda@0.23.0/src/mapAccum.js", "npm:ramda@0.23.0/src/mapAccumRight.js", "npm:ramda@0.23.0/src/mapObjIndexed.js", "npm:ramda@0.23.0/src/match.js", "npm:ramda@0.23.0/src/mathMod.js", "npm:ramda@0.23.0/src/max.js", "npm:ramda@0.23.0/src/maxBy.js", "npm:ramda@0.23.0/src/mean.js", "npm:ramda@0.23.0/src/median.js", "npm:ramda@0.23.0/src/memoize.js", "npm:ramda@0.23.0/src/merge.js", "npm:ramda@0.23.0/src/mergeAll.js", "npm:ramda@0.23.0/src/mergeWith.js", "npm:ramda@0.23.0/src/mergeWithKey.js", "npm:ramda@0.23.0/src/min.js", "npm:ramda@0.23.0/src/minBy.js", "npm:ramda@0.23.0/src/modulo.js", "npm:ramda@0.23.0/src/multiply.js", "npm:ramda@0.23.0/src/nAry.js", "npm:ramda@0.23.0/src/negate.js", "npm:ramda@0.23.0/src/none.js", "npm:ramda@0.23.0/src/not.js", "npm:ramda@0.23.0/src/nth.js", "npm:ramda@0.23.0/src/nthArg.js", "npm:ramda@0.23.0/src/objOf.js", "npm:ramda@0.23.0/src/of.js", "npm:ramda@0.23.0/src/omit.js", "npm:ramda@0.23.0/src/once.js", "npm:ramda@0.23.0/src/or.js", "npm:ramda@0.23.0/src/over.js", "npm:ramda@0.23.0/src/pair.js", "npm:ramda@0.23.0/src/partial.js", "npm:ramda@0.23.0/src/partialRight.js", "npm:ramda@0.23.0/src/partition.js", "npm:ramda@0.23.0/src/path.js", "npm:ramda@0.23.0/src/pathEq.js", "npm:ramda@0.23.0/src/pathOr.js", "npm:ramda@0.23.0/src/pathSatisfies.js", "npm:ramda@0.23.0/src/pick.js", "npm:ramda@0.23.0/src/pickAll.js", "npm:ramda@0.23.0/src/pickBy.js", "npm:ramda@0.23.0/src/pipe.js", "npm:ramda@0.23.0/src/pipeK.js", "npm:ramda@0.23.0/src/pipeP.js", "npm:ramda@0.23.0/src/pluck.js", "npm:ramda@0.23.0/src/prepend.js", "npm:ramda@0.23.0/src/product.js", "npm:ramda@0.23.0/src/project.js", "npm:ramda@0.23.0/src/prop.js", "npm:ramda@0.23.0/src/propEq.js", "npm:ramda@0.23.0/src/propIs.js", "npm:ramda@0.23.0/src/propOr.js", "npm:ramda@0.23.0/src/propSatisfies.js", "npm:ramda@0.23.0/src/props.js", "npm:ramda@0.23.0/src/range.js", "npm:ramda@0.23.0/src/reduce.js", "npm:ramda@0.23.0/src/reduceBy.js", "npm:ramda@0.23.0/src/reduceRight.js", "npm:ramda@0.23.0/src/reduceWhile.js", "npm:ramda@0.23.0/src/reduced.js", "npm:ramda@0.23.0/src/reject.js", "npm:ramda@0.23.0/src/remove.js", "npm:ramda@0.23.0/src/repeat.js", "npm:ramda@0.23.0/src/replace.js", "npm:ramda@0.23.0/src/reverse.js", "npm:ramda@0.23.0/src/scan.js", "npm:ramda@0.23.0/src/sequence.js", "npm:ramda@0.23.0/src/set.js", "npm:ramda@0.23.0/src/slice.js", "npm:ramda@0.23.0/src/sort.js", "npm:ramda@0.23.0/src/sortBy.js", "npm:ramda@0.23.0/src/sortWith.js", "npm:ramda@0.23.0/src/split.js", "npm:ramda@0.23.0/src/splitAt.js", "npm:ramda@0.23.0/src/splitEvery.js", "npm:ramda@0.23.0/src/splitWhen.js", "npm:ramda@0.23.0/src/subtract.js", "npm:ramda@0.23.0/src/sum.js", "npm:ramda@0.23.0/src/symmetricDifference.js", "npm:ramda@0.23.0/src/symmetricDifferenceWith.js", "npm:ramda@0.23.0/src/tail.js", "npm:ramda@0.23.0/src/take.js", "npm:ramda@0.23.0/src/takeLast.js", "npm:ramda@0.23.0/src/takeLastWhile.js", "npm:ramda@0.23.0/src/takeWhile.js", "npm:ramda@0.23.0/src/tap.js", "npm:ramda@0.23.0/src/test.js", "npm:ramda@0.23.0/src/times.js", "npm:ramda@0.23.0/src/toLower.js", "npm:ramda@0.23.0/src/toPairs.js", "npm:ramda@0.23.0/src/toPairsIn.js", "npm:ramda@0.23.0/src/toString.js", "npm:ramda@0.23.0/src/toUpper.js", "npm:ramda@0.23.0/src/transduce.js", "npm:ramda@0.23.0/src/transpose.js", "npm:ramda@0.23.0/src/traverse.js", "npm:ramda@0.23.0/src/trim.js", "npm:ramda@0.23.0/src/tryCatch.js", "npm:ramda@0.23.0/src/type.js", "npm:ramda@0.23.0/src/unapply.js", "npm:ramda@0.23.0/src/unary.js", "npm:ramda@0.23.0/src/uncurryN.js", "npm:ramda@0.23.0/src/unfold.js", "npm:ramda@0.23.0/src/union.js", "npm:ramda@0.23.0/src/unionWith.js", "npm:ramda@0.23.0/src/uniq.js", "npm:ramda@0.23.0/src/uniqBy.js", "npm:ramda@0.23.0/src/uniqWith.js", "npm:ramda@0.23.0/src/unless.js", "npm:ramda@0.23.0/src/unnest.js", "npm:ramda@0.23.0/src/until.js", "npm:ramda@0.23.0/src/update.js", "npm:ramda@0.23.0/src/useWith.js", "npm:ramda@0.23.0/src/values.js", "npm:ramda@0.23.0/src/valuesIn.js", "npm:ramda@0.23.0/src/view.js", "npm:ramda@0.23.0/src/when.js", "npm:ramda@0.23.0/src/where.js", "npm:ramda@0.23.0/src/whereEq.js", "npm:ramda@0.23.0/src/without.js", "npm:ramda@0.23.0/src/xprod.js", "npm:ramda@0.23.0/src/zip.js", "npm:ramda@0.23.0/src/zipObj.js", "npm:ramda@0.23.0/src/zipWith.js" ] } }); \ No newline at end of file diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/app-build.js b/shrine-webclient/src/main/js/client/js-shrine/dist/app-build.js index 3fccfbbce..07088df2a 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/dist/app-build.js +++ b/shrine-webclient/src/main/js/client/js-shrine/dist/app-build.js @@ -1 +1 @@ -"bundle";System.register("main.js",[],function(a,b){"use strict";function c(a){a.use.standardConfiguration().developmentLogging(),a.start().then(function(){return a.setRoot("shell")})}return a("configure",c),{setters:[],execute:function(){}}}),function(){var a=System.amdDefine;a("shell.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return""})}(),System.register("shell.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("Shell",d=function(){function a(){c(this,a)}return a.prototype.configureRouter=function(a,b){a.title="SHRINE Webclient Plugin",a.map([{route:"mailto",moduleId:"views/mailto/mailto"},{route:["","query-viewer"],moduleId:"views/query-viewer/query-viewer"}]),this.router=b},a}()),a("Shell",d)}}}),function(){var a=System.amdDefine;a("views/mailto/mailto.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return''})}(),System.register("views/mailto/mailto.service.js",["aurelia-framework","repository/qep.repository"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a.inject},function(a){e=a.QEPRepository}],execute:function(){a("MailToService",(f=d(e),h=f(g=function(){function a(b){c(this,a),this.repository=b}return a.prototype.fetchStewardEmail=function(){return this.repository.fetchStewardEmail()},a}())||g)),a("MailToService",h)}}}),System.register("views/mailto/mailto.config.js",[],function(a,b){"use strict";var c;return{setters:[],execute:function(){a("MailConfig",c={mailto:"mailto:",subject:encodeURIComponent("Question from a SHRINE User"),body:encodeURIComponent("Please enter the suggested information and your question. Your data steward will reply to this email.\n \n\n***Never send patient information, passwords, or other sensitive information by email****\n \nName:\n \nTitle:\n \nUser name (to log into SHRINE):\n \nTelephone Number (optional):\n \nPreferred email address (optional):\n \n\nQuestion or Comment:")}),a("MailConfig",c)}}}),System.register("views/mailto/mailto.js",["aurelia-framework","views/mailto/mailto.service","views/mailto/mailto.config"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.inject},function(a){e=a.MailToService},function(a){f=a.MailConfig}],execute:function(){a("MailTo",(g=d(e,f),i=g(h=function(){function a(b,d){c(this,a),this.service=b,this.config=d}return a.prototype.openEmail=function(){var a=this;this.service.fetchStewardEmail().then(function(b){window.top.location="mailto:"+b+"?subject="+a.config.subject+"&body="+a.config.body})},a}())||h)),a("MailTo",i)}}}),System.register("views/query-viewer/box-style.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("BoxStyleValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return"transform: translate("+String(-100*a)+"%);"},a}()),a("BoxStyleValueConverter",d)}}}),function(){var a=System.amdDefine;a("views/query-viewer/context-menu/context-menu.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return''})}(),System.register("views/query-viewer/context-menu/context-menu.js",["aurelia-framework","common/i2b2.service.js"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l,m;return{setters:[function(a){f=a.inject,g=a.bindable},function(a){h=a.I2B2Service}],execute:function(){a("ContextMenu",(i=f(h),m=i((k=function b(a){var e=this;d(this,b),c(this,"context",l,this),this.loadQuery=function(b){a.loadQuery(b),e.context["class"]="hide"},this.loadHistory=function(){a.loadHistory(),e.context["class"]="hide"}},l=e(k.prototype,"context",[g],{enumerable:!0,initializer:null}),j=k))||j)),a("ContextMenu",m)}}}),function(){var a=System.amdDefine;a("views/query-viewer/loading-bar/loading-bar.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return''})}(),System.register("views/query-viewer/loading-bar/loading-bar.js",["aurelia-framework"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i;return{setters:[function(a){f=a.bindable}],execute:function(){a("LoadingBar",(g=function b(){d(this,b),c(this,"status",h,this)},h=e(g.prototype,"status",[f],{enumerable:!0,initializer:null}),i=g)),a("LoadingBar",i)}}}),function(){var a=System.amdDefine;a("views/query-viewer/query-viewer.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return''})}(),System.register("repository/qep.repository.js",["aurelia-framework","aurelia-fetch-client","fetch"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.inject},function(a){e=a.HttpClient},function(a){}],execute:function(){f=function(){function a(a,b){for(var c=0;c1&&void 0!==arguments[1]?arguments[1]:0;return this.http.fetch("qep/queryResults?limit="+a+"&skip="+b).then(function(a){return a.json()})["catch"](function(a){return a})},a.prototype.fetchStewardEmail=function(){return this.http.fetch("data?key=stewardEmail").then(function(a){return a.json()}).then(function(a){return a.indexOf('"')>0?a.split('"')[1]:a})["catch"](function(){return""})},f(a,[{key:"url",get:function(){var a=document.URL,b=":6443/shrine-metadata/";return a.substring(0,a.lastIndexOf(":"))+b}},{key:"auth",get:function(){var a=sessionStorage.getItem("shrine.auth");return sessionStorage.removeItem("shrine.auth"),a}}]),a}())||h)),a("QEPRepository",i)}}}),System.register("views/query-viewer/query-viewer.service.js",["aurelia-framework","repository/qep.repository","./query-viewer.config"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.inject},function(a){e=a.QEPRepository},function(a){f=a.QueryViewerConfig}],execute:function(){a("QueryViewerService",(g=d(e,f),i=g(h=function(){function a(b,d,e){c(this,a),this.repository=b,this.config=d}return a.prototype.fetchPreviousQueries=function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.config.maxQueriesPerScroll;return this.repository.fetchPreviousQueries(a)},a.prototype.getScreens=function(a,b){var c=this;return new Promise(function(d,e){for(var f=a.sort().length,g=[],h=0;h0&&void 0!==arguments[0]?arguments[0]:window;c(this,b);var f=e.of(a),g=d.curry(function(a,b){return b.value?e.of(d.prop(a,b.value)):e.of(null)}),h=d.compose(g("i2b2"),g("window"),g("parent")),i=d.compose(g("CRC"),h),j=d.compose(g("events"),h),k=d.compose(g("SHRINE"),h);this.onResize=function(a){return j(f).map(function(b){return b.changedZoomWindows.subscribe(a)})},this.onHistory=function(a){return i(f).map(function(b){return b.ctrlr.history.events.onDataUpdate.subscribe(a)})},this.onQuery=function(a){return j(f).map(function(b){return b.afterQueryInit.subscribe(a)})},this.loadHistory=function(){return i(f).map(function(a){return a.view.history.doRefreshAll()})},this.loadQuery=function(a){return i(f).map(function(b){return b.ctrlr.QT.doQueryLoad(a)})},this.errorDetail=function(a){return k(f).map(function(b){return b.plugin.errorDetail(a)})}}),a("I2B2Service",f)}}}),System.register("views/query-viewer/query-viewer.model.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e;return{setters:[],execute:function(){d=function(){function a(a,b){for(var c=0;c0}}]),a}()),a("QueryViewerModel",e)}}}),System.register("common/container.js",["ramda"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f;return{setters:[function(a){d=a}],execute:function(){e=function(){function a(a,b){for(var c=0;c1,e.screens=a,e.processing=!1},k=function(){return f.service.fetchPreviousQueries(e.loadedCount+j.maxQueriesPerScroll).then(g).then(h)["catch"](function(a){return console.log(a)})},l=function(a,b){return f.runningQuery=b[0].name},m=function(){return e.hasData?h(e.screens):k()},n=function(a){return 1===i.scrollRatio(a).value&&e.moreToLoad&&!e.processing};this.onScroll=function(a){n(a)&&(k(),e.processing=!0)};var o=function(a){return"ADD"!==a.action},p=function(a,b){return f.vertStyle=b.find(o)?"v-min":"v-full"};this.errorDetail=d.errorDetail,d.onResize(p),d.onHistory(k),d.onQuery(l),m()}return a.prototype.getContext=function(a,b){return{x:a.pageX,y:a.pageY,id:b.id,"class":"show"}},a}())||l)),a("QueryViewer",m)}}}),System.register("views/query-viewer/result-style.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("ResultStyleValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){var b=this.isUnresolved(a)?"color:"+this.getColorValue(a):"";return b},a.prototype.isUnresolved=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"FINISHED";return!a||a.status!==b},a.prototype.getColorValue=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ERROR",c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"#FF0000",d=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#00FF00";return a&&a.status!==b?d:c},a}()),a("ResultStyleValueConverter",d)}}}),System.register("views/query-viewer/result-value.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("ResultValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return a?"FINISHED"!==a.status?"":a.count<0?"<=10":a.count:"not available"},a}()),a("ResultValueConverter",d)}}}); \ No newline at end of file +"bundle";System.register("main.js",[],function(a,b){"use strict";function c(a){a.use.standardConfiguration().developmentLogging(),a.start().then(function(){return a.setRoot("shell")})}return a("configure",c),{setters:[],execute:function(){}}}),function(){var a=System.amdDefine;a("shell.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return""})}(),System.register("common/i2b2.pub-sub.js",["aurelia-framework","./i2b2.service","./tabs.model"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.inject},function(a){e=a.I2B2Service},function(a){f=a.TabsModel}],execute:function(){a("I2B2PubSub",(g=d(e,f),i=g(h=function b(a,d){c(this,b),this.listen=function(){var b=function(a,b){return b.find(function(a){return"ADD"===a.action})?d.setMax():d.setMin()};a.onResize(b)}})||h)),a("I2B2PubSub",i)}}}),System.register("shell.js",["aurelia-framework","common/i2b2.pub-sub"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a.inject},function(a){e=a.I2B2PubSub}],execute:function(){a("Shell",(f=d(e),h=f(g=function(){function a(b){c(this,a),b.listen()}return a.prototype.configureRouter=function(a,b){a.title="SHRINE Webclient Plugin",a.map([{route:"mailto",moduleId:"views/mailto/mailto"},{route:["","query-viewer"],moduleId:"views/query-viewer/query-viewer"}]),this.router=b},a}())||g)),a("Shell",h)}}}),function(){var a=System.amdDefine;a("views/mailto/mailto.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return''})}(),System.register("views/mailto/mailto.service.js",["aurelia-framework","repository/qep.repository"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a.inject},function(a){e=a.QEPRepository}],execute:function(){a("MailToService",(f=d(e),h=f(g=function(){function a(b){c(this,a),this.repository=b}return a.prototype.fetchStewardEmail=function(){return this.repository.fetchStewardEmail()},a}())||g)),a("MailToService",h)}}}),System.register("views/mailto/mailto.config.js",[],function(a,b){"use strict";var c;return{setters:[],execute:function(){a("MailConfig",c={mailto:"mailto:",subject:encodeURIComponent("Question from a SHRINE User"),body:encodeURIComponent("Please enter the suggested information and your question. Your data steward will reply to this email.\n \n\n***Never send patient information, passwords, or other sensitive information by email****\n \nName:\n \nTitle:\n \nUser name (to log into SHRINE):\n \nTelephone Number (optional):\n \nPreferred email address (optional):\n \n\nQuestion or Comment:")}),a("MailConfig",c)}}}),System.register("views/mailto/mailto.js",["aurelia-framework","views/mailto/mailto.service","views/mailto/mailto.config"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.inject},function(a){e=a.MailToService},function(a){f=a.MailConfig}],execute:function(){a("MailTo",(g=d(e,f),i=g(h=function(){function a(b,d){c(this,a),this.service=b,this.config=d}return a.prototype.openEmail=function(){var a=this;this.service.fetchStewardEmail().then(function(b){window.top.location="mailto:"+b+"?subject="+a.config.subject+"&body="+a.config.body})},a}())||h)),a("MailTo",i)}}}),System.register("views/query-viewer/box-style.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("BoxStyleValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return"transform: translate("+String(-100*a)+"%);"},a}()),a("BoxStyleValueConverter",d)}}}),function(){var a=System.amdDefine;a("views/query-viewer/context-menu/context-menu.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return''})}(),System.register("views/query-viewer/context-menu/context-menu.js",["aurelia-framework","common/i2b2.service.js"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l,m;return{setters:[function(a){f=a.inject,g=a.bindable},function(a){h=a.I2B2Service}],execute:function(){a("ContextMenu",(i=f(h),m=i((k=function b(a){var e=this;d(this,b),c(this,"context",l,this),this.loadQuery=function(b){a.loadQuery(b),e.context["class"]="hide"},this.loadHistory=function(){a.loadHistory(),e.context["class"]="hide"}},l=e(k.prototype,"context",[g],{enumerable:!0,initializer:null}),j=k))||j)),a("ContextMenu",m)}}}),function(){var a=System.amdDefine;a("views/query-viewer/loading-bar/loading-bar.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return''})}(),System.register("views/query-viewer/loading-bar/loading-bar.js",["aurelia-framework"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i;return{setters:[function(a){f=a.bindable}],execute:function(){a("LoadingBar",(g=function b(){d(this,b),c(this,"status",h,this)},h=e(g.prototype,"status",[f],{enumerable:!0,initializer:null}),i=g)),a("LoadingBar",i)}}}),function(){var a=System.amdDefine;a("views/query-viewer/loading-bar/row-loader.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return""})}(),function(){var a=System.amdDefine;a("views/query-viewer/query-viewer.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return''})}(),System.register("repository/qep.repository.js",["aurelia-framework","aurelia-fetch-client","fetch"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.inject},function(a){e=a.HttpClient},function(a){}],execute:function(){f=function(){function a(a,b){for(var c=0;c1&&void 0!==arguments[1]?arguments[1]:0;return this.http.fetch("qep/queryResults?limit="+a+"&skip="+b).then(function(a){return a.json()})["catch"](function(a){return a})},a.prototype.fetchStewardEmail=function(){return this.http.fetch("data?key=stewardEmail").then(function(a){return a.json()}).then(function(a){return a.indexOf('"')>0?a.split('"')[1]:a})["catch"](function(){return""})},f(a,[{key:"url",get:function(){var a=document.URL,b=":6443/shrine-metadata/";return a.substring(0,a.lastIndexOf(":"))+b}},{key:"auth",get:function(){var a=sessionStorage.getItem("shrine.auth");return sessionStorage.removeItem("shrine.auth"),a}}]),a}())||h)),a("QEPRepository",i)}}}),System.register("views/query-viewer/query-viewer.service.js",["aurelia-framework","repository/qep.repository","./query-viewer.config"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.inject},function(a){e=a.QEPRepository},function(a){f=a.QueryViewerConfig}],execute:function(){a("QueryViewerService",(g=d(e,f),i=g(h=function(){function a(b,d,e){c(this,a),this.repository=b,this.config=d}return a.prototype.fetchPreviousQueries=function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.config.maxQueriesPerScroll;return this.repository.fetchPreviousQueries(a)},a.prototype.getScreens=function(a,b){var c=this;return new Promise(function(d,e){for(var f=a.sort().length,g=[],h=0;h0&&void 0!==arguments[0]?arguments[0]:window;c(this,b);var f=e.of(a),g=d.curry(function(a,b){return b.value?e.of(d.prop(a,b.value)):e.of(null)}),h=d.compose(g("i2b2"),g("window"),g("parent")),i=d.compose(g("CRC"),h),j=d.compose(g("events"),h),k=d.compose(g("SHRINE"),h);this.onResize=function(a){return j(f).map(function(b){return b.changedZoomWindows.subscribe(a)})},this.onHistory=function(a){return i(f).map(function(b){return b.ctrlr.history.events.onDataUpdate.subscribe(a)})},this.onQuery=function(a){return j(f).map(function(b){return b.afterQueryInit.subscribe(a)})},this.loadHistory=function(){return i(f).map(function(a){return a.view.history.doRefreshAll()})},this.loadQuery=function(a){return i(f).map(function(b){return b.ctrlr.QT.doQueryLoad(a)})},this.errorDetail=function(a){return k(f).map(function(b){return b.plugin.errorDetail(a)})}}),a("I2B2Service",f)}}}),System.register("common/tabs.model.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e;return{setters:[],execute:function(){d=function(){function a(a,b){for(var c=0;c0}}]),a}()),a("QueryViewerModel",e)}}}),System.register("common/container.js",["ramda"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f;return{setters:[function(a){d=a}],execute:function(){e=function(){function a(a,b){for(var c=0;c1,e.screens=a,e.processing=!1,g.loadingInfiniteScroll=e.processing},l=function(){return g.service.fetchPreviousQueries(e.loadedCount+k.maxQueriesPerScroll).then(h).then(i)["catch"](function(a){return console.log(a)})},m=function(a,b){g.runningQuery=b[0].name},n=function(){return e.hasData?i(e.screens):l()},o=function(a){return 1===j.scrollRatio(a).value&&e.moreToLoad&&!e.processing};this.onScroll=function(a){o(a)&&(l(),e.processing=!0,g.loadingInfiniteScroll=e.processing)};var p=function(a){return"ADD"!==a.action},q=function(a,b){return g.vertStyle=b.find(p)?"v-min":"v-full"};this.errorDetail=d.errorDetail,d.onResize(q),d.onHistory(l),d.onQuery(m),n()}return a.prototype.getContext=function(a,b){return{x:a.pageX,y:a.pageY,id:b.id,"class":"show"}},a}())||m)),a("QueryViewer",n)}}}),System.register("views/query-viewer/result-style.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("ResultStyleValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){var b=this.isUnresolved(a)?"color:"+this.getColorValue(a):"";return b},a.prototype.isUnresolved=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"FINISHED";return!a||a.status!==b},a.prototype.getColorValue=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ERROR",c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"#FF0000",d=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#00FF00";return a&&a.status!==b?d:c},a}()),a("ResultStyleValueConverter",d)}}}),System.register("views/query-viewer/result-value.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("ResultValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return a?"FINISHED"!==a.status?"":a.count<0?"<=10":a.count:"not available"},a}()),a("ResultValueConverter",d)}}}); \ No newline at end of file diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/common/container.js b/shrine-webclient/src/main/js/client/js-shrine/dist/common/container.js index 0e4dbcb37..3a85c0d24 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/dist/common/container.js +++ b/shrine-webclient/src/main/js/client/js-shrine/dist/common/container.js @@ -1,78 +1,82 @@ System.register(['ramda'], function (_export, _context) { "use strict"; var _, _createClass, Container; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_ramda) { _ = _ramda; }], execute: function () { _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); _export('Container', Container = function () { function Container(f) { _classCallCheck(this, Container); this.__value = f; } Container.of = function of(value) { return new Container(function () { return value; }); }; Container.prototype.map = function map(f) { return this.hasNothing() ? Container.of(null) : Container.of(f(this.value)); }; Container.prototype.join = function join() { return this.hasNothing() ? Container.of(null) : this.value; }; Container.prototype.chain = function chain(f) { return this.map(f).join(); }; Container.prototype.hasNothing = function hasNothing() { return this.value === null || this.value === undefined; }; + Container.prototype.ap = function ap(otherContainer) { + otherContainer.map(this.value); + }; + _createClass(Container, [{ key: 'value', get: function get() { return this.__value(); } }]); return Container; }()); _export('Container', Container); } }; }); //# sourceMappingURL=container.js.map diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/common/container.js.map b/shrine-webclient/src/main/js/client/js-shrine/dist/common/container.js.map index e4ae3f33f..c9545148d 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/dist/common/container.js.map +++ b/shrine-webclient/src/main/js/client/js-shrine/dist/common/container.js.map @@ -1 +1 @@ -{"version":3,"sources":["common/container.js"],"names":["_","Container","f","__value","of","value","map","hasNothing","join","chain","undefined"],"mappings":";;;;;;;;;;;;;AAAYA,a;;;;;;;;;;;;;;;;;;;;;iCACCC,S;AACT,mCAAYC,CAAZ,EAAe;AAAA;;AACX,yBAAKC,OAAL,GAAeD,CAAf;AACH;;0BAEME,E,eAAGC,K,EAAO;AACb,2BAAO,IAAIJ,SAAJ,CAAc,YAAW;AAC5B,+BAAOI,KAAP;AACH,qBAFM,CAAP;AAGH,iB;;oCAMDC,G,gBAAIJ,C,EAAG;AACH,2BAAO,KAAKK,UAAL,KAAoBN,UAAUG,EAAV,CAAa,IAAb,CAApB,GAAyCH,UAAUG,EAAV,CAAaF,EAAE,KAAKG,KAAP,CAAb,CAAhD;AACH,iB;;oCAEDG,I,mBAAO;AACH,2BAAO,KAAKD,UAAL,KAAmBN,UAAUG,EAAV,CAAa,IAAb,CAAnB,GAAwC,KAAKC,KAApD;AACH,iB;;oCAEDI,K,kBAAMP,C,EAAG;AACL,2BAAO,KAAKI,GAAL,CAASJ,CAAT,EAAYM,IAAZ,EAAP;AACH,iB;;oCAEDD,U,yBAAa;AACT,2BAAO,KAAKF,KAAL,KAAe,IAAf,IAAuB,KAAKA,KAAL,KAAeK,SAA7C;AACH,iB;;;;wCAlBW;AACR,+BAAO,KAAKP,OAAL,EAAP;AACH","file":"container.js","sourceRoot":"/src"} \ No newline at end of file +{"version":3,"sources":["common/container.js"],"names":["_","Container","f","__value","of","value","map","hasNothing","join","chain","undefined","ap","otherContainer"],"mappings":";;;;;;;;;;;;;AAAYA,a;;;;;;;;;;;;;;;;;;;;;iCACCC,S;AACT,mCAAYC,CAAZ,EAAe;AAAA;;AACX,yBAAKC,OAAL,GAAeD,CAAf;AACH;;0BAEME,E,eAAGC,K,EAAO;AACb,2BAAO,IAAIJ,SAAJ,CAAc,YAAW;AAC5B,+BAAOI,KAAP;AACH,qBAFM,CAAP;AAGH,iB;;oCAMDC,G,gBAAIJ,C,EAAG;AACH,2BAAO,KAAKK,UAAL,KAAoBN,UAAUG,EAAV,CAAa,IAAb,CAApB,GAAyCH,UAAUG,EAAV,CAAaF,EAAE,KAAKG,KAAP,CAAb,CAAhD;AACH,iB;;oCAEDG,I,mBAAO;AACH,2BAAO,KAAKD,UAAL,KAAmBN,UAAUG,EAAV,CAAa,IAAb,CAAnB,GAAwC,KAAKC,KAApD;AACH,iB;;oCAEDI,K,kBAAMP,C,EAAG;AACL,2BAAO,KAAKI,GAAL,CAASJ,CAAT,EAAYM,IAAZ,EAAP;AACH,iB;;oCAEDD,U,yBAAa;AACT,2BAAO,KAAKF,KAAL,KAAe,IAAf,IAAuB,KAAKA,KAAL,KAAeK,SAA7C;AACH,iB;;oCAEDC,E,eAAGC,c,EAAgB;AACfA,mCAAeN,GAAf,CAAmB,KAAKD,KAAxB;AACH,iB;;;;wCAtBW;AACR,+BAAO,KAAKF,OAAL,EAAP;AACH","file":"container.js","sourceRoot":"/src"} \ No newline at end of file diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/common/i2b2.pub-sub.js b/shrine-webclient/src/main/js/client/js-shrine/dist/common/i2b2.pub-sub.js new file mode 100644 index 000000000..704c35401 --- /dev/null +++ b/shrine-webclient/src/main/js/client/js-shrine/dist/common/i2b2.pub-sub.js @@ -0,0 +1,38 @@ +System.register(['aurelia-framework', './i2b2.service', './tabs.model'], function (_export, _context) { + "use strict"; + + var inject, I2B2Service, TabsModel, _dec, _class, I2B2PubSub; + + function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + + return { + setters: [function (_aureliaFramework) { + inject = _aureliaFramework.inject; + }, function (_i2b2Service) { + I2B2Service = _i2b2Service.I2B2Service; + }, function (_tabsModel) { + TabsModel = _tabsModel.TabsModel; + }], + execute: function () { + _export('I2B2PubSub', I2B2PubSub = (_dec = inject(I2B2Service, TabsModel), _dec(_class = function I2B2PubSub(i2b2Svc, tabs) { + _classCallCheck(this, I2B2PubSub); + + this.listen = function () { + var setVertStyle = function setVertStyle(a, b) { + return b.find(function (e) { + return e.action === 'ADD'; + }) ? tabs.setMax() : tabs.setMin(); + }; + i2b2Svc.onResize(setVertStyle); + }; + }) || _class)); + + _export('I2B2PubSub', I2B2PubSub); + } + }; +}); +//# sourceMappingURL=i2b2.pub-sub.js.map diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/common/i2b2.pub-sub.js.map b/shrine-webclient/src/main/js/client/js-shrine/dist/common/i2b2.pub-sub.js.map new file mode 100644 index 000000000..a30f27f3f --- /dev/null +++ b/shrine-webclient/src/main/js/client/js-shrine/dist/common/i2b2.pub-sub.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["common/i2b2.pub-sub.js"],"names":["inject","I2B2Service","TabsModel","I2B2PubSub","i2b2Svc","tabs","listen","setVertStyle","a","b","find","e","action","setMax","setMin","onResize"],"mappings":";;;;;;;;;;;;;AAASA,kB,qBAAAA,M;;AACAC,uB,gBAAAA,W;;AACAC,qB,cAAAA,S;;;kCAGIC,U,WADZH,OAAOC,WAAP,EAAoBC,SAApB,C,gBAEG,oBAAYE,OAAZ,EAAqBC,IAArB,EAA2B;AAAA;;AACvB,qBAAKC,MAAL,GAAc,YAAM;AAChB,wBAAMC,eAAe,SAAfA,YAAe,CAACC,CAAD,EAAIC,CAAJ;AAAA,+BAAUA,EAAEC,IAAF,CAAO;AAAA,mCAAKC,EAAEC,MAAF,KAAa,KAAlB;AAAA,yBAAP,IAAkCP,KAAKQ,MAAL,EAAlC,GAAkDR,KAAKS,MAAL,EAA5D;AAAA,qBAArB;AACAV,4BAAQW,QAAR,CAAiBR,YAAjB;AACH,iBAHD;AAIH,a","file":"i2b2.pub-sub.js","sourceRoot":"/src"} \ No newline at end of file diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/common/tabs.model.js b/shrine-webclient/src/main/js/client/js-shrine/dist/common/tabs.model.js new file mode 100644 index 000000000..319e29213 --- /dev/null +++ b/shrine-webclient/src/main/js/client/js-shrine/dist/common/tabs.model.js @@ -0,0 +1,68 @@ +System.register([], function (_export, _context) { + "use strict"; + + var _createClass, TabsModel; + + function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + + return { + setters: [], + execute: function () { + _createClass = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; + }(); + + _export('TabsModel', TabsModel = function () { + function TabsModel() { + _classCallCheck(this, TabsModel); + + var mode = TabsModel.min; + TabsModel.prototype.setMax = function () { + return mode = TabsModel.full; + }; + TabsModel.prototype.setMin = function () { + return mode = TabsModel.min; + }; + TabsModel.prototype.mode = function () { + return mode; + }; + } + + _createClass(TabsModel, null, [{ + key: 'full', + get: function get() { + return 'v-full'; + } + }, { + key: 'min', + get: function get() { + return 'v-min'; + } + }]); + + return TabsModel; + }()); + + _export('TabsModel', TabsModel); + } + }; +}); +//# sourceMappingURL=tabs.model.js.map diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/common/tabs.model.js.map b/shrine-webclient/src/main/js/client/js-shrine/dist/common/tabs.model.js.map new file mode 100644 index 000000000..ed4444128 --- /dev/null +++ b/shrine-webclient/src/main/js/client/js-shrine/dist/common/tabs.model.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["common/tabs.model.js"],"names":["TabsModel","mode","min","prototype","setMax","full","setMin"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAAaA,S;AAET,qCAAc;AAAA;;AACV,wBAAIC,OAAOD,UAAUE,GAArB;AACAF,8BAAUG,SAAV,CAAoBC,MAApB,GAA6B;AAAA,+BAAMH,OAAOD,UAAUK,IAAvB;AAAA,qBAA7B;AACAL,8BAAUG,SAAV,CAAoBG,MAApB,GAA6B;AAAA,+BAAML,OAAOD,UAAUE,GAAvB;AAAA,qBAA7B;AACAF,8BAAUG,SAAV,CAAoBF,IAApB,GAA2B;AAAA,+BAAMA,IAAN;AAAA,qBAA3B;AACH;;;;wCAEiB;AACd,+BAAO,QAAP;AACH;;;wCAEgB;AACb,+BAAO,OAAP;AACH","file":"tabs.model.js","sourceRoot":"/src"} \ No newline at end of file diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/shell.js b/shrine-webclient/src/main/js/client/js-shrine/dist/shell.js index 8e3d0b4e9..f3b4b5443 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/dist/shell.js +++ b/shrine-webclient/src/main/js/client/js-shrine/dist/shell.js @@ -1,35 +1,41 @@ -System.register([], function (_export, _context) { +System.register(['aurelia-framework', 'common/i2b2.pub-sub'], function (_export, _context) { "use strict"; - var Shell; + var inject, I2B2PubSub, _dec, _class, Shell; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { - setters: [], + setters: [function (_aureliaFramework) { + inject = _aureliaFramework.inject; + }, function (_commonI2b2PubSub) { + I2B2PubSub = _commonI2b2PubSub.I2B2PubSub; + }], execute: function () { - _export('Shell', Shell = function () { - function Shell() { + _export('Shell', Shell = (_dec = inject(I2B2PubSub), _dec(_class = function () { + function Shell(i2b2PubSub) { _classCallCheck(this, Shell); + + i2b2PubSub.listen(); } Shell.prototype.configureRouter = function configureRouter(config, router) { config.title = 'SHRINE Webclient Plugin'; config.map([{ route: 'mailto', moduleId: 'views/mailto/mailto' }, { route: ['', 'query-viewer'], moduleId: 'views/query-viewer/query-viewer' }]); this.router = router; }; return Shell; - }()); + }()) || _class)); _export('Shell', Shell); } }; }); //# sourceMappingURL=shell.js.map diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/shell.js.map b/shrine-webclient/src/main/js/client/js-shrine/dist/shell.js.map index 936f9e4ea..ae487159c 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/dist/shell.js.map +++ b/shrine-webclient/src/main/js/client/js-shrine/dist/shell.js.map @@ -1 +1 @@ -{"version":3,"sources":["shell.js"],"names":["Shell","configureRouter","config","router","title","map","route","moduleId"],"mappings":";;;;;;;;;;;;;;uBAAaA,K;;;;;wBACXC,e,4BAAgBC,M,EAAQC,M,EAAQ;;AAE9BD,iBAAOE,KAAP,GAAe,yBAAf;AACAF,iBAAOG,GAAP,CAAW,CACT,EAACC,OAAO,QAAR,EAAkBC,UAAU,qBAA5B,EADS,EAET,EAACD,OAAO,CAAC,EAAD,EAAK,cAAL,CAAR,EAA8BC,UAAU,iCAAxC,EAFS,CAAX;;AAKA,eAAKJ,MAAL,GAAcA,MAAd;AACD,S","file":"shell.js","sourceRoot":"/src"} \ No newline at end of file +{"version":3,"sources":["shell.js"],"names":["inject","I2B2PubSub","Shell","i2b2PubSub","listen","configureRouter","config","router","title","map","route","moduleId"],"mappings":";;;;;;;;;;;;;AAAQA,Y,qBAAAA,M;;AACAC,gB,qBAAAA,U;;;uBAEKC,K,WADZF,OAAOC,UAAP,C;AAGC,uBAAYE,UAAZ,EAAwB;AAAA;;AACtBA,qBAAWC,MAAX;AAED;;wBACDC,e,4BAAgBC,M,EAAQC,M,EAAQ;;AAE9BD,iBAAOE,KAAP,GAAe,yBAAf;AACAF,iBAAOG,GAAP,CAAW,CACT,EAACC,OAAO,QAAR,EAAkBC,UAAU,qBAA5B,EADS,EAET,EAACD,OAAO,CAAC,EAAD,EAAK,cAAL,CAAR,EAA8BC,UAAU,iCAAxC,EAFS,CAAX;;AAKA,eAAKJ,MAAL,GAAcA,MAAd;AACD,S","file":"shell.js","sourceRoot":"/src"} \ No newline at end of file diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/loading-bar/row-loader.html b/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/loading-bar/row-loader.html new file mode 100644 index 000000000..e69de29bb diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.config.js b/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.config.js index bb118fef2..3eebce7f8 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.config.js +++ b/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.config.js @@ -1,17 +1,17 @@ System.register([], function (_export, _context) { "use strict"; var QueryViewerConfig; return { setters: [], execute: function () { _export("QueryViewerConfig", QueryViewerConfig = { maxNodesPerScreen: 10, - maxQueriesPerScroll: 100 + maxQueriesPerScroll: 40 }); _export("QueryViewerConfig", QueryViewerConfig); } }; }); //# sourceMappingURL=query-viewer.config.js.map diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.html b/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.html index 21799c3e6..2ba6624da 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.html +++ b/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.html @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.js b/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.js index 952a8ea0e..ab36b1012 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.js +++ b/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.js @@ -1,109 +1,117 @@ -System.register(['aurelia-framework', 'views/query-viewer/query-viewer.service', 'common/i2b2.service.js', './query-viewer.model', './scroll.service', './query-viewer.config'], function (_export, _context) { +System.register(['aurelia-framework', 'views/query-viewer/query-viewer.service', 'common/i2b2.service.js', 'common/tabs.model', './query-viewer.model', './scroll.service', './query-viewer.config'], function (_export, _context) { "use strict"; - var inject, computedFrom, QueryViewerService, I2B2Service, QueryViewerModel, ScrollService, QueryViewerConfig, _dec, _class, QueryViewer; + var inject, computedFrom, QueryViewerService, I2B2Service, TabsModel, QueryViewerModel, ScrollService, QueryViewerConfig, _dec, _class, QueryViewer; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_aureliaFramework) { inject = _aureliaFramework.inject; computedFrom = _aureliaFramework.computedFrom; }, function (_viewsQueryViewerQueryViewerService) { QueryViewerService = _viewsQueryViewerQueryViewerService.QueryViewerService; }, function (_commonI2b2ServiceJs) { I2B2Service = _commonI2b2ServiceJs.I2B2Service; + }, function (_commonTabsModel) { + TabsModel = _commonTabsModel.TabsModel; }, function (_queryViewerModel) { QueryViewerModel = _queryViewerModel.QueryViewerModel; }, function (_scrollService) { ScrollService = _scrollService.ScrollService; }, function (_queryViewerConfig) { QueryViewerConfig = _queryViewerConfig.QueryViewerConfig; }], execute: function () { - _export('QueryViewer', QueryViewer = (_dec = inject(QueryViewerService, I2B2Service, QueryViewerModel), _dec(_class = function () { - function QueryViewer(service, i2b2Svc, model) { + _export('QueryViewer', QueryViewer = (_dec = inject(QueryViewerService, I2B2Service, QueryViewerModel, TabsModel), _dec(_class = function () { + function QueryViewer(service, i2b2Svc, model, tabs) { var _this = this; _classCallCheck(this, QueryViewer); this.screenIndex = 0; this.showCircles = false; this.showLoader = true; this.runningQuery = null; this.service = service; - this.vertStyle = 'v-full'; + this.vertStyle = tabs.mode(); this.scrollRatio = 0; + this.queriesToLoad = model.moreToLoad; + this.loadingInfiniteScroll = false; var parseResultToScreens = function parseResultToScreens(result) { model.totalQueries = result.rowCount; model.loadedCount = result.queryResults.length; + _this.queriesToLoad = model.moreToLoad; return _this.service.getScreens(result.adapters, result.queryResults); }; var setVM = function setVM(screens) { _this.showLoader = false; _this.runningQuery = null; _this.screens = screens; _this.showCircles = _this.screens.length > 1; model.screens = screens; model.processing = false; + _this.loadingInfiniteScroll = model.processing; }; var refresh = function refresh() { return _this.service.fetchPreviousQueries(model.loadedCount + QueryViewerConfig.maxQueriesPerScroll).then(parseResultToScreens).then(setVM).catch(function (error) { return console.log(error); }); }; var addQuery = function addQuery(event, data) { - return _this.runningQuery = data[0].name; + _this.runningQuery = data[0].name; }; var init = function init() { return model.hasData ? setVM(model.screens) : refresh(); }; + var loadMoreQueries = function loadMoreQueries(e) { return ScrollService.scrollRatio(e).value === 1 && model.moreToLoad && !model.processing; }; this.onScroll = function (e) { if (loadMoreQueries(e)) { refresh(); model.processing = true; + _this.loadingInfiniteScroll = model.processing; } }; var isMinimized = function isMinimized(e) { return e.action !== 'ADD'; }; var setVertStyle = function setVertStyle(a, b) { return _this.vertStyle = b.find(isMinimized) ? 'v-min' : 'v-full'; }; this.errorDetail = i2b2Svc.errorDetail; i2b2Svc.onResize(setVertStyle); i2b2Svc.onHistory(refresh); i2b2Svc.onQuery(addQuery); init(); } QueryViewer.prototype.getContext = function getContext(event, result) { return { x: event.pageX, y: event.pageY, id: result.id, class: 'show' }; }; return QueryViewer; }()) || _class)); _export('QueryViewer', QueryViewer); } }; }); //# sourceMappingURL=query-viewer.js.map diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.js.map b/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.js.map index 0c17b032d..85ac72f19 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.js.map +++ b/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.js.map @@ -1 +1 @@ -{"version":3,"sources":["views/query-viewer/query-viewer.js"],"names":["inject","computedFrom","QueryViewerService","I2B2Service","QueryViewerModel","ScrollService","QueryViewerConfig","QueryViewer","service","i2b2Svc","model","screenIndex","showCircles","showLoader","runningQuery","vertStyle","scrollRatio","parseResultToScreens","totalQueries","result","rowCount","loadedCount","queryResults","length","getScreens","adapters","setVM","screens","processing","refresh","fetchPreviousQueries","maxQueriesPerScroll","then","catch","console","log","error","addQuery","event","data","name","init","hasData","loadMoreQueries","e","value","moreToLoad","onScroll","isMinimized","action","setVertStyle","a","b","find","errorDetail","onResize","onHistory","onQuery","getContext","x","pageX","y","pageY","id","class"],"mappings":";;;;;;;;;;;;;AAASA,kB,qBAAAA,M;AAAQC,wB,qBAAAA,Y;;AACRC,8B,uCAAAA,kB;;AACAC,uB,wBAAAA,W;;AACAC,4B,qBAAAA,gB;;AACDC,yB,kBAAAA,a;;AACAC,6B,sBAAAA,iB;;;mCAGKC,W,WADZP,OAAOE,kBAAP,EAA2BC,WAA3B,EAAwCC,gBAAxC,C;AAEG,qCAAYI,OAAZ,EAAqBC,OAArB,EAA8BC,KAA9B,EAAqC;AAAA;;AAAA;;AAGjC,yBAAKC,WAAL,GAAmB,CAAnB;AACA,yBAAKC,WAAL,GAAmB,KAAnB;AACA,yBAAKC,UAAL,GAAkB,IAAlB;AACA,yBAAKC,YAAL,GAAoB,IAApB;AACA,yBAAKN,OAAL,GAAeA,OAAf;AACA,yBAAKO,SAAL,GAAiB,QAAjB;AACA,yBAAKC,WAAL,GAAmB,CAAnB;;AAGA,wBAAMC,uBAAuB,SAAvBA,oBAAuB,SAAU;AACnCP,8BAAMQ,YAAN,GAAqBC,OAAOC,QAA5B;AACAV,8BAAMW,WAAN,GAAoBF,OAAOG,YAAP,CAAoBC,MAAxC;AACA,+BAAO,MAAKf,OAAL,CAAagB,UAAb,CAAwBL,OAAOM,QAA/B,EAAyCN,OAAOG,YAAhD,CAAP;AACH,qBAJD;AAKA,wBAAMI,QAAQ,SAARA,KAAQ,UAAW;AACrB,8BAAKb,UAAL,GAAkB,KAAlB;AACA,8BAAKC,YAAL,GAAoB,IAApB;AACA,8BAAKa,OAAL,GAAeA,OAAf;AACA,8BAAKf,WAAL,GAAmB,MAAKe,OAAL,CAAaJ,MAAb,GAAsB,CAAzC;AACAb,8BAAMiB,OAAN,GAAgBA,OAAhB;AACAjB,8BAAMkB,UAAN,GAAmB,KAAnB;AACH,qBAPD;;AASA,wBAAMC,UAAU,SAAVA,OAAU;AAAA,+BAAM,MAAKrB,OAAL,CACjBsB,oBADiB,CACIpB,MAAMW,WAAN,GAAoBf,kBAAkByB,mBAD1C,EAEjBC,IAFiB,CAEZf,oBAFY,EAGjBe,IAHiB,CAGZN,KAHY,EAIjBO,KAJiB,CAIX;AAAA,mCAASC,QAAQC,GAAR,CAAYC,KAAZ,CAAT;AAAA,yBAJW,CAAN;AAAA,qBAAhB;;AAMA,wBAAMC,WAAW,SAAXA,QAAW,CAACC,KAAD,EAAQC,IAAR;AAAA,+BAAiB,MAAKzB,YAAL,GAAoByB,KAAK,CAAL,EAAQC,IAA7C;AAAA,qBAAjB;AACA,wBAAMC,OAAO,SAAPA,IAAO;AAAA,+BAAO/B,MAAMgC,OAAP,GAAkBhB,MAAMhB,MAAMiB,OAAZ,CAAlB,GAAyCE,SAA/C;AAAA,qBAAb;AACA,wBAAMc,kBAAkB,SAAlBA,eAAkB;AAAA,+BAAKtC,cAAcW,WAAd,CAA0B4B,CAA1B,EAA6BC,KAA7B,KAAuC,CAAvC,IAA4CnC,MAAMoC,UAAlD,IAAgE,CAACpC,MAAMkB,UAA5E;AAAA,qBAAxB;;AAGD,yBAAKmB,QAAL,GAAgB,aAAK;AAChB,4BAAGJ,gBAAgBC,CAAhB,CAAH,EAAsB;AAClBf;AACAnB,kCAAMkB,UAAN,GAAmB,IAAnB;AACH;AACL,qBALD;;AAQC,wBAAMoB,cAAc,SAAdA,WAAc;AAAA,+BAAKJ,EAAEK,MAAF,KAAa,KAAlB;AAAA,qBAApB;AACA,wBAAMC,eAAe,SAAfA,YAAe,CAACC,CAAD,EAAIC,CAAJ;AAAA,+BAAU,MAAKrC,SAAL,GAAiBqC,EAAEC,IAAF,CAAOL,WAAP,IAAsB,OAAtB,GAAgC,QAA3D;AAAA,qBAArB;AACA,yBAAKM,WAAL,GAAmB7C,QAAQ6C,WAA3B;AACA7C,4BAAQ8C,QAAR,CAAiBL,YAAjB;AACAzC,4BAAQ+C,SAAR,CAAkB3B,OAAlB;AACApB,4BAAQgD,OAAR,CAAgBpB,QAAhB;;AAEAI;AACH;;sCAEDiB,U,uBAAWpB,K,EAAOnB,M,EAAQ;AACtB,2BAAO;AACHwC,2BAAGrB,MAAMsB,KADN;AAEHC,2BAAGvB,MAAMwB,KAFN;AAGHC,4BAAI5C,OAAO4C,EAHR;AAIHC,+BAAO;AAJJ,qBAAP;AAMH,iB","file":"query-viewer.js","sourceRoot":"/src"} \ No newline at end of file +{"version":3,"sources":["views/query-viewer/query-viewer.js"],"names":["inject","computedFrom","QueryViewerService","I2B2Service","TabsModel","QueryViewerModel","ScrollService","QueryViewerConfig","QueryViewer","service","i2b2Svc","model","tabs","screenIndex","showCircles","showLoader","runningQuery","vertStyle","mode","scrollRatio","queriesToLoad","moreToLoad","loadingInfiniteScroll","parseResultToScreens","totalQueries","result","rowCount","loadedCount","queryResults","length","getScreens","adapters","setVM","screens","processing","refresh","fetchPreviousQueries","maxQueriesPerScroll","then","catch","console","log","error","addQuery","event","data","name","init","hasData","loadMoreQueries","e","value","onScroll","isMinimized","action","setVertStyle","a","b","find","errorDetail","onResize","onHistory","onQuery","getContext","x","pageX","y","pageY","id","class"],"mappings":";;;;;;;;;;;;;AAASA,kB,qBAAAA,M;AAAQC,wB,qBAAAA,Y;;AACRC,8B,uCAAAA,kB;;AACAC,uB,wBAAAA,W;;AACDC,qB,oBAAAA,S;;AACAC,4B,qBAAAA,gB;;AACAC,yB,kBAAAA,a;;AACAC,6B,sBAAAA,iB;;;mCAGKC,W,WADZR,OAAOE,kBAAP,EAA2BC,WAA3B,EAAwCE,gBAAxC,EAA0DD,SAA1D,C;AAEG,qCAAYK,OAAZ,EAAqBC,OAArB,EAA8BC,KAA9B,EAAqCC,IAArC,EAA2C;AAAA;;AAAA;;AAGvC,yBAAKC,WAAL,GAAmB,CAAnB;AACA,yBAAKC,WAAL,GAAmB,KAAnB;AACA,yBAAKC,UAAL,GAAkB,IAAlB;AACA,yBAAKC,YAAL,GAAoB,IAApB;AACA,yBAAKP,OAAL,GAAeA,OAAf;AACA,yBAAKQ,SAAL,GAAiBL,KAAKM,IAAL,EAAjB;AACA,yBAAKC,WAAL,GAAmB,CAAnB;AACA,yBAAKC,aAAL,GAAqBT,MAAMU,UAA3B;AACA,yBAAKC,qBAAL,GAA6B,KAA7B;;AAGA,wBAAMC,uBAAuB,SAAvBA,oBAAuB,SAAU;AACnCZ,8BAAMa,YAAN,GAAqBC,OAAOC,QAA5B;AACAf,8BAAMgB,WAAN,GAAoBF,OAAOG,YAAP,CAAoBC,MAAxC;AACA,8BAAKT,aAAL,GAAqBT,MAAMU,UAA3B;AACA,+BAAO,MAAKZ,OAAL,CAAaqB,UAAb,CAAwBL,OAAOM,QAA/B,EAAyCN,OAAOG,YAAhD,CAAP;AACH,qBALD;AAMA,wBAAMI,QAAQ,SAARA,KAAQ,UAAW;AACrB,8BAAKjB,UAAL,GAAkB,KAAlB;AACA,8BAAKC,YAAL,GAAoB,IAApB;AACA,8BAAKiB,OAAL,GAAeA,OAAf;AACA,8BAAKnB,WAAL,GAAmB,MAAKmB,OAAL,CAAaJ,MAAb,GAAsB,CAAzC;AACAlB,8BAAMsB,OAAN,GAAgBA,OAAhB;AACAtB,8BAAMuB,UAAN,GAAmB,KAAnB;AACA,8BAAKZ,qBAAL,GAA6BX,MAAMuB,UAAnC;AACH,qBARD;;AAUA,wBAAMC,UAAU,SAAVA,OAAU;AAAA,+BAAM,MAAK1B,OAAL,CACjB2B,oBADiB,CACIzB,MAAMgB,WAAN,GAAoBpB,kBAAkB8B,mBAD1C,EAEjBC,IAFiB,CAEZf,oBAFY,EAGjBe,IAHiB,CAGZN,KAHY,EAIjBO,KAJiB,CAIX;AAAA,mCAASC,QAAQC,GAAR,CAAYC,KAAZ,CAAT;AAAA,yBAJW,CAAN;AAAA,qBAAhB;;AAMA,wBAAMC,WAAW,SAAXA,QAAW,CAACC,KAAD,EAAQC,IAAR,EAAiB;AAC9B,8BAAK7B,YAAL,GAAoB6B,KAAK,CAAL,EAAQC,IAA5B;AACH,qBAFD;AAGA,wBAAMC,OAAO,SAAPA,IAAO;AAAA,+BAAOpC,MAAMqC,OAAP,GAAkBhB,MAAMrB,MAAMsB,OAAZ,CAAlB,GAAyCE,SAA/C;AAAA,qBAAb;;AAGA,wBAAMc,kBAAkB,SAAlBA,eAAkB;AAAA,+BAAK3C,cAAca,WAAd,CAA0B+B,CAA1B,EAA6BC,KAA7B,KAAuC,CAAvC,IAA4CxC,MAAMU,UAAlD,IAAgE,CAACV,MAAMuB,UAA5E;AAAA,qBAAxB;;AAED,yBAAKkB,QAAL,GAAgB,aAAK;AAChB,4BAAGH,gBAAgBC,CAAhB,CAAH,EAAsB;AAClBf;AACAxB,kCAAMuB,UAAN,GAAmB,IAAnB;AACA,kCAAKZ,qBAAL,GAA6BX,MAAMuB,UAAnC;AACH;AACL,qBAND;;AASC,wBAAMmB,cAAc,SAAdA,WAAc;AAAA,+BAAKH,EAAEI,MAAF,KAAa,KAAlB;AAAA,qBAApB;AACA,wBAAMC,eAAe,SAAfA,YAAe,CAACC,CAAD,EAAIC,CAAJ;AAAA,+BAAU,MAAKxC,SAAL,GAAiBwC,EAAEC,IAAF,CAAOL,WAAP,IAAsB,OAAtB,GAAgC,QAA3D;AAAA,qBAArB;AACA,yBAAKM,WAAL,GAAmBjD,QAAQiD,WAA3B;AACAjD,4BAAQkD,QAAR,CAAiBL,YAAjB;AACA7C,4BAAQmD,SAAR,CAAkB1B,OAAlB;AACAzB,4BAAQoD,OAAR,CAAgBnB,QAAhB;;AAEAI;AACH;;sCAEDgB,U,uBAAWnB,K,EAAOnB,M,EAAQ;AACtB,2BAAO;AACHuC,2BAAGpB,MAAMqB,KADN;AAEHC,2BAAGtB,MAAMuB,KAFN;AAGHC,4BAAI3C,OAAO2C,EAHR;AAIHC,+BAAO;AAJJ,qBAAP;AAMH,iB","file":"query-viewer.js","sourceRoot":"/src"} \ No newline at end of file diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.model.js.map b/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.model.js.map index 5fb050a5a..223ddfb7f 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.model.js.map +++ b/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-viewer/query-viewer.model.js.map @@ -1 +1 @@ -{"version":3,"sources":["views/query-viewer/query-viewer.model.js"],"names":["QueryViewerModel","processing","loadedCount","totalQueries","screens","length"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCACaA,gB;AACT,4CAAc;AAAA;;AACV,yBAAKC,UAAL,GAAkB,KAAlB;AACA,yBAAKC,WAAL,GAAmB,CAAnB;AACA,yBAAKC,YAAL,GAAoB,CAApB;AACA,yBAAKC,OAAL,GAAe,EAAf;AACH;;;;wCACgB;AACb,+BAAO,KAAKF,WAAL,GAAmB,KAAKC,YAA/B;AACH;;;wCAEa;AACV,+BAAO,KAAKC,OAAL,CAAaC,MAAb,GAAsB,CAA7B;AACH","file":"query-viewer.model.js","sourceRoot":"/src"} \ No newline at end of file +{"version":3,"sources":["views/query-viewer/query-viewer.model.js"],"names":["QueryViewerModel","processing","loadedCount","totalQueries","screens","length"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAAaA,gB;AACT,4CAAc;AAAA;;AACV,yBAAKC,UAAL,GAAkB,KAAlB;AACA,yBAAKC,WAAL,GAAmB,CAAnB;AACA,yBAAKC,YAAL,GAAoB,CAApB;AACA,yBAAKC,OAAL,GAAe,EAAf;AACH;;;;wCACgB;AACb,+BAAO,KAAKF,WAAL,GAAmB,KAAKC,YAA/B;AACH;;;wCAEa;AACV,+BAAO,KAAKC,OAAL,CAAaC,MAAb,GAAsB,CAA7B;AACH","file":"query-viewer.model.js","sourceRoot":"/src"} \ No newline at end of file diff --git a/shrine-webclient/src/main/js/client/js-shrine/export/assets/css/styles.css b/shrine-webclient/src/main/js/client/js-shrine/export/assets/css/styles.css index 00d134422..3c446d0c0 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/export/assets/css/styles.css +++ b/shrine-webclient/src/main/js/client/js-shrine/export/assets/css/styles.css @@ -1,258 +1,256 @@ @import url(http://fonts.googleapis.com/css?family=Roboto:400,500,300,700); body { overflow: hidden; background: rgba(255, 255, 255, 0.9); font-family: 'Roboto', sans-serif; } html, body, .box-wrapper { width: 100%; height: 100%; margin: 0; } .box-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; } .box-wrapper > .box { margin-top: 1%; width: 100%; transition: all .2s ease; } .box-wrapper > .box .hideextra { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .box-wrapper > .box section { margin: 20 0 6 0; } .box-wrapper > .box section .v-full { height: 90vh; } - .box-wrapper > .box section .v-full > table { - padding-bottom: 10%; } .box-wrapper > .box section .v-min { height: 100px; } .box-wrapper > .box section .v-min > table { padding-bottom: 1%; } .box-wrapper > .box section .tbl-content { overflow: auto; margin-top: 0px; border: 1px solid rgba(98, 108, 146, 0.3); } .box-wrapper > .box table { width: 100%; table-layout: fixed; } .box-wrapper > .box table .tbl-header { background-color: rgba(98, 108, 146, 0.3); } .box-wrapper > .box table .tbl-header div.tbl-header { max-width: 5rem; } .box-wrapper > .box table tr { background: white; cursor: pointer; } .box-wrapper > .box table tr:hover { background: rgba(98, 108, 146, 0.3) !important; } .box-wrapper > .box table tr:nth-child(odd) { background: rgba(98, 108, 146, 0.1); } .box-wrapper > .box table th { padding: 2px 4px 4px 2px; text-align: left; font-weight: 500; font-size: .75rem; color: #626C92; text-transform: uppercase; border-bottom: solid 1px rgba(98, 108, 146, 0.1); border-left: solid 1px rgba(98, 108, 146, 0.1); } .box-wrapper > .box table td { transition: all .5s ease; padding: 2px; text-align: left; vertical-align: top; font-weight: 300; font-size: 12px; color: black; border-bottom: solid 1px rgba(98, 108, 146, 0.1); border-left: solid 1px rgba(98, 108, 146, 0.1); } .circle-pagination { position: absolute; z-index: 1000; list-style-type: none; margin: 0; top: -.3rem; } .circle-pagination li { border-radius: 50%; border: 2px solid #626C92; width: 12px; height: 12px; padding: 4px; margin: 6px; cursor: pointer; float: left; transition: all .2s ease; } .circle-pagination li.active, .circle-pagination li:hover { background: #626C92; width: 14px; height: 14px; } .circle-pagination li.active div, .circle-pagination li div:hover { color: white; } .circle-pagination li div { font-size: .6rem; width: 24px; position: relative; left: -6px; top: 1px; color: #626C92; font-weight: 600; text-transform: capitalize; } .mailto { box-sizing: border-box; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; padding: 10px; color: #333; background: #f2f2f2; height: 100% p; height-font-size: 16px; height-line-height: 1.6em; } .mailto .button { border: 1px solid #6576a8; background: #6d85ad; border: 0; outline: 0; font-weight: bold; text-transform: uppercase; text-decoration: none; letter-spacing: 1px; color: #fff; cursor: pointer; } .mailto .button:hover { background: #9cb8d9; } .mailto .button:active { background: #6576a8; } .mailto .button--large { position: relative; padding: 15px 30px; border-radius: 5px; font-size: 16px; } .mailto .button--large:active { top: 1px; } .mailto .content { max-width: 350px; text-align: center; } .mailto .email { position: relative; } @import url(http://fonts.googleapis.com/css?family=Roboto:400,300&subset=latin,latin-ext); ul.context-menu { transition: opacity 0.2s linear; list-style: none; margin: 0; padding: 0; font: 200 11px "Roboto", sans-serif; position: absolute; color: #626C92; box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.2); border-radius: 5px; border: 1px solid rgba(98, 108, 146, 0.25); } ul.context-menu * { transition: color 0.2s, background 0.2s; } ul.context-menu.hide { visibility: hidden; opacity: 0; } ul.context-menu.show { visibility: visible; opacity: 1; } ul.context-menu li { min-width: 100px; overflow: hidden; white-space: nowrap; padding: 6px 8px; background-color: #fff; border-bottom: 1px solid #ecf0f1; } ul.context-menu li a { color: #626C92; text-decoration: none; } ul.context-menu li:hover { background-color: #ecf0f1; color: #2980b9; } ul.context-menu li:hover a { color: #2980b9; } ul.context-menu li:first-child { border-radius: 5px 5px 0 0; } ul.context-menu li:last-child { border-bottom: 0; border-radius: 0 0 5px 5px; } @import url(http://fonts.googleapis.com/css?family=Roboto:400,300&subset=latin,latin-ext); .loader { background: #fff; margin: 50px 300px; /*todo cleanup with mixin*/ } .loader h1 { color: #626C92; font: 300 11px "Roboto", sans-serif; } .loader div.slider { position: absolute; width: 200px; height: 2px; margin-top: -30px; } .loader div.slider div.line { position: absolute; background: rgba(0, 0, 0, 0.2); width: 200px; height: 2px; } .loader div.slider div.break { position: absolute; width: 50%; height: 2px; } .loader div.slider div.break.dot1 { animation: loading 2s infinite; background: #D9ECF0; } .loader div.slider div.break.dot2 { animation: loading 2s 0.5s infinite; background: #6677AA; } .loader div.slider div.break.dot3 { animation: loading 2s 1s infinite; background: #D9ECF0; } @-webkit-keyframes "loading" { from { left: 0; opacity: 1; } to { left: 200px; opacity: 1; } } @-moz-keyframes "loading" { from { left: 0; opacity: 0; } to { left: 200px; opacity: 1; } } @-o-keyframes "loading" { from { left: 0; opacity: 0; } to { left: 200px; opacity: 1; } } @keyframes "loading" { from { left: 0; opacity: 0; } to { left: 200px; opacity: 1; } } diff --git a/shrine-webclient/src/main/js/client/js-shrine/export/config.js b/shrine-webclient/src/main/js/client/js-shrine/export/config.js index 494115738..3d911dd00 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/export/config.js +++ b/shrine-webclient/src/main/js/client/js-shrine/export/config.js @@ -1,682 +1,695 @@ System.config({ defaultJSExtensions: true, transpiler: false, paths: { "*": "dist/*", "github:*": "jspm_packages/github/*", "npm:*": "jspm_packages/npm/*" }, map: { "aurelia-animator-css": "npm:aurelia-animator-css@1.0.1", "aurelia-bootstrapper": "npm:aurelia-bootstrapper@1.0.0", "aurelia-fetch-client": "npm:aurelia-fetch-client@1.0.1", "aurelia-framework": "npm:aurelia-framework@1.0.6", "aurelia-history-browser": "npm:aurelia-history-browser@1.0.0", "aurelia-loader-default": "npm:aurelia-loader-default@1.0.0", "aurelia-logging-console": "npm:aurelia-logging-console@1.0.0", "aurelia-pal-browser": "npm:aurelia-pal-browser@1.0.0", "aurelia-polyfills": "npm:aurelia-polyfills@1.1.1", "aurelia-router": "npm:aurelia-router@1.3.0", "aurelia-templating-binding": "npm:aurelia-templating-binding@1.0.0", "aurelia-templating-resources": "npm:aurelia-templating-resources@1.1.1", "aurelia-templating-router": "npm:aurelia-templating-router@1.0.0", "bluebird": "npm:bluebird@3.4.1", "bootstrap": "github:twbs/bootstrap@3.3.7", "fetch": "github:github/fetch@1.0.0", "font-awesome": "npm:font-awesome@4.7.0", "jquery": "npm:jquery@2.2.4", "ramda": "npm:ramda@0.23.0", "text": "github:systemjs/plugin-text@0.0.8", "github:jspm/nodelibs-assert@0.1.0": { "assert": "npm:assert@1.4.1" }, "github:jspm/nodelibs-buffer@0.1.1": { "buffer": "npm:buffer@5.0.6" }, "github:jspm/nodelibs-process@0.1.2": { "process": "npm:process@0.11.10" }, "github:jspm/nodelibs-util@0.1.0": { "util": "npm:util@0.10.3" }, "github:jspm/nodelibs-vm@0.1.0": { "vm-browserify": "npm:vm-browserify@0.0.4" }, "github:twbs/bootstrap@3.3.7": { "jquery": "npm:jquery@2.2.4" }, "npm:assert@1.4.1": { "assert": "github:jspm/nodelibs-assert@0.1.0", "buffer": "github:jspm/nodelibs-buffer@0.1.1", "process": "github:jspm/nodelibs-process@0.1.2", "util": "npm:util@0.10.3" }, "npm:aurelia-animator-css@1.0.1": { "aurelia-metadata": "npm:aurelia-metadata@1.0.3", "aurelia-pal": "npm:aurelia-pal@1.3.0", "aurelia-templating": "npm:aurelia-templating@1.1.1" }, "npm:aurelia-binding@1.0.9": { "aurelia-logging": "npm:aurelia-logging@1.3.1", "aurelia-metadata": "npm:aurelia-metadata@1.0.3", "aurelia-pal": "npm:aurelia-pal@1.3.0", "aurelia-task-queue": "npm:aurelia-task-queue@1.1.0" }, "npm:aurelia-bootstrapper@1.0.0": { "aurelia-event-aggregator": "npm:aurelia-event-aggregator@1.0.1", "aurelia-framework": "npm:aurelia-framework@1.0.6", "aurelia-history": "npm:aurelia-history@1.0.0", "aurelia-history-browser": "npm:aurelia-history-browser@1.0.0", "aurelia-loader-default": "npm:aurelia-loader-default@1.0.0", "aurelia-logging-console": "npm:aurelia-logging-console@1.0.0", "aurelia-pal": "npm:aurelia-pal@1.3.0", "aurelia-pal-browser": "npm:aurelia-pal-browser@1.0.0", "aurelia-polyfills": "npm:aurelia-polyfills@1.1.1", "aurelia-router": "npm:aurelia-router@1.3.0", "aurelia-templating": "npm:aurelia-templating@1.1.1", "aurelia-templating-binding": "npm:aurelia-templating-binding@1.0.0", "aurelia-templating-resources": "npm:aurelia-templating-resources@1.1.1", "aurelia-templating-router": "npm:aurelia-templating-router@1.0.0" }, "npm:aurelia-dependency-injection@1.3.1": { "aurelia-metadata": "npm:aurelia-metadata@1.0.3", "aurelia-pal": "npm:aurelia-pal@1.3.0" }, "npm:aurelia-event-aggregator@1.0.1": { "aurelia-logging": "npm:aurelia-logging@1.3.1" }, "npm:aurelia-framework@1.0.6": { "aurelia-binding": "npm:aurelia-binding@1.0.9", "aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1", "aurelia-loader": "npm:aurelia-loader@1.0.0", "aurelia-logging": "npm:aurelia-logging@1.3.1", "aurelia-metadata": "npm:aurelia-metadata@1.0.3", "aurelia-pal": "npm:aurelia-pal@1.3.0", "aurelia-path": "npm:aurelia-path@1.1.1", "aurelia-task-queue": "npm:aurelia-task-queue@1.1.0", "aurelia-templating": "npm:aurelia-templating@1.1.1" }, "npm:aurelia-history-browser@1.0.0": { "aurelia-history": "npm:aurelia-history@1.0.0", "aurelia-pal": "npm:aurelia-pal@1.3.0" }, "npm:aurelia-loader-default@1.0.0": { "aurelia-loader": "npm:aurelia-loader@1.0.0", "aurelia-metadata": "npm:aurelia-metadata@1.0.3", "aurelia-pal": "npm:aurelia-pal@1.3.0" }, "npm:aurelia-loader@1.0.0": { "aurelia-metadata": "npm:aurelia-metadata@1.0.3", "aurelia-path": "npm:aurelia-path@1.1.1" }, "npm:aurelia-logging-console@1.0.0": { "aurelia-logging": "npm:aurelia-logging@1.3.1" }, "npm:aurelia-metadata@1.0.3": { "aurelia-pal": "npm:aurelia-pal@1.3.0" }, "npm:aurelia-pal-browser@1.0.0": { "aurelia-pal": "npm:aurelia-pal@1.3.0" }, "npm:aurelia-polyfills@1.1.1": { "aurelia-pal": "npm:aurelia-pal@1.3.0" }, "npm:aurelia-route-recognizer@1.1.0": { "aurelia-path": "npm:aurelia-path@1.1.1" }, "npm:aurelia-router@1.3.0": { "aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1", "aurelia-event-aggregator": "npm:aurelia-event-aggregator@1.0.1", "aurelia-history": "npm:aurelia-history@1.0.0", "aurelia-logging": "npm:aurelia-logging@1.3.1", "aurelia-path": "npm:aurelia-path@1.1.1", "aurelia-route-recognizer": "npm:aurelia-route-recognizer@1.1.0" }, "npm:aurelia-task-queue@1.1.0": { "aurelia-pal": "npm:aurelia-pal@1.3.0" }, "npm:aurelia-templating-binding@1.0.0": { "aurelia-binding": "npm:aurelia-binding@1.0.9", "aurelia-logging": "npm:aurelia-logging@1.3.1", "aurelia-templating": "npm:aurelia-templating@1.1.1" }, "npm:aurelia-templating-resources@1.1.1": { "aurelia-binding": "npm:aurelia-binding@1.0.9", "aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1", "aurelia-loader": "npm:aurelia-loader@1.0.0", "aurelia-logging": "npm:aurelia-logging@1.3.1", "aurelia-metadata": "npm:aurelia-metadata@1.0.3", "aurelia-pal": "npm:aurelia-pal@1.3.0", "aurelia-path": "npm:aurelia-path@1.1.1", "aurelia-task-queue": "npm:aurelia-task-queue@1.1.0", "aurelia-templating": "npm:aurelia-templating@1.1.1" }, "npm:aurelia-templating-router@1.0.0": { "aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1", "aurelia-logging": "npm:aurelia-logging@1.3.1", "aurelia-metadata": "npm:aurelia-metadata@1.0.3", "aurelia-pal": "npm:aurelia-pal@1.3.0", "aurelia-path": "npm:aurelia-path@1.1.1", "aurelia-router": "npm:aurelia-router@1.3.0", "aurelia-templating": "npm:aurelia-templating@1.1.1" }, "npm:aurelia-templating@1.1.1": { "aurelia-binding": "npm:aurelia-binding@1.0.9", "aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1", "aurelia-loader": "npm:aurelia-loader@1.0.0", "aurelia-logging": "npm:aurelia-logging@1.3.1", "aurelia-metadata": "npm:aurelia-metadata@1.0.3", "aurelia-pal": "npm:aurelia-pal@1.3.0", "aurelia-path": "npm:aurelia-path@1.1.1", "aurelia-task-queue": "npm:aurelia-task-queue@1.1.0" }, "npm:bluebird@3.4.1": { "process": "github:jspm/nodelibs-process@0.1.2" }, "npm:buffer@5.0.6": { "base64-js": "npm:base64-js@1.2.0", "ieee754": "npm:ieee754@1.1.8" }, "npm:font-awesome@4.7.0": { "css": "github:systemjs/plugin-css@0.1.33" }, "npm:inherits@2.0.1": { "util": "github:jspm/nodelibs-util@0.1.0" }, "npm:process@0.11.10": { "assert": "github:jspm/nodelibs-assert@0.1.0", "fs": "github:jspm/nodelibs-fs@0.1.2", "vm": "github:jspm/nodelibs-vm@0.1.0" }, "npm:ramda@0.23.0": { "assert": "github:jspm/nodelibs-assert@0.1.0", "process": "github:jspm/nodelibs-process@0.1.2", "util": "github:jspm/nodelibs-util@0.1.0", "vm": "github:jspm/nodelibs-vm@0.1.0" }, "npm:util@0.10.3": { "inherits": "npm:inherits@2.0.1", "process": "github:jspm/nodelibs-process@0.1.2" }, "npm:vm-browserify@0.0.4": { "indexof": "npm:indexof@0.0.1" } }, depCache: { "common/container.js": [ "ramda" ], + "common/i2b2.pub-sub.js": [ + "aurelia-framework", + "./i2b2.service", + "./tabs.model" + ], "common/i2b2.service.js": [ "ramda", "./container" ], "repository/qep.repository.js": [ "aurelia-framework", "aurelia-fetch-client", "fetch" ], + "shell.js": [ + "aurelia-framework", + "common/i2b2.pub-sub" + ], "views/mailto/mailto.js": [ "aurelia-framework", "views/mailto/mailto.service", "views/mailto/mailto.config" ], "views/mailto/mailto.service.js": [ "aurelia-framework", "repository/qep.repository" ], "views/query-viewer/context-menu/context-menu.js": [ "aurelia-framework", "common/i2b2.service.js" ], "views/query-viewer/loading-bar/loading-bar.js": [ "aurelia-framework" ], "views/query-viewer/query-viewer.js": [ "aurelia-framework", "views/query-viewer/query-viewer.service", "common/i2b2.service.js", + "common/tabs.model", "./query-viewer.model", "./scroll.service", "./query-viewer.config" ], "views/query-viewer/query-viewer.service.js": [ "aurelia-framework", "repository/qep.repository", "./query-viewer.config" ], "views/query-viewer/scroll.service.js": [ "ramda", "common/container" ] }, bundles: { "app-build.js": [ "common/container.js", + "common/i2b2.pub-sub.js", "common/i2b2.service.js", + "common/tabs.model.js", "main.js", "repository/qep.repository.js", "shell.html!github:systemjs/plugin-text@0.0.8.js", "shell.js", "views/mailto/mailto.config.js", "views/mailto/mailto.html!github:systemjs/plugin-text@0.0.8.js", "views/mailto/mailto.js", "views/mailto/mailto.service.js", "views/query-viewer/box-style.converter.js", "views/query-viewer/context-menu/context-menu.html!github:systemjs/plugin-text@0.0.8.js", "views/query-viewer/context-menu/context-menu.js", "views/query-viewer/loading-bar/loading-bar.html!github:systemjs/plugin-text@0.0.8.js", "views/query-viewer/loading-bar/loading-bar.js", + "views/query-viewer/loading-bar/row-loader.html!github:systemjs/plugin-text@0.0.8.js", "views/query-viewer/query-viewer.config.js", "views/query-viewer/query-viewer.html!github:systemjs/plugin-text@0.0.8.js", "views/query-viewer/query-viewer.js", "views/query-viewer/query-viewer.model.js", "views/query-viewer/query-viewer.service.js", "views/query-viewer/result-style.converter.js", "views/query-viewer/result-value.converter.js", "views/query-viewer/scroll.service.js" ], "aurelia.js": [ "github:github/fetch@1.0.0.js", "github:github/fetch@1.0.0/fetch.js", "github:jspm/nodelibs-process@0.1.2.js", "github:jspm/nodelibs-process@0.1.2/index.js", "npm:aurelia-binding@1.0.9.js", "npm:aurelia-binding@1.0.9/aurelia-binding.js", "npm:aurelia-bootstrapper@1.0.0.js", "npm:aurelia-bootstrapper@1.0.0/aurelia-bootstrapper.js", "npm:aurelia-dependency-injection@1.3.1.js", "npm:aurelia-dependency-injection@1.3.1/aurelia-dependency-injection.js", "npm:aurelia-event-aggregator@1.0.1.js", "npm:aurelia-event-aggregator@1.0.1/aurelia-event-aggregator.js", "npm:aurelia-fetch-client@1.0.1.js", "npm:aurelia-fetch-client@1.0.1/aurelia-fetch-client.js", "npm:aurelia-framework@1.0.6.js", "npm:aurelia-framework@1.0.6/aurelia-framework.js", "npm:aurelia-history-browser@1.0.0.js", "npm:aurelia-history-browser@1.0.0/aurelia-history-browser.js", "npm:aurelia-history@1.0.0.js", "npm:aurelia-history@1.0.0/aurelia-history.js", "npm:aurelia-loader-default@1.0.0.js", "npm:aurelia-loader-default@1.0.0/aurelia-loader-default.js", "npm:aurelia-loader@1.0.0.js", "npm:aurelia-loader@1.0.0/aurelia-loader.js", "npm:aurelia-logging-console@1.0.0.js", "npm:aurelia-logging-console@1.0.0/aurelia-logging-console.js", "npm:aurelia-logging@1.3.1.js", "npm:aurelia-logging@1.3.1/aurelia-logging.js", "npm:aurelia-metadata@1.0.3.js", "npm:aurelia-metadata@1.0.3/aurelia-metadata.js", "npm:aurelia-pal-browser@1.0.0.js", "npm:aurelia-pal-browser@1.0.0/aurelia-pal-browser.js", "npm:aurelia-pal@1.3.0.js", "npm:aurelia-pal@1.3.0/aurelia-pal.js", "npm:aurelia-path@1.1.1.js", "npm:aurelia-path@1.1.1/aurelia-path.js", "npm:aurelia-polyfills@1.1.1.js", "npm:aurelia-polyfills@1.1.1/aurelia-polyfills.js", "npm:aurelia-route-recognizer@1.1.0.js", "npm:aurelia-route-recognizer@1.1.0/aurelia-route-recognizer.js", "npm:aurelia-router@1.3.0.js", "npm:aurelia-router@1.3.0/aurelia-router.js", "npm:aurelia-task-queue@1.1.0.js", "npm:aurelia-task-queue@1.1.0/aurelia-task-queue.js", "npm:aurelia-templating-binding@1.0.0.js", "npm:aurelia-templating-binding@1.0.0/aurelia-templating-binding.js", "npm:aurelia-templating-resources@1.1.1.js", "npm:aurelia-templating-resources@1.1.1/abstract-repeater.js", "npm:aurelia-templating-resources@1.1.1/analyze-view-factory.js", "npm:aurelia-templating-resources@1.1.1/array-repeat-strategy.js", "npm:aurelia-templating-resources@1.1.1/attr-binding-behavior.js", "npm:aurelia-templating-resources@1.1.1/aurelia-hide-style.js", "npm:aurelia-templating-resources@1.1.1/aurelia-templating-resources.js", "npm:aurelia-templating-resources@1.1.1/binding-mode-behaviors.js", "npm:aurelia-templating-resources@1.1.1/binding-signaler.js", "npm:aurelia-templating-resources@1.1.1/compose.js", "npm:aurelia-templating-resources@1.1.1/css-resource.js", "npm:aurelia-templating-resources@1.1.1/debounce-binding-behavior.js", "npm:aurelia-templating-resources@1.1.1/dynamic-element.js", "npm:aurelia-templating-resources@1.1.1/focus.js", "npm:aurelia-templating-resources@1.1.1/hide.js", "npm:aurelia-templating-resources@1.1.1/html-resource-plugin.js", "npm:aurelia-templating-resources@1.1.1/html-sanitizer.js", "npm:aurelia-templating-resources@1.1.1/if.js", "npm:aurelia-templating-resources@1.1.1/map-repeat-strategy.js", "npm:aurelia-templating-resources@1.1.1/null-repeat-strategy.js", "npm:aurelia-templating-resources@1.1.1/number-repeat-strategy.js", "npm:aurelia-templating-resources@1.1.1/repeat-strategy-locator.js", "npm:aurelia-templating-resources@1.1.1/repeat-utilities.js", "npm:aurelia-templating-resources@1.1.1/repeat.js", "npm:aurelia-templating-resources@1.1.1/replaceable.js", "npm:aurelia-templating-resources@1.1.1/sanitize-html.js", "npm:aurelia-templating-resources@1.1.1/set-repeat-strategy.js", "npm:aurelia-templating-resources@1.1.1/show.js", "npm:aurelia-templating-resources@1.1.1/signal-binding-behavior.js", "npm:aurelia-templating-resources@1.1.1/throttle-binding-behavior.js", "npm:aurelia-templating-resources@1.1.1/update-trigger-binding-behavior.js", "npm:aurelia-templating-resources@1.1.1/with.js", "npm:aurelia-templating-router@1.0.0.js", "npm:aurelia-templating-router@1.0.0/aurelia-templating-router.js", "npm:aurelia-templating-router@1.0.0/route-href.js", "npm:aurelia-templating-router@1.0.0/route-loader.js", "npm:aurelia-templating-router@1.0.0/router-view.js", "npm:aurelia-templating@1.1.1.js", "npm:aurelia-templating@1.1.1/aurelia-templating.js", "npm:font-awesome@4.7.0.js", "npm:font-awesome@4.7.0/css/font-awesome.css!github:systemjs/plugin-css@0.1.33.js", "npm:jquery@2.2.4.js", "npm:jquery@2.2.4/dist/jquery.js", "npm:process@0.11.10.js", "npm:process@0.11.10/browser.js", "npm:ramda@0.23.0.js", "npm:ramda@0.23.0/index.js", "npm:ramda@0.23.0/src/F.js", "npm:ramda@0.23.0/src/T.js", "npm:ramda@0.23.0/src/__.js", "npm:ramda@0.23.0/src/add.js", "npm:ramda@0.23.0/src/addIndex.js", "npm:ramda@0.23.0/src/adjust.js", "npm:ramda@0.23.0/src/all.js", "npm:ramda@0.23.0/src/allPass.js", "npm:ramda@0.23.0/src/always.js", "npm:ramda@0.23.0/src/and.js", "npm:ramda@0.23.0/src/any.js", "npm:ramda@0.23.0/src/anyPass.js", "npm:ramda@0.23.0/src/ap.js", "npm:ramda@0.23.0/src/aperture.js", "npm:ramda@0.23.0/src/append.js", "npm:ramda@0.23.0/src/apply.js", "npm:ramda@0.23.0/src/applySpec.js", "npm:ramda@0.23.0/src/ascend.js", "npm:ramda@0.23.0/src/assoc.js", "npm:ramda@0.23.0/src/assocPath.js", "npm:ramda@0.23.0/src/binary.js", "npm:ramda@0.23.0/src/bind.js", "npm:ramda@0.23.0/src/both.js", "npm:ramda@0.23.0/src/call.js", "npm:ramda@0.23.0/src/chain.js", "npm:ramda@0.23.0/src/clamp.js", "npm:ramda@0.23.0/src/clone.js", "npm:ramda@0.23.0/src/comparator.js", "npm:ramda@0.23.0/src/complement.js", "npm:ramda@0.23.0/src/compose.js", "npm:ramda@0.23.0/src/composeK.js", "npm:ramda@0.23.0/src/composeP.js", "npm:ramda@0.23.0/src/concat.js", "npm:ramda@0.23.0/src/cond.js", "npm:ramda@0.23.0/src/construct.js", "npm:ramda@0.23.0/src/constructN.js", "npm:ramda@0.23.0/src/contains.js", "npm:ramda@0.23.0/src/converge.js", "npm:ramda@0.23.0/src/countBy.js", "npm:ramda@0.23.0/src/curry.js", "npm:ramda@0.23.0/src/curryN.js", "npm:ramda@0.23.0/src/dec.js", "npm:ramda@0.23.0/src/defaultTo.js", "npm:ramda@0.23.0/src/descend.js", "npm:ramda@0.23.0/src/difference.js", "npm:ramda@0.23.0/src/differenceWith.js", "npm:ramda@0.23.0/src/dissoc.js", "npm:ramda@0.23.0/src/dissocPath.js", "npm:ramda@0.23.0/src/divide.js", "npm:ramda@0.23.0/src/drop.js", "npm:ramda@0.23.0/src/dropLast.js", "npm:ramda@0.23.0/src/dropLastWhile.js", "npm:ramda@0.23.0/src/dropRepeats.js", "npm:ramda@0.23.0/src/dropRepeatsWith.js", "npm:ramda@0.23.0/src/dropWhile.js", "npm:ramda@0.23.0/src/either.js", "npm:ramda@0.23.0/src/empty.js", "npm:ramda@0.23.0/src/eqBy.js", "npm:ramda@0.23.0/src/eqProps.js", "npm:ramda@0.23.0/src/equals.js", "npm:ramda@0.23.0/src/evolve.js", "npm:ramda@0.23.0/src/filter.js", "npm:ramda@0.23.0/src/find.js", "npm:ramda@0.23.0/src/findIndex.js", "npm:ramda@0.23.0/src/findLast.js", "npm:ramda@0.23.0/src/findLastIndex.js", "npm:ramda@0.23.0/src/flatten.js", "npm:ramda@0.23.0/src/flip.js", "npm:ramda@0.23.0/src/forEach.js", "npm:ramda@0.23.0/src/forEachObjIndexed.js", "npm:ramda@0.23.0/src/fromPairs.js", "npm:ramda@0.23.0/src/groupBy.js", "npm:ramda@0.23.0/src/groupWith.js", "npm:ramda@0.23.0/src/gt.js", "npm:ramda@0.23.0/src/gte.js", "npm:ramda@0.23.0/src/has.js", "npm:ramda@0.23.0/src/hasIn.js", "npm:ramda@0.23.0/src/head.js", "npm:ramda@0.23.0/src/identical.js", "npm:ramda@0.23.0/src/identity.js", "npm:ramda@0.23.0/src/ifElse.js", "npm:ramda@0.23.0/src/inc.js", "npm:ramda@0.23.0/src/indexBy.js", "npm:ramda@0.23.0/src/indexOf.js", "npm:ramda@0.23.0/src/init.js", "npm:ramda@0.23.0/src/insert.js", "npm:ramda@0.23.0/src/insertAll.js", "npm:ramda@0.23.0/src/internal/_Set.js", "npm:ramda@0.23.0/src/internal/_aperture.js", "npm:ramda@0.23.0/src/internal/_arity.js", "npm:ramda@0.23.0/src/internal/_arrayFromIterator.js", "npm:ramda@0.23.0/src/internal/_assign.js", "npm:ramda@0.23.0/src/internal/_checkForMethod.js", "npm:ramda@0.23.0/src/internal/_clone.js", "npm:ramda@0.23.0/src/internal/_cloneRegExp.js", "npm:ramda@0.23.0/src/internal/_complement.js", "npm:ramda@0.23.0/src/internal/_concat.js", "npm:ramda@0.23.0/src/internal/_contains.js", "npm:ramda@0.23.0/src/internal/_containsWith.js", "npm:ramda@0.23.0/src/internal/_createPartialApplicator.js", "npm:ramda@0.23.0/src/internal/_curry1.js", "npm:ramda@0.23.0/src/internal/_curry2.js", "npm:ramda@0.23.0/src/internal/_curry3.js", "npm:ramda@0.23.0/src/internal/_curryN.js", "npm:ramda@0.23.0/src/internal/_dispatchable.js", "npm:ramda@0.23.0/src/internal/_dropLast.js", "npm:ramda@0.23.0/src/internal/_dropLastWhile.js", "npm:ramda@0.23.0/src/internal/_equals.js", "npm:ramda@0.23.0/src/internal/_filter.js", "npm:ramda@0.23.0/src/internal/_flatCat.js", "npm:ramda@0.23.0/src/internal/_forceReduced.js", "npm:ramda@0.23.0/src/internal/_functionName.js", "npm:ramda@0.23.0/src/internal/_has.js", "npm:ramda@0.23.0/src/internal/_identity.js", "npm:ramda@0.23.0/src/internal/_indexOf.js", "npm:ramda@0.23.0/src/internal/_isArguments.js", "npm:ramda@0.23.0/src/internal/_isArray.js", "npm:ramda@0.23.0/src/internal/_isFunction.js", "npm:ramda@0.23.0/src/internal/_isInteger.js", "npm:ramda@0.23.0/src/internal/_isNumber.js", "npm:ramda@0.23.0/src/internal/_isObject.js", "npm:ramda@0.23.0/src/internal/_isPlaceholder.js", "npm:ramda@0.23.0/src/internal/_isRegExp.js", "npm:ramda@0.23.0/src/internal/_isString.js", "npm:ramda@0.23.0/src/internal/_isTransformer.js", "npm:ramda@0.23.0/src/internal/_makeFlat.js", "npm:ramda@0.23.0/src/internal/_map.js", "npm:ramda@0.23.0/src/internal/_objectAssign.js", "npm:ramda@0.23.0/src/internal/_of.js", "npm:ramda@0.23.0/src/internal/_pipe.js", "npm:ramda@0.23.0/src/internal/_pipeP.js", "npm:ramda@0.23.0/src/internal/_quote.js", "npm:ramda@0.23.0/src/internal/_reduce.js", "npm:ramda@0.23.0/src/internal/_reduced.js", "npm:ramda@0.23.0/src/internal/_stepCat.js", "npm:ramda@0.23.0/src/internal/_toISOString.js", "npm:ramda@0.23.0/src/internal/_toString.js", "npm:ramda@0.23.0/src/internal/_xall.js", "npm:ramda@0.23.0/src/internal/_xany.js", "npm:ramda@0.23.0/src/internal/_xaperture.js", "npm:ramda@0.23.0/src/internal/_xchain.js", "npm:ramda@0.23.0/src/internal/_xdrop.js", "npm:ramda@0.23.0/src/internal/_xdropLast.js", "npm:ramda@0.23.0/src/internal/_xdropLastWhile.js", "npm:ramda@0.23.0/src/internal/_xdropRepeatsWith.js", "npm:ramda@0.23.0/src/internal/_xdropWhile.js", "npm:ramda@0.23.0/src/internal/_xfBase.js", "npm:ramda@0.23.0/src/internal/_xfilter.js", "npm:ramda@0.23.0/src/internal/_xfind.js", "npm:ramda@0.23.0/src/internal/_xfindIndex.js", "npm:ramda@0.23.0/src/internal/_xfindLast.js", "npm:ramda@0.23.0/src/internal/_xfindLastIndex.js", "npm:ramda@0.23.0/src/internal/_xmap.js", "npm:ramda@0.23.0/src/internal/_xreduceBy.js", "npm:ramda@0.23.0/src/internal/_xtake.js", "npm:ramda@0.23.0/src/internal/_xtakeWhile.js", "npm:ramda@0.23.0/src/internal/_xwrap.js", "npm:ramda@0.23.0/src/intersection.js", "npm:ramda@0.23.0/src/intersectionWith.js", "npm:ramda@0.23.0/src/intersperse.js", "npm:ramda@0.23.0/src/into.js", "npm:ramda@0.23.0/src/invert.js", "npm:ramda@0.23.0/src/invertObj.js", "npm:ramda@0.23.0/src/invoker.js", "npm:ramda@0.23.0/src/is.js", "npm:ramda@0.23.0/src/isArrayLike.js", "npm:ramda@0.23.0/src/isEmpty.js", "npm:ramda@0.23.0/src/isNil.js", "npm:ramda@0.23.0/src/join.js", "npm:ramda@0.23.0/src/juxt.js", "npm:ramda@0.23.0/src/keys.js", "npm:ramda@0.23.0/src/keysIn.js", "npm:ramda@0.23.0/src/last.js", "npm:ramda@0.23.0/src/lastIndexOf.js", "npm:ramda@0.23.0/src/length.js", "npm:ramda@0.23.0/src/lens.js", "npm:ramda@0.23.0/src/lensIndex.js", "npm:ramda@0.23.0/src/lensPath.js", "npm:ramda@0.23.0/src/lensProp.js", "npm:ramda@0.23.0/src/lift.js", "npm:ramda@0.23.0/src/liftN.js", "npm:ramda@0.23.0/src/lt.js", "npm:ramda@0.23.0/src/lte.js", "npm:ramda@0.23.0/src/map.js", "npm:ramda@0.23.0/src/mapAccum.js", "npm:ramda@0.23.0/src/mapAccumRight.js", "npm:ramda@0.23.0/src/mapObjIndexed.js", "npm:ramda@0.23.0/src/match.js", "npm:ramda@0.23.0/src/mathMod.js", "npm:ramda@0.23.0/src/max.js", "npm:ramda@0.23.0/src/maxBy.js", "npm:ramda@0.23.0/src/mean.js", "npm:ramda@0.23.0/src/median.js", "npm:ramda@0.23.0/src/memoize.js", "npm:ramda@0.23.0/src/merge.js", "npm:ramda@0.23.0/src/mergeAll.js", "npm:ramda@0.23.0/src/mergeWith.js", "npm:ramda@0.23.0/src/mergeWithKey.js", "npm:ramda@0.23.0/src/min.js", "npm:ramda@0.23.0/src/minBy.js", "npm:ramda@0.23.0/src/modulo.js", "npm:ramda@0.23.0/src/multiply.js", "npm:ramda@0.23.0/src/nAry.js", "npm:ramda@0.23.0/src/negate.js", "npm:ramda@0.23.0/src/none.js", "npm:ramda@0.23.0/src/not.js", "npm:ramda@0.23.0/src/nth.js", "npm:ramda@0.23.0/src/nthArg.js", "npm:ramda@0.23.0/src/objOf.js", "npm:ramda@0.23.0/src/of.js", "npm:ramda@0.23.0/src/omit.js", "npm:ramda@0.23.0/src/once.js", "npm:ramda@0.23.0/src/or.js", "npm:ramda@0.23.0/src/over.js", "npm:ramda@0.23.0/src/pair.js", "npm:ramda@0.23.0/src/partial.js", "npm:ramda@0.23.0/src/partialRight.js", "npm:ramda@0.23.0/src/partition.js", "npm:ramda@0.23.0/src/path.js", "npm:ramda@0.23.0/src/pathEq.js", "npm:ramda@0.23.0/src/pathOr.js", "npm:ramda@0.23.0/src/pathSatisfies.js", "npm:ramda@0.23.0/src/pick.js", "npm:ramda@0.23.0/src/pickAll.js", "npm:ramda@0.23.0/src/pickBy.js", "npm:ramda@0.23.0/src/pipe.js", "npm:ramda@0.23.0/src/pipeK.js", "npm:ramda@0.23.0/src/pipeP.js", "npm:ramda@0.23.0/src/pluck.js", "npm:ramda@0.23.0/src/prepend.js", "npm:ramda@0.23.0/src/product.js", "npm:ramda@0.23.0/src/project.js", "npm:ramda@0.23.0/src/prop.js", "npm:ramda@0.23.0/src/propEq.js", "npm:ramda@0.23.0/src/propIs.js", "npm:ramda@0.23.0/src/propOr.js", "npm:ramda@0.23.0/src/propSatisfies.js", "npm:ramda@0.23.0/src/props.js", "npm:ramda@0.23.0/src/range.js", "npm:ramda@0.23.0/src/reduce.js", "npm:ramda@0.23.0/src/reduceBy.js", "npm:ramda@0.23.0/src/reduceRight.js", "npm:ramda@0.23.0/src/reduceWhile.js", "npm:ramda@0.23.0/src/reduced.js", "npm:ramda@0.23.0/src/reject.js", "npm:ramda@0.23.0/src/remove.js", "npm:ramda@0.23.0/src/repeat.js", "npm:ramda@0.23.0/src/replace.js", "npm:ramda@0.23.0/src/reverse.js", "npm:ramda@0.23.0/src/scan.js", "npm:ramda@0.23.0/src/sequence.js", "npm:ramda@0.23.0/src/set.js", "npm:ramda@0.23.0/src/slice.js", "npm:ramda@0.23.0/src/sort.js", "npm:ramda@0.23.0/src/sortBy.js", "npm:ramda@0.23.0/src/sortWith.js", "npm:ramda@0.23.0/src/split.js", "npm:ramda@0.23.0/src/splitAt.js", "npm:ramda@0.23.0/src/splitEvery.js", "npm:ramda@0.23.0/src/splitWhen.js", "npm:ramda@0.23.0/src/subtract.js", "npm:ramda@0.23.0/src/sum.js", "npm:ramda@0.23.0/src/symmetricDifference.js", "npm:ramda@0.23.0/src/symmetricDifferenceWith.js", "npm:ramda@0.23.0/src/tail.js", "npm:ramda@0.23.0/src/take.js", "npm:ramda@0.23.0/src/takeLast.js", "npm:ramda@0.23.0/src/takeLastWhile.js", "npm:ramda@0.23.0/src/takeWhile.js", "npm:ramda@0.23.0/src/tap.js", "npm:ramda@0.23.0/src/test.js", "npm:ramda@0.23.0/src/times.js", "npm:ramda@0.23.0/src/toLower.js", "npm:ramda@0.23.0/src/toPairs.js", "npm:ramda@0.23.0/src/toPairsIn.js", "npm:ramda@0.23.0/src/toString.js", "npm:ramda@0.23.0/src/toUpper.js", "npm:ramda@0.23.0/src/transduce.js", "npm:ramda@0.23.0/src/transpose.js", "npm:ramda@0.23.0/src/traverse.js", "npm:ramda@0.23.0/src/trim.js", "npm:ramda@0.23.0/src/tryCatch.js", "npm:ramda@0.23.0/src/type.js", "npm:ramda@0.23.0/src/unapply.js", "npm:ramda@0.23.0/src/unary.js", "npm:ramda@0.23.0/src/uncurryN.js", "npm:ramda@0.23.0/src/unfold.js", "npm:ramda@0.23.0/src/union.js", "npm:ramda@0.23.0/src/unionWith.js", "npm:ramda@0.23.0/src/uniq.js", "npm:ramda@0.23.0/src/uniqBy.js", "npm:ramda@0.23.0/src/uniqWith.js", "npm:ramda@0.23.0/src/unless.js", "npm:ramda@0.23.0/src/unnest.js", "npm:ramda@0.23.0/src/until.js", "npm:ramda@0.23.0/src/update.js", "npm:ramda@0.23.0/src/useWith.js", "npm:ramda@0.23.0/src/values.js", "npm:ramda@0.23.0/src/valuesIn.js", "npm:ramda@0.23.0/src/view.js", "npm:ramda@0.23.0/src/when.js", "npm:ramda@0.23.0/src/where.js", "npm:ramda@0.23.0/src/whereEq.js", "npm:ramda@0.23.0/src/without.js", "npm:ramda@0.23.0/src/xprod.js", "npm:ramda@0.23.0/src/zip.js", "npm:ramda@0.23.0/src/zipObj.js", "npm:ramda@0.23.0/src/zipWith.js" ] } }); \ No newline at end of file diff --git a/shrine-webclient/src/main/js/client/js-shrine/export/dist/app-build.js b/shrine-webclient/src/main/js/client/js-shrine/export/dist/app-build.js index 3fccfbbce..07088df2a 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/export/dist/app-build.js +++ b/shrine-webclient/src/main/js/client/js-shrine/export/dist/app-build.js @@ -1 +1 @@ -"bundle";System.register("main.js",[],function(a,b){"use strict";function c(a){a.use.standardConfiguration().developmentLogging(),a.start().then(function(){return a.setRoot("shell")})}return a("configure",c),{setters:[],execute:function(){}}}),function(){var a=System.amdDefine;a("shell.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return""})}(),System.register("shell.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("Shell",d=function(){function a(){c(this,a)}return a.prototype.configureRouter=function(a,b){a.title="SHRINE Webclient Plugin",a.map([{route:"mailto",moduleId:"views/mailto/mailto"},{route:["","query-viewer"],moduleId:"views/query-viewer/query-viewer"}]),this.router=b},a}()),a("Shell",d)}}}),function(){var a=System.amdDefine;a("views/mailto/mailto.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return''})}(),System.register("views/mailto/mailto.service.js",["aurelia-framework","repository/qep.repository"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a.inject},function(a){e=a.QEPRepository}],execute:function(){a("MailToService",(f=d(e),h=f(g=function(){function a(b){c(this,a),this.repository=b}return a.prototype.fetchStewardEmail=function(){return this.repository.fetchStewardEmail()},a}())||g)),a("MailToService",h)}}}),System.register("views/mailto/mailto.config.js",[],function(a,b){"use strict";var c;return{setters:[],execute:function(){a("MailConfig",c={mailto:"mailto:",subject:encodeURIComponent("Question from a SHRINE User"),body:encodeURIComponent("Please enter the suggested information and your question. Your data steward will reply to this email.\n \n\n***Never send patient information, passwords, or other sensitive information by email****\n \nName:\n \nTitle:\n \nUser name (to log into SHRINE):\n \nTelephone Number (optional):\n \nPreferred email address (optional):\n \n\nQuestion or Comment:")}),a("MailConfig",c)}}}),System.register("views/mailto/mailto.js",["aurelia-framework","views/mailto/mailto.service","views/mailto/mailto.config"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.inject},function(a){e=a.MailToService},function(a){f=a.MailConfig}],execute:function(){a("MailTo",(g=d(e,f),i=g(h=function(){function a(b,d){c(this,a),this.service=b,this.config=d}return a.prototype.openEmail=function(){var a=this;this.service.fetchStewardEmail().then(function(b){window.top.location="mailto:"+b+"?subject="+a.config.subject+"&body="+a.config.body})},a}())||h)),a("MailTo",i)}}}),System.register("views/query-viewer/box-style.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("BoxStyleValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return"transform: translate("+String(-100*a)+"%);"},a}()),a("BoxStyleValueConverter",d)}}}),function(){var a=System.amdDefine;a("views/query-viewer/context-menu/context-menu.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return''})}(),System.register("views/query-viewer/context-menu/context-menu.js",["aurelia-framework","common/i2b2.service.js"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l,m;return{setters:[function(a){f=a.inject,g=a.bindable},function(a){h=a.I2B2Service}],execute:function(){a("ContextMenu",(i=f(h),m=i((k=function b(a){var e=this;d(this,b),c(this,"context",l,this),this.loadQuery=function(b){a.loadQuery(b),e.context["class"]="hide"},this.loadHistory=function(){a.loadHistory(),e.context["class"]="hide"}},l=e(k.prototype,"context",[g],{enumerable:!0,initializer:null}),j=k))||j)),a("ContextMenu",m)}}}),function(){var a=System.amdDefine;a("views/query-viewer/loading-bar/loading-bar.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return''})}(),System.register("views/query-viewer/loading-bar/loading-bar.js",["aurelia-framework"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i;return{setters:[function(a){f=a.bindable}],execute:function(){a("LoadingBar",(g=function b(){d(this,b),c(this,"status",h,this)},h=e(g.prototype,"status",[f],{enumerable:!0,initializer:null}),i=g)),a("LoadingBar",i)}}}),function(){var a=System.amdDefine;a("views/query-viewer/query-viewer.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return''})}(),System.register("repository/qep.repository.js",["aurelia-framework","aurelia-fetch-client","fetch"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.inject},function(a){e=a.HttpClient},function(a){}],execute:function(){f=function(){function a(a,b){for(var c=0;c1&&void 0!==arguments[1]?arguments[1]:0;return this.http.fetch("qep/queryResults?limit="+a+"&skip="+b).then(function(a){return a.json()})["catch"](function(a){return a})},a.prototype.fetchStewardEmail=function(){return this.http.fetch("data?key=stewardEmail").then(function(a){return a.json()}).then(function(a){return a.indexOf('"')>0?a.split('"')[1]:a})["catch"](function(){return""})},f(a,[{key:"url",get:function(){var a=document.URL,b=":6443/shrine-metadata/";return a.substring(0,a.lastIndexOf(":"))+b}},{key:"auth",get:function(){var a=sessionStorage.getItem("shrine.auth");return sessionStorage.removeItem("shrine.auth"),a}}]),a}())||h)),a("QEPRepository",i)}}}),System.register("views/query-viewer/query-viewer.service.js",["aurelia-framework","repository/qep.repository","./query-viewer.config"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.inject},function(a){e=a.QEPRepository},function(a){f=a.QueryViewerConfig}],execute:function(){a("QueryViewerService",(g=d(e,f),i=g(h=function(){function a(b,d,e){c(this,a),this.repository=b,this.config=d}return a.prototype.fetchPreviousQueries=function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.config.maxQueriesPerScroll;return this.repository.fetchPreviousQueries(a)},a.prototype.getScreens=function(a,b){var c=this;return new Promise(function(d,e){for(var f=a.sort().length,g=[],h=0;h0&&void 0!==arguments[0]?arguments[0]:window;c(this,b);var f=e.of(a),g=d.curry(function(a,b){return b.value?e.of(d.prop(a,b.value)):e.of(null)}),h=d.compose(g("i2b2"),g("window"),g("parent")),i=d.compose(g("CRC"),h),j=d.compose(g("events"),h),k=d.compose(g("SHRINE"),h);this.onResize=function(a){return j(f).map(function(b){return b.changedZoomWindows.subscribe(a)})},this.onHistory=function(a){return i(f).map(function(b){return b.ctrlr.history.events.onDataUpdate.subscribe(a)})},this.onQuery=function(a){return j(f).map(function(b){return b.afterQueryInit.subscribe(a)})},this.loadHistory=function(){return i(f).map(function(a){return a.view.history.doRefreshAll()})},this.loadQuery=function(a){return i(f).map(function(b){return b.ctrlr.QT.doQueryLoad(a)})},this.errorDetail=function(a){return k(f).map(function(b){return b.plugin.errorDetail(a)})}}),a("I2B2Service",f)}}}),System.register("views/query-viewer/query-viewer.model.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e;return{setters:[],execute:function(){d=function(){function a(a,b){for(var c=0;c0}}]),a}()),a("QueryViewerModel",e)}}}),System.register("common/container.js",["ramda"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f;return{setters:[function(a){d=a}],execute:function(){e=function(){function a(a,b){for(var c=0;c1,e.screens=a,e.processing=!1},k=function(){return f.service.fetchPreviousQueries(e.loadedCount+j.maxQueriesPerScroll).then(g).then(h)["catch"](function(a){return console.log(a)})},l=function(a,b){return f.runningQuery=b[0].name},m=function(){return e.hasData?h(e.screens):k()},n=function(a){return 1===i.scrollRatio(a).value&&e.moreToLoad&&!e.processing};this.onScroll=function(a){n(a)&&(k(),e.processing=!0)};var o=function(a){return"ADD"!==a.action},p=function(a,b){return f.vertStyle=b.find(o)?"v-min":"v-full"};this.errorDetail=d.errorDetail,d.onResize(p),d.onHistory(k),d.onQuery(l),m()}return a.prototype.getContext=function(a,b){return{x:a.pageX,y:a.pageY,id:b.id,"class":"show"}},a}())||l)),a("QueryViewer",m)}}}),System.register("views/query-viewer/result-style.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("ResultStyleValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){var b=this.isUnresolved(a)?"color:"+this.getColorValue(a):"";return b},a.prototype.isUnresolved=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"FINISHED";return!a||a.status!==b},a.prototype.getColorValue=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ERROR",c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"#FF0000",d=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#00FF00";return a&&a.status!==b?d:c},a}()),a("ResultStyleValueConverter",d)}}}),System.register("views/query-viewer/result-value.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("ResultValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return a?"FINISHED"!==a.status?"":a.count<0?"<=10":a.count:"not available"},a}()),a("ResultValueConverter",d)}}}); \ No newline at end of file +"bundle";System.register("main.js",[],function(a,b){"use strict";function c(a){a.use.standardConfiguration().developmentLogging(),a.start().then(function(){return a.setRoot("shell")})}return a("configure",c),{setters:[],execute:function(){}}}),function(){var a=System.amdDefine;a("shell.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return""})}(),System.register("common/i2b2.pub-sub.js",["aurelia-framework","./i2b2.service","./tabs.model"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.inject},function(a){e=a.I2B2Service},function(a){f=a.TabsModel}],execute:function(){a("I2B2PubSub",(g=d(e,f),i=g(h=function b(a,d){c(this,b),this.listen=function(){var b=function(a,b){return b.find(function(a){return"ADD"===a.action})?d.setMax():d.setMin()};a.onResize(b)}})||h)),a("I2B2PubSub",i)}}}),System.register("shell.js",["aurelia-framework","common/i2b2.pub-sub"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a.inject},function(a){e=a.I2B2PubSub}],execute:function(){a("Shell",(f=d(e),h=f(g=function(){function a(b){c(this,a),b.listen()}return a.prototype.configureRouter=function(a,b){a.title="SHRINE Webclient Plugin",a.map([{route:"mailto",moduleId:"views/mailto/mailto"},{route:["","query-viewer"],moduleId:"views/query-viewer/query-viewer"}]),this.router=b},a}())||g)),a("Shell",h)}}}),function(){var a=System.amdDefine;a("views/mailto/mailto.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return''})}(),System.register("views/mailto/mailto.service.js",["aurelia-framework","repository/qep.repository"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a.inject},function(a){e=a.QEPRepository}],execute:function(){a("MailToService",(f=d(e),h=f(g=function(){function a(b){c(this,a),this.repository=b}return a.prototype.fetchStewardEmail=function(){return this.repository.fetchStewardEmail()},a}())||g)),a("MailToService",h)}}}),System.register("views/mailto/mailto.config.js",[],function(a,b){"use strict";var c;return{setters:[],execute:function(){a("MailConfig",c={mailto:"mailto:",subject:encodeURIComponent("Question from a SHRINE User"),body:encodeURIComponent("Please enter the suggested information and your question. Your data steward will reply to this email.\n \n\n***Never send patient information, passwords, or other sensitive information by email****\n \nName:\n \nTitle:\n \nUser name (to log into SHRINE):\n \nTelephone Number (optional):\n \nPreferred email address (optional):\n \n\nQuestion or Comment:")}),a("MailConfig",c)}}}),System.register("views/mailto/mailto.js",["aurelia-framework","views/mailto/mailto.service","views/mailto/mailto.config"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.inject},function(a){e=a.MailToService},function(a){f=a.MailConfig}],execute:function(){a("MailTo",(g=d(e,f),i=g(h=function(){function a(b,d){c(this,a),this.service=b,this.config=d}return a.prototype.openEmail=function(){var a=this;this.service.fetchStewardEmail().then(function(b){window.top.location="mailto:"+b+"?subject="+a.config.subject+"&body="+a.config.body})},a}())||h)),a("MailTo",i)}}}),System.register("views/query-viewer/box-style.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("BoxStyleValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return"transform: translate("+String(-100*a)+"%);"},a}()),a("BoxStyleValueConverter",d)}}}),function(){var a=System.amdDefine;a("views/query-viewer/context-menu/context-menu.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return''})}(),System.register("views/query-viewer/context-menu/context-menu.js",["aurelia-framework","common/i2b2.service.js"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l,m;return{setters:[function(a){f=a.inject,g=a.bindable},function(a){h=a.I2B2Service}],execute:function(){a("ContextMenu",(i=f(h),m=i((k=function b(a){var e=this;d(this,b),c(this,"context",l,this),this.loadQuery=function(b){a.loadQuery(b),e.context["class"]="hide"},this.loadHistory=function(){a.loadHistory(),e.context["class"]="hide"}},l=e(k.prototype,"context",[g],{enumerable:!0,initializer:null}),j=k))||j)),a("ContextMenu",m)}}}),function(){var a=System.amdDefine;a("views/query-viewer/loading-bar/loading-bar.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return''})}(),System.register("views/query-viewer/loading-bar/loading-bar.js",["aurelia-framework"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i;return{setters:[function(a){f=a.bindable}],execute:function(){a("LoadingBar",(g=function b(){d(this,b),c(this,"status",h,this)},h=e(g.prototype,"status",[f],{enumerable:!0,initializer:null}),i=g)),a("LoadingBar",i)}}}),function(){var a=System.amdDefine;a("views/query-viewer/loading-bar/row-loader.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return""})}(),function(){var a=System.amdDefine;a("views/query-viewer/query-viewer.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return''})}(),System.register("repository/qep.repository.js",["aurelia-framework","aurelia-fetch-client","fetch"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.inject},function(a){e=a.HttpClient},function(a){}],execute:function(){f=function(){function a(a,b){for(var c=0;c1&&void 0!==arguments[1]?arguments[1]:0;return this.http.fetch("qep/queryResults?limit="+a+"&skip="+b).then(function(a){return a.json()})["catch"](function(a){return a})},a.prototype.fetchStewardEmail=function(){return this.http.fetch("data?key=stewardEmail").then(function(a){return a.json()}).then(function(a){return a.indexOf('"')>0?a.split('"')[1]:a})["catch"](function(){return""})},f(a,[{key:"url",get:function(){var a=document.URL,b=":6443/shrine-metadata/";return a.substring(0,a.lastIndexOf(":"))+b}},{key:"auth",get:function(){var a=sessionStorage.getItem("shrine.auth");return sessionStorage.removeItem("shrine.auth"),a}}]),a}())||h)),a("QEPRepository",i)}}}),System.register("views/query-viewer/query-viewer.service.js",["aurelia-framework","repository/qep.repository","./query-viewer.config"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.inject},function(a){e=a.QEPRepository},function(a){f=a.QueryViewerConfig}],execute:function(){a("QueryViewerService",(g=d(e,f),i=g(h=function(){function a(b,d,e){c(this,a),this.repository=b,this.config=d}return a.prototype.fetchPreviousQueries=function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.config.maxQueriesPerScroll;return this.repository.fetchPreviousQueries(a)},a.prototype.getScreens=function(a,b){var c=this;return new Promise(function(d,e){for(var f=a.sort().length,g=[],h=0;h0&&void 0!==arguments[0]?arguments[0]:window;c(this,b);var f=e.of(a),g=d.curry(function(a,b){return b.value?e.of(d.prop(a,b.value)):e.of(null)}),h=d.compose(g("i2b2"),g("window"),g("parent")),i=d.compose(g("CRC"),h),j=d.compose(g("events"),h),k=d.compose(g("SHRINE"),h);this.onResize=function(a){return j(f).map(function(b){return b.changedZoomWindows.subscribe(a)})},this.onHistory=function(a){return i(f).map(function(b){return b.ctrlr.history.events.onDataUpdate.subscribe(a)})},this.onQuery=function(a){return j(f).map(function(b){return b.afterQueryInit.subscribe(a)})},this.loadHistory=function(){return i(f).map(function(a){return a.view.history.doRefreshAll()})},this.loadQuery=function(a){return i(f).map(function(b){return b.ctrlr.QT.doQueryLoad(a)})},this.errorDetail=function(a){return k(f).map(function(b){return b.plugin.errorDetail(a)})}}),a("I2B2Service",f)}}}),System.register("common/tabs.model.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e;return{setters:[],execute:function(){d=function(){function a(a,b){for(var c=0;c0}}]),a}()),a("QueryViewerModel",e)}}}),System.register("common/container.js",["ramda"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f;return{setters:[function(a){d=a}],execute:function(){e=function(){function a(a,b){for(var c=0;c1,e.screens=a,e.processing=!1,g.loadingInfiniteScroll=e.processing},l=function(){return g.service.fetchPreviousQueries(e.loadedCount+k.maxQueriesPerScroll).then(h).then(i)["catch"](function(a){return console.log(a)})},m=function(a,b){g.runningQuery=b[0].name},n=function(){return e.hasData?i(e.screens):l()},o=function(a){return 1===j.scrollRatio(a).value&&e.moreToLoad&&!e.processing};this.onScroll=function(a){o(a)&&(l(),e.processing=!0,g.loadingInfiniteScroll=e.processing)};var p=function(a){return"ADD"!==a.action},q=function(a,b){return g.vertStyle=b.find(p)?"v-min":"v-full"};this.errorDetail=d.errorDetail,d.onResize(q),d.onHistory(l),d.onQuery(m),n()}return a.prototype.getContext=function(a,b){return{x:a.pageX,y:a.pageY,id:b.id,"class":"show"}},a}())||m)),a("QueryViewer",n)}}}),System.register("views/query-viewer/result-style.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("ResultStyleValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){var b=this.isUnresolved(a)?"color:"+this.getColorValue(a):"";return b},a.prototype.isUnresolved=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"FINISHED";return!a||a.status!==b},a.prototype.getColorValue=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ERROR",c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"#FF0000",d=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#00FF00";return a&&a.status!==b?d:c},a}()),a("ResultStyleValueConverter",d)}}}),System.register("views/query-viewer/result-value.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("ResultValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return a?"FINISHED"!==a.status?"":a.count<0?"<=10":a.count:"not available"},a}()),a("ResultValueConverter",d)}}}); \ No newline at end of file diff --git a/shrine-webclient/src/main/js/client/js-shrine/src/common/container.js b/shrine-webclient/src/main/js/client/js-shrine/src/common/container.js index 5ac258036..40824cb1f 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/src/common/container.js +++ b/shrine-webclient/src/main/js/client/js-shrine/src/common/container.js @@ -1,32 +1,36 @@ import * as _ from 'ramda'; export class Container { constructor(f) { this.__value = f; } static of(value) { return new Container(function() { return value; }); } get value() { return this.__value(); } map(f) { return this.hasNothing() ? Container.of(null) : Container.of(f(this.value)); } join() { return this.hasNothing()? Container.of(null) : this.value; } chain(f) { return this.map(f).join(); } hasNothing() { return this.value === null || this.value === undefined; } + + ap(otherContainer) { + otherContainer.map(this.value); + } } \ No newline at end of file diff --git a/shrine-webclient/src/main/js/client/js-shrine/src/common/i2b2.pub-sub.js b/shrine-webclient/src/main/js/client/js-shrine/src/common/i2b2.pub-sub.js new file mode 100644 index 000000000..3f9847351 --- /dev/null +++ b/shrine-webclient/src/main/js/client/js-shrine/src/common/i2b2.pub-sub.js @@ -0,0 +1,15 @@ +import { inject } from 'aurelia-framework'; +import { I2B2Service } from './i2b2.service'; +import { TabsModel } from './tabs.model'; + +@inject(I2B2Service, TabsModel) +export class I2B2PubSub { + constructor(i2b2Svc, tabs) { + this.listen = () => { + const setVertStyle = (a, b) => b.find(e => e.action === 'ADD') ? tabs.setMax() : tabs.setMin(); + i2b2Svc.onResize(setVertStyle); + } + } +} + + diff --git a/shrine-webclient/src/main/js/client/js-shrine/src/common/tabs.model.js b/shrine-webclient/src/main/js/client/js-shrine/src/common/tabs.model.js new file mode 100644 index 000000000..954f4b697 --- /dev/null +++ b/shrine-webclient/src/main/js/client/js-shrine/src/common/tabs.model.js @@ -0,0 +1,17 @@ +export class TabsModel{ + + constructor() { + let mode = TabsModel.min; + TabsModel.prototype.setMax = () => mode = TabsModel.full; + TabsModel.prototype.setMin = () => mode = TabsModel.min; + TabsModel.prototype.mode = () => mode; + } + + static get full() { + return 'v-full'; + } + + static get min() { + return 'v-min'; + } +} \ No newline at end of file diff --git a/shrine-webclient/src/main/js/client/js-shrine/src/main.js b/shrine-webclient/src/main/js/client/js-shrine/src/main.js index 761d574e0..dfcb99739 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/src/main.js +++ b/shrine-webclient/src/main/js/client/js-shrine/src/main.js @@ -1,8 +1,9 @@ export function configure(aurelia) { aurelia.use .standardConfiguration() .developmentLogging(); aurelia.start() .then(() => aurelia.setRoot('shell')); -} \ No newline at end of file +} + diff --git a/shrine-webclient/src/main/js/client/js-shrine/src/shell.js b/shrine-webclient/src/main/js/client/js-shrine/src/shell.js index caa10a1aa..806f141d5 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/src/shell.js +++ b/shrine-webclient/src/main/js/client/js-shrine/src/shell.js @@ -1,12 +1,20 @@ +import {inject} from 'aurelia-framework'; +import {I2B2PubSub} from 'common/i2b2.pub-sub'; +@inject(I2B2PubSub) export class Shell { + + constructor(i2b2PubSub) { + i2b2PubSub.listen(); + //todo: listen for i2b2 get previous queries here. + } configureRouter(config, router) { config.title = 'SHRINE Webclient Plugin'; config.map([ {route: 'mailto', moduleId: 'views/mailto/mailto'}, {route: ['', 'query-viewer'], moduleId: 'views/query-viewer/query-viewer'} ]); this.router = router; } } diff --git a/shrine-webclient/src/main/js/client/js-shrine/src/views/mailto/mailto.js b/shrine-webclient/src/main/js/client/js-shrine/src/views/mailto/mailto.js index ea0e58e15..643b1c040 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/src/views/mailto/mailto.js +++ b/shrine-webclient/src/main/js/client/js-shrine/src/views/mailto/mailto.js @@ -1,20 +1,21 @@ import {inject} from 'aurelia-framework'; import {MailToService} from 'views/mailto/mailto.service'; import {MailConfig} from 'views/mailto/mailto.config'; @inject(MailToService, MailConfig) export class MailTo { constructor(service, config) { this.service = service; this.config = config; } openEmail () { this.service.fetchStewardEmail() .then(email => { window.top.location = `mailto:${email}?subject=${this.config.subject}&body=${this.config.body}`; }); } } + diff --git a/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/loading-bar/row-loader.html b/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/loading-bar/row-loader.html new file mode 100644 index 000000000..e69de29bb diff --git a/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.config.js b/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.config.js index 968aadbe5..27a023f73 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.config.js +++ b/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.config.js @@ -1,4 +1,4 @@ export const QueryViewerConfig = { maxNodesPerScreen : 10, - maxQueriesPerScroll: 100 + maxQueriesPerScroll: 40 }; \ No newline at end of file diff --git a/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.html b/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.html index 01ed34b1b..5517ef0ce 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.html +++ b/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.html @@ -1,63 +1,69 @@ \ No newline at end of file diff --git a/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.js b/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.js index e27053bb2..dc47fe354 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.js +++ b/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.js @@ -1,76 +1,85 @@ import { inject, computedFrom } from 'aurelia-framework'; import { QueryViewerService } from 'views/query-viewer/query-viewer.service'; import { I2B2Service } from 'common/i2b2.service.js'; -import { QueryViewerModel } from './query-viewer.model'; +import {TabsModel} from 'common/tabs.model'; +import {QueryViewerModel } from './query-viewer.model'; import {ScrollService} from './scroll.service'; import {QueryViewerConfig} from './query-viewer.config'; -@inject(QueryViewerService, I2B2Service, QueryViewerModel) +@inject(QueryViewerService, I2B2Service, QueryViewerModel, TabsModel) export class QueryViewer { - constructor(service, i2b2Svc, model) { + constructor(service, i2b2Svc, model, tabs) { // -- init -- // this.screenIndex = 0; this.showCircles = false; this.showLoader = true; this.runningQuery = null; this.service = service; - this.vertStyle = 'v-full'; + this.vertStyle = tabs.mode(); this.scrollRatio = 0; + this.queriesToLoad = model.moreToLoad; + this.loadingInfiniteScroll = false; // -- fetch queries -- // const parseResultToScreens = result => { model.totalQueries = result.rowCount; model.loadedCount = result.queryResults.length; + this.queriesToLoad = model.moreToLoad; return this.service.getScreens(result.adapters, result.queryResults); } const setVM = screens => { this.showLoader = false; this.runningQuery = null; this.screens = screens; this.showCircles = this.screens.length > 1; model.screens = screens; model.processing = false; + this.loadingInfiniteScroll = model.processing; }; const refresh = () => this.service .fetchPreviousQueries(model.loadedCount + QueryViewerConfig.maxQueriesPerScroll) .then(parseResultToScreens) .then(setVM) .catch(error => console.log(error)); - const addQuery = (event, data) => this.runningQuery = data[0].name; + const addQuery = (event, data) => { + this.runningQuery = data[0].name; + } const init = () => (model.hasData) ? setVM(model.screens) : refresh(); - const loadMoreQueries = e => ScrollService.scrollRatio(e).value === 1 && model.moreToLoad && !model.processing; + + const loadMoreQueries = e => ScrollService.scrollRatio(e).value === 1 && model.moreToLoad && !model.processing; // -- scroll event -- // this.onScroll = e => { if(loadMoreQueries(e)){ refresh(); model.processing = true; + this.loadingInfiniteScroll = model.processing; } } // -- add i2b2 event listener -- // const isMinimized = e => e.action !== 'ADD'; const setVertStyle = (a, b) => this.vertStyle = b.find(isMinimized) ? 'v-min' : 'v-full'; this.errorDetail = i2b2Svc.errorDetail; i2b2Svc.onResize(setVertStyle); i2b2Svc.onHistory(refresh); i2b2Svc.onQuery(addQuery); init(); } getContext(event, result) { return { x: event.pageX, y: event.pageY, id: result.id, class: 'show' }; } } diff --git a/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.model.js b/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.model.js index 996a1d683..8631df9a8 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.model.js +++ b/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.model.js @@ -1,16 +1,15 @@ -//https://www.w3schools.com/js/js_function_closures.asp export class QueryViewerModel{ constructor() { this.processing = false; this.loadedCount = 0; this.totalQueries = 0; this.screens = []; } get moreToLoad() { return this.loadedCount < this.totalQueries; } get hasData() { return this.screens.length > 0; } } \ No newline at end of file diff --git a/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.scss b/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.scss index 84099e2f0..5359e2951 100644 --- a/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.scss +++ b/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.scss @@ -1,138 +1,137 @@ @import url(http://fonts.googleapis.com/css?family=Roboto:400,500,300,700); body{ overflow: hidden; background: rgba(255, 255, 255, 0.9); font-family: 'Roboto', sans-serif; } + + html, body, .box-wrapper{ width: 100%; height: 100%; margin: 0; } .box-wrapper{ display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; } .box-wrapper > .box { margin-top: 1%; width: 100%; transition: all .2s ease; .hideextra { white-space: nowrap; overflow: hidden; text-overflow:ellipsis; } section{ margin: 20 0 6 0; .v-full { height: 90vh; } - .v-full > table{ - padding-bottom: 10%; - } .v-min{ height: 100px; } .v-min > table { padding-bottom: 1%; } .tbl-content{ overflow: auto; margin-top: 0px; border: 1px solid rgba(98,108,146,0.3); } } table{ width:100%; table-layout: fixed; .tbl-header{ background-color: rgba(98,108,146, .3); div.tbl-header{ max-width: 5rem; } } tr{ background: white; cursor: pointer; &:hover{ background: rgba(98,108,146, .3) !important; } &:nth-child(odd) {background: rgba(98,108,146, .1)} } th{ padding: 2px 4px 4px 2px; text-align: left; font-weight: 500; font-size: .75rem; color: #626C92; text-transform: uppercase; border-bottom: solid 1px rgba(98,108,146,0.1); border-left: solid 1px rgba(98,108,146,0.1); } td{ transition: all .5s ease; padding: 2px; text-align: left; vertical-align: top; font-weight: 300; font-size: 12px; color: black; border-bottom: solid 1px rgba(98,108,146,0.1); border-left: solid 1px rgba(98,108,146,0.1); } } } .circle-pagination { position: absolute; z-index: 1000; list-style-type: none; margin: 0; top: -.3rem; li { border-radius: 50%; border: 2px solid #626C92; width: 12px; height: 12px; padding: 4px; margin: 6px; cursor: pointer; float: left; transition: all .2s ease; &.active, &:hover{ background: #626C92; width: 14px; height:14px; } &.active div, & div:hover{ color:white; } div { font-size: .6rem; width: 24px; position: relative; left: -6px; top: 1px; color: #626C92; font-weight: 600; text-transform: capitalize; } } } \ No newline at end of file diff --git a/shrine-webclient/src/main/js/server/data/async-queries.js b/shrine-webclient/src/main/js/server/data/async-queries.js index 34c15891d..dd0306627 100644 --- a/shrine-webclient/src/main/js/server/data/async-queries.js +++ b/shrine-webclient/src/main/js/server/data/async-queries.js @@ -1,62 +1,70 @@ const institutions = require('./institutions').sort((a, b) => a.toLowerCase().localeCompare(b.toLowerCase())); module.exports = { getQueryResults: getQueryResults }; -function getQueryResults(numberOfResults = 100, numberOfInstitutions = 100) { - let queryResults = []; - const results = getInstutionResults(numberOfInstitutions); - for (let i = 0; i < numberOfResults; i++) { - let query = { - id: i, - name: 'Query' + i, - results: results - } - queryResults.push(query); +function getQueryResults (skip=0, numberOfQueries = 100, numberOfNodes = 100, rowCount = 500){ + const length = numberOfNodes < institutions.length ? numberOfNodes: institutions.length; + const queryResults = []; + const adapters = institutions.slice(0, length); + for(let i =0; i < numberOfQueries; i ++) { + queryResults.push({ + "query": { + "expression": "Term(\\\\SHRINE\\SHRINE\\Demographics\\Gender\\Female\\)", + "queryName": `${i} Female@19:46:33`, + "deleted": false, + "changeDate": 1490571996396, + "userName": "ij22", + "networkId": (2226563841174084000 + i), + "queryXml": "SHRINE180000i2b2demoij22SessionKey:Gv6xaK4AQNjQipmypc7p22265638411740849533medication only_27th marchPATIENT_AGE_COUNT_XMLtrueAge patient breakdownCATNUM4PATIENT_COUNT_XMLfalseNumber of patientsCATNUMPATIENT_GENDER_COUNT_XMLtrueGender patient breakdownCATNUMPATIENT_RACE_COUNT_XMLtrueRace patient breakdownCATNUMPATIENT_VITALSTATUS_COUNT_XMLtrueVital Status patient breakdownCATNUMFemale@19:46:33\\\\SHRINE\\SHRINE\\Demographics\\Gender\\Female\\", + "dateCreated": 1490571996395, + "userDomain": "i2b2demo" + }, + "adaptersToResults": getInstutionResults(adapters) + }); } return { - 'queries': queryResults + "adapters": adapters, + "queryResults": queryResults, + "flags": {}, + "rowCount": rowCount }; } -function getInstutionResults(numberOfInstitutions = 100, resultBase = 10000000) { - const length = numberOfInstitutions < institutions.length ? numberOfInstitutions : institutions.length; - const resultSet = []; - for (let i = 0; i < length; i++) { - const institution = institutions[i]; - const result = resultBase + i; - - resultSet.push(getInstitutionResult( - institution, resultBase, i, - ind => ind % 9 === 0, - ind => ind % 4 === 0)); - } - return resultSet; +const getInstutionResults = (adapters) => { + const adaptersToResults = []; + const status = i => i % 7 === 0? 'ERROR' : 'FINISHED'; + adapters.forEach((e, i) => { + adaptersToResults.push({ + "startDate": 1490984964085, + "count": i, + "networkQueryId": (7768019175359370000 + i), + "statusMessage": status(i), + "changeDate": 1490984965845, + "instanceId": (1000 + i), + "resultId": (2000 + i), + "status": status(i), + "endDate": 1490984964917, + "adapterNode": e, + "resultType": { + "isBreakdown": false, + "name": "PATIENT_COUNT_XML", + "id": 4, + "i2b2Options": { + "description": "Number of patients", + "displayType": "CATNUM" + } + } + }); + + }); + + return adaptersToResults; } -function getInstitutionResult(institution, resultBase, index, isErrorFn, isPendingFn) { - - let result = { - node: institution, - result: resultBase + index - }; - - if (isErrorFn(index)) { - result.result = 'ERROR'; - } - - else if (isPendingFn(index)) { - result.result = 'PENDING'; - } - - console.log(result); - - return result; -} - diff --git a/shrine-webclient/src/main/js/server/data/curl-async-queries.js b/shrine-webclient/src/main/js/server/data/curl-async-queries.js index 1abec277b..436b8636c 100644 --- a/shrine-webclient/src/main/js/server/data/curl-async-queries.js +++ b/shrine-webclient/src/main/js/server/data/curl-async-queries.js @@ -1,415 +1,414 @@ module.exports = { "adapters": [ "SHRINE QA Hub", "SHRINE QA Node 2", "SHRINE QA Node 3", + "SHRINE QA Node 4", + "SHRINE QA Node 5", + "SHRINE QA Node 6", + "SHRINE QA Node 7", + "SHRINE QA Node 8", + "SHRINE QA Node 9", + "SHRINE QA Node 10", + "SHRINE QA Node 11", "shrine-qa1", "shrine-qa2", "shrine-qa3", "shrine-qa3", "shrine-qa3", "shrine-qa3", "shrine-qa3", "shrine-qa3", "shrine-qa3", "shrine-qa3", "shrine-qa3", "shrine-qa3", "shrine-qa3", "shrine-qa3" ], "queryResults": [ { "adaptersToResults": [ { "startDate": 1490984964085, "count": -1, "networkQueryId": 7768019175359373000, "statusMessage": "ERROR", "changeDate": 1490984965845, "instanceId": 1899, "resultId": 2181, "status": "ERROR", - "resultType": { - "isBreakdown": false, - "name": "PATIENT_COUNT_XML", - "id": 4, - "i2b2Options": { - "description": "Number of patients", - "displayType": "CATNUM" - } - }, "endDate": 1490984964917, "adapterNode": "shrine-qa3" }, { "startDate": 1490984962460, "count": -1, "networkQueryId": 7768019175359373000, "statusMessage": "ERROR", "changeDate": 1490984965908, "instanceId": 875, "resultId": 1072, "status": "ERROR", "resultType": { "isBreakdown": false, "name": "PATIENT_COUNT_XML", "id": 4, "i2b2Options": { "description": "Number of patients", "displayType": "CATNUM" } }, "endDate": 1490984963403, "adapterNode": "shrine-qa2" }, { "startDate": 1490984962368, "count": -1, "networkQueryId": 7768019175359373000, "statusMessage": "ERROR", "changeDate": 1490984965923, "instanceId": 1133, "resultId": 1330, "status": "ERROR", "resultType": { "isBreakdown": false, "name": "PATIENT_COUNT_XML", "id": 4, "i2b2Options": { "description": "Number of patients", "displayType": "CATNUM" } }, "endDate": 1490984963324, "adapterNode": "shrine-qa1" } ], "query": { "expression": "Constrained(Term(\\\\SHRINE\\SHRINE\\Diagnoses\\Certain conditions originating in the perinatal period (760-779.99)\\),Some(Modifiers(Admit Diagnosis,\\SHRINE\\Diagnoses\\Certain conditions originating in the perinatal period (760-779.99)\\%,\\\\SHRINE\\Admit Diagnosis\\)),None)", "queryName": "Admit Diagnosis@14:29:22", "deleted": false, "changeDate": 1490984963326, "userName": "ij22", "networkId": 7768019175359373000, "queryXml": "SHRINE180000i2b2demoij22SessionKey:U9v3LeZcEkbdTCfWLQi777680191753593728863medication only_27th march4PATIENT_COUNT_XMLfalseNumber of patientsCATNUMAdmit Diagnosis@14:29:22\\\\SHRINE\\SHRINE\\Diagnoses\\Certain conditions originating in the perinatal period (760-779.99)\\Admit Diagnosis\\SHRINE\\Diagnoses\\Certain conditions originating in the perinatal period (760-779.99)\\%\\\\SHRINE\\Admit Diagnosis\\", "dateCreated": 1490984963326, "userDomain": "i2b2demo" } }, { "adaptersToResults": [ { "startDate": 1490571995243, "count": 60, "networkQueryId": 2226563841174084900, "statusMessage": "ERROR", "changeDate": 1490572000244, "instanceId": 832, "resultId": 1018, "status": "FINISHED", "resultType": { "isBreakdown": false, "name": "PATIENT_COUNT_XML", "id": 4, "i2b2Options": { "description": "Number of patients", "displayType": "CATNUM" } }, "endDate": 1490571996337, "adapterNode": "SHRINE QA Node 2" }, { "startDate": 1490571995232, "count": 50, "networkQueryId": 2226563841174084900, "statusMessage": "FINISHED", "changeDate": 1490572000263, "instanceId": 1058, "resultId": 1244, "status": "FINISHED", "resultType": { "isBreakdown": false, "name": "PATIENT_COUNT_XML", "id": 4, "i2b2Options": { "description": "Number of patients", "displayType": "CATNUM" } }, "endDate": 1490571996293, "adapterNode": "SHRINE QA Hub" }, { "startDate": 1490571997183, "count": 60, "networkQueryId": 2226563841174084900, "statusMessage": "FINISHED", "changeDate": 1490572000275, "instanceId": 1856, "resultId": 2127, "status": "FINISHED", "resultType": { "isBreakdown": false, "name": "PATIENT_COUNT_XML", "id": 4, "i2b2Options": { "description": "Number of patients", "displayType": "CATNUM" } }, "endDate": 1490571998202, "adapterNode": "SHRINE QA Node 3" } ], "query": { "expression": "Term(\\\\SHRINE\\SHRINE\\Demographics\\Gender\\Female\\)", "queryName": "Female@19:46:33", "deleted": false, "changeDate": 1490571996396, "userName": "ij22", "networkId": 2226563841174084900, "queryXml": "SHRINE180000i2b2demoij22SessionKey:Gv6xaK4AQNjQipmypc7p22265638411740849533medication only_27th marchPATIENT_AGE_COUNT_XMLtrueAge patient breakdownCATNUM4PATIENT_COUNT_XMLfalseNumber of patientsCATNUMPATIENT_GENDER_COUNT_XMLtrueGender patient breakdownCATNUMPATIENT_RACE_COUNT_XMLtrueRace patient breakdownCATNUMPATIENT_VITALSTATUS_COUNT_XMLtrueVital Status patient breakdownCATNUMFemale@19:46:33\\\\SHRINE\\SHRINE\\Demographics\\Gender\\Female\\", "dateCreated": 1490571996395, "userDomain": "i2b2demo" } }, { "adaptersToResults": [ { "startDate": 1490571983703, "count": -1, "networkQueryId": 6386518509045377000, "statusMessage": "FINISHED", "changeDate": 1490571987946, "instanceId": 831, "resultId": 1016, "status": "FINISHED", "resultType": { "isBreakdown": false, "name": "PATIENT_COUNT_XML", "id": 4, "i2b2Options": { "description": "Number of patients", "displayType": "CATNUM" } }, "endDate": 1490571985231, "adapterNode": "SHRINE QA Node 2" }, { "startDate": 1490571983939, "count": -1, "networkQueryId": 6386518509045377000, "statusMessage": "FINISHED", "changeDate": 1490571987953, "instanceId": 1057, "resultId": 1242, "status": "FINISHED", "resultType": { "isBreakdown": false, "name": "PATIENT_COUNT_XML", "id": 4, "i2b2Options": { "description": "Number of patients", "displayType": "CATNUM" } }, "endDate": 1490571985580, "adapterNode": "SHRINE QA Hub" }, { "startDate": 1490571985806, "count": -1, "networkQueryId": 6386518509045377000, "statusMessage": "FINISHED", "changeDate": 1490571987957, "instanceId": 1855, "resultId": 2125, "status": "FINISHED", "resultType": { "isBreakdown": false, "name": "PATIENT_COUNT_XML", "id": 4, "i2b2Options": { "description": "Number of patients", "displayType": "CATNUM" } }, "endDate": 1490571987400, "adapterNode": "SHRINE QA Node 3" } ], "query": { "expression": "Term(\\\\SHRINE\\SHRINE\\Demographics\\Age\\0-9 years old\\)", "queryName": "0-9 years old@19:46:24", "deleted": false, "changeDate": 1490571985154, "userName": "ij22", "networkId": 6386518509045377000, "queryXml": "SHRINE180000i2b2demoij22SessionKey:Gv6xaK4AQNjQipmypc7p63865185090453774103medication only_27th march4PATIENT_COUNT_XMLfalseNumber of patientsCATNUM0-9 years old@19:46:24\\\\SHRINE\\SHRINE\\Demographics\\Age\\0-9 years old\\", "dateCreated": 1490571985154, "userDomain": "i2b2demo" } }, { "adaptersToResults": [ { "startDate": 1490571976696, "count": 40, "networkQueryId": 2400531532595122000, "statusMessage": "FINISHED", "changeDate": 1490571979929, "instanceId": 830, "resultId": 1015, "status": "FINISHED", "resultType": { "isBreakdown": false, "name": "PATIENT_COUNT_XML", "id": 4, "i2b2Options": { "description": "Number of patients", "displayType": "CATNUM" } }, "endDate": 1490571977377, "adapterNode": "SHRINE QA Node 2" }, { "startDate": 1490571976829, "count": 55, "networkQueryId": 2400531532595122000, "statusMessage": "FINISHED", "changeDate": 1490571979935, "instanceId": 1056, "resultId": 1241, "status": "FINISHED", "resultType": { "isBreakdown": false, "name": "PATIENT_COUNT_XML", "id": 4, "i2b2Options": { "description": "Number of patients", "displayType": "CATNUM" } }, "endDate": 1490571977623, "adapterNode": "SHRINE QA Hub" }, { "startDate": 1490571978660, "count": 40, "networkQueryId": 2400531532595122000, "statusMessage": "ERROR", "changeDate": 1490571979942, "instanceId": 1854, "resultId": 2124, "status": "ERROR", "resultType": { "isBreakdown": false, "name": "PATIENT_COUNT_XML", "id": 4, "i2b2Options": { "description": "Number of patients", "displayType": "CATNUM" } }, "endDate": 1490571979396, "adapterNode": "SHRINE QA Node 3" } ], "query": { "expression": "Term(\\\\SHRINE\\SHRINE\\Demographics\\Gender\\Female\\)", "queryName": "Female@19:46:17", "deleted": false, "changeDate": 1490571978065, "userName": "ij22", "networkId": 2400531532595122000, "queryXml": "SHRINE180000i2b2demoij22SessionKey:Gv6xaK4AQNjQipmypc7p24005315325951223363medication only_27th march4PATIENT_COUNT_XMLfalseNumber of patientsCATNUMFemale@19:46:17\\\\SHRINE\\SHRINE\\Demographics\\Gender\\Female\\", "dateCreated": 1490571978064, "userDomain": "i2b2demo" } }, { "adaptersToResults": [ { "startDate": 1490571965504, "count": -1, "networkQueryId": 1813286953364395500, "statusMessage": "ERROR", "changeDate": 1490571967830, "instanceId": 1853, "resultId": 2123, "status": "ERROR", "resultType": { "isBreakdown": false, "name": "PATIENT_COUNT_XML", "id": 4, "i2b2Options": { "description": "Number of patients", "displayType": "CATNUM" } }, "endDate": 1490571966969, "adapterNode": "SHRINE QA Node 3" }, { "startDate": 1490571963634, "count": -1, "networkQueryId": 1813286953364395500, "statusMessage": "ERROR", "changeDate": 1490571967857, "instanceId": 829, "resultId": 1014, "status": "ERROR", "resultType": { "isBreakdown": false, "name": "PATIENT_COUNT_XML", "id": 4, "i2b2Options": { "description": "Number of patients", "displayType": "CATNUM" } }, "endDate": 1490571965423, "adapterNode": "SHRINE QA Node 2" }, { "startDate": 1490571963687, "count": -1, "networkQueryId": 1813286953364395500, "statusMessage": "ERROR", "changeDate": 1490571967872, "instanceId": 1055, "resultId": 1240, "status": "ERROR", "resultType": { "isBreakdown": false, "name": "PATIENT_COUNT_XML", "id": 4, "i2b2Options": { "description": "Number of patients", "displayType": "CATNUM" } }, "endDate": 1490571965339, "adapterNode": "SHRINE QA Hub" } ], "query": { "expression": "Term(\\\\SHRINE\\SHRINE\\Demographics\\Age\\0-9 years old\\)", "queryName": "0-9 years old@19:46:03", "deleted": false, "changeDate": 1490571964673, "userName": "ij22", "networkId": 1813286953364395500, "queryXml": "SHRINE180000i2b2demoij22SessionKey:Gv6xaK4AQNjQipmypc7p1813286953364395437226th march 20174PATIENT_COUNT_XMLfalseNumber of patientsCATNUM0-9 years old@19:46:03\\\\SHRINE\\SHRINE\\Demographics\\Age\\0-9 years old\\", "dateCreated": 1490571964672, "userDomain": "i2b2demo" } } ], "flags": {} } \ No newline at end of file diff --git a/shrine-webclient/src/main/js/server/pm-mock.js b/shrine-webclient/src/main/js/server/pm-mock.js index 0d3c4884b..c2ee6160e 100644 --- a/shrine-webclient/src/main/js/server/pm-mock.js +++ b/shrine-webclient/src/main/js/server/pm-mock.js @@ -1,93 +1,98 @@ /* This is a first stab at a i2b2 pm-mock @todo: refactor/cleanup this module. */ var express = require('express'); var cors = require('cors'); var bodyParser = require('body-parser'); require('body-parser-xml')(bodyParser); var app = express(); var bodyParser = require('body-parser'); var port = process.env.PORT || 6443; var router = express.Router(); var fs = require('fs'); var isAuthorized = false; function start(dir) { app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); app.use(bodyParser.xml({ limit: '1GB', // Reject payload bigger than 1 MB xmlParseOptions: { normalize: true, // Trim whitespace inside text nodes normalizeTags: true, // Transform tags to lowercase explicitArray: false // Only put nodes in array if >1 } })); app.use(cors()); app.use('/', router); app.listen(port); console.log('I2B2SERVER Mock Server started on port: ' + port); // -- routes --// router.post('/shrine-proxy/request', function (req, res) { var requestType = parseRequest(req); var fileName = getFilename(requestType); var xml = fs.readFileSync('./' + dir+ '/i2b2-xml/' + fileName); res.header('Content-Type', 'text/xml').send(xml); }); router.get('/shrine-metadata/data', function(req, res) { res.json('steward@steward.com'); }); router.get('/shrine-metadata/qep/queryResults', (req, res) => { - const result = require('./data/curl-async-queries'); + //todo: cleanup. + const service = require('./data/async-queries'); + const url = require('url'); + const query = url.parse(req.url, true).query; + console.log(query); + const result = service.getQueryResults(query.skip, query.limit); res.json(result); }) } /* Any request with an XML payload will be parsed and a JavaScript requestect produced on req.body corresponding to the request payload. This is messy refactor. */ function parseRequest(request) { request = request.body; var requestTypes = ['i2b2:request', 'ns2:request', 'ns3:request', 'ns6:request']; var requestType = requestTypes.find(t => request[t] !== undefined); request = (request[requestType] && request[requestType].message_body) ? request[requestType].message_body : null; return parseBodyRequest(request); } function parseBodyRequest(request) { var bodyTypes = ['pm:get_user_configuration', 'ns4:get_categories', 'ns4:get_schemes', 'ns7:sheriff_header', 'ns4:psmheader']; var bodyType = bodyTypes.find(t => request[t] !== undefined); if (bodyType == 'ns4:psmheader') { bodyType = request['ns4:psmheader'].request_type; } return bodyType; } function getFilename(value) { let fileMap = { 'pm:get_user_configuration': 'getUserAuth.xml', 'ns4:get_categories': 'GetCategories.xml', 'ns4:get_schemes': 'GetSchemes.xml', 'ns7:sheriff_header': 'getUserAuth.xml', 'CRC_QRY_getResultType': 'getQRY_getResultType.xml', 'CRC_QRY_getQueryMasterList_fromUserId': 'getQueryMasterList_fromUserId.xml' }; return fileMap[value]; } module.exports = {start: start}; \ No newline at end of file diff --git a/tools/adapter-queries-to-qep/pom.xml b/tools/adapter-queries-to-qep/pom.xml index c12898756..30a9c5ea4 100644 --- a/tools/adapter-queries-to-qep/pom.xml +++ b/tools/adapter-queries-to-qep/pom.xml @@ -1,61 +1,60 @@ 4.0.0 SHRINE Copy Adapter Queries to QEP adapter-queries-to-qep jar net.shrine shrine-tools - 1.23.4.1-SNAPSHOT - - + 1.23.4.1-SNAPSHOT + net.shrine shrine-data-commons ${project.version} com.typesafe config net.shrine shrine-adapter-service ${project.version} net.shrine shrine-qep ${project.version} org.slf4j slf4j-log4j12 ${slf4j-version} runtime src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin maven-assembly-plugin adapter-queries-to-qep-${project.version} false diff --git a/tools/batch-querier/pom.xml b/tools/batch-querier/pom.xml index d29fd7a3d..911bdaf17 100644 --- a/tools/batch-querier/pom.xml +++ b/tools/batch-querier/pom.xml @@ -1,90 +1,89 @@ 4.0.0 SHRINE Query Automation Utility shrine-batch-querier-utility jar net.shrine shrine-tools - 1.23.4.1-SNAPSHOT - + 1.23.4.1-SNAPSHOT net.shrine shrine-crypto ${project.version} net.shrine shrine-client ${project.version} net.shrine shrine-utility-commons ${project.version} net.shrine shrine-utility-commons ${project.version} test-jar test net.shrine shrine-test-commons ${project.version} test-jar test org.rogach scallop_${scala-major-version} ${scallop-version} net.sf.opencsv opencsv com.typesafe config src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin maven-assembly-plugin shrine-batch-querier-${project.version} false diff --git a/tools/many-qep-queries/pom.xml b/tools/many-qep-queries/pom.xml index 57d071be8..cde5fbf85 100644 --- a/tools/many-qep-queries/pom.xml +++ b/tools/many-qep-queries/pom.xml @@ -1,52 +1,54 @@ 4.0.0 SHRINE Create Many Queries in the QEP database many-qep-queries jar net.shrine shrine-tools + 1.23.4.1-SNAPSHOT + net.shrine shrine-data-commons ${project.version} com.typesafe config net.shrine shrine-qep ${project.version} org.slf4j slf4j-log4j12 ${slf4j-version} runtime src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin maven-assembly-plugin many-qep-queries-${project.version} false diff --git a/tools/mapping-automation/pom.xml b/tools/mapping-automation/pom.xml index 582bfbd71..62016eafc 100644 --- a/tools/mapping-automation/pom.xml +++ b/tools/mapping-automation/pom.xml @@ -1,89 +1,93 @@ 4.0.0 SHRINE Term Mapping Automation Utilities shrine-mapping-automation jar net.shrine shrine-tools + 1.23.4.1-SNAPSHOT + + + net.shrine shrine-test-commons ${project.version} test-jar test net.shrine shrine-config ${project.version} net.shrine shrine-ont-support ${project.version} net.shrine shrine-utility-commons ${project.version} net.shrine shrine-utility-commons ${project.version} test-jar test org.rogach scallop_${scala-major-version} ${scallop-version} net.sf.opencsv opencsv com.typesafe config src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin maven-assembly-plugin shrine-mapping-tools-${project.version} false diff --git a/tools/monitor/pom.xml b/tools/monitor/pom.xml index 9121d5a1f..5ff3ae749 100644 --- a/tools/monitor/pom.xml +++ b/tools/monitor/pom.xml @@ -1,94 +1,90 @@ 4.0.0 SHRINE Monitor Utilities shrine-monitor-utilities jar net.shrine shrine-tools - 1.23.4.1-SNAPSHOT - - - ant ant-javamail 1.6.5 net.shrine shrine-broadcaster-aggregator ${project.version} net.shrine shrine-config ${project.version} org.codehaus.groovy.modules.http-builder http-builder 0.5.1 org.codehaus.groovy groovy org.codehaus.gmaven.runtime gmaven-runtime-1.7 1.3 mysql mysql-connector-java com.h2database h2 test net.sf.opencsv opencsv org.apache.commons commons-email 1.2 org.codehaus.gmaven gmaven-plugin maven-assembly-plugin shrine-monitor-${project.version}.zip false diff --git a/tools/pom.xml b/tools/pom.xml index 0238fbed0..b1ef71293 100644 --- a/tools/pom.xml +++ b/tools/pom.xml @@ -1,85 +1,83 @@ 4.0.0 SHRINE Tools shrine-tools pom net.shrine shrine-base 1.23.4.1-SNAPSHOT - - 1.5 2.4 monitor utility-commons scanner batch-querier adapter-queries-to-qep many-qep-queries mapping-automation net.shrine shrine-protocol ${project.version} org.codehaus.gmaven gmaven-plugin ${gmaven-plugin-version} compile testCompile true true true maven-assembly-plugin ${assembly-plugin-version} assembly package single src/main/assembly/assembly.xml diff --git a/tools/scanner/pom.xml b/tools/scanner/pom.xml index 88a9ff2ce..88177cf66 100644 --- a/tools/scanner/pom.xml +++ b/tools/scanner/pom.xml @@ -1,107 +1,105 @@ 4.0.0 SHRINE Scanner Utility shrine-scanner-utility jar net.shrine shrine-tools 1.23.4.1-SNAPSHOT - - net.shrine shrine-test-commons ${project.version} test-jar test net.shrine shrine-ont-support ${project.version} net.shrine shrine-hms-core ${project.version} net.shrine shrine-config ${project.version} net.shrine shrine-crypto ${project.version} net.shrine shrine-utility-commons ${project.version} net.shrine shrine-utility-commons ${project.version} test-jar test org.rogach scallop_${scala-major-version} ${scallop-version} net.sf.opencsv opencsv com.typesafe config net.shrine shrine-broadcaster-aggregator ${project.version} src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin maven-assembly-plugin shrine-scanner-${project.version} false diff --git a/tools/utility-commons/pom.xml b/tools/utility-commons/pom.xml index f7d835e0f..5085a9269 100644 --- a/tools/utility-commons/pom.xml +++ b/tools/utility-commons/pom.xml @@ -1,68 +1,66 @@ 4.0.0 SHRINE Common Classes for Utilities shrine-utility-commons jar net.shrine shrine-tools 1.23.4.1-SNAPSHOT - - - + net.shrine shrine-test-commons ${project.version} test-jar test org.rogach scallop_${scala-major-version} ${scallop-version} net.sf.opencsv opencsv com.typesafe config src/main/scala src/test/scala net.alchim31.maven scala-maven-plugin org.apache.maven.plugins maven-jar-plugin test-jar