# Subscriber

La mixin Subscriber permet lier un composant à un publisher.
La liaison à un publisher se fait via l'attribut *dataProvider* du composant qui représente ce que l'on obtient en appellant PublisherManager.get(dataProvider).

Les propriétés du composant sont automatiquement remplies avec les propriétés du même nom dans les données du publisher.

Le composant est automatiquement mis à jour lorsque les données du publisher sont mises à jour.

## DataProvider

**Id** of the dataProvider that the component will **subscribe** to

<sonic-code>
  <template>
    <sonic-subscriber dataProvider="id_that_the_subsriber_will_subscribe_to" debug>
      <sonic-button> custom dataProvider id</sonic-button>
    </sonic-subscriber>
    <sonic-subscriber debug>
      <sonic-button> default id : pageHTML</sonic-button>
    </sonic-subscriber>
  </template>
</sonic-code>

## Props

Data object (json) that will be passed to the dataProvider

<sonic-code>
  <template>
    <sonic-subscriber props='{"data":"Hello world"}' debug>
      <sonic-button> Hover to see the data</sonic-button>
    </sonic-subscriber>
  </template>
</sonic-code>


## Debug

**Helper**, display the data held by the dataProvider in a floating div

<sonic-code>
  <template>
    <sonic-subscriber debug>
      <sonic-button> see the dataProvider'data </sonic-button>
    </sonic-subscriber>
  </template>
</sonic-code>


## NoAutofill

<sonic-alert status="info">Docs coming soon</sonic-alert>

## PropertyMap

<sonic-alert status="info">Docs coming soon</sonic-alert>

Permet de mapper un nom de propriété de donnée source vers une propriété du subscriber à la volée

## BindPublisher

<sonic-alert status="info">Docs coming soon</sonic-alert>

On peut utiliser cette fonction pour lier un publisher spécifique au composant si besoin.

## instanceCounter

<sonic-alert status="info">Docs coming soon</sonic-alert>

## Publisher

<sonic-alert status="info">Docs coming soon</sonic-alert>

## Args

<sonic-alert status="info">Docs coming soon</sonic-alert>
 
## NoShadowDom

Par défaut on crée un shadow dom mais on peut demander à ne pas en avoir via cette propriété et un attribut associé.  
Cela se fait à l'initialisation uniquement et n'est pas modifiable lors de la vie du composant.


## Other attributes gathered from subscriber.stories.ts

styles ??  
title ??  
_props ??  
onAssign ??  
defferedDebug ??