JSON interface to folder subscriptions
parent
b52289904f
commit
4c21a050d9
1
NEWS
1
NEWS
|
@ -9,6 +9,7 @@ Enhancements
|
||||||
- refresh draft folder after sending a message
|
- refresh draft folder after sending a message
|
||||||
- now possible to DnD events in the calendar list
|
- now possible to DnD events in the calendar list
|
||||||
- improved handling of SOGoSubscriptionFolderFormat
|
- improved handling of SOGoSubscriptionFolderFormat
|
||||||
|
- JSON'ified folder subscription interface
|
||||||
|
|
||||||
Bug fixes
|
Bug fixes
|
||||||
- fixed weekdays translation in the datepicker
|
- fixed weekdays translation in the datepicker
|
||||||
|
|
|
@ -442,10 +442,8 @@
|
||||||
[response setStatus: 200];
|
[response setStatus: 200];
|
||||||
[response setHeader: @"text/plain; charset=utf-8"
|
[response setHeader: @"text/plain; charset=utf-8"
|
||||||
forKey: @"Content-Type"];
|
forKey: @"Content-Type"];
|
||||||
foldersEnum = [folders objectEnumerator];
|
|
||||||
while ((currentFolder = [foldersEnum nextObject]))
|
[response appendContentString: [folders JSONRepresentation]];
|
||||||
[response appendContentString:
|
|
||||||
[currentFolder keysWithFormat: @";%{displayName}:%{name}:%{type}:%{formattedName}"]];
|
|
||||||
|
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
|
@ -159,17 +159,17 @@ function foldersSearchCallback(http) {
|
||||||
|
|
||||||
var dd = $("dd" + nodeId);
|
var dd = $("dd" + nodeId);
|
||||||
if (response.length) {
|
if (response.length) {
|
||||||
var folders = response.split(";");
|
var folders = response.evalJSON();
|
||||||
var user = http.callbackData["user"];
|
var user = http.callbackData["user"];
|
||||||
|
|
||||||
dd.innerHTML = '';
|
dd.innerHTML = '';
|
||||||
for (var i = 1; i < folders.length - 1; i++)
|
for (var i = 0; i < folders.length-1; i++)
|
||||||
dd.appendChild(addFolderBranchToTree(d, user, folders[i], nodeId, i, false));
|
dd.appendChild(addFolderBranchToTree(d, user, folders[i], nodeId, i+1, false));
|
||||||
dd.appendChild(addFolderBranchToTree(d, user, folders[folders.length-1], nodeId,
|
dd.appendChild(addFolderBranchToTree(d, user, folders[folders.length-1], nodeId,
|
||||||
(folders.length - 1), true));
|
folders.length, true));
|
||||||
//dd.update(str);
|
//dd.update(str);
|
||||||
for (var i = 1; i < folders.length; i++) {
|
for (var i = 0; i < folders.length; i++) {
|
||||||
var sd = $("sd" + (nodeId + i));
|
var sd = $("sd" + (nodeId + i + 1));
|
||||||
sd.on("click", onTreeItemClick);
|
sd.on("click", onTreeItemClick);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -185,22 +185,21 @@ function foldersSearchCallback(http) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function addFolderBranchToTree(tree, user, folder, nodeId, subId, isLast) {
|
function addFolderBranchToTree(tree, user, folder, nodeId, subId, isLast) {
|
||||||
var folderInfos = folder.split(":");
|
|
||||||
var icon = ResourcesURL + '/';
|
var icon = ResourcesURL + '/';
|
||||||
if (folderInfos[2] == 'Contact')
|
if (folder.type == 'Contact')
|
||||||
icon += 'tb-mail-addressbook-flat-16x16.png';
|
icon += 'tb-mail-addressbook-flat-16x16.png';
|
||||||
else
|
else
|
||||||
icon += 'calendar-folder-16x16.png';
|
icon += 'calendar-folder-16x16.png';
|
||||||
var folderId = user + ":" + folderInfos[1].substr(1);
|
var folderId = user + ":" + folder.name.substr(1);
|
||||||
|
|
||||||
// We sanitize the value to avoid XSS issues
|
// We sanitize the value to avoid XSS issues
|
||||||
var name = folderInfos[0].escapeHTML();
|
var name = folder.displayName.escapeHTML();
|
||||||
var node = new dTreeNode(subId, nodeId, name, 0, '#', folderId,
|
var node = new dTreeNode(subId, nodeId, name, 0, '#', folderId,
|
||||||
folderInfos[2] + '-folder', '', '', icon, icon);
|
folder.type + '-folder', '', '', icon, icon);
|
||||||
node._ls = isLast;
|
node._ls = isLast;
|
||||||
|
|
||||||
var content = tree.node(node, (nodeId + subId), null);
|
var content = tree.node(node, (nodeId + subId), null);
|
||||||
content._formattedName = folderInfos[3];
|
content._formattedName = folder.formattedName;
|
||||||
|
|
||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue