X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/7a654f8d43fdb43d78b63d90528bed6e86b608cc..3789b528d8dd8aad4558e38e22d775bcab1cbd36:/docs/source/ViewDragZone.html diff --git a/docs/source/ViewDragZone.html b/docs/source/ViewDragZone.html new file mode 100644 index 00000000..01bf07f5 --- /dev/null +++ b/docs/source/ViewDragZone.html @@ -0,0 +1,61 @@ + + +
+ +Ext.define('Ext.tree.ViewDragZone', { + extend: 'Ext.view.DragZone', + + isPreventDrag: function(e, record) { + return (record.get('allowDrag') === false) || !!e.getTarget(this.view.expanderSelector); + }, + + afterRepair: function() { + var me = this, + view = me.view, + selectedRowCls = view.selectedItemCls, + records = me.dragData.records, + fly = Ext.fly; + + if (Ext.enableFx && me.repairHighlight) { + // Roll through all records and highlight all the ones we attempted to drag. + Ext.Array.forEach(records, function(record) { + // anonymous fns below, don't hoist up unless below is wrapped in + // a self-executing function passing in item. + var item = view.getNode(record); + + // We must remove the selected row class before animating, because + // the selected row class declares !important on its background-color. + fly(item.firstChild).highlight(me.repairHighlightColor, { + listeners: { + beforeanimate: function() { + if (view.isSelected(item)) { + fly(item).removeCls(selectedRowCls); + } + }, + afteranimate: function() { + if (view.isSelected(item)) { + fly(item).addCls(selectedRowCls); + } + } + } + }); + }); + } + me.dragging = false; + } +});+ +