"""Модуль event_panel_locators содержит локаторы элементов панели событий.

Класс EventPanelLocators предоставляет XPath локаторы для взаимодействия
с элементами панели событий в тестах.
"""

class EventPanelLocators:
    """Локаторы элементов панели событий.

    Содержит XPath локаторы для:
    AREA_EVENTS (str): рабочей области страницы.
    BUTTON_EXPAND_LESS (str): кнопки сжатия рабочей области отображения содержимого панели событий.
    BUTTON_EXPAND_MORE (str): кнопки расширения рабочей области отображения содержимого панели событий.
    TAB_STATES (str): кнопки Состояния.
    TAB_ACTIONS (str): кнопки Действия.
    TAB_EVENTS (str): кнопки События.
    TAB_MAINTENANCE (str): кнопки Обслуживания.
    TAB_SYSTEM_LOG (str): кнопки Системный журнал.
    TAB_AUDIT (str): кнопки Аудит.
    BUTTONS_EVENT (str): блока кнопок-счетчиков событий.
    BUTTON_USER (str): кнопки текущего пользователя.
    CONTAINER_ACTIONS_TAB (str): контейнера для отображения событий вкладки Действия.
    CONTAINER_EVENTS_TAB (str): контейнера для отображения событий вкладки События.
    CONTAINER_MAINTENANCE_EVENTS (str): контейнера для отображения событий обслуживания.
    CONTAINER_SYSTEM_LOG_EVENTS (str): контейнера с событиями Системного журнала.
    CONTAINER_AUDIT_EVENTS (str): контейнера для отображения событий аудита.
    """

    AREA_EVENTS = "#app > div.application--wrap > div > div:nth-child(1)"

    BUTTON_EXPAND_LESS = "//button[contains(@data-testid, 'BASELINE__btn__toolbar_close')]"
    BUTTON_EXPAND_MORE = "//button[contains(@data-testid, 'BASELINE__btn__toolbar_open')]"

    TABS_TOOLBAR = "//div[@data-testid='BASELINE__tabs__toolbar']"
    TAB_STATES =  "//div[@data-testid='BASELINE__states_tab__toolbar']"
    TAB_ACTIONS = "//div[@data-testid='BASELINE__actions_tab__toolbar']"
    TAB_EVENTS = "//div[@data-testid='BASELINE__events_tab__toolbar']"
    TAB_MAINTENANCE = "//div[@data-testid='BASELINE__service_tab__toolbar']"
    TAB_SYSTEM_LOG = "//div[@data-testid='BASELINE__system journal_tab__toolbar']"
    TAB_AUDIT = "//div[@data-testid='BASELINE__audit_tab__toolbar']"

    BUTTONS_EVENT = "//button[@data-testid='BASELINE__btn__user']/preceding-sibling::div//span[contains(@class, 'v-tooltip')]"

    BUTTON_USER = "//button[@data-testid='BASELINE__btn__user']"

    TOOLBAR = "//nav[contains(@class, 'v-toolbar')]"
    TABLE = "//div[@class='scrolltable']/div/table"

    FILTER_TOOLBAR_BUTTON = "//div[contains(@class, 'journal-tab-button')]//span[text()='Фильтр']"
    EVENTS_TOOLBAR_BUTTON = "//div[contains(@class, 'journal-tab-button')]//span[text()='События']"
    MAINTENANCE_TOOLBAR_BUTTON = "//div[contains(@class, 'journal-tab-button')]//span[text()='Обслуживание']"
    REAL_TIME_TOOLBAR_BUTTON = "//div[contains(@class, 'journal-tab-button')]//span[text()='Реальное время']"
    ARCHIVE_TOOLBAR_BUTTON = "//div[contains(@class, 'journal-tab-button')]//span[text()='Архив']"
    PDF_TOOLBAR_BUTTON = "//div[contains(@class, 'journal-tab-button')]//span[text()='pdf']"
    CSV_TOOLBAR_BUTTON = "//div[contains(@class, 'journal-tab-button')]//span[text()='csv']"

    CONTAINER_ACTIONS_TAB = "#app > div.application--wrap > div > div:nth-child(3) > div:nth-child(2)"
    CONTAINER_EVENTS_TAB = "#app > div.application--wrap > div > div:nth-child(3) > div:nth-child(3)"
    CONTAINER_MAINTENANCE_EVENTS = "#app > div.application--wrap > div > div:nth-child(3) > div:nth-child(4)"
    CONTAINER_SYSTEM_LOG_EVENTS = "#app > div.application--wrap > div > div:nth-child(3) > div:nth-child(5)"
    CONTAINER_AUDIT_EVENTS = "#app > div.application--wrap > div > div:nth-child(3) > div:nth-child(6)"
