fix(drug-master): keep search shell visible with nested sub panel

This commit is contained in:
DevSoftTech Server 2026-05-26 06:20:56 +05:30
parent fc2ccc91c2
commit 89a4053ede
4 changed files with 48 additions and 5 deletions

View File

@ -5809,7 +5809,7 @@ class Medical extends BaseController
esc((string) ($row['formulation'] ?? '')),
esc((string) ($row['genericname'] ?? '')),
esc((string) ($row['packing'] ?? '')),
'<button onclick="load_form_div(\'' . $editUrl . '\',\'medical-main\',\'Drug Master : Edit :Pharmacy\');" type="button" class="btn btn-warning btn-sm">Edit</button>',
'<button onclick="openDrugMasterSubView(\'' . $editUrl . '\',\'Drug Master : Edit :Pharmacy\');" type="button" class="btn btn-warning btn-sm">Edit</button>',
];
}

View File

@ -11,10 +11,12 @@
<button type="button" id="btnResetSearch" class="btn btn-secondary">Reset</button>
</div>
<div class="col-auto">
<button onclick="load_form_div('<?= base_url('Product_master/Product_edit/0') ?>','medical-main','Drug Master : New Product :Pharmacy');" type="button" class="btn btn-warning">Add New Product</button>
<button onclick="openDrugMasterSubView('<?= base_url('Product_master/Product_edit/0') ?>','Drug Master : New Product :Pharmacy');" type="button" class="btn btn-warning">Add New Product</button>
</div>
</form>
<div id="sub-main-pharmacy" class="mb-3" style="display:none;"></div>
<div id="searchresult" class="table-responsive">
<table id="product_report_list" class="table table-bordered table-striped table-sm align-middle" style="width:100%;">
<thead>
@ -95,6 +97,29 @@
$('#product_report_list_filter input[type="search"]').attr('placeholder', 'Quick filter table...');
})();
// Keep add/edit forms inside the Drug Master shell so the search form stays visible.
window.openDrugMasterSubView = function (url, title) {
var $sub = $('#sub-main-pharmacy');
if ($sub.length) {
$sub.show();
load_form_div(url, 'sub-main-pharmacy', title || 'Drug Master :Pharmacy');
return;
}
load_form_div(url, 'medical-main', title || 'Drug Master :Pharmacy');
};
window.closeDrugMasterSubView = function () {
var $sub = $('#sub-main-pharmacy');
if ($sub.length) {
$sub.hide().empty();
if (window.reloadDrugMasterList) {
window.reloadDrugMasterList();
}
return;
}
load_form_div('<?= base_url('product_master/drug_master_list') ?>', 'medical-main', 'Drug Master :Pharmacy');
};
// Refresh list after returning from add/edit forms.
window.reloadDrugMasterList = function () {
if (window.jQuery && $.fn && $.fn.DataTable && $.fn.DataTable.isDataTable('#product_report_list')) {

View File

@ -165,13 +165,31 @@ $flag = static function ($v): string {
<div class="col-12">
<button type="button" class="btn btn-primary" id="btn_update_stock">Update Product in Master</button>
<button type="button" class="btn btn-secondary" onclick="load_form_div('<?= base_url('product_master/drug_master_list') ?>','medical-main','Drug Master :Pharmacy');">Back</button>
<button type="button" class="btn btn-secondary" onclick="closeDrugMasterSubView();">Back</button>
</div>
</form>
</div>
</div>
<script>
window.openDrugMasterSubView = window.openDrugMasterSubView || function (url, title) {
var target = document.getElementById('sub-main-pharmacy') ? 'sub-main-pharmacy' : 'medical-main';
load_form_div(url, target, title || 'Drug Master :Pharmacy');
};
window.closeDrugMasterSubView = window.closeDrugMasterSubView || function () {
var sub = document.getElementById('sub-main-pharmacy');
if (sub) {
sub.innerHTML = '';
sub.style.display = 'none';
if (typeof window.reloadDrugMasterList === 'function') {
window.reloadDrugMasterList();
}
return;
}
load_form_div('<?= base_url('product_master/drug_master_list') ?>', 'medical-main', 'Drug Master :Pharmacy');
};
(function () {
var suggestTimer = null;
var lastQuery = '';
@ -1150,7 +1168,7 @@ $flag = static function ($v): string {
}
showMsg(data.show_text || '');
if ((data.is_update_stock || 0) > 0) {
load_form_div('<?= base_url('Product_master/Product_edit') ?>/' + data.is_update_stock, 'medical-main', 'Drug Master : Edit :Pharmacy');
openDrugMasterSubView('<?= base_url('Product_master/Product_edit') ?>/' + data.is_update_stock, 'Drug Master : Edit :Pharmacy');
}
}, 'json').fail(function () {
showMsg('<div class="alert alert-danger mb-0">Unable to update product.</div>');

View File

@ -19,7 +19,7 @@
<td><?= esc($row->genericname ?? '') ?></td>
<td><?= esc($row->packing ?? '') ?></td>
<td>
<button onclick="load_form_div('<?= base_url('Product_master/Product_edit/' . (int) ($row->id ?? 0)) ?>','medical-main','Drug Master : Edit :Pharmacy');" type="button" class="btn btn-warning btn-sm">Edit</button>
<button onclick="openDrugMasterSubView('<?= base_url('Product_master/Product_edit/' . (int) ($row->id ?? 0)) ?>','Drug Master : Edit :Pharmacy');" type="button" class="btn btn-warning btn-sm">Edit</button>
</td>
</tr>
<?php endforeach; ?>