3.0.1.5 Refresh Transaction. Assets tidy.

This commit is contained in:
Andy Howard
2025-03-03 18:21:03 +00:00
parent b9701aff88
commit 047f9db390
18 changed files with 197 additions and 137 deletions
@@ -11,21 +11,12 @@
//--------------------------------------------------------------
ac.refreshConfig = function (env, delay)
{
env.ajax.refreshConfig = env.ajax.refreshConfig || { url: sbm.url.base + 'Assets/AssetCategory/Ajax/Config', formSel: env.$frm.filter, callbackFn: function (response) { ac.doRefreshConfig(env, response); } };
sbm.doAjaxRequest(env.ajax.refreshConfig, delay || 50);
sbm.doAjaxRequest(env.ajax.refreshConfig = env.ajax.refreshConfig || { url: sbm.url.base + 'Assets/AssetCategory/Ajax/Config', formSel: env.$frm.filter, callbackFn: function (response) { ac.doRefreshConfig(env, response); } }, delay || 50);
}
ac.doRefreshConfig = function (env, response)
{
//sbm.debug('doRefreshConfig', env, response);
if (!response.success) return;
// Config.
env.mode = response.mode;
env.config = response.config;
env.configItemNew = response.configItemNew;
env.data.assetTypes = response.assetTypes;
env.data.statuses = response.statuses;
env.data.statusesCreate = response.statusesCreate;
env.data.statusCodeDefault = response.statusCodeDefault;
Object.assign(env.data, response.data);
}
//--------------------------------------------------------------
@@ -37,8 +28,7 @@
env.$pnl.table.find('tbody tr').remove();
env.$pnl.msgs.hide().empty().append($('<div class="sbm-message">' + sbm.msg.dataQuerying + '</div>')).fadeIn(200);
}
env.ajax.assetCategories = env.ajax.assetCategories || { url: sbm.url.base + 'Assets/AssetCategory/Ajax/GetAssetCategories', formSel: env.$frm.filter, callbackFn: function (response) { ac.doRefreshResults(env, response); } };
sbm.doAjaxRequest(env.ajax.assetCategories, delay || 50);
sbm.doAjaxRequest(env.ajax.assetCategories = env.ajax.assetCategories || { url: sbm.url.base + 'Assets/AssetCategory/Ajax/GetAssetCategories', formSel: env.$frm.filter, callbackFn: function (response) { ac.doRefreshResults(env, response); } }, delay || 50);
env.data.awaitingRefreshResponse = true;
}
ac.doRefreshResults = function (env, response)
@@ -50,6 +40,7 @@
sbm.refreshPaging(response, env.$frm.filter, function () { ac.refreshResults(env); });
if (!response.success) return;
ac.doRefreshConfig(env, response);
env.mode = response.mode;
// Menu.
if (env.$pnl.bgr.length)
@@ -57,7 +48,7 @@
env.$pnl.bgr.invisible();
env.$pnl.mnu.empty();
env.$pnl.mnu.append(ac.getFilterMenuOption(env, sbm.lbl.refresh, function () { ac.refreshResults(env); }, 'sbm-refresh'));
env.$pnl.mnu.append(ac.getFilterMenuOption(env, sbm.lbl.create, function () { ac.createItem(env, env.configItemNew); }, 'sbm-add'));
env.$pnl.mnu.append(ac.getFilterMenuOption(env, sbm.lbl.create, function () { ac.createItem(env, env.data.cfgItemNew); }, 'sbm-add'));
env.$pnl.bgr.toggleVisibility(!!$('.sbm-dropdown-item', env.$pnl.mnu).length);
}
@@ -67,13 +58,14 @@
return env.$pnl.msgs.append($('<div class="sbm-message">' + sbm.msg.dataNoneFound + '</div>')).fadeIn(500);
for (const item of items)
$table.append(env, ac.populateItem(env, ac.getItemTemplate(env), item));
sbm.configureItemTable(env.data.cfgList, $table);
}
ac.populateItem = function (env, $item, item)
{
//sbm.debug('populateItem', env, $item, item)
if (!item) return $item;
$item.prop('id', ac.getItemId(item));
let cfg = env.config;
let cfg = env.data.cfgList;
if (cfg) sbm.populateItemValues(cfg, $item, item.field.value);
let prefix = cfg.column.prefix;
$('.' + prefix + 'Status', $item).text(item.statusDesc).removeStatusClasses().addClass('sbm-status-' + item.statusCode.toLowerCase());
@@ -164,7 +156,7 @@
ac.updateItem = function (env, id)
{
let $frm = env.$frm.itemId;
$('.AssetCategoryId', $frm).val(id);
$('.AssetCatId', $frm).val(id);
env.ajax.updateItem = env.ajax.updateItem || { url: sbm.url.base + 'Assets/AssetCategory/Ajax/GetItem', formSel: $frm, callbackFn: function (response) { ac.onUpdateItem(env, response); } };
sbm.doAjaxRequest(env.ajax.updateItem, 50);
}
@@ -178,10 +170,8 @@
let $frm = env.$frm.item;
sbm.populateFormValues(cfg, $frm, item.field.value);
let $ctrls = $('.sbm-input,.sbm-textarea,.sbm-select', $frm);
$ctrls.filter('.AssetCategoryId').val(item.id);
$ctrls.filter('.AssetCategoryExists').val(1);
sbm.selectOrAdd($ctrls.filter('.AssetCategoryType'), item.typeCode, item.typeDesc);
sbm.selectOrAdd($ctrls.filter('.AssetCategoryStatus'), item.statusCode, item.field.value.Status);
sbm.selectOrAdd($ctrls.filter('.AssetCatType'), item.typeCode, item.typeDesc);
sbm.selectOrAdd($ctrls.filter('.AssetCatStatus'), item.statusCode, item.field.value.Status);
ac.openItemDlg(env, cfg, sbm.dlg.title.updateItem);
}
@@ -276,7 +266,7 @@
env.$pnl.tmpls = $items.find('.sbm-panel-item-template');
env.$frm.filter = $items.find('.frmAssetCategoryFilter');
env.$frm.filter.on('input', '.FilterSearch', function () { ac.refreshResults(env,250); });
env.$frm.filter.on('input', '.FilterSearch', function () { ac.refreshResults(env, 250); });
env.$frm.filter.on('change', '.FilterAssetType', function () { ac.refreshResults(env, 50); });
env.$frm.itemId = $('#frmAssetCategoryId');