Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.02.2011, 16:00
Кандидат Javascript-наук
Отправить личное сообщение для posta Посмотреть профиль Найти все сообщения от posta
 
Регистрация: 27.08.2010
Сообщений: 115

Ext and Drag'n'Drop
Приветствую! Подскажите как можно модернизировать следующий пример с сайта Ext:
http://dev.sencha.com/deploy/dev/exa...d_to_grid.html

Нужно привязать событие onDragDrop на перетаскиваемый элемент.

Т.е. Если елемент успешно перетащен - то выполнять определенный код.

Никак не могу понять куда его привязать. Документации ноль или не совсем по теме.

Кто знающий - помогите...
Ответить с цитированием
  #2 (permalink)  
Старый 22.02.2011, 11:38
VKS VKS вне форума
Профессор
Отправить личное сообщение для VKS Посмотреть профиль Найти все сообщения от VKS
 
Регистрация: 24.09.2010
Сообщений: 178

http://dev.sencha.com/deploy/dev/doc....dd.DropTarget

notifyDrop( Ext.dd.DragSource source, Event e, Object data )
: Boolean
The function a Ext.dd.DragSource calls once to notify this drop target that the dragged item has been dropped on it. This method has no default implementation and returns false, so you must provide an implementation that does something to process the drop event and returns true so that the drag source's repair action does not run.

В указанном Вами примере смотрите участок кода

/****
        * Setup Drop Targets
        ***/
        // This will make sure we only drop to the  view scroller element
        var firstGridDropTargetEl =  firstGrid.getView().scroller.dom;
        var firstGridDropTarget = new Ext.dd.DropTarget(firstGridDropTargetEl, {
                ddGroup    : 'firstGridDDGroup',
                notifyDrop : function(ddSource, e, data){
                        var records =  ddSource.dragData.selections;
                        Ext.each(records, ddSource.grid.store.remove, ddSource.grid.store);
                        firstGrid.store.add(records);
                        firstGrid.store.sort('name', 'ASC');
                        return true
                }
        });

Последний раз редактировалось VKS, 22.02.2011 в 11:41.
Ответить с цитированием
  #3 (permalink)  
Старый 23.02.2011, 03:33
Кандидат Javascript-наук
Отправить личное сообщение для posta Посмотреть профиль Найти все сообщения от posta
 
Регистрация: 27.08.2010
Сообщений: 115

Сообщение от VKS Посмотреть сообщение

В указанном Вами примере смотрите участок кода

/****
        * Setup Drop Targets
        ***/
        // This will make sure we only drop to the  view scroller element
        var firstGridDropTargetEl =  firstGrid.getView().scroller.dom;
        var firstGridDropTarget = new Ext.dd.DropTarget(firstGridDropTargetEl, {
                ddGroup    : 'firstGridDDGroup',
                notifyDrop : function(ddSource, e, data){
                        var records =  ddSource.dragData.selections;
                        Ext.each(records, ddSource.grid.store.remove, ddSource.grid.store);
                        firstGrid.store.add(records);
                        firstGrid.store.sort('name', 'ASC');
                        return true
                }
        });
Если честно, я этот кусок глазами до дыр протер - не могу понять где описывать событие. Ткните носом, плиз...
Ответить с цитированием
  #4 (permalink)  
Старый 24.02.2011, 11:03
VKS VKS вне форума
Профессор
Отправить личное сообщение для VKS Посмотреть профиль Найти все сообщения от VKS
 
Регистрация: 24.09.2010
Сообщений: 178

notifyDrop
Ответить с цитированием
  #5 (permalink)  
Старый 24.02.2011, 15:05
Кандидат Javascript-наук
Отправить личное сообщение для posta Посмотреть профиль Найти все сообщения от posta
 
Регистрация: 27.08.2010
Сообщений: 115

Сообщение от VKS Посмотреть сообщение
notifyDrop
Дело в том, что я не знаю как привязать это событие. Как правильно написать и обработать. Если не сложно, то напишите код. Будет как дополнительный пример для начинающих.
Ответить с цитированием
  #6 (permalink)  
Старый 24.02.2011, 15:25
Интересующийся
Отправить личное сообщение для astral_sight Посмотреть профиль Найти все сообщения от astral_sight
 
Регистрация: 16.07.2010
Сообщений: 17

Сообщение от posta Посмотреть сообщение
Дело в том, что я не знаю как привязать это событие. Как правильно написать и обработать. Если не сложно, то напишите код. Будет как дополнительный пример для начинающих.
Не надо ничего привязывать. NotifyDrop уже подразумевает, что дроп произошел. Просто прописываешь туда свою функцию)

notifyDrop : function(ddSource, e, data){

...здесь пишешь что делать после дропа....
}

Последний раз редактировалось astral_sight, 24.02.2011 в 15:28.
Ответить с цитированием
  #7 (permalink)  
Старый 25.02.2011, 18:00
Кандидат Javascript-наук
Отправить личное сообщение для posta Посмотреть профиль Найти все сообщения от posta
 
Регистрация: 27.08.2010
Сообщений: 115

Сообщение от astral_sight Посмотреть сообщение
Не надо ничего привязывать. NotifyDrop уже подразумевает, что дроп произошел. Просто прописываешь туда свою функцию)

notifyDrop : function(ddSource, e, data){

...здесь пишешь что делать после дропа....
}
Спасибо, что пояснили, а то не понимал немного. щас все работает. Так держать! =)
Ответить с цитированием
  #8 (permalink)  
Старый 01.03.2011, 13:38
Интересующийся
Отправить личное сообщение для astral_sight Посмотреть профиль Найти все сообщения от astral_sight
 
Регистрация: 16.07.2010
Сообщений: 17

Сообщение от posta Посмотреть сообщение
Спасибо, что пояснили, а то не понимал немного. щас все работает. Так держать! =)
Удачи!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск