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])]
            }

        }

    }
}
