# Исходный код components_derived.modal_view_template

    """Модуль modal_view_template содержит класс для работы с модальным окном шаблона.

    Класс ViewTemplateModalWindow наследует базовый функционал ModalWindowComponent
    и реализует методы просмотра модального окна шаблона.
    """

    import re
    from playwright.sync_api import Page
    from tools.logger import get_logger
    from components.modal_window_component import ModalWindowComponent
    from components.json_container_component import JsonContainerComponent
    from locators.json_container_locators import JsonContainerLocators

    logger = get_logger("VIEW_TEMPLATE_MODAL_WINDOW")

    class ViewTemplateModalWindow(ModalWindowComponent):
        """Модальное окно шаблона.

        Наследует ModalWindowComponent и добавляет функционал для:
        1. Инициализации модального окна с конкретным шаблоном
        2. Закрытия модального окна через тулбар
        3. Проверки содержимого модального окна
        4. Проверки содержимого JSON контейнера
        """

        def __init__(self, page: Page, title: str):
            """Инициализирует элементы формы модального окна шаблона."""
            super().__init__(page)

            # Настройка заголовка и кнопки закрытия
            self.window_title = title
            locator_button_toolbar_close = self.page.get_by_role("navigation").filter(
                has_text=re.compile(self.window_title)
            ).get_by_role("button")

            self.add_toolbar_title(self.window_title)
            self.add_toolbar_button(locator_button_toolbar_close, "close")

            # Инициализация JSON контейнера
            self.json_container = JsonContainerComponent(page)

        def close_window_by_toolbar_button(self):
            """Закрывает окно через кнопку в тулбаре."""
            self.click_toolbar_close_button()

        def check_content(self) -> None:
            """Проверяет наличие и корректность элементов окна.

            Проверяет:
            1. Наличие заголовка окна с именем шаблона
            2. Видимость кнопки закрытия
            3. Подсказку кнопки закрытия
            """
            self.check_by_window_title()
            self.check_toolbar_button_visibility("close")
            self.check_toolbar_button_tooltip("close", "Закрыть")

        def verify_json_container_content(self, template_data: dict) -> None:
            """Проверяет соответствие данных контейнера данным из API.

            Args:
                template_data: Данные шаблона из API.
            """
            # Читаем данные из контейнера
            actual_data = self.json_container.read_data(JsonContainerLocators.CONTAINER)

            # Сравниваем actual_data с данными конкретного шаблона
            self.json_container.check_json_equals(
                actual_data,
                template_data,
                "Expected json content is not equal actual:"
            )