亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? organizer.js

?? 著重用css實現(xiàn)頁面顯示功能,實現(xiàn)簡單數(shù)據(jù)庫連接,是很好的入門教程
?? JS
字號:
/*
 * Ext JS Library 1.1.1
 * Copyright(c) 2006-2007, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://www.extjs.com/license
 */

Ext.tree.TreeNodeUI.prototype.initEvents =
Ext.tree.TreeNodeUI.prototype.initEvents.createSequence(function(){
      if(this.node.attributes.tipCfg){
          var o = this.node.attributes.tipCfg;
          o.target = Ext.id(this.textNode);
          Ext.QuickTips.register(o);
      }
});

var TreeTest = function(){
    // shorthand
    var Tree = Ext.tree;
    var newIndex = 3;
    
    return {
        init : function(){
            Ext.QuickTips.init();
            var layout = new Ext.BorderLayout('layout', {
                west: {
                    initialSize:200,
                    split:true,
                    titlebar:true
                },
                center: {
                    alwaysShowTabs:true,
                    tabPosition:'top'
                }
            });
            
            var albums = layout.getEl().createChild({tag:'div', id:'albums'});
            var tb = new Ext.Toolbar(albums.createChild({tag:'div'}));
            tb.addButton({
                text: 'New Album',
                cls: 'x-btn-text-icon album-btn',
                handler: function(){
                    var node = root.appendChild(new Tree.TreeNode({
                        text:'Album ' + (++newIndex), 
                        cls:'album-node', 
                        allowDrag:false
                    }));
                    tree.getSelectionModel().select(node);
                    setTimeout(function(){
                        ge.editNode = node;
                        ge.startEdit(node.ui.textNode);
                    }, 10);
                }
            });
            var viewEl = albums.createChild({tag:'div', id:'folders'});
            
            var folders = layout.add('west', new Ext.ContentPanel(albums, {
                title:'My Albums', 
                fitToFrame:true,
                autoScroll:true,
                autoCreate:true,
                toolbar: tb,
                resizeEl:viewEl
            }));
            
            var images = layout.add('center', new Ext.ContentPanel('images', {
                title:'My Images', 
                fitToFrame:true,
                autoScroll:true,
                autoCreate:true
            }));
            var imgBody = images.getEl();
            
            var tree = new Tree.TreePanel(viewEl, {
                animate:true, 
                enableDD:true,
                containerScroll: true,
                ddGroup: 'organizerDD',
                rootVisible:false
            });
            var root = new Tree.TreeNode({
                text: 'Albums', 
                allowDrag:false,
                allowDrop:false
            });
            tree.setRootNode(root);
            
            root.appendChild(
                new Tree.TreeNode({text:'Album 1', cls:'album-node', allowDrag:false}),
                new Tree.TreeNode({text:'Album 2', cls:'album-node', allowDrag:false}),
                new Tree.TreeNode({text:'Album 3', cls:'album-node', allowDrag:false})
            );
            
            tree.render();
            root.expand();
            
            // add an inline editor for the nodes
            var ge = new Ext.tree.TreeEditor(tree, {
                allowBlank:false,
                blankText:'A name is required',
                selectOnFocus:true
            });
            
            // create the required templates
        	var tpl = new Ext.Template(
        		'<div class="thumb-wrap" id="{name}">' +
        		'<div class="thumb"><img src="{url}" class="thumb-img"></div>' +
        		'<span>{shortName}</span></div>'
        	);
        	
        	var qtipTpl = new Ext.Template(
        	    '<div class="image-tip"><img src="{url}" align="left">'+
        		'<b>Image Name:</b>' +
        		'<span>{name}</span>' +
        		'<b>Size:</b>' +
        		'<span>{sizeString}</span></div>'
        	);
        	qtipTpl.compile();	
        	
        	// initialize the View		
        	var view = new Ext.JsonView(imgBody, tpl, {
        		multiSelect: true,
        		jsonRoot: 'images'
        	});
        	
        	var lookup = {};
        	
        	view.prepareData = function(data){
            	data.shortName = data.name.ellipse(15);
            	data.sizeString = (Math.round(((data.size*10) / 1024))/10) + " KB";
            	//data.dateString = new Date(data.lastmod).format("m/d/Y g:i a");
            	data.qtip = new String(qtipTpl.applyTemplate(data));
            	lookup[data.name] = data;
            	return data;
            };
            
            var dragZone = new ImageDragZone(view, {containerScroll:true,
                ddGroup: 'organizerDD'});
            
            view.load({
                url: '../view/get-images.php'
            });
            
            var rz = new Ext.Resizable('layout', {
                wrap:true, 
                pinned:true, 
                adjustments:[-6,-6],
                minWidth:300
            });
            rz.on('resize', function(){
                layout.layout();
            });
            rz.resizeTo(650, 350);
        }
    };
}();

Ext.EventManager.onDocumentReady(TreeTest.init, TreeTest, true);

/**
 * Create a DragZone instance for our JsonView
 */
ImageDragZone = function(view, config){
    this.view = view;
    ImageDragZone.superclass.constructor.call(this, view.getEl(), config);
};
Ext.extend(ImageDragZone, Ext.dd.DragZone, {
    // We don't want to register our image elements, so let's 
    // override the default registry lookup to fetch the image 
    // from the event instead
    getDragData : function(e){
        e = Ext.EventObject.setEvent(e);
        var target = e.getTarget('.thumb-wrap');
        if(target){
            var view = this.view;
            if(!view.isSelected(target)){
                view.select(target, e.ctrlKey);
            }
            var selNodes = view.getSelectedNodes();
            var dragData = {
                nodes: selNodes
            };
            if(selNodes.length == 1){
                dragData.ddel = target.firstChild.firstChild; // the img element
                dragData.single = true;
            }else{
                var div = document.createElement('div'); // create the multi element drag "ghost"
                div.className = 'multi-proxy';
                for(var i = 0, len = selNodes.length; i < len; i++){
                    div.appendChild(selNodes[i].firstChild.firstChild.cloneNode(true));
                    if((i+1) % 3 == 0){
                        div.appendChild(document.createElement('br'));
                    }
                }
                dragData.ddel = div;
                dragData.multi = true;
            }
            return dragData;
        }
        return false;
    },
    
    // this method is called by the TreeDropZone after a node drop 
    // to get the new tree node (there are also other way, but this is easiest)
    getTreeNode : function(){
        var treeNodes = [];
        var nodeData = this.view.getNodeData(this.dragData.nodes);
        for(var i = 0, len = nodeData.length; i < len; i++){
            var data = nodeData[i];
            treeNodes.push(new Ext.tree.TreeNode({
                text: data.name,
                icon: data.url,
                data: data,
                leaf:true,
                cls: 'image-node',
                qtip: data.qtip
            }));
        }
        return treeNodes;
    },
    
    // the default action is to "highlight" after a bad drop
    // but since an image can't be highlighted, let's frame it 
    afterRepair:function(){
        for(var i = 0, len = this.dragData.nodes.length; i < len; i++){
            Ext.fly(this.dragData.nodes[i]).frame('#8db2e3', 1);
        }
        this.dragging = false;    
    },
    
    // override the default repairXY with one offset for the margins and padding
    getRepairXY : function(e){
        if(!this.dragData.multi){
            var xy = Ext.Element.fly(this.dragData.ddel).getXY();
            xy[0]+=3;xy[1]+=3;
            return xy;
        }
        return false;
    }
});

// Utility functions

String.prototype.ellipse = function(maxLength){
    if(this.length > maxLength){
        return this.substr(0, maxLength-3) + '...';
    }
    return this;
};

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品美女久久福利网站| 激情综合色综合久久| 日本亚洲欧美天堂免费| 高清不卡在线观看av| 欧美视频第二页| 国产精品久久久久久久久免费桃花| 肉色丝袜一区二区| 色综合久久88色综合天天6 | 欧美这里有精品| 久久久久久久综合日本| 日韩影院在线观看| 91成人免费电影| 亚洲欧美在线另类| 国产aⅴ精品一区二区三区色成熟| 日韩欧美电影一区| 日韩影院在线观看| 91精品国产91热久久久做人人| 夜夜夜精品看看| 色婷婷av一区二区| 亚洲精品欧美激情| 色成年激情久久综合| 国产精品夫妻自拍| 成人av资源在线| 国产精品污www在线观看| 国内久久婷婷综合| 久久免费看少妇高潮| 韩国视频一区二区| 久久亚洲综合色一区二区三区| 激情五月播播久久久精品| 91精品国产麻豆国产自产在线 | 日韩av电影免费观看高清完整版 | 极品少妇xxxx精品少妇偷拍| 日韩欧美国产成人一区二区| 麻豆精品在线播放| 久久综合五月天婷婷伊人| 国内外精品视频| 国产区在线观看成人精品| 国产精品小仙女| 欧美激情一区二区三区不卡| jvid福利写真一区二区三区| 亚洲理论在线观看| 在线电影欧美成精品| 蜜臀久久久99精品久久久久久| 精品久久人人做人人爱| 国产激情一区二区三区桃花岛亚洲| 国产农村妇女毛片精品久久麻豆| 成人综合在线网站| 日韩美女视频一区二区 | 久久久久久99久久久精品网站| 久久国产三级精品| 欧美韩国日本不卡| 欧美亚洲国产一区在线观看网站| 肉丝袜脚交视频一区二区| www久久久久| 91麻豆蜜桃一区二区三区| 亚洲午夜羞羞片| 精品国产99国产精品| av激情亚洲男人天堂| 亚洲国产色一区| 精品国产一区二区三区久久久蜜月| 国产精品911| 亚洲国产视频一区| 国产日韩精品一区二区浪潮av| 色噜噜偷拍精品综合在线| 日韩电影在线免费观看| 国产日韩欧美一区二区三区综合| 一本一本大道香蕉久在线精品 | 91丨九色丨国产丨porny| 视频一区视频二区中文字幕| 2020国产精品自拍| 欧美在线观看一区| 国产一区二区成人久久免费影院| 亚洲色图在线视频| 欧美成人在线直播| 色婷婷综合中文久久一本| 久久99精品国产麻豆婷婷洗澡| 亚洲欧美日韩一区二区三区在线观看| 欧美日本乱大交xxxxx| 国产成人精品综合在线观看| 亚洲午夜在线电影| 国产精品高潮久久久久无| 日韩一区二区三区在线观看| 99国产精品99久久久久久| 精品一区精品二区高清| 亚洲综合在线免费观看| 精品国产91乱码一区二区三区 | 精品综合久久久久久8888| 国产精品美日韩| 精品国产伦一区二区三区观看方式| 色综合久久久久综合体桃花网| 国产一区二区视频在线播放| 日韩中文字幕91| 亚洲一区中文日韩| 亚洲欧洲日韩在线| 国产婷婷色一区二区三区四区 | 成人一区在线观看| 精品亚洲成a人| 麻豆一区二区三| 奇米影视一区二区三区| 天天操天天综合网| 一区二区三区免费观看| 亚洲欧洲日本在线| 国产精品免费观看视频| 欧美韩日一区二区三区| 国产午夜精品福利| 久久久国产一区二区三区四区小说 | 在线观看精品一区| 99免费精品视频| 成人黄页毛片网站| 99精品视频在线免费观看| jvid福利写真一区二区三区| 不卡免费追剧大全电视剧网站| 国产精品亚洲第一| 成人成人成人在线视频| 91亚洲精品乱码久久久久久蜜桃| 国产不卡视频在线播放| 成人av电影在线网| 色综合色综合色综合色综合色综合| 99久久精品一区| 日本韩国精品在线| 欧美日本不卡视频| 日韩一级免费一区| 久久综合网色—综合色88| 国产拍欧美日韩视频二区| 国产精品久久久久久久岛一牛影视| 亚洲欧美在线视频观看| 亚洲电影一区二区三区| 日韩成人一区二区| 韩国女主播成人在线观看| 国产成人啪午夜精品网站男同| 东方欧美亚洲色图在线| 91蜜桃网址入口| 在线电影一区二区三区| 精品欧美一区二区三区精品久久| 久久这里只有精品6| 亚洲欧美一区二区视频| 一区二区欧美国产| 欧美aa在线视频| 成人丝袜视频网| 欧美日韩一区不卡| 久久综合中文字幕| 一区二区三区在线免费观看| 奇米综合一区二区三区精品视频| 国产成人av影院| 欧美日韩一二三区| 久久色.com| 亚洲自拍另类综合| 国产自产2019最新不卡| 欧美亚洲综合一区| 久久久久久久久97黄色工厂| 亚洲高清不卡在线观看| 国产乱色国产精品免费视频| 色婷婷av一区二区三区大白胸| 日韩精品中文字幕在线不卡尤物 | 午夜精品免费在线观看| 久久99精品久久久久久久久久久久 | 亚洲一二三区视频在线观看| 韩国成人福利片在线播放| 色婷婷av久久久久久久| 久久久蜜桃精品| 亚洲va欧美va天堂v国产综合| 国产91清纯白嫩初高中在线观看| 欧美亚洲动漫精品| 亚洲国产精品99久久久久久久久| 婷婷六月综合网| 91国产丝袜在线播放| 国产三级三级三级精品8ⅰ区| 亚洲丰满少妇videoshd| 成人精品鲁一区一区二区| 日韩欧美国产综合在线一区二区三区| 亚洲毛片av在线| 成人免费毛片aaaaa**| 日韩欧美一区二区久久婷婷| 一区二区三区国产精华| 成人av免费在线观看| 精品福利av导航| 青椒成人免费视频| 欧美日韩国产高清一区二区三区 | 国产亚洲欧洲997久久综合| 亚洲国产另类av| 色婷婷综合久色| 中文字幕视频一区| 成人性视频免费网站| 欧美xxxx老人做受| 麻豆91在线播放免费| 欧美一区二区在线观看| 亚洲一区在线观看视频| 日本韩国欧美一区| 一区二区视频在线| 91啦中文在线观看| 综合色天天鬼久久鬼色| 成人av电影在线播放| 国产精品卡一卡二| 成人动漫一区二区| 亚洲视频每日更新| 91电影在线观看| 亚洲一区二区三区免费视频| 欧美日韩综合在线免费观看| 亚洲一二三四在线观看| 欧美一区二区三区四区在线观看|