From 14b72542de969398ae66917be896584ce29da3e2 Mon Sep 17 00:00:00 2001 From: Evan Theurer Date: Wed, 25 Jun 2014 12:30:24 +0200 Subject: [PATCH] Move to one modal controller. Remove deps for dialogs. --- static/js/app.js | 3 +-- static/js/main.js | 4 ---- static/js/services/alertify.js | 43 ++++++++++++---------------------- 3 files changed, 16 insertions(+), 34 deletions(-) diff --git a/static/js/app.js b/static/js/app.js index 4bfa04da..26d5c46f 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -39,7 +39,6 @@ define([ 'angular-humanize', 'angular-route', 'mobile-events', - 'dialogs' ], function(require, $, _, angular, modernizr, moment, services, directives, filters, controllers, languages) { @@ -64,7 +63,7 @@ define([ var initialize = function(ms) { - var modules = ['ui.bootstrap', 'ngSanitize', 'ngAnimate', 'ngHumanize', 'ngRoute', 'dialogs']; + var modules = ['ui.bootstrap', 'ngSanitize', 'ngAnimate', 'ngHumanize', 'ngRoute']; if (ms && ms.length) { _.each(ms, function(module) { modules.push(module); diff --git a/static/js/main.js b/static/js/main.js index 1726c6fc..f3c9b1a0 100644 --- a/static/js/main.js +++ b/static/js/main.js @@ -107,10 +107,6 @@ require.config({ deps: ['jquery'], exports: '$' }, - 'dialogs': { - deps: ['angular', 'angular-sanitize'], - exports: 'angular' - }, 'sjcl': { exports: 'sjcl' } diff --git a/static/js/services/alertify.js b/static/js/services/alertify.js index 217891af..76076917 100644 --- a/static/js/services/alertify.js +++ b/static/js/services/alertify.js @@ -20,14 +20,13 @@ */ define(["angular"], function(angular) { - var controller = {}; - - controller.prompt = ["$scope", "$modalInstance", "data", function($scope, $modalInstance, data) { + var modalController = ["$scope", "$modalInstance", "data", function($scope, $modalInstance, data) { $scope.input = { text: '' }; $scope.id = data.id; $scope.header = data.header || ""; + $scope.msg = data.message || ""; $scope.okButtonLabel = data.okButtonLabel || "Ok"; $scope.cancelButtonLabel = data.cancelButtonLabel || "Cancel"; @@ -42,32 +41,11 @@ define(["angular"], function(angular) { $scope.save(); } }; - }]; - - controller.confirm = ["$scope", "$modalInstance", "data", function($scope, $modalInstance, data) { - $scope.header = data.title || ""; - $scope.msg = data.message || ""; $scope.ok = function() { - $modalInstance.close('ok'); - }; - $scope.cancel = function() { - $modalInstance.dismiss('cancel'); - }; - }]; - - controller.notify = ["$scope", "$modalInstance", "data", function($scope, $modalInstance, data) { - $scope.header = data.title || ""; - $scope.msg = data.message || ""; - $scope.close = function() { - $modalInstance.close('close'); + $modalInstance.close('Ok'); }; - }]; - - controller.error = ["$scope", "$modalInstance", "data", function($scope, $modalInstance, data) { - $scope.header = data.title || ""; - $scope.msg = data.message || ""; $scope.close = function() { - $modalInstance.close('close'); + $modalInstance.close('Close'); }; }]; @@ -102,7 +80,7 @@ define(["angular"], function(angular) { var setupModal = function(data, type) { return $modal.open({ templateUrl: '/dialogs/' + type +'.html', - controller: controller[type], + controller: modalController, resolve: { data: function() { return data; } } @@ -118,7 +96,7 @@ define(["angular"], function(angular) { if (!title) { title = api.defaultMessages[n] || n; } - var dlg = setupModal({'title': title, 'message': message}, n); + var dlg = setupModal({'header': title, 'message': message}, n); if (ok_cb) { dlg.result.then(ok_cb, err_cb); } @@ -156,6 +134,15 @@ define(["angular"], function(angular) { err_cb(); } }); + dlg.opened.then(function() { + // Crude hack to get auto focus. + $window.setTimeout(function() { + var element = $window.document.getElementById(id); + if (element) { + element.focus(); + } + }, 100); + }); } };