fix noSSRComponent imports (#4386)
This commit is contained in:
parent
79a5409a8e
commit
e45b76c01e
@ -1904,6 +1904,11 @@ memo = custom_component
|
|||||||
class NoSSRComponent(Component):
|
class NoSSRComponent(Component):
|
||||||
"""A dynamic component that is not rendered on the server."""
|
"""A dynamic component that is not rendered on the server."""
|
||||||
|
|
||||||
|
def _get_import_name(self) -> None | str:
|
||||||
|
if not self.library:
|
||||||
|
return None
|
||||||
|
return f"${self.library}" if self.library.startswith("/") else self.library
|
||||||
|
|
||||||
def _get_imports(self) -> ParsedImportDict:
|
def _get_imports(self) -> ParsedImportDict:
|
||||||
"""Get the imports for the component.
|
"""Get the imports for the component.
|
||||||
|
|
||||||
@ -1917,8 +1922,9 @@ class NoSSRComponent(Component):
|
|||||||
_imports = super()._get_imports()
|
_imports = super()._get_imports()
|
||||||
|
|
||||||
# Do NOT import the main library/tag statically.
|
# Do NOT import the main library/tag statically.
|
||||||
if self.library is not None:
|
import_name = self._get_import_name()
|
||||||
_imports[self.library] = [
|
if import_name is not None:
|
||||||
|
_imports[import_name] = [
|
||||||
imports.ImportVar(
|
imports.ImportVar(
|
||||||
tag=None,
|
tag=None,
|
||||||
render=False,
|
render=False,
|
||||||
@ -1936,10 +1942,10 @@ class NoSSRComponent(Component):
|
|||||||
opts_fragment = ", { ssr: false });"
|
opts_fragment = ", { ssr: false });"
|
||||||
|
|
||||||
# extract the correct import name from library name
|
# extract the correct import name from library name
|
||||||
if self.library is None:
|
base_import_name = self._get_import_name()
|
||||||
|
if base_import_name is None:
|
||||||
raise ValueError("Undefined library for NoSSRComponent")
|
raise ValueError("Undefined library for NoSSRComponent")
|
||||||
|
import_name = format.format_library_name(base_import_name)
|
||||||
import_name = format.format_library_name(self.library)
|
|
||||||
|
|
||||||
library_import = f"const {self.alias if self.alias else self.tag} = dynamic(() => import('{import_name}')"
|
library_import = f"const {self.alias if self.alias else self.tag} = dynamic(() => import('{import_name}')"
|
||||||
mod_import = (
|
mod_import = (
|
||||||
|
Loading…
Reference in New Issue
Block a user