Merge branch 'master' of github.com:systemed/potlatch2
[potlatch2.git] / net / systemeD / halcyon / JSController.as
1 package net.systemeD.halcyon {
2     import net.systemeD.halcyon.connection.*;
3         import flash.events.*;
4     import flash.external.ExternalInterface;
5
6         /**
7         * JSController provides an interface for Halcyon to call the enclosing page, via JavaScript.
8         */
9
10     public class JSController implements MapController {
11
12         private var map:Map;
13                 private var jsresponder:String;
14
15         /**
16         * @param map
17         * @param jsresponder JavaScript function called when user clicks
18         */
19         public function JSController(map:Map, jsresponder:String) {
20             this.map = map;
21             this.jsresponder = jsresponder;
22         }
23
24         public function setActive():void {
25             map.setController(this);
26         }
27
28         public function entityMouseEvent(event:MouseEvent, entity:Entity):void {
29             if ( event.type == MouseEvent.CLICK )
30                                 ExternalInterface.call(jsresponder, 'click', entity.getType(), entity.id, entity.getTagsCopy());
31         }
32
33     }
34
35 }
36