Skip to content

Commit f129e55

Browse files
author
Chris K
committed
Added files for event listener tooltip.
1 parent fadefe9 commit f129e55

File tree

4 files changed

+128
-0
lines changed

4 files changed

+128
-0
lines changed

src/build-application/build_ecmascript_debugger_6_0.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ window.app.builders.EcmascriptDebugger["6.0"] = function(service)
2020

2121
cls.InspectableJSObject = namespace.InspectableJSObject;
2222
cls.JSInspectionTooltip.register();
23+
cls.EvListenerTooltip.register();
2324
// disabled for now. see CORE-32113
2425
// cls.InspectableJSObject.register_enabled_listener();
2526
// for now we are filtering on the client side

src/client-en.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,8 @@ window.load_screen_timeout = window.setTimeout(function()
413413
<script src="./ecma-debugger/watches/view.js"/>
414414
<script src="./ecma-debugger/watches/propertyeditor.js"/>
415415
<script src="./ecma-debugger/jssourcetooltip.js"/>
416+
<script src="./ecma-debugger/evlistenertooltip/evlistenertooltip.js"/>
417+
<script src="./ecma-debugger/evlistenertooltip/evlistenertemplates.js"/>
416418

417419
<script src="./searches/jssearchview.js"/>
418420

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
(function()
2+
{
3+
this.ev_listeners = function(listener_list)
4+
{
5+
return ["table", ["tbody", listener_list.map(this._ev_listener, this)]];
6+
};
7+
8+
this._ev_listener = function(listener)
9+
{
10+
var EVENT_TYPE = 0;
11+
var ORIGIN = 1;
12+
var ORIGIN_EVENT_TARGET = 1;
13+
var ORIGIN_ATTRIBUTE = 2;
14+
var POSITION = 2;
15+
var USE_CAPTURE = 3;
16+
var LISTENER_OBJECT_ID = 4;
17+
var LISTENER_SCRIPT_DATA = 5;
18+
19+
var ret = [];
20+
var row =
21+
["tr",
22+
["td",
23+
["h2", listener[EVENT_TYPE], "class", "evl-type"]],
24+
["td", listener[USE_CAPTURE] ? "capturing phase" : "bubbling phase"]];
25+
ret push(row);
26+
return ret;
27+
28+
}
29+
30+
}).apply(window.templates || (window.templates = {}));
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
"use strict";
2+
3+
window.cls || (window.cls = {});
4+
5+
cls.EvListenerTooltip = function()
6+
{
7+
8+
9+
var _tooltip = null;
10+
11+
12+
13+
14+
var _hide_tooltip = function()
15+
{
16+
_tooltip.hide();
17+
};
18+
19+
var _ontooltipenter = function(event)
20+
{
21+
if (!_cur_ctx)
22+
return;
23+
24+
switch (_cur_ctx.type.type)
25+
{
26+
case cls.PrettyPrinter.ELEMENT:
27+
if (settings.dom.get("highlight-on-hover"))
28+
hostspotlighter.spotlight(_cur_ctx.obj_id, true);
29+
break;
30+
}
31+
};
32+
33+
var _ontooltipleave = function(event)
34+
{
35+
if (!_cur_ctx)
36+
return;
37+
38+
switch (_cur_ctx.type.type)
39+
{
40+
case cls.PrettyPrinter.ELEMENT:
41+
if (settings.dom.get("highlight-on-hover"))
42+
{
43+
if (views.dom.isvisible() && dom_data.target)
44+
hostspotlighter.spotlight(dom_data.target, true);
45+
else
46+
hostspotlighter.clearSpotlight();
47+
}
48+
break;
49+
}
50+
};
51+
52+
var _ontooltipclick = function(event)
53+
{
54+
if (!_cur_ctx)
55+
return;
56+
57+
switch (_cur_ctx.type.type)
58+
{
59+
case cls.PrettyPrinter.ELEMENT:
60+
UI.get_instance().show_view("dom");
61+
dom_data.get_dom(_cur_ctx.rt_id, _cur_ctx.obj_id);
62+
_hide_tooltip();
63+
break;
64+
}
65+
};
66+
67+
var _ontooltip = function(event, target)
68+
{
69+
70+
_hide_tooltip();
71+
_tooltip.show(["span", "hello"]);
72+
73+
74+
};
75+
76+
var _init = function(view)
77+
{
78+
_tooltip = Tooltips.register(cls.EvListenerTooltip.tooltip_name, true);
79+
80+
_tooltip.ontooltip = _ontooltip;
81+
_tooltip.onhide = _hide_tooltip;
82+
//_tooltip.ontooltipenter = _ontooltipenter;
83+
//_tooltip.ontooltipleave = _ontooltipleave;
84+
//_tooltip.ontooltipclick = _ontooltipclick;
85+
};
86+
87+
_init();
88+
};
89+
90+
cls.EvListenerTooltip.tooltip_name = "event-listener";
91+
92+
cls.EvListenerTooltip.register = function()
93+
{
94+
this._tooltip = new cls.EvListenerTooltip();
95+
};

0 commit comments

Comments
 (0)