/* * To change this template, choose Tools | Templates * and open the template in the editor. */ var Window = Class.create(); Window.prototype = { initialize:function(){ $('show-list').observe('click', (function(event) { $('file-list').update('
  • loading
  • '); var screenSizes = this.getPageSize(); var width = (screenSizes[0]-960)/2; $('window-outter').setStyle({ right: width + 'px' }).show(); var target = event.element(); if(target){ this.getFiles(target.rel); } }).bind(this)); $('window-closer').observe('click',function(){ $('window-outter').hide(); }); }, getFiles: function(uuid){ var url = '/filelist/uuid/'+uuid; new Ajax.Request(url, { method: 'get', onSuccess: function(transport) { var json = transport.responseText.evalJSON(true); var liT = new Template("
  • + #{filename}
  • "); var liTemplate = new Template("
  • #{filename}
  • "); var lis = ""; if(json.length == 0){ lis = "
  • 暂无数据
  • " } else { json.each(function(file){ lis += file['filename'].endsWith('/')?liT.evaluate(file):liTemplate.evaluate(file); }); } $('file-list').update(lis); }, onComplete:function(){ $('window-loading').hide(); }, onException:function(){ alert('Something went wrong...'); }, onFailure: function(){ alert('Something went wrong...'); } }); }, getPageSize: function() { var xScroll, yScroll; if (window.innerHeight && window.scrollMaxY) { xScroll = window.innerWidth + window.scrollMaxX; yScroll = window.innerHeight + window.scrollMaxY; } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac xScroll = document.body.scrollWidth; yScroll = document.body.scrollHeight; } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari xScroll = document.body.offsetWidth; yScroll = document.body.offsetHeight; } var windowWidth, windowHeight; if (self.innerHeight) { // all except Explorer if(document.documentElement.clientWidth){ windowWidth = document.documentElement.clientWidth; } else { windowWidth = self.innerWidth; } windowHeight = self.innerHeight; } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode windowWidth = document.documentElement.clientWidth; windowHeight = document.documentElement.clientHeight; } else if (document.body) { // other Explorers windowWidth = document.body.clientWidth; windowHeight = document.body.clientHeight; } // for small pages with total height less then height of the viewport if(yScroll < windowHeight){ pageHeight = windowHeight; } else { pageHeight = yScroll; } // for small pages with total width less then width of the viewport if(xScroll < windowWidth){ pageWidth = xScroll; } else { pageWidth = windowWidth; } return [pageWidth,pageHeight]; } } function showSubPath(id,json){ var liT = new Template("
  • + #{filename}
  • "); var liTemplate = new Template("
  • #{filename}
  • "); var lis = "
      "; if(json.length == 0){ lis = "
    1. 暂无数据
    2. " } else { json.each(function(file){ lis += file['filename'].endsWith('/')?liT.evaluate(file):liTemplate.evaluate(file); }); } lis += "
    "; $('span_'+id).update('-'); $('uuid_'+id).update(lis).show(); } function encodestr(str){ return str.replace('/&/g','%26'); } document.observe('dom:loaded', function () { new Window(); });