Jstree проверить переименование узла, и если не проверено, откат к старому имени - PullRequest
2 голосов
/ 09 февраля 2012

во время переименования узла в jstree я хотел проверить специальные символы в переименовании, и, если он был найден, я хотел бы предупредить пользователя и вернуться к старому имени.

для этого я добавил

  • переименовать контекстное меню
  • после этого я связался с node_rename и переименовал событие
  • в привязке я проверяю на event.type === имя_узла
  • Я могу проверить специальные символы нового имени, когда получаю новое имя в data.args [1]
  • но до моего оповещения переименование уже произошло, и я не могу найти способ отменить это.

Любая помощь приветствуется.

Ответы [ 2 ]

3 голосов
/ 09 февраля 2012

Вместо привязки rename_node мне нужно было привязаться к rename.jstree, а затем нужно было использовать откат действия.

Здесь код события привязки.

if(type === 'rename')
{
        var new_Name = data.rslt.new_name;
        var iChars = "!@#$%^&*()+=[]\\\';,/{}.-_|\":<>?";
        for (var i = 0; i < new_Name.length; i++) 
        {
            if (iChars.indexOf(new_Name.charAt(i)) != -1) 
            {
                alert ("Special characters are not allowed.");
                $.jstree.rollback(data.rlbk);
            }
        }
 }
0 голосов
/ 12 июня 2014

Вы также можете сделать это через rename_node.Если проверка не пройдена, позвоните:

$('#yourtreeid').jstree("refresh");
...