Skip to content

Commit 12bd862

Browse files
committed
use active bindings instead of onLoaded objs
1 parent b379656 commit 12bd862

File tree

1 file changed

+15
-28
lines changed

1 file changed

+15
-28
lines changed

R/plugin-providers.R

Lines changed: 15 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -70,48 +70,35 @@ providerTileOptions <- function(errorTileUrl = "", noWrap = FALSE,
7070
#'
7171
#' @export
7272
#' @rdname providers
73-
providers <- NULL
74-
get_providers <- function() {
75-
get_leaflet_providers_options("leaflet_providers", default = providers)
76-
}
73+
makeActiveBinding("providers", function() {
74+
leaflet.providers::loaded_providers()$providers
75+
}, env = environment())
7776

7877
#' @export
7978
#' @rdname providers
80-
providers.details <- NULL
81-
get_providers_details <- function() {
82-
get_leaflet_providers_options("providers_details", default = providers.details)
83-
}
79+
makeActiveBinding("providers.details", function() {
80+
leaflet.providers::loaded_providers()$providers.details
81+
}, env = environment())
8482

85-
providers.version_num <- NULL
86-
87-
get_providers_version_num <- function() {
88-
get_leaflet_providers_options("version_num", default = providers.version_num)
89-
}
83+
makeActiveBinding("providers.version_num", function() {
84+
leaflet.providers::loaded_providers()$version_num
85+
}, env = environment())
9086

91-
providers.src <- NULL
87+
makeActiveBinding("html_src", function() {
88+
leaflet.providers::loaded_providers()$html_dependency
89+
}, env = environment())
9290

9391
get_providers_html_dependency <- function() {
94-
tmpfile <- file.path(tempdir(), paste0("leaflet-providers_", get_providers_version_num(), ".js"))
92+
tmpfile <- file.path(tempdir(), paste0("leaflet-providers_", version_num, ".js"))
9593

9694
if (!file.exists(tmpfile)) {
97-
src <- get_leaflet_providers_options("src", default = providers.src)
95+
src <- html_src
9896
writeLines(src, tmpfile)
9997
}
10098

10199
html_dependency <- htmltools::htmlDependency(
102100
"leaflet-providers",
103-
get_providers_version_num(),
101+
providers.version_num,
104102
src = tmpfile
105103
)
106104
}
107-
108-
get_leaflet_providers_options <- function(key, default) {
109-
info <- getOption("leaflet.providers")
110-
if (!is.null(info)) {
111-
val <- info[[key]]
112-
if (!is.null(val)) {
113-
return(val)
114-
}
115-
}
116-
return(default)
117-
}

0 commit comments

Comments
 (0)