Here is just emaple, you can develop zimlet your own
com_zimbra_test1.prototype.init = function() {
//call this immediately after login to set new listner for SPAM button
this.replaceMailToolbarBtnListener(ZmId.OP_SPAM, new AjxListener(this, this._newSelectionListener));
};
//Replace ALL listeners that are registered for SELECTION event with the new listner
com_zimbra_test1.prototype.replaceMailToolbarBtnLi stener = function(btnName, newListner) {
var controller = null;
var btn = null;
//keep track of all the views for which we have already set a new listner
if (this._viewHasNewListner == undefined) {
this._viewHasNewListner = [];
}
var viewId = appCtxt.getAppViewMgr().getCurrentViewId();
if (viewId != ZmId.VIEW_CONVLIST && viewId != ZmId.VIEW_CONV && viewId != ZmId.VIEW_TRAD && viewId == ZmId.VIEW_MSG) {
return;
}
if (this._viewHasNewListner[viewId]) {//already has listener
return;
}
if (viewId == ZmId.VIEW_CONVLIST) {
controller = AjxDispatcher.run("GetConvListController");
btn = controller._toolbar.CLV.getButton(btnName);
} else if (viewId == ZmId.VIEW_CONV) {
controller = AjxDispatcher.run("GetConvController");
btn = controller._toolbar.CV.getButton(btnName);
} else if (viewId == ZmId.VIEW_TRAD) {
controller = AjxDispatcher.run("GetTradController");
btn = controller._toolbar.TV.getButton(btnName);
} else if (viewId == ZmId.VIEW_MSG) {
controller = AjxDispatcher.run("GetMsgController");
btn = controller._toolbar.MSG.getButton(btnName);
}
this._viewHasNewListner[viewId] = true;
btn.removeSelectionListeners();//remove all earlier listners
btn.addSelectionListener(newListner);
};
//onShowView is called everytime a view is changed. It adds listners when user changes views(as they appear)
com_zimbra_test1.prototype.onShowView = function(viewId, isNewView) {
if (viewId == ZmId.VIEW_CONVLIST || viewId == ZmId.VIEW_CONV || viewId == ZmId.VIEW_TRAD || viewId == ZmId.VIEW_MSG) {
this.replaceMailToolbarBtnListener(ZmId.OP_SPAM, new AjxListener(this, this._newSelectionListener));
}
};
//New listener
com_zimbra_test1.prototype._newSelectionListener = function(obj) {
alert("Do Something Else Here!");
}; |