diff --git a/js/glowingbear.js b/js/glowingbear.js
index e322d52..e169bd7 100644
--- a/js/glowingbear.js
+++ b/js/glowingbear.js
@@ -1080,10 +1080,18 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout',
}
};
- // Modal toggles
- $scope.toggleModal = function(elementId) {
- var element = document.getElementById(elementId);
- element.setAttribute('data-state', element.getAttribute('data-state') === "hidden" ? "visible" : "hidden");
+ $scope.showModal = function(elementId) {
+ document.getElementById(elementId).setAttribute('data-state', 'visible');
+ };
+ $scope.closeModal = function($event) {
+ function closest(elem, selector) {
+ var matchesSelector = elem.matches || elem.webkitMatchesSelector || elem.mozMatchesSelector || elem.msMatchesSelector;
+ while (elem) {
+ if (matchesSelector.call(elem, selector)) return elem;
+ else elem = elem.parentElement;
+ }
+ }
+ closest($event.target, '.gb-modal').setAttribute('data-state', 'hidden');
};
$scope.preventModalToggle = function(elementId, event) {