mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-24 03:05:41 +00:00
170 lines
No EOL
5 KiB
JavaScript
170 lines
No EOL
5 KiB
JavaScript
var CloudCommander, CloudFunc, $;
|
|
/* object contains viewer FancyBox
|
|
* https://github.com/fancyapps/fancyBox
|
|
*/
|
|
CloudCommander.Viewer = {
|
|
get: (function(){
|
|
return this.FancyBox;
|
|
})
|
|
};
|
|
|
|
CloudCommander.Viewer.FancyBox = new CloudCommander.Util();
|
|
|
|
CloudCommander.Viewer.dir = './lib/client/viewer/';
|
|
CloudCommander.Viewer.FancyBox.dir = CloudCommander.Viewer.dir +
|
|
'fancybox/';
|
|
|
|
/* function return configureation
|
|
* for FancyBox open and
|
|
* onclick (it shoud be
|
|
* different objects)
|
|
*/
|
|
CloudCommander.Viewer.FancyBox.getConfig = (function(){
|
|
return{
|
|
beforeShow : (function(){
|
|
CloudCommander.keyBinded = false;
|
|
}),
|
|
beforeClose: (function(){
|
|
CloudCommander.keyBinded = true;
|
|
}),
|
|
|
|
openEffect : 'none',
|
|
closeEffect : 'none',
|
|
|
|
helpers : {
|
|
overlay : {
|
|
opacity: 0.1,
|
|
css : {
|
|
'background-color' : '#fff'
|
|
}
|
|
}
|
|
},
|
|
padding : 0
|
|
};
|
|
});
|
|
|
|
/* function loads css and js of FancyBox
|
|
* @pParent - this
|
|
* @pCallBack - executes, when everything loaded
|
|
*/
|
|
CloudCommander.Viewer.FancyBox.load = (function(pParent, pCallBack){
|
|
return function(){
|
|
var ljsLoad_f = function(){
|
|
var lSrc = pParent.dir + 'jquery.fancybox.pack.js';
|
|
pParent.jsload(lSrc,{
|
|
onload: pCallBack
|
|
});
|
|
};
|
|
|
|
var lSrc = pParent.dir +'jquery.fancybox.pack.css';
|
|
pParent.cssLoad({
|
|
src : lSrc,
|
|
func : {
|
|
onload: ljsLoad_f
|
|
}
|
|
});
|
|
}();
|
|
});
|
|
|
|
CloudCommander.Viewer.FancyBox.set = (function(){
|
|
if(this.getByClass('fancybox').length)
|
|
return;
|
|
try{
|
|
/* get current panel (left or right) */
|
|
var lPanel = this.getPanel();
|
|
|
|
/* get all file links */
|
|
var lA = lPanel.getElementsByTagName('a');
|
|
|
|
var lName;
|
|
/* first two is not files nor folders*/
|
|
for (var i=2; i < lA.length; i++) {
|
|
lName = lA[i].title || lA[i].textContent;
|
|
|
|
CloudFunc.checkExtension(lName,
|
|
['png','jpg', 'gif','ico']) &&
|
|
(lA[i].className = 'fancybox') &&
|
|
(lA[i].rel = 'gallery');
|
|
}
|
|
|
|
/* $('.fancybox').fancybox(this.getConfig()); */
|
|
/*
|
|
$('.fancybox').dblclick( function(){
|
|
var lConfig = lThis.getConfig();
|
|
lConfig.href = this.href;
|
|
$.fancybox(lConfig)
|
|
});
|
|
$(Images[i]).data("events").dblclick[0].handler
|
|
*/
|
|
var lImages = $('.fancybox');
|
|
var lThis = this;
|
|
|
|
var lDblClick_f = function(pHref){
|
|
return function(){
|
|
var lConfig = lThis.getConfig();
|
|
lConfig.href = pHref;
|
|
|
|
$.fancybox(lConfig);
|
|
}
|
|
}
|
|
|
|
for(var i=0; i < lImages.length; i++)
|
|
lImages[i].ondblclick = lDblClick_f(lImages[i].href);
|
|
}catch(pError){
|
|
console.log(pError);
|
|
}
|
|
});
|
|
|
|
|
|
CloudCommander.Viewer.show =
|
|
CloudCommander.Viewer.FancyBox.show = (function(pParent){
|
|
CloudCommander.Viewer.FancyBox.set();
|
|
|
|
var lCurrent = this.getCurrentFile();
|
|
var lA = lCurrent.getElementsByClassName('fancybox');
|
|
var lConfig = this.getConfig();
|
|
|
|
lA.length &&
|
|
$.fancybox.open({ href : lA[0].href },
|
|
lConfig);
|
|
});
|
|
|
|
CloudCommander.Viewer.Keys = (function(){
|
|
"use strict";
|
|
|
|
var lCallBack_f = (function(){
|
|
var key_event = (function(){
|
|
return function(event){
|
|
/* если клавиши можно обрабатывать */
|
|
if(CloudCommander.keyBinded)
|
|
/* if f3 pressed */
|
|
if(event.keyCode === CloudCommander.KEY.F3){
|
|
CloudCommander.Viewer.FancyBox.show();
|
|
|
|
event.preventDefault();
|
|
}
|
|
};
|
|
});
|
|
|
|
/* добавляем обработчик клавишь */
|
|
if (document.addEventListener)
|
|
document.addEventListener('keydown', key_event(),false);
|
|
|
|
else{
|
|
var lFunc;
|
|
if(typeof document.onkeydown === 'function')
|
|
lFunc = document.onkeydown;
|
|
|
|
document.onkeydown = function(){
|
|
if(lFunc)
|
|
lFunc();
|
|
|
|
key_event();
|
|
}
|
|
}
|
|
/* showing images preview*/
|
|
CloudCommander.Viewer.FancyBox.show();
|
|
});
|
|
|
|
CloudCommander.Viewer.FancyBox.load(this.FancyBox, lCallBack_f);
|
|
}); |