From e236d937e2d158bc40ed91fa518593cb6a759c5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenz=20H=C3=BCbschle-Schneider?= Date: Sun, 6 Jul 2014 15:05:48 +0100 Subject: [PATCH] Simplify usage of modal --- index.html | 6 +++--- js/glowingbear.js | 16 ++++++++++++---- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/index.html b/index.html index d8b7b71..9d3bde1 100644 --- a/index.html +++ b/index.html @@ -196,7 +196,7 @@ $ openssl req -nodes -newkey rsa:4096 -keyout relay.pem -x509 -days 365 -out rel
@@ -263,7 +263,7 @@ $ openssl req -nodes -newkey rsa:4096 -keyout relay.pem -x509 -days 365 -out rel
-
+
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) {