1.2.11.11 Golf Markers, Logs
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
(function (win, doc, undef)
|
||||
{
|
||||
"use strict";
|
||||
let rg = sax.refGolf = sax.refGolf || { data: {}, fn: {}, $pnl: {}, $frm: {}, $dlg: {} };
|
||||
let rg = sax.refGolf = sax.refGolf || { ajax: {}, data: {}, fn: {}, $pnl: {}, $frm: {}, $dlg: {} };
|
||||
rg.attr_id = 'sax-id';
|
||||
rg.class_sel = 'sax-sel';
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
/* Reference - Golf - Stats. */
|
||||
rg.fn.refreshStats = function (delay)
|
||||
{
|
||||
rg.ajaxGolfStats = rg.ajaxGolfStats || { url: sax.url.base + 'Reference/Golf/Ajax/GetStats', formId: rg.$frm.filter.prop('id'), callbackFn: rg.fn.doRefreshStats };
|
||||
sax.doAjaxRequest(rg.ajaxGolfStats, delay || 50);
|
||||
rg.ajax.golfStats = rg.ajax.golfStats || { url: sax.url.base + 'Reference/Golf/Ajax/GetStats', formId: rg.$frm.filter.prop('id'), callbackFn: rg.fn.doRefreshStats };
|
||||
sax.doAjaxRequest(rg.ajax.golfStats, delay || 50);
|
||||
}
|
||||
rg.fn.doRefreshStats = function (response)
|
||||
{
|
||||
@@ -64,8 +64,8 @@
|
||||
rg.fn.refreshCountries = function (delay)
|
||||
{
|
||||
rg.fn.clearCountries();
|
||||
rg.ajaxGolfCountries = rg.ajaxGolfCountries || { url: sax.url.base + 'Reference/Golf/Ajax/GetCountries', formId: rg.$frm.countries.prop('id'), callbackFn: rg.fn.doRefreshCountries };
|
||||
sax.doAjaxRequest(rg.ajaxGolfCountries, delay || 50);
|
||||
rg.ajax.golfCountries = rg.ajax.golfCountries || { url: sax.url.base + 'Reference/Golf/Ajax/GetCountries', formId: rg.$frm.countries.prop('id'), callbackFn: rg.fn.doRefreshCountries };
|
||||
sax.doAjaxRequest(rg.ajax.golfCountries, delay || 50);
|
||||
}
|
||||
rg.fn.doRefreshCountries = function (response)
|
||||
{
|
||||
@@ -97,14 +97,14 @@
|
||||
}
|
||||
rg.fn.getCountryTemplate = function ()
|
||||
{
|
||||
return $('table.sax-panel-item-template tr.GolfCountry', rg.$pnl.countries).clone();
|
||||
return $('.sax-panel-item-template tr.GolfCountry', rg.$pnl.countries).clone();
|
||||
}
|
||||
rg.fn.selectCountry = function ($item, item)
|
||||
{
|
||||
//sax.debug('selectCountry', $item, item)
|
||||
$('table.sax-item-list tbody tr', rg.$pnl.countries).removeClass(rg.class_sel);
|
||||
$item.addClass(rg.class_sel);
|
||||
setTimeout(rg.fn.refreshProvinces(500), 100);
|
||||
setTimeout(function () { rg.fn.refreshProvinces(250); }, 50);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
@@ -126,8 +126,8 @@
|
||||
return;
|
||||
}
|
||||
$('.FilterCountryId', rg.$frm.provinces).val(countryId);
|
||||
rg.ajaxGolfProvinces = rg.ajaxGolfProvinces || { url: sax.url.base + 'Reference/Golf/Ajax/GetProvinces', formId: rg.$frm.provinces.prop('id'), callbackFn: rg.fn.doRefreshProvinces };
|
||||
sax.doAjaxRequest(rg.ajaxGolfProvinces, delay || 50);
|
||||
rg.ajax.golfProvinces = rg.ajax.golfProvinces || { url: sax.url.base + 'Reference/Golf/Ajax/GetProvinces', formId: rg.$frm.provinces.prop('id'), callbackFn: rg.fn.doRefreshProvinces };
|
||||
sax.doAjaxRequest(rg.ajax.golfProvinces, delay || 50);
|
||||
}
|
||||
rg.fn.doRefreshProvinces = function (response)
|
||||
{
|
||||
@@ -137,7 +137,13 @@
|
||||
let $list = rg.$pnl.provincesList;
|
||||
$('tbody tr', $list).remove()
|
||||
for (let provinceIdx = 0; provinceIdx < (response.provinces || []).length; provinceIdx++)
|
||||
$list.append(rg.fn.populateProvince(rg.fn.getProvinceTemplate(), response.provinces[provinceIdx]));
|
||||
{
|
||||
let $item = rg.fn.getProvinceTemplate();
|
||||
let item = response.provinces[provinceIdx];
|
||||
$list.append(rg.fn.populateProvince($item, item));
|
||||
if (provinceIdx == 0 && response.provinces.length == 1)
|
||||
rg.fn.selectProvince($item, item);
|
||||
}
|
||||
}
|
||||
rg.fn.populateProvince = function ($item, item)
|
||||
{
|
||||
@@ -153,14 +159,14 @@
|
||||
}
|
||||
rg.fn.getProvinceTemplate = function ()
|
||||
{
|
||||
return $('table.sax-panel-item-template tr.GolfProvince', rg.$pnl.provinces).clone();
|
||||
return $('.sax-panel-item-template tr.GolfProvince', rg.$pnl.provinces).clone();
|
||||
}
|
||||
rg.fn.selectProvince = function ($item, item)
|
||||
{
|
||||
//sax.debug('selectProvince', $item, item)
|
||||
$('table.sax-item-list tbody tr', rg.$pnl.provinces).removeClass(rg.class_sel);
|
||||
$item.addClass(rg.class_sel);
|
||||
setTimeout(rg.fn.refreshCourses(500), 100);
|
||||
setTimeout(function () { rg.fn.refreshCourses(250); }, 50);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
@@ -180,8 +186,8 @@
|
||||
return;
|
||||
}
|
||||
$('.FilterProvinceId', rg.$frm.courses).val(provinceId);
|
||||
rg.ajaxGolfCourses = rg.ajaxGolfCourses || { url: sax.url.base + 'Reference/Golf/Ajax/GetCourses', formId: rg.$frm.courses.prop('id'), callbackFn: rg.fn.doRefreshCourses };
|
||||
sax.doAjaxRequest(rg.ajaxGolfCourses, delay || 50);
|
||||
rg.ajax.golfCourses = rg.ajax.golfCourses || { url: sax.url.base + 'Reference/Golf/Ajax/GetCourses', formId: rg.$frm.courses.prop('id'), callbackFn: rg.fn.doRefreshCourses };
|
||||
sax.doAjaxRequest(rg.ajax.golfCourses, delay || 50);
|
||||
}
|
||||
rg.fn.doRefreshCourses = function (response)
|
||||
{
|
||||
@@ -191,14 +197,20 @@
|
||||
let $list = rg.$pnl.coursesList;
|
||||
$('tbody tr', $list).remove()
|
||||
for (let courseIdx = 0; courseIdx < (response.courses || []).length; courseIdx++)
|
||||
$list.append(rg.fn.populateCourse(rg.fn.getCourseTemplate(), response.courses[courseIdx]));
|
||||
{
|
||||
let $item = rg.fn.getCourseTemplate();
|
||||
let item = response.courses[courseIdx];
|
||||
$list.append(rg.fn.populateCourse($item, item));
|
||||
if (courseIdx == 0 && response.courses.length == 1)
|
||||
rg.fn.selectCourse($item, item);
|
||||
}
|
||||
}
|
||||
rg.fn.populateCourse = function ($item, item)
|
||||
{
|
||||
$item.attr(rg.attr_id, item.id).on('click', function () { rg.fn.selectCourse($item, item); })
|
||||
$('.CourseId', $item).text(item.usgaCourseId);
|
||||
$('.CourseCaption', $item).text(item.caption);
|
||||
$('.CourseLocation', $item).text(item.city||item.address2||item.address1);
|
||||
$('.CourseLocation', $item).text(item.city || item.address2 || item.address1);
|
||||
if (item.markerCountActive) $('.CourseMarkers', $item).text(item.markerCountActive);
|
||||
if (item.priorityPopulate) $('.CoursePriority', $item).append(rg.fn.getTickIcon());
|
||||
$('.CourseStatus', $item).append(rg.fn.getStatusIcon(item.statusCode.toLowerCase()));
|
||||
@@ -206,18 +218,101 @@
|
||||
}
|
||||
rg.fn.getCourseTemplate = function ()
|
||||
{
|
||||
return $('table.sax-panel-item-template tr.GolfCourse', rg.$pnl.courses).clone();
|
||||
return $('.sax-panel-item-template tr.GolfCourse', rg.$pnl.courses).clone();
|
||||
}
|
||||
rg.fn.selectCourse = function ($item, item)
|
||||
{
|
||||
//sax.debug('selectCourse', $item, item)
|
||||
$('table.sax-item-list tbody tr', rg.$pnl.courses).removeClass(rg.class_sel);
|
||||
$item.addClass(rg.class_sel);
|
||||
//setTimeout(rg.fn.refreshMarkers(500), 100);
|
||||
setTimeout(function () { rg.fn.refreshMarkers(250); }, 50);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
// Courses burger.
|
||||
rg.fn.configureCoursesBurger = function ()
|
||||
{
|
||||
var $bgr = $('.sax-burger', rg.$pnl.courses).hide();
|
||||
var $mnu = $('ul.sax-dropdown-menu', $bgr).empty();
|
||||
$mnu.append(rg.fn.getCoursesMenuOption('Cleanse captions', function () { rg.fn.cleanseCourseCaptions(); }, 'sax-process'));
|
||||
$bgr.toggle(!!$('.sax-dropdown-item', $mnu).length);
|
||||
}
|
||||
rg.fn.getCoursesDropdownTemplate = function ()
|
||||
{
|
||||
return $('.sax-panel-item-template .sax-dropdown-menu.Courses li.sax-dropdown-item', rg.$pnl.courses).clone();
|
||||
}
|
||||
rg.fn.getCoursesMenuOption = function (lbl, fn, cls)
|
||||
{
|
||||
return rg.fn.getMenuOption(rg.fn.getCoursesDropdownTemplate(), lbl, fn, cls);
|
||||
}
|
||||
rg.fn.cleanseCourseCaptions = function ()
|
||||
{
|
||||
rg.ajax.cleanseCourseCaptions = rg.ajax.cleanseCourseCaptions || { url: sax.url.base + 'Reference/Golf/Ajax/CleanseUsgaCourseCaptions', formId: rg.$frm.courses.prop('id') };
|
||||
sax.doAjaxRequest(rg.ajax.cleanseCourseCaptions, 200);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
/* Reference - Golf - Markers. */
|
||||
rg.fn.clearMarkers = function ()
|
||||
{
|
||||
rg.$pnl.markersMsgs.empty();
|
||||
rg.$pnl.markersList.find('tbody tr').remove();
|
||||
}
|
||||
rg.fn.refreshMarkers = function (delay)
|
||||
{
|
||||
rg.fn.clearMarkers();
|
||||
let courseId = rg.$pnl.coursesList.find('tbody tr.' + rg.class_sel).attr(rg.attr_id);
|
||||
if (!courseId)
|
||||
{
|
||||
rg.$pnl.markersMsgs.empty().text('Course must be selected.');
|
||||
return;
|
||||
}
|
||||
$('.FilterCourseId', rg.$frm.markers).val(courseId);
|
||||
rg.ajax.golfMarkers = rg.ajax.golfMarkers || { url: sax.url.base + 'Reference/Golf/Ajax/GetMarkers', formId: rg.$frm.markers.prop('id'), callbackFn: rg.fn.doRefreshMarkers };
|
||||
sax.doAjaxRequest(rg.ajax.golfMarkers, delay || 50);
|
||||
}
|
||||
rg.fn.doRefreshMarkers = function (response)
|
||||
{
|
||||
//sax.debug('doRefreshMarkers', response);
|
||||
rg.fn.clearMarkers();
|
||||
if (!response.success) return;
|
||||
let $list = rg.$pnl.markersList;
|
||||
$('tbody tr', $list).remove()
|
||||
for (let markerIdx = 0; markerIdx < (response.markers || []).length; markerIdx++)
|
||||
$list.append(rg.fn.populateMarker(rg.fn.getMarkerTemplate(), response.markers[markerIdx]));
|
||||
}
|
||||
rg.fn.populateMarker = function ($item, item)
|
||||
{
|
||||
$item.attr(rg.attr_id, item.id).on('click', function () { rg.fn.selectMarker($item, item); })
|
||||
$('.MarkerCaption', $item).text(item.caption);
|
||||
$('.MarkerHoles', $item).text(item.holes);
|
||||
$('.MarkerTee', $item).text(item.tee);
|
||||
$('.MarkerGender', $item).text(item.gender);
|
||||
$('.MarkerSlope', $item).text(item.slopeRating);
|
||||
$('.MarkerPar', $item).text(item.par);
|
||||
$('.MarkerCourse', $item).text(item.courseRating);
|
||||
if (item.bogeyRating) $('.MarkerBogey', $item).text(item.bogeyRating);
|
||||
if (item.length) $('.MarkerLength', $item).text(item.length);
|
||||
$('.MarkerStatus', $item).append(rg.fn.getStatusIcon(item.statusCode.toLowerCase()));
|
||||
return $item;
|
||||
}
|
||||
rg.fn.getMarkerTemplate = function ()
|
||||
{
|
||||
return $('.sax-panel-item-template tr.GolfMarker', rg.$pnl.markers).clone();
|
||||
}
|
||||
rg.fn.selectMarker = function ($item, item)
|
||||
{
|
||||
//sax.debug('selectMarker', $item, item)
|
||||
$('table.sax-item-list tbody tr', rg.$pnl.markers).removeClass(rg.class_sel);
|
||||
$item.addClass(rg.class_sel);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
// Utilities.
|
||||
rg.fn.getMenuOption = function ($opt, lbl, fn, cls)
|
||||
{
|
||||
return $opt.find('div.sax-label').text(lbl).end().on('click', fn).addClass(cls);
|
||||
}
|
||||
rg.fn.getTickIcon = function ()
|
||||
{
|
||||
return $('.sax-panel-item-template img.sax-tick', rg.$pnl.golf).clone();
|
||||
@@ -241,31 +336,39 @@
|
||||
|
||||
// Stats.
|
||||
rg.$pnl.stats = $('.sax-panel-info.GolfStats', rg.$pnl.golf);
|
||||
setTimeout(rg.fn.refreshStats, 250);
|
||||
setTimeout(function () { rg.fn.refreshStats(); }, 250);
|
||||
|
||||
// Countries.
|
||||
rg.$pnl.countries = $('.sax-panel-info.Countries', rg.$pnl.golf);
|
||||
rg.$pnl.countriesMsgs = $('.sax-panel-messages', rg.$pnl.countries);
|
||||
rg.$pnl.countriesList = $('table.sax-item-list', rg.$pnl.countries);
|
||||
rg.$frm.countries = $('#frmCountries', rg.$pnl.golf);
|
||||
$('.FilterCountrySearch', rg.$frm.countries).on('input', function () { setTimeout(rg.fn.refreshCountries(500), 100); });
|
||||
setTimeout(rg.fn.refreshCountries, 1000);
|
||||
$('.FilterCountrySearch', rg.$frm.countries).on('input', function () { setTimeout(function () { rg.fn.refreshCountries(500); }, 50); });
|
||||
setTimeout(function () { rg.fn.refreshCountries(); }, 1000);
|
||||
|
||||
// Provinces.
|
||||
rg.$pnl.provinces = $('.sax-panel-info.Provinces', rg.$pnl.golf);
|
||||
rg.$pnl.provincesMsgs = $('.sax-panel-messages', rg.$pnl.provinces);
|
||||
rg.$pnl.provincesList = $('table.sax-item-list', rg.$pnl.provinces);
|
||||
rg.$frm.provinces = $('#frmProvinces', rg.$pnl.golf);
|
||||
$('.FilterProvinceSearch', rg.$frm.provinces).on('input', function () { setTimeout(rg.fn.refreshProvinces(500), 100); });
|
||||
$('.FilterProvinceSearch', rg.$frm.provinces).on('input', function () { setTimeout(function () { rg.fn.refreshProvinces(500); }, 50); });
|
||||
|
||||
// Courses.
|
||||
rg.$pnl.courses = $('.sax-panel-info.Courses', rg.$pnl.golf);
|
||||
rg.$pnl.coursesMsgs = $('.sax-panel-messages', rg.$pnl.courses);
|
||||
rg.$pnl.coursesList = $('table.sax-item-list', rg.$pnl.courses);
|
||||
rg.$frm.courses = $('#frmCourses', rg.$pnl.golf);
|
||||
$('.FilterCourseSearch', rg.$frm.courses).on('input', function () { setTimeout(rg.fn.refreshCourses(500), 100); });
|
||||
$('.FilterCourseSearch', rg.$frm.courses).on('input', function () { setTimeout(function () { rg.fn.refreshCourses(500); }, 50); });
|
||||
//$('.PagingPageNo', rg.$dlg).val(1);
|
||||
//$('.PagingPageLength', rg.$dlg).val(16);
|
||||
rg.fn.configureCoursesBurger();
|
||||
|
||||
// Markers.
|
||||
rg.$pnl.markers = $('.sax-panel-info.Markers', rg.$pnl.golf);
|
||||
rg.$pnl.markersMsgs = $('.sax-panel-messages', rg.$pnl.markers);
|
||||
rg.$pnl.markersList = $('table.sax-item-list', rg.$pnl.markers);
|
||||
rg.$frm.markers = $('#frmMarkers', rg.$pnl.golf);
|
||||
$('.FilterMarkerSearch', rg.$frm.markers).on('input', function () { setTimeout(function () { rg.fn.refreshMarkers(500); }, 50); });
|
||||
|
||||
var opt = sax.dlgOpts();
|
||||
//opt.open = function () { rg.fn.refreshOrganisations(200); };
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
{
|
||||
if (!sl.data.awaitingRefreshFoldersResponse)
|
||||
{
|
||||
var $items = $('.sax-panel-item-list', $pnl.results).fadeOut(200).empty();
|
||||
$pnl.msgs.hide().empty().append($('<div class="sax-message">' + sax.msg.dataQuerying + '</div>')).fadeIn(200);
|
||||
sl.clearFiles();
|
||||
//$pnl.msgs.hide().empty().append($('<div class="sax-message">' + sax.msg.dataQuerying + '</div>')).fadeIn(200);
|
||||
}
|
||||
sax.ajax.refreshFolders = sax.ajax.refreshFolders || { url: sax.url.base + 'System/Ajax/Logs/GetFolders', formId: sl.$frm.filter.prop('id'), callbackFn: sl.doRefreshFolders };
|
||||
sax.doAjaxRequest(sax.ajax.refreshFolders, delay || 50);
|
||||
@@ -57,8 +57,8 @@
|
||||
}
|
||||
sl.clearFiles = function ()
|
||||
{
|
||||
$('.sax-panel-messages', $pnl.results).hide().empty();
|
||||
$('.sax-panel-item-list', $pnl.results).hide().empty();
|
||||
$pnl.msgs.hide().empty();
|
||||
$pnl.list.find('tbody tr').remove();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
@@ -66,8 +66,8 @@
|
||||
{
|
||||
if (!sl.data.awaitingRefreshYearsResponse)
|
||||
{
|
||||
var $items = $('.sax-panel-item-list', $pnl.results).fadeOut(200).empty();
|
||||
$pnl.msgs.hide().empty().append($('<div class="sax-message">' + sax.msg.dataQuerying + '</div>')).fadeIn(200);
|
||||
sl.clearFiles();
|
||||
//$pnl.msgs.hide().empty().append($('<div class="sax-message">' + sax.msg.dataQuerying + '</div>')).fadeIn(200);
|
||||
}
|
||||
sax.ajax.refreshYears = sax.ajax.refreshYears || { url: sax.url.base + 'System/Ajax/Logs/GetYears', formId: sl.$frm.filter.prop('id'), callbackFn: sl.doRefreshYears };
|
||||
sax.doAjaxRequest(sax.ajax.refreshYears, delay || 50);
|
||||
@@ -97,8 +97,8 @@
|
||||
{
|
||||
if (!sl.data.awaitingRefreshMonthsResponse)
|
||||
{
|
||||
var $items = $('.sax-panel-item-list', $pnl.results).fadeOut(200).empty();
|
||||
$pnl.msgs.hide().empty().append($('<div class="sax-message">' + sax.msg.dataQuerying + '</div>')).fadeIn(200);
|
||||
sl.clearFiles();
|
||||
//$pnl.msgs.hide().empty().append($('<div class="sax-message">' + sax.msg.dataQuerying + '</div>')).fadeIn(200);
|
||||
}
|
||||
sax.ajax.refreshMonths = sax.ajax.refreshMonths || { url: sax.url.base + 'System/Ajax/Logs/GetMonths', formId: sl.$frm.filter.prop('id'), callbackFn: sl.doRefreshMonths };
|
||||
sax.doAjaxRequest(sax.ajax.refreshMonths, delay || 50);
|
||||
@@ -130,8 +130,8 @@
|
||||
{
|
||||
if (!sl.data.awaitingRefreshFilesResponse)
|
||||
{
|
||||
var $items = $('.sax-panel-item-list', $pnl.results).fadeOut(200).empty();
|
||||
$pnl.msgs.hide().empty().append($('<div class="sax-message">' + sax.msg.dataQuerying + '</div>')).fadeIn(200);
|
||||
sl.clearFiles();
|
||||
//$pnl.msgs.hide().empty().append($('<div class="sax-message">' + sax.msg.dataQuerying + '</div>')).fadeIn(200);
|
||||
}
|
||||
sax.ajax.refreshFiles = sax.ajax.refreshFiles || { url: sax.url.base + 'System/Ajax/Logs/GetFiles', formId: sl.$frm.filter.prop('id'), callbackFn: sl.doRefreshFiles };
|
||||
sax.doAjaxRequest(sax.ajax.refreshFiles, delay || 50);
|
||||
@@ -143,23 +143,24 @@
|
||||
delete sl.data.awaitingRefreshFilesResponse;
|
||||
sl.clearFiles();
|
||||
sax.refreshControlValues(response.controlValues);
|
||||
$pnl.msgs.hide().empty();
|
||||
var $items = $('.sax-panel-item-list', $pnl.results).hide().empty();
|
||||
if (!response.success) return;
|
||||
sax.data.logMonth = $ctrl.cbMonths.val();
|
||||
// Files.
|
||||
var items = response.files;
|
||||
if (!items.length)
|
||||
sl.data.files = response.files;
|
||||
if (!(items || []).length)
|
||||
return $pnl.msgs.append($('<div class="sax-message">' + sax.msg.dataNoneFound + '</div>')).fadeIn(500);
|
||||
for (let itemIdx = 0; itemIdx < items.length; itemIdx++)
|
||||
$items.append(sl.populateItem(sl.getFileTemplate(), items[itemIdx]));
|
||||
$items.fadeIn(50);
|
||||
$pnl.list.append(sl.populateItem(sl.getFileTemplate(), items[itemIdx]));
|
||||
$pnl.list.fadeIn(50);
|
||||
}
|
||||
sl.populateItem = function ($item, item)
|
||||
{
|
||||
if (!item) return $item;
|
||||
$('.Filename', $item).text(item.name).off('click').on('click', function () { sl.getFile(item.name) });
|
||||
$('.Length', $item).text(sax.formatFileSize(item.size, 2));
|
||||
$item.off('click').on('click', function () { sl.showFile(item.name) });
|
||||
$('.Filename', $item).text(item.name);
|
||||
$('.Updated', $item).text(item.updateFmt);
|
||||
$('.Size', $item).text(sax.formatFileSize(item.size, 2));
|
||||
return $item;
|
||||
}
|
||||
sl.getFileTemplate = function ()
|
||||
@@ -168,29 +169,90 @@
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
sl.getFile = function (filename, delay)
|
||||
sl.showFile = function (filename, delay)
|
||||
{
|
||||
$('.FilterLogFilename', $frm.filter).val(filename);
|
||||
sl.setFileTitle(filename);
|
||||
if (!sl.data.awaitingGetFileResponse)
|
||||
{
|
||||
$pnl.msgs.hide().empty().append($('<div class="sax-message">' + sax.msg.dataQuerying + '</div>')).fadeIn(200);
|
||||
sl.setFileData($('<div class="sax-message">' + sax.msg.dataQuerying + '</div>'));
|
||||
sax.openDialog($dlg.file, $(win).width(), $(win).height());
|
||||
}
|
||||
sax.ajax.getFile = sax.ajax.getFile || { url: sax.url.base + 'System/Ajax/Logs/GetFile', formId: sl.$frm.filter.prop('id'), callbackFn: sl.doGetFiles };
|
||||
sax.ajax.getFile = sax.ajax.getFile || { url: sax.url.base + 'System/Ajax/Logs/GetFile', formId: sl.$frm.filter.prop('id'), callbackFn: sl.onShowFile };
|
||||
sax.doAjaxRequest(sax.ajax.getFile, delay || 50);
|
||||
sl.data.awaitingGetFileResponse = true;
|
||||
}
|
||||
sl.doGetFiles = function (response)
|
||||
sl.onShowFile = function (response)
|
||||
{
|
||||
//sax.debug('doGetFiles', response);
|
||||
delete sl.data.awaitingGetFileResponse;
|
||||
$pnl.msgs.hide().empty();
|
||||
if (!response.success) return;
|
||||
|
||||
// Configure file action buttons.
|
||||
let files = sl.data.files;
|
||||
let filename = response.file.name;
|
||||
$ctrl.filePrev.prop('disabled', (files || []).length < 2 || !filename || files[0].name == filename);
|
||||
$ctrl.fileNext.prop('disabled', (files || []).length < 2 || !filename || files[files.length - 1].name == filename);
|
||||
|
||||
// Display table details.
|
||||
$dlg.file.dialog('option', 'title', "File: " + response.file.name || response.popupTitle);
|
||||
$('.FileData', $dlg.file).html(response.file.html);
|
||||
sl.setFileTitle(filename || response.popupTitle);
|
||||
$('.LogFilename', $dlg.file).val(filename);
|
||||
sl.setFileData(response.file.html);
|
||||
sax.openDialog($dlg.file, $(win).width(), $(win).height());
|
||||
}
|
||||
sl.setFileTitle = function (filename)
|
||||
{
|
||||
$dlg.file.dialog('option', 'title', "File: " + filename);
|
||||
}
|
||||
sl.setFileData = function (data)
|
||||
{
|
||||
$('.FileData', $dlg.file).html(data);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
sl.onCreateLogFileDlg = function ()
|
||||
{
|
||||
let $btnPane = $('#dlgLogFile + div.ui-dialog-buttonpane');
|
||||
$pnl.logFileActions = $('<div id="LogFileActions" style="float:left;">');
|
||||
$ctrl.filePrev = $('<button type="button" class="ui-button ui-corner-all ui-widget">').prop('value', 'LogFilePrev').text('Prev').on('click', sl.prevLogFile);
|
||||
$ctrl.fileNext = $('<button type="button" class="ui-button ui-corner-all ui-widget">').prop('value', 'LogFileNext').text('Next').on('click', sl.nextLogFile);
|
||||
$btnPane.append($pnl.logFileActions.append($ctrl.filePrev).append($ctrl.fileNext));
|
||||
}
|
||||
sl.prevLogFile = function ()
|
||||
{
|
||||
let files = sl.data.files;
|
||||
if ((files || []).length < 2) return;
|
||||
let filename = $('.LogFilename', $dlg.file).val();
|
||||
let filenamePrev = files[files.length - 1].name;
|
||||
for (let fileIdx = 0; fileIdx < files.length; fileIdx++)
|
||||
{
|
||||
let filenameNext = files[fileIdx].name;
|
||||
if (filenameNext == filename)
|
||||
{
|
||||
sl.showFile(filenamePrev);
|
||||
return;
|
||||
}
|
||||
filenamePrev = filenameNext;
|
||||
}
|
||||
}
|
||||
sl.nextLogFile = function ()
|
||||
{
|
||||
let files = sl.data.files;
|
||||
if ((files || []).length < 2) return;
|
||||
let filename = $('.LogFilename', $dlg.file).val();
|
||||
let filenameNext = files[0].name;
|
||||
for (let fileIdx = files.length - 1; fileIdx >= 0; fileIdx--)
|
||||
{
|
||||
let filenamePrev = files[fileIdx].name;
|
||||
if (filenamePrev == filename)
|
||||
{
|
||||
sl.showFile(filenameNext);
|
||||
return;
|
||||
}
|
||||
filenameNext = filenamePrev;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
$(function ()
|
||||
@@ -199,6 +261,7 @@
|
||||
$pnl.filter = $('.sax-panel-filter', $pnl.logFiles);
|
||||
$pnl.results = $('.sax-panel-results', $pnl.logFiles);
|
||||
$pnl.msgs = $('.sax-panel-messages', $pnl.results)
|
||||
$pnl.list = $('table.sax-item-list', $pnl.results)
|
||||
|
||||
$pnl.filter.on('click', '.sax-action.sax-results-refresh', function () { sl.refreshFiles(); });
|
||||
$('.sax-input').on('input', function () { sax.clearControlError(this); });
|
||||
@@ -209,7 +272,8 @@
|
||||
$ctrl.cbMonths = $('#cbFilterLogMonth', $frm.filter).on('change', function () { sl.refreshFiles(250); });
|
||||
|
||||
var opt = sax.dlgOpts();
|
||||
opt.buttons[sax.dlg.btn.close] = function () { $(this).dialog('close'); };
|
||||
opt.buttons[sax.dlg.btn.close] = function () { $(this).dialog('close'); sl.setFileData(); };
|
||||
opt.create = sl.onCreateLogFileDlg;
|
||||
$dlg.file = $('#dlgLogFile').dialog(opt);
|
||||
|
||||
setTimeout(sl.refreshFolders, 250);
|
||||
|
||||
Reference in New Issue
Block a user