В данном проекте представлены различные внешние компоненты, которые были реализованы в рамках проектов (или в свободное время) для платформы **ARTA Synergy**.
В данном проекте представлены различные внешние компоненты, которые были
реализованы в рамках проектов (или в свободное время) для платформы **ARTA Synergy**.
## Disclaimer
## Disclaimer
Все компоненты предоставлены сообществом по принципу ***"AS IS"*** и не подразумевают какой-либо ответственности автора за неправильное функционирование, нанесенный ущерб, неработоспособность и т.д.
Все компоненты предоставлены сообществом по принципу ***"AS IS"*** и не подразумевают
какой-либо ответственности автора за неправильное функционирование,
нанесенный ущерб, неработоспособность и т.д.
**Также автор компонента не обязуется дорабатывать свой компонент под какой-либо проект**, но вы всегда можете связаться с ним и предложить взаимовыгодные условия сотрудничества.
**Также автор компонента не обязуется дорабатывать свой компонент под какой-либо проект**,
но вы всегда можете связаться с ним и предложить взаимовыгодные условия сотрудничества.
### Список компонентов
## Структура проекта
Библиотека внешних компонентов разбита на несколько кататогов:
Компонент представляет собой объект `RegistryToolbarButtonExt` инциализация которого добавляет на панель реестра кнопку, нажатие на которую загружает кастомный контент вместо списка записей реестра.
* кнопка имеет два состояния - выключена/включена;
* добавлять можно несколько кнопок (каждый вызов `new RegistryToolbarButtonExt()` добавляет одну кнопку);
* в состоянии "включена" может быть только одна кнопка;
* для иконки кнопки используется [Font Awesome](https://fontawesome.com);
* при переключении реестра состояние всех кнопок становится "выключена" и отображается список записей реестра;
* компонент не содержит условной логики отображения кнопки.
***Внимание!*** Компонент не реализует какой-либо логики описывающей в каких случаях, для кого и т.п. должна быть видна/доступна кнопка. Данную логику необходимо реализовать самостоятельно, в зависимости от задачи!
***Описание конструктора компонента:***
```javascript
/**
* Добавляет кнопку на тулбаре реестра, начиная за кнопкой отчетов реестра (иконка принтера).
* Каждый экземпляр объекта добавляет одну кнопку (new RegistryToolbarButtonExt(iframeSrc, faIcon)).
* В качестве иконки используется библиотека fontawesome 5 (https://fontawesome.com/icons?d=gallery&m=free),
* т.о. необходимо выбрать иконку из библиотеки и передать ее код в конструктор.
* Конструктор метода позволяет отобразить iframe или произвольный HTML контент вместо списка записей реестра.
*
* @param {String} iframeSrc - URL который необходимо загрузить в iframe
* @param {String} faIcon - код иконки из fontawesome вместе с ее начертанием, например "fas fa-chart-pie"
* @param {jQuery} content - объект jQuery, который будет отображен вместо iframe. Если передан данный
В примере выше будет добавлена кнопка при выборе любого реестра. Нажатие на кнопку загрузит URL `http://demo.arta.kz` в iframe, который заменит список записей реестра.
В примере выше добавляются две кнопки при выборе любого реестра. Вторая кнопка отображает кастомный контент (в данном случае это просто элемент "параграф" с текстом).