diff options
author | Bob Zeleznik <zzzman@gmail.com> | 2019-12-10 18:49:03 -0500 |
---|---|---|
committer | Bob Zeleznik <zzzman@gmail.com> | 2019-12-10 18:49:03 -0500 |
commit | 1dbb45826d4414ed7a1acb5daff730b6e79e97c2 (patch) | |
tree | 9258a346834abccc9ce4881664ccb956f53ae9f7 /solr-8.1.1/server/solr-webapp/webapp/js/angular/app.js | |
parent | 4ab742c54d600fb62b02268f48e711258558924b (diff) | |
parent | 68ccde3251622fdb51ef3d21282fddd8207da3c1 (diff) |
Merge branch 'master' of https://github.com/browngraphicslab/Dash-Web
Diffstat (limited to 'solr-8.1.1/server/solr-webapp/webapp/js/angular/app.js')
-rw-r--r-- | solr-8.1.1/server/solr-webapp/webapp/js/angular/app.js | 516 |
1 files changed, 0 insertions, 516 deletions
diff --git a/solr-8.1.1/server/solr-webapp/webapp/js/angular/app.js b/solr-8.1.1/server/solr-webapp/webapp/js/angular/app.js deleted file mode 100644 index 9abacee46..000000000 --- a/solr-8.1.1/server/solr-webapp/webapp/js/angular/app.js +++ /dev/null @@ -1,516 +0,0 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -var solrAdminApp = angular.module("solrAdminApp", [ - "ngResource", - "ngRoute", - "ngCookies", - "ngtimeago", - "solrAdminServices", - "localytics.directives", - "ab-base64" -]); - -solrAdminApp.config([ - '$routeProvider', function($routeProvider) { - $routeProvider. - when('/', { - templateUrl: 'partials/index.html', - controller: 'IndexController' - }). - when('/unknown', { - templateUrl: 'partials/unknown.html', - controller: 'UnknownController' - }). - when('/login', { - templateUrl: 'partials/login.html', - controller: 'LoginController' - }). - when('/login/:route', { - templateUrl: 'partials/login.html', - controller: 'LoginController' - }). - when('/~logging', { - templateUrl: 'partials/logging.html', - controller: 'LoggingController' - }). - when('/~logging/level', { - templateUrl: 'partials/logging-levels.html', - controller: 'LoggingLevelController' - }). - when('/~cloud', { - templateUrl: 'partials/cloud.html', - controller: 'CloudController' - }). - when('/~cores', { - templateUrl: 'partials/cores.html', - controller: 'CoreAdminController' - }). - when('/~cores/:corename', { - templateUrl: 'partials/cores.html', - controller: 'CoreAdminController' - }). - when('/~collections', { - templateUrl: 'partials/collections.html', - controller: 'CollectionsController' - }). - when('/~collections/:collection', { - templateUrl: 'partials/collections.html', - controller: 'CollectionsController' - }). - when('/~threads', { - templateUrl: 'partials/threads.html', - controller: 'ThreadsController' - }). - when('/~java-properties', { - templateUrl: 'partials/java-properties.html', - controller: 'JavaPropertiesController' - }). - when('/~cluster-suggestions', { - templateUrl: 'partials/cluster_suggestions.html', - controller: 'ClusterSuggestionsController' - }). - when('/:core/core-overview', { - templateUrl: 'partials/core_overview.html', - controller: 'CoreOverviewController' - }). - when('/:core/collection-overview', { - templateUrl: 'partials/collection_overview.html', - controller: 'CollectionOverviewController' - }). - when('/:core/analysis', { - templateUrl: 'partials/analysis.html', - controller: 'AnalysisController' - }). - when('/:core/dataimport', { - templateUrl: 'partials/dataimport.html', - controller: 'DataImportController' - }). - when('/:core/dataimport/:handler*', { - templateUrl: 'partials/dataimport.html', - controller: 'DataImportController' - }). - when('/:core/documents', { - templateUrl: 'partials/documents.html', - controller: 'DocumentsController' - }). - when('/:core/files', { - templateUrl: 'partials/files.html', - controller: 'FilesController' - }). - when('/:core/plugins', { - templateUrl: 'partials/plugins.html', - controller: 'PluginsController', - reloadOnSearch: false - }). - when('/:core/plugins/:legacytype', { - templateUrl: 'partials/plugins.html', - controller: 'PluginsController', - reloadOnSearch: false - }). - when('/:core/query', { - templateUrl: 'partials/query.html', - controller: 'QueryController' - }). - when('/:core/stream', { - templateUrl: 'partials/stream.html', - controller: 'StreamController' - }). - when('/:core/replication', { - templateUrl: 'partials/replication.html', - controller: 'ReplicationController' - }). - when('/:core/dataimport', { - templateUrl: 'partials/dataimport.html', - controller: 'DataImportController' - }). - when('/:core/dataimport/:handler*', { - templateUrl: 'partials/dataimport.html', - controller: 'DataImportController' - }). - when('/:core/schema', { - templateUrl: 'partials/schema.html', - controller: 'SchemaController' - }). - when('/:core/segments', { - templateUrl: 'partials/segments.html', - controller: 'SegmentsController' - }). - otherwise({ - templateUrl: 'partials/unknown.html', - controller: 'UnknownController' - }); -}]) -.constant('Constants', { - IS_ROOT_PAGE: 1, - IS_CORE_PAGE: 2, - IS_COLLECTION_PAGE: 3, - ROOT_URL: "/" -}) -.filter('uriencode', function() { - return window.encodeURIComponent; -}) -.filter('highlight', function($sce) { - return function(input, lang) { - if (lang && input && lang!="txt" && lang!="csv") return hljs.highlight(lang, input).value; - return input; - } -}) -.filter('unsafe', function($sce) { return $sce.trustAsHtml; }) -.directive('loadingStatusMessage', function() { - return { - link: function($scope, $element, attrs) { - var show = function() {$element.css('display', 'block')}; - var hide = function() {$element.css('display', 'none')}; - $scope.$on('loadingStatusActive', show); - $scope.$on('loadingStatusInactive', hide); - } - }; -}) -.directive('escapePressed', function () { - return function (scope, element, attrs) { - element.bind("keydown keypress", function (event) { - if(event.which === 27) { - scope.$apply(function (){ - scope.$eval(attrs.escapePressed); - }); - event.preventDefault(); - } - }); - }; -}) -.directive('focusWhen', function($timeout) { - return { - link: function(scope, element, attrs) { - scope.$watch(attrs.focusWhen, function(value) { - if(value === true) { - $timeout(function() { - element[0].focus(); - }, 100); - } - }); - } - }; -}) -.directive('scrollableWhenSmall', function($window) { - return { - link: function(scope, element, attrs) { - var w = angular.element($window); - - var checkFixedMenu = function() { - var shouldScroll = w.height() < (element.height() + $('#header').height() + 40); - element.toggleClass( 'scroll', shouldScroll); - }; - w.bind('resize', checkFixedMenu); - w.bind('load', checkFixedMenu); - } - } -}) -.filter('readableSeconds', function() { - return function(input) { - seconds = parseInt(input||0, 10); - var minutes = Math.floor( seconds / 60 ); - var hours = Math.floor( minutes / 60 ); - - var text = []; - if( 0 !== hours ) { - text.push( hours + 'h' ); - seconds -= hours * 60 * 60; - minutes -= hours * 60; - } - - if( 0 !== minutes ) { - text.push( minutes + 'm' ); - seconds -= minutes * 60; - } - - if( 0 !== seconds ) { - text.push( ( '0' + seconds ).substr( -2 ) + 's' ); - } - return text.join(' '); - }; -}) -.filter('number', function($locale) { - return function(input) { - var sep = { - 'de_CH' : '\'', - 'de' : '.', - 'en' : ',', - 'es' : '.', - 'it' : '.', - 'ja' : ',', - 'sv' : ' ', - 'tr' : '.', - '_' : '' // fallback - }; - - var browser = {}; - var match = $locale.id.match( /^(\w{2})([-_](\w{2}))?$/ ); - if (match[1]) { - browser.language = match[1].toLowerCase(); - } - if (match[1] && match[3]) { - browser.locale = match[1] + '_' + match[3]; - } - - return ( input || 0 ).toString().replace(/\B(?=(\d{3})+(?!\d))/g, - sep[ browser.locale ] || sep[ browser.language ] || sep['_']); - }; -}) -.filter('orderObjectBy', function() { - return function(items, field, reverse) { - var filtered = []; - angular.forEach(items, function(item) { - filtered.push(item); - }); - filtered.sort(function (a, b) { - return (a[field] > b[field] ? 1 : -1); - }); - if(reverse) filtered.reverse(); - return filtered; - }; -}) -.directive('jstree', function($parse) { - return { - restrict: 'EA', - scope: { - data: '=', - onSelect: '&' - }, - link: function(scope, element, attrs) { - scope.$watch("data", function(newValue, oldValue) { - if (newValue) { - var treeConfig = { - "plugins" : [ "themes", "json_data", "ui" ], - "json_data" : { - "data" : scope.data, - "progressive_render" : true - }, - "core" : { - "animation" : 0 - } - }; - - var tree = $(element).jstree(treeConfig); - tree.jstree('open_node','li:first'); - if (tree) { - element.bind("select_node.jstree", function (event, data) { - scope.$apply(function() { - scope.onSelect({url: data.args[0].href, data: data}); - }); - }); - } - } - }, true); - } - }; -}) -.directive('connectionMessage', function() { - return { - link: function($scope, $element, attrs) { - var show = function() {$element.css('display', 'block')}; - var hide = function() {$element.css('display', 'none')}; - $scope.$on('connectionStatusActive', show); - $scope.$on('connectionStatusInactive', hide); - } - }; -}) -.factory('httpInterceptor', function($q, $rootScope, $location, $timeout, $injector) { - var activeRequests = 0; - - var started = function(config) { - if (activeRequests == 0) { - $rootScope.$broadcast('loadingStatusActive'); - } - if ($rootScope.exceptions[config.url]) { - delete $rootScope.exceptions[config.url]; - } - activeRequests++; - if (sessionStorage.getItem("auth.header")) { - config.headers['Authorization'] = sessionStorage.getItem("auth.header"); - } - config.timeout = 10000; - return config || $q.when(config); - }; - - var ended = function(response) { - activeRequests--; - if (activeRequests == 0) { - $rootScope.$broadcast('loadingStatusInactive'); - } - if ($rootScope.retryCount>0) { - $rootScope.connectionRecovered = true; - $rootScope.retryCount=0; - $timeout(function() { - $rootScope.connectionRecovered=false; - $rootScope.$broadcast('connectionStatusInactive'); - },2000); - } - if (!$location.path().startsWith('/login') && !$location.path().startsWith('/unknown')) { - sessionStorage.removeItem("http401"); - sessionStorage.removeItem("auth.state"); - sessionStorage.removeItem("auth.statusText"); - } - return response || $q.when(response); - }; - - var failed = function(rejection) { - activeRequests--; - if (activeRequests == 0) { - $rootScope.$broadcast('loadingStatusInactive'); - } - if (rejection.config.headers.doNotIntercept) { - return rejection; - } - if (rejection.status === 0) { - $rootScope.$broadcast('connectionStatusActive'); - if (!$rootScope.retryCount) $rootScope.retryCount=0; - $rootScope.retryCount ++; - var $http = $injector.get('$http'); - var result = $http(rejection.config); - return result; - } else if (rejection.status === 401) { - // Authentication redirect - var headers = rejection.headers(); - var wwwAuthHeader = headers['www-authenticate']; - sessionStorage.setItem("auth.wwwAuthHeader", wwwAuthHeader); - sessionStorage.setItem("auth.authDataHeader", headers['x-solr-authdata']); - sessionStorage.setItem("auth.statusText", rejection.statusText); - sessionStorage.setItem("http401", "true"); - sessionStorage.removeItem("auth.scheme"); - sessionStorage.removeItem("auth.realm"); - sessionStorage.removeItem("auth.username"); - sessionStorage.removeItem("auth.header"); - sessionStorage.removeItem("auth.state"); - if ($location.path().includes('/login')) { - if (!sessionStorage.getItem("auth.location")) { - sessionStorage.setItem("auth.location", "/"); - } - } else { - sessionStorage.setItem("auth.location", $location.path()); - $location.path('/login'); - } - } else { - $rootScope.exceptions[rejection.config.url] = rejection.data.error; - } - return $q.reject(rejection); - }; - - return {request: started, response: ended, responseError: failed}; -}) -.config(function($httpProvider) { - $httpProvider.interceptors.push("httpInterceptor"); - // Force BasicAuth plugin to serve us a 'Authorization: xBasic xxxx' header so browser will not pop up login dialogue - $httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; -}) -.directive('fileModel', function ($parse) { - return { - restrict: 'A', - link: function(scope, element, attrs) { - var model = $parse(attrs.fileModel); - var modelSetter = model.assign; - - element.bind('change', function(){ - scope.$apply(function(){ - modelSetter(scope, element[0].files[0]); - }); - }); - } - }; -}); - -solrAdminApp.controller('MainController', function($scope, $route, $rootScope, $location, Cores, Collections, System, Ping, Constants) { - - $rootScope.exceptions={}; - - $rootScope.toggleException = function() { - $scope.showException=!$scope.showException; - }; - - $scope.refresh = function() { - $scope.cores = []; - $scope.collections = []; - } - - $scope.refresh(); - $scope.resetMenu = function(page, pageType) { - Cores.list(function(data) { - $scope.cores = []; - var currentCoreName = $route.current.params.core; - delete $scope.currentCore; - for (key in data.status) { - var core = data.status[key]; - $scope.cores.push(core); - if ((!$scope.isSolrCloud || pageType == Constants.IS_CORE_PAGE) && core.name == currentCoreName) { - $scope.currentCore = core; - } - } - $scope.showInitFailures = Object.keys(data.initFailures).length>0; - $scope.initFailures = data.initFailures; - }); - - System.get(function(data) { - $scope.isCloudEnabled = data.mode.match( /solrcloud/i ); - - if ($scope.isCloudEnabled) { - Collections.list(function (data) { - $scope.collections = []; - var currentCollectionName = $route.current.params.core; - delete $scope.currentCollection; - for (key in data.collections) { - var collection = {name: data.collections[key]}; - $scope.collections.push(collection); - if (pageType == Constants.IS_COLLECTION_PAGE && collection.name == currentCollectionName) { - $scope.currentCollection = collection; - } - } - }) - } - - }); - - $scope.showingLogging = page.lastIndexOf("logging", 0) === 0; - $scope.showingCloud = page.lastIndexOf("cloud", 0) === 0; - $scope.page = page; - $scope.currentUser = sessionStorage.getItem("auth.username"); - $scope.http401 = sessionStorage.getItem("http401"); - }; - - $scope.ping = function() { - Ping.ping({core: $scope.currentCore.name}, function(data) { - $scope.showPing = true; - $scope.pingMS = data.responseHeader.QTime; - }); - // @todo .attr( 'title', '/admin/ping is not configured (' + xhr.status + ': ' + error_thrown + ')' ); - }; - - $scope.dumpCloud = function() { - $scope.$broadcast("cloud-dump"); - } - - $scope.showCore = function(core) { - $location.url("/" + core.name + "/core-overview"); - } - - $scope.showCollection = function(collection) { - $location.url("/" + collection.name + "/collection-overview") - } - - $scope.$on('$routeChangeStart', function() { - $rootScope.exceptions = {}; - }); -}); |