From 7303107450b136e73cd3d71bd6aed86be07cd3cc Mon Sep 17 00:00:00 2001 From: chouseknecht Date: Wed, 19 Jun 2013 17:12:50 -0400 Subject: [PATCH] Modified styling of modal dialog. --- ansibleworks/ui/static/css/ansible-ui.css | 30 +++++++++++++++++++ ansibleworks/ui/static/css/bootstrap.css | 2 +- .../ui/static/js/controllers/JobHosts.js | 27 +++++++++-------- ansibleworks/ui/static/js/helpers/Events.js | 12 ++++---- ansibleworks/ui/static/js/helpers/Groups.js | 8 ++++- ansibleworks/ui/static/js/helpers/Hosts.js | 7 +++-- ansibleworks/ui/static/js/lists/JobHosts.js | 3 +- 7 files changed, 65 insertions(+), 24 deletions(-) diff --git a/ansibleworks/ui/static/css/ansible-ui.css b/ansibleworks/ui/static/css/ansible-ui.css index 7dc44fb7f7..83f722df64 100644 --- a/ansibleworks/ui/static/css/ansible-ui.css +++ b/ansibleworks/ui/static/css/ansible-ui.css @@ -487,3 +487,33 @@ .modal-input-xlarge { width: 400px; } + + +/* overrides to TB modal */ +.modal-header { + padding: 15px 15px; + border-bottom: 1px solid #eee; + background-color: #36454F; + color: #A9A9A9; + -webkit-border-top-left-radius: 3px; + -moz-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -webkit-border-top-right-radius: 3px; + -moz-border-top-right-radius: 3px; + border-top-right-radius: 3px; +} + +.modal { + border: 1px solid #36454F; +} + +.close { + color: #A9A9A9; + opacity: .7; + filter: alpha(opacity=70); +} + +.modal-header h3 { + margin: 0; + text-rendering: optimizeLegibility; +} diff --git a/ansibleworks/ui/static/css/bootstrap.css b/ansibleworks/ui/static/css/bootstrap.css index 2f56af33f3..bf2cb0cf89 100644 --- a/ansibleworks/ui/static/css/bootstrap.css +++ b/ansibleworks/ui/static/css/bootstrap.css @@ -5198,7 +5198,7 @@ input[type="submit"].btn.btn-mini { border: 1px solid #999; border: 1px solid rgba(0, 0, 0, 0.3); *border: 1px solid #999; - -webkit-border-radius: 6px; + *-webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; outline: none; diff --git a/ansibleworks/ui/static/js/controllers/JobHosts.js b/ansibleworks/ui/static/js/controllers/JobHosts.js index c502d5e784..3f50b4d258 100644 --- a/ansibleworks/ui/static/js/controllers/JobHosts.js +++ b/ansibleworks/ui/static/js/controllers/JobHosts.js @@ -37,19 +37,20 @@ function JobHostSummaryList ($scope, $rootScope, $location, $log, $routeParams, scope.search(list.iterator); LoadBreadCrumbs(); - - scope.viewHost = function(id) { - Rest.setUrl(GetBasePath('jobs') + $routeParams.id + '/'); - Rest.get() - .success( function(data, status, headers, config) { - LoadBreadCrumbs({ path: '/inventories/' + data.inventory, title: data.summary_fields.inventory.name }); - $location.path('/inventories/' + data.inventory + /hosts/ + id); - }) - .error( function(data, status, headers, config) { - ProcessErrors(scope, data, status, null, - { hdr: 'Error!', msg: 'Failed to lookup job record for job ' + $routeParams.id + ' GET returned status: ' + status }); - }); - }; + + scope.showEvents = function(host_name, last_job) { + // When click on !Failed Events link, redirect to latest job/job_events for the host + Rest.setUrl(last_job); + Rest.get() + .success( function(data, status, headers, config) { + LoadBreadCrumbs({ path: '/jobs/' + data.id, title: data.name }); + $location.url('/jobs/' + data.id + '/job_events/?host=' + escape(host_name)); + }) + .error( function(data, status, headers, config) { + ProcessErrors(scope, data, status, form, + { hdr: 'Error!', msg: 'Failed to lookup last job: ' + last_job + '. GET status: ' + status }); + }); + } scope.refresh = function() { scope.search(list.iterator); diff --git a/ansibleworks/ui/static/js/helpers/Events.js b/ansibleworks/ui/static/js/helpers/Events.js index 5e112d5f1d..7d646c7f65 100644 --- a/ansibleworks/ui/static/js/helpers/Events.js +++ b/ansibleworks/ui/static/js/helpers/Events.js @@ -18,14 +18,16 @@ angular.module('EventsHelper', ['RestServices', 'Utilities', 'JobEventFormDefini var scope = generator.inject(form, { mode: 'edit', modal: true, related: false}); generator.reset(); var master = {}; - - scope.formModalActionLabel = 'OK'; - scope.formModalHeader = 'View Event'; - scope.formModalCancelShow = false; - + scope.formModalAction = function() { $('#form-modal').modal("hide"); } + + scope.formModalActionLabel = 'OK'; + scope.formModalHeader = 'View Event'; + scope.formModalCancelShow = false; + + $('#form-modal .btn-success').removeClass('btn-success').addClass('btn-info'); // Retrieve detail record and prepopulate the form Rest.setUrl(defaultUrl); diff --git a/ansibleworks/ui/static/js/helpers/Groups.js b/ansibleworks/ui/static/js/helpers/Groups.js index 2abe05ce20..c3ad1c7444 100644 --- a/ansibleworks/ui/static/js/helpers/Groups.js +++ b/ansibleworks/ui/static/js/helpers/Groups.js @@ -35,7 +35,9 @@ angular.module('GroupsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', ' scope.formModalActionLabel = 'Finished'; scope.formModalHeader = 'Add Group'; scope.formModalCancelShow = true; - + scope.formModalActionClass = 'btn btn-success'; + + $('#form-modal .btn-info').removeClass('btn-info').addClass('btn-success'); $('#form-modal').modal(); scope.selected = []; @@ -175,6 +177,8 @@ angular.module('GroupsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', ' scope.formModalCancelShow = true; scope.parseType = 'json'; ParseTypeChange(scope); + + $('#form-modal .btn-info').removeClass('btn-info').addClass('btn-success'); generator.reset(); var master={}; @@ -269,6 +273,8 @@ angular.module('GroupsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', ' scope.parseType = 'json'; ParseTypeChange(scope); + $('#form-modal .btn-info').removeClass('btn-info').addClass('btn-success'); + // After the group record is loaded, retrieve any group variables if (scope.groupLoadedRemove) { scope.groupLoadedRemove(); diff --git a/ansibleworks/ui/static/js/helpers/Hosts.js b/ansibleworks/ui/static/js/helpers/Hosts.js index 0dc4a0ba12..0e036809c4 100644 --- a/ansibleworks/ui/static/js/helpers/Hosts.js +++ b/ansibleworks/ui/static/js/helpers/Hosts.js @@ -32,11 +32,12 @@ angular.module('HostsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', 'H breadCrumbs: false, selectButton: false }); - + scope.formModalActionLabel = 'Finished'; scope.formModalHeader = 'Add Host'; scope.formModalCancelShow = true; - + + $('#form-modal .btn-info').removeClass('btn-info').addClass('btn-success'); $('#form-modal').modal(); $('#form-modal').unbind('hidden'); $('#form-modal').on('hidden', function () { HostsReload(params); }); @@ -167,6 +168,7 @@ angular.module('HostsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', 'H scope.parseType = 'json'; ParseTypeChange(scope); + $('#form-modal .btn-info').removeClass('btn-info').addClass('btn-success'); $('#form-modal').unbind('hidden'); $('#form-modal').on('hidden', function () { HostsReload(params); }); @@ -259,6 +261,7 @@ angular.module('HostsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', 'H scope.parseType = 'json'; ParseTypeChange(scope); + $('#form-modal .btn-info').removeClass('btn-info').addClass('btn-success'); $('#form-modal').unbind('hidden'); $('#form-modal').on('hidden', function () { HostsReload(params); }); diff --git a/ansibleworks/ui/static/js/lists/JobHosts.js b/ansibleworks/ui/static/js/lists/JobHosts.js index eb32417f16..c8125e1063 100644 --- a/ansibleworks/ui/static/js/lists/JobHosts.js +++ b/ansibleworks/ui/static/js/lists/JobHosts.js @@ -23,8 +23,7 @@ angular.module('JobHostDefinition', []) sourceModel: 'host', sourceField: 'name', ngBind: 'jobhost.host_name', - //linkTo: '/hosts/\{\{ jobhost.host \}\}' - ngClick:"viewHost(\{\{ jobhost.host \}\})" + ngClick:"showEvents('\{\{ jobhost.summary_fields.host.name \}\}','\{\{ jobhost.related.job \}\}')" }, ok: { label: 'Success',