1 <?xml version="1.0" encoding="utf-8"?>
7 <mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" height="100%" paddingTop="10">
9 <mx:Image source="{bugImage}" width="32" height="32" />
10 <mx:Text text="{bugTitle}" fontWeight="bold" fontSize="18" />
13 <mx:Text text="Created:" />
14 <mx:Text text="{bugCreated}" />
17 <mx:Text text="Updated:" />
18 <mx:Text text="{bugUpdated}" />
21 <mx:Text text="Type of bug: " />
22 <mx:Text text="{bugType}" fontWeight="bold"/>
24 <mx:TextArea editable="false" text="{bugDescription}" width="100%" fontSize="14" minHeight="100" maxHeight="400"/>
26 <mx:ViewStack id="bugControlStack" resizeToContent="true" width="100%">
27 <mx:HBox id="bugFixed" backgroundColor="#ddffdd" width="100%" padding>
28 <mx:Text text="This bug has been marked as Fixed" width="100%"/>
30 <mx:HBox id="bugInvalid" backgroundColor="#dddddd" width="100%">
31 <mx:Text text="This bug has been marked as Invalid" width="100%"/>
33 <mx:HBox id="bugControl" horizontalAlign="right" width="100%">
34 <mx:LinkButton label="Add Comment" enabled="false" />
35 <mx:LinkButton label="Close Bug" click="bugControlStack.selectedChild=closeBugVBox;" />
37 <mx:VBox id="closeBugVBox" visible="false">
38 <mx:Text><mx:text>Add your comment and close the bug</mx:text></mx:Text>
39 <mx:Label><mx:text>NickName</mx:text></mx:Label>
40 <mx:TextInput id="nickName" restrict="a-zA-Z0-9.\-_"/>
41 <mx:Text><mx:text>Comment form</mx:text></mx:Text>
42 <mx:TextArea id="closeComment" />
43 <mx:HBox horizontalAlign="right" width="100%">
44 <mx:LinkButton label="Cancel" click="bugControlStack.selectedChild=bugControl;" />
45 <mx:LinkButton label="Close Bug" click="closeBug()" />
52 import net.systemeD.halcyon.connection.*;
53 import net.systemeD.halcyon.VectorLayer;
54 import net.systemeD.potlatch2.BugLayer;
55 import mx.collections.*;
57 private var selectedEntity:Entity;
58 private var layer:VectorLayer;
60 [Bindable] private var bugId:String;
61 [Bindable] private var bugStatus:String;
62 [Bindable] private var bugDescription:String;
63 [Bindable] private var bugType:String;
64 [Bindable] private var bugImage:String;
65 [Bindable] private var bugTitle:String;
66 [Bindable] private var bugCreated:String;
67 [Bindable] private var bugUpdated:String;
69 public function init(entity:Entity, layer:VectorLayer):void {
71 selectedEntity=entity;
73 bugId = selectedEntity.getTag("bug_id");
74 bugTitle = "Bug "+bugId;
75 bugStatus = selectedEntity.getTag("status");
76 bugDescription = selectedEntity.getTag("description");
77 bugType = selectedEntity.getTag("type").replace(/_/g, " ");
78 bugImage = 'features/bugs/'+bugStatus+'.png';
79 bugCreated = selectedEntity.getTag("date_created");
80 bugUpdated = selectedEntity.getTag("date_updated");
82 if ( bugStatus == BugLayer.status[int(BugLayer.BUG_STATUS_FIXED)] ) {
83 bugControlStack.selectedChild = bugFixed;
84 } else if ( bugStatus == BugLayer.status[int(BugLayer.BUG_STATUS_INVALID)] ) {
85 bugControlStack.selectedChild = bugInvalid;
87 bugControlStack.selectedChild = bugControl;
91 private function closeBug():void {
92 if (layer is BugLayer) {
93 BugLayer(layer).closeBug(selectedEntity as Marker, nickName.text, closeComment.text);
95 bugStatus = selectedEntity.getTag("status");
96 bugControlStack.selectedChild = bugFixed;