I’m not sure I got wat you were trying to achieve.
But you can run .filter() or .findIndex() on the repeater.data
Maybe you can elaborate on what you’re trying to do.
I want to be able to run those type of functions on the actual children that are there in the designer e.g. the ‘containers’ of the repeater (not known by that name anymore in EditorX though, now they are items), the boxes I’ve added to the repeater, … But since there’s no such property, it’s only possible when you add them to your repeater.data using itemData or something. If you don’t do that, you cannot easily access those ‘children’.
I don’t know what you want to do, but you can easily access the children using the:
let $item = $w.at(event.context)
You just have to select one item inside the repeater the get the context and manipulate it, like this:
$w.onReady(() => {
$w("#textRepeater").onClick((event, $item) => {
$item = $w.at(event.context) //This creates the context (the item inside the repeater)
$item("#textRepeater").text = "Clicked!" //This changes the text in the context
console.log(event.context.itemId)
})
})
And if you want to get the data of the item that was clicked, you just need to use:
let data = $w("#repeater").data
let clickedItem = data.find(item => item._id === event.context.itemId)