// Qt
import QtQuick 2.15

//  Qml imports
import "qrc:/globals"
import "qrc:/components"
import "qrc:/compounds"

WaterSampleBase { id: _root
    anchors.fill: parent

    contentItem : Item { id: _content
        readonly property int cellWidth : width / 2 - ( _row.spacing / 2 ) // 2 items for the row and subtract spacing for widths
        Text {  id: _description
            anchors.top         : parent.top
            text                : qsTr("Test dialysate sample per your clinic's instructions.\n\nBased on facility policies, pH, conductivity, and temperature may be tested at this time")
            color               : Colors.offWhite
            font.pixelSize      : Fonts.fontPixelNotification
            font.weight         : Font.Light
            width               : _content.width
            height              : implicitHeight
            horizontalAlignment : Text.AlignHCenter
            verticalAlignment   : Text.AlignTop
        }

        Row { id: _row
            anchors.top         : _description.bottom
            anchors.topMargin   : Variables.defaultMargin * 4
            spacing             : Variables.defaultMargin * 2

            Column { id: _leftColumn
                spacing     : Variables.defaultMargin

                LabelUnitContainer { id: _acidConcentrateContainer
                    objectName          : "_acidConcentrateContainer"
                    width               : _content.cellWidth
                    height              : Variables.adjustmentLabelUnitContainerHeight
                    text                : qsTr("Acid Concentrate")
                    contentItem : Text {  id: _acidConcentrateText
                        anchors.centerIn: parent
                        text            : vTreatmentCreate.acidConcentrateSet ? vTreatmentRanges.acidConcentrateOptions[vTreatmentCreate.acidConcentrate] :
                                                                                Variables.emptyEntry
                        color           : Colors.offWhite
                        font.pixelSize  : Fonts.fontPixelValueControl
                    }
                }

                LabelUnitContainer { id: _bicarbonateCartrideSizeContainer
                    objectName          : "_bicarbonateCartrideSizeContainer"
                    width               : _content.cellWidth
                    height              : Variables.adjustmentLabelUnitContainerHeight
                    text                : qsTr("Bicarbonate Cartridge Size")
                    contentItem : Text {  id: _bicarbonateCartrideSizeText
                        anchors.centerIn: parent
                        text            : qsTr("Bicart %1") .arg(vTreatmentRanges.dryBicabCartridgeSizeOptions[vTreatmentCreate.dryBicabCartridgeSize])
                        color           : Colors.offWhite
                        font.pixelSize  : Fonts.fontPixelValueControl
                    }
                }


                LabelUnitContainer { id: _sodiumContainer
                    objectName          : "_sodiumContainer"
                    width               : _content.cellWidth
                    height              : Variables.adjustmentLabelUnitContainerHeight
                    text                : qsTr("Sodium")
                    unitText            : Variables.unitTextConcentration
                    contentItem : Text {  id: _sodiumText
                        anchors.centerIn: parent
                        text            : vTreatmentCreate.sodiumFinalDialysateComposition
                        color           : Colors.offWhite
                        font.pixelSize  : Fonts.fontPixelValueControl
                    }
                }

                LabelUnitContainer { id: _bicarbonateContainer
                    objectName          : "_bicarbonateContainer"
                    width               : _content.cellWidth
                    height              : Variables.adjustmentLabelUnitContainerHeight
                    text                : qsTr("Bicarbonate")
                    unitText            : Variables.unitTextConcentration
                    contentItem : Text {  id: _bicarbonateText
                        anchors.centerIn: parent
                        text            : vTreatmentCreate.bicarbFinalDialysateComposition
                        color           : Colors.offWhite
                        font.pixelSize  : Fonts.fontPixelValueControl
                    }
                }
            }

            Column { id: _rightColumn
                spacing     : Variables.defaultMargin

                LabelUnitContainer { id: _theoriticalCondictivityContainer
                    objectName          : "_theoriticalCondictivityContainer"
                    width               : _content.cellWidth
                    height              : Variables.adjustmentLabelUnitContainerHeight
                    text                : qsTr("Theoretical Conductivity")
                    unitText            : Variables.unitTextDialCond
                    contentItem : Text {  id: _theoriticalCondictivityText
                        anchors.centerIn: parent
                        text            : "13.7" // TODO add actual value
                        color           : Colors.offWhite
                        font.pixelSize  : Fonts.fontPixelValueControl
                    }
                }

                LabelUnitContainer { id: _independentConductivityReadingContainer1
                    objectName          : "_independentConductivityReadingContainer1"
                    width               : _content.cellWidth
                    height              : Variables.adjustmentLabelUnitContainerHeight
                    text                : qsTr("Independent Conductivity Reading 1")
                    unitText            : Variables.unitTextDialCond
                    contentItem : Text {  id: _independentConductivityReading1Text
                        anchors.centerIn: parent
                        text            : "13.7" // TODO add actual value
                        color           : Colors.offWhite
                        font.pixelSize  : Fonts.fontPixelValueControl
                    }
                }

                LabelUnitContainer { id: _independentConductivityReadingContainer2
                    objectName          : "_independentConductivityReadingContainer2"
                    width               : _content.cellWidth
                    height              : Variables.adjustmentLabelUnitContainerHeight
                    text                : qsTr("Independent Conductivity Reading 2")
                    unitText            : Variables.unitTextDialCond
                    contentItem : Text {  id: _independentConductivityReading2Text
                        anchors.centerIn: parent
                        text            : "13.7" // TODO add actual value
                        color           : Colors.offWhite
                        font.pixelSize  : Fonts.fontPixelValueControl
                    }
                }

                LabelUnitContainer { id: _dialsateTemperatureContainer
                    objectName          : "_dialsateTemperatureContainer"
                    width               : _content.cellWidth
                    height              : Variables.adjustmentLabelUnitContainerHeight
                    text                : qsTr("Dialysate Temperature")
                    unitText            : Variables.unitTextTemperature
                    contentItem : Text {  id: _dialsateTemperatureText
                        anchors.centerIn: parent
                        text            : vTreatmentCreate.dialysateTemp.toFixed(Variables.dialysateTempPrecision)
                        color           : Colors.offWhite
                        font.pixelSize  : Fonts.fontPixelValueControl
                    }
                }

                LabelUnitContainer { id: _actualRORejectionPercentageContainer
                    objectName          : "_actualRORejectionPercentageContainer"
                    width               : _content.cellWidth
                    height              : Variables.adjustmentLabelUnitContainerHeight
                    text                : qsTr("Actual RO Rejection Percentage")
                    unitText            : "%"
                    contentItem : Text {  id: _actualRORejectionPercentageText
                        anchors.centerIn: parent
                        text            : vTreatmentCreate.actualRORejectionPercentage
                        color           : Colors.offWhite
                        font.pixelSize  : Fonts.fontPixelValueControl
                    }
                }
            }
        }
    }
}
