Skip to main content

ObservableList

A list that can be observed for blend and other components

Properties

ItemAdded

This item is read only and cannot be modified. Read Only
ObservableList.ItemAdded: Signal<T,number,Symbol>

Fires when an item is added

ItemRemoved

This item is read only and cannot be modified. Read Only
ObservableList.ItemRemoved: Signal<T,Symbol>

Fires when an item is removed.

CountChanged

ObservableList.CountChanged: RBXScriptSignal

Fires when the count changes.

Functions

new

ObservableList.new() → ObservableList<T>

Constructs a new ObservableList

isObservableList

ObservableList.isObservableList(valueany) → boolean

Returns whether the value is an observable list

Observe

ObservableList:Observe() → Observable<{T}>

Observes the list, allocating a new list in the process.

iterating over ObservableList

for  (T) → (
(
T,
nextIndexany
) → ...any,
T?
) 
 in  ObservableList  do

Allows iteration over the observable map

ObserveItemsBrio

ObservableList:ObserveItemsBrio() → Observable<Brio<T>>

Observes all items in the list

ObserveIndex

ObservableList:ObserveIndex(indexToObservenumber) → Observable<number>

Observes the index as it changes, until the entry at the existing index is removed.

ObserveAtIndex

ObservableList:ObserveAtIndex(indexToObservenumber) → Observable<T?>

Observes the current value at a given index. This can be useful for observing the first entry, or matching stuff up to a given slot.

list:ObserveAtIndex(1):Subscribe(print) --> prints first item
list:ObserveAtIndex(-1):Subscribe(print) --> prints last item

ObserveAtIndexBrio

ObservableList:ObserveAtIndexBrio(indexToObservenumber) → Observable<Brio<T>>

Observes the current value at a given index. This can be useful for observing the first entry, or matching stuff up to a given slot.

RemoveFirst

ObservableList:RemoveFirst(valueT) → boolean

Removes the first instance found in contents

GetCountValue

ObservableList:GetCountValue() → IntValue

Returns an IntValue that represents the CountValue

ObserveIndexByKey

ObservableList:ObserveIndexByKey(keySymbol) → Observable<number>

Observes the index as it changes, until the entry at the existing key is removed.

GetIndexByKey

ObservableList:GetIndexByKey(keySymbol) → number

Gets the current index from the key

GetCount

ObservableList:GetCount() → number

Gets the count of items in the list

ObserveCount

ObservableList:ObserveCount() → Observable<number>

Observes the count of the list

Add

ObservableList:Add(itemT) → callback--

Call to remove

Adds the item to the list at the specified index

Get

ObservableList:Get(indexnumber) → T?

Gets the current item at the index, or nil if it is not defined.

InsertAt

ObservableList:InsertAt(
itemT,
indexnumber?
) → callback--

Call to remove

Adds the item to the list at the specified index

RemoveAt

ObservableList:RemoveAt(indexnumber) → T

Removes the item at the index

RemoveByKey

ObservableList:RemoveByKey(keySymbol) → T

Removes the item from the list if it exists.

GetList

ObservableList:GetList() → {T}

Gets a list of all entries.

Destroy

ObservableList:Destroy() → ()

Cleans up the ObservableList and sets the metatable to nil.

Show raw api
{
    "functions": [
        {
            "name": "new",
            "desc": "Constructs a new ObservableList",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "ObservableList<T>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 27,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "isObservableList",
            "desc": "Returns whether the value is an observable list",
            "params": [
                {
                    "name": "value",
                    "desc": "",
                    "lua_type": "any"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 71,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "Observe",
            "desc": "Observes the list, allocating a new list in the process.",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Observable<{ T }>"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 80,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "__iter",
            "desc": "Allows iteration over the observable map",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "(T) -> ((T, nextIndex: any) -> ...any, T?)"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 107,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "ObserveItemsBrio",
            "desc": "Observes all items in the list",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Observable<Brio<T>>"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 119,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "ObserveIndex",
            "desc": "Observes the index as it changes, until the entry at the existing\nindex is removed.",
            "params": [
                {
                    "name": "indexToObserve",
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Observable<number>"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 155,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "ObserveAtIndex",
            "desc": "Observes the current value at a given index. This can be useful for observing\nthe first entry, or matching stuff up to a given slot.\n\n```\nlist:ObserveAtIndex(1):Subscribe(print) --> prints first item\nlist:ObserveAtIndex(-1):Subscribe(print) --> prints last item\n```",
            "params": [
                {
                    "name": "indexToObserve",
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Observable<T?>"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 178,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "ObserveAtIndexBrio",
            "desc": "Observes the current value at a given index. This can be useful for observing\nthe first entry, or matching stuff up to a given slot.",
            "params": [
                {
                    "name": "indexToObserve",
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Observable<Brio<T>>"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 193,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "RemoveFirst",
            "desc": "Removes the first instance found in contents",
            "params": [
                {
                    "name": "value",
                    "desc": "",
                    "lua_type": "T"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 208,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "GetCountValue",
            "desc": "Returns an IntValue that represents the CountValue",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "IntValue"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 224,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "ObserveIndexByKey",
            "desc": "Observes the index as it changes, until the entry at the existing\nkey is removed.",
            "params": [
                {
                    "name": "key",
                    "desc": "",
                    "lua_type": "Symbol"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Observable<number>"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 235,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "GetIndexByKey",
            "desc": "Gets the current index from the key",
            "params": [
                {
                    "name": "key",
                    "desc": "",
                    "lua_type": "Symbol"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 249,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "GetCount",
            "desc": "Gets the count of items in the list",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 262,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "ObserveCount",
            "desc": "Observes the count of the list",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Observable<number>"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 270,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "Add",
            "desc": "Adds the item to the list at the specified index",
            "params": [
                {
                    "name": "item",
                    "desc": "",
                    "lua_type": "T"
                }
            ],
            "returns": [
                {
                    "desc": "Call to remove",
                    "lua_type": "callback"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 279,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "Get",
            "desc": "Gets the current item at the index, or nil if it is not defined.",
            "params": [
                {
                    "name": "index",
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "T?"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 288,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "InsertAt",
            "desc": "Adds the item to the list at the specified index",
            "params": [
                {
                    "name": "item",
                    "desc": "",
                    "lua_type": "T"
                },
                {
                    "name": "index",
                    "desc": "",
                    "lua_type": "number?"
                }
            ],
            "returns": [
                {
                    "desc": "Call to remove",
                    "lua_type": "callback"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 307,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "RemoveAt",
            "desc": "Removes the item at the index",
            "params": [
                {
                    "name": "index",
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "T"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 367,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "RemoveByKey",
            "desc": "Removes the item from the list if it exists.",
            "params": [
                {
                    "name": "key",
                    "desc": "",
                    "lua_type": "Symbol"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "T"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 383,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "GetList",
            "desc": "Gets a list of all entries.",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "{ T }"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 447,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "Destroy",
            "desc": "Cleans up the ObservableList and sets the metatable to nil.",
            "params": [],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 458,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        }
    ],
    "properties": [
        {
            "name": "ItemAdded",
            "desc": "Fires when an item is added",
            "lua_type": "Signal<T, number, Symbol>",
            "readonly": true,
            "source": {
                "line": 46,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "ItemRemoved",
            "desc": "Fires when an item is removed.",
            "lua_type": "Signal<T, Symbol>",
            "readonly": true,
            "source": {
                "line": 54,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        },
        {
            "name": "CountChanged",
            "desc": "Fires when the count changes.",
            "lua_type": "RBXScriptSignal",
            "source": {
                "line": 61,
                "path": "src/observablecollection/src/Shared/ObservableList.lua"
            }
        }
    ],
    "types": [],
    "name": "ObservableList",
    "desc": "A list that can be observed for blend and other components",
    "source": {
        "line": 5,
        "path": "src/observablecollection/src/Shared/ObservableList.lua"
    }
}