mirror of
https://github.com/ansible/awx.git
synced 2026-05-08 01:47:35 -02:30
Merge pull request #208 from joefiorini/browser-data
Move browser data loading into factory
This commit is contained in:
@@ -35,6 +35,9 @@ import dashboardGraphs from 'tower/directives/_dashboard-graphs';
|
|||||||
|
|
||||||
import routeExtensions from 'tower/shared/route-extensions/main';
|
import routeExtensions from 'tower/shared/route-extensions/main';
|
||||||
|
|
||||||
|
// modules
|
||||||
|
import browserData from 'tower/browser-data/main';
|
||||||
|
|
||||||
import {JobDetailController} from 'tower/controllers/JobDetail';
|
import {JobDetailController} from 'tower/controllers/JobDetail';
|
||||||
import {JobStdoutController} from 'tower/controllers/JobStdout';
|
import {JobStdoutController} from 'tower/controllers/JobStdout';
|
||||||
import {JobTemplatesList, JobTemplatesAdd, JobTemplatesEdit} from 'tower/controllers/JobTemplates';
|
import {JobTemplatesList, JobTemplatesAdd, JobTemplatesEdit} from 'tower/controllers/JobTemplates';
|
||||||
@@ -74,6 +77,7 @@ var tower = angular.module('Tower', [
|
|||||||
dataServices.name,
|
dataServices.name,
|
||||||
dashboardGraphs.name,
|
dashboardGraphs.name,
|
||||||
routeExtensions.name,
|
routeExtensions.name,
|
||||||
|
browserData.name,
|
||||||
'AuthService',
|
'AuthService',
|
||||||
'Utilities',
|
'Utilities',
|
||||||
'LicenseHelper',
|
'LicenseHelper',
|
||||||
@@ -878,27 +882,6 @@ var tower = angular.module('Tower', [
|
|||||||
|
|
||||||
var e, html, sock;
|
var e, html, sock;
|
||||||
|
|
||||||
function detectBrowser() {
|
|
||||||
var ua = window.navigator.userAgent,
|
|
||||||
browser;
|
|
||||||
if (ua.search("MSIE") >= 0) {
|
|
||||||
browser = "MSIE";
|
|
||||||
}
|
|
||||||
else if (navigator.userAgent.search("Chrome") >= 0 && navigator.userAgent.search("OPR") < 0) {
|
|
||||||
browser = "CHROME";
|
|
||||||
}
|
|
||||||
else if (navigator.userAgent.search("Firefox") >= 0) {
|
|
||||||
browser = "FF";
|
|
||||||
}
|
|
||||||
else if (navigator.userAgent.search("Safari") >= 0 && navigator.userAgent.search("Chrome") < 0 && navigator.userAgent.search("OPR") < 0) {
|
|
||||||
browser = "SAFARI";
|
|
||||||
}
|
|
||||||
else if (navigator.userAgent.search("OPR") >= 0) {
|
|
||||||
browser = "OPERA";
|
|
||||||
}
|
|
||||||
return browser;
|
|
||||||
}
|
|
||||||
|
|
||||||
function activateTab() {
|
function activateTab() {
|
||||||
// Make the correct tab active
|
// Make the correct tab active
|
||||||
var base = $location.path().replace(/^\//, '').split('/')[0];
|
var base = $location.path().replace(/^\//, '').split('/')[0];
|
||||||
@@ -941,8 +924,6 @@ var tower = angular.module('Tower', [
|
|||||||
$rootScope.crumbCache = [];
|
$rootScope.crumbCache = [];
|
||||||
$rootScope.sessionTimer = Timer.init();
|
$rootScope.sessionTimer = Timer.init();
|
||||||
|
|
||||||
$rootScope.browser = detectBrowser();
|
|
||||||
|
|
||||||
if ($rootScope.removeOpenSocket) {
|
if ($rootScope.removeOpenSocket) {
|
||||||
$rootScope.removeOpenSocket();
|
$rootScope.removeOpenSocket();
|
||||||
}
|
}
|
||||||
|
|||||||
29
awx/ui/static/js/browser-data/browser-data.factory.js
Normal file
29
awx/ui/static/js/browser-data/browser-data.factory.js
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
export default ['$window', function($window) {
|
||||||
|
var ua = $window.navigator.userAgent,
|
||||||
|
browserName;
|
||||||
|
|
||||||
|
var browser =
|
||||||
|
{ userAgent: ua,
|
||||||
|
platform: $window.navigator.platform,
|
||||||
|
name: "Unknown Browser"
|
||||||
|
};
|
||||||
|
|
||||||
|
if (ua.search("MSIE") >= 0) {
|
||||||
|
browserName = "Internet Explorer";
|
||||||
|
}
|
||||||
|
else if (navigator.userAgent.search("Chrome") >= 0 && navigator.userAgent.search("OPR") < 0) {
|
||||||
|
browserName = "Chrome";
|
||||||
|
}
|
||||||
|
else if (navigator.userAgent.search("Firefox") >= 0) {
|
||||||
|
browserName = "Firefox";
|
||||||
|
}
|
||||||
|
else if (navigator.userAgent.search("Safari") >= 0 && navigator.userAgent.search("Chrome") < 0 && navigator.userAgent.search("OPR") < 0) {
|
||||||
|
browserName = "Safari";
|
||||||
|
}
|
||||||
|
else if (navigator.userAgent.search("OPR") >= 0) {
|
||||||
|
browserName = "Opera";
|
||||||
|
}
|
||||||
|
|
||||||
|
browser.name = browserName;
|
||||||
|
return browser;
|
||||||
|
}];
|
||||||
7
awx/ui/static/js/browser-data/main.js
Normal file
7
awx/ui/static/js/browser-data/main.js
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
import getBrowserData from './browser-data.factory';
|
||||||
|
import ngApp from './ng-app.directive';
|
||||||
|
|
||||||
|
export default
|
||||||
|
angular.module('browserData', [])
|
||||||
|
.directive('ngApp', ngApp)
|
||||||
|
.factory('browserData', getBrowserData);
|
||||||
11
awx/ui/static/js/browser-data/ng-app.directive.js
Normal file
11
awx/ui/static/js/browser-data/ng-app.directive.js
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
/* jshint unused: vars */
|
||||||
|
|
||||||
|
export default ['browserData', function(browserData) {
|
||||||
|
return {
|
||||||
|
link: function(scope, element, attrs) {
|
||||||
|
element
|
||||||
|
.attr('data-browser', browserData.userAgent)
|
||||||
|
.attr('data-platform', browserData.platform);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}];
|
||||||
@@ -15,30 +15,21 @@
|
|||||||
export default
|
export default
|
||||||
angular.module('SocketHelper', ['Utilities', 'FFSocketHelpDefinition', 'SafariSocketHelpDefinition' , 'ChromeSocketHelpDefinition'])
|
angular.module('SocketHelper', ['Utilities', 'FFSocketHelpDefinition', 'SafariSocketHelpDefinition' , 'ChromeSocketHelpDefinition'])
|
||||||
|
|
||||||
.factory('ShowSocketHelp', ['$location', '$rootScope', 'FFSocketHelp', 'SafariSocketHelp', 'ChromeSocketHelp', 'HelpDialog',
|
.factory('ShowSocketHelp', ['$location', '$rootScope', 'FFSocketHelp', 'SafariSocketHelp', 'ChromeSocketHelp', 'HelpDialog', 'browserData',
|
||||||
function($location, $rootScope, FFSocketHelp, SafariSocketHelp, ChromeSocketHelp, HelpDialog) {
|
function($location, $rootScope, FFSocketHelp, SafariSocketHelp, ChromeSocketHelp, HelpDialog, browserData) {
|
||||||
return function() {
|
return function() {
|
||||||
var scope = $rootScope.$new();
|
var scope = $rootScope.$new();
|
||||||
scope.socketPort = $AnsibleConfig.websocket_port;
|
scope.socketPort = $AnsibleConfig.websocket_port;
|
||||||
scope.socketURL = 'https://' + $location.host() + ':' + scope.socketPort + '/';
|
scope.socketURL = 'https://' + $location.host() + ':' + scope.socketPort + '/';
|
||||||
if ($rootScope.browser === "FF") {
|
scope.browserName = browserData.name;
|
||||||
scope.browserName = "Firefox";
|
|
||||||
|
if (browserData.name === 'Firefox') {
|
||||||
HelpDialog({ defn: FFSocketHelp, scope: scope });
|
HelpDialog({ defn: FFSocketHelp, scope: scope });
|
||||||
}
|
}
|
||||||
else if ($rootScope.browser === "SAFARI") {
|
else if (browserData.name === 'Safari') {
|
||||||
scope.browserName = "Safari";
|
|
||||||
HelpDialog({ defn: SafariSocketHelp, scope: scope });
|
HelpDialog({ defn: SafariSocketHelp, scope: scope });
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if ($rootScope.browser === "MSIE") {
|
|
||||||
scope.browserName = "Internet Explorer";
|
|
||||||
}
|
|
||||||
else if ($rootScope.browser === "CHROME") {
|
|
||||||
scope.browserName = "Chrome";
|
|
||||||
}
|
|
||||||
else if ($rootScope.browser === "OPERA") {
|
|
||||||
scope.browserName = "Opera";
|
|
||||||
}
|
|
||||||
HelpDialog({ defn: ChromeSocketHelp, scope: scope });
|
HelpDialog({ defn: ChromeSocketHelp, scope: scope });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user