Typy kolumn
Tablice monday.com obsługują różne typy kolumn. Każdy typ służy do przechowywania określonych danych. API pozwala odczytywać, filtrować, tworzyć, aktualizować i czyścić wartości większości typów kolumn. Niektóre typy są jednak tylko do odczytu lub nie są obsługiwane.
Każdy typ kolumny ma własną stronę dokumentacji (linki znajdziesz poniżej). Zawiera ona przykłady zapytań, filtrowania i modyfikowania wartości. Tabele na tej stronie zawierają wszystkie typy kolumn, ich typy implementacji oraz wartości enuma ColumnType używane w API.
Odczytywanie wartości kolumn
Wartości kolumn są zwracane przez pole column_values elementów (items). Każdy typ kolumny odpowiada określonemu typowi implementacji GraphQL, np. StatusValue, TextValue lub DropdownValue. Użyj fragmentów wbudowanych w zapytanie, aby uzyskać dostęp do pól właściwych dla danego typu:
query {
items(ids: [1234567890]) {
column_values {
... on StatusValue {
label
index
}
... on TextValue {
text
value
}
}
}
}
Wszystkie implementacje udostępniają wspólny zestaw pól z interfejsu ColumnValue: id, text, type i value. Do pól właściwych dla danego typu, takich jak label w StatusValue czy url w LinkValue, można uzyskać dostęp tylko za pomocą fragmentów wbudowanych w zapytanie.
Obsługiwane kolumny
Te typy kolumn obsługują operacje odczytu za pomocą column_values. Większość z nich obsługuje też zapis przy użyciu change_simple_column_value lub change_multiple_column_values. Szczegóły dotyczące obsługiwanych operacji znajdziesz na stronie dokumentacji każdej kolumny.
| Nazwa kolumny | Implementacja | Typ kolumny |
|---|---|---|
| Przycisk (Button) | ButtonValue |
button |
| Pole wyboru (Checkbox) | CheckboxValue |
checkbox |
| Selektor koloru (Color picker) | ColorPickerValue |
color_picker |
| Połącz tablice (Connect boards) | BoardRelationValue |
board_relation |
| Kraj (Country) | CountryValue |
country |
| Data (Date) | DateValue |
date |
| Zależność (Dependency) | DependencyValue |
dependency |
| Lista rozwijana (Dropdown) | DropdownValue |
dropdown |
| E-mail (Email) | EmailValue |
email |
| Pliki (Files) | FileValue |
file |
| Godzina (Hour) | HourValue |
hour |
| Łącze (Link) | LinkValue |
link |
| Lokalizacja (Location) | LocationValue |
location |
| Długi tekst (Long text) | LongTextValue |
long_text |
| Dokument monday (monday doc) | DocValue |
doc |
| Nazwa (Name) | name |
|
| Liczby (Numbers) | NumbersValue |
numbers |
| Osoby (People) | PeopleValue |
people |
| Telefon (Phone) | PhoneValue |
phone |
| Ocena (Rating) | RatingValue |
rating |
| Status | StatusValue |
status |
| Podelementy (Subitems) | SubtasksValue |
subtasks |
| Etykiety (Tags) | TagsValue |
tags |
| Tekst (Text) | TextValue |
text |
| Oś czasu (Timeline) | TimelineValue |
timeline |
| Śledzenie czasu (Time tracking) | TimeTrackingValue |
time_tracking |
| Głos (Vote) | VoteValue |
vote |
| Tydzień (Week) | WeekValue |
week |
| Zegar światowy (World clock) | WorldClockValue |
world_clock |
Kolumny tylko do odczytu
Te kolumny zwracają wartości przez API, ale nie można ich edytować. Ich dane są generowane automatycznie lub pochodzą z innych kolumn.
| Nazwa kolumny | Implementacja | Typ kolumny |
|---|---|---|
| Dziennik utworzenia (Creation log) | CreationLogValue |
creation_log |
| Formuła (Formula) | FormulaValue |
formula |
| Identyfikator elementu (Item ID) | ItemIdValue |
item_id |
| Ostatnia aktualizacja (Last updated) | LastUpdatedValue |
last_updated |
| Lustro (Mirror) | MirrorValue |
mirror |
| Śledzenie postępu (Progress tracking) | ProgressValue |
progress |
Kolumny obliczane
Wartości tych kolumn są obliczane podczas renderowania i nie są dostępne za pośrednictwem API column_values.
| Nazwa kolumny | Typ kolumny |
|---|---|
| Automatyczna numeracja (Auto number) | auto_number |
Wycofane kolumny
Te typy kolumn zostały wycofane. Nadal są dostępne w API ze względu na zgodność ze starszymi wersjami, ale zalecamy używanie ich zamienników.
| Nazwa kolumny | Implementacja | Typ kolumny | Zamiennik |
|---|---|---|---|
| Osoba (Person) | PersonValue |
person |
Osoby |
| Zespół (Team) | TeamValue |
team |
Osoby |
Inne typy kolumn
Poniższe typy kolumn istnieją w schemacie API, ale obsługa odczytu i zapisu ich wartości jest ograniczona lub niedostępna.
| Nazwa kolumny | Implementacja | Typ kolumny | Uwagi |
|---|---|---|---|
| Integracja (Integration) | IntegrationValue |
integration |
Zarządzana przez integracje; jej wartości nie można ustawiać bezpośrednio. |
Tworzenie kolumn
Możesz tworzyć nowe kolumny na tablicy za pomocą ogólnej mutacji create_column. Działa ona z dowolnym typem kolumny. Przekaż typ kolumny w argumencie column_type.
W przypadku kolumn statusu i listy rozwijanej API udostępnia też typowane mutacje z ustawieniami o określonych typach:
create_status_column- tworzy kolumnę statusu z konfiguracją etykiet i kolorówcreate_dropdown_column- tworzy kolumnę listy rozwijanej z wcześniej zdefiniowanymi opcjami
Aktualizowanie wartości kolumn
Wartości kolumn możesz aktualizować za pomocą jednej z dwóch mutacji:
change_simple_column_value- przyjmuje wartość tekstową dla kolumnychange_multiple_column_values- przyjmuje obiekt JSON, który pozwala zaktualizować jedną lub kilka kolumn jednocześnie
Wymagany format zależy od typu kolumny. Szczegółowy format wartości i przykłady znajdziesz na stronie dokumentacji każdej kolumny.
Filtrowanie według wartości kolumn
Możesz filtrować elementy według wartości kolumn za pomocą items_page i parametru query_params. Każdy typ kolumny obsługuje określony zestaw operatorów filtrowania, np. any_of, contains_text i greater_than. Informacje o obsługiwanych operatorach i formatach porównywanych wartości znajdziesz na stronie dokumentacji każdej kolumny.
query {
boards(ids: [1234567890]) {
items_page(
query_params: {
rules: [
{
column_id: "status"
compare_value: [1]
operator: any_of
}
]
}
) {
items {
id
name
}
}
}
}
Schemat typów kolumn
Możesz pobrać schemat JSON ustawień dowolnego typu kolumny za pomocą zapytania get_column_type_schema. Zwraca ono strukturę, reguły walidacji i dostępne właściwości konfiguracji kolumny.
query {
get_column_type_schema(
type: status
)
}
Schemat przydaje się do programowego sprawdzania ustawień kolumn, tworzenia dynamicznych interfejsów oraz poznawania dostępnych opcji konfiguracji każdego typu kolumny.