5.1 Метод передачи данных и команд в форму редактирования
Для передачи данных и команд в окно формы редактирования данных используется интерфейс окна содержимого: атрибут contentWindow элемента <iframe>. Методом postMessage необходимо передать данные в окно iframe в виде объекта следующей структуры:
- data (объект): {
- action (строка) — команда для выполнения в форме редактирования;
- data ({объект}) — параметры команды, необходимые для её выполнения
- }
В окно формы редактирования могут быть переданы следующие команды:
- pressSaveDocumentBtn – сохранение введенных структурированных данных в файл XML;
- setIframesContent – загрузка в редактор данных из файла XML;
- initData – инициализация контекста формы редактирования документа;
- addStyleTag – добавление CSS-стилей на веб-страницу редактора.
Подробное описание команд и их параметров приведены в курсе далее.
Пример реализации в JavaScript:
<script>
// Получение открытого окна редактора по id=”editor” в переменную editorWindow
let editorWindow = document.querySelector('#editor').contentWindow;
// Отправка команды pressSaveDocumentBtn в открытое окно редактора
editorWindow.postMessage({
system_id: 'GosedoPortal',
data: {
action: 'pressSaveDocumentBtn',
data: {}
}
},
'*');
</script>
<!-- фрейм с подключенной формой редактирования данных Портала ГосЭДО-->
<iframe class="editor" id="editor" src="http://10.77.142.21:84/#/constructor/selector/?theme=light"></iframe>
Последнее изменение: Friday, 12 July 2024, 16:36