{"version":3,"sources":["webpack:///./Scripts/src/v2/app/Init.ts","webpack:///./Scripts/src/v2/app/Services/index.ts","webpack:///./Scripts/src/v2/app/Services/FormValidators.ts","webpack:///./Scripts/src/v2/app/Services/AjaxPost.ts","webpack:///./Scripts/src/v2/app/Globals/PageLoadUIEvents.ts","webpack:///./Scripts/src/v2/app/Globals/UserMeta.ts","webpack:///./Scripts/src/v2/app/Globals/EventListeners.ts","webpack:///./Scripts/src/v2/app/Components/Greeter.ts"],"names":["PageLoadEvents","_createClass","_classCallCheck","_defineProperty","Greeter","LinkConditioner","TestimonialShortener","ClickEvents","ListenEvent","clickDropdownSubmenu","clickRevertImpersonation","FormValidators","key","value","val","other","params","callback","ajaxConfig","backdrop","endpoint","payload","JSON","stringify","Email","cbFunction","data","Promise","resolve","reject","AjaxPost","then","test","token","$","headers","this","showBackdrop","remove","hide","appendTo","document","body","show","ajax","xhr","url","dataType","type","contentType","timeout","err","errFunction","console","error","_this","each","link","attr","internal","hasClass","dropdown","menusItem","jsClick","isPdf","substr","lastIndexOf","host","location","i","el","removeAttr","_this2","text","length","UserMeta","model","ko","observable","self","info","getJSON","UserRecNo","parseInt","opUserRecNo","UserRoleRecNo","opUserRoleRecNo","AcctRecNo","CustomerID","UserID","opUserID","isImpersonating","OriginalUsername","GetUserMetaData","result","debug","on","animate","scrollTop","e","next","parents","first","find","removeClass","toggleClass","UrlSegments","indexOf","path","getAttribute","addClass","parent","siblings","click","usr","window","UserToImpersonate","href","XMLHttpRequest","upload","addEventListener","evt","lengthComputable","percentComplete","loaded","total","completedString","toFixed","css","width","ajaxComplete","event","options","split","check","cartVM","hour","Date","getHours","querySelectorAll","element","innerHTML"],"mappings":"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","file":"chunk-7-app-init.35075f2371bc44e34af7.js","sourcesContent":["import { Greeter } from './Components/Greeter';\r\nimport { LinkConditioner, TestimonialShortener, ListenEvent } from './Globals/index';\r\n\r\nexport class PageLoadEvents {\r\n static Greeter = Greeter;\r\n static LinkConditioner = LinkConditioner;\r\n static TestimonialShortener = TestimonialShortener;\r\n}\r\n\r\nexport class ClickEvents {\r\n static DropdownSubmenu = ListenEvent.clickDropdownSubmenu;\r\n static RevertImpersonation = ListenEvent.clickRevertImpersonation\r\n}","export * from './FormValidators';\r\nexport * from './AjaxPost';","import { IAjaxPostConfig, AjaxPost } from \"./index\";\r\n\r\n// Custom validators for Knockout Validation plugin\r\nexport class FormValidators {\r\n\r\n public static mustEqual(val: any, other: any): boolean {\r\n return val === other;\r\n }\r\n\r\n public static checkEmailExists(val: string, params?: never, callback?): boolean {\r\n\r\n if (!val)\r\n return;\r\n\r\n let ajaxConfig: IAjaxPostConfig = {\r\n backdrop: false,\r\n endpoint: '/Account/EmailIsValid',\r\n payload: JSON.stringify({ Email: val }),\r\n cbFunction: function (data) {\r\n data === 1 ? callback(true) : callback(false);\r\n }\r\n }\r\n\r\n let validate = new Promise((resolve, reject) => {\r\n return resolve(new AjaxPost(ajaxConfig));\r\n })\r\n\r\n validate.then(function () {\r\n return callback;\r\n })\r\n }\r\n\r\n public static passwordComplexity(val: string): boolean {\r\n return /(?=^[^\\s]{6,128}$)((?=.*?\\d)(?=.*?[A-Z])(?=.*?[a-z])|(?=.*?\\d)(?=.*?[^\\w\\d\\s])(?=.*?[a-z])|(?=.*?[^\\w\\d\\s])(?=.*?[A-Z])(?=.*?[a-z])|(?=.*?\\d)(?=.*?[A-Z])(?=.*?[^\\w\\d\\s]))^.*/\r\n .test('' + val + '');\r\n }\r\n\r\n}","import { IAjaxPostConfig } from \"./AjaxPost.config\";\r\n\r\nexport { IAjaxPostConfig } from \"./AjaxPost.config\";\r\n\r\n// Custom AjaxPost class to send anti-forgery token in headers\r\nexport class AjaxPost {\r\n\r\n private showBackdrop: boolean = false;\r\n\r\n constructor(params: IAjaxPostConfig) {\r\n let token = $('input[name=\"__RequestVerificationToken\"]').val(),\r\n headers = {};\r\n\r\n headers['__RequestVerificationToken'] = token;\r\n\r\n if (typeof params.backdrop != 'undefined')\r\n this.showBackdrop = params.backdrop;\r\n\r\n if (this.showBackdrop) {\r\n // Clear existing backdrops first\r\n $(\".ajax-backdrop\").remove();\r\n $('#page-preloader').hide();\r\n\r\n $('
').appendTo(document.body)\r\n $('#page-preloader').show();\r\n }\r\n\r\n $.ajax({\r\n xhr: params.xhr,\r\n url: params.endpoint,\r\n dataType: \"json\",\r\n type: params.type || \"post\",\r\n contentType: 'application/json; charset=utf-8',\r\n headers: headers,\r\n data: params.payload,\r\n timeout: params.timeout ? params.timeout : 0 //0 is the default value\r\n })\r\n\r\n .then(function (data) {\r\n if (params.cbFunction) {\r\n params.cbFunction(data);\r\n }\r\n\r\n $('#page-preloader').hide();\r\n $(\".ajax-backdrop\").remove();\r\n })\r\n\r\n .catch(function (err) {\r\n if (params.errFunction) {\r\n params.errFunction(err);\r\n console.error(\"Error in AjaxPost: \", err);\r\n }\r\n\r\n $('#page-preloader').hide();\r\n $(\".ajax-backdrop\").remove();\r\n });\r\n }\r\n}","export function LinkConditioner() {\r\n $('a').each(() => {\r\n let link = $(this).attr('href');\r\n\r\n // Go no further if this is not a link\r\n if (!link)\r\n return;\r\n\r\n let internal = $(this).hasClass('link-internal');\r\n let dropdown = $(this).hasClass('dropdown-menu');\r\n let menusItem = $(this).hasClass('dropdown-item');\r\n let jsClick = link === 'javascript:void(0)';\r\n let isPdf = link.substr(link.lastIndexOf('.') + 1) === 'pdf';\r\n\r\n $(this).attr('target', () => {\r\n if (internal || dropdown || menusItem || jsClick || (this).host == location.host) {\r\n if (!isPdf)\r\n return '_self'\r\n } else\r\n return '_blank';\r\n });\r\n\r\n //SEO stuff, avoid PageRank penalty\r\n $(this).attr('rel', () => {\r\n if (internal || jsClick || (this).host == location.host)\r\n return\r\n else\r\n return 'nofollow';\r\n })\r\n });\r\n\r\n $('a[href^=\"mailto:\"]').each((i, el) => {\r\n $(el).removeAttr('target');\r\n $(el).attr('target', () => { return '_self' });\r\n })\r\n};\r\n\r\nexport function TestimonialShortener() {\r\n // Testimonials text-truncate\r\n $('.testimonial-comment').each(() => {\r\n if ($(this).text().length > 250) {\r\n let text = $(this).text()\r\n text = text.substr(0, 250) + '...';\r\n $(this).text(text);\r\n }\r\n })\r\n}","export class UserMeta {\r\n public UserRecNo: KnockoutObservable = ko.observable(null);\r\n public UserRoleRecNo: KnockoutObservable = ko.observable(null);\r\n public AcctRecNo: KnockoutObservable = ko.observable(null);\r\n public CustomerID: KnockoutObservable = ko.observable(null);\r\n public UserID: KnockoutObservable = ko.observable(null);\r\n public isImpersonating: KnockoutObservable = ko.observable(false);\r\n public OriginalUsername: KnockoutObservable = ko.observable(null);\r\n\r\n public GetUserMetaData = () => {\r\n let self = this;\r\n\r\n console.info(\"Retrieving user meta data...\")\r\n let promise = new Promise((resolve, reject) => {\r\n $.getJSON('/MyAccount/WhoAmI', function (data) {\r\n \r\n if (data === \"Error: Not logged in\") {\r\n // Return default self anyway\r\n return resolve(self);\r\n }\r\n\r\n self.UserRecNo(parseInt(data.opUserRecNo));\r\n self.UserRoleRecNo(parseInt(data.opUserRoleRecNo));\r\n self.AcctRecNo(parseInt(data.AcctRecNo));\r\n self.CustomerID(data.CustomerID);\r\n\r\n self.UserID(data.opUserID);\r\n self.isImpersonating(data.isImpersonating);\r\n self.OriginalUsername(data.OriginalUsername);\r\n return resolve(self);\r\n });\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n constructor(model?) {\r\n let self = this;\r\n if (model) {\r\n self.UserRecNo(parseInt(model.UserRecNo));\r\n self.UserRoleRecNo(parseInt(model.UserRoleRecNo));\r\n self.AcctRecNo(parseInt(model.AcctRecNo));\r\n self.CustomerID(model.CustomerID);\r\n\r\n self.UserID(model.UserID);\r\n self.isImpersonating(model.isImpersonating);\r\n self.OriginalUsername(model.OriginalUsername);\r\n }\r\n else {\r\n self.GetUserMetaData().then((result) => {\r\n console.debug(\"User meta data retrieved\", result);\r\n\r\n }); \r\n }\r\n }\r\n}","import { AjaxPost, IAjaxPostConfig } from \"../Services/index\";\r\nimport { UrlSegments } from \"../Helpers/index\";\r\n\r\n//export class EventManager {\r\n// addListener = (objName, eventName, func) => {\r\n// $(document).bind(objName + '-' + eventName, func);\r\n// };\r\n// fireEvent = (objName, eventName, data, other) => {\r\n// $(document).trigger(objName + '-' + eventName, [data, other]); \r\n// }\r\n//};\r\n\r\nexport class ListenEvent {\r\n\r\n static clickJumpToTop = () => {\r\n $('.jump-to-top').on('click', function () {\r\n $(\"html, body\").animate({ scrollTop: 0 }, \"slow\");\r\n });\r\n }\r\n\r\n static clickDropdownSubmenu = () => {\r\n // Dropdown Sub-menu Event Listener\r\n $('.dropdown-menu a.dropdown-toggle').on('click', function (e) {\r\n if (!$(this).next().hasClass('show')) {\r\n $(this).parents('.dropdown-menu').first().find('.show').removeClass(\"show\");\r\n }\r\n var $subMenu = $(this).next(\".dropdown-menu\");\r\n $subMenu.toggleClass('show');\r\n\r\n\r\n $(this).parents('li.nav-item.dropdown.show').on('hidden.bs.dropdown', function (e) {\r\n $('.dropdown-submenu .show').removeClass(\"show\");\r\n });\r\n\r\n\r\n return false;\r\n });\r\n }\r\n\r\n static activeMyAccountNavTab = () => {\r\n //My Account Navigation Tabs Event Listener\r\n let navActiveTabConditions = function () {\r\n if (UrlSegments().length > 0) {\r\n if (UrlSegments().indexOf(\"MyAccount\") !== -1)\r\n return true;\r\n if (UrlSegments().indexOf(\"SalesRep\") !== -1)\r\n return true;\r\n }\r\n else\r\n return false;\r\n };\r\n\r\n if (navActiveTabConditions) {\r\n $(function () {\r\n let path = \"/\" + UrlSegments(0) + \"/\" + UrlSegments(1);\r\n $('.nav-myaccount').find('.active').removeClass('active');\r\n $('.nav-myaccount li a').each(function () {\r\n if (this.getAttribute('href') == path) {\r\n $(this).addClass('active');\r\n $(this).parent().siblings('.dropdown-toggle').addClass('active');\r\n }\r\n });\r\n });\r\n };\r\n }\r\n\r\n static clickRevertImpersonation = () => {\r\n // Revert Impersonation Event Listener\r\n $('span#revert-impersonation').click(function () {\r\n let usr = (window).UserMeta;\r\n if (usr && usr.isImpersonating) {\r\n let ajaxConfig: IAjaxPostConfig = {\r\n backdrop: true,\r\n endpoint: \"/MyAccount/RevertImpersonation\",\r\n payload: JSON.stringify({\r\n OriginalUsername: usr.OriginalUsername,\r\n UserToImpersonate: usr.UserID\r\n }),\r\n cbFunction: function (data) {\r\n $('#page-preloader').hide();\r\n $(\".modal-backdrop\").remove();\r\n window.location.href = \"/MyAccount/UserImpersonation\";\r\n },\r\n errFunction: function (err) {\r\n $('#page-preloader').hide();\r\n $(\".modal-backdrop\").remove();\r\n }\r\n }\r\n\r\n new AjaxPost(ajaxConfig);\r\n }\r\n \r\n })\r\n };\r\n\r\n static listenXHRDownloadStatus = () => {\r\n var xhr = new (window).XMLHttpRequest();\r\n ////Upload progress\r\n xhr.upload.addEventListener(\"progress\", function (evt) {\r\n if (evt.lengthComputable) {\r\n var percentComplete = evt.loaded / evt.total;\r\n var completedString = (100 * percentComplete).toFixed(2) + '%';\r\n console.debug(\"Upload progress\", completedString);\r\n //Do something with upload progress\r\n \r\n $('.progress').css({\r\n width: percentComplete * 100 + '%'\r\n });\r\n $('#progress-percent').text(' loading data ' + (100 * evt.loaded / evt.total).toFixed(1) + '%');\r\n if (percentComplete === 1) {\r\n $('.progress').addClass('hide');\r\n }\r\n }\r\n }, false);\r\n //Download progress\r\n xhr.addEventListener(\"progress\", function (evt) {\r\n if (evt.lengthComputable) {\r\n var percentComplete = evt.loaded / evt.total;\r\n var completedString = (100 * percentComplete).toFixed(2) + '%';\r\n console.debug(\"Download progress\", completedString);\r\n //Do something with download progress\r\n\r\n $('.progress').css({\r\n width: percentComplete * 100 + '%'\r\n });\r\n $('#progress-percent').text(' loading data ' + (100 * evt.loaded / evt.total).toFixed(1) + '%');\r\n if (percentComplete === 1) {\r\n $('.progress').addClass('hide');\r\n $('.progress').css({ width: 0 });\r\n }\r\n }\r\n }, false);\r\n return xhr;\r\n }\r\n\r\n public static WaitForCartVM = new Promise((resolve) => {\r\n // Checker function. Checks at every ajax success to see \r\n // if the header is finally available before passing the object in\r\n\r\n $(document).ajaxComplete((event, xhr, options) => {\r\n if (options.url.split('?')[0] !== \"/MyAccount/CartsSavedList\") {\r\n return;\r\n }\r\n\r\n let check = true;\r\n\r\n if (check) {\r\n let cartVM = window.cartVM;\r\n resolve(cartVM);\r\n check = false;\r\n console.debug(\"Latest cart view model\", cartVM);\r\n }\r\n\r\n });\r\n\r\n })\r\n\r\n}","export function Greeter() {\r\n\r\n let date = new Date(),\r\n hour = date.getHours(),\r\n\r\n greeting = function () {\r\n return hour < 12 ? \"Good morning,\"\r\n : hour >= 12 && hour <= 18 ? \"Good afternoon,\"\r\n : \"Good evening,\"\r\n };\r\n\r\n $.each(document.querySelectorAll('.greeting'), function (i, element) {\r\n element.innerHTML = greeting();\r\n });\r\n}"],"sourceRoot":""}