Skip to contents

Appends a new empty ds to the DM state object and makes this new ds the active ds.

Usage

DM_new_element(state)

Arguments

state

DM state from DM_fetch_state()

Value

DM state object containing a new ds and that ds is set as the current active ds. See the help for DM_fetch_state() for ds format.

Examples

# Within shiny both session and input variables will exist,
# this creates examples here for testing purposes:
sess_res = DM_test_mksession(session=list())
#> → ASM: including file
#> → ASM:   source: file.path(system.file(package="onbrand"), "templates", "report.docx")
#> → ASM:   dest:   file.path("config","report.docx")
#> → ASM: including file
#> → ASM:   source: file.path(system.file(package="onbrand"), "templates", "report.pptx")
#> → ASM:   dest:   file.path("config","report.pptx")
#> → ASM: including file
#> → ASM:   source: file.path(system.file(package="onbrand"), "templates", "report.yaml")
#> → ASM:   dest:   file.path("config","report.yaml")
#> → ASM: State initialized
#> → ASM: setting word placeholders: 
#> → ASM:   -> setting docx ph: HEADERLEFT = left header
#> → ASM:   -> setting docx ph: HEADERRIGHT = right header
#> → ASM:   -> setting docx ph: FOOTERLEFT = left footer
#> → ASM: module isgood: TRUE
#> → DM: including file
#> → DM:   source: file.path(system.file(package="onbrand"), "templates", "report.docx")
#> → DM:   dest:   file.path("config","report.docx")
#> → DM: including file
#> → DM:   source: file.path(system.file(package="onbrand"), "templates", "report.pptx")
#> → DM:   dest:   file.path("config","report.pptx")
#> → DM: including file
#> → DM:   source: file.path(system.file(package="onbrand"), "templates", "report.yaml")
#> → DM:   dest:   file.path("config","report.yaml")
#> → DM: module checksum updated: f280116ab6b4488df6de76aff513a83f
#> → DM: State initialized
#> → DM: ds checksum updated: 641fcbc6616d24d05acded4317a3bb12
#> → DM: module checksum updated: 78099100dae67cc0fee50517ea72a920
#> → DM: adding preload sources
#> → DM:  - file added: TEST_DATA.xlsx
#> → DM: added: TEST_DATA.xlsx
#> → DM:  - url added: https://raw.githubusercontent.com/john-harrold/formods/refs/heads/master/inst/test_data/SDTM_PC.csv
#> → DM: url added: https://raw.githubusercontent.com/john-harrold/formods/refs/heads/master/inst/test_data/SDTM_PC.csv
#> → DM:  - url added: https://raw.githubusercontent.com/john-harrold/formods/refs/heads/master/inst/test_data/SDTM_EX.csv
#> → DM: url added: https://raw.githubusercontent.com/john-harrold/formods/refs/heads/master/inst/test_data/SDTM_EX.csv
#> → DM:  - url added: https://raw.githubusercontent.com/john-harrold/formods/refs/heads/master/inst/test_data/SDTM_DM.csv
#> → DM: url added: https://raw.githubusercontent.com/john-harrold/formods/refs/heads/master/inst/test_data/SDTM_DM.csv
#> → DM: loading element idx: 1
#> → DM: ds checksum updated: 70e6524861fa9aca4de4ea3814617c49
#> → DM: module checksum updated: 9f52a39c1105ea96d56a2b99ac16f1fb
#> → DM: added element idx: 1
#> → DM: loading element idx: 2
#> → DM: ds checksum updated: 404018dc5fc73404bb2d5ccf19ef52ae
#> → DM: module checksum updated: ddb9132ca4a26e696f783e5a12f6bae7
#> → DM: added element idx: 2
#> → DM: loading element idx: 3
#> → DM: ds checksum updated: 43403044207c2ff6bf4ef8b91567ae81
#> → DM: module checksum updated: 4cfe570f36e5de32cfd2b9e6d3121d08
#> → DM: added element idx: 3
#> → DM: loading element idx: 4
#> → DM: ds checksum updated: 79315560c985acdd00fe0b3b8b9b622c
#> → DM: module checksum updated: 7cb39e23292896b0b84e5ea7646b893a
#> → DM: added element idx: 4
#> → DM: module isgood: TRUE
#> → # preload_complete is good: TRUE ------------------------------------------
state   = sess_res$state
session = sess_res$session
input   = sess_res$input

# Creates a new empty element
state = DM_new_element(state)

# Delete the current element
state = DM_del_current_element(state)

# Fetch a list of the current element
element = DM_fetch_current_element(state)

# You can modify the element
element[["name"]] = "A more descriptive name"

# You can now place element back in the state
state = DM_set_current_element(state, element)
#> → DM: ds checksum updated: f69e12751696277d325e1637d884a21d
#> → DM: module checksum updated: 245b97fb00007cee9b38bc90436b69f8

# This will pull the portion of the code associated with this module.
code = DM_fetch_code(state)

cat(code)
#> # Excel (file) ============================================================
#> DM_obj_1 <- rio::import(file="data/DM/TEST_DATA.xlsx", which ="DATA")
#> DM_obj_1 <- janitor::clean_names(DM_obj_1, case="none")
#> # STDM PC (url) ===========================================================
#> DM_obj_2 <- rio::import(file="https://raw.githubusercontent.com/john-harrold/formods/refs/heads/master/inst/test_data/SDTM_PC.csv")
#> DM_obj_2 <- janitor::clean_names(DM_obj_2, case="none")
#> # STDM EX (url) ===========================================================
#> DM_obj_3 <- rio::import(file="https://raw.githubusercontent.com/john-harrold/formods/refs/heads/master/inst/test_data/SDTM_EX.csv")
#> DM_obj_3 <- janitor::clean_names(DM_obj_3, case="none")
#> # STDM DM (url) ===========================================================
#> DM_obj_5 <- rio::import(file="https://raw.githubusercontent.com/john-harrold/formods/refs/heads/master/inst/test_data/SDTM_DM.csv")
#> DM_obj_5 <- janitor::clean_names(DM_obj_5, case="none")

# This forces and update of the module checksum
state = DM_update_checksum(state)