|
|
@@ -127,6 +127,10 @@
|
|
|
|
|
|
var BASE_PATH = "/filebrowser/view";
|
|
|
var _currentFiles = [];
|
|
|
+
|
|
|
+ function escapeSingleQuote(path) {
|
|
|
+ return path.replace(/\'/gi, "\\'");
|
|
|
+ }
|
|
|
|
|
|
function showHdfsLeaf(options) {
|
|
|
var autocompleteUrl = BASE_PATH,
|
|
|
@@ -143,24 +147,24 @@
|
|
|
_currentFiles = [];
|
|
|
if (data.error == null) {
|
|
|
var _dataPathForCurrent = currentPath != "" ? currentPath : "__JHUEHDFSTREE__ROOT__";
|
|
|
- _el.find("[data-path='" + _dataPathForCurrent + "']").attr("data-loaded", true);
|
|
|
- _el.find("[data-path='" + _dataPathForCurrent + "']").siblings("a").find(".fa-folder-o").removeClass("fa-folder-o").addClass("fa-folder-open-o");
|
|
|
+ _el.find("[data-path='" + escapeSingleQuote(_dataPathForCurrent) + "']").attr("data-loaded", true);
|
|
|
+ _el.find("[data-path='" + escapeSingleQuote(_dataPathForCurrent) + "']").siblings("a").find(".fa-folder-o").removeClass("fa-folder-o").addClass("fa-folder-open-o");
|
|
|
_tree.find("a").removeClass("selected");
|
|
|
- _el.find("[data-path='" + _dataPathForCurrent + "']").siblings("a").addClass("selected");
|
|
|
+ _el.find("[data-path='" + escapeSingleQuote(_dataPathForCurrent) + "']").siblings("a").addClass("selected");
|
|
|
|
|
|
if (options.scroll) {
|
|
|
- _el.parent().scrollTop(_el.find("[data-path='" + _dataPathForCurrent + "']").siblings("a").position().top + _el.parent().scrollTop() - 30);
|
|
|
+ _el.parent().scrollTop(_el.find("[data-path='" + escapeSingleQuote(_dataPathForCurrent) + "']").siblings("a").position().top + _el.parent().scrollTop() - 30);
|
|
|
}
|
|
|
$(data.files).each(function (cnt, item) {
|
|
|
if (item.name != "." && item.name != ".." && item.type == "dir") {
|
|
|
var _path = item.path;
|
|
|
- if (_el.find("[data-path='" + _path + "']").length == 0){
|
|
|
- var _li = $("<li>").html('<a class="pointer"><i class="fa fa-folder-o"></i> ' + item.name + '</a><ul class="content unstyled" data-path="' + _path + '" data-loaded="false"></ul>');
|
|
|
+ if (_el.find("[data-path='" + escapeSingleQuote(_path) + "']").length == 0){
|
|
|
+ var _li = $("<li>").html('<a class="pointer"><i class="fa fa-folder-o"></i> ' + item.name + '</a><ul class="content unstyled" data-path="' + (_path) + '" data-loaded="false"></ul>');
|
|
|
var _destination = _path.substr(0, _path.lastIndexOf("/"));
|
|
|
if (_destination == ""){
|
|
|
_destination = "__JHUEHDFSTREE__ROOT__";
|
|
|
}
|
|
|
- _li.appendTo(_el.find("[data-path='" + _destination + "']"));
|
|
|
+ _li.appendTo(_el.find("[data-path='" + escapeSingleQuote(_destination) + "']"));
|
|
|
_li.find("a").on("click", function () {
|
|
|
_this.options.onPathChange(_path);
|
|
|
_this.lastPath = _path;
|
|
|
@@ -186,7 +190,7 @@
|
|
|
});
|
|
|
if (_this.options.createFolder) {
|
|
|
var _createFolderLi = $("<li>").html('<a class="pointer"><i class="fa fa-plus-square-o"></i> ' + _this.options.labels.CREATE_FOLDER + '</a>');
|
|
|
- _createFolderLi.appendTo(_el.find("[data-path='" + currentPath + "']"));
|
|
|
+ _createFolderLi.appendTo(_el.find("[data-path='" + escapeSingleQuote(currentPath) + "']"));
|
|
|
|
|
|
var _createFolderDetails = $("<form>").css("margin-top", "10px").addClass("form-inline");
|
|
|
_createFolderDetails.hide();
|
|
|
@@ -220,7 +224,7 @@
|
|
|
});
|
|
|
|
|
|
});
|
|
|
- _createFolderDetails.appendTo(_el.find("[data-path='" + currentPath + "']"));
|
|
|
+ _createFolderDetails.appendTo(_el.find("[data-path='" + escapeSingleQuote(currentPath) + "']"));
|
|
|
|
|
|
_createFolderLi.find("a").on("click", function () {
|
|
|
_createFolderDetails.slideDown();
|