## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)


## ----setup--------------------------------------------------------------------
library(blockr.core)


## ----echo=FALSE---------------------------------------------------------------
include_mermaid("registry")


## ----eval=FALSE---------------------------------------------------------------
# available_blocks()[["dataset_block"]]


## ----eval=TRUE----------------------------------------------------------------
names(available_blocks())


## ----eval=TRUE----------------------------------------------------------------
# ./R/dummy-block.R
new_dummy_block <- function(text = "Hello World", ...) {
  new_data_block(
    function(id) {
      moduleServer(id, function(input, output, session) {
        list(
          expr = reactive(quote(text)),
          state = list(text = text)
        )
      })
    },
    function(id) {
      shiny::tagList()
    },
    class = "dummy_block",
    ...
  )
}

register_dummy_blocks <- function() {
  register_blocks(
    c(new_dummy_block),
    name = c("dummy block"),
    description = c("A block that does nothing"),
    overwrite = TRUE
  )
}

register_dummy_blocks()


## -----------------------------------------------------------------------------
available_blocks()[["dummy_block"]]


## -----------------------------------------------------------------------------
unregister_blocks(uid = "dummy_block")

# Check it out
names(available_blocks())

