Contrôles

    <Dashboard>
        <Control >
          <Input name="moninput2"/>
          <Input name="moninput3"/>

          <Radio optionType="button" name="myRadio" dataset='myuniquedatasetid' valueField='L_TYP_REG_DECHET' labelField='L_TYP_REG_DECHET'/>


        </Control>


        <Dataset 
          id="myuniquedatasetid" 
          provider={ademe_opendataProvider}
          resource='sinoe-(r)-destination-des-dma-collectes-par-type-de-traitement/lines'>
           <Transform>SELECT [L_TYP_REG_DECHET], SUM([TONNAGE_DMA]) as [TONNAGE_DMA] FROM ? GROUP BY [L_TYP_REG_DECHET] </Transform>
           <Producer url="https://www.sinoe.org">Ademe</Producer>
           <Producer url="https://odema-hautsdefrance.org/">Odema</Producer>
        </Dataset>

       {/* [...] */}
    </Dashboard>

Chaque élément de control (Input, Radio, etc..) doit avoir une propriété name unique.

Utilisation des valeurs utilisateur

Le hook useControl permet d'utiliser, de manière dynamique, les valeurs sélectionnées par l'utilisateur. Les valeurs peuvent être injectés n'importe où dans le JSX : notamment dans des valeurs de filtres, des titres, du texte, etc.

    <Dashboard>
        <Control >
          <Input name="annee"/>
        </Control>
        <Dataset {/* [...] */}>
          <Filter field="year">{useControl('annee')}</Filter>
        </Dataset>
        <div>{`Année sélectionnée : ${useControl('annee')}`}</div>

        <ChartPie title={`Répartition des observation en ${useControl('annee')}`}>
       {/* [...] */}
    </Dashboard>

Composants standards

Radio et Select

Les propriétés dataset, valueField et labelField permettent de peupler les options avec les données d'un dataset. Ces données sont automatiquement dédoublonnées. Il est aussi possible de saisir manuellement les options avec la propriété options. Les propriétés initiales des composants Radio.Group et Select de AntDesign sont supportées (optionType, showSearch, etc..).

    <Radio name="radio" dataset='myuniquedatasetid' valueField='L_TYP_REG_DECHET' labelField='L_TYP_REG_DECHET'/>
    <Select name="radio2" options={[{label:'A', value:'a'}, {label:'B', value:'b'}]}/>

Développer vos contrôles

Il est possible de dévélopper vos contrôles où d'utiliser des éléments de formulaires de AntDesign. Il est nécessaire de fournir un Form.Item au composant Controle, avec un nom.

import { Control, Dashboard } from "@geo2france/api-dashboard/dsl"
import { Form, Slider, Switch } from "antd"

<Dashboard>
  <Control>

    <Form.Item name="Mon Slider" initialValue={25}>
      <Slider min={10} max={30} style={{width:150}}></Slider>
    </Form.Item>

    <Form.Item name="Mon Switch" initialValue={true}>
      <Switch />
    </Form.Item>

  </Control>
</Dashboard>

Formulaire

Input

Slider

A venir

NextPrevSelect

A venir

SelectYear

A venir

Swith / Checkbox

A venir