восстановление блока в блоке - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь восстановить или сгенерировать блок с помощью XML-кода одним нажатием кнопки и установить его на своем рабочем месте. Но он не работает должным образом, как-то ничего не показывает. Помощь будет оценена. Я попробовал следующие ссылки:

1. https://samadhipoornima.wordpress.com/2016/06/21/play-around-with-blockly-save-and-restore-the-workspace/

2. https://embed.plnkr.co/XIeR0L/

3. https://developers.google.com/blockly/guides/create-custom-blocks/blockly-developer-tools

4. https://developers.google.com/blockly/guides/get-started/web

Мой код для восстановления:

value = data[5];      
alert(value );
Blockly.Xml.appendDomToWorkspace(value ,demoWorkspace);

Я также пытался вследующим образом:

var xml = Blockly.Xml.textToDom(data[5]);
Blockly.Xml.domToWorkspace(xml, demoWorkspace);

Функция восстановления блока:

function restore() {

        $.ajax({
            type: "GET",
            url: "/save_composition",
            content_type : "application/json",
            success: function(data) {
                value = data[5];
                {#console.log(value.replace(/['"]+/g, ''));#}
                var result = value.slice(1, -1);
                alert(result);
                var xml = Blockly.Xml.textToDom(data[5]);
                Blockly.Xml.domToWorkspace(xml, demoWorkspace);
            },
            error: function(xhr, textStatus) {
                   alert(textStatus);
            }});
    }

Отдельный ответ XML:

<xml xmlns="http://www.w3.org/1999/xhtml">
<variables></variables>
<block type="controls_repeat_ext" id="J]k6G0~I).TfgP_;:j=S" x="223" y="65">
<value name="TIMES">
  <block type="math_number" id="j{Y2o]x%v(R#1#V*xm)0">
    <field name="NUM">10</field>
  </block>
</value>
<statement name="DO">
  <block type="print_content" id="}$v5G?]mBm(R^8)sri-L">
    <value name="to_print">
      <block type="text" id="esg1;Q4KV$g;^Ul?BF]p">
        <field name="TEXT">test</field>
      </block>
    </value>
  </block>
</statement>
</block>
</xml>
...