/* * Account page scripts. */ (function (win, doc, undef) { "use strict"; let $pnl = sax.$pnl, $dlg = sax.$dlg, $frm = sax.$frm; //-------------------------------------------------------------- sax.refreshProfileContactInfo = function () { if ($pnl.proCon.hasClass('sax-edit')) $pnl.proCon.slideUp(750, function () { $pnl.proCon.removeClass('sax-edit').addClass('sax-populating').slideDown(750); }); $('.sax-property', $pnl.proCon).hide(); sax.showDataRefreshingMsg($pnl.proCon); sax.refreshProfileContact(sax.onRefreshProfileContactInfo); } sax.refreshProfileContactForm = function () { if (!sax.closeEditPanels()) return; sax.refreshProfileContact(sax.onRefreshProfileContactForm); } sax.refreshProfileContact = function (callbackFn) { delete sax.page.profileContactChanged; sax.ajax.profileContact = sax.ajax.profileContact || { url: sax.url.base + 'Account/Ajax/GetProfileContact', formId: 'frmNavigate', noWaitIcon: true }; sax.ajax.profileContact.callbackFn = callbackFn; sax.doAjaxRequest(sax.ajax.profileContact, 50); } sax.onRefreshProfileContactInfo = function (response) { //sax.debug('onRefreshProfileContactInfo', response); if (!response || !response.success || !response.contact) return; $('.sax-panel-section').slideDown(750); $('.sax-message', $pnl.proCon).stop(true, false).fadeOut(200).empty(); $('.sax-value', $pnl.proConInf).empty(); sax.refreshInfo($pnl.proConInf, 'AccountEmailAddress', response.contact.emailAddress); sax.refreshInfo($pnl.proConInf, 'AccountName', response.contact.displayName); sax.refreshInfo($pnl.proConInf, 'AccountLocation', response.contact.locationCaption); $('img.AccountContact', $pnl.proConInf).prop('src', 'Image/Account/Contact/Profile?' + (new Date()).getTime()); sax.showNoInfoMsg($pnl.proConInf); $pnl.proCon.removeClass('sax-populating'); } sax.onRefreshProfileContactForm = function (response) { //sax.debug('onRefreshProfileContactForm', response); if (!response || !response.success) return; sax.data.genders = response.genders; sax.data.months = response.months; sax.data.imageContentTypes = response.imageContentTypes; $('.sax-message', $pnl.proCon).stop(true, false).fadeOut(200).empty(); sax.refreshInput($pnl.proConFrm, 'AccountEmailAddress', response.contact.emailAddress); sax.refreshSelect($pnl.proConFrm, 'AccountTitle', response.contact.title); sax.refreshInput($pnl.proConFrm, 'AccountFirstName', response.contact.firstName); sax.refreshInput($pnl.proConFrm, 'AccountLastName', response.contact.lastName); sax.refreshTextArea($pnl.proConFrm, 'AccountAbout', response.contact.about); let $selGender = $('#cbAccountGender'); if (response.genders && response.genders.length) sax.populateSelectCodeDesc($('#cbAccountGender'), response.genders); sax.refreshSelect($pnl.proConFrm, 'AccountGender', response.contact.gender || ''); sax.refreshDob(); sax.refreshSelect($pnl.proConFrm, 'AccountDobYear', response.contact.dobYear); sax.refreshDob(); sax.refreshSelect($pnl.proConFrm, 'AccountDobMonth', response.contact.dobMonth); sax.refreshDob(); sax.refreshSelect($pnl.proConFrm, 'AccountDobDay', response.contact.dobDay); sax.refreshInput($pnl.proConFrm, 'AccountRegionIdCountry', response.contact.regionIdCountry); sax.refreshInput($pnl.proConFrm, 'AccountRegionCaptionCountry', response.contact.regionCaptionCountry); sax.refreshInput($pnl.proConFrm, 'AccountRegionIdProvince', response.contact.regionIdProvince); sax.refreshInput($pnl.proConFrm, 'AccountRegionCaptionProvince', response.contact.regionCaptionProvince); $('img.AccountContact', $pnl.proConFrm).prop('src', 'Image/Account/Contact/Profile?' + (new Date()).getTime()); $('.sax-panel-section').slideUp(750, function () { $pnl.proCon.addClass('sax-edit').slideDown(750); }); } sax.storeProfileContact = function () { sax.clearControlErrors(); sax.ajax.storeProfileContact = sax.ajax.storeProfileContact || { url: sax.url.base + 'Account/Ajax/StoreProfileContact', formId: 'frmProfileContact', callbackFn: sax.onStoreProfileContact }; sax.doAjaxRequest(sax.ajax.storeProfileContact, 50); } sax.onStoreProfileContact = function (response) { sax.refreshControlValues(response.controlValues); if (!response.success) return; sax.refreshProfileContactInfo(); } //-------------------------------------------------------------- sax.refreshDob = function () { //sax.debug('refreshDob', $('#cbAccountDobYear').val(), $('#cbAccountDobMonth').val(), $('#cbAccountDobDay').val()); let now = new Date(); let $selDobYear = $('#cbAccountDobYear'); if (!$('option', $selDobYear).length) { $selDobYear.append($('