|
'use strict';
/**
* @ngdoc overview
* @name domainManagerApp
* @description
* # domainManagerApp
*
* Main module of the application.
*/
angular
.module('WhoisAPI', ['ngRoute', 'ngSanitize', 'showdown', 'hljs', 'angularSpinner'])
.config(['$routeProvider', '$httpProvider', function($routeProvider, $httpProvider) {
// Configs
//Enable cross domain calls
$httpProvider.defaults.useXDomain = true;
//Remove the header used to identify ajax call that would prevent CORS from working
delete $httpProvider.defaults.headers.common['X-Requested-With'];
// Routes
$routeProvider
.when('/', {
templateUrl: 'views/lookup.html',
controller: 'WhoisController'
})
.when('/docs', {
templateUrl: 'views/docs.html',
controller: 'DocsController'
})
.otherwise({
redirectTo: '/'
});
}])
.controller('HeaderController', ['$scope', '$location', function ($scope, $location) {
$scope.isActive = function (viewLocation) {
return viewLocation === $location.path();
};
}])
.controller('WhoisController',['$scope', '$rootScope', 'CurrentLookup', 'usSpinnerService', function ($scope, $rootScope, CurrentLookup, usSpinnerService) {
if(CurrentLookup.get() == "") {
$scope.domain = "";
$scope.showResult = false;
} else {
$scope.domain = JSON.stringify(CurrentLookup.get(), null, 4);
$scope.showResult = true;
$scope.url = CurrentLookup.getUrl();
}
$scope.lookup = function(){
usSpinnerService.spin('spinner-1');
CurrentLookup.domainLookup($scope.url)
}
$rootScope.$on('lookup:finished', function() {
if(!$scope.$$phase) {
$scope.$apply(function(){
$scope.domain = JSON.stringify(CurrentLookup.get(), null, 4);
$scope.showResult = true
});
} else {
$scope.domain = JSON.stringify(CurrentLookup.get(), null, 4);
$scope.showResult = true
}
usSpinnerService.stop('spinner-1');
});
}])
.controller('DocsController', ['$scope', '$window', function ($scope, $window) {
}])
.service('CurrentLookup', [ '$rootScope', '$http', function($rootScope, $http) {
var domain = "";
var lastUrl = ""
this.domainLookup = function(url){
console.log("Starting Domain Lookup...")
$http({
method: 'GET',
url: 'http://whois.j1x.co/' + url
}).success(function(data) {
console.log("Domain Lookup Successfull")
console.log(data)
domain = data;
lastUrl = url
$rootScope.$broadcast('lookup:finished');
});
}
this.get = function() {
return domain;
}
this.getUrl = function() {
return lastUrl;
}
}])
.directive('markdown', ['$showdown', function ($showdown) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
var htmlText = $showdown.makeHtml(element.text());
element.html(htmlText);
}
};
}])
|