спасибо за материал. несколько раз сталкивался со сложностями при обработке событий вне зоны Angular, возможно эта статья упростит такую задачу в будущем.
Ещё есть ng-dragula, хотя я не думаю, чтобы он справился с задачей в несколько тысяч ячеек.
Рекомендую взять за правило все внешние скрипты и события запускать в runOutsideAngular.

И использовать trackBy для цикла с перебором объектов.
Только полноправные пользователи могут оставлять комментарии.
Войдите, пожалуйста.