Ext.namespace('Zarafa.plugins.mdm.ui');
/**
* @class Zarafa.plugins.mdm.ui.MDMFolderNodeUI
* @extends Zarafa.hierarchy.ui.FolderNodeUI
*
* {@link Zarafa.hierarchy.ui.FolderNodeUI} has limitation that it can add
* (@link Ext.form.Checkbox check box} preceded to calendar item only.
* So, It will add (@link Ext.form.Checkbox check box} preceded to all context items.
*/
Zarafa.plugins.mdm.ui.MDMFolderNodeUI = Ext.extend(Zarafa.hierarchy.ui.FolderNodeUI, {
/**
* Function will render {@link Zarafa.hierachy.ui.FolderNode FolderNode} based on modified template for
* our custom needs.
* @param {Zarafa.hierarchy.ui.FolderNode} node tree node.
* @param {Object} config config object of {@link Zarafa.hierarchy.ui.FolderNode FolderNode}.
* @param {Ext.Element} targetNode element in which {@link Zarafa.hierarchy.ui.FolderNode FolderNode} will be rendered.
* @param {Boolean} bulkRender
*/
renderElements : function(node, config, targetNode, bulkRender)
{
// add some indent caching, this helps performance when rendering a large tree
this.indentMarkup = node.parentNode ? node.parentNode.ui.getChildIndent() : '';
var scheme;
var cb = Ext.isBoolean(config.checked);
var isCalenderNode = config.folder.isCalendarFolder();
var calendarSVGIcon = '';
if (isCalenderNode) {
var calendarContextModel = node.getOwnerTree().model;
// We started providing color choosing facility to all the calendar tree-nodes.
// CalendarContextModel is responsible for this facility.
// There is no CalendarContextModel available in the case where that particular
// calendar-tree-node doesn't belongs to MultiSelectHierarchyTree.
// So, simply made that ContextModel available to current HierarchyTree.
if (!calendarContextModel) {
var calendarContext = container.getContextByName('calendar');
calendarContextModel = calendarContext.getModel();
node.getOwnerTree().model = calendarContextModel;
}
scheme = calendarContextModel.getColorScheme(config.folder.get('entryid'));
// Get the scheme base only if we are able to get scheme successfully,
// otherwise let it be undefined instead of a JS fatal error.
if(scheme && scheme.base) {
calendarSVGIcon = '' ;
}
}
var icon = '',
nel,
href = config.href ? config.href : Ext.isGecko ? "" : "#",
buf = '