Fixed resolving paths for restore
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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');
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user