|
@@ -118,20 +118,20 @@ $copyTriggerAdded = [];
|
|
|
<input type="text" readonly bmi
|
|
|
class="form-control form-control-sm vitals-title border-bottom-0 border-top-0 border-left-0 border-right width-70px"
|
|
|
data-name="bmi" value="{{$contentData['bmi']}}">
|
|
|
- <div class="flex-grow-1 py-1 m-0 px-2 font-weight-bold bg-light">
|
|
|
+ <div class="flex-grow-1 py-1 m-0 px-2 font-weight-bold bg-light" bmi-category>
|
|
|
@if(isset($contentData['bmi']) && $contentData['bmi'] != "" )
|
|
|
<?php $bmi = $contentData['bmi']; ?>
|
|
|
@if($bmi < 18.5)
|
|
|
- <span class="text-sm text-warning-mellow" v-if="+bmi < 18.5">Underweight</span>
|
|
|
+ <span class="text-sm text-warning-mellow">Underweight</span>
|
|
|
@endif
|
|
|
@if($bmi >= 18.5 && $bmi < 25)
|
|
|
- <span class="text-sm text-success" v-if="+bmi >= 18.5 && +bmi < 25">Healthy Weight</span>
|
|
|
+ <span class="text-sm text-success">Healthy Weight</span>
|
|
|
@endif
|
|
|
@if($bmi >= 25 && $bmi > 30)
|
|
|
- <span class="text-sm text-warning-mellow" v-if="+bmi >= 25 && +bmi < 30">Overweight</span>
|
|
|
+ <span class="text-sm text-warning-mellow">Overweight</span>
|
|
|
@endif
|
|
|
@if($bmi >= 30)
|
|
|
- <span class="text-sm text-warning-mellow" v-if="+bmi >= 30">Obese</span>
|
|
|
+ <span class="text-sm text-warning-mellow">Obese</span>
|
|
|
@endif
|
|
|
@endif
|
|
|
</div>
|
|
@@ -187,11 +187,32 @@ $copyTriggerAdded = [];
|
|
|
@else
|
|
|
@foreach($previousData as $pDay)
|
|
|
<td class="bg-light {{!isset($copyTriggerAdded[$k]) ? 'px-2' : 'px-2'}} py-1 text-secondary position-relative">
|
|
|
+ <span data-type="{{$k}}">
|
|
|
@if($k === 'systolicBP')
|
|
|
{{ @$previousDataAssoc[$pDay['date']]['systolicBP'] ?: '-' }}/{{ @$previousDataAssoc[$pDay['date']]['diastolicBP'] ?: '-' }}
|
|
|
+ @elseif($k === 'heightInInches')
|
|
|
+ {{$previousDataAssoc[$pDay['date']][$k] ? toFeetAndInches($previousDataAssoc[$pDay['date']][$k]) : '-' }}
|
|
|
+ @elseif($k === 'bmi')
|
|
|
+ {{$previousDataAssoc[$pDay['date']][$k] ?: '-' }}
|
|
|
+ <?php
|
|
|
+ $prevBMI = $previousDataAssoc[$pDay['date']][$k] ? +($previousDataAssoc[$pDay['date']][$k]) : false;
|
|
|
+ ?>
|
|
|
+ @if($prevBMI < 18.5)
|
|
|
+ <span class="text-sm text-warning-mellow ml-1">Underweight</span>
|
|
|
+ @endif
|
|
|
+ @if($prevBMI >= 18.5 && $prevBMI < 25)
|
|
|
+ <span class="text-sm text-success ml-1">Healthy Weight</span>
|
|
|
+ @endif
|
|
|
+ @if($prevBMI >= 25 && $prevBMI > 30)
|
|
|
+ <span class="text-sm text-warning-mellow ml-1">Overweight</span>
|
|
|
+ @endif
|
|
|
+ @if($prevBMI >= 30)
|
|
|
+ <span class="text-sm text-warning-mellow ml-1">Obese</span>
|
|
|
+ @endif
|
|
|
@else
|
|
|
{{$previousDataAssoc[$pDay['date']][$k] ?: '-' }}
|
|
|
@endif
|
|
|
+ </span>
|
|
|
@if(!isset($copyTriggerAdded[$k]) && $k !== "bmi")
|
|
|
<a href="#" title="Copy to this note" class="vitals-copy-trigger"><i class="fa fa-chevron-circle-left font-size-14"></i></a>
|
|
|
@endif
|
|
@@ -220,14 +241,31 @@ $copyTriggerAdded = [];
|
|
|
window.segmentInitializers.<?= $segment->segmentTemplate->internal_name ?> = function () {
|
|
|
let parentSegment = $('[data-segment-template-name="<?= $segment->segmentTemplate->internal_name ?>"] ');
|
|
|
|
|
|
- parentSegment.find('[refresh-bmi]').off('change input');
|
|
|
- parentSegment.find('[refresh-bmi]').on('change input', function () {
|
|
|
- var height = parseInt(parentSegment.find('[heightInInches]').val());
|
|
|
- var weight = parseInt(parentSegment.find('[weightPounds]').val());
|
|
|
- var bmi = Math.round((weight / (height * height)) * 703.06957964)
|
|
|
+ function __refreshBMI() {
|
|
|
+ var height = parseInt(parentSegment.find('[data-name="heightInInches"]').val());
|
|
|
+ var weight = parseInt(parentSegment.find('[data-name="weightPounds"]').val());
|
|
|
+ var bmi = '', bmiCategory = '';
|
|
|
+ if(!isNaN(height) && !isNaN(weight)) {
|
|
|
+ bmi = Math.round((weight / (height * height)) * 703.06957964);
|
|
|
+ if(bmi < 18.5) {
|
|
|
+ bmiCategory = '<span class="text-sm text-warning-mellow">Underweight</span>';
|
|
|
+ }
|
|
|
+ else if(bmi >= 18.5 && bmi < 25) {
|
|
|
+ bmiCategory = '<span class="text-sm text-success">Healthy Weight</span>';
|
|
|
+ }
|
|
|
+ else if(bmi >= 25 && bmi > 30) {
|
|
|
+ bmiCategory = '<span class="text-sm text-warning-mellow">Overweight</span>';
|
|
|
+ }
|
|
|
+ else if(bmi >= 30) {
|
|
|
+ bmiCategory = '<span class="text-sm text-warning-mellow">Obese</span>';
|
|
|
+ }
|
|
|
+ }
|
|
|
parentSegment.find('[bmi]').val(bmi);
|
|
|
- parentSegment.find('[bmi-date]').val(parentSegment.find('[weight-date]').val());
|
|
|
- });
|
|
|
+ parentSegment.find('[bmi-category]').empty().append(bmiCategory);
|
|
|
+ }
|
|
|
+
|
|
|
+ parentSegment.find('[refresh-bmi]').off('change input');
|
|
|
+ parentSegment.find('[refresh-bmi]').on('change input', __refreshBMI);
|
|
|
|
|
|
parentSegment.find('[heightFeetInput], [heightInchesInput]').off('change input paste');
|
|
|
parentSegment.find('[heightFeetInput], [heightInchesInput]').on('change input paste', function () {
|
|
@@ -236,23 +274,47 @@ $copyTriggerAdded = [];
|
|
|
inc = +(parentSegment.find('[heightInchesInput]').val());
|
|
|
inches = Math.round(ft * 12 + inc);
|
|
|
parentSegment.find('[data-name="heightInInches"]').val(inches);
|
|
|
+ __refreshBMI();
|
|
|
});
|
|
|
|
|
|
parentSegment.find('.vitals-copy-trigger').off('click.copy-vital');
|
|
|
parentSegment.find('.vitals-copy-trigger').on('click.copy-vital', function () {
|
|
|
let td = $(this).closest('td'), value = $.trim(td.text());
|
|
|
- if(value.indexOf('/') === -1) {
|
|
|
- td.prev().find('input').val(value).trigger('change');
|
|
|
- }
|
|
|
- else {
|
|
|
- let parts = value.split('/');
|
|
|
- if(parts.length >= 1 && parts[0] !== '-') {
|
|
|
- td.prev().find('input:eq(0)').val(parts[0]).trigger('change');
|
|
|
- }
|
|
|
- if(parts.length >= 2 && parts[1] !== '-') {
|
|
|
- td.prev().find('input:eq(1)').val(parts[1]).trigger('change');
|
|
|
- }
|
|
|
+ let type = td.find('>span').first().attr('data-type');
|
|
|
+ if(!type) return false;
|
|
|
+ switch (type) {
|
|
|
+ case 'heightInInches':
|
|
|
+ if(value.indexOf('ft.') !== -1 && value.indexOf('in.') !== -1) {
|
|
|
+ value = value.replace('in.', '');
|
|
|
+ value = value.replace('ft.', '|');
|
|
|
+ value = value.replace('/\s/gi', '');
|
|
|
+ let parts = value.split('|');
|
|
|
+ if (parts.length >= 1 && parts[0] !== '-') {
|
|
|
+ td.prev().find('input:eq(0)').val(parts[0]).trigger('change');
|
|
|
+ }
|
|
|
+ if (parts.length >= 2 && parts[1] !== '-') {
|
|
|
+ td.prev().find('input:eq(1)').val(parts[1]).trigger('change');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 'systolicBP':
|
|
|
+ if(value.indexOf('/') !== -1) {
|
|
|
+ let parts = value.split('/');
|
|
|
+ if (parts.length >= 1 && parts[0] !== '-') {
|
|
|
+ td.prev().find('input:eq(0)').val(parts[0]).trigger('change');
|
|
|
+ }
|
|
|
+ if (parts.length >= 2 && parts[1] !== '-') {
|
|
|
+ td.prev().find('input:eq(1)').val(parts[1]).trigger('change');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ if(value && value !== '-') {
|
|
|
+ td.prev().find('input').val(value).trigger('change');
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
+
|
|
|
return false;
|
|
|
});
|
|
|
|