Отображение HTML в ячейке таблицы данных в Dojo - PullRequest
0 голосов
/ 14 декабря 2011

У меня проблема с DataGrid в Dojo 1.6.Я создаю DataGrid в HtmlStore и хочу поместить в ячейки в последнем столбце ссылки на некоторые действия.Я прочитал в документации, что опция escapeHtmlInData = "false" может это сделать, но она не работает. Я знаю, что это опасно (атаки XSS), но решение с форматером мне не нравитсяТак что я не знаю, почему escapeHtmlinData не работает.Может быть, это вина HtmlStore?Может быть, у кого-то была похожая проблема?Я могу вставить свой кусок кода, но я использую Django и Dojango.

1 Ответ

1 голос
/ 21 января 2012

Для других:

dojo.extend(dojox.data.HtmlStore,{
  getValues: function(item,attribute){

      this._assertIsItem(item);
      var index = this._assertIsAttribute(attribute);
      if(index>-1){
              var text;
              if(item.cells){
                      if({%for value in noEscapeData%}attribute=="{{value}}"{%if not forloop.last %} || {%endif%}{%endfor%}){
                              text = item.cells[index].innerHTML;
                      }else{
                              text = dojox.xml.parser.textContent(item.cells[index]);
                      }
              }else{//return Value for lists
                      text = dojox.xml.parser.textContent(item);
              }
              return [this.trimWhitespace?dojo.trim(text):text];
      }
      return []; //Array
  },
});

где noEscapeData - массив с именем столбца, где нет экранирующих данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...