После некоторого изучения кода и возни, я наконец-то понял, как его улучшить.Я публикую свое решение на StackBlitz на случай, если кто-то еще захочет внести дополнительные корректировки.
Основные проблемы, которые я исправил:
- Для изображения было выбрано значениеnull - не знаю, почему
- Я увеличил область перетаскивания - поэтому теперь она также охватывает поля (отступы)
- Я окрашиваю узел, где начинается выделение
- Корректировка цвета может быть легко сделана в CSS
- . Я попытался решить проблему с производительностью.Один из подходов заключается в использовании чисел вместо строки.Но я думаю, что могут быть дополнительные улучшения.
Я понял, что главное в DnD заключается в том, что большая часть этой части - простой код JS.Не сильно приправлено особенностями Angular.
Предложения по улучшению приветствуются.