From c2a1141adb4ddb503c5680b4764206cb6c2fa652 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Tue, 17 Mar 2015 23:45:38 -0700 Subject: [PATCH 1/3] much smoother opening/closing of the settings and treatment drawers --- static/js/ui-utils.js | 101 +++++++++++++++++++++++--------------------------- 1 file changed, 46 insertions(+), 55 deletions(-) diff --git a/static/js/ui-utils.js b/static/js/ui-utils.js index 4a5e9fcf8..c85666b26 100644 --- a/static/js/ui-utils.js +++ b/static/js/ui-utils.js @@ -1,7 +1,7 @@ 'use strict'; -var drawerIsOpen = false; -var treatmentDrawerIsOpen = false; +var openDraw = null; + var defaultSettings = { 'units': 'mg/dl', 'alarmUrgentHigh': true, @@ -150,38 +150,53 @@ function isTouch() { catch (e) { return false; } } +function toggleDrawer(id, openCallback, closeCallback) { -function closeDrawer(callback) { - $('#container').animate({marginLeft: '0px'}, 300, callback); - $('#chartContainer').animate({marginLeft: '0px'}, 300); - $('#drawer').animate({right: '-300px'}, 300, function() { - $('#drawer').css('display', 'none'); - }); - drawerIsOpen = false; -} + function openDrawer(id, callback) { + function closeOpenDraw(callback) { + if (openDraw) { + fastClose(openDraw, callback); + } else { + callback(true) + } + } -function openDrawer() { - drawerIsOpen = true; - $('#container').animate({marginLeft: '-300px'}, 300); - $('#chartContainer').animate({marginLeft: '-300px'}, 300); - $('#drawer').css('display', 'block').animate({right: '0'}, 300); -} + closeOpenDraw(function (container) { + openDraw = id; + if (container) { + $('#container').animate({marginLeft: '-300px'}, 300); + $('#chartContainer').animate({marginLeft: '-300px'}, 300); + } + $(id).css('display', 'block').animate({right: '0'}, 300, function () { + if (callback) callback(); + }); + }); -function closeTreatmentDrawer(callback) { - $('#container').animate({marginLeft: '0px'}, 400, callback); - $('#chartContainer').animate({marginLeft: '0px'}, 400); - $('#treatmentDrawer').animate({right: '-300px'}, 400, function() { - $('#treatmentDrawer').css('display', 'none'); - }); - treatmentDrawerIsOpen = false; -} + } -function openTreatmentDrawer() { - treatmentDrawerIsOpen = true; - $('#container').animate({marginLeft: '-300px'}, 400); - $('#chartContainer').animate({marginLeft: '-300px'}, 400); - $('#treatmentDrawer').css('display', 'block').animate({right: '0'}, 400); + function fastClose(id, callback) { + $(id).animate({right: '-300px'}, 300, function () { + $(id).css('display', 'none'); + if (callback) callback(); + }); + } + function closeDrawer(id, callback) { + openDraw = null; + $('#container').animate({marginLeft: '0px'}, 300, callback); + $('#chartContainer').animate({marginLeft: '0px'}, 300); + fastClose(id, callback); + } + + if (openDraw == id) { + closeDrawer(id, closeCallback); + } else { + openDrawer(id, openCallback); + } + +} + +function initTreatmentDrawer() { $('#eventType').val('BG Check').focus(); $('#glucoseValue').val('').attr('placeholder', 'Value in ' + browserSettings.units); $('#meter').prop('checked', true); @@ -322,36 +337,12 @@ Dropdown.prototype.open = function (e) { $('#drawerToggle').click(function(event) { - //close other drawers - if(treatmentDrawerIsOpen) { - closeTreatmentDrawer(); - treatmentDrawerIsOpen = false; - } - - if(drawerIsOpen) { - closeDrawer(); - drawerIsOpen = false; - } else { - openDrawer(); - drawerIsOpen = true; - } + toggleDrawer('#drawer'); event.preventDefault(); }); $('#treatmentDrawerToggle').click(function(event) { - //close other drawers - if(drawerIsOpen) { - closeDrawer(); - drawerIsOpen = false; - } - - if(treatmentDrawerIsOpen) { - closeTreatmentDrawer(); - treatmentDrawerIsOpen = false; - } else { - openTreatmentDrawer(); - treatmentDrawerIsOpen = true; - } + toggleDrawer('#treatmentDrawer', initTreatmentDrawer); event.preventDefault(); }); From fd47ec9cd15fef2875d8790c57a8e1121cbe0f08 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Wed, 18 Mar 2015 00:04:08 -0700 Subject: [PATCH 2/3] stop moving the margin-left of the container when a drawer is opened to prevent jumpyness --- static/js/ui-utils.js | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/static/js/ui-utils.js b/static/js/ui-utils.js index c85666b26..0b1fb243f 100644 --- a/static/js/ui-utils.js +++ b/static/js/ui-utils.js @@ -155,18 +155,14 @@ function toggleDrawer(id, openCallback, closeCallback) { function openDrawer(id, callback) { function closeOpenDraw(callback) { if (openDraw) { - fastClose(openDraw, callback); + closeDrawer(openDraw, callback); } else { - callback(true) + callback() } } - closeOpenDraw(function (container) { + closeOpenDraw(function () { openDraw = id; - if (container) { - $('#container').animate({marginLeft: '-300px'}, 300); - $('#chartContainer').animate({marginLeft: '-300px'}, 300); - } $(id).css('display', 'block').animate({right: '0'}, 300, function () { if (callback) callback(); }); @@ -174,20 +170,14 @@ function toggleDrawer(id, openCallback, closeCallback) { } - function fastClose(id, callback) { + function closeDrawer(id, callback) { + openDraw = null; $(id).animate({right: '-300px'}, 300, function () { $(id).css('display', 'none'); if (callback) callback(); }); } - function closeDrawer(id, callback) { - openDraw = null; - $('#container').animate({marginLeft: '0px'}, 300, callback); - $('#chartContainer').animate({marginLeft: '0px'}, 300); - fastClose(id, callback); - } - if (openDraw == id) { closeDrawer(id, closeCallback); } else { @@ -400,13 +390,13 @@ $(function() { fade: true, gravity: 'n', opacity: 0.75 - } + }; if (querystring.notify) { showNotification(querystring.notify, querystring.notifytype); } if (querystring.drawer) { - openDrawer(); + openDrawer('#drawer'); } }); From 186fdff6ca8d2c4758a890a27df8b1100fa56e39 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Wed, 18 Mar 2015 07:47:48 -0700 Subject: [PATCH 3/3] fixed bug that caused the treatment to be added 2 times --- static/js/ui-utils.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/static/js/ui-utils.js b/static/js/ui-utils.js index 0b1fb243f..46f220dfc 100644 --- a/static/js/ui-utils.js +++ b/static/js/ui-utils.js @@ -150,6 +150,14 @@ function isTouch() { catch (e) { return false; } } +function closeDrawer(id, callback) { + openDraw = null; + $(id).animate({right: '-300px'}, 300, function () { + $(id).css('display', 'none'); + if (callback) callback(); + }); +} + function toggleDrawer(id, openCallback, closeCallback) { function openDrawer(id, callback) { @@ -170,14 +178,6 @@ function toggleDrawer(id, openCallback, closeCallback) { } - function closeDrawer(id, callback) { - openDraw = null; - $(id).animate({right: '-300px'}, 300, function () { - $(id).css('display', 'none'); - if (callback) callback(); - }); - } - if (openDraw == id) { closeDrawer(id, closeCallback); } else { @@ -294,7 +294,7 @@ function treatmentSubmit(event) { browserStorage.set('enteredBy', data.enteredBy); - closeTreatmentDrawer(); + closeDrawer('#treatmentDrawer'); } if (event) {