4.3.3. Список с вкладками

Data Source

Список с вкладками - распространённый элемент в K4. Например, в In-Commerce это список заказов (orders). В In-Auction это списки Listings и журнал запросов к eBay. Данные для нескольких вкладок берутся из одной и той же основной таблицы. Отличаются лишь некоторые настройки:

  • фильтры

  • набор отображаемых полей

  • кнопки на панели инструментов

Так как вкладки получаются очень похожими, то рекомендуется для них всех использовать по сути один и тот же шаблон. То есть, на каждую вкладку делается отдельный шаблон, состоящий лишь из одной строки. Например:

<inp2:m_include t="in-auction/listings/listing_list" special="failed" grid="Failed"/>

Где t - общий для всех вкладок шаблон. При этом в параметрах передаются special и название списка (ключ в опции Grids в Unit Configs). Переменный special позволяет задать для каждого списка свои фильтры в методе SetCustomQuery соответствующего event handler-а. Для каждого значения переменной grid в unit config можно задать свой набор отображаемых полей. Если на разных вкладках нужны разные кнопки на панели инструментов, то это можно сделать, применив в общем шаблоне проверку значения special. Например:

<inp2:m_if check="m_Param" name="special" equals_to="completed|failed|sold|unsold">
    a_toolbar.AddButton(
        new ToolBarButton(
            'archive',
            '<inp2:m_phrase label="la_ToolTip_Archive" escape="1"/>',
            function() {
                submit_event('l-ebay.<inp2:m_Param name="special"/>', 'OnArchive');
            }
        )
    );
</inp2:m_if>