Я работаю над редактором кода, используя блокировку, и на моей странице в настоящее время есть вкладки для переключения между блочным просмотром и представлением кода, вроде как некоторые редакторы WYSIWYG. Теперь у Blockly уже есть много вещей для перехода от блоков к коду, и я получил 99% от сделанных частей, чтобы я мог перейти от кода к блокам (это связано с созданием кучи блока xml). Мой призыв перейти от просмотра кода, чтобы заблокировать вид выглядит следующим образом:Блокированные идентификаторы узлов для узла DomToWorkspace
var xml = Blockly.Xml.textToDom(self.xmlGenerated());
Blockly.mainWorkspace.clear();
Blockly.Xml.domToWorkspace(Blockly.mainWorkspace, xml);
Проблема не в том, независимо от того, что идентификатор атрибуты я установил в моих XML-узлов, блокли отменяет их, когда я пытаюсь прочитать блок XML позже. Кажется, они постоянно увеличиваются, хотя я очищаю рабочее пространство. Это вызывает проблему для моей функции автоматического сохранения, поскольку это означает, что каждый раз, когда я перехожу от кода к блокам, меняет свой xml, и поэтому мой код изменяется (сгенерированный код представляет собой структуру графа, которая также использует поля id для идентификации каждого узла на графике).
Итак, мой вопрос: кто-нибудь знает, как предотвратить блокировку от переопределения идентификатора узла, который я отправляю, или есть способ «сбросить» идентификаторы узлов?
Звучит так, как будто это сработает. Это новый элемент или новый атрибут? Документировано ли это где угодно? – zaparker
Это новый элемент: '' ... ''. Он зарегистрирован только в списке рассылки (https://groups.google.com/forum/#!topic/blockly/CbSDz849fiE), но я не уверен, что есть хорошая документация для любого из Blockly XML. – noisecapella
Это справедливая точка. Основываясь на его описании, я не знаю, как там будут работать сложные объекты, но для моего поля id это было бы прекрасно. Благодаря! – zaparker