MWF.xApplication.Profile.options.multitask = false;
MWF.xApplication.Profile.Main = new Class({
Extends: MWF.xApplication.Common.Main,
Implements: [Options, Events],
options: {
"style": "default",
"name": "Profile",
"icon": "icon.png",
"width": "800",
"height": "600",
"isResize": false,
"isMax": false,
"title": MWF.xApplication.Profile.LP.title
},
onQueryLoad: function(){
this.lp = MWF.xApplication.Profile.LP;
},
loadApplication: function(callback){
this.loadTitle();
this.loadContent();
},
loadTitle: function(){
this.loadTitleBar();
this.loadTitleUserNode();
this.loadTitleTextNode();
},
loadTitleBar: function(){
this.titleBar = new Element("div", {
"styles": this.css.titleBar
}).inject(this.content);
},
loadTitleUserNode: function(){
this.titleUserNode = new Element("div", {
"styles": this.css.titleUserNode
}).inject(this.titleBar);
this.titleUserIconNode = new Element("div", {
"styles": this.css.titleUserIconNode
}).inject(this.titleUserNode);
this.titleUserTextNode = new Element("div", {
"styles": this.css.titleUserTextNode,
"text": this.desktop.session.user.name
}).inject(this.titleUserNode);
},
loadTitleTextNode: function(){
this.taskTitleTextNode = new Element("div", {
"styles": this.css.titleTextNode,
"text": this.lp.title
}).inject(this.titleBar);
},
loadContent: function(){
this.contentNode = new Element("div", {"styles": this.css.contentNode}).inject(this.content);
MWF.require("MWF.widget.Tab", function(){
this.tab = new MWF.widget.Tab(this.contentNode, {"style": "profile"});
this.tab.load();
this.loadInforConfigNode();
this.loadLayoutConfigNode();
this.loadIdeaConfigNode();
this.loadPasswordConfigNode();
this.loadSSOConfigNode();
this.inforConfigPage = this.tab.addTab(this.inforConfigNode, this.lp.inforConfig);
this.layoutConfigPage = this.tab.addTab(this.layoutConfigNode, this.lp.layoutConfig);
this.ideaConfigPage = this.tab.addTab(this.ideaConfigNode, this.lp.ideaConfig);
this.passwordConfigPage = this.tab.addTab(this.passwordConfigNode, this.lp.passwordConfig);
this.ssoConfigPage = this.tab.addTab(this.ssoConfigNode, this.lp.ssoConfig);
if (this.options.tab){
this[this.options.tab].showIm();
}else{
this.inforConfigPage.showIm();
}
}.bind(this));
},
loadInforConfigNode: function(){
this.inforConfigNode = new Element("div", {"styles": this.css.configNode}).inject(this.content);
this.inforConfigAreaNode = new Element("div", {"styles": this.css.inforConfigAreaNode}).inject(this.inforConfigNode);
this.getAction(function(){
this.action.getPerson(function(json){
this.personData = json.data;
// var icon = json.data.icon;
// if (!icon){
// if (json.data.genderType=="f"){
// icon = "/x_component_Profile/$Main/"+this.options.style+"/female.png";
// }else{
// icon = "/x_component_Profile/$Main/"+this.options.style+"/man.png";
// }
// }else{
// icon = "data:image/png;base64,"+icon;
// }
//var html = "
" +
// "| 头像: | " +
// "更换头像 |
" +
// "| 姓名: | "+json.data.name+" |
" +
// "| 工号: | "+json.data.employee+" |
" +
// "| 邮件: | |
" +
// "| 微信: | "+json.data.employee+" |
" +
// "| 手机: | "+json.data.employee+" |
" +
// "| QQ: | "+json.data.employee+" |
" +
// "
"
//this.inforConfigAreaNode.set("html", html);
var _self = this;
var lineNode = new Element("div", {"styles": this.css.inforLineNode}).inject(this.inforConfigAreaNode);
var titleNode = new Element("div", {"styles": this.css.inforIconTitleNode, "text": this.lp.icon}).inject(lineNode);
var contentNode = new Element("div", {"styles": this.css.inforIconContentNode}).inject(lineNode);
this.contentImgNode = new Element("img", {"styles": this.css.inforIconContentImgNode, "src": this.action.getPersonIcon()}).inject(contentNode);
var actionNode = new Element("div", {"styles": this.css.inforChangeIconNode, "text": this.lp.changeIcon, "events": {
"click": function(){this.changeIcon();}.bind(this)
}}).inject(lineNode);
var lineNode = new Element("div", {"styles": this.css.inforLineNode}).inject(this.inforConfigAreaNode);
var titleNode = new Element("div", {"styles": this.css.inforTitleNode, "text": this.lp.name}).inject(lineNode);
var contentNode = new Element("div", {"styles": this.css.inforContentNode, "text": json.data.name}).inject(lineNode);
var lineNode = new Element("div", {"styles": this.css.inforLineNode}).inject(this.inforConfigAreaNode);
var titleNode = new Element("div", {"styles": this.css.inforTitleNode, "text": this.lp.employee}).inject(lineNode);
var contentNode = new Element("div", {"styles": this.css.inforContentNode, "text": json.data.employee}).inject(lineNode);
var lineNode = new Element("div", {"styles": this.css.inforLineNode}).inject(this.inforConfigAreaNode);
var titleNode = new Element("div", {"styles": this.css.inforTitleNode, "text": this.lp.mail}).inject(lineNode);
var contentNode = new Element("div", {"styles": this.css.inforContentNode}).inject(lineNode);
this.mailInputNode = new Element("input", {"styles": this.css.inforContentInputNode, "value": json.data.mail, "events": {
"blur": function(){this.setStyles(_self.css.inforContentInputNode);},
"focus": function(){this.setStyles(_self.css.inforContentInputNode_focus);}
}}).inject(contentNode);
var lineNode = new Element("div", {"styles": this.css.inforLineNode}).inject(this.inforConfigAreaNode);
var titleNode = new Element("div", {"styles": this.css.inforTitleNode, "text": this.lp.mobile}).inject(lineNode);
var contentNode = new Element("div", {"styles": this.css.inforContentNode}).inject(lineNode);
this.mobileInputNode = new Element("input", {"styles": this.css.inforContentInputNode, "value": json.data.mobile, "events": {
"blur": function(){this.setStyles(_self.css.inforContentInputNode);},
"focus": function(){this.setStyles(_self.css.inforContentInputNode_focus);}
}}).inject(contentNode);
var lineNode = new Element("div", {"styles": this.css.inforLineNode}).inject(this.inforConfigAreaNode);
var titleNode = new Element("div", {"styles": this.css.inforTitleNode, "text": this.lp.officePhone}).inject(lineNode);
var contentNode = new Element("div", {"styles": this.css.inforContentNode}).inject(lineNode);
this.officePhoneInputNode = new Element("input", {"styles": this.css.inforContentInputNode, "value": json.data.officePhone, "events": {
"blur": function(){this.setStyles(_self.css.inforContentInputNode);},
"focus": function(){this.setStyles(_self.css.inforContentInputNode_focus);}
}}).inject(contentNode);
var lineNode = new Element("div", {"styles": this.css.inforLineNode}).inject(this.inforConfigAreaNode);
var titleNode = new Element("div", {"styles": this.css.inforTitleNode, "text": this.lp.weixin}).inject(lineNode);
var contentNode = new Element("div", {"styles": this.css.inforContentNode}).inject(lineNode);
this.weixinInputNode = new Element("input", {"styles": this.css.inforContentInputNode, "value": json.data.weixin, "events": {
"blur": function(){this.setStyles(_self.css.inforContentInputNode);},
"focus": function(){this.setStyles(_self.css.inforContentInputNode_focus);}
}}).inject(contentNode);
var lineNode = new Element("div", {"styles": this.css.inforLineNode}).inject(this.inforConfigAreaNode);
var titleNode = new Element("div", {"styles": this.css.inforTitleNode, "text": this.lp.QQ}).inject(lineNode);
var contentNode = new Element("div", {"styles": this.css.inforContentNode}).inject(lineNode);
this.qqInputNode = new Element("input", {"styles": this.css.inforContentInputNode, "value": json.data.qq, "events": {
"blur": function(){this.setStyles(_self.css.inforContentInputNode);},
"focus": function(){this.setStyles(_self.css.inforContentInputNode_focus);}
}}).inject(contentNode);
var lineNode = new Element("div", {"styles": this.css.inforLineNode}).inject(this.inforConfigAreaNode);
var titleNode = new Element("div", {"styles": this.css.inforTitleNode, "text": this.lp.signature}).inject(lineNode);
var contentNode = new Element("div", {"styles": this.css.inforContentNode}).inject(lineNode);
this.signatureInputNode = new Element("input", {"styles": this.css.inforContentInputNode, "value": json.data.signature, "events": {
"blur": function(){this.setStyles(_self.css.inforContentInputNode);},
"focus": function(){this.setStyles(_self.css.inforContentInputNode_focus);}
}}).inject(contentNode);
var lineNode = new Element("div", {"styles": this.css.inforLineNode}).inject(this.inforConfigAreaNode);
this.saveAction = new Element("div", {"styles": this.css.saveAction, "text": this.lp.saveInfor}).inject(lineNode);
this.saveAction.addEvent("click", function(){
this.savePersonInfor();
}.bind(this));
}.bind(this), null, this.desktop.session.user.name)
}.bind(this));
},
changeIcon: function(){
var options = {};
var width = "668";
var height = "510";
width = width.toInt();
height = height.toInt();
var size = this.content.getSize();
var x = (size.x-width)/2;
var y = (size.y-height)/2;
if (x<0) x = 0;
if (y<0) y = 0;
if (layout.mobile){
x = 20;
y = 0;
}
var _self = this;
MWF.require("MWF.xDesktop.Dialog", function() {
MWF.require("MWF.widget.ImageClipper", function(){
var dlg = new MWF.xDesktop.Dialog({
"title": this.lp.changePersonIcon,
"style": "image",
"top": y,
"left": x - 20,
"fromTop": y,
"fromLeft": x - 20,
"width": width,
"height": height,
"html": "",
"maskNode": this.content,
"container": this.content,
"buttonList": [
{
"text": MWF.LP.process.button.ok,
"action": function () {
//_self.uploadPersonIcon();
_self.image.uploadImage( function( json ){
_self.action.getPerson(function(json){
if (json.data){
this.personData = json.data;
_self.contentImgNode.set("src", _self.action.getPersonIcon());
}
this.close();
}.bind(this));
}.bind(this), null );
}
},
{
"text": MWF.LP.process.button.cancel,
"action": function () {
_self.image = null;
this.close();
}
}
]
});
dlg.show();
this.image = new MWF.widget.ImageClipper(dlg.content.getFirst(), {
"aspectRatio": 1,
"description" : "",
"imageUrl" : this.action.getPersonIcon(),
"resetEnable" : false,
"data": null,
"parameter": null,
"action": this.action.action,
"method": "changeIcon"
});
this.image.load();
}.bind(this));
}.bind(this))
},
uploadPersonIcon: function(){
if (this.image){
if( this.image.getResizedImage() ){
this.action.changeIcon(function(){
this.action.getPerson(function(json){
if (json.data){
this.personData = json.data;
//if (this.personData.icon){
this.contentImgNode.set("src", this.action.getPersonIcon());
//}
}
}.bind(this))
}.bind(this), null, this.image.getFormData(), this.image.resizedImage);
// this.explorer.actions.changePersonIcon(this.data.id ,function(){
// this.iconNode.set("src", "");
// if (this.item.iconNode) this.item.iconNode.getElement("img").set("src", "");
// window.setTimeout(function(){
// this.iconNode.set("src", this._getIcon(true));
// if (this.item.iconNode) this.item.iconNode.getElement("img").set("src", this.item._getIcon(true));
// }.bind(this), 100);
// }.bind(this), null, this.image.getFormData(), this.image.resizedImage);
}
}
},
// changeIcon: function(){
// if (!this.uploadFileAreaNode){
// this.uploadFileAreaNode = new Element("div");
// var html = "";
// this.uploadFileAreaNode.set("html", html);
//
// this.fileUploadNode = this.uploadFileAreaNode.getFirst();
// this.fileUploadNode.addEvent("change", function(){
//
// var files = fileNode.files;
// if (files.length){
// for (var i = 0; i < files.length; i++) {
// var file = files.item(i);
//
// var formData = new FormData();
// formData.append('file', file);
// //formData.append('name', file.name);
// //formData.append('folder', folderId);
// this.action.changeIcon(function(){
// this.action.getPerson(function(json){
// if (json.data){
// this.personData = json.data;
// //if (this.personData.icon){
// this.contentImgNode.set("src", this.action.getPersonIcon());
// //}
// }
// }.bind(this))
// }.bind(this), null, formData, file);
// }
// }
//
// }.bind(this));
// }
// var fileNode = this.uploadFileAreaNode.getFirst();
// fileNode.click();
// },
savePersonInfor: function(){
this.personData.officePhone = this.officePhoneInputNode.get("value");
this.personData.mail = this.mailInputNode.get("value");
this.personData.mobile = this.mobileInputNode.get("value");
this.personData.weixin = this.weixinInputNode.get("value");
this.personData.qq = this.qqInputNode.get("value");
this.personData.signature = this.signatureInputNode.get("value");
this.action.updatePerson(this.personData, function(){
this.notice(this.lp.saveInforOk, "success");
}.bind(this));
},
loadLayoutConfigNode: function(){
this.layoutConfigNode = new Element("div", {"styles": this.css.configNode}).inject(this.content);
new Element("div", {"styles": this.css.layoutTitleNode, "text": this.lp.layoutAction}).inject(this.layoutConfigNode);
var buttonNode = new Element("div", {"styles": this.css.buttonNodeArea}).inject(this.layoutConfigNode);
this.clearDataAction = new Element("div", {"styles": this.css.clearDataAction, "text": this.lp.clear}).inject(buttonNode);
this.clearDataAction.addEvent("click", function(){
MWF.require("MWF.widget.UUID", function(){
//MWF.UD.putData("layout", {}, function(){
// this.notice(this.lp.clearok, "success");
// this.desktop.notRecordStatus = true;
//}.bind(this));
MWF.UD.deleteData("layout", function(){
this.notice(this.lp.clearok, "success");
this.desktop.notRecordStatus = true;
}.bind(this));
}.bind(this));
}.bind(this));
if (MWF.AC.isAdministrator()){
var defaultNode = new Element("div", {"styles": {"overflow":"hidden", "clear": "left"}}).inject(buttonNode);
this.defaultDataAction = new Element("div", {"styles": this.css.setDefaultDataAction, "text": this.lp.setDefault}).inject(defaultNode);
this.defaultDataAction.addEvent("click", function(){
MWF.require("MWF.widget.UUID", function(){
var text = this.lp.setDefaultOk;
this.close();
var status = layout.desktop.getLayoutStatusData();
MWF.UD.putPublicData("defaultLayout", status, function(){
MWF.xDesktop.notice("success", {"x": "right", "y": "top"}, text, layout.desktop.desktopNode);
}.bind(this));
}.bind(this));
}.bind(this));
this.clearDefaultDataAction = new Element("div", {"styles": this.css.setDefaultDataAction, "text": this.lp.clearDefault}).inject(defaultNode);
this.clearDefaultDataAction.addEvent("click", function(){
MWF.require("MWF.widget.UUID", function(){
MWF.UD.deletePublicData("defaultLayout", function(){
this.notice(this.lp.clearok, "success");
this.desktop.notRecordStatus = true;
}.bind(this));
//
// var text = this.lp.setDefaultOk;
// this.close();
// var status = layout.desktop.getLayoutStatusData();
// MWF.UD.putPublicData("defaultLayout", status, function(){
// MWF.xDesktop.notice("success", {"x": "right", "y": "top"}, text, layout.desktop.desktopNode);
// }.bind(this));
}.bind(this));
}.bind(this));
//var tmpNode = new Element("div", {"styles": {
// "width": "300px",
// "margin": "-20px auto"
//}}).inject(this.layoutConfigNode);
this.forceDataAction = new Element("div", {"styles": this.css.setDefaultDataAction, "text": this.lp.setForce}).inject(buttonNode);
this.forceDataAction.setStyle("float", "left");
this.forceDataAction.addEvent("click", function(){
MWF.require("MWF.widget.UUID", function(){
var text = this.lp.setForceOk;
this.close();
var status = layout.desktop.getLayoutStatusData();
MWF.UD.putPublicData("forceLayout", status, function(){
MWF.xDesktop.notice("success", {"x": "right", "y": "top"}, text, layout.desktop.desktopNode);
}.bind(this));
}.bind(this));
}.bind(this));
this.deleteForceDataAction = new Element("div", {"styles": this.css.setDefaultDataAction, "text": this.lp.clearForce}).inject(buttonNode);
this.deleteForceDataAction.addEvent("click", function(){
MWF.require("MWF.widget.UUID", function(){
MWF.UD.deletePublicData("forceLayout", function(){
this.notice(this.lp.clearok, "success");
this.desktop.notRecordStatus = true;
}.bind(this));
}.bind(this));
}.bind(this));
}
new Element("div", {"styles": this.css.layoutTitleNode, "text": this.lp.desktopBackground}).inject(this.layoutConfigNode);
var UINode = new Element("div", {"styles": this.css.buttonNodeArea}).inject(this.layoutConfigNode);
this.loadDesktopBackground(UINode);
},
loadDesktopBackground: function(UINode){
var currentSrc = layout.desktop.options.style;
MWF.UD.getDataJson("layoutDesktop", function(json){
if (json) currentSrc = json.src;
}.bind(this), false);
MWF.getJSON(layout.desktop.path+"styles.json", function(json){
json.each(function(style){
var img = MWF.defaultPath+"/xDesktop/$Layout/"+style.style+"/preview.jpg";
//var dskImg = MWF.defaultPath+"/xDesktop/$Layout/"+style.style+"/desktop.jpg";
var imgArea = new Element("div", {"styles": this.css.previewBackground}).inject(UINode);
if (currentSrc==style.style){
imgArea.setStyles({"border": "4px solid #ffea00"});
}
new Element("img", {"src": img}).inject(imgArea);
imgArea.store("dskimg", style.style);
var _self = this;
imgArea.addEvent("click", function(){ _self.selectDesktopImg(this, UINode); });
}.bind(this));
}.bind(this));
//MWF.UD.getPublicData("layoutDesktopImgs", function(json){
// if (json) currentSrc = json.src;
//}.bind(this), false);
//
if (MWF.AC.isAdministrator()){
}
},
selectDesktopImg: function(item, UINode){
var desktopImg = item.retrieve("dskimg");
MWF.UD.putData("layoutDesktop", {"src": desktopImg}, function(){
UINode.getChildren().each(function(node){
node.setStyles({"border": "4px solid #eeeeee"});
}.bind(this));
item.setStyles({"border": "4px solid #ffea00"});
var dskImg = MWF.defaultPath+"/xDesktop/$Layout/"+desktopImg+"/desktop.jpg";
layout.desktop.node.setStyle("background-image", "url("+dskImg+")");
}.bind(this));
},
loadIdeaConfigNode: function(){
this.ideaConfigNode = new Element("div", {"styles": this.css.configNode}).inject(this.content);
this.ideasArea = new Element("textarea", {"styles": this.css.ideasArea}).inject(this.ideaConfigNode);
this.ideasSaveAction = new Element("div", {"styles": this.css.ideasSaveAction, "text": this.lp.saveIdea}).inject(this.ideaConfigNode);
if (MWF.AC.isAdministrator()){
this.ideasSaveDefaultAction = new Element("div", {"styles": this.css.ideasSaveAction, "text": this.lp.saveIdeaDefault}).inject(this.ideaConfigNode);
this.ideasSaveDefaultAction.addEvent("click", function(){
MWF.require("MWF.widget.UUID", function(){
var data = {};
data.ideas = this.ideasArea.get("value").split("\n");
MWF.UD.putPublicData("idea", data, function(){
this.notice(this.lp.ideaSaveOk, "success");
}.bind(this));
}.bind(this));
}.bind(this))
}
MWF.require("MWF.widget.UUID", function(){
MWF.UD.getDataJson("idea", function(json){
if (json){
if (json.ideas) this.ideasArea.set("value", json.ideas.join("\n"));
}
}.bind(this));
}.bind(this));
this.ideasSaveAction.addEvent("click", function(){
MWF.require("MWF.widget.UUID", function(){
var data = {};
data.ideas = this.ideasArea.get("value").split("\n");
MWF.UD.putData("idea", data, function(){
this.notice(this.lp.ideaSaveOk, "success");
}.bind(this));
}.bind(this));
}.bind(this))
},
loadPasswordConfigNode: function(){
this.passwordConfigNode = new Element("div", {"styles": this.css.configNode});
this.passwordConfigAreaNode = new Element("div", {"styles": this.css.inforConfigAreaNode}).inject(this.passwordConfigNode);
var _self = this;
var lineNode = new Element("div", {"styles": this.css.inforLineNode}).inject(this.passwordConfigAreaNode);
var titleNode = new Element("div", {"styles": this.css.inforTitleNode, "text": this.lp.oldPassword}).inject(lineNode);
var contentNode = new Element("div", {"styles": this.css.inforContentNode}).inject(lineNode);
this.oldPasswordInputNode = new Element("input", {"type": "password", "styles": this.css.inforContentInputNode, "events": {
"blur": function(){this.setStyles(_self.css.inforContentInputNode);},
"focus": function(){this.setStyles(_self.css.inforContentInputNode_focus);}
}}).inject(contentNode);
var lineNode = new Element("div", {"styles": this.css.inforLineNode}).inject(this.passwordConfigAreaNode);
var titleNode = new Element("div", {"styles": this.css.inforTitleNode, "text": this.lp.password}).inject(lineNode);
var contentNode = new Element("div", {"styles": this.css.inforContentNode}).inject(lineNode);
this.passwordInputNode = new Element("input", {"type": "password", "styles": this.css.inforContentInputNode, "events": {
"blur": function(){
this.setStyles(_self.css.inforContentInputNode);
},
"focus": function(){this.setStyles(_self.css.inforContentInputNode_focus);},
"keyup" : function(){ this.checkPassowrdStrength( this.passwordInputNode.get("value") ) }.bind(this)
}}).inject(contentNode);
var lineNode = new Element("div", {"styles": this.css.inforLineNode}).inject(this.passwordConfigAreaNode);
var titleNode = new Element("div", {"styles": this.css.inforTitleNode}).inject(lineNode);
this.passwordRemindContainer = new Element("div", {"styles": this.css.inforContentNode}).inject(lineNode);
var lineNode = new Element("div", {"styles": this.css.inforLineNode}).inject(this.passwordConfigAreaNode);
var titleNode = new Element("div", {"styles": this.css.inforTitleNode, "text": this.lp.morePassword}).inject(lineNode);
var contentNode = new Element("div", {"styles": this.css.inforContentNode}).inject(lineNode);
this.morePasswordInputNode = new Element("input", {"type": "password", "styles": this.css.inforContentInputNode, "events": {
"blur": function(){this.setStyles(_self.css.inforContentInputNode);},
"focus": function(){this.setStyles(_self.css.inforContentInputNode_focus);}
}}).inject(contentNode);
var lineNode = new Element("div", {"styles": this.css.inforLineNode}).inject(this.passwordConfigAreaNode);
this.saveAction = new Element("div", {"styles": this.css.saveAction, "text": this.lp.passwordConfig}).inject(lineNode);
this.saveAction.addEvent("click", function(){
this.changePassword();
}.bind(this));
this.createPasswordStrengthNode();
this.passworRemindNode = new Element("div",{"styles": this.css.passwordRemindNode, "text": this.lp.paswordRule }).inject( this.passwordRemindContainer );
},
changePassword: function(){
var oldPassword = this.oldPasswordInputNode.get("value");
var password = this.passwordInputNode.get("value");
var morePassword = this.morePasswordInputNode.get("value");
if (password!=morePassword){
this.notice(this.lp.passwordNotMatch, "error");
this.passwordInputNode.setStyles(this.css.inforContentInputNode_error);
this.morePasswordInputNode.setStyles(this.css.inforContentInputNode_error);
}else{
this.action.changePassword(oldPassword, password, morePassword, function(){
this.oldPasswordInputNode.set("value", "");
this.passwordInputNode.set("value", "");
this.morePasswordInputNode.set("value", "");
this.notice(this.lp.changePasswordOk, "success");
}.bind(this));
if (layout.config.mail){
var url = "http://"+layout.config.mail+"//names.nsf?changepassword&password="+encodeURIComponent(oldPassword)+"&passwordnew="+encodeURIComponent(password)+"&passwordconfirm="+encodeURIComponent(password);
var iframe = new Element("iframe", {"styles": {"display": "none"}}).inject(this.desktop.desktopNode);
iframe.set("src", url);
window.setTimeout(function(){
iframe.destroy();
}.bind(this), 2000);
}
}
},
getAction: function(callback){
if (!this.acrion){
this.action = MWF.Actions.get("x_organization_assemble_personal");
if (callback) callback();
// MWF.xDesktop.requireApp("Profile", "Actions.RestActions", function(){
// this.action = new MWF.xApplication.Profile.Actions.RestActions();
// if (callback) callback();
// }.bind(this));
}else{
if (callback) callback();
}
},
createPasswordStrengthNode : function(){
var passwordStrengthArea = this.passwordRemindContainer;
var lowNode = new Element( "div", {styles : this.css.passwordStrengthNode }).inject( passwordStrengthArea );
this.lowColorNode = new Element( "div", {styles : this.css.passwordStrengthColor }).inject( lowNode );
this.lowTextNode = new Element( "div", {styles : this.css.passwordStrengthText, text : this.lp.weak }).inject( lowNode );
var middleNode = new Element( "div" , {styles : this.css.passwordStrengthNode }).inject( passwordStrengthArea );
this.middleColorNode = new Element( "div", {styles : this.css.passwordStrengthColor }).inject( middleNode );
this.middleTextNode = new Element( "div", {styles : this.css.passwordStrengthText, text : this.lp.middle }).inject( middleNode );
var highNode = new Element("div", {styles : this.css.passwordStrengthNode }).inject( passwordStrengthArea );
this.highColorNode = new Element( "div", {styles : this.css.passwordStrengthColor }).inject( highNode );
this.highTextNode = new Element( "div", {styles : this.css.passwordStrengthText, text : this.lp.high }).inject( highNode );
},
getPasswordLevel: function( password, callback ){
/*Level(级别)
•0-3 : [easy]
•4-6 : [midium]
•7-9 : [strong]
•10-12 : [very strong]
•>12 : [extremely strong]
*/
this.getAction( function( ){
this.action.checkPassword( password, function( json ){
if(callback)callback( json.data.value );
}.bind(this), null, false );
}.bind(this) );
},
checkPassowrdStrength: function(pwd){
this.lowColorNode.setStyles( this.css.passwordStrengthColor );
this.lowTextNode.setStyles( this.css.passwordStrengthText );
this.middleColorNode.setStyles( this.css.passwordStrengthColor );
this.middleTextNode.setStyles( this.css.passwordStrengthText );
this.highColorNode.setStyles( this.css.passwordStrengthColor );
this.highTextNode.setStyles( this.css.passwordStrengthText );
if (pwd==null||pwd==''){
}else{
this.getPasswordLevel( pwd, function( level ){
switch(level) {
case 0:
case 1:
case 2:
case 3:
this.lowColorNode.setStyles( this.css.passwordStrengthColor_low );
this.lowTextNode.setStyles( this.css.passwordStrengthText_current );
break;
case 4:
case 5:
case 6:
this.middleColorNode.setStyles( this.css.passwordStrengthColor_middle );
this.middleTextNode.setStyles( this.css.passwordStrengthText_current );
break;
default:
this.highColorNode.setStyles( this.css.passwordStrengthColor_high );
this.highTextNode.setStyles( this.css.passwordStrengthText_current );
}
}.bind(this) )
}
},
loadSSOConfigNode: function(){
this.ssoConfigNode = new Element("div", {"styles": this.css.configNode}).inject(this.content);
this.ssoConfigTitleNode = new Element("div", {"styles": this.css.ssoConfigTitleNode, "text": this.lp.bindOauth}).inject(this.ssoConfigNode);
this.ssoConfigAreaNode = new Element("div", {"styles": {"padding": "10px 40px"}}).inject(this.ssoConfigNode);
MWF.Actions.get("x_organization_assemble_authentication").listOauthServer(function(json){
json.data.each(function(d){
var node = new Element("a", {
"styles": {"font-size": "14px", "display": "block", "margin-bottom": "10px"},
"text": d.displayName,
"target": "_blank",
"href": "/x_desktop/oauth.html?oauth="+encodeURIComponent(d.name)+"&redirect="+"&method=oauthBind"
}).inject(this.ssoConfigAreaNode)
}.bind(this));
}.bind(this));
// this.ideasArea = new Element("textarea", {"styles": this.css.ideasArea}).inject(this.ideaConfigNode);
// this.ideasSaveAction = new Element("div", {"styles": this.css.ideasSaveAction, "text": this.lp.saveIdea}).inject(this.ideaConfigNode);
//
// if (MWF.AC.isAdministrator()){
// this.ideasSaveDefaultAction = new Element("div", {"styles": this.css.ideasSaveAction, "text": this.lp.saveIdeaDefault}).inject(this.ideaConfigNode);
// this.ideasSaveDefaultAction.addEvent("click", function(){
// MWF.require("MWF.widget.UUID", function(){
// var data = {};
// data.ideas = this.ideasArea.get("value").split("\n");
// MWF.UD.putPublicData("idea", data, function(){
// this.notice(this.lp.ideaSaveOk, "success");
// }.bind(this));
// }.bind(this));
// }.bind(this))
// }
//
// MWF.require("MWF.widget.UUID", function(){
// MWF.UD.getDataJson("idea", function(json){
// if (json){
// if (json.ideas) this.ideasArea.set("value", json.ideas.join("\n"));
// }
// }.bind(this));
// }.bind(this));
//
// this.ideasSaveAction.addEvent("click", function(){
// MWF.require("MWF.widget.UUID", function(){
// var data = {};
// data.ideas = this.ideasArea.get("value").split("\n");
// MWF.UD.putData("idea", data, function(){
// this.notice(this.lp.ideaSaveOk, "success");
// }.bind(this));
// }.bind(this));
// }.bind(this))
}
});