Есть директива drag'n'drop, которая в конце вызывает колбэк, передавая туда два параметра: объект переноса и объект куда переносили:
$scope.onDrop({ source: draggingElement, target: dropElement });
Задача - по окончанию переноса создать контекстное меню с возможными действиями над переносимым элементом. Набор действий зависит от типа элемента (свойство Type)
Проблема в том, что про элементы переноса знает только директива и колбэк функция в контроллере. При этом пункты меню должны выполнять какие-то действия над этими элементами. Хранить их в контроллере выглядит несколько корявым решением, генерить в колбэке тоже так себе.
+ непонятно, каким образом организовывать структуру самого меню.