| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- MWF.xApplication.Execution = MWF.xApplication.Execution || {};
- MWF.xDesktop.requireApp("Template", "Explorer", null, false);
- MWF.xDesktop.requireApp("Template", "MPopupForm", null, false);
- MWF.xDesktop.requireApp("Template", "MForm", null, false);
- MWF.require("MWF.xDesktop.UserData", null, false);
- MWF.xApplication.Execution.IdenitySelector = new Class({
- Extends: MPopupForm,
- Implements: [Options, Events],
- options: {
- "style": "default",
- "width": "500",
- "height": "300",
- "hasTop": true,
- "hasIcon": false,
- "hasBottom": true,
- "title": "",
- "draggable": false,
- "closeAction": false,
- "closeText" : "",
- "needLogout" : false,
- "isNew": true
- },
- initialize: function (app, actions, identities, css, options) {
- this.setOptions(options);
- this.app = app;
- this.actions = this.app.restActions;
- this.css = css;
- this.options.title = this.app.lp.idenitySelectTitle;
- this.identities = identities;
- this.actions = actions;
- this.loadCss();
- },
- load: function () {
- this.create();
- },
- loadCss: function () {
- this.cssPath = "/x_component_Execution/$Main/" + this.options.style + "/css.wcss";
- this._loadCss();
- },
- createTopNode: function () {
- if (!this.formTopNode) {
- this.formTopNode = new Element("div.formTopNode", {
- "styles": this.css.formTopNode
- }).inject(this.formNode);
- this.formTopIconNode = new Element("div", {
- "styles": this.css.formTopIconNode
- }).inject(this.formTopNode);
- this.formTopTextNode = new Element("div", {
- "styles": this.css.formTopTextNode,
- "text": this.options.title
- }).inject(this.formTopNode);
- if (this.options.closeAction) {
- this.formTopCloseActionNode = new Element("div", {"styles": this.css.formTopCloseActionNode}).inject(this.formTopNode);
- this.formTopCloseActionNode.addEvent("click", function () {
- this.close();
- }.bind(this));
- }
- this.formTopContentNode = new Element("div", {
- "styles": this.css.formTopContentNode
- }).inject(this.formTopNode);
- this._createTopContent();
- }
- },
- _createTableContent: function () {
- var table = new Element("table",{"width":"100%",border:"0",cellpadding:"5",cellspacing:"0"}).inject(this.formTableArea);
- var tr = new Element("tr").inject(table);
- var td = new Element("td",{valign:"middle"}).inject(tr);
- this.identities.each(function(id,i){
- var name = id.name||id.leaderIdentity.split("@")[0];
- var unit = id.unitName || id["leaderUnitName"].split("@")[0];
- var node = new Element("div", {"styles": this.css["identitySelNode"], "text":name+"("+unit+")"}).inject(td);
- //var node = new Element("div", {"styles": this.css.identitySelNode, "text":id.split("@")[0]}).inject(td);
- node.set("identity",i);
- node.store("id",id);
- node.store("distinguishedName",id.distinguishedName||id.leaderIdentity);
- node.addEvents({
- "mouseover": function(ev){
- if ( this.selectedNode != ev.target ) ev.target.setStyles(this.css["identitySelNode_over"]);
- }.bind(this),
- "mouseout": function(ev){
- if ( this.selectedNode != ev.target ) ev.target.setStyles(this.css["identitySelNode_out"]);
- }.bind(this),
- "click": function(ev){
- this.selected( ev.target );
- }.bind(this),
- "dblclick": function(ev){
- this.selectedNode = ev.target;
- this.ok();
- }.bind(this)
- });
- }.bind(this))
- },
- selected: function( node ){
- if( this.selectedNode )this.selectedNode.setStyles( this.css["identitySelNode"]);
- this.selectedNode = node;
- node.setStyles(this.css["identitySelNode_selected"])
- },
- _createBottomContent: function () {
- this.cancelActionNode = new Element("div.formCancelActionNode", {
- "styles": this.css["formCancelActionNode"],
- "text": this.options.closeText
- }).inject(this.formBottomNode);
- this.cancelActionNode.addEvent("click", function (e) {
- this.cancel(e);
- }.bind(this));
- this.okActionNode = new Element("div.formOkActionNode", {
- "styles": this.css["formOkActionNode"],
- "text": this.app.lp.comfirm
- }).inject(this.formBottomNode);
- this.okActionNode.addEvent("click", function (e) {
- this.ok(e);
- }.bind(this));
- },
- cancel: function(){
- //this.app.close();
- this.fireEvent("postSelectorClose");
- },
- ok: function () {
- if( !this.selectedNode ){
- this.app.notice(this.app.lp.idenitySelecNotice,"error");
- }else{
- var loginData = {};
- loginData.loginIdentity = this.selectedNode.retrieve("distinguishedName");
- if( this.options.needLogout ){
- this.actions.logout( {},function(json){
- if(json.type && json.type =="success"){
- this.actions.login( loginData,function(js){
- MWF.UD.putData("okr_identity_login",{identity:loginData.loginIdentity});
- if(js.data && js.data.okrManager){ this.app.okrManager = js.data.okrManager}
- this.fireEvent("postSelectorOk", loginData.loginIdentity );
- this.close();
- }.bind(this), function(xhr,text,error){
- }.bind(this), false);
- }
- }.bind(this), null, false);
- }else{
- this.actions.login( loginData,function(json){
- MWF.UD.putData("okr_identity_login",{identity:loginData.loginIdentity});
- if(json.data && json.data.okrManager){ this.app.okrManager = json.data.okrManager}
- this.fireEvent("postSelectorOk", loginData.loginIdentity );
- this.close();
- }.bind(this), null, false);
- }
- }
- }
- });
|