/*!
 *
 * Copyright (c) 2020-2025 Diality Inc. - All Rights Reserved.
 * \copyright
 * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN
 * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER.
 *
 * \file    TreatmentAdjustmentVitalsInterval.qml
 * \author  (last)      Nico Ramirez
 * \date    (last)      03-Oct-2025
 * \author  (original)  Nico Ramirez
 * \date    (original)  03-Oct-2025
 *
 */

// Qt
import QtQuick 2.12

// Project
import "qrc:/globals"
import "qrc:/components"
import "qrc:/compounds"

TreatmentAdjustmentBase { id: _root
    contentItem.objectName: "TreatmentAdjustmentVitalsInterval"
    titleText           : qsTr("Vitals Interval")

    titlePixelSize      : Fonts.fontPixelSection
    height              : 500
    width               : 1000

    function confirm() {
        vTreatmentCreate.bloodPressureMeasureInterval    = vTreatmentRanges.bloodPressureMeasureInterval[_bpMeasurementIntervalControl.currentIndex]
        vTreatmentVitals.doTimerStart()
        _root.close()
    }

    onOpened: _bpMeasurementIntervalControl.currentIndex = vTreatmentRanges.bloodPressureMeasureInterval.indexOf(vTreatmentCreate.bloodPressureMeasureInterval.toString())

    LabelUnitContainer { id: _bpMeasurementInterval
        anchors {
            top             : _root.contentItem.top
            topMargin       : Variables.defaultMargin * 2
            horizontalCenter: _root.contentItem.horizontalCenter
        }

        text        : qsTr("Vitals Interval")
        unitText    : Variables.unitTextDuration
        valid       : ! vTreatmentCreate.bloodPressureMeasureIntervalRejectReason
        width       : Variables.adjustmentLabelUnitContainerWidth
        height      : Variables.adjustmentLabelUnitContainerHeight

        contentItem : BaseComboBox { id: _bpMeasurementIntervalControl
            anchors.rightMargin : Variables.defaultMargin * 2
            anchors.leftMargin  : anchors.rightMargin
            anchors.topMargin   : Variables.defaultMargin / 2
            anchors.bottomMargin: anchors.topMargin
            isActive            : vTreatmentCreate.bloodPressureMeasureIntervalSet
            currentIndex        : vTreatmentRanges.bloodPressureMeasureInterval.indexOf(vTreatmentCreate.bloodPressureMeasureInterval.toString())
            model               : vTreatmentRanges.bloodPressureMeasureInterval
            canOff              : true
            centerHorizontally  : true

            onClear             : {
                vTreatmentCreate.bloodPressureMeasureIntervalSet = false
            }

            onActivated         : {
                if ( ! _bpMeasurementInterval.valid ) {
                    vTreatmentCreate.bloodPressureMeasureIntervalRejectReason = Variables.noRejectReason
                }
                vTreatmentCreate.bloodPressureMeasureIntervalSet = true
            }
        }
    }

    ConfirmButton { id : _confirmButton
        anchors {
            bottom          : _root.contentItem.bottom
            bottomMargin    : Variables.defaultMargin * 4
            horizontalCenter: _root.contentItem.horizontalCenter
        }

        width       : Variables.defaultButtonWidth
        height      : Variables.defaultButtonHeight
        enabled     : _bpMeasurementIntervalControl.isActive

        anchors {
            top     : undefined
            right   : undefined
            margins : 0
        }
        onClicked   : {
            _root.confirm()
        }
    }
}
