Перейти к основному содержимому

API iRidium. IR.ITEM_LISTBOX (List)

Методы, используемые при работе с динамическими списками: графическими элементами типа List.

List

Методы работы с листом.

IR.CreateItem()

создать графический элемент List на текущей странице проекта. Страница может быть определена с помощью метода IR.CurrentPage. Чтобы создать элемент на произвольной странице, нужно применить метод CreateItem() к ссылке на объект Page или Popup, полученной с помощью метода IR.GetItem().

Синтаксис

IR.CreateItem(IR.ITEM_LISTBOX, name, X, Y, width, height);

на входезначениеописание
name"Button 1"type: String
название элемента, уникальное для страницы.
X30type: Number
координата по оси X.
Y40type: Number
координата по оси Y.
width200type: Number
ширина элемента.
height500type: Number
высота элемента.
на выходе
Object[Object ListItemPrototype]type: Object
экземпляр графического объекта.

Пример

IR.AddListener(IR.EVENT_START,0, function()
{
var src = IR.CreateItem(IR.ITEM_LISTBOX,"List 1",30,40,200,500);
IR.Log(src); // [Object ListItemPrototype]
});
Подсказка
  • Чтобы создать диалоговый элемент на конкретной странице, примените .CreateItem() к ссылке на страницу или попап:
var list_1 = IR.GetItem("Page 1").CreateItem(IR.ITEM_LISTBOX,"List 1",30,40,200,500);
IR.Log(list_1) // [Object ListItemPrototype] // create list and get the link in one action
  • В конструкторе приведены только базовые свойства элемента, без которых элемент вообще нельзя создать. Все элементы имеют также общий набор дополнительных свойств и набор свойств, характерных для типа элемента. См. в подразделе Свойства.

.AddItem()

Создать элемент списка (ListItem).

Синтаксис:

List.AddItem([template], [options], [customID], [position], [name]);

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа
templateList.AddItem("template", {}, cities[i])type: Object
имя попапа как шаблона
optionsitemName: "Button1", PropertyName: Value, States: [{ PropertyName: Value }]type: Object
объект с настройками элемента листа:
* itemName — имя графического элемента (String)
* PropertyName: Value — свойство графического элемента: значение
* States — массив состояний, где PropertyName: Value — свойство состояния: значение
customID"London"type: String
идентификатор элемента листа
position2type: Number
позиция в списке
name"Template 1"type: String
имя клонированного попапа от шаблона template
На выходе
ListItem[Object ListItemPrototype]type: Object
элемент списка ListItem

Пример

var cities = ["Moscow", "London", "New York"];
var List = `IR.GetItem("Page 1").GetItem("List")`;

if(List)
{
for(var i = 0; i < cities.length; i++)
{
var ListItem = List.AddItem("template", { "Name" : { Text : cities[i] }}, cities[i]);
}
}
Подсказка

Пример проекта

  • Если использовать метод AddItem() без параметров, то при активации функции в лист добавится новый элемент списка, который будет являться точной копией родительского элемента (попапа):
var List;
List = IR.GetPage("Page 1").GetItem("Item 1");
List.Template = "Popup 1";
function AddItem() {
List.AddItem();
};

.SetDataFilter()

Добавить фильтр по данным формата ключ-значение.

Синтаксис:

List.SetDataFilter(key, value);

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа
key"city"type: String
ключ
value"London"type: String
значение
На выходе
-

Пример

// search
function search(in_key, in_value)
{

if(in_key)
{
// if value is exist then set filter
if(in_value)
List.SetDataFilter(in_key, in_value);
else

// else delete filter
List.DeleteDataFilter(in_key);

// apply filter
List.ApplyDataFilter();
}
}

.ClearDataFilter()

Очистить фильтр по данным.

Синтаксис:

List.ClearDataFilter()

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
На выходе--
---

Пример

// clear filter
List.ClearDataFilter();

.ApplyDataFilter()

Применить фильтр по данным.

Синтаксис: List.ApplyDataFilter()

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
На выходе--
---

Пример

// apply filter
List.ApplyDataFilter();

.DeleteDataFilter()

Удалить ключ из фильтра.

Синтаксис:

List.DeleteDataFilter(key)

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
key"city"String
ключ.
На выходе--
---

Пример List.DeleteDataFilter("city");

.GetItemByName()

Получить ListItem по имени попапа, указанного при использовании AddItem.

Синтаксис:

List.GetItemByName(name);

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
name"Template 1"String
имя клонированного попапа от шаблона template.
На выходе--
ListItem[Object ListItemPrototype]type: Object
элемент списка ListItem.

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
var ListItem = List.GetItemByName("Template 1");
}

.GetItemByIndex()

Получить ListItem по порядковому номеру.

Синтаксис:

List.GetItemByIndex(index)

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
index2Number
порядковый номер элемента листа.
На выходе--
ListItem[Object ListItemPrototype]type: Object
элемент списка ListItem.

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
var ListItem = List.GetItemByIndex(10);
}

.GetItemPositionByName()

Получить позицию ListItem по имени попапа, указанного при использовании AddItem

Синтаксис:

List.GetItemPositionByName(name)

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
name"Template 1"String
имя клонированного попапа от шаблона template.
На выходе--
Position2Number
позиция ListItem (number ≥ 0 или -1 если элемент не найден).

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
var position = List.GetItemPositionByName("Template 1");
}

.GetItemPositionByCustomID()

Получить позицию ListItem по указанному идентификатору.

Синтаксис:

List.GetItemPositionByCustomID(customId)

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
customId"Moscow"String
идентификатор элемента листа.
На выходе--
Position2Number
позиция ListItem (number ≥ 0 или -1 если элемент не найден).

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
var position = List.GetItemPositionByCustomID("Moscow");
}

.GetSelected()

Получить выбранные элементы или элемент.

Синтаксис:

List.GetSelected()

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
На выходе--
ListItem[Object ListItemPrototype]type: Object
массив элементов или элемент в зависимости от SelectMode листа.

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
var selected = List.GetSelected();
}

.ClearSelected()

Сбросить выбранные элементы.

Синтаксис:

List.ClearSelected()

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
На выходе--
---

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
List.ClearSelected();
}

.DeleteItemByName()

Удаление элемента по имени попапа, указанного при использовании AddItem.

Синтаксис:

List.DeleteItemByName(name)

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
name"Template 1"String
имя клонированного попапа от шаблона template.
На выходе--
---

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
List.DeleteItemByName("Template 1");
}

.DeleteItemByCustomID()

Удаление элемента по указанному идентификатору.

Синтаксис:

List.DeleteItemByCustomID(customId)

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
customId"Moscow"String
идентификатор элемента листа.
На выходе--
---

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
List.DeleteItemByCustomID("Moscow");
}

.DeleteItemByIndex()

Удаление элемента по порядковому номеру.

Синтаксис:

List.DeleteItemByIndex(index)

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
index10Number
порядковый номер элемента листа.
На выходе--
---

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
List.DeleteItemByIndex(10);
}

.DeleteItemsByName()

Удаление элементов по имени попапа, указанного при использовании AddItem.

Синтаксис:

List.DeleteItemsByName(name)

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
name"Template 1"String
имя клонированного попапа от шаблона template.
На выходе--
---

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
List.DeleteItemsByName("Template 1");
}

.DeleteItemsByCustomID()

Удаление элементов по указанному идентификатору.

Синтаксис:

List.DeleteItemsByCustomID(customID)

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
customId"Moscow"String
идентификатор элемента листа.
На выходе--
---

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
List.DeleteItemsByCustomID("Moscow");
}

.GetItemsByName()

Получить массив ListItem по имени попапа, указанного при использовании AddItem.

Синтаксис:

List.GetItemsByName(name)

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
name"Template 1"String
имя клонированного попапа от шаблона template.
На выходе--
---

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
var ListItems = List.GetItemsByName("Template 1");
}

.GetItemsByCustomID()

Получить массив ListItem по указанному идентификатору.

Синтаксис:

List.GetItemsByCustomID(customID)

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
customId"Moscow"String
идентификатор элемента листа.
На выходе--
---

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
var ListItems = List.GetItemsByCustomID("Moscow");
}

.SelectByIndex()

Выбрать элемент по порядковому номеру.

Синтаксис:

List.SelectByIndex(index, bool)

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
index10Number
порядковый номер.
booltrueBoolean
признак выбранного элемента.
На выходе--
---

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
List.SelectByIndex(10, true);
}

.StartReleaseActionByIndex()

Выполнить действие от элемента по порядковому номеру из ListItem.SetReleaseAction.

Синтаксис:

List.StartReleaseActionByIndex(index)

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
index10Number
порядковый номер.
На выходе--
---

Пример

var testFunction = function(in_listItem)
{
IR.Log(in_listItem.CustomID);
}

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
var cities = ["Moscow", "London", "New York"];
if(List)
{
for(var i = 0; i < cities.length; i++)
{
var ListItem = List.AddItem("template", {}, cities[i]);
if(ListItem)
{
ListItem.SetReleaseAction(testFunction);
}
}
}

ListItem.StartReleaseActionByIndex(1); // London
}

.ScrollByName()

Перемотать список к элементу, указанного при использовании AddItem.

Синтаксис:

List.ScrollByName(name)

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
name"Template 1"String
имя клонированного попапа от шаблона template.
На выходе--
---

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
List.ScrollByName("Template 1");
}

.ScrollByCustomID()

Перемотать список к элементу с указанным идентификатором.

Синтаксис:

List.ScrollByCustomID(customID)

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
customID"London"String
идентификатор элемента листа.
На выходе--
---

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
List.ScrollByCustomID("London");
}

.ScrollByIndex()

Перемотать список к элементу с указанным порядковым номером.

Синтаксис:

List.ScrollByIndex(index)

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
index1Number
порядковый номер.
На выходе--
---

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
List.ScrollByIndex(1);
}

.ScrollToStart()

Перемотать список на начало.

Синтаксис:

List.ScrollToStart()

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
На выходе--
---

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
List.ScrollToStart();
}

.ScrollToEnd()

Перемотать список в конец.

Синтаксис:

List.ScrollToEnd()

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
На выходе--
---

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
List.ScrollToEnd();
}

.SetSelectFunction()

Установить функцию обработчик отметки элемента списка.

Синтаксис:

List.SetSelectFunction(function)

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
functionList.SetSelectFunction(testFunction)type: Object
функция, выполняемая при выборе ListItem.
На выходе--
---

Пример

var testFunction = function(in_listItem)
{
IR.Log(in_listItem.CustomID); // London
}

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
var cities = ["Moscow", "London", "New York"];
if(List)
{
for(var i = 0; i < cities.length; i++)
{
var ListItem = List.AddItem("template", {}, cities[i]);
}
}

List.SetSelectFunction(testFunction);
List.SelectByIndex(1, true); // London
}

.MoveItem()

Изменение позиции элемента списка.

Синтаксис:

List.MoveItem(currentPostition, newPosition)

На входеЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: Object
ссылка на объект листа.
currentPostition0Number
текущий порядковый номер.
newPosition2Number
новый порядковый номер.
На выходе--
---

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
List.MoveItem(0, 2); // change listItem from index 0 to index 2
}

.SetPosition()

пролистать список до указанной позиции. Для этого нужно получить ссылку на объект List с помощью метода IR.GetItem().

Синтаксис

list.SetPosition(item);

на входезначениеописание
listIR.GetItem("Page 1").GetItem("Item 1")type: Object
ссылка на список.
item0type: Number
номер элемента (пункта) списка, начиная с 0.
на выходе
-

Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
var List = IR.GetItem("Page 1").GetItem("List 1");
List.SetPosition(12); // go to point
});
Подсказка

для перелистывания списка к указанному пункту:

  • пункт должен существовать;
  • в момент выполнения команды, список должен быть виден, это значит, что страница или попап содержащая список, должна быть открыта;
  • после создания нового элемента списка, должно пройти не менее 100 мс, команда перелистывания идущая сразу же после команды создания нового элемента списка - выполнена не будет.

.Clear()

удалить все пункты элемента List. Для этого нужно получить ссылку на объект List с помощью метода IR.GetItem().

Синтаксис

list.Clear();

на входезначениеописание
listIR.GetItem("Page 1").GetItem("Item 1")type: Object
ссылка на список.
на выходе
-

Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
var List = IR.GetItem("Page 1").GetItem("List 1");
List.Clear(); // clear list
});

Свойства элемента List

Свойства списков - графических элементов типа List:

IR.GetItem(page/popup).GetItem(list).property

property

Get / Put:

СвойствоЗначениеОписание
Template"Popup 1"type: string
Позволяет установить или запросить шаблон для пунктов списка, которым является один из попапов проекта.
Direction0type: number
Позволяет установить или запросить направление прокрутки списка:
• 0 — вертикальный список
• 1 — горизонтальный список
Filter"A"type: string
Позволяет отфильтровать пункты списка по их имени (части имени).
ScrollEnabledtruetype: boolean
Позволяет отключить возможность перелистывания списка вручную из интерфейса. При этом метод .SetPosition продолжит работать.
DragDropEnabletruetype: boolean
Позволяет включить/выключить перетягивание элементов списка (элементы меняют свою позицию в списке).
Resistance50type: number
Позволяет установить или запросить значение сопротивления при прокрутке листа.
ScrollBartruetype: boolean
Позволяет включить/выключить полосу прокрутки (ScrollBar).
SelectModeIR.LIST_SELECT_SINGLEtype: object
Позволяет выбрать или запросить выбранные элементы списка:
• IR.LIST_SELECT_SINGLE — получение одного элемента
• IR.LIST_SELECT_MULTIPLE — получение массива элементов

Get:

СвойствоЗначениеОписание
ItemsCount24type: number
позволяет запросить количество пунктов списка.
var list = IR.GetItem("Page 1").GetItem("List 1");
//* * Template **//
IR.Log(list.Template); // "Popup 1"
list.Template = "Popup 2"; // change template if exist
//* * Direction **//
IR.Log(list.Direction); // 1
list.Direction = 0; // change direction
//* * ItemsCount **//
IR.Log(list.ItemsCount); // 24
//* * Filter **//
list.Filter = "C";
IR.Log(list.Filter); // "C"
//* * ScrollEnabled **//
list.ScrollEnabled = true; // list can be flipped manually
list.ScrollEnabled = false; // list cannot be flipped manually
//* * DragDropEnable **//
list.DragDropEnable = true; //activate dragging list items
list.DragDropEnable = false; //deactivate dragging list items
//* * Resistance **//
list.Resistance = 50; //set the scroll resistance to 50
//* * ScrollBar **//
list.ScrollBar = true; //turn on the scroll bar
list.ScrollBar = false; //turn off the scroll bar
//* * SelectMode **//
list.SelectMode = IR.LIST_SELECT_SINGLE; //getting one element
list.SelectMode = IR.LIST_SELECT_MULTIPLE. //getting an array of elements

ListItem

Методы работы с элементами листа (ListItem).

.SetData()

Установка пользовательских данных элементу списка (данные не используются для фильтрации).

Синтаксис:

ListItem.SetData(Data)

На входеЗначениеОписание
ListItemList.GetItemByName(name)type: Object
ссылка на элемент листа.
Data{CountryName: "Russia", CityName: "Moscow"}type: Object
пользовательские данные как объект.
На выходе--
---

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
var ListItem = List.GetItemByName(name);
if(ListItem)
{
var data = {
CountryName: "Russia",
CityName: "Moscow"
}

ListItem.SetData(data);
}
}

.SetFilterKey()

Установить метку формата ключ-значение элементу листа для дальнейшей возможности работы с фильтром по этим меткам.

Синтаксис:

ListItem.SetFilterKey(Data)

На входеЗначениеОписание
ListItemList.GetItemByName(name)type: Object
ссылка на элемент листа.
Data{"Name": cities[i]}type: Object
пользовательские данные как объект.
На выходе--
---

Пример

// search
function search(in_key, in_value)
{

if(in_key)
{
// if value is exist then set filter
if(in_value)
List.SetDataFilter(in_key, in_value);
else

// else delete filter
List.DeleteDataFilter(in_key);

// apply filter
List.ApplyDataFilter();
}
}

var cities = ["Moscow", "London", "New York"];
var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
for(var i = 0; i < cities.length; i++)
{
var ListItem = List.AddItem("template", {}, cities[i]);
if(ListItem)
{
ListItem.SetFilterKey({"Name": cities[i]});
}
}
}

search("Name", "Mosc");
search("Name", "Lon");

// clear filter
List.ClearDataFilter();

.SetOptions()

Установка настроек элемента листа.

Синтаксис:

ListItem.SetOptions(Data)

На входеЗначениеОписание
ListItemList.GetItemByName(name)type: Object
ссылка на элемент листа.
Data// имя графического элемента
itemName:
{// свойство графического элемента: значение
PropertyName: Value,...
// массив состоянийStates:
[// свойство состояния: значение
PropertyName: Value,...]},...
type: Object
объект с настройками элемента листа.
На выходе--
---

Пример

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
var ListItem = List.GetItemByName(name);
if(ListItem)
{
ListItem.SetOptions({
"Item 1": {
Text: "SomeText",
Visible: false,

States: [{
Image: "Image 1"
}]
},
});
}
}

.SetReleaseAction()

Установка функции выполнения при Release.

Синтаксис:

ListItem.SetReleaseAction(action, [space])

На входеЗначениеОписание
ListItemList.GetItemByName(name)type: Object
ссылка на элемент листа.
actionfunction(in_listItem, in_item){IR.Log(in_listItem.Popup.Name);IR.Log(in_item.Name);IR.Log(this.city);}Object
функция, отрабатываемая по Release от элемента листа.
ListItem — элемент листа, на который нажали.
Item — диалоговый элемент внутри элемента листа, на который нажали типа (IR.GetItem("Item")).
[space]{city: "Moscow"}type: Object
контекст ({}).
На выходе--
---

Пример

var testFunction = function(in_listItem, in_item)
{
IR.Log(in_listItem.Popup.Name);
IR.Log(in_item.Name);
IR.Log(this.city);
}

var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
var ListItem = List.GetItemByName(name);
if(ListItem)
{
ListItem.SetReleaseAction(testFunction, {city: "Moscow"})
}
}

Свойства элемента ListItem

Свойства элементов списка:

List.GetItemByName(name).property

СвойствоЗначениеОписание
ListIR.GetItem("Page 1").GetItem("List")type: object
ссылка на объект листа.
name"Template 1"type: string
имя клонированного попапа от шаблона template.

Get

СвойствоЗначениеОписание
Popup[Object ListItemPrototype]type: object
получить объект попапа, элемента списка.
Parent[Object ListItemPrototype]type: object
получить объект List, на котором находится ListItem.
Data{CountryName: "Russia", CityName: "Moscow"}type: object
получение пользовательских данных, введённых методом SetData().
FilterKey{"Name": cities[i]}type: object
получить метку формата ключ-значение элемента листа, введённую методом SetFilterKey().
Index1type: number
получить порядковый номер элемента листа.

Get / Put

СвойствоЗначениеОписание
Selectedtruetype: boolean
признак того, что элемент выбран:
true — элемент выбран, false — элемент не выбран.
Context{city: "Moscow"}type: object
контекст выполняемой функции в SetReleaseAction().
CustomID"Moscow"type: string
идентификатор элемента листа.
Visibletruetype: boolean
видимость элемента листа:
true — элемент виден, false — элемент не отображается в списке.
Lockedbooleantype: boolean
блокировка элемента листа на текущей позиции (ограничение свойства DragDropEnable):
true — элемент заблокирован, false — элемент не заблокирован.
var List = `IR.GetItem("Page 1").GetItem("List")`;
if(List)
{
var ListItem = List.GetItemByName(name);
if(ListItem)
{
var popup = ListItem.Popup;
var list = ListItem.Parent;
var data = ListItem.Data;
var filter = ListItem.FilterKey;
var index = ListItem.Index;

var selected = ListItem.Selected;
ListItem.Selected = !selected;

var customID = ListItem.CustomID;
ListItem.CustomID = "NewCustomID";

var context = ListItem.Context;
ListItem.Context = {city: "London"};

var visible = ListItem.Visible;
ListItem.Visible = !visible;

var locked = ListItem.Locked;
ListItem.Locked = !locked;
}
}