Changeset View
Changeset View
Standalone View
Standalone View
webroot/rsrc/js/core/behavior-lightbox-attachments.js
Show First 20 Lines • Show All 44 Lines • ▼ Show 20 Lines | JX.behavior('lightbox-attachments', function (config) { | ||||
function loadLightBox(e) { | function loadLightBox(e) { | ||||
if (!e.isNormalClick()) { | if (!e.isNormalClick()) { | ||||
return; | return; | ||||
} | } | ||||
e.kill(); | e.kill(); | ||||
var links = JX.DOM.scry(document, 'a', 'lightboxable'); | var mainFrame = JX.$('main-page-frame'); | ||||
var links = JX.DOM.scry(mainFrame, 'a', 'lightboxable'); | |||||
var phids = {}; | var phids = {}; | ||||
var data; | var data; | ||||
for (var i = 0; i < links.length; i++) { | for (var i = 0; i < links.length; i++) { | ||||
data = JX.Stratcom.getData(links[i]); | data = JX.Stratcom.getData(links[i]); | ||||
phids[data.phid] = links[i]; | phids[data.phid] = links[i]; | ||||
} | } | ||||
// Now that we have the big picture phid situation sorted out, figure | // Now that we have the big picture phid situation sorted out, figure | ||||
▲ Show 20 Lines • Show All 250 Lines • ▼ Show 20 Lines | function loadAnotherLightBox(el, e) { | ||||
if (!el) { | if (!el) { | ||||
return; | return; | ||||
} | } | ||||
e.prevent(); | e.prevent(); | ||||
closeLightBox(e); | closeLightBox(e); | ||||
el.click(); | el.click(); | ||||
} | } | ||||
JX.Stratcom.listen( | // Only look for lightboxable inside the main page, not other lightboxes. | ||||
JX.DOM.listen( | |||||
JX.$('main-page-frame'), | |||||
'click', | 'click', | ||||
['lightboxable'], | ['lightboxable'], | ||||
loadLightBox); | loadLightBox); | ||||
JX.Stratcom.listen( | JX.Stratcom.listen( | ||||
'keydown', | 'keydown', | ||||
null, | null, | ||||
lightBoxHandleKeyDown); | lightBoxHandleKeyDown); | ||||
▲ Show 20 Lines • Show All 48 Lines • Show Last 20 Lines |