From 7332e21013b88267de73476e6499bf16c61443d2 Mon Sep 17 00:00:00 2001 From: Rob Harrington Date: Thu, 22 Feb 2018 10:47:57 +1100 Subject: [PATCH] Make InfoDialog more flexible (can show information as well as errors) --- .../admin/utils/services/info_dialog.js.coffee | 11 ++++++++++- .../javascripts/templates/admin/info_dialog.html.haml | 2 +- .../stylesheets/admin/components/dialogs.css.scss | 10 +++++++++- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/admin/utils/services/info_dialog.js.coffee b/app/assets/javascripts/admin/utils/services/info_dialog.js.coffee index 83809333fa..317ed89401 100644 --- a/app/assets/javascripts/admin/utils/services/info_dialog.js.coffee +++ b/app/assets/javascripts/admin/utils/services/info_dialog.js.coffee @@ -1,13 +1,22 @@ -angular.module("admin.utils").factory 'InfoDialog', ($rootScope, $compile, $injector, $templateCache, DialogDefaults) -> +angular.module("admin.utils").factory 'InfoDialog', ($rootScope, $q, $compile, $templateCache, DialogDefaults) -> new class InfoDialog + icon_classes: { + error: 'icon-exclamation-sign' + info: 'icon-info-sign' + } + open: (type, message, templateUrl='admin/info_dialog.html', options={}) -> + deferred = $q.defer() scope = $rootScope.$new() scope.message = message scope.dialog_class = type + scope.icon_class = @icon_classes[type] scope.options = options template = $compile($templateCache.get(templateUrl))(scope) template.dialog(DialogDefaults) template.dialog('open') scope.close = -> + deferred.resolve() template.dialog('close') null + deferred.promise diff --git a/app/assets/javascripts/templates/admin/info_dialog.html.haml b/app/assets/javascripts/templates/admin/info_dialog.html.haml index 3271e3ad85..b69e3b0a4f 100644 --- a/app/assets/javascripts/templates/admin/info_dialog.html.haml +++ b/app/assets/javascripts/templates/admin/info_dialog.html.haml @@ -1,7 +1,7 @@ #info-dialog{ ng: { class: "dialog_class" } } .message.clearfix.margin-bottom-30 .icon.text-center - %i.icon-exclamation-sign + %i{ ng: { class: "icon_class" } } .text {{ message }} .action-buttons.text-center diff --git a/app/assets/stylesheets/admin/components/dialogs.css.scss b/app/assets/stylesheets/admin/components/dialogs.css.scss index c9e1af63c2..0ddaeb2e24 100644 --- a/app/assets/stylesheets/admin/components/dialogs.css.scss +++ b/app/assets/stylesheets/admin/components/dialogs.css.scss @@ -14,7 +14,7 @@ .icon { width: 20%; - font-size: 2rem; + font-size: 4rem; } } @@ -25,4 +25,12 @@ } } } + + &.info { + .message { + .icon { + color: #5498da; + } + } + } }