import QtQuick 2.10 import QtQuick.Controls 2.15 import QtQuick.Controls.Material 2.15 Row { id: multiGenResRow property bool active: (parseInt(widgetData[ "route_order" ]) === -1) && (generalResRep.model > 0) height: parent.height width: active ? parent.width - resultLa.width:0 enabled: active Repeater { id: generalResRep property var routes: getRoutes() model: routes.length function getRoutes() { var obj = widgetData["route_names"] var routes = [] for(var prop in obj) { // go through the whole array and search for data keys if (obj.hasOwnProperty(prop) && prop > -1) { routes.push([prop, obj[prop]]) //console.log("found " + obj[prop] + " at index " + prop) } } routes.sort(function(a, b) { return a[0] - b[0]; }); return routes } delegate: Item { id: boulderGenResItm anchors.verticalCenter: parent.verticalCenter width: parent.width / ( generalResRep.model ) height: parent.height visible: multiGenResRow.active Rectangle { anchors { left: parent.left } width: 1 height: parent.height visible: index === 0 color: Material.primaryTextColor } Rectangle { anchors { right: parent.right } width: 1 height: parent.height color: Material.primaryTextColor } Label { id: boulderGenResLa anchors.centerIn: parent height: parent.height width: parent.width * 0.9 fontSizeMode: Text.Fit font.pixelSize: Math.abs( height * 0.6 ) minimumPixelSize: 1 verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignHCenter text: widgetData["participants"][partDel.thisIndex]["result"+(generalResRep.routes[index][0])] === undefined ? "": widgetData[ "participants" ][partDel.thisIndex]["result"+(generalResRep.routes[index][0])] } } } }