Adjusting OHIF Viewer to the new structure

This commit is contained in:
Bruno Alves de Faria committed 2017-03-21 10:16:47 -03:00
1 parent 374dab5ef4
commit 718fd30feb
18 files changed
+156 -459

No files matched your search

@@ -9,7 +9,3 @@ import './lastLoginModal/lastLoginModal.html';
import './timeoutCountdownDialog/timeoutCountdownDialog.html';
import './timeoutCountdownDialog/timeoutCountdownDialog.js';
import './userAccountMenu/userAccountMenu.html';
import './userAccountMenu/userAccountMenu.styl';
import './userAccountMenu/userAccountMenu.js';
@@ -1,62 +0,0 @@
<template name="userAccountMenu">
{{#if currentUser}}
<div id="userAccountMenu" class="dropdown">
<div class="dropdown-toggle noselect clearfix" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="userName pull-left m-r-1">{{name}} {{currentPath}}</span>
<div class="menuButton pull-right">
<i class="fa fa-cog"></i> <span class="caret-down"></span>
</div>
</div>
<ul class="dropdown-menu dropdown-menu-right">
{{#if showStudyListMenu}}
<li>
<a href="{{absoluteUrl "studylist"}}" id="studylist">
<svg class="study-list">
<use xlink:href={{absoluteUrl "packages/ohif_user-management/assets/user-menu-icons.svg#study-list"}}></use>
</svg> Study List
</a>
</li>
{{else}}
<li>
<a href="{{absoluteUrl "audit"}}" id="audit">
<svg class="log">
<use xlink:href={{absoluteUrl "packages/ohif_user-management/assets/user-menu-icons.svg#log"}}></use>
</svg> View Audit Log
</a>
</li>
{{/if}}
<li role="separator" class="divider"></li>
<li>
<a id="themeSelector">
<svg class="theme">
<use xlink:href={{absoluteUrl "packages/ohif_user-management/assets/user-menu-icons.svg#theme"}}></use>
</svg> Themes
</a>
</li>
<li role="separator" class="divider"></li>
<li>
<a id="serverInformation">
<svg class="server">
<use xlink:href={{absoluteUrl "packages/ohif_user-management/assets/user-menu-icons.svg#server"}}></use>
</svg> Server Information
</a>
</li>
<li role="separator" class="divider"></li>
<li>
<a href="{{absoluteUrl "changePassword"}}" id="changePassword">
<svg class="password">
<use xlink:href={{absoluteUrl "packages/ohif_user-management/assets/user-menu-icons.svg#password"}}></use>
</svg> Change Password
</a>
</li>
<li>
<a id="logoutButton">
<svg class="logout">
<use xlink:href={{absoluteUrl "packages/ohif_user-management/assets/user-menu-icons.svg#logout"}}></use>
</svg> Logout
</a>
</li>
</ul>
</div>
{{/if}}
</template>
@@ -1,128 +0,0 @@
import { Meteor } from 'meteor/meteor';
import { Template } from 'meteor/templating';
import { ReactiveVar } from 'meteor/reactive-var';
import { Session } from 'meteor/session';
import { Router } from 'meteor/iron:router';
import { moment } from 'meteor/momentjs:moment';
import { OHIF } from 'meteor/ohif:core';
// Display the last login modal as default
Session.setDefault('displayLastLoginModal', true);
Template.userAccountMenu.helpers({
name: function() {
const nameSplit = Meteor.user().profile.fullName.split(' ');
const lastName = nameSplit[nameSplit.length - 1];
nameSplit[nameSplit.length - 1] = lastName.substr(0, 1) + '.';
return nameSplit.join(' ');
},
currentUser: function() {
const verifyEmail = Meteor.settings && Meteor.settings.public && Meteor.settings.public.verifyEmail || false;
if (!Meteor.user() || !Meteor.userId()) {
return;
}
if (!verifyEmail) {
return true;
}
if (!Meteor.user().emails) {
return true;
}
return !!Meteor.user().emails[0].verified;
}
});
Template.userAccountMenu.events({
'click #serverInformation'() {
OHIF.ui.showDialog('serverInformationModal');
},
'click #themeSelector'() {
OHIF.ui.showDialog('themeSelectorModal');
},
'click #logoutButton'() {
Meteor.logout(function() {
Router.go('/entrySignIn');
});
}
});
Template.userAccountMenu.onCreated(function userAccountMenuCreated() {
const instance = Template.instance();
// Create reactive last login date
instance.lastLoginDate = new ReactiveVar();
// We need oldUser to remove Reviewers if the user logged out
let oldUser;
// Get last login date
Meteor.call('getPriorLoginDate', function(error, lastLoginDate) {
if (error) {
OHIF.log.error(error);
return;
}
// Format the last login date
const formattedLastLoginDate = moment(lastLoginDate).format('MMMM Do YYYY, HH:mm:ss A');
instance.lastLoginDate.set(formattedLastLoginDate);
});
instance.autorun(function() {
const lastLoginDate = instance.lastLoginDate.get();
if (!lastLoginDate) {
return;
}
// Hook login/logout
const user = Meteor.user();
if (!user) {
// Display last login modal for the next login
Session.setPersistent('displayLastLoginModal', true);
if (oldUser) {
// Log Signout
// TODO: eventType for logout is not defined
// HipaaLogger.logEvent({
// eventType: 'logout',
// userId: oldUser._id,
// userName: oldUser.profile.fullName
// });
// Remove the user by oldUserId from Reviewers
Meteor.call('removeUserFromReviewers', oldUser._id);
}
return;
}
// Set oldUser
oldUser = user;
// Trigger last login date popup
if (!Session.get('displayLastLoginModal')) {
return;
}
// Display the modal and hide it after 5 seconds
OHIF.ui.showDialog('lastLoginModal', {
lastLoginDate,
timeout: 5000
}).then(() => Session.setPersistent('displayLastLoginModal', false));
// Log signin
HipaaLogger.logEvent({
eventType: 'init',
userId: user._id,
userName: user.profile.fullName
});
});
});
@@ -1,62 +0,0 @@
@import "{ohif:design}/app"
$iconMargin = 5px
$iconWidth = 16px
$iconHeight = 16px
#userAccountMenu
padding: 4px 0
height: 100%
.dropdown-toggle
theme('color', '$defaultColor')
cursor: pointer
font-size: 13px
font-weight: 400
line-height: 18px
text-decoration: none
.menuButton
theme('border-left', 'solid 1px $defaultColor')
display: inline-block
height: 18px
padding: 0 8px
.fa
theme('color', '$defaultColor')
font-size: 17px
line-height: 18px
.caret-down
theme('color', '$uiGrayLight')
margin: 0 4px 4px 2px
ul.dropdown-menu
li
cursor: pointer
svg
margin-right: $iconMargin
width: $iconWidth
height: $iconHeight
text-align: center
svg
display: inline-block
vertical-align: middle
&.server
width: $iconWidth - 3
height: $iconWidth - 3
margin-right: $iconMargin + 2
margin-left: 1px
&.theme
width: $iconWidth + 2
height: $iconWidth + 2
margin-right: $iconMargin - 2
&.study-list
width: $iconWidth + 2
height: $iconWidth + 2
margin-right: $iconMargin - 2