@@ -70,48 +70,35 @@ providerTileOptions <- function(errorTileUrl = "", noWrap = FALSE,
70
70
# '
71
71
# ' @export
72
72
# ' @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())
77
76
78
77
# ' @export
79
78
# ' @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())
84
82
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())
90
86
91
- providers.src <- NULL
87
+ makeActiveBinding(" html_src" , function () {
88
+ leaflet.providers :: loaded_providers()$ html_dependency
89
+ }, env = environment())
92
90
93
91
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" ))
95
93
96
94
if (! file.exists(tmpfile )) {
97
- src <- get_leaflet_providers_options( " src " , default = providers.src )
95
+ src <- html_src
98
96
writeLines(src , tmpfile )
99
97
}
100
98
101
99
html_dependency <- htmltools :: htmlDependency(
102
100
" leaflet-providers" ,
103
- get_providers_version_num() ,
101
+ providers.version_num ,
104
102
src = tmpfile
105
103
)
106
104
}
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