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) && !(node instanceof Zarafa.hierarchy.ui.RootFolderNode); 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 = '