Я использую плагин jsTree в моем текущем проекте Angular 2. Все работает хорошо, но теперь я пытаюсь добавить определенное поведение: Когда пользователь редактирует узел, и он нажимает клавишу табуляции, я хочу автоматически добавить новый пустой узел для сиблинга непосредственно под узлом, который он редактировал, и включить режим редактирования на нем, чтобы он мог продолжать вводить и эффективно использовать клавишу табуляции в качестве сочетания клавиш для быстрого создания большого количества узлов на одном уровне.jsTree: переход из режима редактирования?
Я попытался добавить KeyUp слушателя событий для DIV высокого уровня, содержащего jsTree:
(keyup)="onKeyUp($event)"
Функция OnKeyUp:
onKeyUp(e: any) {
if (e.code === 'Tab' && this.renamingNode) {
// pressed tab while renaming subitem, insert new sibling item and start editing
}
}
Наконец, (упрощенный) код для редактирования jsTree :
let scope = this;
$(this.currentTree).jstree().create_node(selectedItem, { 'text': '', 'type': 'value' }, 'last', function callback(e: any) {
scope.renamingNode = true;
// enable renaming of node
$(scope.currentTree).jstree().edit(e, null, function callback(addedNode: any, status: boolean, cancelled: boolean) {
scope.renamingNode = false;
// code to add addedNode to database using service
}
}
Это не работает должным образом. При отладке я вижу, что каждый ключ фиксируется, когда пользователь переименовывает узел, но нажатие кнопки «tab» похоже каким-то образом подавляется jsTree. Функция onKeyUp не запускается, вместо этого происходит поведение по умолчанию jsTree, переименование узла и его выбор. Я также рассмотрел различные параметры функции обратного вызова jsTree.edit (nodeObject, статус, отменено), но ни один из них не кажется мне полезным в моем случае.
Это не слишком высоко для моего приоритета в прошлом, это более приятный, но мне действительно интересно, как я мог реализовать это. Есть ли у кого-нибудь идеи?
У вас есть идея, как добавить jstree угловому-кли проекта? У вас есть git с примером того, что вы делаете с jstree ???? Пожалуйста. – IamStalker