diff --git a/README.md b/README.md
index aa166e2..1f2ba3d 100644
--- a/README.md
+++ b/README.md
@@ -708,9 +708,9 @@ const MyPanel = () => {
}
```
-### API для взаимодействия с WEB-приложением "ПАРУС 8 Онлайн"
+### API для взаимодействия с WEB-приложением "ПАРУС 8 Онлайн" и ядром фреймворка
-Для взаимодействия панелей с пользовательским интерфейсом "ПАРУС 8 Онлайн" в составе расширения предусмотрен специальный API. Его подключение к компоненте панели осуществляется через контекст `ApplicationCtx` ("app/context/application.js").
+Для взаимодействия панелей с пользовательским интерфейсом "ПАРУС 8 Онлайн" в составе расширения предусмотрен специальный API. Его подключение к компоненте панели осуществляется через контекст `ApplicationCtx` ("app/context/application.js"). Данный контекст так же позволяет управлять некоторыми базовыми функциями приложения фреймворка и получать сведения о зарегистрированных панелях.
В состав API входят:
@@ -720,6 +720,9 @@ const MyPanel = () => {
- `pOnlineShowDictionary` - функция, отображение раздела "ПАРУС 8 Онлайн" в режиме словаря
- `pOnlineUserProcedure` - функция, исполнение "Пользовательской процедуры"
- `pOnlineUserReport` - функция, печать "Пользовательского отчёта"
+- `setAppBarTitle` - функция, установка текста заголовка панели
+- `setAppBarShow` - функция, установка флага отображения системного заголовка панели
+- `findPanelByName` - функция, поиск зарегистрированной в файле конфигурации фреймвора (`p8panels.config`) панели по уникальному имени
#### `String pOnlineShowTab(Object)`
@@ -848,6 +851,36 @@ const MyPanel = () => {
**Результат:** функция не возвращает значимого результата
+#### `undefined setAppBarTitle(appBarTitle)`
+
+Изменяет текст заголовка панели.
+
+**Входные параметры:**
+
+`appBarTitle` - необязательный, строка, текст заголовка панели (если не указан - используется заголовок панели `Panels\Panel\caption` из файла конфигурации `p8panels.config`)
+
+**Результат:** функция не возвращает значимого результата
+
+#### `undefined setAppBarShow(appBarShow)`
+
+Скрывает/отображает заголовок панели.
+
+**Входные параметры:**
+
+`appBarShow` - обязательный, логический, флаг отображения заголовка панели (`false` - скрыть заголовок, `true` - отобразить заголовок)
+
+**Результат:** функция не возвращает значимого результата
+
+#### `object findPanelByName(name)`
+
+Возвращает сведения (XML элемент `Panels\Panel` в JSON-интерпретации) о панели из файла конфигурации фреймворка (`p8panels.config`) по её уникальному наименованию (`Panels\Panel\name`).
+
+**Входные параметры:**
+
+`name` - обязательный, строка, уникальное имя панели (указывается в атрибуте `name` XML-элемента `Panels\Panel` файла конфигурации фреймворка `p8panels.config`)
+
+**Результат:** функция возвращает объект, содержащий JSON-интерпретацию XML-элемента `Panel` файла конфигурации `p8panels.config`, соответствующего переданному имени панели (`undefined` - если сведения о панели не были найдены)
+
Примеры (см. "app/panels/samples/p8online.js"):
```
@@ -862,13 +895,20 @@ const STYLES = {
DIVIDER: { margin: "15px" }
};
-//Пример: API для взаимодействия с "ПАРУС 8 Онлайн"
+//Пример: API для взаимодействия с "ПАРУС 8 Онлайн" и ядром фреймворка
const P8Online = ({ title }) => {
- //Собственное состояние
+ //Собственное состояние - флаг отображения пользовательского текста заголовка
+ const [titleCustom, setTitleCustom] = useState(false);
+
+ //Собственное состояние - отображение заголовка
+ const [titleVisible, setTitleVisible] = useState(true);
+
+ //Собственное состояние - выбранный контрагент
const [agent, setAgent] = useState("");
//Подключение к контексту приложения
- const { pOnlineShowUnit, pOnlineShowTab, pOnlineShowDocument, pOnlineShowDictionary } = useContext(ApplicationCtx);
+ const { pOnlineShowUnit, pOnlineShowTab, pOnlineShowDocument, pOnlineShowDictionary, setAppBarTitle, setAppBarShow, findPanelByName } =
+ useContext(ApplicationCtx);
//Генерация содержимого
return (
@@ -876,20 +916,44 @@ const P8Online = ({ title }) => {
{title}
+ {/* Изменение текста заголовка */}
+ {titleVisible && (
+ <>
+
+
+ >
+ )}
+ {/* Сокрытие/отображение заголовка */}
+
+
+ {/* Поиск панели */}
+
+
{/* Открыть новую закладку */}
{/* Открыть раздел */}
-