⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 imagedv.js

📁 Ext JS是一个创建丰富互联网应用程序的跨浏览器的JavaScrip库。它包含:高效率
💻 JS
字号:
/*
 * Ext JS Library 3.0 Pre-alpha
 * Copyright(c) 2006-2008, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */

Imgorg.ImageDv = Ext.extend(Ext.DataView,{    tpl: new Ext.XTemplate(        '<tpl for=".">',        '<div class="thumb-wrap" id="{id}">',        '<div class="thumb"><img src="images/thumbs/{filename}" class="thumb-img"></div>',        '<span class="x-editable">{filename:ellipsis(15)}</span></div>',        '</tpl>'    ),        initComponent: function() {        Ext.apply(this, {            itemSelector: 'div.thumb-wrap',            style: 'overflow:auto',            multiSelect: true,            overClass: 'x-view-over',            emptyText: 'No images to display',            plugins: [new Ext.DataView.DragSelector({                dragSafe: true            }), new Ext.DataView.LabelEditor({                allowBlank: false,                alignment: 'c-c',                dataIndex: 'filename'            })],            store: new Ext.data.DirectStore({                api: Imgorg.ss.Images,                root: '',                fields: ['filename', 'url', 'id', 'size']            })        });                this.addEvents('viewitem');        Imgorg.ImageDv.superclass.initComponent.call(this);        this.on({// hacks to force the labeleditor to stop editing when we get a click elsewhere            click: function() {                this.plugins[1].completeEdit();            },            containerclick: function(dv, e) {                this.plugins[1].completeEdit();            },            contextmenu: this.onContextMenu,            containercontextmenu: this.onContextMenu,            scope: this        });        this.store.on('update', this.syncRename, this);    },        afterRender: function() {        Imgorg.ImageDv.superclass.afterRender.call(this);        this.el.unselectable(); // messy if they can select the text of the file names    },        onContextMenu: function(e, node) {        e.stopEvent();        if(!this.contMenu) {            this.contMenu = new Ext.menu.Menu({                items: [{                    text: 'View in Tab(s)',                    handler: function() {                        this.fireEvent('viewitem', this, node);                    },                    scope: this                },{                    text: 'Add to Album',                    handler: this.selectAlbum,                    scope: this                },{                    text: 'Tag',                    handler: this.tag,                    scope: this                },{                    text: 'Remove',                    handler: this.removeImages,                    scope: this                }]            });        }        this.currentNode = node;        this.contMenu.showAt(e.getXY());    },        selectAlbum: function() {        if (!this.albumWin) {            this.albumWin = new Imgorg.AlbumWin();        }        this.albumWin.selectedRecords = this.getSelectedRecords();        this.albumWin.show(this.currentNode);    },        tag: function() {        Imgorg.TagWin.selectedRecords = this.getSelectedRecords();        Imgorg.TagWin.show(this.currentNode);    },        syncRename: function(store, rec, op) {        if (op == 'edit') {            Imgorg.ss.Images.rename({image: rec.data.id, name: rec.data.filename, url: rec.data.url});        }    },        removeImages: function() {        var recs = this.getSelectedRecords();        var imageIds = [];        for (var i = 0;i < recs.length;i++) {            imageIds.push(recs[i].data.id);            this.store.remove(recs[i]);        }        Imgorg.ss.Images.remove({images: imageIds});    }});Ext.reg('img-dv', Imgorg.ImageDv);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -