feat(user preferences) Add User Preferences & Theming to Standalone Viewer (closes #117). Update Standalone to Meteor 1.7

This commit is contained in:
Erik Ziegler 2018-07-04 17:40:03 +02:00
parent 7090b4f3e0
commit de7135f3b8
32 changed files with 337 additions and 250 deletions

View File

@ -63,5 +63,5 @@ aldeed:collection2
zuuk:stale-session
dangrossman:bootstrap-daterangepicker
johdirr:meteor-git-rev
u2622:persistent-session@0.4.4
cultofcoders:persistent-session@0.4.4
shell-server@0.3.0

View File

@ -27,6 +27,7 @@ clinical:fonts@1.1.6
clinical:hipaa-audit-log@2.4.2
clinical:hipaa-logger@1.3.0
clinical:theming@0.4.10
cultofcoders:persistent-session@0.4.5
dangrossman:bootstrap-daterangepicker@2.1.13
ddp@1.4.0
ddp-client@2.2.0
@ -137,7 +138,6 @@ templating-runtime@1.3.2
templating-tools@1.1.2
tracker@1.1.3
twbs:bootstrap@3.3.6
u2622:persistent-session@0.4.4
ui@1.0.13
underscore@1.0.10
url@1.1.0

View File

@ -12,19 +12,19 @@ Template.app.onCreated(() => {
action: OHIF.user.audit,
text: 'View Audit Log',
iconClasses: 'log',
iconSvgUse: 'packages/ohif_user-management/assets/user-menu-icons.svg#log',
iconSvgUse: 'packages/ohif_viewerbase/assets/icons.svg#log',
separatorAfter: true
}, {
action: () => OHIF.ui.showDialog('themeSelectorModal'),
text: 'Themes',
iconClasses: 'theme',
iconSvgUse: 'packages/ohif_user-management/assets/user-menu-icons.svg#theme',
iconSvgUse: 'packages/ohif_viewerbase/assets/icons.svg#theme',
separatorAfter: true
}, {
action: () => OHIF.ui.showDialog('serverInformationModal'),
text: 'Server Information',
iconClasses: 'server',
iconSvgUse: 'packages/ohif_user-management/assets/user-menu-icons.svg#server',
iconSvgUse: 'packages/ohif_viewerbase/assets/icons.svg#server',
separatorAfter: true
}, {
action: () => OHIF.ui.showDialog('userPreferencesDialog'),
@ -35,12 +35,12 @@ Template.app.onCreated(() => {
action: OHIF.user.changePassword,
text: 'Change Password',
iconClasses: 'password',
iconSvgUse: 'packages/ohif_user-management/assets/user-menu-icons.svg#password'
iconSvgUse: 'packages/ohif_viewerbase/assets/icons.svg#password'
}, {
action: OHIF.user.logout,
text: 'Logout',
iconClasses: 'logout',
iconSvgUse: 'packages/ohif_user-management/assets/user-menu-icons.svg#logout'
iconSvgUse: 'packages/ohif_viewerbase/assets/icons.svg#logout'
}]);
instance.autorun(() => {

View File

@ -1,18 +0,0 @@
<template name="userPreferencesDialog">
{{#dialogSimple (extend this class='themed' dialogClass='dialog-user-preferences modal-lg' title='User Preferences')}}
<ul class="nav nav-tabs">
<li role="presentation" class="{{tabClasses 'hotkeys'}}">
<a href="#" data-id="hotkeys">Keyboard Shortcuts</a>
</li>
<li role="presentation" class="{{tabClasses 'wwwc'}}">
<a href="#" data-id="wwwc">Window W/L</a>
</li>
</ul>
<div class="{{#unless eq instance.activeTab.get 'hotkeys'}}hidden{{/unless}}">
{{>hotkeysForm (extend contextName='viewer')}}
</div>
<div class="{{#unless eq instance.activeTab.get 'wwwc'}}hidden{{/unless}}">
{{>windowLevelPresetsForm}}
</div>
{{/dialogSimple}}
</template>

View File

@ -49,5 +49,5 @@ aldeed:simple-schema # Third party package to deal with schemas
aldeed:template-extension
gilbertwat:bootstrap3-daterangepicker
johdirr:meteor-git-rev
u2622:persistent-session@0.4.4
cultofcoders:persistent-session
shell-server@0.3.0

View File

@ -20,6 +20,7 @@ caching-compiler@1.1.9
caching-html-compiler@1.1.2
callback-hook@1.0.10
check@1.2.5
cultofcoders:persistent-session@0.4.5
dangrossman:bootstrap-daterangepicker@2.1.13
ddp@1.4.0
ddp-client@2.2.0
@ -120,7 +121,6 @@ templating-runtime@1.3.2
templating-tools@1.1.2
tracker@1.1.3
twbs:bootstrap@3.3.6
u2622:persistent-session@0.4.4
ui@1.0.13
underscore@1.0.10
url@1.1.0

View File

@ -13,6 +13,12 @@ Template.ohifViewer.onCreated(() => {
text: 'Server Information',
icon: 'fa fa-server fa-lg',
separatorAfter: true
}, {
action: () => OHIF.ui.showDialog('themeSelectorModal'),
text: 'Themes',
iconClasses: 'theme',
iconSvgUse: 'packages/ohif_viewerbase/assets/icons.svg#theme',
separatorAfter: false
}, {
action: () => OHIF.ui.showDialog('userPreferencesDialog'),
text: 'Preferences',

View File

@ -1,22 +0,0 @@
import { Template } from 'meteor/templating';
import { ReactiveVar } from 'meteor/reactive-var';
Template.userPreferencesDialog.onCreated(() => {
const instance = Template.instance();
instance.activeTab = new ReactiveVar('hotkeys');
});
Template.userPreferencesDialog.events({
'click .nav-tabs li a'(event, instance) {
const tabId = $(event.currentTarget).attr('data-id');
instance.activeTab.set(tabId);
}
});
Template.userPreferencesDialog.helpers({
tabClasses(tabId) {
const instance = Template.instance();
const activeTab = instance.activeTab.get();
return tabId === activeTab ? 'active' : '';
}
});

View File

@ -1,79 +0,0 @@
@require '{ohif:design}/app'
.dialog-user-preferences
.modal-body
overflow: hidden
.form-content
theme('border-bottom', '1px solid $uiBorderColor')
margin-bottom: 10px
margin-left: -15px
margin-right: -15px
max-height: 70vh
overflow-y: auto
padding: 15px
.popover
width: 300px
.nav-tabs
border-bottom: 0
margin-bottom: 3px
position: relative
z-index: 1
&>li
font-size: 14px
font-weight: normal
height: 40px
line-height: 40px
margin-bottom: 0
&>a
display: block
width: 100%
line-height: inherit
margin: 0
height: inherit
padding: 0 10px 0 10px
&:after
background-color: transparent
bottom: -3px
content: ' '
display: block
height: 3px
transition(background-color 0.3s ease)
width: 100%
&>a, &.active>a
&, &:hover, &:active, &:focus
theme('color', '$activeColor')
background-color: transparent
border: 0
&.active>a
font-weight: bold
&:after
theme('background-color', '$activeColor')
.form-themed
table
color: #fff
th, td
font-size: 14px
font-weight: 300
th
line-height: 60px
td
line-height: 20px
input[type=text]
font-weight: 300

View File

@ -32,7 +32,7 @@ $height = 25px
padding: 0 22px
position: relative
text-transform: uppercase
transition: transition($sidebarTransition)
transition($sidebarTransition)
z-index: 1
svg

View File

@ -76,3 +76,19 @@ label.wrapperLabel:not(.checkboxLabel)
&.select2-container--open span.select2-selection span.select2-selection__arrow
theme('background-color', '$uiGrayDark')
theme('color', '$textPrimaryColor')
.form-control
background-color: #FFFFFF
border: 0
border-radius(2px)
font-size: 14px
height: 30px
line-height: 16px
padding: 8px 9px 6px
&:focus
theme('box-shadow', '0 0 0 2px $activeColor !important')
.form-themed .form-control
theme('box-shadow', '0 0 0 1px $uiBorderColor')

View File

@ -1,8 +1,10 @@
@require '{ohif:design}/app'
@import '{ohif:design}/app'
html body
theme('background-color', '$primaryBackgroundColor')
font-family: 'Roboto', 'OpenSans', 'HelveticaNeue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif
-webkit-backface-visibility: hidden // Prevent Chrome from shifting parent elements on transform
font-family: Roboto
html body.stretch
height: 100%
@ -105,15 +107,62 @@ body .select2-container--default .select2-results>.select2-results__options
.modal-dialog
.modal-content
theme('background', '$primaryBackgroundColor')
theme('background-color', '$uiGrayDarker')
theme('border-color', '$uiBorderColor')
theme('color', '$textSecondaryColor')
border-radius(6px)
border: 0
.modal-header, .modal-footer
theme('border-color', '$uiBorderColor')
&:hover
.dialog-separator,
.dialog-separator-before,
.dialog-separator-after
position: relative
.dialog-separator:before,
.dialog-separator:after,
.dialog-separator-before:before,
.dialog-separator-after:after
background-color: #000000
box-shadow(-50px 0 0 #000000\, 50px 0 0 #000000)
content: ' '
display: block
height: 3px
left: 0
position: absolute
width: 100%
.dialog-separator:before,
.dialog-separator-before:before
top: -3px
.dialog-separator:after,
.dialog-separator-after:after
bottom: -3px
.modal-body
theme('color', '$textPrimaryColor')
padding: 16px 22px 25px
position: relative
.modal-header
border-bottom-width: 3px
border-bottom-style: solid
border-bottom-color: #000000
padding: 19px 22px 17px
position: relative
h4
theme('color', '$textSecondaryColor')
font-size: 20px
font-weight: 500
line-height: 24px
padding-right: 24px
.modal-footer
border-top: 0
.card-round
theme('background-color', '$uiGrayDark')
@ -199,3 +248,109 @@ body .select2-container--default .select2-results>.select2-results__options
.nowrap
white-space: nowrap
.themed
table
theme('color', '$textPrimaryColor')
th, td
font-size: 15px
font-weight: normal
th
line-height: 60px
td
line-height: 18px
.btn
border: 0
border-radius(4px)
font-size: 15px
font-weight: normal
height: 37px
line-height: 37px
padding: 0 12px
&.btn-primary, &.btn-secondary
color: #000000
&:hover, &:active, &:focus, &:focus:active
color: #000000
&.btn-primary, &.btn-secondary, &.btn-danger
transition(background-color 0.3s ease)
&.btn-primary
theme('background-color', '$activeColor')
&:hover, &:active, &:focus, &:focus:active
theme('background-color', '$activeColor', 0.8)
&.btn-secondary
theme('background-color', '$textSecondaryColor')
&:hover, &:active, &:focus, &:focus:active
theme('background-color', '$textSecondaryColor', 0.8)
&.btn-danger
theme('background-color', '$destructiveColor')
theme('color', '$textPrimaryColor')
&:hover, &:active, &:focus, &:focus:active
theme('color', '$textPrimaryColor')
theme('background-color', '$destructiveColor', 0.8)
&.active
box-shadow(inset 1px 1px 2px rgba(0, 0, 0, 0.5))
.wrapperLabel .wrapperText
theme('color', '$textPrimaryColor')
font-size: 14px
font-weight: bold
line-height: 16px
&:not(:empty)
margin-bottom: 13px
.nav-tabs
border-bottom: 0
margin-bottom: 3px
position: relative
z-index: 1
&>li
font-size: 14px
font-weight: normal
height: 40px
line-height: 40px
margin-bottom: 0
&>a
display: block
width: 100%
line-height: inherit
margin: 0
height: inherit
padding: 0 10px 0 10px
&:after
background-color: transparent
bottom: -3px
content: ' '
display: block
height: 3px
transition(background-color 0.3s ease)
width: 100%
&>a, &.active>a
&, &:hover, &:active, &:focus
theme('color', '$activeColor')
background-color: transparent
border: 0
&.active>a
font-weight: bold
&:after
theme('background-color', '$activeColor')

View File

@ -42,14 +42,14 @@ $height = 20px
theme('background-color', '$uiGrayDark')
theme('border', '2px solid $uiBorderColorDark')
theme('color', '$textSecondaryColor')
transition: transition($sidebarTransition)
transition($sidebarTransition)
border-radius: $height
&.active a
theme('background-color', '$activeColor')
theme('border-color', '$uiBorderColorActive')
theme('color', '$textColorActive')
transition: transition($sidebarTransition)
transition($sidebarTransition)
p
h2

View File

@ -19,7 +19,7 @@ Package.onUse(function(api) {
'reactive-var',
'session',
'iron:router',
'u2622:persistent-session'
'cultofcoders:persistent-session'
]);
// OHIF dependencies

View File

@ -1,6 +1,6 @@
<template name="themeSelectorModal">
{{#dialogForm (extend this
id='themeSelectorModal' dialogClass='modal-lg' confirmLabel='Apply theme'
id='themeSelectorModal' dialogClass='themed modal-lg' confirmLabel='Apply theme'
title='Themes' titleIcon='fa fa-sliders'
)}}
<ul class="theme-list text-center">

View File

@ -12,7 +12,7 @@ $ohifThemesCommon['tide'] = {
$uiGray: #263340
$uiGrayDark: #16202B
$uiGrayDarker: #151A1F
$uiGrayDarkest: #14191E
$uiGrayDarkest: #14202A
// Interface UI Colors
$defaultColor: #9CCEF9
@ -22,13 +22,14 @@ $ohifThemesCommon['tide'] = {
$uiBorderColorDark: #3C5D80
$uiBorderColorActive: #00a4d9
$primaryBackgroundColor: #000000
$boxBackgroundColor: #344a61
$boxBackgroundColor: #3E5975
// Text Colors
$textColorActive: #000000
$textPrimaryColor: #ffffff
$textSecondaryColor: #91B9CD
$largeNumbersColor: #6FBDE2
$textDisabledColor: #878787
// Other Colors
$imageSliderColor: #163239

View File

@ -1,26 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<symbol id="theme" viewBox="0 0 24 24">
<title>Theme</title>
<path d="M17.484 12c0.844 0 1.5-0.656 1.5-1.5s-0.656-1.5-1.5-1.5-1.5 0.656-1.5 1.5 0.656 1.5 1.5 1.5zM14.484 8.016c0.844 0 1.5-0.656 1.5-1.5s-0.656-1.5-1.5-1.5-1.5 0.656-1.5 1.5 0.656 1.5 1.5 1.5zM9.516 8.016c0.844 0 1.5-0.656 1.5-1.5s-0.656-1.5-1.5-1.5-1.5 0.656-1.5 1.5 0.656 1.5 1.5 1.5zM6.516 12c0.844 0 1.5-0.656 1.5-1.5s-0.656-1.5-1.5-1.5-1.5 0.656-1.5 1.5 0.656 1.5 1.5 1.5zM12 3c4.969 0 9 3.609 9 8.016 0 2.766-2.25 4.969-5.016 4.969h-1.734c-0.844 0-1.5 0.656-1.5 1.5 0 0.375 0.141 0.703 0.375 0.984s0.375 0.656 0.375 1.031c0 0.844-0.656 1.5-1.5 1.5-4.969 0-9-4.031-9-9s4.031-9 9-9z"></path>
</symbol>
<symbol id="log" viewBox="0 0 24 24">
<title>Log</title>
<path d="M9.516 14.016c2.484 0 4.5-2.016 4.5-4.5s-2.016-4.5-4.5-4.5-4.5 2.016-4.5 4.5 2.016 4.5 4.5 4.5zM15.516 14.016l4.969 4.969-1.5 1.5-4.969-4.969v-0.797l-0.281-0.281c-1.125 0.984-2.625 1.547-4.219 1.547-3.609 0-6.516-2.859-6.516-6.469s2.906-6.516 6.516-6.516 6.469 2.906 6.469 6.516c0 1.594-0.563 3.094-1.547 4.219l0.281 0.281h0.797z"></path>
</symbol>
<symbol id="server" viewBox="0 0 24 28">
<title>Server</title>
<path d="M12 12c4.703 0 9.422-0.844 12-2.656v2.656c0 2.203-5.375 4-12 4s-12-1.797-12-4v-2.656c2.578 1.813 7.297 2.656 12 2.656zM12 24c4.703 0 9.422-0.844 12-2.656v2.656c0 2.203-5.375 4-12 4s-12-1.797-12-4v-2.656c2.578 1.813 7.297 2.656 12 2.656zM12 18c4.703 0 9.422-0.844 12-2.656v2.656c0 2.203-5.375 4-12 4s-12-1.797-12-4v-2.656c2.578 1.813 7.297 2.656 12 2.656zM12 0c6.625 0 12 1.797 12 4v2c0 2.203-5.375 4-12 4s-12-1.797-12-4v-2c0-2.203 5.375-4 12-4z"></path>
</symbol>
<symbol id="study-list" viewBox="0 0 24 24">
<title>Study List</title>
<path d="M9 5.016h12v3.984h-12v-3.984zM9 18.984v-3.984h12v3.984h-12zM9 14.016v-4.031h12v4.031h-12zM3.984 9v-3.984h4.031v3.984h-4.031zM3.984 18.984v-3.984h4.031v3.984h-4.031zM3.984 14.016v-4.031h4.031v4.031h-4.031z"></path>
</symbol>
<symbol id="logout" viewBox="0 0 24 28">
<title>Logout</title>
<path d="M24 14c0 6.609-5.391 12-12 12s-12-5.391-12-12c0-3.797 1.75-7.297 4.797-9.578 0.891-0.672 2.141-0.5 2.797 0.391 0.672 0.875 0.484 2.141-0.391 2.797-2.031 1.531-3.203 3.859-3.203 6.391 0 4.406 3.594 8 8 8s8-3.594 8-8c0-2.531-1.172-4.859-3.203-6.391-0.875-0.656-1.062-1.922-0.391-2.797 0.656-0.891 1.922-1.062 2.797-0.391 3.047 2.281 4.797 5.781 4.797 9.578zM14 2v10c0 1.094-0.906 2-2 2s-2-0.906-2-2v-10c0-1.094 0.906-2 2-2s2 0.906 2 2z"></path>
</symbol>
<symbol id="password" viewBox="0 0 18 28">
<title>Password</title>
<path d="M5 12h8v-3c0-2.203-1.797-4-4-4s-4 1.797-4 4v3zM18 13.5v9c0 0.828-0.672 1.5-1.5 1.5h-15c-0.828 0-1.5-0.672-1.5-1.5v-9c0-0.828 0.672-1.5 1.5-1.5h0.5v-3c0-3.844 3.156-7 7-7s7 3.156 7 7v3h0.5c0.828 0 1.5 0.672 1.5 1.5z"></path>
</symbol>
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -26,9 +26,6 @@ Package.onUse(function(api) {
api.use('ohif:user');
api.use('ohif:study-list');
// Load icons
api.addAssets('assets/user-menu-icons.svg', 'client');
api.addFiles('both/collections.js', ['client', 'server']);
//api.addFiles('both/schema/reviewers.js', ['client', 'server']);

View File

@ -210,4 +210,28 @@
<path d="m26.695 2.992c-1.014-1.016-2.362-1.575-3.797-1.575 -0.001 0-0.001 0-0.002 0 -1.435 0-2.784 0.56-3.798 1.573l-7.551 7.553c-1.017 1.016-1.576 2.363-1.576 3.799 0 1.434 0.558 2.784 1.574 3.797l2.297 2.297 2.01-2.009 -2.298-2.297c-0.477-0.477-0.741-1.113-0.741-1.788 0-0.676 0.265-1.311 0.742-1.788l7.553-7.555c0.477-0.477 1.111-0.74 1.789-0.74 0 0 0 0 0.001 0 0.674 0 1.309 0.264 1.786 0.74l2.297 2.299c0.477 0.477 0.74 1.111 0.74 1.788 0 0.674-0.264 1.311-0.74 1.788l-3.776 3.777 2.009 2.009 3.776-3.777c1.014-1.013 1.573-2.363 1.574-3.797 0-1.435-0.56-2.784-1.574-3.797l-2.295-2.296z"/>
</g>
</symbol>
<symbol id="theme" viewBox="0 0 24 24">
<title>Theme</title>
<path d="M17.484 12c0.844 0 1.5-0.656 1.5-1.5s-0.656-1.5-1.5-1.5-1.5 0.656-1.5 1.5 0.656 1.5 1.5 1.5zM14.484 8.016c0.844 0 1.5-0.656 1.5-1.5s-0.656-1.5-1.5-1.5-1.5 0.656-1.5 1.5 0.656 1.5 1.5 1.5zM9.516 8.016c0.844 0 1.5-0.656 1.5-1.5s-0.656-1.5-1.5-1.5-1.5 0.656-1.5 1.5 0.656 1.5 1.5 1.5zM6.516 12c0.844 0 1.5-0.656 1.5-1.5s-0.656-1.5-1.5-1.5-1.5 0.656-1.5 1.5 0.656 1.5 1.5 1.5zM12 3c4.969 0 9 3.609 9 8.016 0 2.766-2.25 4.969-5.016 4.969h-1.734c-0.844 0-1.5 0.656-1.5 1.5 0 0.375 0.141 0.703 0.375 0.984s0.375 0.656 0.375 1.031c0 0.844-0.656 1.5-1.5 1.5-4.969 0-9-4.031-9-9s4.031-9 9-9z"></path>
</symbol>
<symbol id="log" viewBox="0 0 24 24">
<title>Log</title>
<path d="M9.516 14.016c2.484 0 4.5-2.016 4.5-4.5s-2.016-4.5-4.5-4.5-4.5 2.016-4.5 4.5 2.016 4.5 4.5 4.5zM15.516 14.016l4.969 4.969-1.5 1.5-4.969-4.969v-0.797l-0.281-0.281c-1.125 0.984-2.625 1.547-4.219 1.547-3.609 0-6.516-2.859-6.516-6.469s2.906-6.516 6.516-6.516 6.469 2.906 6.469 6.516c0 1.594-0.563 3.094-1.547 4.219l0.281 0.281h0.797z"></path>
</symbol>
<symbol id="server" viewBox="0 0 24 28">
<title>Server</title>
<path d="M12 12c4.703 0 9.422-0.844 12-2.656v2.656c0 2.203-5.375 4-12 4s-12-1.797-12-4v-2.656c2.578 1.813 7.297 2.656 12 2.656zM12 24c4.703 0 9.422-0.844 12-2.656v2.656c0 2.203-5.375 4-12 4s-12-1.797-12-4v-2.656c2.578 1.813 7.297 2.656 12 2.656zM12 18c4.703 0 9.422-0.844 12-2.656v2.656c0 2.203-5.375 4-12 4s-12-1.797-12-4v-2.656c2.578 1.813 7.297 2.656 12 2.656zM12 0c6.625 0 12 1.797 12 4v2c0 2.203-5.375 4-12 4s-12-1.797-12-4v-2c0-2.203 5.375-4 12-4z"></path>
</symbol>
<symbol id="study-list" viewBox="0 0 24 24">
<title>Study List</title>
<path d="M9 5.016h12v3.984h-12v-3.984zM9 18.984v-3.984h12v3.984h-12zM9 14.016v-4.031h12v4.031h-12zM3.984 9v-3.984h4.031v3.984h-4.031zM3.984 18.984v-3.984h4.031v3.984h-4.031zM3.984 14.016v-4.031h4.031v4.031h-4.031z"></path>
</symbol>
<symbol id="logout" viewBox="0 0 24 28">
<title>Logout</title>
<path d="M24 14c0 6.609-5.391 12-12 12s-12-5.391-12-12c0-3.797 1.75-7.297 4.797-9.578 0.891-0.672 2.141-0.5 2.797 0.391 0.672 0.875 0.484 2.141-0.391 2.797-2.031 1.531-3.203 3.859-3.203 6.391 0 4.406 3.594 8 8 8s8-3.594 8-8c0-2.531-1.172-4.859-3.203-6.391-0.875-0.656-1.062-1.922-0.391-2.797 0.656-0.891 1.922-1.062 2.797-0.391 3.047 2.281 4.797 5.781 4.797 9.578zM14 2v10c0 1.094-0.906 2-2 2s-2-0.906-2-2v-10c0-1.094 0.906-2 2-2s2 0.906 2 2z"></path>
</symbol>
<symbol id="password" viewBox="0 0 18 28">
<title>Password</title>
<path d="M5 12h8v-3c0-2.203-1.797-4-4-4s-4 1.797-4 4v3zM18 13.5v9c0 0.828-0.672 1.5-1.5 1.5h-15c-0.828 0-1.5-0.672-1.5-1.5v-9c0-0.828 0.672-1.5 1.5-1.5h0.5v-3c0-3.844 3.156-7 7-7s7 3.156 7 7v3h0.5c0.828 0 1.5 0.672 1.5 1.5z"></path>
</symbol>
</svg>

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -6,12 +6,13 @@
overflow: hidden
.form-content
margin-bottom: 10px
margin-left: -15px
margin-right: -15px
border-bottom: 3px solid #000000
margin-bottom: 20px
margin-left: -22px
margin-right: -22px
max-height: 70vh
overflow-y: auto
padding: 15px
padding: 22px
.popover
width: 300px

View File

@ -14,7 +14,7 @@ Package.onUse(function(api) {
'stylus',
'momentjs:moment',
'validatejs',
'u2622:persistent-session'
'cultofcoders:persistent-session'
]);
// OHIF dependencies
@ -177,6 +177,10 @@ Package.onUse(function(api) {
api.addFiles('client/components/viewer/toolbarSectionTools/toolbarSectionTools.js', 'client');
api.addFiles('client/components/viewer/toolbarSectionTools/toolbarSectionTools.styl', 'client');
api.addFiles('client/components/viewer/userPreferences/dialog.html', 'client');
api.addFiles('client/components/viewer/userPreferences/dialog.js', 'client');
api.addFiles('client/components/viewer/userPreferences/dialog.styl', 'client');
api.addFiles('client/components/viewer/confirmDeleteDialog/confirmDeleteDialog.html', 'client');
api.addFiles('client/components/viewer/confirmDeleteDialog/confirmDeleteDialog.js', 'client');
api.addFiles('client/components/viewer/confirmDeleteDialog/confirmDeleteDialog.styl', 'client');
@ -228,7 +232,7 @@ Package.onTest(function(api) {
'mongo',
'momentjs:moment',
'validatejs',
'u2622:persistent-session'
'cultofcoders:persistent-session'
], both);
// OHIF dependencies

View File

@ -15,3 +15,4 @@ notices-for-facebook-graph-api-2
1.4.1-add-shell-server-package
1.4.3-split-account-service-packages
1.5-add-dynamic-import-package
1.7-split-underscore-from-meteor-base

View File

@ -4,18 +4,18 @@
# 'meteor add' and 'meteor remove' will edit this file for you,
# but you can also edit it by hand.
meteor-base@1.1.0 # Packages every Meteor app needs to have
meteor-base@1.4.0 # Packages every Meteor app needs to have
mobile-experience@1.0.5 # Packages for a great mobile UX
mongo@1.2.2 # The database Meteor supports right now
mongo@1.5.0 # The database Meteor supports right now
blaze-html-templates@1.0.4 # Compile .html files into Meteor Blaze views
reactive-var@1.0.11 # Reactive variable for tracker
jquery@1.11.10 # Helpful client-side library
tracker@1.1.3 # Meteor's client-side reactive programming library
tracker@1.2.0 # Meteor's client-side reactive programming library
standard-minifier-css@1.3.5 # CSS minifier run for production mode
standard-minifier-js@2.1.2 # JS minifier run for production mode
ecmascript@0.8.3 # Enable ECMAScript2015+ syntax in app code
shell-server@0.2.4 # Server-side component of the `meteor shell` command
standard-minifier-css@1.4.1 # CSS minifier run for production mode
standard-minifier-js@2.3.4 # JS minifier run for production mode
ecmascript@0.11.1 # Enable ECMAScript2015+ syntax in app code
shell-server@0.3.1 # Server-side component of the `meteor shell` command
# OHIF Packages
ohif:polyfill
@ -28,16 +28,16 @@ ohif:viewerbase
ohif:metadata
ohif:study-list
ohif:dicom-services
ohif:hanging-protocols
aldeed:template-extension
aldeed:simple-schema@1.5.3
stylus@2.513.9
iron:router
session@1.1.7
u2622:persistent-session@0.4.4
reactive-dict@1.1.9
cultofcoders:persistent-session
reactive-dict@1.2.0
twbs:bootstrap
fortawesome:fontawesome
mrt:moment
random@1.0.10
random@1.1.0
underscore

View File

@ -1 +1 @@
METEOR@1.5.2.2
METEOR@1.7.0.3

View File

@ -1,47 +1,49 @@
accounts-base@1.3.4
accounts-base@1.4.2
aldeed:collection2@2.10.0
aldeed:collection2-core@1.2.0
aldeed:schema-deny@1.1.0
aldeed:schema-index@1.1.1
aldeed:simple-schema@1.5.3
aldeed:simple-schema@1.5.4
aldeed:template-extension@4.1.0
allow-deny@1.0.9
allow-deny@1.1.0
amplify@1.0.0
autoupdate@1.3.12
babel-compiler@6.20.0
babel-runtime@1.0.1
base64@1.0.10
autoupdate@1.4.1
babel-compiler@7.1.1
babel-runtime@1.2.2
base64@1.0.11
binary-heap@1.0.10
blaze@2.3.2
blaze-html-templates@1.1.2
blaze-tools@1.0.10
boilerplate-generator@1.2.0
caching-compiler@1.1.9
boilerplate-generator@1.5.0
caching-compiler@1.1.12
caching-html-compiler@1.1.2
callback-hook@1.0.10
check@1.2.5
callback-hook@1.1.0
check@1.3.1
cultofcoders:persistent-session@0.4.5
dangrossman:bootstrap-daterangepicker@2.1.13
ddp@1.3.1
ddp-client@2.1.3
ddp-common@1.2.9
ddp@1.4.0
ddp-client@2.3.3
ddp-common@1.4.0
ddp-rate-limiter@1.0.7
ddp-server@2.0.2
ddp-server@2.2.0
deps@1.0.12
diff-sequence@1.0.7
dynamic-import@0.1.3
ecmascript@0.8.3
ecmascript-runtime@0.4.1
ecmascript-runtime-client@0.4.3
ecmascript-runtime-server@0.4.1
ejson@1.0.14
diff-sequence@1.1.0
dynamic-import@0.4.1
ecmascript@0.11.1
ecmascript-runtime@0.7.0
ecmascript-runtime-client@0.7.1
ecmascript-runtime-server@0.7.0
ejson@1.1.0
es5-shim@4.8.0
fastclick@1.0.13
fortawesome:fontawesome@4.7.0
geojson-utils@1.0.10
hot-code-push@1.0.4
html-tools@1.0.11
htmljs@1.0.11
http@1.2.12
id-map@1.0.9
http@1.4.1
id-map@1.1.0
iron:controller@1.0.12
iron:core@1.0.11
iron:dynamic-template@1.0.12
@ -50,36 +52,37 @@ iron:location@1.0.11
iron:middleware-stack@1.1.0
iron:router@1.1.2
iron:url@1.1.0
jquery@1.11.10
jquery@1.11.11
launch-screen@1.1.1
livedata@1.0.18
localstorage@1.1.1
logging@1.1.19
localstorage@1.2.0
logging@1.1.20
mdg:validation-error@0.5.1
meteor@1.7.2
meteor-base@1.1.0
meteor@1.9.0
meteor-base@1.4.0
meteor-platform@1.2.6
minifier-css@1.2.16
minifier-js@2.1.4
minimongo@1.3.3
minifier-css@1.3.1
minifier-js@2.3.5
minimongo@1.4.4
mobile-experience@1.0.5
mobile-status-bar@1.0.14
modules@0.10.0
modules-runtime@0.8.0
modern-browsers@0.1.1
modules@0.12.1
modules-runtime@0.10.2
momentjs:moment@2.18.1
mongo@1.2.2
mongo-dev-server@1.0.1
mongo-id@1.0.6
mongo@1.5.1
mongo-dev-server@1.1.0
mongo-id@1.0.7
mrt:moment@2.8.1
natestrauser:select2@4.0.3
npm-mongo@2.2.33
npm-mongo@3.0.7
observe-sequence@1.0.16
ohif:commands@0.0.1
ohif:core@0.0.1
ohif:cornerstone@0.0.1
ohif:cornerstone-settings@0.0.1
ohif:design@0.0.1
ohif:dicom-services@0.0.1
ohif:hanging-protocols@0.0.1
ohif:header@0.0.1
ohif:hotkeys@0.0.1
ohif:log@0.0.1
@ -92,36 +95,37 @@ ohif:themes@0.0.1
ohif:themes-common@0.0.1
ohif:viewerbase@0.0.1
ohif:wadoproxy@0.0.1
ordered-dict@1.0.9
promise@0.9.0
ordered-dict@1.1.0
promise@0.11.1
raix:eventemitter@0.1.3
random@1.0.10
rate-limit@1.0.8
reactive-dict@1.1.9
random@1.1.0
rate-limit@1.0.9
reactive-dict@1.2.0
reactive-var@1.0.11
reload@1.1.11
retry@1.0.9
routepolicy@1.0.12
reload@1.2.0
retry@1.1.0
routepolicy@1.0.13
service-configuration@1.0.11
session@1.1.7
shell-server@0.2.4
shell-server@0.3.1
silentcicero:jszip@0.0.4
socket-stream-client@0.2.2
spacebars@1.0.15
spacebars-compiler@1.1.3
standard-app-packages@1.0.9
standard-minifier-css@1.3.5
standard-minifier-js@2.1.2
stylus@2.513.9
standard-minifier-css@1.4.1
standard-minifier-js@2.3.4
stylus@2.513.14
templating@1.3.2
templating-compiler@1.3.3
templating-runtime@1.3.2
templating-tools@1.1.2
tracker@1.1.3
tracker@1.2.0
twbs:bootstrap@3.3.6
u2622:persistent-session@0.4.4
u2622:persistent-session@0.1.4
ui@1.0.13
underscore@1.0.10
url@1.1.0
url@1.2.0
validatejs@0.0.1
webapp@1.3.19
webapp@1.6.2
webapp-hashing@1.0.9

View File

@ -0,0 +1,3 @@
<body>
<div id="notificationArea" class="notification-area"></div>
</body>

View File

@ -6,6 +6,12 @@
</svg>
<div class="logo-text">Open Health Imaging Foundation</div>
{{/section}}
{{#section 'headerMenu'}}
<span class="header-options pull-left m-r-1">Options</span>
<div class="menu-toggle pull-right">
<span class="caret-down"></span>
</div>
{{/section}}
{{/header}}
{{>viewer}}
</template>

View File

@ -37,13 +37,6 @@ Template.toolbarSection.helpers({
iconClasses: 'fa fa-crosshairs'
});
extraTools.push({
id: 'stackScroll',
title: 'Stack Scroll',
classes: 'imageViewerTool',
iconClasses: 'fa fa-bars'
});
extraTools.push({
id: 'magnify',
title: 'Magnify',
@ -116,6 +109,13 @@ Template.toolbarSection.helpers({
const buttonData = [];
buttonData.push({
id: 'stackScroll',
title: 'Stack Scroll',
classes: 'imageViewerTool',
iconClasses: 'fa fa-bars'
});
buttonData.push({
id: 'zoom',
title: 'Zoom',

View File

@ -0,0 +1,14 @@
import { OHIF } from 'meteor/ohif:core';
OHIF.header.dropdown.setItems([{
action: () => OHIF.ui.showDialog('themeSelectorModal'),
text: 'Themes',
iconClasses: 'theme',
iconSvgUse: 'packages/ohif_viewerbase/assets/icons.svg#theme',
separatorAfter: false
}, {
action: () => OHIF.ui.showDialog('userPreferencesDialog'),
text: 'Preferences',
icon: 'fa fa-user',
separatorAfter: false
}]);

View File

@ -5,8 +5,8 @@
"start": "meteor run"
},
"dependencies": {
"babel-runtime": "^6.23.0",
"cornerstone-web-image-loader": "^2.1.0",
"meteor-node-stubs": "^0.2.11"
"@babel/runtime": "^7.0.0-beta.51",
"core-js": "^2.5.7",
"cornerstone-web-image-loader": "^2.1.0"
}
}