Добавление нового элемента управления

Добавить новый тип элементов управления в Конструктор Web-разметок можно с помощью расширения.

Расширение предоставляет возможность настраивать разметку с использованием нового элемента управления, но не обеспечивает его функционирование на клиентской стороне.

Полностью вопрос разработки новых типов элементов управления будет рассмотрен в разделе Разработка элементов управления.

Основным способом описания элемента управления является текстовый или XML. Подробнее о создании текстового описателя элемента управления см. Формирование текстового описателя элемента управления.

Добавить элемент управления

Чтобы создать расширение, добавляющее новый тип элементов управления, выполните приведенную далее инструкцию.
  1. Создайте проект расширения программы Конструктор Web-разметок.

  2. Добавьте в ядро расширения (файл TemplateDesignerExtension.cs) функцию, предоставляющую описатель элемента управления.

    Описатель элемента управления — это объект, содержащий информацию об элементе управления: название типа, группа, перечень свойства (настроек). Описатель имеет тип ControlTypeDescription.

       ControlTypeDescription GetSuperControlTypeDescription ()
       {
         var controlTypeDescription = new ControlTypeDescription ("SuperControl") {
             DisplayName = "Супер элемент управления",
             ControlGroupDisplayName = "Примеры",
             PropertyDescriptions = {
                 PropertyFactory.GetNameProperty(), (1)
                 PropertyFactory.GetVisibilityProperty(), (2)
                 PropertyFactory.GetClickEvent() (3)
             }
         };
         return controlTypeDescription;
       }
    1 Название.
    2 Видимость.
    3 Событие При щелчке.
    При составлении описания элемента необходимо:
    1. Указать название типа элемента управления. Название передается непосредственно в конструктор класса ControlTypeDescription.

      Описатель элемента управления с типом "SuperControl"
      var controlTypeDescription = new ControlTypeDescription ("SuperControl"){
    2. Указать отображаемое название типа элемента управления в DisplayName. Данное название приводится в строке Название ЭУ в блоке настроек элемента управления в программы Конструктор Web-разметок.

      DisplayName = "Супер элемент управления",
    3. Указать группу элемента управления в ControlGroupDisplayName. Группа используется для группировки элементов управления в библиотеке элементов управления программы Конструктор Web-разметок.

      ControlGroupDisplayName = "Примеры",
  3. Укажите свойства элемента управления в PropertyDescriptions.

    Свойства элемента управления — его параметры, которые определяют внешний вид, связь с данными карточки, функции, вызываемые при работе элемента управления (обработчики событий). К свойствам относятся: видимость, текстовая метка, подсказка, (событие) при получении фокуса и др. Значения свойств (есть исключения) передаются в клиент, где могут быть использованы для формирования пользовательского интерфейса.

  4. Переопределите метод GetControlTypeDescriptions() базового класса, чтобы он возвращал коллекцию с реализованным в пункте 2 методом:

    protected override List<ControlTypeDescription> GetControlTypeDescriptions()
    {
        return new List<ControlTypeDescription>
        {
            GetSuperControlTypeDescription()
        };
    }
  5. Скомпилируйте проект и скопируйте полученную сборку на сервер Web-клиента в папку \%WebCinstallDir%\Plugins\%Каталог Решения%. Ресурсные сборки скопируйте в папки \%WebCinstallDir%\ru\ (для русской локализации), \%WebCinstallDir%\uk\ (для английской локализации) и т.д.

  6. Перезапустите Конструктор Web-разметок.

Проверить элемент управления

Для проверки примера, откройте настройки любой разметки. В библиотеке элементов управления будет доступен для использования Супер элемент управления.

Элемент управления из расширения в редакторе разметок
Рисунок 1. Элемент управления из расширения в редакторе разметок

В данном пункте рассмотрен один из двух возможных вариантов регистрации нового типа элементов управления.

Описатель элемента управления может также быть реализован в виде текстового XML файла. В таком файле перечисляются свойства данного элемента управления.

Возможность создания описателя элемента управления рассмотрена в разделе Разработка элементов управления.