Page Menu
Home
GnuPG
Search
Configure Global Search
Log In
Files
F34634072
behavior-aphlict-dropdown.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Size
1 KB
Subscribers
None
behavior-aphlict-dropdown.js
View Options
/**
* @provides javelin-behavior-aphlict-dropdown
* @requires javelin-behavior
* javelin-request
* javelin-stratcom
* javelin-vector
* javelin-dom
*/
JX
.
behavior
(
'aphlict-dropdown'
,
function
(
config
)
{
var
dropdown
=
JX
.
$
(
config
.
dropdownID
);
var
count
=
JX
.
$
(
config
.
countID
);
var
bubble
=
JX
.
$
(
config
.
bubbleID
);
var
visible
=
false
;
var
request
=
null
;
function
refresh
()
{
if
(
request
)
{
//already fetching
return
;
}
request
=
new
JX
.
Request
(
'/notification/panel/'
,
function
(
response
)
{
var
display
=
(
response
.
number
>
999
)
?
"\u221E"
:
response
.
number
;
JX
.
DOM
.
setContent
(
count
,
display
);
if
(
response
.
number
==
0
)
{
JX
.
DOM
.
alterClass
(
bubble
,
'alert-unread'
,
false
);
}
else
{
JX
.
DOM
.
alterClass
(
bubble
,
'alert-unread'
,
true
);
}
JX
.
DOM
.
setContent
(
dropdown
,
JX
.
$H
(
response
.
content
));
request
=
null
;
});
request
.
send
();
}
JX
.
Stratcom
.
listen
(
'click'
,
null
,
function
(
e
)
{
if
(
e
.
getNode
(
'phabricator-notification-menu'
))
{
// Click is inside the dropdown.
return
;
}
JX
.
DOM
.
hide
(
dropdown
);
visible
=
false
;
});
JX
.
DOM
.
listen
(
bubble
,
'click'
,
null
,
function
(
e
)
{
if
(
!
e
.
isNormalClick
())
{
return
;
}
if
(
visible
)
{
JX
.
DOM
.
hide
(
dropdown
);
}
else
{
refresh
();
var
p
=
JX
.
$V
(
bubble
);
p
.
y
=
null
;
p
.
x
-=
6
;
p
.
setPos
(
dropdown
);
JX
.
DOM
.
show
(
dropdown
);
}
visible
=
!
visible
;
e
.
kill
();
}
)
JX
.
Stratcom
.
listen
(
'notification-panel-update'
,
null
,
refresh
);
});
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Jan 20, 11:43 PM (9 h, 31 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
48/6e/cc0f5201b32e7f32070f999a3638
Attached To
rPHAB Phabricator
Event Timeline
Log In to Comment