Blockly, обнаружение подключения/удаления/перетаскивания/освобождения блока

Я искал документы и официальный форум, но я не мог найти ответ.

В Blockly я хотел бы обнаружить следующие вещи:

  • когда блок соединен с другим;
  • когда блок удаляется из рабочей области;
  • когда рабочее пространство пусто;
  • когда пользователь перетаскивает блок;
  • когда пользователь выпускает блок;

Является ли это возможным? Я нашел только события init и onchange.


person Community    schedule 17.02.2016    source источник


Ответы (1)


Попробуй это:

    onchange: function(event) {
        if(Blockly.Events.CHANGE === event.type) {
            // do something
        }
    }

Вместо CHANGE вы можете использовать одно из любых доступных событий, таких как MOVE, DELETE и т.д. Дополнительные сведения см. на странице https://developers.google.com/blockly/guides/configure/web/events

person isnullxbh    schedule 22.02.2018
comment
Это правильный ответ. Изменение было первым событием, изначально использовавшимся для проверки, прежде чем спустя годы мы добавили другие типы событий. Блочные соединения подпадают под действие MOVE. Проверяйте наличие пустого рабочего пространства после каждого DELETE. Я не думаю, что у нас есть событие для начала DRAG. - person Anm; 28.02.2018
comment
@Ian Bell, просто чтобы обновить этот ответ, некоторые типы событий устарели, например, DELETE теперь BLOCK_DELETE и так далее... - person Eric; 09.12.2018