UNPKG

@exadel/esl

Version:

Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components

27 lines (19 loc) 1.29 kB
# [ESL](../../../) Related Target Mixin Version: *1.1.0* Authors: *Anastasiya Lesun, Natalia Smirnova, Alexey Stsefanovich (ala'n)*. <a name="intro"></a> **ESLRelatedTarget** is a custom mixin that can be used in combination with `ESLToggleable` instance (or any inheritor) to link it with one or more other `ESLToggleable` to sync their states. Mixin attaches to the element via the `esl-related-target` attribute. The attribute's value defines a selector to find the corresponding element. Activation (set open state) or deactivation of the related target happens when the corresponding `esl:show` or `esl:hide` DOM events are dispatched on the current host element. Mixin supports `esl-related-target-action` attribute to define required for synchronization actions: - `all` (default) - to synchronize both: show and hide events of the observed toggleable - `hide` - to synchronize only hide events of the observed toggleable - `show` - to synchronize only show events of the observed toggleable To make cross-reference (bidirectional binding) of toggleables you need to cross-reference both of the toggleables: ```html <esl-toggleable class="first" esl-related-target=".second"></esl-toggleable> <esl-toggleable class="second" esl-related-target=".first"></esl-toggleable> ```