|
@@ -347,7 +347,19 @@
|
|
|
}
|
|
|
|
|
|
let popoverVisible = false,
|
|
|
- popoverShowTimer = false;
|
|
|
+ wtPopoverVisibleForCM = false,
|
|
|
+ bpPopoverVisibleForCM = false,
|
|
|
+ wtPopoverShowTimer = false,
|
|
|
+ bpPopoverShowTimer = false,
|
|
|
+ wtPopoverHideTimer = false,
|
|
|
+ bpPopoverHideTimer = false;
|
|
|
+
|
|
|
+ function hideAllPopovers() {
|
|
|
+ $('.rpm-manager-popover').removeClass('show');
|
|
|
+ popoverVisible = false;
|
|
|
+ bpPopoverVisibleForCM = false;
|
|
|
+ wtPopoverVisibleForCM = false;
|
|
|
+ }
|
|
|
|
|
|
function init() {
|
|
|
let parent = $('#practice-rpm-manager');
|
|
@@ -395,44 +407,99 @@
|
|
|
parent
|
|
|
.off('mouseenter', '.rpm-manager-weight-popover-trigger')
|
|
|
.on('mouseenter', '.rpm-manager-weight-popover-trigger', function() {
|
|
|
- if(popoverVisible) return false;
|
|
|
- if(popoverShowTimer) {
|
|
|
- clearTimeout(popoverShowTimer);
|
|
|
- popoverShowTimer = false;
|
|
|
+
|
|
|
+ let cmUID = $(this).closest('tr').attr('data-care-month-uid');
|
|
|
+
|
|
|
+ // if WT GP already visible for this care month, STOP
|
|
|
+ if(wtPopoverVisibleForCM === cmUID) {
|
|
|
+ console.log('Wt GP already visible for CM');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ hideAllPopovers();
|
|
|
}
|
|
|
- popoverShowTimer = setTimeout(() => {
|
|
|
+
|
|
|
+ // cancel any existing timers
|
|
|
+ if(wtPopoverShowTimer) { clearTimeout(wtPopoverShowTimer); wtPopoverShowTimer = false; }
|
|
|
+ if(bpPopoverShowTimer) { clearTimeout(bpPopoverShowTimer); bpPopoverShowTimer = false; }
|
|
|
+
|
|
|
+ wtPopoverShowTimer = setTimeout(() => {
|
|
|
$('.rpm-manager-popover').removeClass('show');
|
|
|
$('#rpm-manager-weight-popover-' + $(this).attr('data-uid')).addClass('show');
|
|
|
prepareMeasurementsPopover($(this).attr('data-uid'), 'weight');
|
|
|
popoverVisible = true;
|
|
|
+ wtPopoverVisibleForCM = cmUID;
|
|
|
+ bpPopoverVisibleForCM = false;
|
|
|
}, 500);
|
|
|
+
|
|
|
return false;
|
|
|
});
|
|
|
|
|
|
parent
|
|
|
.off('mouseenter', '.rpm-manager-bp-popover-trigger')
|
|
|
.on('mouseenter', '.rpm-manager-bp-popover-trigger', function() {
|
|
|
- if(popoverVisible) return false;
|
|
|
- if(popoverShowTimer) {
|
|
|
- clearTimeout(popoverShowTimer);
|
|
|
- popoverShowTimer = false;
|
|
|
+
|
|
|
+ let cmUID = $(this).closest('tr').attr('data-care-month-uid');
|
|
|
+
|
|
|
+ // if WT GP already visible for this care month, STOP
|
|
|
+ if(bpPopoverVisibleForCM === cmUID) {
|
|
|
+ console.log('BP GP already visible for CM');
|
|
|
+ return false;
|
|
|
}
|
|
|
- popoverShowTimer = setTimeout(() => {
|
|
|
+ else {
|
|
|
+ // hide any currently displays popups immediately
|
|
|
+ hideAllPopovers();
|
|
|
+ }
|
|
|
+
|
|
|
+ // cancel any existing timers
|
|
|
+ if(bpPopoverShowTimer) { clearTimeout(bpPopoverShowTimer); bpPopoverShowTimer = false; }
|
|
|
+ if(wtPopoverShowTimer) { clearTimeout(wtPopoverShowTimer); wtPopoverShowTimer = false; }
|
|
|
+
|
|
|
+ bpPopoverShowTimer = setTimeout(() => {
|
|
|
$('.rpm-manager-popover').removeClass('show');
|
|
|
$('#rpm-manager-bp-popover-' + $(this).attr('data-uid')).addClass('show');
|
|
|
prepareMeasurementsPopover($(this).attr('data-uid'), 'bp');
|
|
|
popoverVisible = true;
|
|
|
+ bpPopoverVisibleForCM = cmUID;
|
|
|
+ wtPopoverVisibleForCM = false;
|
|
|
}, 500);
|
|
|
+
|
|
|
return false;
|
|
|
+
|
|
|
});
|
|
|
|
|
|
parent
|
|
|
- .off('mouseleave', '.rpm-manager-popover-trigger')
|
|
|
- .on('mouseleave', '.rpm-manager-popover-trigger', function() {
|
|
|
- if(popoverVisible) return false;
|
|
|
- if(popoverShowTimer) {
|
|
|
- clearTimeout(popoverShowTimer);
|
|
|
- popoverShowTimer = false;
|
|
|
+ .off('mouseleave', '.rpm-manager-weight-popover-trigger')
|
|
|
+ .on('mouseleave', '.rpm-manager-weight-popover-trigger', function() {
|
|
|
+ if(wtPopoverVisibleForCM) {
|
|
|
+ if(wtPopoverHideTimer) { clearTimeout(wtPopoverHideTimer); wtPopoverHideTimer = false; }
|
|
|
+ wtPopoverHideTimer = setTimeout(() => {
|
|
|
+ $('#rpm-manager-weight-popover-' + $(this).attr('data-uid')).removeClass('show');
|
|
|
+ popoverVisible = false;
|
|
|
+ wtPopoverVisibleForCM = false;
|
|
|
+ }, 750);
|
|
|
+ }
|
|
|
+ else if(wtPopoverShowTimer) {
|
|
|
+ clearTimeout(wtPopoverShowTimer);
|
|
|
+ wtPopoverShowTimer = false;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ });
|
|
|
+
|
|
|
+ parent
|
|
|
+ .off('mouseleave', '.rpm-manager-bp-popover-trigger')
|
|
|
+ .on('mouseleave', '.rpm-manager-bp-popover-trigger', function() {
|
|
|
+ if(bpPopoverVisibleForCM) {
|
|
|
+ if(bpPopoverHideTimer) { clearTimeout(bpPopoverHideTimer); bpPopoverHideTimer = false; }
|
|
|
+ bpPopoverHideTimer = setTimeout(() => {
|
|
|
+ $('#rpm-manager-bp-popover-' + $(this).attr('data-uid')).removeClass('show');
|
|
|
+ popoverVisible = false;
|
|
|
+ bpPopoverVisibleForCM = false;
|
|
|
+ }, 750);
|
|
|
+ }
|
|
|
+ else if(bpPopoverShowTimer) {
|
|
|
+ clearTimeout(bpPopoverShowTimer);
|
|
|
+ bpPopoverShowTimer = false;
|
|
|
}
|
|
|
return false;
|
|
|
});
|
|
@@ -441,12 +508,11 @@
|
|
|
.off('mousedown.discard-popover')
|
|
|
.on('mousedown.discard-popover', function(_e) {
|
|
|
if(!($(_e.target).closest('.rpm-manager-popover').length) && $('.rpm-manager-popover.show').length) {
|
|
|
- $('.rpm-manager-popover').removeClass('show');
|
|
|
- popoverVisible = false;
|
|
|
- if(popoverShowTimer) {
|
|
|
- clearTimeout(popoverShowTimer);
|
|
|
- popoverShowTimer = false;
|
|
|
- }
|
|
|
+ setTimeout(() => {
|
|
|
+ hideAllPopovers();
|
|
|
+ if(bpPopoverShowTimer) { clearTimeout(bpPopoverShowTimer); bpPopoverShowTimer = false; }
|
|
|
+ if(wtPopoverShowTimer) { clearTimeout(wtPopoverShowTimer); wtPopoverShowTimer = false; }
|
|
|
+ }, 100);
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
@@ -455,12 +521,11 @@
|
|
|
.off('keydown.discard-bp-popover')
|
|
|
.on('keydown.discard-bp-popover', function(_e) {
|
|
|
if(_e.which === 27) {
|
|
|
- $('.rpm-manager-popover').removeClass('show');
|
|
|
- popoverVisible = false;
|
|
|
- if(popoverShowTimer) {
|
|
|
- clearTimeout(popoverShowTimer);
|
|
|
- popoverShowTimer = false;
|
|
|
- }
|
|
|
+ setTimeout(() => {
|
|
|
+ hideAllPopovers();
|
|
|
+ if(bpPopoverShowTimer) { clearTimeout(bpPopoverShowTimer); bpPopoverShowTimer = false; }
|
|
|
+ if(wtPopoverShowTimer) { clearTimeout(wtPopoverShowTimer); wtPopoverShowTimer = false; }
|
|
|
+ }, 100);
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
@@ -486,6 +551,13 @@
|
|
|
parent
|
|
|
.off('click', '.rpm-manager-popover-trigger')
|
|
|
.on('click', '.rpm-manager-popover-trigger', function() {
|
|
|
+ if(popoverVisible) {
|
|
|
+ $('.rpm-manager-popover').removeClass('show');
|
|
|
+ popoverVisible = false;
|
|
|
+ bpPopoverVisibleForCM = false;
|
|
|
+ wtPopoverVisibleForCM = false;
|
|
|
+ return false;
|
|
|
+ }
|
|
|
openDynamicStagPopup('/patients/view/' + $(this).attr('data-client-uid') + '/care-months/view/' + $(this).attr('data-uid'),
|
|
|
'care-month-dashboard-' + $(this).attr('data-client-uid'),
|
|
|
$(this).attr('data-cm-title'),
|