Сегодня удалось продуктивно поработать и завернуть долго тянущиеся доработки.
Вообще-то, формально, я переделываю главный экран, чтобы выводилось не просто 3 последних Плота. А то реально неудобно пользоваться — я хочу сделать что-то типа списка заметок в Evernote, только вместо заметок плоты.
Редактирование во внешнем окне, формально, у меня давно сделано, но как это обычно бывает, когда я начал разбираться, выяснилось, что много не доделано.
Пришлось привести логику в порядок:сделал выбранный нодшейп независимым в рамках плота (раньше выбранный нодшейп был всего 1 в рамках всей программы).
Конечно же, исправил парочку ошибок.
Добавил навигацию по плотам (в том числе возможность открыть в новом окне) и нормальный поиск (в выпадающем списке внизу).
Также добавил синхронизацию нодшейпов в плотах (то есть, полноценное клонирование плота). То, что раньше называлось клонированием, фактически было копированием.
То есть, если раньше я копировал плот, но естественно создавалась копии всех нодшейпов и линк шейпов, но дальнейшей синхронизации не проводилось.
Теперь же я сделал, что в ноде, привязанном к плоту, в контент записывается массив id нодов, представленных на плоте.
При добавлении \ удалении нодшейпы на каждом ноде синхронизируются с этим списком.
Это важно, потому что теперь можно реально представлять одни и те же данные в разном виде: в виде графа и в виде дерева (раньше это полноценно работало только с нод шейпами).
Естественно, возможность простого копирования я тоже оставил.
В общем: как видите, сделано немало и эти доработки существенно улучшили функционал программы.
PS Все непонятные слова из данной статьи вы можете посмотреть в глоссарии.
Comments by admin