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 5c6a57033..fe606f379 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 @@ .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,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; } +@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; } } - -@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; } 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 5295bba63..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,694 +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" ] - }, - 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" - ] } }); \ 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 b91ec7728..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("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/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},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){return 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)};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 +"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/shell.js.map b/shrine-webclient/src/main/js/client/js-shrine/dist/shell.js.map index 48122fd96..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":["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;AAEC,uBAAYE,UAAZ,EAAwB;AAAA;;AACtBA,qBAAWC,MAAX;AACD;;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 +{"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 13a696f4f..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,111 +1,117 @@ 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, 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, 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 = 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 8d734aa97..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","TabsModel","QueryViewerModel","ScrollService","QueryViewerConfig","QueryViewer","service","i2b2Svc","model","tabs","screenIndex","showCircles","showLoader","runningQuery","vertStyle","mode","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;;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;;AAGA,wBAAMC,uBAAuB,SAAvBA,oBAAuB,SAAU;AACnCT,8BAAMU,YAAN,GAAqBC,OAAOC,QAA5B;AACAZ,8BAAMa,WAAN,GAAoBF,OAAOG,YAAP,CAAoBC,MAAxC;AACA,+BAAO,MAAKjB,OAAL,CAAakB,UAAb,CAAwBL,OAAOM,QAA/B,EAAyCN,OAAOG,YAAhD,CAAP;AACH,qBAJD;AAKA,wBAAMI,QAAQ,SAARA,KAAQ,UAAW;AACrB,8BAAKd,UAAL,GAAkB,KAAlB;AACA,8BAAKC,YAAL,GAAoB,IAApB;AACA,8BAAKc,OAAL,GAAeA,OAAf;AACA,8BAAKhB,WAAL,GAAmB,MAAKgB,OAAL,CAAaJ,MAAb,GAAsB,CAAzC;AACAf,8BAAMmB,OAAN,GAAgBA,OAAhB;AACAnB,8BAAMoB,UAAN,GAAmB,KAAnB;AACH,qBAPD;;AASA,wBAAMC,UAAU,SAAVA,OAAU;AAAA,+BAAM,MAAKvB,OAAL,CACjBwB,oBADiB,CACItB,MAAMa,WAAN,GAAoBjB,kBAAkB2B,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,MAAK1B,YAAL,GAAoB0B,KAAK,CAAL,EAAQC,IAA7C;AAAA,qBAAjB;AACA,wBAAMC,OAAO,SAAPA,IAAO;AAAA,+BAAOjC,MAAMkC,OAAP,GAAkBhB,MAAMlB,MAAMmB,OAAZ,CAAlB,GAAyCE,SAA/C;AAAA,qBAAb;AACA,wBAAMc,kBAAkB,SAAlBA,eAAkB;AAAA,+BAAKxC,cAAca,WAAd,CAA0B4B,CAA1B,EAA6BC,KAA7B,KAAuC,CAAvC,IAA4CrC,MAAMsC,UAAlD,IAAgE,CAACtC,MAAMoB,UAA5E;AAAA,qBAAxB;;AAGD,yBAAKmB,QAAL,GAAgB,aAAK;AAChB,4BAAGJ,gBAAgBC,CAAhB,CAAH,EAAsB;AAClBf;AACArB,kCAAMoB,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,MAAKtC,SAAL,GAAiBsC,EAAEC,IAAF,CAAOL,WAAP,IAAsB,OAAtB,GAAgC,QAA3D;AAAA,qBAArB;AACA,yBAAKM,WAAL,GAAmB/C,QAAQ+C,WAA3B;AACA/C,4BAAQgD,QAAR,CAAiBL,YAAjB;AACA3C,4BAAQiD,SAAR,CAAkB3B,OAAlB;AACAtB,4BAAQkD,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/export/assets/css/styles.css b/shrine-webclient/src/main/js/client/js-shrine/export/assets/css/styles.css index 5c6a57033..fe606f379 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 @@ .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,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; } +@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; } } - -@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; } 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 5295bba63..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,694 +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" ] - }, - 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" - ] } }); \ 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 b91ec7728..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("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/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},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){return 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)};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 +"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/shell.js b/shrine-webclient/src/main/js/client/js-shrine/src/shell.js index e04dabc67..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,18 +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/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 6bef8c9e9..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 b29e6cb56..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,77 +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 {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, TabsModel) export class QueryViewer { constructor(service, i2b2Svc, model, tabs) { // -- init -- // this.screenIndex = 0; this.showCircles = false; this.showLoader = true; this.runningQuery = null; this.service = service; 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.scss b/shrine-webclient/src/main/js/client/js-shrine/src/views/query-viewer/query-viewer.scss index 84099e2f0..292ecb174 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,135 @@ @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 a259e2a56..ccb969e39 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,411 +1,402 @@ 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" ], "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