KWA-MDM/js/data/MDMHierarchyTreeLoader.js
csoni 568eb9170d List folders that have been opened through the api
Added button in MDMDeviceGeneralTab
Created MDMManageSharedFolderContentPanel and MDMManageSharedFolderPanel to show a dialog with multi select hierarchy
Created substore sharedfolder
Added proxy and response handler to handel device response

Used message class instead of object type,
Override hierarchy tree , hierarchy loader and folder node ui
2017-08-04 07:17:11 -07:00

58 lines
2.1 KiB
JavaScript

Ext.namespace('Zarafa.hierarchy.data');
/**
* @class Zarafa.plugins.mdm.data.MDMHierarchyTreeLoader
* @extends Zarafa.hierarchy.data.HierarchyTreeLoader
*
* A Special treeloader to be used by the {@link Zarafa.plugins.mdm.data.MDMHierarchyTreeLoader MDMHierarchyTree}.
* This wil dynamically load the child nodes for a given node by obtaining the subfolders of
* the folder related to the given node.
*/
Zarafa.plugins.mdm.data.MDMHierarchyTreeLoader = Ext.extend(Zarafa.hierarchy.data.HierarchyTreeLoader, {
/**
* @constructor
* @param {Object} config Configuration object
*/
constructor : function(config)
{
Zarafa.plugins.mdm.data.MDMHierarchyTreeLoader.superclass.constructor.call(this, config);
},
/**
* Add extra attributes for a new {@link Zarafa.hierarchy.ui.FolderNode folderNode} which is about
* to be created. This will check the {@link Zarafa.hierarchy.ui.FolderNode#folder folder} to
* see what properties must be set.
*
* Override to provide (@link Zarafa.plugins.mdm.ui.MDMFolderNodeUI MDMFolderNodeUI} to ui provider
* @param {Object} attr The attributes which will be used to create the node
* @return {Zarafa.hierarchy.ui.FolderNode} The created node
*/
createNode : function(attr)
{
var folder = attr.folder;
if (folder) {
if (attr.nodeType === 'rootfolder') {
attr.extendedDisplayName = this.tree.hasFilter();
}
// To uniquely identify the favorites tree nodes we append the "favorites-" key word with node id
// when the node is created.
attr.id = folder.isFavoritesFolder() ? "favorites-" + folder.get('entryid') : folder.get('entryid');
if (folder.isFavoritesRootFolder()) {
attr.leaf = folder.get('assoc_content_count') === 0;
} else {
attr.leaf = !folder.get('has_subfolder');
}
attr.uiProvider = Zarafa.plugins.mdm.ui.MDMFolderNodeUI;
attr.expanded = this.tree.isFolderOpened(folder);
attr.allowDrag = !folder.isDefaultFolder();
}
// call parent of parent because of parent class will change ui provider
return Zarafa.hierarchy.data.HierarchyTreeLoader.superclass.createNode.apply(this, arguments);
}
});