CodeMirror не является обновленным источником при изменении

#rascal

Вопрос:

Я создаю веб-приложение salix и пытаюсь использовать CodeMirror в соответствии с примерами salix.

Я не могу выполнить пример CodeMirror в salix.demo.basic, хотя я могу легко выполнить все остальные примеры в basic, поэтому мне интересно, изменилось ли что-нибудь с тех пор, как они были написаны.

Код, который я использую:

 module salix::demo::basic::CodeMirror

import salix::HTML;
import salix::App;
import salix::lib::CodeMirror;
import IO;

alias Model = tuple[list[Msg] changes, str src];

SalixApp[str] cmApp(str id = "root") = makeApp(id, init, view, update, parser=parseMsg);

App[str] cmWebApp()
  = webApp(
      cmApp(), 
      |project://projectName/src/salix/demo/basic/index.html|, 
      |project://projectName/src|
    );


Model init() 
  = <[], "function hello() {n  console.log('Hello world');n}">;

data Msg
  = myChange(int, int, int, int, str, str)
  ;

Model update(Msg msg, Model model) {
  switch (msg) {
    case m:myChange(int _, int _, int _, int _, str _, str _):{
      println("Update called");
      model.changes  = [m];
    }
  }
  return model;
}

void view(Model model) {
  div(() {
    h2("Code Mirror demo");
    div(() {
      codeMirror("cm", style(("height": "auto")), onChange(myChange), 
        mode("javascript"), lineNumbers(true), value(model.src));
    });
    for (Msg m <- model.changes) {
      text(m);
      text("; ");
    }
  });
}
 

В моем приложении мне удалось отобразить пример CodeMirror следующим образом:

 codeMirror("cm", onChange(cmChange), style(("height": "50%")),
              lineNumbers(true), value(model.projectViewInfo.src), lineWrapping(true), class("cm-s-3024-night"));
 

но сообщение об изменении никогда не отправляется ( cmChange ), и источник никогда не обновляется. Так что это частично работает на меня.

Этот пример также можно найти в библиотеке salix https://github.com/usethesource/salix/tree/master/src/salix/demo/basic

Комментарии:

1. Хороший вопрос. Я спрошу у друга.

2. Есть новости? @Юрген

3. @tijs-van-der-storm спрашивал basic , работает ли демо-версия неправильно или только ваше приложение. Возможно, вы сможете уточнить свой вопрос в этой связи.

4. @ThomasH Обновлено

5. Всякий раз, когда я редактирую код в веб-приложении, я получаю сообщение об ошибке: jquery-1.11.0.min.js:4 GET http://localhost:9050/root/msg?id=14amp;maps=amp;type=codeMirrorChangeamp;fromLine=8amp;fromCol=2amp;toLine=8amp;toCol=2amp;text= amp;removed= 404 (Not Found)