[Вопрос был вчера также опубликован на https://groups.google.com/d/msg/shiny-discuss/1UmzvZJwM54/gdMmX7QQ-eIJ пока нет ответов]
Я работал над приложением Shiny, которое отображает как в виде таблицы, так и в виде диаграммы rCharts (NVD3) некоторые необработанные альтметрические данные нескольких журнальных статей http://spark.rstudio.com/ttso/alt./
Мой код с примерами данных https://gist.github.com/tts/6990101
Пока все хорошо, но теперь я столкнулся с трудностями при попытке включить в таблицу виджеты JavaScript, описанные в http://impactstory.org/api-docs Виджеты как таковые работают нормально, как в этом примере HTML http://users.tkk.fi/sonkkila/alt/arts.html - но в моей таблице Shiny последний (IS) столбец, в котором они должны появиться, пуст.
Когда я оставляю стол непродезинфицированным, я вижу, что HTML-код там есть, но когда он продезинфицирован, он исчезает. Код renderTable в server.R: https://gist.github.com/tts/6990101#file-server-r-L69-L85
Из исходного кода HTML я также вижу, что сценарий ImpactStory находится вверху страницы, как и должно быть.
Все указатели приветствуются!
Отказ от ответственности: хотя я уже некоторое время играю с R и Shiny, я считаю себя новичком в JavaScript/CSS, поэтому я могу упустить что-то очевидное.
РЕДАКТИРОВАТЬ: Просто для уточнения: конечно, очищенный HTML-код исчезает в этот момент, потому что нет значения текстового элемента. Интересно, а) есть ли конфликты между разными JS-скриптами, может быть, они должны идти в другом порядке (нужно спросить об этом ImpactStory) или б) есть некоторые проблемы в том, как xtable() генерирует вывод, или в) Shiny не знает, как взаимодействовать со скриптом ImpactStory.js или d) Shiny вообще не видит скрипт. Должен ли я создавать собственный компонент вывода?
EDIT2: AFAIK проблема заключается в том, что реактивно выводимая таблица не видит JavaScript. Проверено: когда я вручную добавляю нединамический HTML-код в ui.R со всеми атрибутами, которые ImpactStory JS должен знать о статье, виджеты отображаются нормально. Кроме того, если я добавлю в server.R элемент script в выводимом фрейме данных, виджеты будут отображаться, но также - никогда не перестанут это делать, что приведет к циклу :) Я полагаю, что мне нужно это аналогично тому, что задано здесь, в вопросе № 2