2015-03-11 2 views
0

Я не хорошо разбираюсь в javascript или jQuery, и я (поэтому?) Борется с интеграцией datatables с HTML-интерфейсом в Shiny. Все примеры, которые я могу найти, похоже, работают с ui.r, а не с HTML-интерфейсом.Datatables с HTML UI in Shiny

Любые примеры или советы о том, как это сделать?

(я указал на отличное приложение на http://emoteer.com/, но я не могу выяснить, как это работает)

+0

Вы должны быть более конкретными относительно проблемы, с которой вы сталкиваетесь. Существует множество полезных ресурсов: [здесь] (http://shiny.rstudio.com/articles/datatables.html), [здесь] (http://shiny.rstudio.com/gallery/datatables-options.html) и [здесь] (http://rstudio.github.io/DT/). – JasonAizkalns

+0

Проблема, с которой я сталкиваюсь, точно так же, как я уже упоминал, и все ссылки, которые вы отправили, также указывают на то, что большинство примеров в сети используют способ ui.r для создания пользовательского интерфейса. Я пытаюсь создать HTML UI вместо этого, и я не знаю, как кормить 'datatables'. – TheComeOnMan

+0

Можете ли вы рассказать о источниках или примерах, которые объясняют, что вы подразумеваете под «HTML UI»? Страницы, созданные с помощью 'ui.r' +' shiny.r', будут 'HTML' - возможно, вы имеете в виду' htmlwidgets', которые можно использовать в документе RMarkdown. – JasonAizkalns

ответ

1

Вы могли бы попробовать что-то подобное для index.html

<html>  
<head> 
    <script src="shared/jquery.js" type="text/javascript"></script> 
    <script src="shared/shiny.js" type="text/javascript"></script> 
    <link rel="stylesheet" type="text/css" href="shared/shiny.css"/> 
    <script src="js/jquery.dataTables.min.js"></script> 
    <link href="css/dataTables.bootstrap.css" rel="stylesheet" /> 
    <link href="css/dataTables.extra.css" rel="stylesheet" /> 
    <script src="js/dataTables.bootstrap.js"></script> 
    <link href="css/bootstrap.min.css" rel="stylesheet" /> 
    <script src="js/bootstrap.min.js"></script>  
</head>  
<body> 
    <h1>HTML UI</h1> 
    <div id="table" class="shiny-datatable-output"></div> 
</body>  
</html> 

И server.R:

shinyServer(function(input, output, session) { 

     output$table <- renderDataTable({iris}) 

}) 

Вам нужно будет поместить JavaScript, CSS и изображения в КН каталога www ere index.html есть.


Редактировать 13 марта -

Если скопировать папку C:\Users\<username>Documents\R\win-library\3.1\shiny\www\shared в папку www, внутри которой файл index.html это место, то следующий должен заботиться о нем.

<head> 
    <script src="shared/jquery.js" type="text/javascript"></script> 
    <script src="shared/shiny.js" type="text/javascript"></script> 
    <link rel="stylesheet" type="text/css" href="shared/shiny.css"/> 

    <link href="shared/datatables/css/dataTables.bootstrap.css" rel="stylesheet" /> 
    <link href="shared/datatables/css/dataTables.extra.css" rel="stylesheet" /> 
    <script src="shared/datatables/js/jquery.dataTables.min.js"></script> 
    <script src="shared/datatables/js/dataTables.bootstrap.js"></script> 

    <link href="shared/bootstrap/css/bootstrap.min.css" rel="stylesheet" /> 
    <script src="shared/bootstrap/js/bootstrap.min.js"></script>  
</head> 
+0

Спасибо, @NicE! Я добавил версию для «манекенов» под вашим ответом, поскольку некоторые из перечисленных вами путей к папкам выглядят иначе, чем мои. Если это не заслуживает отдельного вопроса, не могли бы вы рассказать мне, почему 'dataTableOutput' вообще не требуется? Я попробовал что-то похожее на ваш код, я продолжал получать предупреждение. – TheComeOnMan