This defines the input for the gene signature specification.
Usage
geneSpecInput(
inputId,
funs,
label_genes = "Select Gene(s)",
label_funs = "Select Gene Summary",
label_text_button = "Enter list of genes",
label_lock_button =
"Lock gene selection (so that it does not get updated when filtering)",
label_select_all_button = paste0("Select All Genes (first ", max_options, ")"),
label_select_none_button = "Select None",
max_options = 200L,
max_selected = max_options
)Arguments
- inputId
(
string)
the ID used to call the module input.- funs
(named
list)
names of this list will be used for the function selection drop down menu.- label_genes
(
string)
label for the gene selection.- label_funs
(
string)
label for the function selection.(
string)
label for the text input button.(
string)
label for the lock button.(
string)
label for the selecting all genes button.(
string)
label for the selecting no genes button.- max_options
(
count)
maximum number of gene options rendering and selected via "Select All".- max_selected
(
count)
maximum number of genes which can be selected.
See also
geneSpecServer() for the module server and a complete example.
Examples
geneSpecInput("my_genes", list(mean = colMeans), label_funs = "Please select function")
#> <div style="display: flex; justify-content: space-around;">
#> <label>Select Gene(s)</label>
#> <a id="my_genes-select_none_button" href="#" class="action-button">
#> <bslib-tooltip placement="top" bsOptions="[]" width="10px" data-require-bs-version="5" data-require-bs-caller="tooltip()">
#> <template>Select None</template>
#> <span>
#> <i aria-label="remove-circle icon" class="glyphicon glyphicon-remove-circle" role="presentation"></i>
#> </span>
#> </bslib-tooltip>
#> </a>
#> <a id="my_genes-select_all_button" href="#" class="action-button">
#> <bslib-tooltip placement="top" bsOptions="[]" width="10px" data-require-bs-version="5" data-require-bs-caller="tooltip()">
#> <template>Select All Genes (first 200)</template>
#> <span>
#> <i aria-label="ok-circle icon" class="glyphicon glyphicon-ok-circle" role="presentation"></i>
#> </span>
#> </bslib-tooltip>
#> </a>
#> <a id="my_genes-text_button" href="#" class="action-button">
#> <bslib-tooltip placement="top" bsOptions="[]" width="10px" data-require-bs-version="5" data-require-bs-caller="tooltip()">
#> <template>Enter list of genes</template>
#> <span>
#> <i class="fas fa-font" role="presentation" aria-label="font icon"></i>
#> </span>
#> </bslib-tooltip>
#> </a>
#> <bslib-tooltip placement="top" bsOptions="[]" data-require-bs-version="5" data-require-bs-caller="tooltip()">
#> <template>Lock gene selection (so that it does not get updated when filtering)</template>
#> <div class="form-group shiny-input-container" style="width:10px;">
#> <div class="pretty p-toggle p-plain p-icon p-pulse">
#> <input id="my_genes-lock_button" type="checkbox"/>
#> <div class="state p-on">
#> <i aria-label="lock icon" class="fas fa-lock icon" role="presentation"></i>
#> <label>
#> <span></span>
#> </label>
#> </div>
#> <div class="state p-off">
#> <i aria-label="lock-open icon" class="fas fa-lock-open icon" role="presentation"></i>
#> <label>
#> <span></span>
#> </label>
#> </div>
#> </div>
#> </div>
#> </bslib-tooltip>
#> </div>
#> <div>
#> <div class="form-group shiny-input-container">
#> <label class="control-label shiny-label-null" for="my_genes-genes" id="my_genes-genes-label"></label>
#> <div>
#> <select class="shiny-input-select form-control" id="my_genes-genes" multiple="multiple"><option value=""></option></select>
#> <script type="application/json" data-for="my_genes-genes" data-eval="["render"]">{"placeholder":"- Nothing selected -","render":"{\n option: function(item, escape) {\n return '<div style = \"padding: 2px 12px;\">' +\n '<span style=\"font-size: inherit;\">' + item.label +\n ' <span style=\"color: red; font-size: xx-small;\" >' + item.value +\n '<\/div>'\n }\n }","searchField":["value","label"],"maxOptions":200,"maxItems":200,"plugins":["selectize-plugin-a11y"]}</script>
#> </div>
#> </div>
#> </div>
#> <div class="shiny-panel-conditional" data-display-if="input.genes && input.genes.length > 1" data-ns-prefix="my_genes-">
#> <div class="form-group shiny-input-container">
#> <label class="control-label" id="my_genes-fun_name-label" for="my_genes-fun_name">Please select function</label>
#> <div>
#> <select id="my_genes-fun_name" class="shiny-input-select"><option value="mean" selected>mean</option></select>
#> <script type="application/json" data-for="my_genes-fun_name" data-nonempty="">{"plugins":["selectize-plugin-a11y"]}</script>
#> </div>
#> </div>
#> </div>