Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   Глобальные события или drag & drop (https://javascript.ru/forum/angular/39887-globalnye-sobytiya-ili-drag-drop.html)

Shitbox2 21.08.2013 22:43

Да, мой косяк. Так работает, жаль только не получает ответ с сервера с именем миниатюры. В Эксплорере, судя по всему, проблема с консолью. Во-первых, она работает в разных режимах (8 версии, 7, режим совместимости) и каждый раз свои нюансы. Во-вторых, она прерывает рабочий поток браузера. Видимо из-за это и не работала загрузка.

nerv_ 22.08.2013 01:20

Shitbox2, выложи потом, что получилось или дай ссылку на гитхаб.

Я заодно один баг у себя поправил (обновил реп) - не работали фильтры, через которые проходили файлы при добавлении (т.е. если false, то файл добавляется был не должен)

Ну и полностью автоматизировал обновление разметки. Остались одни коллбеки и настройки :)

Shitbox2 22.08.2013 01:47

Выложу, конечно. Смотрю сейчас https://github.com/blueimp/jQuery-Fi...e-transport.js и другие файлы. Столько нюансов. Еще и кроссдоменные запросы. Слепо копировать не хочется, а разбираться слишком долго :-)

На счет колбеков/событий. Думаю, в Ангуляре нужно по максимуму обещания использовать. Нет в нем никаких событий, все на промисах построено и $http и $resource. Почему это загрузка файлов должна быть особенной?

P.S. Забыл спросить.
Зачем написано так
var clone = $compile(input.clone())($rootScope.$new(true));

если можно так?
var clone = input.clone();

P.P.S. Тут еще интересный подход: https://github.com/uor/angular-file

nerv_ 22.08.2013 14:20

Цитата:

Сообщение от Shitbox2
На счет колбеков/событий. Думаю, в Ангуляре нужно по максимуму обещания использовать. Нет в нем никаких событий, все на промисах построено и $http и $resource. Почему это загрузка файлов должна быть особенной?

не вижу смысла в данном случае. Это наплодит больше кода, результат будет тот же.

Цитата:

Сообщение от Shitbox2
Зачем написано так
var clone = $compile(input.clone())($rootScope.$new(true));

чтобы событие "change" ловить на новом инпуте

Цитата:

Сообщение от Shitbox2
Тут еще интересный подход: https://github.com/uor/angular-file

там без деградации вроде как

Shitbox2 22.08.2013 15:35

Цитата:

чтобы событие "change" ловить на новом инпуте
Зачем? По идее, всю форму, вообще, надо удалить после загрузки

nerv_ 22.08.2013 16:11

Цитата:

Сообщение от Shitbox2
Зачем? По идее, всю форму, вообще, надо удалить после загрузки

Цитата:

Сообщение от nerv_
чтобы событие "change" ловить на новом инпуте

Может ты просто запустишь мой пример в ие и все вопросы отпадут? :)

Shitbox2 22.08.2013 22:05

Цитата:

Может ты просто запустишь мой пример в ие и все вопросы отпадут?
Запустил, в 8 все работает (фотка загружается, ответ приходит, колбек срабатывает) :-)

P.S.А форму нужно удалять, конечно, после срабатывания колбека

nerv_ 23.08.2013 11:09

Цитата:

Сообщение от Shitbox2
P.S.А форму нужно удалять, конечно, после срабатывания колбека

она удаляется, когда вызывается метод удаления. Почему не сразу? Возможно пользователь (программист) захочет загрузить файл повторно. Поэтому есть метод remove :)

Shitbox2 23.08.2013 21:43

Возможно пользователь (программист) захочет загрузить файл повторно.
А что мешает повторно ее создать?)

Shitbox2 26.08.2013 04:41

Выложил на Гитхаб https://github.com/tamtakoe/oi.file. Может и правда, потом вынесу общие функции в отдельный сервис...

8 эксплорер у меня совсем с катушек съехал, ничего загружать не хочет... А с новой версией Ангуляра, вообще, не запускается

У тебя нельзя менять на лету настройки плагина, было бы можно, создание клона поля в изолированной области видимости принесло бы проблем)


Часовой пояс GMT +3, время: 15:09.