Cluster · разработчикам
PageDefinition
Объявление страницы модуля с упорядоченными элементами, не более 64.
Все методы SDK · Типы и ошибки
Получение объекта
definition = app.ui.define("overview", "Overview")__init__
Создаёт PageDefinition. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
def __init__(id: str, title: str | dict[str, str]) -> None: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.title: str | dict[str, str], обязательный. Подпись либо словарь локализаций, например ru и en.
Результат
None. Создаёт PageDefinition. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
# Обычный способ получения объекта:
definition = app.ui.define("overview", "Overview")add
Добавляет Element с уникальным ID.
def add(element: Element) -> Self: ...Аргументы
element: Element, обязательный. Объект объявленного элемента страницы.
Результат
Self. Тот же объект после успешной операции. Добавляет Element с уникальным ID.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
TypeError('An Element is required'): условие проверяется до продолжения операции.ValueError('Duplicate element'): условие проверяется до продолжения операции.ValueError('Too many elements'): условие проверяется до продолжения операции.
Пример
result = definition.add(app.ui.element("status", "text"))remove
Удаляет элемент из описания страницы.
def remove(id: str) -> Self: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.
Результат
Self. Тот же объект после успешной операции. Удаляет элемент из описания страницы.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
result = definition.remove("object-id")__getitem__
Возвращает объект элемента по ID.
def __getitem__(id: str) -> Element: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.
Результат
Element. Возвращает объект элемента по ID.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
KeyError(id): условие проверяется до продолжения операции.
Пример
value = definition["object-id"]rename
Меняет ID элемента с проверкой уникальности.
def rename(id: str, name: str) -> Self: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.name: str, обязательный. Имя функции, сигнала либо поля в выбранном объекте.
Результат
Self. Тот же объект после успешной операции. Меняет ID элемента с проверкой уникальности.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('Duplicate element'): условие проверяется до продолжения операции.
Пример
result = definition.rename("object-id", "status")move
Перемещает элемент на существующую позицию.
def move(id: str, index: int) -> Self: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.index: int, обязательный. Позиция от нуля в указанном списке или строке. Допустимые границы проверяются методом.
Результат
Self. Тот же объект после успешной операции. Перемещает элемент на существующую позицию.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
IndexError('Invalid element position'): условие проверяется до продолжения операции.
Пример
result = definition.move("object-id", 0)sort
Сортирует элементы по key либо по их ID.
def sort(key: Callable | None = None, reverse: bool = False) -> Self: ...Аргументы
key: Callable | None, по умолчаниюNone. Синхронный ключ сортировки. None использует правило класса; вызывается для каждого элемента.reverse: bool, по умолчаниюFalse. Логический переключатель указанного действия.
Результат
Self. Тот же объект после успешной операции. Сортирует элементы по key либо по их ID.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
result = definition.sort()build
Возвращает описание страницы с id, title и списком elements для Module.pages.
def build() -> PageDefinitionData: ...Аргументы
Нет.
Результат
PageDefinitionData. Возвращает описание страницы с id, title и списком elements для Module.pages.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
result = definition.build()