亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
精品福利在线导航| 极品销魂美女一区二区三区| 五月天欧美精品| 精品一区二区三区久久| 福利电影一区二区三区| 一本大道av伊人久久综合| 欧美军同video69gay| 欧美激情自拍偷拍| 一区二区三区免费看视频| 蜜臀va亚洲va欧美va天堂| 波波电影院一区二区三区| 欧美猛男gaygay网站| xf在线a精品一区二区视频网站| 中文字幕亚洲区| 久久精品国产99国产精品| 岛国一区二区在线观看| 欧美日本在线观看| 国产精品不卡一区二区三区| 日韩精品国产欧美| 成人国产视频在线观看 | 国产精品另类一区| 亚洲va欧美va人人爽午夜| 国产成人啪免费观看软件| 欧美午夜一区二区三区| 久久精品亚洲国产奇米99 | 欧美一级艳片视频免费观看| 日本一区二区免费在线| 午夜电影网亚洲视频| 白白色亚洲国产精品| 日韩色视频在线观看| 亚洲天堂久久久久久久| 黄一区二区三区| 欧美日韩视频专区在线播放| 欧美国产欧美综合| 美腿丝袜亚洲一区| 欧美日韩国产bt| 中文字幕在线不卡国产视频| 另类小说欧美激情| 欧美写真视频网站| 一区二区中文视频| 国产福利一区在线| 精品欧美久久久| 日韩电影免费在线| 欧美性大战久久久久久久蜜臀| 国产色婷婷亚洲99精品小说| 老司机精品视频在线| 日韩欧美视频在线 | 6080国产精品一区二区| 亚洲视频在线一区| 成人av动漫在线| 精品国产一区二区精华| 日韩国产欧美在线观看| 在线观看国产日韩| 亚洲黄色尤物视频| 色综合夜色一区| 中文字幕一区二区三区四区不卡| 国产伦精品一区二区三区在线观看| 7777精品伊人久久久大香线蕉超级流畅 | 欧美经典一区二区| 久久国产人妖系列| 91麻豆精品国产自产在线| 一区二区三区在线看| 成人h版在线观看| 中文字幕免费一区| 成人免费观看av| 欧美激情一区二区三区四区| 国产精品456露脸| 国产日产欧美一区二区三区| 国产毛片精品视频| 2021国产精品久久精品| 久久99精品视频| 精品日产卡一卡二卡麻豆| 免费高清视频精品| 91精品国产一区二区三区蜜臀| 性感美女久久精品| 欧美一区二区三区色| 蜜桃视频免费观看一区| 精品国产乱码久久久久久闺蜜| 麻豆国产精品官网| 精品999久久久| 国产不卡高清在线观看视频| 国产精品视频免费看| 成人综合婷婷国产精品久久蜜臀| 中文天堂在线一区| 99综合影院在线| 日韩伦理av电影| 色综合久久中文综合久久97| 亚洲精品国产一区二区三区四区在线| 91福利在线免费观看| 日日夜夜精品视频天天综合网| 91精品国产免费| 国产一本一道久久香蕉| 国产精品丝袜久久久久久app| 99精品1区2区| 五月天久久比比资源色| 欧美成人r级一区二区三区| 国内精品伊人久久久久av一坑| 国产日韩欧美制服另类| 99九九99九九九视频精品| 亚洲成国产人片在线观看| 欧美一级二级三级蜜桃| 国产成人在线观看免费网站| 亚洲精品一区二区三区精华液| 成人亚洲一区二区一| 一区二区三区精品视频在线| 91精品国产色综合久久久蜜香臀| 国内精品免费在线观看| 成人欧美一区二区三区| 欧美在线免费播放| 麻豆久久久久久久| 国产精品人妖ts系列视频| 欧美日韩高清不卡| 国产一区二区精品久久99| 亚洲少妇最新在线视频| 欧美一区二区在线免费观看| 国产精品影音先锋| 亚洲综合久久av| 久久先锋影音av鲁色资源 | 尤物av一区二区| 日韩一区二区三区电影| 91网站在线播放| 美女久久久精品| 综合久久久久久| 精品嫩草影院久久| 一道本成人在线| 国产一区二区在线看| 一区二区激情视频| 久久九九全国免费| 欧美日韩一区二区三区不卡| 国产激情91久久精品导航 | 欧美精品精品一区| 成人av电影在线| 久久超碰97中文字幕| 一区二区三区在线影院| 精品国产自在久精品国产| 在线视频国内自拍亚洲视频| 国产一区二区日韩精品| 亚洲高清免费观看| 国产精品美女久久久久久久网站| 日韩一区二区三区在线| 色爱区综合激月婷婷| 国产不卡视频一区二区三区| 蜜桃91丨九色丨蝌蚪91桃色| 一区二区三区精品视频| 国产欧美日韩激情| 日韩免费性生活视频播放| 在线观看视频91| 99久久免费视频.com| 国产一区二区三区四区五区入口| 亚洲风情在线资源站| 亚洲女女做受ⅹxx高潮| 国产欧美一二三区| 2019国产精品| 日韩亚洲电影在线| 欧美日韩一区成人| 91免费版在线| 国产v日产∨综合v精品视频| 久久99国产精品麻豆| 午夜激情综合网| 亚洲综合男人的天堂| 亚洲婷婷在线视频| 亚洲欧洲三级电影| 国产日韩欧美一区二区三区综合| 欧美不卡一区二区| 日韩三级在线免费观看| 欧美日韩国产美| 欧美日韩一区二区不卡| 在线亚洲免费视频| 在线免费观看视频一区| 97久久久精品综合88久久| 成人看片黄a免费看在线| 国产精品一二三| 国产中文字幕精品| 激情六月婷婷综合| 九九精品视频在线看| 蜜臀av一区二区三区| 青青草一区二区三区| 美女免费视频一区| 老司机午夜精品| 激情小说亚洲一区| 精品系列免费在线观看| 国产一区不卡精品| 国产一区高清在线| 国产大陆亚洲精品国产| 成人综合婷婷国产精品久久| 成人国产电影网| 99这里都是精品| 91黄色免费观看| 欧美日韩极品在线观看一区| 91精品久久久久久久91蜜桃 | 理论片日本一区| 狠狠色丁香婷婷综合久久片| 国内精品视频666| 国产精品系列在线观看| 成人av在线播放网址| 91麻豆文化传媒在线观看| 欧美性生活一区| 日韩视频国产视频| 国产清纯美女被跳蛋高潮一区二区久久w | 中文字幕免费一区|