MCPcopy
hub / github.com/plotly/dash / _generate_scripts_html

Method _generate_scripts_html

dash/dash.py:1210–1267  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1208 )
1209
1210 def _generate_scripts_html(self) -> str:
1211 # Dash renderer has dependencies like React which need to be rendered
1212 # before every other script. However, the dash renderer bundle
1213 # itself needs to be rendered after all of the component's
1214 # scripts have rendered.
1215 # The rest of the scripts can just be loaded after React but before
1216 # dash renderer.
1217 # pylint: disable=protected-access
1218
1219 mode = "dev" if self._dev_tools["props_check"] is True else "prod"
1220
1221 deps = [
1222 {
1223 key: value[mode] if isinstance(value, dict) else value
1224 for key, value in js_dist_dependency.items()
1225 }
1226 for js_dist_dependency in _dash_renderer._js_dist_dependencies
1227 ]
1228 dev = self._dev_tools.serve_dev_bundles
1229 srcs = (
1230 self._collect_and_register_resources(
1231 self.scripts._resources._filter_resources(deps, dev_bundles=dev) # type: ignore[reportArgumentType]
1232 )
1233 + self.config.external_scripts
1234 + self._collect_and_register_resources(
1235 self.scripts.get_all_scripts(dev_bundles=dev)
1236 + self.scripts._resources._filter_resources(
1237 _dash_renderer._js_dist, dev_bundles=dev
1238 )
1239 + self.scripts._resources._filter_resources(
1240 dcc._js_dist, dev_bundles=dev
1241 )
1242 + self.scripts._resources._filter_resources(
1243 html._js_dist, dev_bundles=dev
1244 )
1245 + self.scripts._resources._filter_resources(
1246 dash_table._js_dist, dev_bundles=dev # type: ignore
1247 )
1248 + self.scripts._resources._filter_resources(
1249 self._hooks.hooks._js_dist, dev_bundles=dev
1250 )
1251 )
1252 )
1253
1254 self._inline_scripts.extend(_callback.GLOBAL_INLINE_SCRIPTS)
1255 _callback.GLOBAL_INLINE_SCRIPTS.clear()
1256
1257 return "\n".join(
1258 [
1259 (
1260 format_tag("script", src)
1261 if isinstance(src, dict)
1262 else f'<script src="{src}"></script>'
1263 )
1264 for src in srcs
1265 ]
1266 + [f"<script>{src}</script>" for src in self._inline_scripts]
1267 )

Callers 2

indexMethod · 0.95
_setup_serverMethod · 0.95

Calls 6

format_tagFunction · 0.85
_filter_resourcesMethod · 0.80
get_all_scriptsMethod · 0.80
extendMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected