Общие сведения

Информационная панель – это структура, отображающая перечень визуальных элементов.

Панель описывается xml-файлом, расположенным в папке userdata/datapanelstorage.

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

  • grid – таблица (см. п. 4)

  • webtext – произвольный html-текст (см. п. 5);

  • xforms – элемент для ввода данных с помощью XForms (см. п. 6).

Примерный вид xml-файла, описывающего информационную панель представлен ниже.

        <?xml version="1.0" encoding="UTF-8"?>
        <datapanel>
            <tab id="1" name="Сотрудники и оргструктура">
                <element id="10" type="xforms" template="orgFilter.xml" proc="orgFilter">
                    <proc id="proc1" name="orgFilterSave" type="SAVE"/>
                </element>
                <element id="20" type="webtext" proc="orgButtons"/>		
                <element id="30" type="grid" proc="orgGrid">
                    <related id="10"/>
                </element>	
                <element id="40" type="xforms" template="orgCard.xml" proc="orgCard" neverShowInPanel="true">			
                    <related id="30"/>
                    <proc id="proc2" name="orgCardSave" type="SAVE"/>
                </element>
                <element id="120" type="webtext" proc="employeesButtons" hideOnLoad="true">
                    <related id="130"/>
                </element>	
                <element id="130" type="grid" proc="employeesGrid" hideOnLoad="true">
                    <related id="30"/>		
                </element>
                <element id="140" type="xforms" template="employeesCard.xml" proc="employeesCard" neverShowInPanel="true">
                    <related id="30"/>
                    <related id="130"/>
                    <proc id="proc3" name="employeesCardSave" type="SAVE"/>
                </element>
            </tab>	
        </datapanel>
        

Данный xml-файл имеет многоуровневую древовидную структуру:

  1. datapanel – корневой элемент;

  2. tab – вкладка;

  3. element – уровень конкретных элементов панели. Каждый элемент в свою очередь может содержать:

  4. proc – дополнительные процедуры (ССЫЛКА НА РАЗДЕЛ);

  5. related – ссылки на другие элементы (ССЫЛКА НА РАЗДЕЛ).

Вкладка (tab) может иметь следующие атрибуты:

  • @id – уникальный внутри панели идентификатор;

  • @name – наименование вкладки для отображения;

Элементы содержимого вкладки (element) имеют следующие атрибуты:

  • @id – уникальный внутри панели идентификатор;

  • @type – тип элемента, принимающий одно из следующих значений: grid, webtext или xforms;

  • @proc – функция, загружающая данные в элемент.

  • @hideOnLoad – необязательный атрибут. Если hideOnLoad = «true», то при загрузке вкладки элемент не отображается, и требуется специальное событие для его отображения (ссылка на раздел). Элемент с таким атрибутом называется зависимым, а элемент, от которого он зависит – главным. Главный элемент должен находиться на той же вкладке, что и зависимый. Зависимость означает, что данный элемент должен заполняться после элемента, от которого он зависит, а также то, что его содержимое может зависеть от текущего контекста главного элемента. Фактически, данная опция служит для оптимизации быстродействия.

  • @neverShowInPanel – необязательный атрибут. Если neverShowInPanel = true, то элемент никогда не будет отображен внутри вкладки панели, а будет отображаться в модальном окне. Следует отличать его от атрибута hideOnLoad, который нужен для оптимизации загрузки зависимых элементов.

Для элементов типа webtext может быть задан необязательный атрибут @transform, который указывает на xslt-преобразование, которое необходимо применить к полученному из процедуры xml-коду. Значение атрибута transform – путь к файлу преобразования *.xsl (обычно располагаются в userdata/xslttransforms).