1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
|
// todo - Move to class file.
stop();
import mx.utils.Delegate;
import mx.managers.PopUpManager;
import mx.containers.Window;
/**
* Menu Bar Handlers
**/
function onMenuSelect( p_oInfo:Object ) : Void
{
var oItem:Object = p_oInfo.menuItem;
var code = oItem.attributes.code;
var data = oItem.attributes.data;
//trace("onMenuSelect( "+code+" )");
if( code == "Tools.UserManager" ) {
showManagerWindow();
} else if ( code == "Tools.AdminManager" ) {
showAdminWindow();
}
};
mbTopBar.addEventListener( "change", Delegate.create( this, onMenuSelect ) );
//</ menu bar handlers >
/**
* Manager Window Display Handler
**/
// We want to close the window once user is connected.
var conHandler:Object = new Object();
conHandler.connection = function( p_oData:Object ) : Void
{
var code:String = p_oData.code;
if( code == "Connected" ) {
showManagerWindow( false );
} else if ( code == "Close" ) {
showManagerWindow( true );
}
};
/**
* ADMIN window handlers
**/
// todo - need to implement system to connect component after we get
// data about user. this will handle the tardiness.
var admin:Object = new Object();
admin.connection = function( p_oData:Object ) : Void
{
var code:String = p_oData.code;
if( code == "Connected" ) {
this.conData = p_oData;
if( mcAdminManagerWindow != undefined ){
mcAdminManagerWindow.content.connection( p_oData );
}
}
};
admin.change = function( p_oData:Object )
{
var code = p_oData.code;
var data = p_oData.data;
if( code == "User.Local.Change" ) {
this.changeData = p_oData;
if( mcAdminManagerWindow != undefined ){
mcAdminManagerWindow.content.change( p_oData );
} else if( data.type == "moderator" || data.type == "owner" ) {
setAdminMenu();
}
}
};
var mcAdminManagerWindow:Window;
function setAdminMenu( p_bShow:Boolean ) : Void
{
var bShow:Boolean = p_bShow == undefined || p_bShow;
// todo - When logout feature is implemented, need to check if menu is already there.
if( bShow ) {
// add item to menu bar.
mbTopBar.addMenu("Administration").addMenuItem( {label:"Administrator Panel", code:"Tools.AdminManager", data:true} );
mcAdminManagerWindow = this.attachMovie( "Window", "mcAdminManagerWindow", 400, {title:"Administrator Controls",closeButton:true, contentPath:"InfluxisAdminSymbol"} );
showAdminWindow(false);
mcAdminManagerWindow.addEventListener( "click", Delegate.create( this, closeAdminWindow ) );
mcAdminManagerWindow.addEventListener( "complete", Delegate.create( this, onAdminManagerLoaded ) );
}
};
// todo - code is redundant to manager window handlers need to condense
function showAdminWindow( p_bShow:Boolean ) : Void
{
var bShow:Boolean = p_bShow == undefined || p_bShow;
mcAdminManagerWindow._visible = bShow;
if( bShow ) {
resizeAdminWindow();
mcAdminManagerWindow.move( Math.ceil(Stage.width - mcAdminManagerWindow.width)/2, Math.ceil(Stage.height - mcAdminManagerWindow.height)/2 );
} else {
mcAdminManagerWindow.move( -(mcAdminManagerWindow.width), -(mcAdminManagerWindow.height) );
}
};
function resizeAdminWindow() : Void
{
mcAdminManagerWindow.setSize( mcAdminManagerWindow.content.width+25, mcAdminManagerWindow.content.height+50 );
};
function closeAdminWindow() : Void
{
showAdminWindow( false );
};
function onAdminManagerLoaded() : Void
{
var content = mcAdminManagerWindow.content;
//trace( "onAdminManagerLoaded "+content );
content.connection( admin.conData );
content.change( admin.changeData );
//send connection and user data to content window. then replace admin object with this admin content.
};
/**
* Manager Window Handlers
**/
// add item to menu bar.
mbTopBar.addMenu("Member Menu").addMenuItem({label:"Member Properties", code:"Tools.UserManager", data:true});
function showManagerWindow( p_bShow:Boolean ) : Void
{
var bShow:Boolean = p_bShow == undefined || p_bShow;
mcUserManagerWindow._visible = bShow;
if( bShow ) {
resizeManagerWindow();
mcUserManagerWindow.move( Math.ceil(Stage.width - mcUserManagerWindow.width)/2, Math.ceil(Stage.height - mcUserManagerWindow.height)/2 );
} else {
mcUserManagerWindow.move( -(wUserManager.width), -(wUserManager.height) );
}
};
function closeManagerWindow() : Void
{
showManagerWindow( false );
};
function resizeManagerWindow() : Void
{
mcUserManagerWindow.setSize( mcUserManagerWindow.content.width+25, mcUserManagerWindow.content.height+50 );
};
function onUserManagerLoaded() : Void
{
var content = mcUserManagerWindow.content;
//trace( "onUserManagerLoaded "+content );
// wrapper has _ infront of call.
content.ApplicationDirectory = appDirectory;;
content.ComponentList = ["light", "usercolor", "chat", "av1", "av2", "peoplelist", "admin", "conHandler"];
content._addEventListener( "resize", Delegate.create( this, resizeManagerWindow ) );
// window will not center
showManagerWindow();
};
// create window, set usermanager to window.
//var mcUserManagerWindow:MovieClip = PopUpManager.createPopUp( this, Window, true, {closeButton:true, contentPath:"UserManager"} );
var mcUserManagerWindow:Window = this.attachMovie( "Window", "mcUserManagerWindow", 500, {title:"Member Properties",closeButton:true, contentPath:"UserManagerWrapper"} );
showManagerWindow( false );
mcUserManagerWindow.addEventListener( "click", Delegate.create( this, closeManagerWindow ) );
mcUserManagerWindow.addEventListener( "complete", Delegate.create( this, onUserManagerLoaded ) );
//</ end manager window > |
Partager