一頁裡有好幾步、而且有先後時用:一次只打開一步,做完的收成一行(✓、摘要、「改」), 還不能做的是灰的。每一步最下面是「對,下一步」(一般按鈕);按了以後這一步做完、 打開下一個還沒做完的步驟。做完的按「改」回去。
Arguments
- id
模組的 id。
- ...
每一步的內容(一步一個 tag 或
tagList(),依順序)。- next_label
每一步最下面的按鈕字。
- titles
每一步的標題(字串向量,長度=步數)。
- summaries
每一步做完時的摘要:list,一步一個(字串、函式或 reactive;
NULL不顯示)。- checks
按「對,下一步」前的檢查:list,一步一個函式,傳回還差的事(字串向量; 長度 0 = 可以往下)。還差時這一步不算做完,按鈕上面列出「還差:…」(
kit_problems())。- start
一開始打開第幾步。
Value
kit_stepcards_ui():tagList(),裡面是一張張 kit_step_card()。
kit_stepcards_server():list,
current:reactive,現在打開第幾步(都做完時是 0);done:reactive,每一步做完了沒有(logical 向量);open(k):打開第 k 步(例如資料改了,要回第 1 步);reset():全部回到還沒做,打開第 1 步。
Examples
if (interactive()) {
ui <- kit_page("KIT 示範", NULL,
kit_stepcards_ui("steps",
shiny::p("每個檔案是哪個世代、哪個波次。"),
shiny::p("哪些欄是題目。"),
shiny::p("計分檢查。")
)
)
server <- function(input, output, session) {
steps <- kit_stepcards_server("steps",
titles = c("每個檔案是哪個世代、哪個波次", "哪些欄是題目", "計分檢查"),
summaries = list("5 個檔案", function() "45 題", "沒有要決定的事")
)
}
shiny::shinyApp(ui, server)
}