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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ddview.js

?? 實現了一個OA系統基本的功能
?? JS
?? 第 1 頁 / 共 2 頁
字號:
            this.dropZone.onNodeOut = this.onNodeOut.createDelegate(this);            this.dropZone.onNodeDrop = this.onNodeDrop.createDelegate(this);        }    },	// private    getDropPoint : function(e, n, dd){        if (n == this.el.dom) { return "above"; }        var t = Ext.lib.Dom.getY(n), b = t + n.offsetHeight;        var c = t + (b - t) / 2;        var y = Ext.lib.Event.getPageY(e);        if(y <= c) {            return "above";        }else{            return "below";        }    },    // private    isValidDropPoint: function(pt, n, data) {        if (!data.viewNodes || (data.viewNodes.length != 1)) {            return true;        }        var d = data.viewNodes[0];        if (d == n) {            return false;        }        if ((pt == "below") && (n.nextSibling == d)) {            return false;        }        if ((pt == "above") && (n.previousSibling == d)) {            return false;        }        return true;    },    // private    onNodeEnter : function(n, dd, e, data){        if (this.highlightColor && (data.sourceView != this)) {            this.el.highlight(this.highlightColor);        }        return false;    },    // private    onNodeOver : function(n, dd, e, data){        var dragElClass = this.dropNotAllowed;        var pt = this.getDropPoint(e, n, dd);        if (this.isValidDropPoint(pt, n, data)) {            if (this.appendOnly || this.sortField) {                return "x-tree-drop-ok-below";            }            // set the insert point style on the target node            if (pt) {                var targetElClass;                if (pt == "above"){                    dragElClass = n.previousSibling ? "x-tree-drop-ok-between" : "x-tree-drop-ok-above";                    targetElClass = "x-view-drag-insert-above";                } else {                    dragElClass = n.nextSibling ? "x-tree-drop-ok-between" : "x-tree-drop-ok-below";                    targetElClass = "x-view-drag-insert-below";                }                if (this.lastInsertClass != targetElClass){                    Ext.fly(n).replaceClass(this.lastInsertClass, targetElClass);                    this.lastInsertClass = targetElClass;                }            }        }        return dragElClass;    },    // private    onNodeOut : function(n, dd, e, data){        this.removeDropIndicators(n);    },    // private    onNodeDrop : function(n, dd, e, data){        if (this.fireEvent("drop", this, n, dd, e, data) === false) {            return false;        }        var pt = this.getDropPoint(e, n, dd);        var insertAt = (this.appendOnly || (n == this.el.dom)) ? this.store.getCount() : n.viewIndex;        if (pt == "below") {            insertAt++;        }        // Validate if dragging within a DDView        if (data.sourceView == this) {            // If the first element to be inserted below is the target node, remove it            if (pt == "below") {                if (data.viewNodes[0] == n) {                    data.viewNodes.shift();                }            } else {  // If the last element to be inserted above is the target node, remove it                if (data.viewNodes[data.viewNodes.length - 1] == n) {                    data.viewNodes.pop();                }            }            // Nothing to drop...            if (!data.viewNodes.length) {                return false;            }            // If we are moving DOWN, then because a store.remove() takes place first,            // the insertAt must be decremented.            if (insertAt > this.store.indexOf(data.records[0])) {                insertAt--;            }        }        // Dragging from a Tree. Use the Tree's recordFromNode function.        if (data.node instanceof Ext.tree.TreeNode) {            var r = data.node.getOwnerTree().recordFromNode(data.node);            if (r) {                data.records = [ r ];            }        }        if (!data.records) {            alert("Programming problem. Drag data contained no Records");            return false;        }        for (var i = 0; i < data.records.length; i++) {            var r = data.records[i];            var dup = this.store.getById(r.id);            if (dup && (dd != this.dragZone)) {                if(!this.allowDup && !this.allowTrash){                    Ext.fly(this.getNode(this.store.indexOf(dup))).frame("red", 1);                    return true                }                var x=new Ext.data.Record();                r.id=x.id;                delete x;            }            if (data.copy) {                this.store.insert(insertAt++, r.copy());            } else {                if (data.sourceView) {                    data.sourceView.isDirtyFlag = true;                    data.sourceView.store.remove(r);                }                if(!this.allowTrash)this.store.insert(insertAt++, r);            }            if(this.sortField){                this.store.sort(this.sortField, this.sortDir);            }            this.isDirtyFlag = true;        }        this.dragZone.cachedTarget = null;        return true;    },    // private    onEndDrag: function(data, e) {        var d = Ext.get(this.dragData.ddel);        if (d && d.hasClass("multi-proxy")) {            d.remove();            //delete this.dragData.ddel;        }    },    // private    removeDropIndicators : function(n){        if(n){            Ext.fly(n).removeClass([                "x-view-drag-insert-above",                "x-view-drag-insert-left",                "x-view-drag-insert-right",                "x-view-drag-insert-below"]);            this.lastInsertClass = "_noclass";        }    },	/**	 * Add a delete option to the DDView's context menu.	 * @param {String} imageUrl The URL of the "delete" icon image.	 */    setDeletable: function(imageUrl) {        if (!this.singleSelect && !this.multiSelect) {            this.singleSelect = true;        }        var c = this.getContextMenu();        this.contextMenu.on("itemclick", function(item) {            switch (item.id) {                case "delete":                    this.remove(this.getSelectedIndexes());                    break;            }        }, this);        this.contextMenu.add({            icon: imageUrl || AU.resolveUrl("/images/delete.gif"),            id: "delete",            text: AU.getMessage("deleteItem")        });    },	/**	 * Return the context menu for this DDView.     * @return {Ext.menu.Menu} The context menu	 */    getContextMenu: function() {        if (!this.contextMenu) {            // Create the View's context menu            this.contextMenu = new Ext.menu.Menu({                id: this.id + "-contextmenu"            });            this.el.on("contextmenu", this.showContextMenu, this);        }        return this.contextMenu;    },    /**     * Disables the view's context menu.     */    disableContextMenu: function() {        if (this.contextMenu) {            this.el.un("contextmenu", this.showContextMenu, this);        }    },    // private    showContextMenu: function(e, item) {        item = this.findItemFromChild(e.getTarget());        if (item) {            e.stopEvent();            this.select(this.getNode(item), this.multiSelect && e.ctrlKey, true);            this.contextMenu.showAt(e.getXY());        }    },	/**	 * Remove {@link Ext.data.Record}s at the specified indices.	 * @param {Array/Number} selectedIndices The index (or Array of indices) of Records to remove.	 */    remove: function(selectedIndices) {        selectedIndices = [].concat(selectedIndices);        for (var i = 0; i < selectedIndices.length; i++) {            var rec = this.store.getAt(selectedIndices[i]);            this.store.remove(rec);        }    },	/**	 * Double click fires the {@link #dblclick} event. Additionally, if this DDView is draggable, and there is only one other	 * related DropZone that is in another DDView, it drops the selected node on that DDView.	 */    onDblClick : function(e){        var item = this.findItemFromChild(e.getTarget());        if(item){            if (this.fireEvent("dblclick", this, this.indexOf(item), item, e) === false) {                return false;            }            if (this.dragGroup) {                var targets = Ext.dd.DragDropMgr.getRelated(this.dragZone, true);                // Remove instances of this View's DropZone                while (targets.indexOf(this.dropZone) !== -1) {                    targets.remove(this.dropZone);                }                // If there's only one other DropZone, and it is owned by a DDView, then drop it in                if ((targets.length == 1) && (targets[0].owningView)) {                    this.dragZone.cachedTarget = null;                    var el = Ext.get(targets[0].getEl());                    var box = el.getBox(true);                    targets[0].onNodeDrop(el.dom, {                        target: el.dom,                        xy: [box.x, box.y + box.height - 1]                    }, null, this.getDragData(e));                }            }        }    },    // private    onItemClick : function(item, index, e){        // The DragZone's mousedown->getDragData already handled selection        if (this.ignoreNextClick) {            delete this.ignoreNextClick;            return;        }        if(this.fireEvent("beforeclick", this, index, item, e) === false){            return false;        }        if(this.multiSelect || this.singleSelect){            if(this.multiSelect && e.shiftKey && this.lastSelection){                this.select(this.getNodes(this.indexOf(this.lastSelection), index), false);            } else if (this.isSelected(item) && e.ctrlKey) {                this.deselect(item);            }else{                this.deselect(item);                this.select(item, this.multiSelect && e.ctrlKey);                this.lastSelection = item;            }            e.preventDefault();        }        return true;    }});

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品成人悠悠色影视| 日本中文字幕不卡| 色婷婷精品久久二区二区蜜臂av| 精品一区二区三区不卡| 高清日韩电视剧大全免费| 精品一区二区三区欧美| 在线免费不卡视频| 中文字幕乱码一区二区免费| 天天综合色天天综合色h| 丁香婷婷综合色啪| 91精品久久久久久蜜臀| 亚洲午夜精品一区二区三区他趣| 国产成人综合网站| 精品欧美一区二区三区精品久久 | 欧美片网站yy| 亚洲少妇屁股交4| 成人性色生活片| 国产色产综合产在线视频| 乱一区二区av| 69久久夜色精品国产69蝌蚪网| ...中文天堂在线一区| 国产黄色精品网站| 国产视频不卡一区| 粉嫩av一区二区三区粉嫩| 久久毛片高清国产| 国产精品1区2区3区| 91麻豆精品国产91久久久资源速度 | 久久综合色天天久久综合图片| 国产一区二区三区黄视频| 91精品国产综合久久婷婷香蕉| 亚洲一区二区在线视频| 欧美性生活久久| 亚洲综合激情另类小说区| 91麻豆高清视频| 亚洲精品日韩综合观看成人91| 91免费观看国产| 一区二区三区中文字幕| 91成人在线观看喷潮| 一区二区三区色| 欧美日韩国产不卡| 免费在线看成人av| 精品福利一二区| 国产乱码精品一区二区三| 久久精品亚洲麻豆av一区二区| 高潮精品一区videoshd| 国产精品理伦片| 色8久久人人97超碰香蕉987| 亚洲一级片在线观看| 欧美电影在哪看比较好| 日韩电影在线看| 久久久精品人体av艺术| 成人av午夜电影| 亚洲一区二区三区四区在线免费观看 | 欧美久久久久久久久久| 美腿丝袜一区二区三区| 久久只精品国产| jlzzjlzz亚洲日本少妇| 亚洲黄色小说网站| 欧美一级片在线观看| 国产一区二区网址| 亚洲精品日韩一| 日韩欧美一区二区久久婷婷| 国产成人综合网站| 亚洲成av人片| 国产欧美精品一区二区色综合| 91色porny蝌蚪| 久久疯狂做爰流白浆xx| 国产精品久久免费看| 3atv一区二区三区| 99久久精品国产网站| 无吗不卡中文字幕| 国产女主播在线一区二区| 在线视频国产一区| 国产成人日日夜夜| 视频一区二区欧美| 国产精品久久久久婷婷 | 色婷婷综合久久久| 久久66热偷产精品| 亚洲一区二区三区爽爽爽爽爽| 精品国产91洋老外米糕| 色综合中文字幕国产 | 91丨porny丨最新| 免费成人小视频| 亚洲美女视频在线观看| 日韩久久免费av| 色狠狠一区二区| 国产91色综合久久免费分享| 亚洲va韩国va欧美va精品| 欧美激情一区二区三区不卡| 91精品国产福利| 色乱码一区二区三区88| 丁香五精品蜜臀久久久久99网站 | 日韩午夜小视频| 色综合中文综合网| 久久影视一区二区| 欧美精品丝袜中出| 欧美无人高清视频在线观看| 成人自拍视频在线观看| 精品无码三级在线观看视频| 日产精品久久久久久久性色| 懂色av一区二区三区蜜臀| 美女尤物国产一区| 亚洲成人三级小说| 亚洲风情在线资源站| 夜夜嗨av一区二区三区网页| 日韩美女视频一区| 国产精品第五页| 国产精品天干天干在线综合| 久久综合给合久久狠狠狠97色69| 欧美大片一区二区三区| 欧美一级理论性理论a| 欧美日韩精品福利| 久久精品国产99国产| 一区二区高清视频在线观看| 亚洲女厕所小便bbb| 国产亚洲欧美在线| 精品1区2区在线观看| 欧美性猛片aaaaaaa做受| 色狠狠综合天天综合综合| 国产成人欧美日韩在线电影| 欧美aaaaaa午夜精品| 亚洲www啪成人一区二区麻豆| 亚洲欧洲日韩在线| 亚洲综合一二三区| 一区二区三区四区不卡视频| 亚洲视频免费在线| 一区在线中文字幕| 国产精品毛片无遮挡高清| 国产亚洲欧美激情| 国产欧美精品一区二区色综合| 欧美va亚洲va香蕉在线| 欧美一激情一区二区三区| 久久综合999| 国产亚洲欧美在线| 国产色一区二区| 国产精品国产三级国产aⅴ原创 | 欧美精品九九99久久| 欧美色视频在线观看| 91精品1区2区| 欧美日韩高清在线播放| aaa欧美色吧激情视频| 欧美日韩一区小说| 日韩欧美资源站| 欧美大片在线观看一区二区| 精品毛片乱码1区2区3区| 国产欧美一区二区精品性色 | 亚洲国产一区二区视频| 亚洲毛片av在线| 日韩经典中文字幕一区| 捆绑调教美女网站视频一区| 久久精品国产第一区二区三区| 久久99国产精品久久99| 久久99国产精品免费网站| 蜜桃视频一区二区| 国产美女一区二区三区| 99热在这里有精品免费| 欧美在线一区二区| 一区二区三区日韩在线观看| 日韩女优毛片在线| 99国产精品久久久| 亚洲成人手机在线| 成人午夜视频网站| 精品国产一区二区三区久久影院| 首页亚洲欧美制服丝腿| 欧美视频在线一区二区三区| 1000部国产精品成人观看| 国产精品高清亚洲| 偷拍一区二区三区| 久久成人久久爱| 国产成人精品亚洲日本在线桃色| 成人免费三级在线| 欧美日韩中文国产| 91精品久久久久久蜜臀| 亚洲三级电影网站| 美国欧美日韩国产在线播放| 丁香婷婷综合网| 欧美一卡二卡三卡| 午夜精品123| 成人免费视频网站在线观看| 在线观看日韩高清av| 国产亚洲一区字幕| 六月丁香婷婷色狠狠久久| 成人小视频在线观看| 欧美一区二区三区免费大片| 国产精品不卡视频| 热久久免费视频| 欧美日韩一区在线观看| 中文字幕的久久| 国产真实精品久久二三区| 久久不见久久见中文字幕免费| 欧美亚洲一区二区三区四区| 国产欧美精品在线观看| 久久精品国产秦先生| 在线影院国内精品| 亚洲v中文字幕| 色94色欧美sute亚洲13| 国产精品传媒入口麻豆| 国产激情一区二区三区四区| 国产午夜亚洲精品羞羞网站| 久久国产精品色|