==b-dropdown

===Описание
Выпадающий список - b-dropdown. Различные модификации внешнего вида этого компонента (верхняя строка - в обычном состоянии, нижняя - в развернутом состоянии).
Все различия в блоке, отвечающем за раскрытие списка - это может быть стрелочка-иконка и/или псевдо-ссылка. В последнем вариант вся первая строка является псевдо-ссылкой, открывающей список.
https://lego.yandex-team.ru/lego2/common/block/dropdown/files?get=bdropdown.png

{{TOC}}

===XML-формат
Внутри ##lego:b-dropdown## находится коллекция тегов ##lego:item##. Тег ##lego:or## отвечают за "открывалку" списка.
Есть 4 более-менее разных вида этого компонента (различие только в блоке, отвечающем за раскрытие списка - "открывалку"):

====С иконкой-стрелочкой
https://lego.yandex-team.ru/lego2/common/block/dropdown/files?get=bdropdown01.png
%%(html)
<lego:b-dropdown xmlns:lego="https://lego.yandex-team.ru">
    <lego:or>
        <lego:arrow/>
    </lego:or>
    <lego:item><lego:link url="http://i.yandex.ru">Мои&#160;сервисы</lego:link></lego:item>
    <lego:item><lego:link url="http://video.yandex.ru/users/alpha-san/">Видео</lego:link></lego:item>
    <lego:item><lego:link url="http://money.yandex.ru">Деньги</lego:link></lego:item>
    <lego:item><lego:link url="http://mail.yandex.ru">Почта</lego:link></lego:item>
    <lego:item><lego:link url="http://fotki.yandex.ru/users/alpha-san/">Фотки</lego:link></lego:item>
    <lego:item separator=""><lego:link url="http://all.yandex.ru">Все&#160;сервисы</lego:link></lego:item>
</lego:b-dropdown>
%%

====С псевдо-ссылкой "или"
https://lego.yandex-team.ru/lego2/common/block/dropdown/files?get=bdropdown02.png
Вместо "или" может быть что угодно.
%%(html)
<lego:b-dropdown xmlns:lego="https://lego.yandex-team.ru">
    <lego:or>
        <lego:text>
            <lego:b-pseudo-link>или</lego:b-pseudo-link>
        </lego:text>
    </lego:or>
    <lego:item><lego:link url="http://alpha-san.ya.ru/posts_add_text.xml">Записать мысль</lego:link></lego:item>
    <lego:item><lego:link url="http://alpha-san.ya.ru/posts_add_status.xml">Поделиться настроением</lego:link></lego:item>
    <lego:item><lego:link url="http://alpha-san.ya.ru/posts_add_photo.xml">Вывесить фотку</lego:link></lego:item>
    <lego:item><lego:link url="http://video.yandex.ru/upload">Загрузить видео</lego:link></lego:item>
    <lego:item><lego:link url="http://alpha-san.ya.ru/posts_add_link.xml">Поделиться ссылкой</lego:link></lego:item>
    <lego:item><lego:link url="http://alpha-san.ya.ru/posts_add_userpic.xml">Сменить портрет</lego:link></lego:item>
</lego:b-dropdown>
%%

====С иконкой-стрелочкой и псевдо-ссылкой "или"
https://lego.yandex-team.ru/lego2/common/block/dropdown/files?get=bdropdown03.png
Вместо "или" может быть что угодно
%%(html)
<lego:b-dropdown xmlns:lego="https://lego.yandex-team.ru">
    <lego:or>
        <lego:arrow/>
        <lego:text>
            <lego:b-pseudo-link>или</lego:b-pseudo-link>
        </lego:text>
    </lego:or>
    <lego:item><lego:link url="http://alpha-san.ya.ru/posts_add_text.xml">Записать мысль</lego:link></lego:item>
    <lego:item><lego:link url="http://alpha-san.ya.ru/posts_add_status.xml">Поделиться настроением</lego:link></lego:item>
    <lego:item><lego:link url="http://alpha-san.ya.ru/posts_add_photo.xml">Вывесить фотку</lego:link></lego:item>
    <lego:item><lego:link url="http://video.yandex.ru/upload">Загрузить видео</lego:link></lego:item>
    <lego:item><lego:link url="http://alpha-san.ya.ru/posts_add_link.xml">Поделиться ссылкой</lego:link></lego:item>
    <lego:item><lego:link url="http://alpha-san.ya.ru/posts_add_userpic.xml">Сменить портрет</lego:link></lego:item>
</lego:b-dropdown>
%%

====Вся первая строчка состоит из псевдо-ссылки, открывающей список
https://lego.yandex-team.ru/lego2/common/block/dropdown/files?get=bdropdown04.png
%%(html)
<lego:b-dropdown xmlns:lego="https://lego.yandex-team.ru">
    <lego:or>
        <lego:text>
            <lego:b-pseudo-link>Мои&#160;сервисы</lego:b-pseudo-link>
        </lego:text>
        <lego:arrow/>
    </lego:or>
    <lego:item/> <!-- пустой элемент! -->
    <lego:item><lego:link url="http://video.yandex.ru/users/alpha-san/">Видео</lego:link></lego:item>
    <lego:item><lego:link url="http://money.yandex.ru">Деньги</lego:link></lego:item>
    <lego:item><lego:link url="http://mail.yandex.ru">Почта</lego:link></lego:item>
    <lego:item><lego:link url="http://fotki.yandex.ru/users/alpha-san/">Фотки</lego:link></lego:item>
    <lego:item separator=""><lego:link url="http://all.yandex.ru">Все&#160;сервисы</lego:link></lego:item>
</lego:b-dropdown>
%%
В этом случае первый ##lego:item## пустой.



===Кастомизация средствами XML
Компонент ##lego:b-dropdown## рендерится в неупорядоченный список ##ul##, каждый ##lego:item## в ##li##.
Для того, чтобы задать всему списку или отдельным его элементам атрибуты ##class## и/или ##id## достаточно задать их соответствующим lego-элементам.
Атрибут ##separator## у ##lego:item## отделяет элемент от предыдущего тонкой горизонтальной чертой.
https://lego.yandex-team.ru/lego2/common/block/dropdown/files?get=bdropdown05.png
%%(html)
<lego:b-dropdown class="services" id="services" xmlns:lego="https://lego.yandex-team.ru">
    <lego:or>
        <lego:arrow/>
    </lego:or>
    <lego:item>
        <lego:link url="http://i.yandex.ru">Мои&#160;сервисы</lego:link>
    </lego:item>
    <lego:item class="video" id="video">
        <lego:link url="http://video.yandex.ru/users/alpha-san/">Видео</lego:link>
    </lego:item>
    <lego:item separator="" class="all-services" id="all-services">
        <lego:link url="http://all.yandex.ru">Все&#160;сервисы</lego:link>
    </lego:item>
</lego:b-dropdown>
%%

===Использование в XSL

====apply-templates
%%(html)
<xsl:apply-templates select="lego:b-dropdown"/>
%%

====lego:apply
Используем динамически сгенеренный ##lego:b-dropdown##
%%(html)
<xsl:call-template name="lego:apply">
    <xsl:with-param name="content">
        <lego:b-dropdown>
            <lego:or>
                <lego:text>
                    <lego:b-pseudo-link>или</lego:b-pseudo-link>
                </lego:text>
            </lego:or>
            <lego:item><lego:link url="http://alpha-san.ya.ru/posts_add_text.xml">Записать мысль</lego:link></lego:item>
            <lego:item><lego:link url="http://alpha-san.ya.ru/posts_add_status.xml">Поделиться настроением</lego:link></lego:item>
            <lego:item><lego:link url="http://alpha-san.ya.ru/posts_add_photo.xml">Вывесить фотку</lego:link></lego:item>
            <lego:item><lego:link url="http://video.yandex.ru/upload">Загрузить видео</lego:link></lego:item>
            <lego:item><lego:link url="http://alpha-san.ya.ru/posts_add_link.xml">Поделиться ссылкой</lego:link></lego:item>
            <lego:item><lego:link url="http://alpha-san.ya.ru/posts_add_userpic.xml">Сменить портрет</lego:link></lego:item>
        </lego:b-dropdown>
    </xsl:with-param>
</xsl:call-template>
%%

===Содержимое элементов lego:item
((../i-items/i-items.wiki Содержимое элементов lego:item))

