Source: sdw/applications/userManagerAppDefaultPerspective.js

 /**
 * Dieses Modul definiert die Klasse userManagerAppDefaultPerspective
 * 
 * 
 * @author sdw.systems
 * 
 * @module sdw/applications/userManagerAppDefaultPerspective
 * 
 * @extends module:sdw/templates/application/treePerspective

 * @requires module:sdw/mandant/mandantView
 * @requires module:sdw/nutzer/nutzerView
 * @requires module:sdw/nutzer/nutzerDialogAllgemein
 * @requires module:sdw/nutzer/nutzerDialogAngestellter
 * 
 * @see module:sdw/languagePack
 * @see module:sdw/metadata
 */ 

define([
    "dojo/_base/declare", "dojo/_base/lang", "dojo/dom", "dojo/on", "dijit/registry", "dojo/dom-attr",
    "dijit/Menu", "dijit/MenuItem", "dijit/MenuSeparator", 
    "sdw/util", "sdw/const",
    "sdw/mandant/mandantView", 
    "sdw/nutzer/nutzerView", 
    "sdw/nutzer/nutzerDialogAllgemein", 
    "sdw/nutzer/nutzerDialogAngestellter",
    "sdw/templates/application/treePerspective" 

    ], function(
    	declare, lang, dom, on, registry, domAttr,
    	Menu, MenuItem, MenuSeparator,
		Util, SDWConst,
		MandantView, NutzerView, NutzerDialog, NutzerAngestellterDialog,
		Perspective
){
	
var moduleName="sdw/applications/userManagerAppDefaultPerspective";

/** @const {OPCODE} opcFetchTreeNutzer=108000 */
var opcFetchTreeNutzer=108000;
/** @const {OPCODE} opcFetchTreebranchNutzer=108001 */
var opcFetchTreebranchNutzer=108001;

/** @const {OPCODE} opcDeleteNutzer=108006 */
var opcDeleteNutzer=108006;

return declare(moduleName, Perspective, 
/** @lends module:sdw/applications/userManagerAppDefaultPerspective# */
{
	/** @property {String} moduleName Name des Moduls aus lokaler Konstante */
	moduleName:moduleName,		
			
	/**
	 * Wird von der Basisklasse aufgerufen um Eigenschaften zu setzen
	 */
	setProperties: function() {
		this.opcPopulateTree=opcFetchTreeNutzer;
		this.oidPopulateTree=this.metadata.mandant.oid;
		this.hasContextMenue=true;
		this.queryRootItemParams={"klasse":SDWConst.classMandant};

	},
	
	/**
	 * Überschreibt den Methodenstub der Basisklasse
	 */
	onOpenContextMenue: function(treeItem, treeNode) {
		if (this.debug)	console.log(moduleName+" ->onOpenContextMenue");
		//
		
		 if (treeItem.klasse==SDWConst.klasseMenue) {
         	switch (treeItem.oid) {
           		default:
         		if (this.debug)	console.log(moduleName+" createContextMenue openMyself menue item not dispatched: "+treeItem.oid);
         	}
         }
		 else if (treeItem.klasse==SDWConst.classMandant || treeItem.klasse==SDWConst.klasseAS) {
			 this.setDefaultContextMenueInsertItem("Neuen Nutzer einfügen", true);
			 this.setDefaultContextMenueDuplicateItem("Neuen Nutzer mit Angestelltem einfügen", true);

         }
		 else if (treeItem.klasse==SDWConst.classNutzer) {
			 this.setDefaultContextMenueDeleteItem("Diesen Nutzer löschen", this.view && this.view.oidNutzer && this.view.oidNutzer==treeItem.oid);
         }
         else {
 			if (this.debug)	console.log(moduleName+" createContextMenue openMyself treeItem.klasse not dispatched: "+treeItem.klasse);
         }
		
		//
		if (this.debug)	console.log(moduleName+" <-onOpenContextMenue");
	},

	/**
	 * Überschreibt den Methodenstub der Basisklasse
	 */
	onClickTreeNode: function (treeItem, treeNode) {
		if (this.debug)	console.log(moduleName+" ->onClickTreeNode on treeItem: "+treeItem.oid);
		//
		if (treeItem.klasse==SDWConst.classMandant) {
			this.view=new MandantView({debug:this.debug, languagePack:this.languagePack, metadata:this.metadata, oid:treeItem.oid[0], 
			viewPane:this.viewPane, perspective:this,  oidMandant:treeItem.oid});
			Util.loadTreebranch(this.debug, this.languagePack, treeItem, treeNode, this.storeTree, opcFetchTreebranchNutzer);
		}
		if (treeItem.klasse==SDWConst.classNutzer) {
			this.view=new NutzerView({debug:this.debug, languagePack:this.languagePack, metadata:this.metadata, oid:treeItem.oid[0], 
			viewPane:this.viewPane, perspective:this,  oidNutzer:treeItem.oid});
		}
		else if (treeItem.klasse==SDWConst.klasseAS) {
			var oidMandant=treeNode.getParent().item.oid;
			Util.loadTreebranch(this.debug, this.languagePack, treeItem, treeNode, this.storeTree, opcFetchTreebranchNutzer, 
			oidMandant, {alphabetselektor:treeItem.oid});
		}
		else {
			if (this.debug) console.log(moduleName+" unhandled treeitem: " + treeItem.klasse + " " + treeItem.oid );
		}
	},
	
	/**
	 * Überschreibt den Methodenstub der Basisklasse
	 */
	onClickTreeNodeContextmenue: function (domID, treeItem) {
		if (this.debug)	console.log(moduleName+" ->onClickTreeNodeContextmenue "+domID + " "+treeItem.klasse+ " "+treeItem.oid);
		//
		if (treeItem.klasse==SDWConst.classMandant || treeItem.klasse==SDWConst.klasseAS) {
			if (domID==SDWConst.domIdInsert) new NutzerDialog({debug:this.debug, languagePack:this.languagePack, 
				title:"Nutzer erfassen", metadata:this.metadata,
    			dialogHeadline: "Mandant: "+this.metadata.mandant.name, height:280, 
    			nutzer:null, oidMandant:this.metadata.mandant.oid, caller:this});
			else if (domID==SDWConst.domIdDuplicate) new NutzerAngestellterDialog({debug:this.debug, languagePack:this.languagePack, 
				title:"Nutzer erfassen", metadata:this.metadata,
    			dialogHeadline: "Mandant: "+this.metadata.mandant.name, height:480, 
    			nutzer:null, oidMandant:this.metadata.mandant.oid, caller:this});
		}
		else if (treeItem.klasse==SDWConst.classNutzer) {
			if (domID==SDWConst.domIdDelete) this.confirmAndDelete(treeItem, opcDeleteNutzer);
		}
		//
		if (this.debug)	console.log(moduleName+" <-onClickTreeNodeContextmenue "+domID + " "+treeItem.klasse+ " "+treeItem.oid);
	}
	
	
});});