From 93493f1780c5fcf3a6d79e3303f4295629a7c09a Mon Sep 17 00:00:00 2001 From: coderaiser Date: Thu, 26 Jul 2012 06:37:03 -0400 Subject: [PATCH] added callback to load --- client.js | 7 ++-- lib/client/viewer.js | 76 ++++++++++++++++++++++++-------------------- 2 files changed, 46 insertions(+), 37 deletions(-) diff --git a/client.js b/client.js index 11193412..0f3435e0 100644 --- a/client.js +++ b/client.js @@ -155,10 +155,11 @@ CloudClient.Editor = (function(){ /* function loads and shows viewer */ CloudClient.Viewer = (function(){ - CloudCommander.jsload('lib/client/viewer.js', - function(){ + CloudCommander.jsload('lib/client/viewer.js',{ + onload: (function(){ CloudCommander.Viewer.Keys(); - }); + }) + }); }); /* * Функция привязываеться ко всем ссылкам и diff --git a/lib/client/viewer.js b/lib/client/viewer.js index 605e4df9..eb962b6f 100644 --- a/lib/client/viewer.js +++ b/lib/client/viewer.js @@ -39,20 +39,26 @@ CloudCommander.Viewer.FancyBox = { padding : 0 }; }), - load: (function(pParent){ + /* function loads css and js of FancyBox + * @pParent - this + * @pCallBack - executes, when everything loaded + */ + load: (function(pParent, pCallBack){ return function(){ var ljsLoad_f = function(){ var lSrc = 'http://fancyapps.com/fancybox/source/jquery.fancybox.pack.js'; CloudCommander.jsload(lSrc,{ - onerror: (function(){ + onload: pCallBack, + + onerror: (function(){ pParent.removeNotLoaded({src: lSrc, parent : pParent, from : document.body - }); + }); CloudCommander.jsload(pParent.dir + - 'jquery.fancybox.pack.js'); + 'jquery.fancybox.pack.js', {onload: pCallBack}); }) }); }; @@ -127,38 +133,40 @@ CloudCommander.Viewer.FancyBox = { }; CloudCommander.Viewer.Keys = (function(){ "use strict"; - - CloudCommander.Viewer.FancyBox.load(this.FancyBox); - - var key_event = function(pParent){ - return function(event){ - /* если клавиши можно обрабатывать */ - if(CloudCommander.keyBinded){ - /* if f3 pressed */ - if(event.keyCode===114){ - CloudCommander.Viewer.FancyBox.set(); - var lCurrent = pParent.getByClass('current-file'); - lCurrent.length && - (lCurrent = lCurrent[0]); + + var lCallBack_f = (function(){ + var key_event = function(pParent){ + return function(event){ + /* если клавиши можно обрабатывать */ + if(CloudCommander.keyBinded){ + /* if f3 pressed */ + if(event.keyCode===114){ + CloudCommander.Viewer.FancyBox.set(); + var lCurrent = pParent.getByClass('current-file'); + lCurrent.length && + (lCurrent = lCurrent[0]); + + var lA = lCurrent.getElementsByClassName('fancybox'); + + var lConfig = pParent.FancyBox.getConfig(); + + lA.length && + $.fancybox.open({ href : lA[0].href }, + lConfig); - var lA = lCurrent.getElementsByClassName('fancybox'); - - var lConfig = pParent.FancyBox.getConfig(); - - lA.length && - $.fancybox.open({ href : lA[0].href }, - lConfig); - - event.preventDefault(); + event.preventDefault(); + } } - } + }; }; - }; - - /* добавляем обработчик клавишь */ - if (document.addEventListener) - document.addEventListener('keydown', key_event(this),false); + + /* добавляем обработчик клавишь */ + if (document.addEventListener) + document.addEventListener('keydown', key_event(this),false); + + else + document.onkeypress=key_event; + }); - else - document.onkeypress=key_event; + CloudCommander.Viewer.FancyBox.load(this.FancyBox, lCallBack_f); }); \ No newline at end of file