SelectTeam

Introduction

SelectTeam widget in Supervisely is a dropdown menu that allows users to select a team from a list of available teams. Clicking on it can be processed from python code. This widget is particularly useful when working with multiple teams in Supervisely and allows to easily switch between team in applications.

Function signature

SelectTeam(
    default_id=None,
    show_label=True,
    size=None,
    widget_id=None,
)

Parameters

ParametersTypeDescription

default_id

int

Default supervisely team ID

show_label

bool

Show label

size

Literal["large", "small", "mini", None]

Selector size (large/small/mini)

widget_id

str

ID of the widget

default_id

Determine Team will be selected by default.

type: int

default value: None

select_team = SelectTeam(default_id=team_id)

show_label

Determine show text Team on widget or not.

type: bool

default value: True

select_team = SelectTeam(default_id=team_id, show_label=False)

size

Size of input.

type: Literal["large", "small", "mini", None]

default value: None

select_team = SelectTeam(default_id=team_id, show_label=False)
select_mini = SelectTeam(default_id=team_id, show_label=False, size="mini")
select_small = SelectTeam(default_id=team_id, show_label=False, size="small")
select_large = SelectTeam(default_id=team_id, show_label=False, size="large")
card = Card(
    title="Select Team",
    content=Container(widgets=[select_team, select_mini, select_small, select_large]),
)

widget_id

ID of the widget.

type: str

default value: None

Methods and attributes

Attributes and MethodsDescription

get_selected_id()

Return selected team id.

Mini App Example

You can find this example in our Github repository:

ui-widgets-demos/selection/002_select_team/src/main.py

Import libraries

import os

import supervisely as sly
from dotenv import load_dotenv
from supervisely.app.widgets import Button, Card, Container, NotificationBox, SelectTeam

Init API client

First, we load environment variables with credentials and init API for communicating with Supervisely Instance:

load_dotenv("local.env")
load_dotenv(os.path.expanduser("~/supervisely.env"))

api = sly.Api()

Prepare Team ID

team_id = sly.env.team_id()

Initialize SelectTeam widget

select_team = SelectTeam()

Create button and notification box we will use in UI for demo

ok_btn = Button("OK")

notification_box = NotificationBox()

Create app layout

Prepare a layout for app using Card widget with the content parameter and place widget that we've just created in the Container widget.

card = Card(
    title="Select Team",
    content=Container(widgets=[select_team, ok_btn, notification_box]),
)

layout = Container(widgets=[card])

Create app using layout

Create an app object with layout parameter.

app = sly.Application(layout=layout)

Add functions to get team ID from widget

@ok_btn.click
def show_team_members():
    team_id = select_team.get_selected_id()
    team = api.team.get_info_by_id(team_id)
    notification_box.set(
        title=f"Team '{team.name}'",
        description=f"Your role in the team: {team.role}",
    )

Last updated