chore: sync module from working instance and add install guide
This commit is contained in:
@@ -17,6 +17,7 @@ use yii\helpers\Json;
|
||||
/* @var bool $isInline */
|
||||
|
||||
$isInline = isset($isInline) ? (bool)$isInline : false;
|
||||
$showTopCancel = (string)Yii::$app->request->get('showTopCancel', '0') === '1';
|
||||
|
||||
$hiddenMedicalKeys = [
|
||||
'second_physician_name',
|
||||
@@ -135,6 +136,15 @@ $medicalMediaPath = trim((string)($model->customFields['medical_media_reference'
|
||||
$hasMedicalMedia = $medicalMediaPath !== '' && (preg_match('/^https?:\/\//i', $medicalMediaPath) || substr($medicalMediaPath, 0, 1) === '/');
|
||||
$medicalGalleryModalId = 'add-medical-media-gallery-modal';
|
||||
$medicalFormId = 'add-medical-visit-inline-form';
|
||||
$visitAtInputValue = trim((string)$model->visit_at);
|
||||
if ($visitAtInputValue === '') {
|
||||
$visitAtInputValue = date('Y-m-d\TH:i');
|
||||
} else {
|
||||
$visitAtTimestamp = strtotime($visitAtInputValue);
|
||||
if ($visitAtTimestamp !== false) {
|
||||
$visitAtInputValue = date('Y-m-d\TH:i', $visitAtTimestamp);
|
||||
}
|
||||
}
|
||||
|
||||
$this->registerCss(<<<CSS
|
||||
.inline-add-shell.panel {
|
||||
@@ -172,6 +182,18 @@ $medicalFormId = 'add-medical-visit-inline-form';
|
||||
border-color: rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
|
||||
.inline-add-shell .panel.panel-default > .panel-heading a {
|
||||
color: inherit;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.inline-add-shell .panel.panel-default > .panel-heading a:hover,
|
||||
.inline-add-shell .panel.panel-default > .panel-heading a:focus {
|
||||
color: #ffffff;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.inline-add-shell,
|
||||
.inline-add-shell .panel-body,
|
||||
.inline-add-shell .control-label,
|
||||
@@ -204,6 +226,31 @@ $medicalFormId = 'add-medical-visit-inline-form';
|
||||
.inline-add-shell select.form-control option {
|
||||
color: #0f1b2a;
|
||||
}
|
||||
|
||||
.inline-add-shell .animal-inline-top-save-action {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
padding: 0;
|
||||
border-radius: 999px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.36);
|
||||
background: rgba(15, 23, 42, 0.72);
|
||||
color: #f8fafc;
|
||||
cursor: pointer;
|
||||
line-height: 1;
|
||||
font-size: 12px;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
|
||||
}
|
||||
|
||||
.inline-add-shell .animal-inline-top-save-action:hover,
|
||||
.inline-add-shell .animal-inline-top-save-action:focus {
|
||||
background: rgba(30, 41, 59, 0.86);
|
||||
border-color: rgba(255, 255, 255, 0.5);
|
||||
color: #f8fafc;
|
||||
outline: none;
|
||||
}
|
||||
CSS
|
||||
);
|
||||
|
||||
@@ -213,6 +260,13 @@ html, body {
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
background: transparent !important;
|
||||
scrollbar-width: none;
|
||||
-ms-overflow-style: none;
|
||||
}
|
||||
|
||||
html::-webkit-scrollbar, body::-webkit-scrollbar {
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
body > .panel:first-child {
|
||||
@@ -243,18 +297,20 @@ CSS
|
||||
<?= Html::hiddenInput('medicalMediaGalleryPath', $medicalMediaPath, ['id' => 'medical-media-gallery-path']) ?>
|
||||
|
||||
<?php if ($isInline): ?>
|
||||
<div style="display:flex;justify-content:flex-end;gap:8px;margin-bottom:10px;">
|
||||
<div class="animal-inline-top-actions" style="display:flex;justify-content:flex-end;gap:8px;margin:0 38px 10px 0;">
|
||||
<?= Html::submitButton('<i class="fa fa-check"></i>', [
|
||||
'class' => 'btn btn-default btn-sm',
|
||||
'class' => 'animal-inline-top-save-action',
|
||||
'title' => Yii::t('AnimalManagementModule.base', 'Save Medical Visit'),
|
||||
'form' => $medicalFormId,
|
||||
]) ?>
|
||||
<?= Html::button('<i class="fa fa-times"></i>', [
|
||||
'type' => 'button',
|
||||
'class' => 'btn btn-default btn-sm',
|
||||
'id' => 'medical-inline-add-cancel-icon',
|
||||
'title' => Yii::t('AnimalManagementModule.base', 'Cancel'),
|
||||
]) ?>
|
||||
<?php if ($showTopCancel): ?>
|
||||
<?= Html::button('<i class="fa fa-times"></i>', [
|
||||
'id' => 'medical-inline-add-cancel-icon',
|
||||
'class' => 'animal-inline-top-save-action',
|
||||
'title' => Yii::t('AnimalManagementModule.base', 'Cancel'),
|
||||
'type' => 'button',
|
||||
]) ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
@@ -289,48 +345,77 @@ CSS
|
||||
</div>
|
||||
|
||||
<div class="panel panel-default" style="margin-bottom:12px;">
|
||||
<div class="panel-heading"><strong><?= Yii::t('AnimalManagementModule.base', 'Medical Visit') ?></strong></div>
|
||||
<div class="panel-body" style="padding-bottom:8px;">
|
||||
<div class="panel-heading">
|
||||
<a data-toggle="collapse" class="collapsed" href="#medical-inline-section-visit" aria-expanded="false" aria-controls="medical-inline-section-visit">
|
||||
<strong><?= Yii::t('AnimalManagementModule.base', 'Medical Visit') ?></strong>
|
||||
</a>
|
||||
</div>
|
||||
<div id="medical-inline-section-visit" class="panel-collapse collapse" aria-expanded="false">
|
||||
<div class="panel-body" style="padding-bottom:8px;">
|
||||
<div class="row">
|
||||
<div class="col-sm-6"><?= $form->field($model, 'visit_at')->input('datetime-local') ?></div>
|
||||
<div class="col-sm-6"><?= $form->field($model, 'visit_at')->input('datetime-local', ['value' => $visitAtInputValue]) ?></div>
|
||||
<div class="col-sm-6"><?= $form->field($model, 'provider_name') ?></div>
|
||||
</div>
|
||||
<?= $form->field($model, 'notes')->textarea(['rows' => 3]) ?>
|
||||
<?= $form->field($model, 'recommendations')->textarea(['rows' => 3]) ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel panel-default" style="margin-bottom:12px;">
|
||||
<div class="panel-heading"><strong><?= Yii::t('AnimalManagementModule.base', 'Vitals') ?></strong></div>
|
||||
<div class="panel-body" style="padding-bottom:8px;">
|
||||
<div class="panel-heading">
|
||||
<a data-toggle="collapse" class="collapsed" href="#medical-inline-section-vitals" aria-expanded="false" aria-controls="medical-inline-section-vitals">
|
||||
<strong><?= Yii::t('AnimalManagementModule.base', 'Vitals') ?></strong>
|
||||
</a>
|
||||
</div>
|
||||
<div id="medical-inline-section-vitals" class="panel-collapse collapse" aria-expanded="false">
|
||||
<div class="panel-body" style="padding-bottom:8px;">
|
||||
<div class="row">
|
||||
<div class="col-sm-3"><?= $renderCustomField('weight', $model, $customDefinitions) ?></div>
|
||||
<div class="col-sm-3"><?= $renderCustomField('pulse', $model, $customDefinitions) ?></div>
|
||||
<div class="col-sm-3"><?= $renderCustomField('blood_pressure', $model, $customDefinitions) ?></div>
|
||||
<div class="col-sm-3"><?= $renderCustomField('oxygen', $model, $customDefinitions) ?></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel panel-default" style="margin-bottom:12px;">
|
||||
<div class="panel-heading"><strong><?= Yii::t('AnimalManagementModule.base', 'Conditions') ?></strong></div>
|
||||
<div class="panel-body" style="padding-bottom:8px;">
|
||||
<div class="panel-heading">
|
||||
<a data-toggle="collapse" class="collapsed" href="#medical-inline-section-conditions" aria-expanded="false" aria-controls="medical-inline-section-conditions">
|
||||
<strong><?= Yii::t('AnimalManagementModule.base', 'Conditions') ?></strong>
|
||||
</a>
|
||||
</div>
|
||||
<div id="medical-inline-section-conditions" class="panel-collapse collapse" aria-expanded="false">
|
||||
<div class="panel-body" style="padding-bottom:8px;">
|
||||
<?= $renderCustomField('chronic_conditions', $model, $customDefinitions) ?>
|
||||
<?= $renderCustomField('acute_conditions', $model, $customDefinitions) ?>
|
||||
<?= $renderCustomField('special_needs', $model, $customDefinitions) ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel panel-default" style="margin-bottom:12px;">
|
||||
<div class="panel-heading"><strong><?= Yii::t('AnimalManagementModule.base', 'Medical Visit Detail') ?></strong></div>
|
||||
<div class="panel-body" style="padding-bottom:8px;">
|
||||
<div class="panel-heading">
|
||||
<a data-toggle="collapse" class="collapsed" href="#medical-inline-section-detail" aria-expanded="false" aria-controls="medical-inline-section-detail">
|
||||
<strong><?= Yii::t('AnimalManagementModule.base', 'Medical Visit Detail') ?></strong>
|
||||
</a>
|
||||
</div>
|
||||
<div id="medical-inline-section-detail" class="panel-collapse collapse" aria-expanded="false">
|
||||
<div class="panel-body" style="padding-bottom:8px;">
|
||||
<?= $renderCustomField('date_of_most_recent_medical_visit', $model, $customDefinitions) ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel panel-default" style="margin-bottom:12px;">
|
||||
<div class="panel-heading"><strong><?= Yii::t('AnimalManagementModule.base', 'Physician') ?></strong></div>
|
||||
<div class="panel-body" style="padding-bottom:8px;">
|
||||
<div class="panel-heading">
|
||||
<a data-toggle="collapse" class="collapsed" href="#medical-inline-section-physician" aria-expanded="false" aria-controls="medical-inline-section-physician">
|
||||
<strong><?= Yii::t('AnimalManagementModule.base', 'Physician') ?></strong>
|
||||
</a>
|
||||
</div>
|
||||
<div id="medical-inline-section-physician" class="panel-collapse collapse" aria-expanded="false">
|
||||
<div class="panel-body" style="padding-bottom:8px;">
|
||||
<div class="row">
|
||||
<div class="col-sm-6"><?= $renderCustomField('physician_name', $model, $customDefinitions) ?></div>
|
||||
<div class="col-sm-6"><?= $renderCustomField('physician_business_name', $model, $customDefinitions) ?></div>
|
||||
@@ -342,6 +427,7 @@ CSS
|
||||
<div class="col-sm-4"><?= $renderCustomField('physician_business_phone', $model, $customDefinitions) ?></div>
|
||||
<div class="col-sm-4"><?= $renderCustomField('physician_license_number', $model, $customDefinitions) ?></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -355,23 +441,23 @@ CSS
|
||||
|
||||
<?php if (!empty($remainingDefinitions)): ?>
|
||||
<div class="panel panel-default" style="margin-bottom:12px;">
|
||||
<div class="panel-heading"><strong><?= Yii::t('AnimalManagementModule.base', 'Additional Details') ?></strong></div>
|
||||
<div class="panel-body" style="padding-bottom:8px;">
|
||||
<div class="panel-heading">
|
||||
<a data-toggle="collapse" class="collapsed" href="#medical-inline-section-additional" aria-expanded="false" aria-controls="medical-inline-section-additional">
|
||||
<strong><?= Yii::t('AnimalManagementModule.base', 'Additional Details') ?></strong>
|
||||
</a>
|
||||
</div>
|
||||
<div id="medical-inline-section-additional" class="panel-collapse collapse" aria-expanded="false">
|
||||
<div class="panel-body" style="padding-bottom:8px;">
|
||||
<?php foreach ($remainingDefinitions as $fieldKey => $definition): ?>
|
||||
<?= $renderCustomField($fieldKey, $model, $remainingDefinitions) ?>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?= Button::save(Yii::t('AnimalManagementModule.base', 'Save Medical Visit'))->submit() ?>
|
||||
<?php if ($isInline): ?>
|
||||
<?= Html::button(Yii::t('AnimalManagementModule.base', 'Cancel'), [
|
||||
'type' => 'button',
|
||||
'class' => 'btn btn-default',
|
||||
'id' => 'medical-inline-add-cancel',
|
||||
]) ?>
|
||||
<?php else: ?>
|
||||
<?php if (!$isInline): ?>
|
||||
<?= Button::asLink(Yii::t('AnimalManagementModule.base', 'Cancel'))
|
||||
->link(($returnTo ?? 'medical-visits') === 'medical-visits'
|
||||
? $space->createUrl('/animal_management/animals/medical-visits', ['id' => $animal->id])
|
||||
@@ -507,11 +593,32 @@ if ($isInline) {
|
||||
]);
|
||||
|
||||
$this->registerJs(<<<JS
|
||||
$(document).on('click', '#medical-inline-add-cancel, #medical-inline-add-cancel-icon', function() {
|
||||
if (window.parent && window.parent !== window) {
|
||||
window.parent.postMessage($cancelPayload, '*');
|
||||
(function() {
|
||||
function postInlineCancel() {
|
||||
if (window.parent && window.parent !== window) {
|
||||
window.parent.postMessage($cancelPayload, '*');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (window.jQuery) {
|
||||
window.jQuery(document).on('click', '#medical-inline-add-cancel, #medical-inline-add-cancel-icon', function() {
|
||||
postInlineCancel();
|
||||
});
|
||||
}
|
||||
|
||||
document.addEventListener('click', function(event) {
|
||||
var target = event.target;
|
||||
if (!target || !target.closest) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!target.closest('#medical-inline-add-cancel, #medical-inline-add-cancel-icon')) {
|
||||
return;
|
||||
}
|
||||
|
||||
postInlineCancel();
|
||||
}, false);
|
||||
})();
|
||||
JS
|
||||
, \yii\web\View::POS_END);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user