SOLR-14209: Upgrade JQuery to 3.4.1

* JQuery 2.1.3 to 3.4.1
* jstree 1.0-rc1 to v3.3.8

Closes #1209

Signed-off-by: Kevin Risden <krisden@apache.org>
This commit is contained in:
Kevin Risden 2020-01-23 15:13:29 -05:00
parent f41eabdc5f
commit c4a8a77d23
No known key found for this signature in database
GPG Key ID: 040FAE3292C5F73F
23 changed files with 151 additions and 3664 deletions

View File

@ -299,6 +299,8 @@ Other Changes
* SOLR-14248: Improve ClusterStateMockUtil and make its methods public. (shalin)
* SOLR-14209: Upgrade JQuery to 3.4.1 (Kevin Risden)
================== 8.4.1 ==================
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.

View File

@ -37,7 +37,7 @@ Copyright (c) 2013-2014 Klaus Hartl, https://github.com/carhartl/jquery-cookie
This product includes jquery.form Javascript library created by Mike Alsup
Copyright 2006-2014 (c) M. Alsup, https://github.com/malsup/form/
This product includes the jquery.jstree.js Javascript library created by Ivan Bozhanov
This product includes the jstree Javascript library created by Ivan Bozhanov
Copyright (c) 2013-2014 Ivan Bozhanov, https://github.com/vakata/jstree
This product includes jquery.timeago.js Javascript library by Ryan McGeary

View File

@ -9,7 +9,7 @@
<link rel="icon" type="image/x-icon" href="#{url_root}/img/favicon.ico"/>
<link rel="shortcut icon" type="image/x-icon" href="#{url_root}/img/favicon.ico"/>
<script type="text/javascript" src="#{url_root}/libs/jquery-2.1.3.min.js"></script>
<script type="text/javascript" src="#{url_root}/libs/jquery-3.4.1.min.js"></script>
<style>
#admin{

View File

@ -529,18 +529,13 @@ public final class ZookeeperInfoHandler extends RequestHandlerBase {
label = idx > 0 ? path.substring(idx + 1) : path;
}
json.startObject();
//writeKeyValue(json, "data", label, true );
json.writeString("data");
json.writeNameSeparator();
json.startObject();
writeKeyValue(json, "title", label, true);
writeKeyValue(json, "text", label, true);
json.writeValueSeparator();
json.writeString("attr");
json.writeString("a_attr");
json.writeNameSeparator();
json.startObject();
writeKeyValue(json, "href", "admin/zookeeper?detail=true&path=" + URLEncoder.encode(path, "UTF-8"), true);
json.endObject();
String href = "admin/zookeeper?detail=true&path=" + URLEncoder.encode(path, StandardCharsets.UTF_8);
writeKeyValue(json, "href", href, true);
json.endObject();
Stat stat = new Stat();

View File

@ -5,7 +5,7 @@
<link rel="icon" type="image/x-icon" href="#{url_root}/img/favicon.ico"/>
<link rel="shortcut icon" type="image/x-icon" href="#{url_root}/img/favicon.ico"/>
<script type="text/javascript" src="#{url_root}/libs/jquery-2.1.3.min.js"></script>
<script type="text/javascript" src="#{url_root}/libs/jquery-3.4.1.min.js"></script>
<script type="text/javascript" src="#{url_for_solr}/admin/file?file=/velocity/js/jquery.tx3-tag-cloud.js&contentType=text/javascript"></script>
<script type="text/javascript" src="#{url_for_solr}/admin/file?file=/velocity/js/dropit.js&contentType=text/javascript"></script>
<script type="text/javascript" src="#{url_for_solr}/admin/file?file=/velocity/js/jquery.autocomplete.js&contentType=text/javascript"></script>

View File

@ -6,7 +6,7 @@
<title>#param('title')</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script type="text/javascript" src="#{url_root}/libs/jquery-2.1.3.min.js"></script>
<script type="text/javascript" src="#{url_root}/libs/jquery-3.4.1.min.js"></script>
<link rel="stylesheet" type="text/css" href="#{url_for_solr}/admin/file?file=/velocity/main.css&contentType=text/css"/>
<link rel="stylesheet" href="#{url_for_solr}/admin/file?file=/velocity/jquery.autocomplete.css&contentType=text/css" type="text/css" />
<link rel="icon" type="image/x-icon" href="#{url_root}/img/favicon.ico"/>

View File

@ -591,21 +591,6 @@ pre.syntax .tex .formula
opacity: 0.5;
}
#content .tree li,
#content .tree ins
{
background-color: transparent;
background-image: url( ../../img/tree.png );
background-repeat: no-repeat;
}
#content .tree li
{
background-position: -54px 0;
background-repeat: repeat-y;
line-height: 22px;
}
#content .tree li.jstree-last
{
background:transparent;
@ -626,16 +611,6 @@ pre.syntax .tex .formula
background-position: 0 0;
}
#content .tree .jstree-hovered
{
background:#e7f4f9; border:1px solid #d8f0fa; padding:0 2px 0 1px;
}
#content .tree .jstree-clicked
{
background:#beebff; border:1px solid #99defd; padding:0 2px 0 1px;
}
#content .tree a.active
{
background-color: #f0f0f0;
@ -645,11 +620,13 @@ pre.syntax .tex .formula
#content .tree a .jstree-icon
{
background-image: url( ../../img/ico/folder.png );
background-position: unset;
}
#content .tree .jstree-leaf a .jstree-icon
{
background-image: url( ../../img/ico/document-text.png );
background-position: unset;
}
#content .tree .jstree-search

File diff suppressed because one or more lines are too long

View File

@ -227,6 +227,7 @@ limitations under the License.
line-height: 17px;
padding: 0;
width: 90%;
vertical-align: middle;
}
#content #logging .jstree a:hover
@ -282,14 +283,14 @@ limitations under the License.
z-index: 800;
}
#content #logging .jstree li .selector-holder { left: 440px; }
#content #logging .jstree li li .selector-holder { left: 422px; }
#content #logging .jstree li li li .selector-holder { left: 404px; }
#content #logging .jstree li li li li .selector-holder { left: 386px; }
#content #logging .jstree li li li li li .selector-holder { left: 368px; }
#content #logging .jstree li .selector-holder { left: 475px; }
#content #logging .jstree li li .selector-holder { left: 450px; }
#content #logging .jstree li li li .selector-holder { left: 425px; }
#content #logging .jstree li li li li .selector-holder { left: 400px; }
#content #logging .jstree li li li li li .selector-holder { left: 375px; }
#content #logging .jstree li li li li li li .selector-holder { left: 350px; }
#content #logging .jstree li li li li li li li .selector-holder { left: 332px; }
#content #logging .jstree li li li li li li li li .selector-holder { left: 314px; }
#content #logging .jstree li li li li li li li .selector-holder { left: 325px; }
#content #logging .jstree li li li li li li li li .selector-holder { left: 300px; }
#content #logging .jstree .selector
{

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -50,11 +50,12 @@ limitations under the License.
<link rel="stylesheet" type="text/css" href="css/angular/overview.css?_=${version}">
<link rel="stylesheet" type="text/css" href="css/angular/jquery-ui.min.css?_=${version}">
<link rel="stylesheet" type="text/css" href="css/angular/jquery-ui.structure.min.css?_=${version}">
<link rel="stylesheet" type="text/css" href="css/angular/jstree.style.min.css?_=${version}">
<meta http-equiv="x-ua-compatible" content="IE=9">
<script src="libs/jquery-2.1.3.min.js"></script>
<script src="libs/jquery-3.4.1.min.js"></script>
<script src="libs/chosen.jquery.min.js"></script>
<script src="libs/jquery.jstree.js"></script>
<script src="libs/jstree.min.js"></script>
<script src="libs/angular.min.js"></script>
<script src="libs/angular-chosen.min.js"></script>
<script src="libs/angular-resource.min.js"></script>

View File

@ -331,24 +331,21 @@ solrAdminApp.config([
},
link: function(scope, element, attrs) {
scope.$watch("data", function(newValue, oldValue) {
if (newValue) {
if (newValue && !jQuery.isEmptyObject(newValue)) {
var treeConfig = {
"plugins" : [ "json_data", "ui" ],
"json_data" : {
"data" : scope.data,
"progressive_render" : true
},
"core" : {
"animation" : 0
}
'core' : {
'animation' : 0,
'data': scope.data,
'worker': false
}
};
var tree = $(element).jstree(treeConfig);
tree.jstree('open_node','li:first');
$(element).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});
scope.onSelect({url: data.node.a_attr.href, data: data});
});
});
}

View File

@ -381,7 +381,7 @@ var nodesSubController = function($scope, Collections, System, Metrics) {
nodes[node]['jvmUptime'] = secondsForHumans(jvmUptime);
nodes[node]['jvmUptimeSec'] = jvmUptime;
nodes[node]['uptime'] = s.system.uptime.replace(/.*up (.*?,.*?),.*/, "$1");
nodes[node]['uptime'] = (s.system.uptime || "unknown").replace(/.*up (.*?,.*?),.*/, "$1");
nodes[node]['loadAvg'] = Math.round(s.system.systemLoadAverage * 100) / 100;
nodes[node]['cpuPct'] = Math.ceil(s.system.processCpuLoad);
nodes[node]['cpuPctStyle'] = styleForPct(Math.ceil(s.system.processCpuLoad));
@ -651,7 +651,7 @@ var graphSubController = function ($scope, Zookeeper) {
Zookeeper.liveNodes(function (data) {
var live_nodes = {};
for (var c in data.tree[0].children) {
live_nodes[data.tree[0].children[c].data.title] = true;
live_nodes[data.tree[0].children[c].text] = true;
}
var params = {view: "graph"};

View File

@ -79,7 +79,7 @@ solrAdminApp.controller('CollectionsController',
$scope.configs = [];
var items = data.tree[0].children;
for (var i in items) {
$scope.configs.push({name: items[i].data.title});
$scope.configs.push({name: items[i].text});
}
});
};

View File

@ -57,16 +57,14 @@ solrAdminApp.controller('FilesController',
process(path + file, children);
}
tree.push({
data: {
title: file,
attr: { id: path + file}
},
text: file,
a_attr: { id: path + file},
children: children,
state: state
});
}
});
}
};
$scope.tree = [];
process("", $scope.tree);
@ -92,7 +90,7 @@ solrAdminApp.controller('FilesController',
};
$scope.showTreeLink = function(data) {
var file = data.args[0].id;
var file = data.node.a_attr.id;
$location.search({file:file});
};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

29
solr/webapp/web/libs/jstree.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -89,10 +89,9 @@ catalyst.filter('timeago', function() {
days < 365 && substitute(strings.months, Math.round(days / 30), strings) ||
years < 1.5 && substitute(strings.year, 1, strings) ||
substitute(strings.years, Math.round(years), strings);
console.log(words+" "+prefix+suffix);
prefix.replace(/ /g, '')
words.replace(/ /g, '')
suffix.replace(/ /g, '')
prefix.replace(/ /g, '');
words.replace(/ /g, '');
suffix.replace(/ /g, '');
return (prefix+' '+words+' '+suffix+' '+separator);
};
});

View File

@ -15,42 +15,41 @@ See the License for the specific language governing permissions and
limitations under the License.
-->
<div id="logging" class="clearfix">
<div id="frame">
<div class="block">
<h2><span>{{watcher}}</span></h2>
<ul class="tree jstree">
<li class="jstree-leaf level-{{logger.level.toLowerCase()}}" ng-class="{'jstree-last':$last}" ng-repeat="logger in logging" ng-include="'logger.html'"></li>
</ul>
<div id="loggingtree">
<ul class="tree jstree jstree-container-ul jstree-children tree ng-isolate-scope jstree-1 jstree-default">
<li class="jstree-node jstree-leaf jstree-open level-{{logger.level.toLowerCase()}}" ng-class="{'jstree-last':$last}" ng-repeat="logger in logging" ng-include="'logger.html'"></li>
</ul>
</div>
</div>
</div>
</div>
<script type="text/ng-template" id="logger.html">
<ins class="trigger jstree-icon">&nbsp;</ins>
<a ng-click="toggleOptions(logger)" class="trigger {{logger.level.toLowerCase() }}" ng-class="{null:!logger.level, set: logger.set}" title="{{ logger.name }}" rel="{{logger.level}}">
<span class="ns">{{logger.name}}</span>
<span class="name" ng-show="logger.short">{{ logger.short }}</span>
<span class="name" ng-show="!logger.short"><em>empty</em></span>
</a>
<script type="text/ng-template" id="logger.html">
<i class="trigger jstree-icon jstree-ocl">&nbsp;</i>
<a ng-click="toggleOptions(logger)" class="jstree-anchor trigger {{logger.level.toLowerCase() }}" ng-class="{null:!logger.level, set: logger.set}" title="{{ logger.name }}" rel="{{logger.level}}">
<span class="ns">{{logger.name}}</span>
<span class="name" ng-show="logger.short">{{ logger.short }}</span>
<span class="name" ng-show="!logger.short"><em>empty</em></span>
</a>
<div class="selector-holder" ng-class="{open:logger.showOptions}">
<div class="selector">
<a class="trigger" ng-click="toggleOptions(logger)"><span><em>{{logger.level || "null"}}</em></span></a>
<div ng-show="logger.showOptions">
<ul>
<li ng-repeat="level in levels track by level.pos">
<a ng-click="setLevel(logger, level.name)">{{level.name}}</a>
</li>
<li class="unset"><a ng-click="setLevel(logger, 'unset')">UNSET</a></li>
</ul>
<a class="close" ng-click="toggleOptions(logger)"><span>[x]</span></a>
</div>
</div>
<div class="selector-holder" ng-class="{open:logger.showOptions}">
<div class="selector">
<a class="trigger" ng-click="toggleOptions(logger)"><span><em>{{logger.level || "null"}}</em></span></a>
<div ng-show="logger.showOptions">
<ul>
<li ng-repeat="level in levels track by level.pos">
<a ng-click="setLevel(logger, level.name)">{{level.name}}</a>
</li>
<li class="unset"><a ng-click="setLevel(logger, 'unset')">UNSET</a></li>
</ul>
<a class="close" ng-click="toggleOptions(logger)"><span>[x]</span></a>
</div>
<ul>
<li class="jstree-leaf level-{{logger.level.toLowerCase()}}" ng-class="{'jstree-last':$last}" ng-repeat="logger in logger.children" ng-include="'logger.html'"></li>
</ul>
</script>
</div>
</div>
<ul>
<li class="jstree-node jstree-leaf jstree-open level-{{logger.level.toLowerCase()}}" ng-class="{'jstree-last':$last}" ng-repeat="logger in logger.children" ng-include="'logger.html'"></li>
</ul>
</script>