Skip to content

🏷️ Spark d'attribut ​

Le spark attribute permet de remplacer ou de supprimer un attribut HTML de n'importe quel élément créé avec UIX Forge. Par exemple, vous pouvez supprimer ou remplacer l'attribut title afin que l'infobulle native du navigateur ne s'affiche plus, ou qu'une valeur personnalisée apparaisse à sa place.

Configuration ​

CléTypeObligatoireValeur par défautDescription
typestring✅—Doit être défini sur attribute.
attributestring✅—Nom de l'attribut HTML ciblé, par exemple title.
forstringelementSélecteur CSS/UIX de l'élément cible. Le caractère $ permet de traverser une racine Shadow DOM (voir Navigation dans le DOM). Si l'élément UIX Forge utilise la configuration de carte vide, la valeur par défaut est uix-forge-blank-card $ div.content. Sinon, element désigne la racine de l'élément créé avec UIX Forge.
actionstringreplaceOpération à effectuer sur l'attribut : replace définit une nouvelle valeur, tandis que remove supprime entièrement l'attribut.
valuestring""Nouvelle valeur de l'attribut. Utilisée uniquement si action vaut replace. Les modèles Jinja2 sont pris en charge.

TIP

Le helper DOM uix_forge_path() vous aide à déterminer le chemin à utiliser pour for.

Utilisation ​

Supprimer l'infobulle native (attribut title) ​

La carte de prévisions météo possède un attribut title sur son nom, ce qui affiche l'infobulle native du navigateur au survol. Pour la supprimer :

yaml
type: custom:uix-forge
forge:
  mold: card
  sparks:
    - type: attribute
      for: hui-weather-forecast-card $ div.name
      attribute: title
      action: remove
element:
  show_current: true
  show_forecast: false
  type: weather-forecast
  entity: weather.carlingford
  forecast_type: daily

Remplacer l'attribut title par une valeur personnalisée ​

yaml
type: custom:uix-forge
forge:
  mold: card
  sparks:
    - type: attribute
      for: hui-weather-forecast-card $ div.name
      attribute: title
      action: replace
      value: Weather forecast for Carlingford and surrounding districts.
element:
  show_current: true
  show_forecast: false
  type: weather-forecast
  entity: weather.carlingford
  forecast_type: daily

Replace attribute example

Utiliser un modèle pour définir la valeur ​

Le champ value accepte les modèles, qui donnent accès aux états des entités et aux autres variables de modèle :

yaml
type: custom:uix-forge
forge:
  mold: card
  sparks:
    - type: attribute
      for: hui-tile-card
      attribute: title
      action: replace
      value: |
        {{ relative_time(states[config.element.entity].last_changed) }} ago
element:
  type: tile
  entity: light.bed_light

Replace attribute with template example

::: note

  • Le spark cible le premier Ă©lĂ©ment correspondant au sĂ©lecteur for.
  • Si action vaut replace et que value est une chaĂ®ne vide, un attribut vide (par exemple title="") est dĂ©fini ; l'attribut n'est pas supprimĂ©. Utilisez action: remove pour le supprimer entièrement. :::