@ -23,7 +23,7 @@ export default function Component({ service }) {
< Block label = "qnap.cpuUsage" / >
< Block label = "qnap.memUsage" / >
< Block label = "qnap.systemTempC" / >
< Block label = "qnap.poolUsage" / >
< Block label = { ( widget . volume ) ? "qnap.volumeUsage" : "qnap.poolUsage" } / >
< / Container >
) ;
}
@ -32,9 +32,29 @@ export default function Component({ service }) {
const totalMemory = statusData . system . total _memory . _cdata ;
const freeMemory = statusData . system . free _memory . _cdata ;
const systemTempC = statusData . system . cpu _tempc . _text ;
let volumeTotalSize = 0 ;
let volumeFreeSize = 0 ;
let validVolume = true ;
const volumeTotalSize = statusData . volume . volumeUse . total _size . _cdata ;
const volumeFreeSize = statusData . volume . volumeUse . free _size . _cdata ;
if ( Array . isArray ( statusData . volume . volumeUseList . volumeUse ) ) {
if ( widget . volume ) {
const volumeSelected = statusData . volume . volumeList . volume . findIndex ( vl => vl . volumeLabel . _cdata === widget . volume ) ;
if ( volumeSelected !== - 1 ) {
volumeTotalSize = statusData . volume . volumeUseList . volumeUse [ volumeSelected ] . total _size . _cdata ;
volumeFreeSize = statusData . volume . volumeUseList . volumeUse [ volumeSelected ] . free _size . _cdata ;
} else {
validVolume = false ;
}
} else {
statusData . volume . volumeUseList . volumeUse . forEach ( ( volume ) => {
volumeTotalSize += parseInt ( volume . total _size . _cdata , 10 ) ;
volumeFreeSize += parseInt ( volume . free _size . _cdata , 10 ) ;
} ) ;
}
} else {
volumeTotalSize = statusData . volume . volumeUseList . volumeUse . total _size . _cdata ;
volumeFreeSize = statusData . volume . volumeUseList . volumeUse . free _size . _cdata ;
}
return (
< Container service = { service } >
@ -51,8 +71,8 @@ export default function Component({ service }) {
value = { t ( "common.number" , { value : systemTempC , maximumFractionDigits : 1 , style : "unit" , unit : "celsius" } ) }
/ >
< Block
label = "qnap.poolUsage"
value = { t ( "common.percent" , { value : ( ( ( volumeTotalSize - volumeFreeSize ) / volumeTotalSize ) * 100 ) . toFixed ( 0 ) } ) }
label = { ( widget . volume ) ? "qnap.volumeUsage" : "qnap.poolUsage" }
value = { ( validVolume ) ? t ( "common.percent" , { value : ( ( ( volumeTotalSize - volumeFreeSize ) / volumeTotalSize ) * 100 ) . toFixed ( 0 ) } ) : t ( "qnap.invalid" ) }
/ >
< / Container >
) ;