/********************************************* * Copyright (c) 2014 AnsibleWorks, Inc. * * JobStatus.js * * Dashboard widget showing object counts and license availability. * */ 'use strict'; angular.module('JobStatusWidget', ['RestServices', 'Utilities']) .factory('JobStatus', ['$rootScope', '$compile', 'Rest', 'GetBasePath', 'ProcessErrors', 'Wait', function ($rootScope, $compile) { return function (params) { var scope = params.scope, target = params.target, dashboard = params.dashboard, html = '', element; html = "
\n"; html += "
Job Status
\n"; html += "
\n"; html += "\n"; html += "\n"; html += "\n"; html += "\n"; html += "\n"; html += "\n"; html += "\n"; html += "\n"; html += "\n"; function makeRow(params) { var html = '', label = params.label, link = params.link, fail_link = params.fail_link, count = params.count, fail = params.fail; html += "\n"; html += "\n"; html += "\n"; html += "\n"; return html; } html += makeRow({ label: 'Jobs', link: '/#/jobs', count: (dashboard.jobs && dashboard.jobs.total) ? dashboard.jobs.total : 0, fail: (dashboard.jobs && dashboard.jobs.failed) ? dashboard.jobs.failed : 0, fail_link: '/#/jobs/?status=failed' }); html += makeRow({ label: 'Inventories', link: '/#/inventories', count: (dashboard.inventories && dashboard.inventories.total) ? dashboard.inventories.total : 0, fail: (dashboard.inventories && dashboard.inventories.job_failed) ? dashboard.inventories.job_failed : 0, fail_link: '/#/inventories/?has_active_failures=true' }); html += makeRow({ label: 'Groups', link: '/#/home/groups', count: (dashboard.groups && dashboard.groups.total) ? dashboard.groups.total : 0, fail: (dashboard.groups && dashboard.groups.job_failed) ? dashboard.groups.job_failed : 0, fail_link: '/#/home/groups/?has_active_failures=true' }); html += makeRow({ label: 'Hosts', link: '/#/home/hosts', count: (dashboard.hosts && dashboard.hosts.total) ? dashboard.hosts.total : 0, fail: (dashboard.hosts && dashboard.hosts.failed) ? dashboard.hosts.failed : 0, fail_link: '/#/home/hosts/?has_active_failures=true' }); html += "\n"; html += "
FailedTotal
0) ? 'failed-column' : 'zero-column'; html += " text-right\">"; html += "" + fail + ""; html += ""; html += "" + count + ""; html += "
\n"; html += "
\n"; html += "
\n"; html += "\n"; element = angular.element(document.getElementById(target)); element.html(html); $compile(element)(scope); scope.$emit('WidgetLoaded'); }; } ]);