Fixed resolving paths for restore

This commit is contained in:
Kenneth Skovhede
2014-03-18 23:06:32 +01:00
parent 989c759374
commit 737fc221ec
3 changed files with 65 additions and 51 deletions
+52 -48
View File
@@ -1,48 +1,52 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Duplicati.Server.Serializable
{
/// <summary>
/// Implementation of a ExtJS treenode-like class for easy JSON export
/// </summary>
public class TreeNode
{
/// <summary>
/// The text displayed for the node
/// </summary>
public string text { get; set; }
/// <summary>
/// The node id
/// </summary>
public string id { get; set; }
/// <summary>
/// The class applied to the node
/// </summary>
public string cls { get; set; }
/// <summary>
/// The class applied to the icon
/// </summary>
public string iconCls { get; set; }
/// <summary>
/// True if the element should be checked
/// </summary>
public bool check { get; set; }
/// <summary>
/// True if the element is a leaf node
/// </summary>
public bool leaf { get; set; }
/// <summary>
/// Constructs a new TreeNode
/// </summary>
public TreeNode()
{
this.cls = "folder";
this.iconCls = "x-tree-icon-parent";
this.check = false;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Duplicati.Server.Serializable
{
/// <summary>
/// Implementation of a ExtJS treenode-like class for easy JSON export
/// </summary>
public class TreeNode
{
/// <summary>
/// The text displayed for the node
/// </summary>
public string text { get; set; }
/// <summary>
/// The node id
/// </summary>
public string id { get; set; }
/// <summary>
/// The class applied to the node
/// </summary>
public string cls { get; set; }
/// <summary>
/// The class applied to the icon
/// </summary>
public string iconCls { get; set; }
/// <summary>
/// True if the element should be checked
/// </summary>
public bool check { get; set; }
/// <summary>
/// True if the element is a leaf node
/// </summary>
public bool leaf { get; set; }
/// <summary>
/// Gets or sets the current path, if the item is a symbolic path
/// </summary>
public string resolvedpath { get; set; }
/// <summary>
/// Constructs a new TreeNode
/// </summary>
public TreeNode()
{
this.cls = "folder";
this.iconCls = "x-tree-icon-parent";
this.check = false;
}
}
}
+2 -1
View File
@@ -66,7 +66,8 @@ namespace Duplicati.Server
id = id,
text = display,
leaf = true,
iconCls = "x-tree-icon-special"
iconCls = "x-tree-icon-special",
resolvedpath = folder
});
PathMap[id] = folder;
@@ -8,6 +8,7 @@ $(document).ready(function() {
self.rootel.append(self.treeel);
self.rootel.attr('title', config.title);
self.resolvePath = config.resolvePath;
self.treeel.jstree({
'core': {
@@ -61,7 +62,11 @@ $(document).ready(function() {
{ text: 'OK', disabled: true, click: function(event, ui) {
var node = self.selected_node;
if (node != null) {
config.callback(node.original.filepath, node.text);
var path = node.original.filepath;
if (self.resolvePath && node.original.resolvedpath)
path = node.original.resolvedpath;
config.callback(path, node.text);
self.rootel.dialog('close');
}
}}
@@ -76,7 +81,11 @@ $(document).ready(function() {
self.treeel.bind("dblclick.jstree", function (event) {
var node = self.treeel.jstree().get_node($(event.target).closest("li"));
config.callback(node.original.filepath, node.text);
var path = node.original.filepath;
if (self.resolvePath && node.original.resolvedpath)
path = node.original.resolvedpath;
config.callback(path, node.text);
self.rootel.dialog('close');
});