# Is this coordinated interaction approach the right way?

**URL:** <https://talk.observablehq.com/t/is-this-coordinated-interaction-approach-the-right-way/10475>\
**Category:** Help\
**Created:** [July 19, 2025, 8:40pm UTC](https://talk.observablehq.com/t/is-this-coordinated-interaction-approach-the-right-way/10475 "2025-07-19T20:40:53Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Guillaume76](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/guillaume76/32/9624_2.png) [@Guillaume76](https://talk.observablehq.com/u/Guillaume76)\
**Post date:** [July 19, 2025, 8:40pm UTC](https://talk.observablehq.com/t/is-this-coordinated-interaction-approach-the-right-way/10475/1 "2025-07-19T20:40:53Z")

</div>

Hi everyone,

I’ve just created a notebook using Inputs.select along with three interactive plots (Plot.geo, Plot.barY, and Plot.dot). The idea is that when I click on an item in any of the plots, it updates the Inputs.select, and all other charts stay in sync as well.

It works as intended, but I’m wondering if this is considered a good or idiomatic approach in Observable? Or am I possibly missing a concept or a more elegant way to handle coordination and state between views?

Any feedback or suggestions would be greatly appreciated!

Thanks in advance 🙂

> **[Menu déroulant, carte ou graphe : synchronisation du click !](https://observablehq.com/d/22dea20d1e9b1064)**
>
> Vous avez sélectionné la commune de .

---

<div class="post-metadata">

**Author:** ![mootari](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/mootari/32/581_2.png) [@mootari](https://talk.observablehq.com/u/mootari)\
**Post date:** [July 20, 2025, 11:05am UTC](https://talk.observablehq.com/t/is-this-coordinated-interaction-approach-the-right-way/10475/2 "2025-07-20T11:05:58Z")

</div>

Seems fine to me!

An alternative approach (though not necessarily a better one) would be to use [a Mutable](https://observablehq.com/documentation/cells/observable-javascript#cells-can-be-mutables):

```js
mutable preset = communes.features.find(d => d.properties.nom == "Rouen")

```

```js
viewof s = Inputs.select(/* ... */, {
    // ...
    value: preset
})

```

```js
  // ...
  plot.addEventListener("click", (event) => {
    mutable preset = plot.value;
  });

```

---

<div class="post-metadata">

**Author:** ![Guillaume76](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/guillaume76/32/9624_2.png) [@Guillaume76](https://talk.observablehq.com/u/Guillaume76)\
**Post date:** [July 20, 2025, 12:31pm UTC](https://talk.observablehq.com/t/is-this-coordinated-interaction-approach-the-right-way/10475/3 "2025-07-20T12:31:04Z")

</div>

Thanks !
