www.gusucode.com > Kodexplorer 可道云PHP在线文件管理系统源码程序 > kodexplorer_v4.32/plugins/picasa/static/page.js
define(function(require, exports) { var imageUrl = function(path){ if(path.substr(0,4) == 'http'){ return path; } //gif 预览 if(core.pathExt(path) == 'gif'){ return core.path2url(path); } var imageThumb = G.appHost+'explorer/image'; if(G.sid){ imageThumb = G.appHost+'share/image&user='+G.user+'&sid='+G.sid; } imageThumb += '&path='+urlEncode(path)+'&thumbWidth=1200'; return imageThumb; } var getImageArr = function(imagePath){ var items = []; var index = -1; if(window.Config){ if(Config.pageApp == 'editor'){ var $folder = $(".curSelectedNode").parent().parent(); var fileNum = 0; var zTree = ui.tree.zTree() $folder.find('li[treenode]').each(function(){ var node = zTree.getNodeByTId($(this).attr('id')); if(!node) return; var thePath = node.path; var ext = core.pathExt(node.path); if(!kodApp.appSupportCheck('photoSwipe',ext)){ return; } if(thePath == imagePath){ index = fileNum; } fileNum ++; items.push([ [imageUrl(thePath),imageUrl(thePath),thePath], core.pathThis(thePath),[0,0],'' ]); }); }else{ $('.file-continer .ico.picture').each(function(i){ var thumb = $(this).find('img').attr('data-original'); var thePath = hashDecode($(this).parents('.file').attr('data-path')); if($(this).find('img').attr('data-src')){ thePath = $(this).find('img').attr('data-src'); } if(thePath == imagePath){ index = i; } items.push([ [thumb,imageUrl(thePath),thePath], core.pathThis(thePath),[0,0],'' ]); }); } } if(items.length == 0 || index == -1){ items = [[[imageUrl(imagePath),imageUrl(imagePath),imagePath], core.pathThis(urlDecode(imagePath)),[0,0],'']]; index = 0; } return {items:items,index:index}; } //播放幻灯片时,删除图片. var removeImageRequest = function(path,callback){ ui.pathOperate.remove([{type:"file",path:path}],function(result){ if(!result || !result.code){ return; } ui.fileLight.clear(); ui.f5Callback(function() { callback(); }); }) }; var removeImage = function(){ var index = parseInt($('#PV_Control #PV_Items .current').attr('number')); var path = myPicasa.arrItems[index][0][2]; removeImageRequest(path,function(){ if(myPicasa.arrItems.length <=1){ return myPicasa.close(); } myPicasa.arrItems.splice(index,1); if(index >= myPicasa.arrItems.length -1){ index = myPicasa.arrItems.length -1 } myPicasa.play(myPicasa.arrItems,index); }); } var imageRotate = function(rotate){ var index = parseInt($('#PV_Control #PV_Items .current').attr('number')); var path = myPicasa.arrItems[index][0][2]; ui.pathOperate.imageRotate(path,rotate,function(){ var imgSrc = function(img){ var str = '&picture='+UUID(); return img.indexOf('?') == -1 ? img+'?a=1'+str : img+str } var $img = $('[data-path='+pathHashEncode(path)+']').find('img'); var imageSmall = imgSrc(myPicasa.arrItems[index][0][0]); var imgageBig = imgSrc(myPicasa.arrItems[index][0][1]); $("#PV_Items .current img").attr('src',imageSmall); $img.attr('src',imageSmall); $img.attr('data-original',imageSmall); myPicasa.resetImage(imgageBig,imageSmall); }); } var loadImageBefore = function(){ var index = parseInt($('#PV_Control #PV_Items .current').attr('number')); var path = myPicasa.arrItems[index][0][2]; if(path.substr(0,4) == 'http'){ $("#PV_rotate_Left,#PV_rotate_Right,#PV_Btn_Remove").addClass('hidden'); }else{ $("#PV_rotate_Left,#PV_rotate_Right,#PV_Btn_Remove").removeClass('hidden'); } } return function(imagePath,appStatic){ require.async([ appStatic+'picasa/style/style.css', appStatic+'picasa/picasa.js' ],function(){ if(!window.myPicasa){ myPicasa = new Picasa(); myPicasa.removeImage = removeImage; myPicasa.imageRotate = imageRotate; myPicasa.loadImageBefore = loadImageBefore; } var images = getImageArr(imagePath); myPicasa.play(images.items,images.index); }); } });