aboutsummaryrefslogtreecommitdiff
path: root/solr-8.1.1/server/solr-webapp/webapp/js/angular/controllers/stream.js
diff options
context:
space:
mode:
authorserver <brownptcdash@gmail.com>2019-12-10 18:12:37 -0500
committerserver <brownptcdash@gmail.com>2019-12-10 18:12:37 -0500
commit7478e610d99d1f2fb383ecbfa0b70d72eae27f81 (patch)
tree59486701838067351f00580315c05690f36a39ce /solr-8.1.1/server/solr-webapp/webapp/js/angular/controllers/stream.js
parent096718ee546afbd7568bf8ec9e23dca0556d814d (diff)
solr changes
Diffstat (limited to 'solr-8.1.1/server/solr-webapp/webapp/js/angular/controllers/stream.js')
-rw-r--r--solr-8.1.1/server/solr-webapp/webapp/js/angular/controllers/stream.js239
1 files changed, 0 insertions, 239 deletions
diff --git a/solr-8.1.1/server/solr-webapp/webapp/js/angular/controllers/stream.js b/solr-8.1.1/server/solr-webapp/webapp/js/angular/controllers/stream.js
deleted file mode 100644
index 92440c360..000000000
--- a/solr-8.1.1/server/solr-webapp/webapp/js/angular/controllers/stream.js
+++ /dev/null
@@ -1,239 +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.
- */
-solrAdminApp.controller('StreamController',
- function($scope, $routeParams, $location, Query, Constants) {
-
- $scope.resetMenu("stream", Constants.IS_COLLECTION_PAGE);
-
- $scope.stream = {
- wt: 'json',
- expr: $scope.expr,
- indent: 'on'
- };
- $scope.qt = "stream";
- $scope.doExplanation = false
-
- $scope.doStream = function() {
-
- var params = {};
- params.core = $routeParams.core;
- params.handler = $scope.qt;
- params.expr = [$scope.expr]
- if($scope.doExplanation){
- params.explain = [$scope.doExplanation]
- }
-
- $scope.lang = "json";
- $scope.response = null;
- $scope.url = "";
-
- var url = Query.url(params);
-
- Query.query(params, function(data) {
-
- var jsonData = JSON.parse(data.toJSON().data);
- if (undefined != jsonData["explanation"]) {
- $scope.showExplanation = true;
-
- streamGraphSubController($scope, jsonData["explanation"])
- delete jsonData["explanation"]
- } else {
- $scope.showExplanation = false;
- }
-
- data.data = JSON.stringify(jsonData,null,2);
-
- $scope.lang = "json";
- $scope.response = data;
- $scope.url = url;
- $scope.hostPortContext = $location.absUrl().substr(0,$location.absUrl().indexOf("#")); // For display only
-
- });
- };
-
- if ($location.search().expr) {
- $scope.expr = $location.search()["expr"];
- $scope.doStream();
- }
-
- }
-);
-
-var streamGraphSubController = function($scope, explanation) {
- $scope.showGraph = true;
- $scope.pos = 0;
- $scope.rows = 8;
-
- $scope.resetGraph = function() {
- $scope.pos = 0;
- $scope.initGraph();
- }
-
- $scope.initGraph = function(explanation) {
-
- data = explanation
-
- var leafCount = 0;
- var maxDepth = 0;
- var rootNode = {};
-
- leafCount = 0;
-
- let recurse = function(dataNode, depth) {
-
- if (depth > maxDepth) {
- maxDepth = depth;
- }
-
- let graphNode = {
- name: dataNode.expressionNodeId,
- implementingClass: 'unknown',
- data: {}
- };
-
- ["expressionNodeId", "expressionType", "functionName", "implementingClass", "expression", "note", "helpers"].forEach(function(key) {
- graphNode.data[key] = dataNode[key];
- });
-
- if (dataNode.children && dataNode.children.length > 0) {
- graphNode.children = [];
- dataNode.children.forEach(function(n) {
- graphNode.children.push(recurse(n, depth + 1));
- });
- } else {
- ++leafCount;
- }
-
- return graphNode;
- }
-
- $scope.showPaging = false;
- $scope.isRadial = false;
- $scope.explanationData = recurse(data, 1);
-
- $scope.depth = maxDepth + 1;
- $scope.leafCount = leafCount;
- };
-
- $scope.initGraph(explanation);
-};
-
-solrAdminApp.directive('explanationGraph', function(Constants) {
- return {
- restrict: 'EA',
- scope: {
- data: "=",
- leafCount: "=",
- depth: "="
- },
- link: function(scope, element, attrs) {
-
- var helper_path_class = function(p) {
- var classes = ['link'];
-
- return classes.join(' ');
- };
-
- var helper_node_class = function(d) {
- var classes = ['node'];
-
- if (d.data && d.data.expressionType) {
- classes.push(d.data.expressionType);
- }
-
- return classes.join(' ');
- };
-
- var helper_node_text = function(d) {
- if (d.data && d.data.functionName) {
- return d.data.functionName;
- }
-
- return d.name
- };
-
- var helper_tooltip = function(d) {
-
- return [
- "Function: " + d.data.functionName,
- "Type: " + d.data.expressionType,
- "Class: " + d.data.implementingClass.replace("org.apache.solr.client.solrj.io", "o.a.s.c.s.i"),
- "=============",
- d.data.expression
- ].join("\n");
- }
-
- scope.$watch("data", function(newValue, oldValue) {
- if (newValue) {
- flatGraph(element, scope.data, scope.depth, scope.leafCount);
- }
- });
-
- var flatGraph = function(element, graphData, depth, leafCount) {
- var w = 100 + (depth * 100),
- h = leafCount * 40;
-
- var tree = d3.layout.tree().size([h, w]);
-
- var diagonal = d3.svg.diagonal().projection(function(d) {
- return [d.y * .7, d.x];
- });
-
- d3.select('#canvas', element).html('');
- var vis = d3.select('#canvas', element).append('svg')
- .attr('width', w)
- .attr('height', h)
- .append('g')
- .attr('transform', 'translate(25, 0)');
-
- var nodes = tree.nodes(graphData);
-
- var link = vis.selectAll('path.link')
- .data(tree.links(nodes))
- .enter().append('path')
- .attr('class', helper_path_class)
- .attr('d', diagonal);
-
- var node = vis.selectAll('g.node')
- .data(nodes)
- .enter().append('g')
- .attr('class', helper_node_class)
- .attr('transform', function(d) {
- return 'translate(' + d.y * .7 + ',' + d.x + ')';
- })
-
- node.append('circle')
- .attr('r', 4.5);
-
- node.append('title')
- .text(helper_tooltip);
-
- node.append('text')
- .attr('dx', function(d) {
- return 8;
- })
- .attr('dy', function(d) {
- return 5;
- })
- .attr('text-anchor', function(d) {
- return 'start';
- })
- .text(helper_node_text)
- };
- }
- };
-})