/* Copyright (c) 2006-2007, ePages GmbH All Rights Reserved. epages.cartridges.de_epages.mediagallery.widget.Imagedbtree */ dojo.provide("epages.cartridges.de_epages.mediagallery.widget.Imagedbtree"); dojo.require("dijit.Tree"); dojo.declare( "epages.cartridges.de_epages.mediagallery.widget.Imagedbtree", [dijit.Tree], { /** * public properties */ listId : "", label : 'ImageDB', persist : true, /** * private properties */ /** * public methods */ postCreate : function() { this.inherited("postCreate", arguments); }, onClick: function(item, node){ //check if title of tree was clicked and load files if neccessary var filelist = $$(this.listId); var directory = this.label; if(node && node.isTree == true){ filelist.destroyDescendants(); } if(item){ directory = item.title; if(this.listId != ""){ var files = this.store.parseFiles(item.objectId); if(files){ filelist.setChildren(files); } else{ filelist.destroyDescendants(); } } } this.focusNode(node); dojo.publish(this.id+'/select',[{node:node, currentDirectory: directory}]); }, focusNode: function(node) { this.blurNode(); try{ node.labelNode.focus(); } catch(e){ console.error(e); } dojo.addClass(node.labelNode,"Selected"); this.lastFocused = node; }, blurNode: function() { var node = this.lastFocused; if(!node){ return; } dojo.removeClass(node.labelNode, "Selected"); var labelNode = node.labelNode; dojo.removeClass(labelNode, "dijitTreeLabelFocused"); labelNode.setAttribute("tabIndex", "-1"); this.lastFocused = null; }, getLabelClass: function(/*dojo.data.Item*/ item){ // summary: user overridable function to return CSS class name to display label //if no return value is set dojo adds a class "undefined" to every label in the tree return ''; } });