/*!
 *
 * Copyright (c) 2021-2022 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    PreTreatmentStack.qml
 * \author  (last)      Behrouz NematiPour
 * \date    (last)      28-Feb-2022
 * \author  (original)  Behrouz NematiPour
 * \date    (original)  21-Jun-2021
 *
 */

// Qt
import QtQuick 2.12

// Project
//  Qml imports
import "qrc:/globals"
import "qrc:/components"
import "qrc:/pages/pretreatment"
import "qrc:/pages/pretreatment/connection"
/*!
 * \brief   the pre treatment prime stack screen
 */
StackItem { id: _root
    objectName: "_PreTreatmentStack"

    stackView.initialItem   : null

    property int stackStepIndex : 0

    PreTreatmentWaterSampleStack{ id: _preTreatmentWaterSampleStack     ;objectName: "_preTreatmentWaterSampleStack" }
    PreTreatmentConsumablesStack{ id: _preTreatmentConsumablesStack     ;objectName: "_preTreatmentConsumablesStack" }
    PreTreatmentDisposablesStack{ id: _preTreatmentDisposablesStack     ;objectName: "_preTreatmentDisposablesStack" }
    PreTreatmentPrimeStack      { id: _pretreatmentPrimeStack           ;objectName: "_pretreatmentPrimeStack      " }
    PreTreatmentConnectionStack { id: _pretreatmentConnectionStack      ;objectName: "_pretreatmentConnectionStack " }

    Connections { target: vPreTreatmentStates
        onStartChanged              : {}
        onWaterSampleChanged        : { page( _preTreatmentWaterSampleStack , vwaterSample          )}
        onSelfTestConsumablesChanged: { page( _preTreatmentConsumablesStack , vselfTestConsumables  )}
        onSelfTestNoCartridgeChanged: { page( _preTreatmentDisposablesStack , vselfTestNoCartridge  )}
        onInstallationChanged       : { page( _preTreatmentDisposablesStack , vinstallation         )} // DEBUG: Experimental : console.debug("vinstallation       "
        onSelfTestDryChanged        : { page( _pretreatmentPrimeStack       , vselfTestDry          )}
        onPrimeChanged              : { page( _pretreatmentPrimeStack       , vprime                )} // DEBUG: Experimental : console.debug("vprime              "
        onRecirculateChanged        : { page( _pretreatmentPrimeStack       , vrecirculate          )} // DEBUG: Experimental : console.debug("vrecirculate        "
        onPatientConnectionChanged  : { page( _pretreatmentConnectionStack  , vpatientConnection    )}
    }

    onVisibleChanged: {
        if (visible) {
            _mainMenu.hidden = true
        }
        else {
            stackView.initialItem = null
        }
    }
}
