source: EDIS/tags/ed/tracking-ui-core/src/main/flex/gov/va/med/edp/widget/OkCancelDialog.mxml@ 1240

Last change on this file since 1240 was 1240, checked in by George Lilly, 13 years ago

new version from the VA

File size: 3.7 KB
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:widget="gov.va.med.edp.widget.*" paddingTop="0"
3 borderThicknessTop="0" creationComplete="creationCompleteHandler()" maxHeight="500" maxWidth="700"
4 minWidth="280" minHeight="180" horizontalAlign="center" verticalAlign="top" layout="vertical"
5 xmlns:accessibility="flash.accessibility.*">
6 <mx:Script>
7 <![CDATA[
8 import gov.va.med.edp.util.AccessibilityTools;
9 import gov.va.med.edp.control.ModalDialogEvent;
10 import mx.events.CloseEvent;
11 import mx.core.UIComponent;
12 import mx.core.Application;
13 import mx.managers.PopUpManager;
14
15 [Bindable]
16 private var message : String;
17 private var invoker : UIComponent;
18
19 private var closeListener : Function = null;
20
21 public static const OK:uint = 0x0004;
22 public static const CANCEL:uint= 0x0008;
23
24
25 public static function show(message:String,
26 title:String = "Alert",
27 closeListener:Function = null, invokerComponent:UIComponent = null) : void {
28 var dialog:OkCancelDialog = OkCancelDialog(PopUpManager.createPopUp(Application.application as DisplayObject, OkCancelDialog, true));
29 if (title != null && title.length > 0)
30 dialog.title = title;
31 dialog.message = message;
32 if (closeListener != null)
33 dialog.addEventListener(CloseEvent.CLOSE, closeListener);
34
35 dialog.invoker = invokerComponent;
36 //Dispatch the event for get clear background
37 Application.application.dispatchEvent(new ModalDialogEvent(ModalDialogEvent.OPEN));
38 PopUpManager.centerPopUp(dialog);
39 }
40
41 private function creationCompleteHandler() : void {
42 var focusTimer: Timer = new Timer(500, 1);
43 focusTimer.addEventListener(TimerEvent.TIMER, moveFocus);
44 focusTimer.start();
45 }
46
47 private function okButtonHandler() : void {
48 dispatchEvent(new CloseEvent(CloseEvent.CLOSE,false,false,OK));
49 removePopUp();
50 }
51
52 private function cancelButtonHandler() : void {
53 dispatchEvent(new CloseEvent(CloseEvent.CLOSE,false,false,CANCEL));
54 removePopUp();
55 }
56
57 private function removePopUp(): void
58 {
59 //Dispatch the event for remove clear background
60 Application.application.dispatchEvent(new ModalDialogEvent(ModalDialogEvent.CLOSE));
61 PopUpManager.removePopUp(this);
62
63 if (invoker != null){
64 callLater(setUIComponentFocus);
65 }
66 }
67
68 private function setUIComponentFocus(): void
69 {
70 invoker.setFocus();
71 }
72
73 private function moveFocus(e: TimerEvent): void
74 {
75 if (AccessibilityTools.isAccessibilityActive()) {
76 messageBox.setFocus();
77 } else {
78 messageBox.editable = false;
79 cancelBtn.setFocus();
80 }
81 }
82
83
84 ]]>
85 </mx:Script>
86
87 <accessibility:AccessibilityProperties name="Info Dialog {this.title}" id="accessibleMessage"/>
88
89
90 <mx:VBox id="contentBox" width="100%" height="100%">
91 <mx:TextArea restrict="*~_" id="messageBox" text="{message}" width="100%" height="100%" borderThickness="0" tabIndex="1" accessibilityProperties="{accessibleMessage}"/>
92 </mx:VBox>
93 <mx:ControlBar width="100%" horizontalAlign="right">
94 <mx:Spacer width="100%"/>
95 <mx:Button label="OK" click="okButtonHandler()" tabIndex="2"/>
96 <mx:Button label="Cancel" id="cancelBtn" click="cancelButtonHandler()" tabIndex="3"/>
97 </mx:ControlBar>
98</mx:TitleWindow>
Note: See TracBrowser for help on using the repository browser.