📄 welcome.mxml
字号:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:panels="com.flexShowcase.panels.*"
xmlns:remote="com.flexShowcase.net.remote.*"
left="0"
right="0"
top="0"
bottom="0"
backgroundColor="#E5E5E5"
borderColor="#FFFFFF"
borderStyle="solid"
borderThickness="2"
creationComplete="creationCompleteHandler(event)">
<mx:Script>
<![CDATA[
//////////////////////////////////////////////////
//import
import com.flexShowcase.constants.TextRestrictions;
import com.flexShowcase.events.UserEvent;
import com.flexShowcase.net.remote.parsers.*;
import com.flexShowcase.net.remote.*;
import com.flexShowcase.data.User;
import mx.controls.Alert;
import mx.events.ResizeEvent;
import mx.events.ValidationResultEvent;
import mx.rpc.AbstractInvoker;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.validators.Validator;
//////////////////////////////////////////////////
//public variables
[Bindable] public var flexShowcaseServiceConfig:FlexShowcaseServiceConfig;
//////////////////////////////////////////////////
//private variables
[Bindable] private var loginFormIsValid:Boolean;
[Bindable] private var signupFormIsEmpty:Boolean;
[Bindable] private var signupFormIsValid:Boolean;
[Bindable] private var registrationStep1Valid:Boolean;
[Bindable] private var registrationStep2Valid:Boolean;
[Bindable] private var registrationStep3Valid:Boolean;
private var focussedFormControl:DisplayObject;
private var signupUser:User;
//////////////////////////////////////////////////
//initialization
private function creationCompleteHandler(event:Event):void {
loginFormIsValid = false;
signupFormIsEmpty = true;
signupFormIsValid = false;
loginEmail.addEventListener(KeyboardEvent.KEY_DOWN, loginKeyDownHandler);
loginPassword.addEventListener(KeyboardEvent.KEY_DOWN, loginKeyDownHandler);
}
//////////////////////////////////////////////////
//public functions
public function show():void {
loginEmail.text = getSharedObjectEmail();
loginPassword.text = "";
createEmailStep1.text = "";
createEmailStep2.text = "";
createPasswordStep2.text = "";
createEmailStep3.text = "";
createPasswordStep3.text = "";
createNewPasswordStep3.text = "";
loginEmail.errorString = "";
loginPassword.errorString = "";
createEmailStep1.errorString = "";
createEmailStep2.errorString = "";
createPasswordStep2.errorString = "";
createEmailStep3.errorString = "";
createPasswordStep3.errorString = "";
createNewPasswordStep3.errorString = "";
registerStep1.visible = true;
registerStep2.visible = false;
registerStep3.visible = false;
if (loginEmail.text != "") {
focusManager.setFocus(loginPassword);
} else {
focusManager.setFocus(loginEmail);
}
loginFormIsValid = false;
signupFormIsEmpty = true;
signupFormIsValid = false;
registrationStep1Valid = false;
registrationStep2Valid = false;
registrationStep2Valid = false;
signupUser = null;
}
//////////////////////////////////////////////////
//private functions
private function getSharedObjectEmail():String {
var userSharedObject:SharedObject = SharedObject.getLocal("userData");
var email:String;
if (userSharedObject != null) {
email = userSharedObject.data.email;
} else {
email = "";
}
return email
}
private function loginUser(username:String, password:String):void {
dispatchLoginEvent(username, password);
}
private function signupAction():void {
userService.user.register.addEventListener(ResultEvent.RESULT, userRegisterResultHandler);
userService.user.register.addEventListener(FaultEvent.FAULT, userRegisterFaultHandler);
var user:Object = new Object();
user.name = createEmailStep1.text;
user.mail = createEmailStep1.text;
userService.user.register(user);
}
private function loginSignup(username:String, password:String):void {
userService.user.login.addEventListener(ResultEvent.RESULT, userSignupLoginResultHandler);
userService.user.login.addEventListener(FaultEvent.FAULT, userSignupLoginFaultHandler);
userService.user.login(username, password);
}
//validation--------------------------------------
private function validateLoginForm(event:Event):void {
focussedFormControl = event.target as DisplayObject;
loginFormIsValid = true;
validateLogin(loginEmailValidator);
validateLogin(loginPasswordValidator);
}
private function validateLogin(validator:Validator):Boolean {
var validatorSource:DisplayObject = validator.source as DisplayObject;
var suppressEvents:Boolean = (validatorSource != focussedFormControl);
var event:ValidationResultEvent = validator.validate(null, suppressEvents);
var currentControlIsValid:Boolean = (event.type == ValidationResultEvent.VALID);
loginFormIsValid = loginFormIsValid && currentControlIsValid;
return currentControlIsValid;
}
private function validateSignupForm(event:Event):void {
focussedFormControl = event.target as DisplayObject;
signupFormIsEmpty = (createEmailStep1.text == "");
signupFormIsValid = true;
validateSignup(signupEmailValidator);
if(registerStep2.visible){
if (createPasswordStep2.text==""){
signupFormIsValid = false;
}
}
if(registerStep3.visible){
if ((createNewPasswordStep3.text != confirmNewPasswordStep3.text)||confirmNewPasswordStep3.text==""||createNewPasswordStep3.text=="") {
signupFormIsValid = false;
}
}
}
private function validateSignup(validator:Validator):Boolean {
var validatorSource:DisplayObject = validator.source as DisplayObject;
var suppressEvents:Boolean = (validatorSource != focussedFormControl);
var event:ValidationResultEvent = validator.validate(null, suppressEvents);
var currentControlIsValid:Boolean = (event.type == ValidationResultEvent.VALID);
signupFormIsValid = signupFormIsValid && currentControlIsValid;
return currentControlIsValid;
}
//////////////////////////////////////////////////
//dispatch functions
private function dispatchLoginEvent(username:String, password:String):void {
var userEvent:UserEvent = new UserEvent(UserEvent.LOGIN, true);
userEvent.username = username;
userEvent.password = password;
dispatchEvent(userEvent);
}
//////////////////////////////////////////////////
//handler functions
private function loginClickHandler(mouseEvent:MouseEvent):void {
loginUser(loginEmail.text, loginPassword.text);
}
private function loginKeyDownHandler(keyboardEvent:KeyboardEvent):void {
if (keyboardEvent.charCode == 13) {
if (keyboardEvent.currentTarget == loginEmail || keyboardEvent.currentTarget == loginPassword) {
if (loginFormIsValid == true) {
loginUser(loginEmail.text, loginPassword.text);
}
}
}
}
private function signupClickHandler(mouseEvent:MouseEvent):void {
signupAction();
}
private function signupKeyDownHandler(keyboardEvent:KeyboardEvent):void {
if (keyboardEvent.charCode == 13) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -