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

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

## ----coercion-flow, eval=TRUE, echo=FALSE-------------------------------------
blockr.core::include_mermaid("coercion-flow")

## -----------------------------------------------------------------------------
# new_dock_board()

## -----------------------------------------------------------------------------
# new_dock_board(
#   blocks = c(a = new_dataset_block()),
#   layout = list("a")
# )

## -----------------------------------------------------------------------------
# new_dock_board(
#   blocks = c(a = new_dataset_block(), b = new_head_block()),
#   layout = list("a", "b")
# )

## -----------------------------------------------------------------------------
# new_dock_board(
#   blocks = c(a = new_dataset_block(), b = new_head_block()),
#   layout = list(list("a", "b"))
# )

## -----------------------------------------------------------------------------
# new_dock_board(
#   blocks = c(a = new_dataset_block(), b = new_head_block()),
#   layout = list(c("a", "b"))
# )

## -----------------------------------------------------------------------------
# new_dock_board(
#   blocks = c(
#     a = new_dataset_block(),
#     b = new_head_block(),
#     c = new_head_block()
#   ),
#   layout = list("a", list("b", "c"))
# )

## -----------------------------------------------------------------------------
# new_dock_board(
#   blocks = c(
#     a = new_dataset_block(),
#     b = new_head_block(),
#     c = new_head_block(),
#     d = new_head_block()
#   ),
#   layout = list(list("a", "b"), list("c", "d"))
# )

## -----------------------------------------------------------------------------
# new_dock_board(
#   blocks = c(
#     a = new_dataset_block(),
#     b = new_head_block(),
#     c = new_head_block()
#   ),
#   layout = list(list("a", list("b", "c")))
# )

## -----------------------------------------------------------------------------
# new_dock_board(
#   blocks = c(a = new_dataset_block(), b = new_head_block()),
#   extensions = new_edit_board_extension(),
#   layout = list("edit_board_extension", c("a", "b"))
# )

## -----------------------------------------------------------------------------
# new_dock_board(
#   blocks = c(a = new_dataset_block(), b = new_head_block()),
#   extensions = new_edit_board_extension(),
#   layout = dock_layouts(
#     Analysis = list("a", "b"),
#     Editor = list("edit_board_extension")
#   )
# )

## -----------------------------------------------------------------------------
# new_dock_board(
#   blocks = c(a = new_dataset_block(), b = new_head_block()),
#   extensions = new_edit_board_extension(),
#   layout = dock_layouts(
#     Analysis = list("a", "b"),
#     Editor = dock_view("edit_board_extension", active = TRUE)
#   )
# )

## -----------------------------------------------------------------------------
# overview <- list("a")
# attr(overview, "active") <- TRUE
# 
# dock_layouts(
#   Analysis = list("a", "b"),
#   Overview = overview
# )

## -----------------------------------------------------------------------------
# dock_layouts(
#   Analysis = list("a", "b"),
#   Empty = list()
# )

## -----------------------------------------------------------------------------
# new_dock_board(
#   blocks = c(
#     raw = new_dataset_block(),
#     cleaned = new_head_block(),
#     summary = new_head_block(),
#     plot1 = new_scatter_block(),
#     plot2 = new_scatter_block()
#   ),
#   extensions = new_edit_board_extension(),
#   links = list(
#     new_link("raw", "cleaned", "data"),
#     new_link("cleaned", "summary", "data"),
#     new_link("cleaned", "plot1", "data"),
#     new_link("cleaned", "plot2", "data")
#   ),
#   layout = dock_layouts(
#     Data = list("edit_board_extension", c("raw", "cleaned")),
#     Analysis = list(list("summary", "plot1"), "plot2"),
#     Charts = dock_view(c("plot1", "plot2"), active = TRUE)
#   )
# )

