{
  "_id": "6a1d57ff1d7bb097a0a4760c",
  "Package": "linkeR",
  "Title": "Link Interactive Plots and Tables in 'shiny' Applications",
  "Version": "0.1.4",
  "Authors@R": "c(person(\"Jake\", \"Wagoner\", , \"jakew@sci.utah.edu\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0009-0000-5053-2281\")),\nperson(\"Centers for Disease Control and Prevention's Center for Forecasting and Outbreak Analytics\",\nrole=\"fnd\", comment = \"Cooperative agreement CDC-RFA-FT-23-0069\"))",
  "Description": "Build powerful, linked-view dashboards in 'shiny'\napplications. With a declarative, one-line setup, you can\ncreate bidirectional links between interactive components. When\na user interacts with one element (e.g., clicking a map\nmarker), all linked components (such as 'DT' tables or other\ncharts) instantly update. Supports 'leaflet' maps, 'DT' tables,\n'plotly' charts, and spatial data via 'sf' objects\nout-of-the-box, with an extensible API for custom components.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "URL": "https://epiforesite.github.io/linkeR/,\nhttps://github.com/EpiForeSITE/linkeR/",
  "BugReports": "https://github.com/EpiForeSITE/linkeR/issues/",
  "Config/pak/sysreqs": "cmake make libuv1-dev zlib1g-dev",
  "Repository": "https://epiforesite.r-universe.dev",
  "Date/Publication": "2026-03-03 17:01:28 UTC",
  "RemoteUrl": "https://github.com/EpiForeSITE/linkeR",
  "RemoteRef": "HEAD",
  "RemoteSha": "e4453062f1185a4125df50cf30af9bd65c6178c3",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-01 09:55:41 UTC",
    "User": "root"
  },
  "Author": "Jake Wagoner [aut, cre] (ORCID:\n<https://orcid.org/0009-0000-5053-2281>),\nCenters for Disease Control and Prevention's Center for Forecasting and\nOutbreak Analytics [fnd] (Cooperative agreement CDC-RFA-FT-23-0069)",
  "Maintainer": "Jake Wagoner <jakew@sci.utah.edu>",
  "MD5sum": "ba9940a232f60c172e8beb87029bd96f",
  "_user": "epiforesite",
  "_type": "src",
  "_file": "linkeR_0.1.4.tar.gz",
  "_fileid": "7cbf77b8168f04404f1baa7e14d925872f6a7af90f38525c9dcc5b0b8efd32ce",
  "_filesize": 239890,
  "_sha256": "7cbf77b8168f04404f1baa7e14d925872f6a7af90f38525c9dcc5b0b8efd32ce",
  "_created": "2026-06-01T09:55:41.000Z",
  "_published": "2026-06-01T09:59:27.172Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78828148964,
      "time": 164,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7328541944"
    },
    {
      "job": 78828148975,
      "time": 193,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7328553013"
    },
    {
      "job": 78828148970,
      "time": 165,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7328532785"
    },
    {
      "job": 78828148973,
      "time": 162,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7328529769"
    },
    {
      "job": 78827577347,
      "time": 206,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7328483407"
    },
    {
      "job": 78828148928,
      "time": 124,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7328527666"
    },
    {
      "job": 78828149073,
      "time": 96,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7328517969"
    },
    {
      "job": 78828149122,
      "time": 143,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7328534190"
    },
    {
      "job": 78828149112,
      "time": 107,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7328521831"
    }
  ],
  "_buildurl": "https://github.com/r-universe/epiforesite/actions/runs/26747745267",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/EpiForeSITE/linkeR",
  "_commit": {
    "id": "e4453062f1185a4125df50cf30af9bd65c6178c3",
    "author": "Jake Wagoner <jakewagoneredu@gmail.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #27 from EpiForeSITE/fix-session-ids\n\nFix namespaced ids not working for module observers",
    "time": 1772557288
  },
  "_maintainer": {
    "name": "Jake Wagoner",
    "email": "jakew@sci.utah.edu",
    "login": "jakewags",
    "description": "",
    "uuid": 35744963
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "shiny",
      "version": ">= 1.5.0",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "version": ">= 2.0.0",
      "role": "Imports"
    },
    {
      "package": "later",
      "version": ">= 1.0.0",
      "role": "Imports"
    },
    {
      "package": "leaflet",
      "role": "Suggests"
    },
    {
      "package": "DT",
      "role": "Suggests"
    },
    {
      "package": "sf",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "plotly",
      "role": "Suggests"
    },
    {
      "package": "bslib",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "epiforesite",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-25",
      "n": 3
    },
    {
      "week": "2025-26",
      "n": 16
    },
    {
      "week": "2025-27",
      "n": 4
    },
    {
      "week": "2025-28",
      "n": 1
    },
    {
      "week": "2025-29",
      "n": 2
    },
    {
      "week": "2025-31",
      "n": 1
    },
    {
      "week": "2025-34",
      "n": 1
    },
    {
      "week": "2025-35",
      "n": 3
    },
    {
      "week": "2025-36",
      "n": 3
    },
    {
      "week": "2025-40",
      "n": 2
    },
    {
      "week": "2025-41",
      "n": 1
    },
    {
      "week": "2026-10",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v0.1.0",
      "date": "2025-08-19"
    },
    {
      "name": "v0.1.1",
      "date": "2025-08-25"
    },
    {
      "name": "v0.1.2",
      "date": "2025-09-03"
    },
    {
      "name": "v0.1.3",
      "date": "2025-10-07"
    }
  ],
  "_stars": 4,
  "_contributors": [
    {
      "user": "jakewags",
      "count": 100,
      "uuid": 35744963
    },
    {
      "user": "apulsipher",
      "count": 1,
      "uuid": 45372570
    }
  ],
  "_userbio": {
    "uuid": 158560900,
    "type": "organization",
    "name": "ForeSITE",
    "description": "A collection of epidemic modeling and forecasting tools for ForeSITE, part of the CDC-funded InsightNet"
  },
  "_downloads": {
    "count": 137,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/linkeR"
  },
  "_devurl": "https://github.com/epiforesite/linker",
  "_pkgdown": "https://epiforesite.github.io/linkeR/",
  "_searchresults": 21,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/linkeR.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/epiforesite/linker",
  "_realowner": "epiforesite",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.2",
      "date": "2025-09-21"
    },
    {
      "version": "0.1.3",
      "date": "2025-10-07"
    }
  ],
  "_exports": [
    "create_link_registry",
    "diagnose_registry",
    "link_plots",
    "prepare_plotly_linking",
    "process_sf_data",
    "register_dt",
    "register_leaflet",
    "register_plotly"
  ],
  "_help": [
    {
      "page": "apply_default_leaflet_behavior",
      "title": "Apply Default Leaflet Behavior for Selection Events",
      "topics": [
        "apply_default_leaflet_behavior"
      ]
    },
    {
      "page": "create_link_registry",
      "title": "Create a Link Registry for 'shiny' Component Coordination",
      "topics": [
        "create_link_registry"
      ]
    },
    {
      "page": "diagnose_registry",
      "title": "Diagnostic function to debug linkeR observer issues",
      "topics": [
        "diagnose_registry"
      ]
    },
    {
      "page": "link_plots",
      "title": "Simple Plot Linking Function for Non-Modular 'shiny' Apps",
      "topics": [
        "link_plots"
      ]
    },
    {
      "page": "linkeR-imports",
      "title": "Package imports",
      "topics": [
        "linkeR-imports"
      ]
    },
    {
      "page": "prepare_plotly_linking",
      "title": "Prepare Plotly for Linking",
      "topics": [
        "prepare_plotly_linking"
      ]
    },
    {
      "page": "register_dt",
      "title": "Register a DT DataTable Component",
      "topics": [
        "register_dt"
      ]
    },
    {
      "page": "register_leaflet",
      "title": "Register a Leaflet Component",
      "topics": [
        "register_leaflet"
      ]
    },
    {
      "page": "register_plotly",
      "title": "Register a Plotly Component",
      "topics": [
        "register_plotly"
      ]
    },
    {
      "page": "setup_datatable_observers",
      "title": "Setup DataTable Observers",
      "topics": [
        "setup_datatable_observers"
      ]
    },
    {
      "page": "setup_leaflet_observers",
      "title": "Setup Leaflet Map Observers",
      "topics": [
        "setup_leaflet_observers"
      ]
    },
    {
      "page": "update_dt_selection",
      "title": "Update DT Selection Based on Shared ID",
      "topics": [
        "update_dt_selection"
      ]
    }
  ],
  "_readme": "https://github.com/EpiForeSITE/linkeR/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "bslib",
    "cachem",
    "cli",
    "commonmark",
    "digest",
    "fastmap",
    "fontawesome",
    "fs",
    "glue",
    "htmltools",
    "httpuv",
    "jquerylib",
    "jsonlite",
    "later",
    "lifecycle",
    "magrittr",
    "memoise",
    "mime",
    "otel",
    "promises",
    "R6",
    "rappdirs",
    "Rcpp",
    "rlang",
    "sass",
    "shiny",
    "sourcetools",
    "withr",
    "xtable"
  ],
  "_vignettes": [
    {
      "source": "custom-behaviors.Rmd",
      "filename": "custom-behaviors.html",
      "title": "Custom Click Behaviors",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Customizing Click Behaviors",
        "Custom Leaflet Click Handler",
        "Custom DT Click Handler",
        "Global Selection Callback",
        "Best Practices",
        "Advanced Example: Conditional Behavior"
      ],
      "created": "2025-06-24 20:44:39",
      "modified": "2025-06-24 20:44:39",
      "commits": 1
    },
    {
      "source": "getting-started.Rmd",
      "filename": "getting-started.html",
      "title": "Getting Started with linkeR",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Core Concept",
        "Basic Usage",
        "Key Requirements",
        "What Happens When You Click?",
        "Next Steps"
      ],
      "created": "2025-06-24 20:44:39",
      "modified": "2025-09-30 18:41:14",
      "commits": 4
    },
    {
      "source": "multiple-components.Rmd",
      "filename": "multiple-components.html",
      "title": "Linking Multiple Components",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Linking Multiple Components",
        "Three-Component Example",
        "Adding More Component Types",
        "Summary Tables",
        "Managing Complex State",
        "Performance Tips",
        "Troubleshooting Multiple Components"
      ],
      "created": "2025-06-24 20:44:39",
      "modified": "2025-09-30 18:41:14",
      "commits": 3
    },
    {
      "source": "sf-integration.Rmd",
      "filename": "sf-integration.html",
      "title": "Spatial Data Integration with sf",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Key Features",
        "Basic SF Integration",
        "Advanced SF Integration with Custom Handlers",
        "Working with Different Geometry Types",
        "Benefits of SF Integration",
        "1. Automatic Coordinate Extraction",
        "2. Preserved Geometry",
        "3. Mixed Data Types",
        "4. Developer-Friendly",
        "Troubleshooting",
        "Common Issues:",
        "Debugging SF Integration:",
        "Next Steps"
      ],
      "created": "2025-07-17 17:01:38",
      "modified": "2025-09-30 17:32:38",
      "commits": 2
    },
    {
      "source": "using-with-modules.Rmd",
      "filename": "using-with-modules.html",
      "title": "Using linkeR with 'shiny' Modules",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction: Why a Different Approach for Modules?",
        "The Three-Step Pattern for Modular Linking",
        "Step 1: Create the Map Module (map_module.R)",
        "Step 2: Create the Table Module (table_module.R)",
        "Step 3: Assemble the Main App (app.R)"
      ],
      "created": "2025-08-25 15:45:43",
      "modified": "2025-09-30 17:32:38",
      "commits": 3
    },
    {
      "source": "using-plotly.Rmd",
      "filename": "using-plotly.html",
      "title": "Using Plotly with linkeR",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Key Features",
        "Basic Plotly Linking",
        "Simple Example",
        "Important Note: Enabling Visual Highlighting",
        "Essential Plotly Parameters",
        "The key Parameter",
        "The source Parameter",
        "Chart Types Support",
        "Scatter Plots",
        "Bar Charts",
        "Line Charts",
        "Multi-trace Charts",
        "Advanced Integration",
        "Multiple Plotly Charts",
        "Mixed Component Types",
        "Selection Highlighting",
        "How It Works",
        "Visual Customization",
        "Troubleshooting",
        "Common Issues",
        "Best Practices",
        "Complete Example",
        "Summary"
      ],
      "created": "2025-09-30 18:41:14",
      "modified": "2025-09-30 18:41:14",
      "commits": 1
    }
  ],
  "_score": 6.480581786829169,
  "_indexed": true,
  "_nocasepkg": "linker",
  "_universes": [
    "epiforesite",
    "jakewags"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.4",
      "date": "2026-06-01T09:58:15.000Z",
      "distro": "noble",
      "commit": "e4453062f1185a4125df50cf30af9bd65c6178c3",
      "fileid": "30562b4e5aadc64fd943fa26e0c01e51b85d6b96a651fc342437fa5a4b19495c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/epiforesite/actions/runs/26747745267"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.4",
      "date": "2026-06-01T09:58:45.000Z",
      "distro": "noble",
      "commit": "e4453062f1185a4125df50cf30af9bd65c6178c3",
      "fileid": "570a6bcea7cefa9a583a28d3199a6009f51caae1e20eb95a46ca351031a921c0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/epiforesite/actions/runs/26747745267"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.4",
      "date": "2026-06-01T09:57:56.000Z",
      "commit": "e4453062f1185a4125df50cf30af9bd65c6178c3",
      "fileid": "826a994d74229996c5ebf315d41aa98d0dbc4d2171b650b5403dce2e501fdce9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/epiforesite/actions/runs/26747745267"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.4",
      "date": "2026-06-01T09:57:39.000Z",
      "commit": "e4453062f1185a4125df50cf30af9bd65c6178c3",
      "fileid": "133fe0d8d2002994b451178a1e2f6740bbea8aa59d0574cf6bc42a9d1ac88ff6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/epiforesite/actions/runs/26747745267"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.4",
      "date": "2026-06-01T09:58:00.000Z",
      "commit": "e4453062f1185a4125df50cf30af9bd65c6178c3",
      "fileid": "b0611ec2483efceda14c939555fde939fef3a8a37c3f3c07aaf0668f1bac5c9f",
      "status": "success",
      "buildurl": "https://github.com/r-universe/epiforesite/actions/runs/26747745267"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.4",
      "date": "2026-06-01T09:57:05.000Z",
      "commit": "e4453062f1185a4125df50cf30af9bd65c6178c3",
      "fileid": "c3581b27ae8417c88a78d3285f174a4513e957cd752b9f76d0ce2fa9c01c9d80",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/epiforesite/actions/runs/26747745267"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.4",
      "date": "2026-06-01T09:57:47.000Z",
      "commit": "e4453062f1185a4125df50cf30af9bd65c6178c3",
      "fileid": "fdec70ea06fcf88e3c64559a4575b8c7196b293b18c6a352fcf949993f941a3c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/epiforesite/actions/runs/26747745267"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.4",
      "date": "2026-06-01T09:57:10.000Z",
      "commit": "e4453062f1185a4125df50cf30af9bd65c6178c3",
      "fileid": "ebf5f5c45a9cd4aae1935a3409422761262895afcaefe8a9d7f9afdaf34513d7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/epiforesite/actions/runs/26747745267"
    }
  ]
}