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

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

?? ddview.js

?? 本系統基本完善了CRM管理系統的各個模塊
?? JS
?? 第 1 頁 / 共 2 頁
字號:
Array.prototype.contains = function(element) {	return this.indexOf(element) !== -1;};Ext.namespace("Ext.ux"); /**  * @class Ext.ux.DDView  * A DnD enabled version of Ext.View.  * @param {Element/String} container The Element in which to create the View.  * @param {String} tpl The template string used to create the markup for each element of the View  * @param {Object} config The configuration properties. These include all the config options of  * {@link Ext.View} plus some specific to this class.<br>  * <p>  * Drag/drop is implemented by adding {@link Ext.data.Record}s to the target DDView. If copying is  * not being performed, the original {@link Ext.data.Record} is removed from the source DDView.<br>  * <p>  * The following extra CSS rules are needed to provide insertion point highlighting:<pre><code> .x-view-drag-insert-above {     border-top:1px dotted #3366cc; } .x-view-drag-insert-below {     border-bottom:1px dotted #3366cc; } </code></pre>  *   */ Ext.ux.DDView = function(config) {	if (!config.itemSelector) {		var tpl = config.tpl;		if (this.classRe.test(tpl)) {			config.tpl = tpl.replace(this.classRe, 'class=$1x-combo-list-item $2$1');		}		else {			config.tpl = tpl.replace(this.tagRe, '$1 class="x-combo-list-item" $2');		}		config.itemSelector = ".x-combo-list-item";	}    Ext.ux.DDView.superclass.constructor.call(this, Ext.apply(config, {         border: false     })); }; Ext.extend(Ext.ux.DDView, Ext.DataView, { /**    @cfg {String/Array} dragGroup The ddgroup name(s) for the View's DragZone. */ /**    @cfg {String/Array} dropGroup The ddgroup name(s) for the View's DropZone. */ /**    @cfg {Boolean} copy Causes drag operations to copy nodes rather than move. */ /**    @cfg {Boolean} allowCopy Causes ctrl/drag operations to copy nodes rather than move. */ 	sortDir: 'ASC',    isFormField: true,          classRe: /class=(['"])(.*)\1/,     tagRe: /(<\w*)(.*?>)/,     reset: Ext.emptyFn,          clearInvalid: Ext.form.Field.prototype.clearInvalid,     msgTarget: 'qtip', 	afterRender: function() {		Ext.ux.DDView.superclass.afterRender.call(this);	    if (this.dragGroup) { 	        this.setDraggable(this.dragGroup.split(",")); 	    } 	    if (this.dropGroup) { 	        this.setDroppable(this.dropGroup.split(",")); 	    } 	    if (this.deletable) { 	        this.setDeletable(); 	    } 	    this.isDirtyFlag = false; 	    this.addEvents( 	        "drop" 	    );	},         validate: function() {         return true;     },          destroy: function() {         this.purgeListeners();         this.getEl().removeAllListeners();         this.getEl().remove();         if (this.dragZone) {             if (this.dragZone.destroy) {                 this.dragZone.destroy();             }         }         if (this.dropZone) {             if (this.dropZone.destroy) {                 this.dropZone.destroy();             }         }     }, /**    Allows this class to be an Ext.form.Field so it can be found using {@link Ext.form.BasicForm#findField}. */     getName: function() {         return this.name;     }, /**    Loads the View from a JSON string representing the Records to put into the Store. */     setValue: function(v) {         if (!this.store) {             throw "DDView.setValue(). DDView must be constructed with a valid Store";         }         var data = {};         data[this.store.reader.meta.root] = v ? [].concat(v) : [];         this.store.proxy = new Ext.data.MemoryProxy(data);         this.store.load();     }, /**    @return {String} a parenthesised list of the ids of the Records in the View. */     getValue: function() {         var result = '(';         this.store.each(function(rec) {             result += rec.id + ',';         });         return result.substr(0, result.length - 1) + ')';     },          getIds: function() {         var i = 0, result = new Array(this.store.getCount());         this.store.each(function(rec) {             result[i++] = rec.id;         });         return result;     },          isDirty: function() {         return this.isDirtyFlag;     }, /**  *    Part of the Ext.dd.DropZone interface. If no target node is found, the  *    whole Element becomes the target, and this causes the drop gesture to append.  */     getTargetFromEvent : function(e) {         var target = e.getTarget();         while ((target !== null) && (target.parentNode != this.el.dom)) {             target = target.parentNode;         }         if (!target) {             target = this.el.dom.lastChild || this.el.dom;         }         return target;     }, /**  *    Create the drag data which consists of an object which has the property "ddel" as  *    the drag proxy element.   */     getDragData : function(e) {         var target = this.findItemFromChild(e.getTarget());         if(target) {             if (!this.isSelected(target)) {                 delete this.ignoreNextClick;                 this.onItemClick(target, this.indexOf(target), e);                 this.ignoreNextClick = true;             }             var dragData = {                 sourceView: this,                 viewNodes: [],                 records: [],                 copy: this.copy || (this.allowCopy && e.ctrlKey)             };             if (this.getSelectionCount() == 1) {                 var i = this.getSelectedIndexes()[0];                 var n = this.getNode(i);                 dragData.viewNodes.push(dragData.ddel = n);                 dragData.records.push(this.store.getAt(i));                 dragData.repairXY = Ext.fly(n).getXY();             } else {                 dragData.ddel = document.createElement('div');                 dragData.ddel.className = 'multi-proxy';                 this.collectSelection(dragData);             }             return dragData;         }         return false;     }, //    override the default repairXY.     getRepairXY : function(e){         return this.dragData.repairXY;     }, /**    Put the selections into the records and viewNodes Arrays. */     collectSelection: function(data) {         data.repairXY = Ext.fly(this.getSelectedNodes()[0]).getXY();         if (this.preserveSelectionOrder === true) {             Ext.each(this.getSelectedIndexes(), function(i) {                 var n = this.getNode(i);                 var dragNode = n.cloneNode(true);                 dragNode.id = Ext.id();                 data.ddel.appendChild(dragNode);                 data.records.push(this.store.getAt(i));                 data.viewNodes.push(n);             }, this);         } else {             var i = 0;             this.store.each(function(rec){                 if (this.isSelected(i)) {                     var n = this.getNode(i);                     var dragNode = n.cloneNode(true);                     dragNode.id = Ext.id();                     data.ddel.appendChild(dragNode);                     data.records.push(this.store.getAt(i));                     data.viewNodes.push(n);                 }                 i++;             }, this);         }     },      /**    Specify to which ddGroup items in this DDView may be dragged. */     setDraggable: function(ddGroup) {         if (ddGroup instanceof Array) {             Ext.each(ddGroup, this.setDraggable, this);             return;         }         if (this.dragZone) {             this.dragZone.addToGroup(ddGroup);         } else {             this.dragZone = new Ext.dd.DragZone(this.getEl(), {                 containerScroll: true,                 ddGroup: ddGroup             }); //            Draggability implies selection. DragZone's mousedown selects the element.             if (!this.multiSelect) { this.singleSelect = true; } //            Wire the DragZone's handlers up to methods in *this*             this.dragZone.getDragData = this.getDragData.createDelegate(this);             this.dragZone.getRepairXY = this.getRepairXY;             this.dragZone.onEndDrag = this.onEndDrag;         }     }, /**    Specify from which ddGroup this DDView accepts drops. */     setDroppable: function(ddGroup) {         if (ddGroup instanceof Array) {             Ext.each(ddGroup, this.setDroppable, this);             return;         }         if (this.dropZone) {             this.dropZone.addToGroup(ddGroup);         } else {             this.dropZone = new Ext.dd.DropZone(this.getEl(), {                 owningView: this,                 containerScroll: true,                 ddGroup: ddGroup             }); //            Wire the DropZone's handlers up to methods in *this*             this.dropZone.getTargetFromEvent = this.getTargetFromEvent.createDelegate(this);             this.dropZone.onNodeEnter = this.onNodeEnter.createDelegate(this);             this.dropZone.onNodeOver = this.onNodeOver.createDelegate(this);             this.dropZone.onNodeOut = this.onNodeOut.createDelegate(this);             this.dropZone.onNodeDrop = this.onNodeDrop.createDelegate(this);         }     }, /**    Decide whether to drop above or below a View node. */     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"; 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
综合亚洲深深色噜噜狠狠网站| 蜜桃视频一区二区三区在线观看 | 欧美精品一卡两卡| 精品国精品国产| 一区二区三区国产| 国产成人午夜99999| 日韩片之四级片| 自拍偷拍亚洲欧美日韩| 美女一区二区视频| 欧洲一区在线观看| 国产精品久久二区二区| 激情五月婷婷综合网| 欧美日本一区二区三区四区| 中文无字幕一区二区三区| 久久精品噜噜噜成人av农村| 在线观看欧美日本| 中文字幕一区二区三区在线观看| 蜜桃在线一区二区三区| 欧美乱妇一区二区三区不卡视频| 国产精品第一页第二页第三页| 九色综合狠狠综合久久| 3d动漫精品啪啪| 亚洲五月六月丁香激情| 色婷婷av一区二区三区大白胸 | 粉嫩高潮美女一区二区三区| 精品国产91亚洲一区二区三区婷婷| 亚洲国产精品人人做人人爽| 99久久777色| 国产精品久久久久久户外露出 | 欧美视频在线播放| 亚洲三级在线免费观看| 不卡视频在线观看| 国产精品久久久久一区二区三区 | 亚洲综合丁香婷婷六月香| 粉嫩aⅴ一区二区三区四区五区| 久久亚洲春色中文字幕久久久| 久久电影网电视剧免费观看| 欧美一级黄色录像| 日韩精彩视频在线观看| 欧美丰满一区二区免费视频| 日韩vs国产vs欧美| 欧美videos中文字幕| 蜜桃久久精品一区二区| 日韩欧美一区二区不卡| 麻豆一区二区在线| 欧美精品一区二区三区高清aⅴ| 麻豆91小视频| 久久精品网站免费观看| 成人app在线| 亚洲精品国产精华液| 欧美性色黄大片| 午夜精品123| 久久综合色婷婷| 韩国成人在线视频| 久久久久国产精品麻豆ai换脸| 国产一区二区网址| 国产精品欧美极品| 91福利国产成人精品照片| 亚洲午夜久久久久中文字幕久| 欧美精品三级日韩久久| 国产精品自在在线| 亚洲视频图片小说| 欧美日韩精品久久久| 蓝色福利精品导航| 中文字幕亚洲一区二区av在线| 色综合久久久久综合99| 奇米在线7777在线精品| 国产偷国产偷精品高清尤物| 91免费视频网| 青青草原综合久久大伊人精品优势| 久久精品亚洲国产奇米99| 在线视频亚洲一区| 国产原创一区二区| 一区二区三区欧美激情| 国产亚洲欧美日韩俺去了| 国产精品色哟哟| 欧美偷拍一区二区| 精品一区二区免费| 洋洋成人永久网站入口| 欧美精品一区二区蜜臀亚洲| 色狠狠一区二区三区香蕉| 日韩成人伦理电影在线观看| 国产精品国产自产拍高清av| 69堂国产成人免费视频| 91一区在线观看| 精品一区二区三区在线观看| 一区二区三区精品在线观看| 337p日本欧洲亚洲大胆色噜噜| 在线看一区二区| 成人午夜视频在线| 美女一区二区久久| 婷婷丁香激情综合| ...xxx性欧美| 久久久精品日韩欧美| 日韩欧美中文一区| 在线视频中文字幕一区二区| 成人av手机在线观看| 极品销魂美女一区二区三区| 欧美综合一区二区三区| 中文字幕成人网| 日韩西西人体444www| 中文字幕在线不卡视频| 成人精品在线视频观看| 免费欧美日韩国产三级电影| 亚洲综合在线观看视频| 日韩理论片中文av| 国产精品国产三级国产专播品爱网| 26uuu另类欧美亚洲曰本| 日韩免费观看高清完整版在线观看| 欧美三级三级三级爽爽爽| 91蜜桃网址入口| 99久久伊人精品| 成人免费视频国产在线观看| 国产伦精品一区二区三区免费迷| 日本不卡在线视频| 亚洲超丰满肉感bbw| 亚洲精品国产一区二区精华液| 欧美精品一区二区在线观看| 欧美成人aa大片| 欧美三级电影网站| 欧美日韩黄色一区二区| 国内精品免费在线观看| 欧美aaa在线| 日本不卡的三区四区五区| 亚洲精品中文在线影院| 亚洲一区二区免费视频| 成人精品一区二区三区中文字幕| 亚洲一区二区三区四区五区中文| 国产精品女同互慰在线看| 国产亚洲精品久| 国产三级一区二区三区| 国产精品久线观看视频| 欧美日韩精品专区| 欧美一区二区三区白人| 日韩免费在线观看| 精品国产精品一区二区夜夜嗨| 久久亚洲综合av| 久久久国产一区二区三区四区小说| 日韩视频在线观看一区二区| 欧美一区二区三区免费视频| 欧美va亚洲va香蕉在线| 在线不卡中文字幕| 日韩色视频在线观看| 26uuu色噜噜精品一区二区| 综合在线观看色| 亚洲欧美成人一区二区三区| 天堂成人国产精品一区| 国产一区二区三区在线看麻豆| 国产老妇另类xxxxx| 91免费在线视频观看| 欧美丝袜自拍制服另类| 精品国产一区二区精华| 日本一区二区三区高清不卡| 亚洲一区二区成人在线观看| 亚洲国产三级在线| 国产视频不卡一区| 亚洲欧美国产高清| 五月综合激情网| 免费成人美女在线观看.| 国产精品亚洲成人| 色综合中文字幕国产 | 日韩免费高清视频| 国产精品一区二区三区乱码| 精品影院一区二区久久久| 中文字幕亚洲成人| 国产日韩一级二级三级| 国产精品乱码一区二三区小蝌蚪| 精品国产凹凸成av人导航| 亚洲一二三四在线| 精品少妇一区二区三区免费观看| 91精品国产欧美一区二区成人| 色偷偷久久人人79超碰人人澡| 在线视频你懂得一区| 日本高清不卡一区| 欧美精品日韩精品| 宅男噜噜噜66一区二区66| 日韩精品一区二区三区四区 | 久久亚洲一区二区三区明星换脸| 欧美美女黄视频| 久久综合色婷婷| 国产亚洲欧美在线| 国产日产欧美一区二区视频| 亚洲四区在线观看| 日韩理论电影院| 日本aⅴ亚洲精品中文乱码| 一区av在线播放| 精品一区二区免费在线观看| 国产精品一区不卡| 精品视频色一区| 精品国产污网站| 国产精品不卡在线观看| 亚洲不卡av一区二区三区| 日韩高清在线观看| 99久久精品国产一区二区三区| 91热门视频在线观看| 精品少妇一区二区三区免费观看| 精品福利一二区| 亚洲精品午夜久久久| 国产精品中文字幕日韩精品| 91丝袜美女网|