|
@@ -116,6 +116,7 @@ var Assist = function (vm, assist) {
|
|
|
self.pagenum = ko.observable(1);
|
|
self.pagenum = ko.observable(1);
|
|
|
self.fromLoadMore = false;
|
|
self.fromLoadMore = false;
|
|
|
self.fromRebuildTree = false;
|
|
self.fromRebuildTree = false;
|
|
|
|
|
+ self.excludePath = "";
|
|
|
|
|
|
|
|
self.acls = ko.observableArray();
|
|
self.acls = ko.observableArray();
|
|
|
self.originalAcls = ko.observableArray();
|
|
self.originalAcls = ko.observableArray();
|
|
@@ -276,14 +277,17 @@ var Assist = function (vm, assist) {
|
|
|
self.refreshTree = function (force) {
|
|
self.refreshTree = function (force) {
|
|
|
self.growingTree(jQuery.extend(true, {}, self.initialGrowingTree));
|
|
self.growingTree(jQuery.extend(true, {}, self.initialGrowingTree));
|
|
|
Object.keys(self.treeAdditionalData).forEach(function (path) {
|
|
Object.keys(self.treeAdditionalData).forEach(function (path) {
|
|
|
- if (typeof force == "boolean" && force) {
|
|
|
|
|
- self.fetchPath(path);
|
|
|
|
|
- } else {
|
|
|
|
|
- if (self.treeAdditionalData[path].loaded) {
|
|
|
|
|
|
|
+ if (path.indexOf(self.excludePath) > -1 ){
|
|
|
|
|
+ if (typeof force == "boolean" && force) {
|
|
|
self.fetchPath(path);
|
|
self.fetchPath(path);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ if (self.treeAdditionalData[path].loaded) {
|
|
|
|
|
+ self.fetchPath(path);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
|
|
+ self.excludePath = "";
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
self.rebuildTree = function (leaf, paths) {
|
|
self.rebuildTree = function (leaf, paths) {
|
|
@@ -349,28 +353,36 @@ var Assist = function (vm, assist) {
|
|
|
'isDiffMode': self.isDiffMode()
|
|
'isDiffMode': self.isDiffMode()
|
|
|
},
|
|
},
|
|
|
function (data) {
|
|
function (data) {
|
|
|
- self.loadParents(data.breadcrumbs);
|
|
|
|
|
- if (data['files'] && data['files'][0] && data['files'][0]['type'] == 'dir') { // Hack for now
|
|
|
|
|
- $.each(data.files, function (index, item) {
|
|
|
|
|
- self.convertItemToObject(item);
|
|
|
|
|
- });
|
|
|
|
|
- }
|
|
|
|
|
- else {
|
|
|
|
|
- self.convertItemToObject(data);
|
|
|
|
|
- }
|
|
|
|
|
- self.getTreeAdditionalDataForPath(_path).loaded = true;
|
|
|
|
|
- if (data.page != null && data.page.number != null){
|
|
|
|
|
- self.updatePathProperty(self.growingTree(), _path, "page", data.page);
|
|
|
|
|
- }
|
|
|
|
|
- if (typeof loadCallback != "undefined"){
|
|
|
|
|
- loadCallback(data);
|
|
|
|
|
- }
|
|
|
|
|
- else {
|
|
|
|
|
|
|
+ if (data.status != null && data.status == 403){
|
|
|
|
|
+ self.updatePathProperty(self.growingTree(), _path, "nodes", []);
|
|
|
|
|
+ self.excludePath = _path;
|
|
|
self.loadData(self.growingTree());
|
|
self.loadData(self.growingTree());
|
|
|
}
|
|
}
|
|
|
- if (typeof optionalPath == "undefined"){
|
|
|
|
|
- self.getAcls();
|
|
|
|
|
|
|
+ else {
|
|
|
|
|
+ self.loadParents(data.breadcrumbs);
|
|
|
|
|
+ if (data['files'] && data['files'][0] && data['files'][0]['type'] == 'dir') { // Hack for now
|
|
|
|
|
+ $.each(data.files, function (index, item) {
|
|
|
|
|
+ self.convertItemToObject(item);
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ else {
|
|
|
|
|
+ self.convertItemToObject(data);
|
|
|
|
|
+ }
|
|
|
|
|
+ self.getTreeAdditionalDataForPath(_path).loaded = true;
|
|
|
|
|
+ if (data.page != null && data.page.number != null){
|
|
|
|
|
+ self.updatePathProperty(self.growingTree(), _path, "page", data.page);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (typeof loadCallback != "undefined"){
|
|
|
|
|
+ loadCallback(data);
|
|
|
|
|
+ }
|
|
|
|
|
+ else {
|
|
|
|
|
+ self.loadData(self.growingTree());
|
|
|
|
|
+ }
|
|
|
|
|
+ if (typeof optionalPath == "undefined"){
|
|
|
|
|
+ self.getAcls();
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
}).fail(function (xhr, textStatus, errorThrown) {
|
|
}).fail(function (xhr, textStatus, errorThrown) {
|
|
|
$(document).trigger("error", xhr.responseText);
|
|
$(document).trigger("error", xhr.responseText);
|
|
|
});
|
|
});
|
|
@@ -449,7 +461,7 @@ var HdfsViewModel = function (initial) {
|
|
|
|
|
|
|
|
self.doAs = ko.observable(initial.user);
|
|
self.doAs = ko.observable(initial.user);
|
|
|
self.doAs.subscribe(function () {
|
|
self.doAs.subscribe(function () {
|
|
|
- self.assist.refreshTree();
|
|
|
|
|
|
|
+ self.assist.refreshTree();
|
|
|
});
|
|
});
|
|
|
self.availableHadoopUsers = ko.observableArray();
|
|
self.availableHadoopUsers = ko.observableArray();
|
|
|
self.availableHadoopGroups = ko.observableArray();
|
|
self.availableHadoopGroups = ko.observableArray();
|