-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsearch.json
1 lines (1 loc) · 44.3 KB
/
search.json
1
[{"path":[]},{"path":"https://shinyworks.github.io/scenes/CODE_OF_CONDUCT.html","id":"our-pledge","dir":"","previous_headings":"","what":"Our Pledge","title":"Contributor Covenant Code of Conduct","text":"members, contributors, leaders pledge make participation community harassment-free experience everyone, regardless age, body size, visible invisible disability, ethnicity, sex characteristics, gender identity expression, level experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, sexual identity orientation. pledge act interact ways contribute open, welcoming, diverse, inclusive, healthy community.","code":""},{"path":"https://shinyworks.github.io/scenes/CODE_OF_CONDUCT.html","id":"our-standards","dir":"","previous_headings":"","what":"Our Standards","title":"Contributor Covenant Code of Conduct","text":"Examples behavior contributes positive environment community include: Demonstrating empathy kindness toward people respectful differing opinions, viewpoints, experiences Giving gracefully accepting constructive feedback Accepting responsibility apologizing affected mistakes, learning experience Focusing best just us individuals, overall community Examples unacceptable behavior include: use sexualized language imagery, sexual attention advances kind Trolling, insulting derogatory comments, personal political attacks Public private harassment Publishing others’ private information, physical email address, without explicit permission conduct reasonably considered inappropriate professional setting","code":""},{"path":"https://shinyworks.github.io/scenes/CODE_OF_CONDUCT.html","id":"enforcement-responsibilities","dir":"","previous_headings":"","what":"Enforcement Responsibilities","title":"Contributor Covenant Code of Conduct","text":"Community leaders responsible clarifying enforcing standards acceptable behavior take appropriate fair corrective action response behavior deem inappropriate, threatening, offensive, harmful. Community leaders right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct, communicate reasons moderation decisions appropriate.","code":""},{"path":"https://shinyworks.github.io/scenes/CODE_OF_CONDUCT.html","id":"scope","dir":"","previous_headings":"","what":"Scope","title":"Contributor Covenant Code of Conduct","text":"Code Conduct applies within community spaces, also applies individual officially representing community public spaces. Examples representing community include using official e-mail address, posting via official social media account, acting appointed representative online offline event.","code":""},{"path":"https://shinyworks.github.io/scenes/CODE_OF_CONDUCT.html","id":"enforcement","dir":"","previous_headings":"","what":"Enforcement","title":"Contributor Covenant Code of Conduct","text":"Instances abusive, harassing, otherwise unacceptable behavior may reported community leaders responsible enforcement [email protected]. complaints reviewed investigated promptly fairly. community leaders obligated respect privacy security reporter incident.","code":""},{"path":"https://shinyworks.github.io/scenes/CODE_OF_CONDUCT.html","id":"enforcement-guidelines","dir":"","previous_headings":"","what":"Enforcement Guidelines","title":"Contributor Covenant Code of Conduct","text":"Community leaders follow Community Impact Guidelines determining consequences action deem violation Code Conduct:","code":""},{"path":"https://shinyworks.github.io/scenes/CODE_OF_CONDUCT.html","id":"id_1-correction","dir":"","previous_headings":"Enforcement Guidelines","what":"1. Correction","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Use inappropriate language behavior deemed unprofessional unwelcome community. Consequence: private, written warning community leaders, providing clarity around nature violation explanation behavior inappropriate. public apology may requested.","code":""},{"path":"https://shinyworks.github.io/scenes/CODE_OF_CONDUCT.html","id":"id_2-warning","dir":"","previous_headings":"Enforcement Guidelines","what":"2. Warning","title":"Contributor Covenant Code of Conduct","text":"Community Impact: violation single incident series actions. Consequence: warning consequences continued behavior. interaction people involved, including unsolicited interaction enforcing Code Conduct, specified period time. includes avoiding interactions community spaces well external channels like social media. Violating terms may lead temporary permanent ban.","code":""},{"path":"https://shinyworks.github.io/scenes/CODE_OF_CONDUCT.html","id":"id_3-temporary-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"3. Temporary Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: serious violation community standards, including sustained inappropriate behavior. Consequence: temporary ban sort interaction public communication community specified period time. public private interaction people involved, including unsolicited interaction enforcing Code Conduct, allowed period. Violating terms may lead permanent ban.","code":""},{"path":"https://shinyworks.github.io/scenes/CODE_OF_CONDUCT.html","id":"id_4-permanent-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"4. Permanent Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Demonstrating pattern violation community standards, including sustained inappropriate behavior, harassment individual, aggression toward disparagement classes individuals. Consequence: permanent ban sort public interaction within community.","code":""},{"path":"https://shinyworks.github.io/scenes/CODE_OF_CONDUCT.html","id":"attribution","dir":"","previous_headings":"","what":"Attribution","title":"Contributor Covenant Code of Conduct","text":"Code Conduct adapted Contributor Covenant, version 2.1, available https://www.contributor-covenant.org/version/2/1/code_of_conduct.html. Community Impact Guidelines inspired [Mozilla’s code conduct enforcement ladder][https://github.com/mozilla/inclusion]. answers common questions code conduct, see FAQ https://www.contributor-covenant.org/faq. Translations available https://www.contributor-covenant.org/translations.","code":""},{"path":"https://shinyworks.github.io/scenes/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2022 scenes authors Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":"https://shinyworks.github.io/scenes/articles/actions.html","id":"check-function","dir":"Articles","previous_headings":"","what":"Check function","title":"Creating new actions","text":"Underlying action check function, function takes request (potentially arguments), returns TRUE FALSE. ’ll implement check language preferred user, sent HTTP_ACCEPT_LANGUAGE property request. include _impl name function specify ’s implentation function, opposed main wrapper ’ll create . ’ll just look supplied “language” inside HTTP_ACCEPT_LANGUAGE object. exported function, ’d probably carefully parse object.","code":"req_accepts_language_impl <- function(request, language) { stringr::str_detect( tolower(request$HTTP_ACCEPT_LANGUAGE), tolower(language) ) } req_accepts_language_impl( list(HTTP_ACCEPT_LANGUAGE = \"en-US,en;es-MX,es;fr-CA,fr\"), \"fr\" ) #> [1] TRUE"},{"path":"https://shinyworks.github.io/scenes/articles/actions.html","id":"methods","dir":"Articles","previous_headings":"","what":"Methods","title":"Creating new actions","text":"Almost actions expect GET method. However, possible shiny apps respond requests using HTTP methods. action work different HTTP method, specify call contructor.","code":""},{"path":"https://shinyworks.github.io/scenes/articles/actions.html","id":"construct-action","dir":"Articles","previous_headings":"","what":"Construct action","title":"Creating new actions","text":"Construct action using construct_action() function. Now can use action construct scenes, just like action.","code":"req_accepts_language <- function(language) { construct_action( fn = req_accepts_language_impl, language = language, # We're using the defaults for these arguments, but I'll specify them for # clarity. negate = FALSE, methods = \"GET\" ) }"},{"path":"https://shinyworks.github.io/scenes/articles/scenes.html","id":"why","dir":"Articles","previous_headings":"","what":"Why?","title":"Changing scenes","text":"’s possible process request using UI function, instead standard shiny::tagList(). process request function? created scenes write single login process apps produce R4DS Online Learning Community. goal create UI without think login, wrap UIs common login framework. process became {shinyslack} package. Perhaps login process. perhaps want show completely different UIs different customer segments visiting URL, depending cookie query parameter. scenes exists enables workflows.","code":""},{"path":"https://shinyworks.github.io/scenes/articles/scenes.html","id":"a-toy-example","dir":"Articles","previous_headings":"","what":"A toy example","title":"Changing scenes","text":"’ll demonstrate simple example changing UIs based various request parameters. can see deployed version app https://r4dscommunity.shinyapps.io/scenes/.","code":""},{"path":"https://shinyworks.github.io/scenes/articles/scenes.html","id":"the-uis","dir":"Articles","previous_headings":"A toy example","what":"The UIs","title":"Changing scenes","text":"First ’ll create four simple UIs. can ignore specifics UIs now, might want come back see work run app. real scenes app, shiny::tagList() UI UI function. ’ll use actions decide UIs display.","code":"# ui1 loads if none of the requirements are met. ui1 <- shiny::tagList( shiny::p(\"This is UI 1.\"), shiny::a(\"Add '?code' to the URL to see UI 2.\", href = \"?code\") ) # ui2 allows us to create the cookie requirement for ui3. ui2 <- cookies::add_cookie_handlers( shiny::tagList( shiny::p(\"This is UI 2.\"), shiny::actionButton(\"cookie_simple\", \"Store Simple Cookie\"), shiny::p(\"Press the button to see UI 3.\") ) ) # ui3 allows us to update that cookie to one that will pass validation. ui3 <- cookies::add_cookie_handlers( shiny::tagList( shiny::p(\"This is UI 3.\"), shiny::actionButton(\"cookie_valid\", \"Store Valid Cookie\"), shiny::p(\"Press the button to see UI 4.\") ) ) # ui4 only loads when everything is all set. It has a button to reset things. ui4 <- cookies::add_cookie_handlers( shiny::tagList( shiny::p(\"This is UI 4.\"), shiny::actionButton(\"reset\", \"Reset\"), shiny::p(\"Press the button to go back to UI 2.\") ) )"},{"path":"https://shinyworks.github.io/scenes/articles/scenes.html","id":"scenes-and-actions","dir":"Articles","previous_headings":"A toy example","what":"Scenes and actions","title":"Changing scenes","text":"scenes, shiny_scene associates UI one scene_actions used choose . case, ’ll display UIs four situations: Display ui4 user particular cookie set value cookie successfully passes validation function. Display ui3 user cookie set, value doesn’t validate. Display ui2 user particular parameter URL query string. Display ui1 none cases true. real app, final UI likely login screen, perhaps error page. toy example, cookies “valid” certain value. value changes sometimes, create validation function accepts cookie value acceptable value. wrap ui4 req_has_cookie() action, shiny_scene. shiny_scene ui3 similar, skip validation. words, must cookie set, don’t care value . ui2, ’re looking parameter named “code”. don’t care value (, ’d pass vector acceptable values). Finally, set scene without actions fall-UI.","code":"our_cookie_validator <- function(cookie_value, acceptable) { cookie_value == acceptable } scene4 <- set_scene( ui4, req_has_cookie( cookie_name = \"our_cookie\", validation_fn = our_cookie_validator, acceptable = \"good value\" # We can pass variables through to our validator. ) ) scene3 <- set_scene( ui3, req_has_cookie( cookie_name = \"our_cookie\" ) ) scene2 <- set_scene( ui2, req_has_query(\"code\") ) scene1 <- set_scene( ui1 )"},{"path":"https://shinyworks.github.io/scenes/articles/scenes.html","id":"scene-changes","dir":"Articles","previous_headings":"A toy example","what":"Scene changes","title":"Changing scenes","text":"wrap scenes together change_scene(). list scenes priority order. can use ui just like shiny UI.","code":"ui <- change_scene( scene4, scene3, scene2, scene1 ) # Any UI that the user sees will use this # shared server backend. server <- function(input, output, session) { # If they press the button in ui2, save a cookie and reload. shiny::observeEvent( input$cookie_simple, { cookies::set_cookie(\"our_cookie\", \"bad value\") session$reload() } ) # If they press the button in ui3, save a \"valid\" cookie and reload. shiny::observeEvent( input$cookie_valid, { cookies::set_cookie(\"our_cookie\", \"good value\") session$reload() } ) # If they press the reset button in ui4, delete the cookie and reload. shiny::observeEvent( input$reset, { cookies::remove_cookie(\"our_cookie\") session$reload() } ) } shiny::shinyApp( ui = ui, server = server )"},{"path":"https://shinyworks.github.io/scenes/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Jon Harmon. Author, maintainer, copyright holder.","code":""},{"path":"https://shinyworks.github.io/scenes/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Harmon J (2024). scenes: Switch Alternative 'shiny' UIs. R package version 0.1.0.9000, https://github.com/shinyworks/scenes, https://scenes.shinyworks.org/scenes/.","code":"@Manual{, title = {scenes: Switch Between Alternative 'shiny' UIs}, author = {Jon Harmon}, year = {2024}, note = {R package version 0.1.0.9000, https://github.com/shinyworks/scenes}, url = {https://scenes.shinyworks.org/scenes/}, }"},{"path":"https://shinyworks.github.io/scenes/index.html","id":"scenes-","dir":"","previous_headings":"","what":"Switch Between Alternative shiny UIs","title":"Switch Between Alternative shiny UIs","text":"goal {scenes} make easy switch {shiny} app alternative UIs. designed abstract login-wrapper concept implemented {shinyslack}.","code":""},{"path":"https://shinyworks.github.io/scenes/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Switch Between Alternative shiny UIs","text":"Install released version {scenes} CRAN: install development version scenes GitHub :","code":"install.packages(\"scenes\") # install.packages(\"remotes\") remotes::install_github(\"shinyworks/scenes\")"},{"path":"https://shinyworks.github.io/scenes/index.html","id":"use-cases","dir":"","previous_headings":"","what":"Use Cases","title":"Switch Between Alternative shiny UIs","text":"can see demonstration {scenes} . examples might use {scenes} switch different UIs Shiny app: Login Wrapper: Use {scenes} switch login page main content app. original use case {scenes}. ws designed abstract login-wrapper concept implemented {shinyslack}. App Modes: Use {scenes} switch different modes app, view-mode edit mode, via query parameter (yourapp.shinyapps.io?mode=edit). User Roles: Use {scenes} switch different UIs based user roles. example, non-admin user might see different UI admin user. Login Wrapper example might look like : See {shinyslack} fully implemented example.","code":"library(shiny) library(scenes) # Define the different scenes for the app login_ui <- fluidPage( textInput(\"username\", \"Username\"), passwordInput(\"password\", \"Password\"), actionButton(\"login\", \"Login\") ) main_ui <- fluidPage( h1(\"Welcome\"), textOutput(\"username\") ) # Use the `set_scene()` function to define the different scenes, and # `change_scene()` to switch between them. ui <- change_scene( set_scene( main_ui, req_has_cookie( \"validate_login\", validation_fn = my_validation_fn ) ), fall_through = login_ui ) server <- function(input, output, session) { observeEvent(input$login, { use_cookies_package_to_save_cookie_fn(input$username, input$password) }) output$username <- renderText({ input$username }) } shinyApp(ui = ui, server = server)"},{"path":"https://shinyworks.github.io/scenes/index.html","id":"similar-packages","dir":"","previous_headings":"","what":"Similar Packages","title":"Switch Between Alternative shiny UIs","text":"packages implemented features domain. {brochure}: package appears great deal overlap {scenes}. Colin Fay’s implementation appears potentially robust complete {scenes}, cost diverging farther “normal” shiny app. {shiny.router}: package Appsilon appears conceptually similar {scenes}, focused routing based URL. three packages listed , one available CRAN. {blaze}: package Nate Teetor also focuses routing based URL. resulting shiny apps switched via server function.","code":""},{"path":"https://shinyworks.github.io/scenes/index.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Switch Between Alternative shiny UIs","text":"Please note scenes project released Contributor Code Conduct. contributing project, agree abide terms.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/change_scene.html","id":null,"dir":"Reference","previous_headings":"","what":"Choose Between Scenes — change_scene","title":"Choose Between Scenes — change_scene","text":"Specify function uses actions request object choose Shiny UI serve.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/change_scene.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Choose Between Scenes — change_scene","text":"","code":"change_scene(..., fall_through = default_ui)"},{"path":"https://shinyworks.github.io/scenes/reference/change_scene.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Choose Between Scenes — change_scene","text":"... One shiny_scenes. fall_through ui display scenes valid. default value, default_ui(), returns HTTP 422 status code indicating request processed.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/change_scene.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Choose Between Scenes — change_scene","text":"function processes request object deliver Shiny ui.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/change_scene.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Choose Between Scenes — change_scene","text":"","code":"scene1 <- set_scene( \"A shiny ui\", req_has_query(\"scene\", 1) ) scene2 <- set_scene( \"Another shiny ui\", req_has_query(\"scene\", 2) ) ui <- change_scene( scene1, scene2 ) ui #> function (request) #> { #> for (scene in scenes) { #> if (!length(scene$actions) || purrr::every(scene$actions, #> ~.x$check_fn(request))) { #> return(.parse_ui(scene$ui, request)) #> } #> } #> return(.parse_ui(fall_through, request)) #> } #> <bytecode: 0x55fc8b7bd9a8> #> <environment: 0x55fc8b7c3eb0> #> attr(,\"http_methods_supported\") #> [1] \"GET\""},{"path":"https://shinyworks.github.io/scenes/reference/construct_action.html","id":null,"dir":"Reference","previous_headings":"","what":"Construct a Scene Action — construct_action","title":"Construct a Scene Action — construct_action","text":"Generate check function action, use create scene_action object.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/construct_action.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Construct a Scene Action — construct_action","text":"","code":"construct_action(fn, ..., negate = FALSE, methods = \"GET\")"},{"path":"https://shinyworks.github.io/scenes/reference/construct_action.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Construct a Scene Action — construct_action","text":"fn function takes request (potentially arguments) returns TRUE FALSE. ... Additional parameters passed fn. negate TRUE, trigger corresponding scene action matched. methods http methods needs accepted order function make sense. Default \"GET\" work almost cases.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/construct_action.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Construct a Scene Action — construct_action","text":"scene_action.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/construct_action.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Construct a Scene Action — construct_action","text":"","code":"simple_function <- function(request) { !missing(request) && length(request) > 0 } sample_action <- construct_action(simple_function) sample_action$check_fn() #> [1] FALSE sample_action$check_fn(list()) #> [1] FALSE sample_action$check_fn(list(a = 1)) #> [1] TRUE"},{"path":"https://shinyworks.github.io/scenes/reference/default_ui.html","id":null,"dir":"Reference","previous_headings":"","what":"Default UI for Unprocessable Requests — default_ui","title":"Default UI for Unprocessable Requests — default_ui","text":"plain text UI returns HTTP status 422, indicating request well-formed, semantically incorrect.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/default_ui.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Default UI for Unprocessable Requests — default_ui","text":"","code":"default_ui()"},{"path":"https://shinyworks.github.io/scenes/reference/default_ui.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Default UI for Unprocessable Requests — default_ui","text":"plain text UI status code 422.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/default_ui.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Default UI for Unprocessable Requests — default_ui","text":"","code":"default_ui() #> Warning: No ui specified for this request. Loading default ui. #> $status #> [1] 422 #> #> $content_type #> [1] \"text/plain\" #> #> $content #> [1] \"422: Unprocessable Entity. The conditions necessary to choose a UI were not met.\" #> #> $headers #> $headers$`X-UA-Compatible` #> [1] \"IE=edge,chrome=1\" #> #> #> attr(,\"class\") #> [1] \"httpResponse\""},{"path":"https://shinyworks.github.io/scenes/reference/dot-compile_methods.html","id":null,"dir":"Reference","previous_headings":"","what":"Find Methods Used by Actions — .compile_methods","title":"Find Methods Used by Actions — .compile_methods","text":"Find Methods Used Actions","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-compile_methods.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find Methods Used by Actions — .compile_methods","text":"","code":".compile_methods(scenes)"},{"path":"https://shinyworks.github.io/scenes/reference/dot-compile_methods.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Find Methods Used by Actions — .compile_methods","text":"scenes list shiny_scene objects.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-compile_methods.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find Methods Used by Actions — .compile_methods","text":"character vector methods accepted scenes.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-new_action.html","id":null,"dir":"Reference","previous_headings":"","what":"Structure a Scene Action — .new_action","title":"Structure a Scene Action — .new_action","text":"Structure Scene Action","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-new_action.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Structure a Scene Action — .new_action","text":"","code":".new_action(check_fn, methods)"},{"path":"https://shinyworks.github.io/scenes/reference/dot-new_action.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Structure a Scene Action — .new_action","text":"check_fn function processes request determine associated scene returned. methods http methods supported action.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-new_action.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Structure a Scene Action — .new_action","text":"scene_action.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-new_shiny_scene.html","id":null,"dir":"Reference","previous_headings":"","what":"Structure a Shiny Scene — .new_shiny_scene","title":"Structure a Shiny Scene — .new_shiny_scene","text":"Structure Shiny Scene","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-new_shiny_scene.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Structure a Shiny Scene — .new_shiny_scene","text":"","code":".new_shiny_scene(ui, actions)"},{"path":"https://shinyworks.github.io/scenes/reference/dot-new_shiny_scene.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Structure a Shiny Scene — .new_shiny_scene","text":"ui ui return set actions. actions Zero actions required order invoke ui.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-new_shiny_scene.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Structure a Shiny Scene — .new_shiny_scene","text":"shiny_scene.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-parse_ui.html","id":null,"dir":"Reference","previous_headings":"","what":"Prepare a Shiny UI for Display — .parse_ui","title":"Prepare a Shiny UI for Display — .parse_ui","text":"Prepare Shiny UI Display","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-parse_ui.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Prepare a Shiny UI for Display — .parse_ui","text":"","code":".parse_ui(ui, request)"},{"path":"https://shinyworks.github.io/scenes/reference/dot-parse_ui.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Prepare a Shiny UI for Display — .parse_ui","text":"ui 0- 1-argument function defining UI Shiny app, shiny::tagList(). request shiny request object.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-parse_ui.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Prepare a Shiny UI for Display — .parse_ui","text":"shiny ui shiny::tagList().","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-req_has_cookie_impl.html","id":null,"dir":"Reference","previous_headings":"","what":"Check a Request for a Cookie — .req_has_cookie_impl","title":"Check a Request for a Cookie — .req_has_cookie_impl","text":"Report whether request includes HTTP_COOKIE object specified cookie_name, optionally cookie passes","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-req_has_cookie_impl.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check a Request for a Cookie — .req_has_cookie_impl","text":"","code":".req_has_cookie_impl(request, cookie_name, validation_fn, ...)"},{"path":"https://shinyworks.github.io/scenes/reference/dot-req_has_cookie_impl.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check a Request for a Cookie — .req_has_cookie_impl","text":"request shiny request object. cookie_name cookie must present, length-1 character vector. validation_fn function takes value cookie first parameter, returns TRUE cookie valid, FALSE otherwise. ... Additional parameters passed validation_fn.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-req_has_cookie_impl.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check a Request for a Cookie — .req_has_cookie_impl","text":"length-1 logical vector.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-req_has_query_impl.html","id":null,"dir":"Reference","previous_headings":"","what":"Check a Request for a Query with a Key — .req_has_query_impl","title":"Check a Request for a Query with a Key — .req_has_query_impl","text":"Report whether request includes QUERY_STRING object specified key, optionally specific value key.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-req_has_query_impl.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check a Request for a Query with a Key — .req_has_query_impl","text":"","code":".req_has_query_impl(request, key, values = NULL)"},{"path":"https://shinyworks.github.io/scenes/reference/dot-req_has_query_impl.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check a Request for a Query with a Key — .req_has_query_impl","text":"request shiny request object. key key must present, length-1 character vector. values Details look key. NULL indicates key must present contents unimportant action. Otherwise actual value query must present values.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-req_has_query_impl.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check a Request for a Query with a Key — .req_has_query_impl","text":"length-1 logical vector.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-req_uses_method_impl.html","id":null,"dir":"Reference","previous_headings":"","what":"Check a Request for a Method — .req_uses_method_impl","title":"Check a Request for a Method — .req_uses_method_impl","text":"Report whether request includes REQUEST_METHOD object specified value.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-req_uses_method_impl.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check a Request for a Method — .req_uses_method_impl","text":"","code":".req_uses_method_impl(request, method)"},{"path":"https://shinyworks.github.io/scenes/reference/dot-req_uses_method_impl.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check a Request for a Method — .req_uses_method_impl","text":"request shiny request object. method expected HTTP method.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-req_uses_method_impl.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check a Request for a Method — .req_uses_method_impl","text":"length-1 logical vector.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-shared-parameters.html","id":null,"dir":"Reference","previous_headings":"","what":"Parameters Used in Various Functions — .shared-parameters","title":"Parameters Used in Various Functions — .shared-parameters","text":"Parameters Used Various Functions","code":""},{"path":"https://shinyworks.github.io/scenes/reference/dot-shared-parameters.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Parameters Used in Various Functions — .shared-parameters","text":"request shiny request object.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/req_has_cookie.html","id":null,"dir":"Reference","previous_headings":"","what":"Switch Scenes on Cookies — req_has_cookie","title":"Switch Scenes on Cookies — req_has_cookie","text":"Create scene_action specifying cookie must present (absent) optionally check function cookie.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/req_has_cookie.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Switch Scenes on Cookies — req_has_cookie","text":"","code":"req_has_cookie(cookie_name, validation_fn = NULL, ..., negate = FALSE)"},{"path":"https://shinyworks.github.io/scenes/reference/req_has_cookie.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Switch Scenes on Cookies — req_has_cookie","text":"cookie_name cookie must present, length-1 character vector. validation_fn function takes value cookie first parameter, returns TRUE cookie valid, FALSE otherwise. ... Additional parameters passed validation_fn. negate TRUE, trigger corresponding scene action matched.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/req_has_cookie.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Switch Scenes on Cookies — req_has_cookie","text":"scene_action, used set_scene().","code":""},{"path":"https://shinyworks.github.io/scenes/reference/req_has_cookie.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Switch Scenes on Cookies — req_has_cookie","text":"","code":"# Specify an action to detect a cookie named \"mycookie\". req_has_cookie(\"mycookie\") #> $check_fn #> <partialised> #> function (...) #> ~.fn(cookie_name = ~cookie_name, validation_fn = ~validation_fn, #> ...) #> <environment: 0x55fc8fb28f00> #> #> $methods #> [1] \"GET\" #> #> attr(,\"class\") #> [1] \"scene_action\" \"list\" # Specify an action to detect the *lack* of a cookie named \"mycookie\". req_has_cookie(\"mycookie\", negate = TRUE) #> $check_fn #> function (...) #> !f(...) #> <bytecode: 0x55fc8fbdbcc0> #> <environment: 0x55fc8fbdba90> #> #> $methods #> [1] \"GET\" #> #> attr(,\"class\") #> [1] \"scene_action\" \"list\" # Specify an action to detect a cookie named \"mycookie\" that has 27 # characters. req_has_cookie( cookie_name = \"mycookie\", validation_fn = function(cookie_value) { nchar(cookie_value == 27) } ) #> $check_fn #> <partialised> #> function (...) #> ~.fn(cookie_name = ~cookie_name, validation_fn = ~validation_fn, #> ...) #> <environment: 0x55fc8fc4ac30> #> #> $methods #> [1] \"GET\" #> #> attr(,\"class\") #> [1] \"scene_action\" \"list\" # Specify an action to detect a cookie named \"mycookie\" that has a # variable-defined number of characters. expect_n_chars <- function(x, N) { nchar(x) == N } my_N <- 27 # Perhaps set by an environment variable. req_has_cookie( cookie_name = \"mycookie\", validation_fn = expect_n_chars, N = my_N ) #> $check_fn #> <partialised> #> function (...) #> ~.fn(cookie_name = ~cookie_name, validation_fn = ~validation_fn, #> N = ~my_N, ...) #> <environment: 0x55fc8fd88998> #> #> $methods #> [1] \"GET\" #> #> attr(,\"class\") #> [1] \"scene_action\" \"list\""},{"path":"https://shinyworks.github.io/scenes/reference/req_has_query.html","id":null,"dir":"Reference","previous_headings":"","what":"Switch Scenes on Query — req_has_query","title":"Switch Scenes on Query — req_has_query","text":"Create scene_action specifying key must present (absent) query string (part URL shiny app called, \"?\"), optionally value values key. example, myapps.shinyapps.io/myapp?param1=1¶m2=text, ?param1=1¶m2=text query string, param1 param2 keys, 1 text corresponding values.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/req_has_query.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Switch Scenes on Query — req_has_query","text":"","code":"req_has_query(key, values = NULL, negate = FALSE)"},{"path":"https://shinyworks.github.io/scenes/reference/req_has_query.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Switch Scenes on Query — req_has_query","text":"key key must present, length-1 character vector. values Details look key. NULL indicates key must present contents unimportant action. Otherwise actual value query must present values. negate TRUE, trigger corresponding scene action matched.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/req_has_query.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Switch Scenes on Query — req_has_query","text":"scene_action, used set_scene().","code":""},{"path":"https://shinyworks.github.io/scenes/reference/req_has_query.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Switch Scenes on Query — req_has_query","text":"","code":"# Specify an action to detect a \"code\" parameter in the query. req_has_query(\"code\") #> $check_fn #> <partialised> #> function (...) #> ~.fn(key = ~key, values = ~values, ...) #> <environment: 0x55fc8ec0c5d0> #> #> $methods #> [1] \"GET\" #> #> attr(,\"class\") #> [1] \"scene_action\" \"list\" # Specify an action to detect the *lack* of a \"code\" parameter in the query. req_has_query(\"code\", negate = TRUE) #> $check_fn #> function (...) #> !f(...) #> <bytecode: 0x55fc8fbdbcc0> #> <environment: 0x55fc8ecc2468> #> #> $methods #> [1] \"GET\" #> #> attr(,\"class\") #> [1] \"scene_action\" \"list\" # Specify an action to detect a \"language\" parameter, with values containing # \"en\" or \"es\". req_has_query(\"language\", \"en|es\") #> $check_fn #> <partialised> #> function (...) #> ~.fn(key = ~key, values = ~values, ...) #> <environment: 0x55fc8ed2d768> #> #> $methods #> [1] \"GET\" #> #> attr(,\"class\") #> [1] \"scene_action\" \"list\""},{"path":"https://shinyworks.github.io/scenes/reference/req_uses_method.html","id":null,"dir":"Reference","previous_headings":"","what":"Switch Scenes on Method — req_uses_method","title":"Switch Scenes on Method — req_uses_method","text":"Create scene_action specifying HTTP method must used (used).","code":""},{"path":"https://shinyworks.github.io/scenes/reference/req_uses_method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Switch Scenes on Method — req_uses_method","text":"","code":"req_uses_method(method, negate = FALSE) req_uses_get(negate = FALSE) req_uses_post(negate = FALSE)"},{"path":"https://shinyworks.github.io/scenes/reference/req_uses_method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Switch Scenes on Method — req_uses_method","text":"method expected HTTP method. negate TRUE, trigger corresponding scene action matched.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/req_uses_method.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Switch Scenes on Method — req_uses_method","text":"scene_action, used set_scene().","code":""},{"path":"https://shinyworks.github.io/scenes/reference/req_uses_method.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Switch Scenes on Method — req_uses_method","text":"","code":"req_uses_method(\"GET\") #> $check_fn #> <partialised> #> function (...) #> ~.fn(method = ~method, ...) #> <environment: 0x55fc8ce91a48> #> #> $methods #> [1] \"GET\" #> #> attr(,\"class\") #> [1] \"scene_action\" \"list\" req_uses_method(\"POST\") #> $check_fn #> <partialised> #> function (...) #> ~.fn(method = ~method, ...) #> <environment: 0x55fc8cd0b828> #> #> $methods #> [1] \"POST\" #> #> attr(,\"class\") #> [1] \"scene_action\" \"list\" req_uses_get() #> $check_fn #> <partialised> #> function (...) #> ~.fn(method = ~method, ...) #> <environment: 0x55fc8cc398b8> #> #> $methods #> [1] \"GET\" #> #> attr(,\"class\") #> [1] \"scene_action\" \"list\" req_uses_get(negate = TRUE) #> $check_fn #> function (...) #> !f(...) #> <bytecode: 0x55fc8fbdbcc0> #> <environment: 0x55fc8cac9070> #> #> $methods #> [1] \"GET\" #> #> attr(,\"class\") #> [1] \"scene_action\" \"list\" req_uses_post() #> $check_fn #> <partialised> #> function (...) #> ~.fn(method = ~method, ...) #> <environment: 0x55fc8ca3a8a0> #> #> $methods #> [1] \"POST\" #> #> attr(,\"class\") #> [1] \"scene_action\" \"list\" req_uses_post(negate = TRUE) #> $check_fn #> function (...) #> !f(...) #> <bytecode: 0x55fc8fbdbcc0> #> <environment: 0x55fc8c956f60> #> #> $methods #> [1] \"POST\" #> #> attr(,\"class\") #> [1] \"scene_action\" \"list\""},{"path":"https://shinyworks.github.io/scenes/reference/scene_action-class.html","id":null,"dir":"Reference","previous_headings":"","what":"scene_action class — scene_action-class","title":"scene_action class — scene_action-class","text":"scene_action object list components check_fn methods. used test whether request trigger particlar scene.","code":""},{"path":[]},{"path":"https://shinyworks.github.io/scenes/reference/scenes-package.html","id":null,"dir":"Reference","previous_headings":"","what":"scenes: Switch Between Alternative 'shiny' UIs — scenes-package","title":"scenes: Switch Between Alternative 'shiny' UIs — scenes-package","text":"Sometimes useful serve alternative 'shiny' UIs depending information passed request object, value cookie query parameter. packages facilitates switches.","code":""},{"path":[]},{"path":"https://shinyworks.github.io/scenes/reference/scenes-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"scenes: Switch Between Alternative 'shiny' UIs — scenes-package","text":"Maintainer: Jon Harmon [email protected] (ORCID) [copyright holder]","code":""},{"path":"https://shinyworks.github.io/scenes/reference/set_scene.html","id":null,"dir":"Reference","previous_headings":"","what":"Link a UI to Required Actions — set_scene","title":"Link a UI to Required Actions — set_scene","text":"Define shiny_scene linking UI zero scene_action requirements.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/set_scene.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Link a UI to Required Actions — set_scene","text":"","code":"set_scene(ui, ...)"},{"path":"https://shinyworks.github.io/scenes/reference/set_scene.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Link a UI to Required Actions — set_scene","text":"ui shiny ui. ... Zero scene_actions.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/set_scene.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Link a UI to Required Actions — set_scene","text":"shiny_scene.","code":""},{"path":"https://shinyworks.github.io/scenes/reference/set_scene.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Link a UI to Required Actions — set_scene","text":"","code":"scene1 <- set_scene( \"A shiny ui\", req_has_query(\"scene\", 1) ) scene1 #> $ui #> [1] \"A shiny ui\" #> #> $actions #> $actions[[1]] #> $check_fn #> <partialised> #> function (...) #> ~.fn(key = ~key, values = ~values, ...) #> <environment: 0x55fc8eaad210> #> #> $methods #> [1] \"GET\" #> #> attr(,\"class\") #> [1] \"scene_action\" \"list\" #> #> #> attr(,\"class\") #> [1] \"shiny_scene\" \"list\" scene2 <- set_scene( \"Another shiny ui\", req_has_query(\"scene\", 2) ) scene2 #> $ui #> [1] \"Another shiny ui\" #> #> $actions #> $actions[[1]] #> $check_fn #> <partialised> #> function (...) #> ~.fn(key = ~key, values = ~values, ...) #> <environment: 0x55fc8ebb6e00> #> #> $methods #> [1] \"GET\" #> #> attr(,\"class\") #> [1] \"scene_action\" \"list\" #> #> #> attr(,\"class\") #> [1] \"shiny_scene\" \"list\""},{"path":"https://shinyworks.github.io/scenes/reference/shiny_scene-class.html","id":null,"dir":"Reference","previous_headings":"","what":"shiny_scene class — shiny_scene-class","title":"shiny_scene class — shiny_scene-class","text":"shiny_scene object list components ui actions. used define display Shiny app different scenarios.","code":""},{"path":[]},{"path":"https://shinyworks.github.io/scenes/news/index.html","id":"scenes-0109000","dir":"Changelog","previous_headings":"","what":"scenes 0.1.0.9000","title":"scenes 0.1.0.9000","text":"Added NEWS.md file track changes package.","code":""}]