# Generated by blockr.core block_registration roclet: do not edit by hand

new_dataset_block:
  name: dataset block
  description: Choose a dataset from a package
  category: input
  details: This data block allows to select a dataset from a package, such as the
    datasets package available in most R installations as one of the packages with
    "recommended" priority. The source package can be chosen at time of block instantiation
    and can be set to any R package, for which then a set of candidate datasets is
    computed. This includes exported objects that inherit from `data.frame`.
  link: https://bristolmyerssquibb.github.io/blockr.core/reference/new_data_block.html
  icon: database
  guidance: Loads a data.frame that ships with an installed package. Set `package`
    to the source package (default "datasets"), then `dataset` to the name of a data.frame
    object it exports.
  keywords:
  - dataset
  - data
  - import
  - package
  - source
  arguments:
    dataset:
      description: Selects the dataset to use.
      example: iris
      type:
        type: string
    package:
      description: R package to source the dataset from.
      example: datasets
      type:
        type: string
new_filebrowser_block:
  name: file browser block
  description: Browse local files
  category: input
  details: In order to make user data available to blockr, this block provides file-
    upload functionality via [shiny::fileInput()]. Given that data provided in this
    way are only available for the life-time of the shiny session, exported code is
    not self-contained and a script containing code from an upload block is cannot
    be run in a new session. Also, serialization of upload blocks is currently not
    allowed as the full data would have to be included during serialization.
  link: https://bristolmyerssquibb.github.io/blockr.core/reference/new_file_block.html
  icon: folder2-open
  guidance: Selects a file from the server's file system for a downstream parser such
    as a CSV block. `file_path` is the chosen path; `volumes` bounds the root directories
    the browser may reach.
  keywords:
  - file
  - browser
  - path
  - filesystem
  - select
  arguments:
    file_path:
      description: Path of the selected file.
      type:
        type: string
new_upload_block:
  name: data upload block
  description: Upload data
  category: input
  details: In order to make user data available to blockr, this block provides file-
    upload functionality via [shiny::fileInput()]. Given that data provided in this
    way are only available for the life-time of the shiny session, exported code is
    not self-contained and a script containing code from an upload block is cannot
    be run in a new session. Also, serialization of upload blocks is currently not
    allowed as the full data would have to be included during serialization.
  link: https://bristolmyerssquibb.github.io/blockr.core/reference/new_file_block.html
  icon: upload
  guidance: Provides a data.frame from a file uploaded in the running app. Uploaded
    data lives only for the session, so serialization and reproducible export are
    unavailable. Has no configurable arguments.
  keywords:
  - upload
  - file
  - import
  - data
  - session
new_csv_block:
  name: csv parser block
  description: Read CSV file
  category: utility
  details: Files in CSV format provided for example by a block created via [new_file_block()]
    may be parsed into `data.frame` by CSV blocks.
  link: https://bristolmyerssquibb.github.io/blockr.core/reference/new_parser_block.html
  icon: filetype-csv
  guidance: Parses a delimited text file (typically from a file or upload block) into
    a data.frame with `utils::read.table()`. `sep` is the field separator and `quote`
    the quoting character.
  keywords:
  - csv
  - parse
  - read
  - delimited
  - import
  arguments:
    sep:
      description: Field separator character.
      example: ','
      type:
        type: string
    quote:
      description: Quoting character.
      type:
        type: string
new_scatter_block:
  name: scatter plot block
  description: Scatter plotting
  category: plot
  details: Mainly for demonstration purposes, this block draws a scattter plot using
    [base::plot()]. In its current simplistic implementation, apart from axis labels
    (fixed to the corresponding column names), no further plotting options are available
    and for any "production" application, a more sophisticated (set of) block(s) for
    data visualization will most likely be required.
  link: https://bristolmyerssquibb.github.io/blockr.core/reference/new_plot_block.html
  icon: dice-5
  guidance: Draws a scatter plot of `x` against `y` with `base::plot()`. `x` and `y`
    are column names from the input data; axis labels follow the column names.
  keywords:
  - scatter
  - scatter plot
  - chart
  - visualization
  - points
  arguments:
    x:
      description: Column for the horizontal axis.
      example: Sepal.Length
      type:
        type: string
    'y':
      description: Column for the vertical axis.
      example: Sepal.Width
      type:
        type: string
new_glue_block:
  name: glue string block
  description: String interpolation using glue
  category: utility
  details: Using [glue::glue()], this block allows evaluation of a text string in
    the context of datasets to produce (markdown formatted) text as block result.
  link: https://bristolmyerssquibb.github.io/blockr.core/reference/new_text_block.html
  icon: braces
  guidance: Interpolates a template against the input data with `glue::glue()` to
    produce (markdown) text. Reference columns of the data in `text` with braces,
    e.g. "{nrow(data)} rows".
  keywords:
  - glue
  - template
  - text
  - string
  - interpolate
  - markdown
  arguments:
    text:
      description: Template string evaluated with glue::glue().
      example: '{nrow(data)} rows'
      type:
        type: string
new_head_block:
  name: head/tail block
  description: Data head/tail
  category: transform
  details: Row-subsetting the first or last `n` rows of a `data.frame` (as provided
    by [utils::head()] and [utils::tail()]) is implemented as `head_block`. This is
    an example of a block that takes a single `data.frame` as input and produces a
    single `data.frame` as output.
  link: https://bristolmyerssquibb.github.io/blockr.core/reference/new_transform_block.html
  icon: eye
  guidance: 'Keeps the first or last `n` rows of the input with `utils::head()` /
    `utils::tail()`. `direction` chooses the end: "head" for the first rows, "tail"
    for the last.'
  keywords:
  - head
  - tail
  - first
  - last
  - rows
  - limit
  arguments:
    'n':
      description: Number of rows to keep.
      example: 10
      type:
        type: integer
    direction:
      description: Row end to keep, either head (first) or tail (last).
      example: tail
      type:
        type: string
        enum:
        - head
        - tail
new_merge_block:
  name: merge block
  description: Joining or datasets
  category: transform
  details: Joining together two `data.frame`s, based on a set of index columns, using
    [base::merge()] is available as `merge_block`. Depending on values passed as `all_x`/`all_y`
    the result will correspond to an "inner", "outer", "left" or "right" join. See
    [base::merge()] for details. This block class serves as an example for a transform
    block that takes exactly two data inputs `x` and `y` to produce a single `data.frame`
    as output.
  link: https://bristolmyerssquibb.github.io/blockr.core/reference/new_transform_block.html
  icon: union
  guidance: 'Joins the two inputs with `base::merge()`. `by` names the shared key
    column(s); omit it to join on all common columns. all_x and all_y set the join
    type: both FALSE for an inner join, both TRUE for a full outer join, all_x alone
    for a left join, all_y alone for a right join.'
  keywords:
  - merge
  - join
  - inner join
  - outer join
  - left join
  - right join
  arguments:
    by:
      description: Shared key column(s) to join on.
      type:
        type: array
        items:
          type: string
    all_x:
      description: Keep unmatched rows from the first input.
      type:
        type: boolean
    all_y:
      description: Keep unmatched rows from the second input.
      type:
        type: boolean
  examples:
  - all_x: yes
    all_y: no
  - all_x: yes
    all_y: yes
new_rbind_block:
  name: rbind block
  description: Row-binding of datasets
  category: transform
  details: Row-wise concatenation of an arbitrary number of `data.frame`s, as performed
    by [base::rbind()] is available as an `rbind_block`. This mainly serves as an
    example for a variadic block via the "special" `...args` block data argument.
  link: https://bristolmyerssquibb.github.io/blockr.core/reference/new_transform_block.html
  icon: chevron-bar-expand
  guidance: Row-binds two or more inputs with `base::rbind()`; the inputs must share
    the same columns. Takes a variable number of data inputs and has no configurable
    arguments.
  keywords:
  - rbind
  - bind
  - concatenate
  - rows
  - append
  - union
new_subset_block:
  name: subset block
  description: Row and column subsetting
  category: transform
  details: This block allows to perform row and column subsetting on `data.frame`
    objects via [base::subset()]. Using non-standard evaluation, strings passed as
    `subset`/`select` arguments or entered via shiny UI are turned into `language`
    objects by [base::parse()].
  link: https://bristolmyerssquibb.github.io/blockr.core/reference/new_transform_block.html
  icon: funnel
  guidance: Row- and column-subsets the input with `base::subset()`. `subset` is a
    logical expression over the columns keeping rows where it is TRUE; `select` picks
    columns. Both are R expressions written as strings and evaluated with the data
    columns in scope.
  keywords:
  - filter
  - subset
  - select
  - rows
  - columns
  - where
  arguments:
    subset:
      description: Logical row-filter expression, as a string.
      example: Sepal.Width > 3
      type:
        type: string
    select:
      description: Column-selection expression, as a string.
      example: Species
      type:
        type: string

