How do I add input parameters for shinyjs::shinyjs.init() function in R?
I am modularizing my R Shiny app with custom Javascript functions using shinyjs
package. I find defining parameters for js$functionName(params)
useful and would like to also use it for shinyjs.init()
that is automatically called when the app is initially loaded.
Clarification with JohnCoene's comment:
From the code below, I want to use customMessage
defined within R used in shinyjs.init()
. I want this because I have a pre-defined script that includes all hard-coded variables including HTML class names and IDs. I do not want to define another variable within shinyjs.init()
.
Please refer to the reproducible example using codes from the
shinyjs official page below:
library(shiny)
library(shinyjs)
customMessage <- 'The app has been launched'
jsCode <- '
shinyjs.init = function() {
alert("I want to have a custom parameter for shinyjs.init()!");
}
shinyjs.backgroundCol = function(params) {
var defaultParams = {
id : null,
col : "red"
};
params = shinyjs.getParams(params, defaultParams);
console.log(params);
var el = $("#" + params.id);
el.css("background-color", params.col);
}'
shinyApp(
ui = fluidPage(
useShinyjs(),
extendShinyjs(text = jsCode),
p(id = "name", "My name is Dean"),
p(id = "sport", "I like soccer"),
selectInput("col", "Colour:",
c("white", "yellow", "red", "blue", "purple")),
textInput("selector", "Element", ""),
actionButton("btn", "Go")
),
server = function(input, output) {
observeEvent(input$btn, {
js$backgroundCol(input$selector, input$col)
})
}
)
javascript r shiny shinyjs
add a comment |
I am modularizing my R Shiny app with custom Javascript functions using shinyjs
package. I find defining parameters for js$functionName(params)
useful and would like to also use it for shinyjs.init()
that is automatically called when the app is initially loaded.
Clarification with JohnCoene's comment:
From the code below, I want to use customMessage
defined within R used in shinyjs.init()
. I want this because I have a pre-defined script that includes all hard-coded variables including HTML class names and IDs. I do not want to define another variable within shinyjs.init()
.
Please refer to the reproducible example using codes from the
shinyjs official page below:
library(shiny)
library(shinyjs)
customMessage <- 'The app has been launched'
jsCode <- '
shinyjs.init = function() {
alert("I want to have a custom parameter for shinyjs.init()!");
}
shinyjs.backgroundCol = function(params) {
var defaultParams = {
id : null,
col : "red"
};
params = shinyjs.getParams(params, defaultParams);
console.log(params);
var el = $("#" + params.id);
el.css("background-color", params.col);
}'
shinyApp(
ui = fluidPage(
useShinyjs(),
extendShinyjs(text = jsCode),
p(id = "name", "My name is Dean"),
p(id = "sport", "I like soccer"),
selectInput("col", "Colour:",
c("white", "yellow", "red", "blue", "purple")),
textInput("selector", "Element", ""),
actionButton("btn", "Go")
),
server = function(input, output) {
observeEvent(input$btn, {
js$backgroundCol(input$selector, input$col)
})
}
)
javascript r shiny shinyjs
I'm unsure what you are trying to achieve. How would you pass arguments toshinyjs.init
which is ran at the app launch before any parameter could even be available.
– JohnCoene
Nov 15 '18 at 10:47
add a comment |
I am modularizing my R Shiny app with custom Javascript functions using shinyjs
package. I find defining parameters for js$functionName(params)
useful and would like to also use it for shinyjs.init()
that is automatically called when the app is initially loaded.
Clarification with JohnCoene's comment:
From the code below, I want to use customMessage
defined within R used in shinyjs.init()
. I want this because I have a pre-defined script that includes all hard-coded variables including HTML class names and IDs. I do not want to define another variable within shinyjs.init()
.
Please refer to the reproducible example using codes from the
shinyjs official page below:
library(shiny)
library(shinyjs)
customMessage <- 'The app has been launched'
jsCode <- '
shinyjs.init = function() {
alert("I want to have a custom parameter for shinyjs.init()!");
}
shinyjs.backgroundCol = function(params) {
var defaultParams = {
id : null,
col : "red"
};
params = shinyjs.getParams(params, defaultParams);
console.log(params);
var el = $("#" + params.id);
el.css("background-color", params.col);
}'
shinyApp(
ui = fluidPage(
useShinyjs(),
extendShinyjs(text = jsCode),
p(id = "name", "My name is Dean"),
p(id = "sport", "I like soccer"),
selectInput("col", "Colour:",
c("white", "yellow", "red", "blue", "purple")),
textInput("selector", "Element", ""),
actionButton("btn", "Go")
),
server = function(input, output) {
observeEvent(input$btn, {
js$backgroundCol(input$selector, input$col)
})
}
)
javascript r shiny shinyjs
I am modularizing my R Shiny app with custom Javascript functions using shinyjs
package. I find defining parameters for js$functionName(params)
useful and would like to also use it for shinyjs.init()
that is automatically called when the app is initially loaded.
Clarification with JohnCoene's comment:
From the code below, I want to use customMessage
defined within R used in shinyjs.init()
. I want this because I have a pre-defined script that includes all hard-coded variables including HTML class names and IDs. I do not want to define another variable within shinyjs.init()
.
Please refer to the reproducible example using codes from the
shinyjs official page below:
library(shiny)
library(shinyjs)
customMessage <- 'The app has been launched'
jsCode <- '
shinyjs.init = function() {
alert("I want to have a custom parameter for shinyjs.init()!");
}
shinyjs.backgroundCol = function(params) {
var defaultParams = {
id : null,
col : "red"
};
params = shinyjs.getParams(params, defaultParams);
console.log(params);
var el = $("#" + params.id);
el.css("background-color", params.col);
}'
shinyApp(
ui = fluidPage(
useShinyjs(),
extendShinyjs(text = jsCode),
p(id = "name", "My name is Dean"),
p(id = "sport", "I like soccer"),
selectInput("col", "Colour:",
c("white", "yellow", "red", "blue", "purple")),
textInput("selector", "Element", ""),
actionButton("btn", "Go")
),
server = function(input, output) {
observeEvent(input$btn, {
js$backgroundCol(input$selector, input$col)
})
}
)
javascript r shiny shinyjs
javascript r shiny shinyjs
edited Nov 15 '18 at 15:36
Jason Jisu Park
asked Nov 14 '18 at 23:17
Jason Jisu ParkJason Jisu Park
1266
1266
I'm unsure what you are trying to achieve. How would you pass arguments toshinyjs.init
which is ran at the app launch before any parameter could even be available.
– JohnCoene
Nov 15 '18 at 10:47
add a comment |
I'm unsure what you are trying to achieve. How would you pass arguments toshinyjs.init
which is ran at the app launch before any parameter could even be available.
– JohnCoene
Nov 15 '18 at 10:47
I'm unsure what you are trying to achieve. How would you pass arguments to
shinyjs.init
which is ran at the app launch before any parameter could even be available.– JohnCoene
Nov 15 '18 at 10:47
I'm unsure what you are trying to achieve. How would you pass arguments to
shinyjs.init
which is ran at the app launch before any parameter could even be available.– JohnCoene
Nov 15 '18 at 10:47
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53310201%2fhow-do-i-add-input-parameters-for-shinyjsshinyjs-init-function-in-r%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53310201%2fhow-do-i-add-input-parameters-for-shinyjsshinyjs-init-function-in-r%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
I'm unsure what you are trying to achieve. How would you pass arguments to
shinyjs.init
which is ran at the app launch before any parameter could even be available.– JohnCoene
Nov 15 '18 at 10:47