{"version":3,"file":"global.js","mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mBAAmB;AAC/C;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA,gBAAgB;AAChB;AACA,UAAU;AACV;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,8BAA8B,eAAe;AAC7C,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,qFAAqF,wBAAwB;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0FAA0F;AAC1F,UAAU;AACV,gGAAgG;AAChG;AACA,KAAK;AACL;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA,0FAA0F;AAC1F;AACA;AACA;AACA,gGAAgG;AAChG;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,kCAAkC;AAC/E;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,yBAAyB;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAsF;AACtF,MAAM;AACN,4FAA4F;AAC5F;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA;AACA,sFAAsF;AACtF;AACA;AACA;AACA,4FAA4F;AAC5F;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,2BAA2B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA","sources":["webpack://a/./Scripts/global.js"],"sourcesContent":["\r\n\r\n$(document).ready(function () {\r\n $(\"body\").on(\"submit\", \"form\", function () {\r\n $(this).submit(function () {\r\n return false;\r\n });\r\n return true;\r\n });\r\n //check if any errors to alert to user\r\n let urlParams = getUrlParams(location.search);\r\n if (typeof urlParams.AlertError !== \"undefined\") alert(urlParams.AlertError.replace(/%20/g, \" \"));\r\n //resize body\r\n realign();\r\n //if sidebar is not open then change trext\r\n var elementAmoToggle = document.getElementById('toggleButtonAMO');\r\n if (!$('.sidebar-tab-button').parent().hasClass('open') && typeof (elementAmoToggle) !== 'undefined' && elementAmoToggle !== null) {\r\n document.getElementById('toggleButtonAMO').textContent = \"Open\";\r\n }\r\n\r\n // login validation UX\r\n $('.text-danger').css({ 'display': 'none' });\r\n $('#login-btn').click(function () {\r\n if ($('.text-danger').text() === \"\") {\r\n $('.text-danger').css(\"display\", \"none\");\r\n } else {\r\n $('.text-danger').fadeIn().css(\"display\", \"inline-block\");\r\n }\r\n });\r\n\r\n // datepicker\r\n var date = \"\";\r\n $('.date-input').each(function () {\r\n if ($(this).hasClass('month-year-format')) {\r\n formatDate(\"mm-yyyy\");\r\n } else if ($(this).hasClass('date-time-format')) {\r\n formatDate();\r\n } else if ($(this).hasClass('dd-mm-yyyy')) {\r\n formatDate(\"dd-mm-yyyy\");\r\n //} else if ($(this).hasClass('dd-mm-yyyy-HH-mm')) {\r\n // formatDate(\"dd-mm-yyyy HH:mm\");\r\n } else {\r\n formatDate();\r\n }\r\n });\r\n\r\n // month picker class initializer\r\n $('.month-input').each(function () { \r\n $(this).MonthPicker({ Button: false });\r\n });\r\n\r\n // format time\r\n $('.hh-mm-ss').each(function () {\r\n formatDate(\"hh-mm-ss\");\r\n });\r\n\r\n try {\r\n $('.date-time-picker').datetimepicker({\r\n // dateFormat: 'dd-mm-yy',\r\n defaultDate: new Date(),\r\n format: 'd/m/Y h:m:s',\r\n showSecond: true\r\n });\r\n } catch (err) {\r\n $('.date-time-picker').attr(\"placeholder\", \"dd/mm/yyyy 00:00:00\");\r\n }\r\n\r\n // apply title attribute to all selected values of dropdowns inside general forms\r\n $('.general-form').find('select').change(function () {\r\n if ($(this).val() !== $(this).find('option:first').val()) {\r\n $(this).prop('title', $(this).find('option:selected').text());\r\n } \r\n });\r\n\r\n $('hh-mm-ss').change(function () {\r\n formatDate(\"hh-mm-ss\");\r\n });\r\n\r\n // format date on change\r\n $('.dd-mm-yyyy').change(function () {\r\n formatDate(\"dd-mm-yyyy\");\r\n });\r\n\r\n $('.month-year-format').change(function () {\r\n formatDate(\"mm-yyyy\");\r\n });\r\n\r\n // format date function\r\n function formatDate(format) {\r\n if (format === \"mm-yyyy\") {\r\n $(\".month-year-format\").each(function () {\r\n $(this).datepicker();\r\n date = $(this).val();\r\n date = date.substring(date.indexOf('/') + 1).replace(' 00:00:00', '');\r\n $(this).val(date);\r\n });\r\n } else if (format === 'dd-mm-yyyy') {\r\n $(\".dd-mm-yyyy\").each(function () {\r\n $(this).datepicker();\r\n date = $(this).val();\r\n date = date.replace(' 00:00:00', '');\r\n $(this).val(date);\r\n $(this).attr('value', date);\r\n });\r\n } else if (format === 'hh-mm-ss') {\r\n $(\".hh-mm-ss\").each(function () {\r\n $(this).val(\"\");\r\n $(this).datepicker();\r\n date = $(this).val();\r\n date = date + ' 00:00:00';\r\n $(this).val(date);\r\n $(this).attr('value', date);\r\n });\r\n }\r\n }\r\n\r\n\r\n // get pathname and search query\r\n var currentPathname = window.location.pathname + location.search;\r\n\r\n // check for tasks\r\n if (currentPathname.indexOf(\"/Tasks\") > 0 || currentPathname.indexOf(\"/tasks\") > 0) {\r\n // replace checked checkboxes with css styled text\r\n $('#tasks-table').find('td').each(function () {\r\n if ($(this).html().includes('type=\"checkbox\"')) {\r\n if ($(this).find('input[type=checkbox]').prop('checked')) {\r\n $(this).html('Open').addClass(\"open\");\r\n } else {\r\n $(this).html('Closed').addClass(\"closed\");\r\n }\r\n }\r\n if ($(this).text().includes('100')) {\r\n $(this).addClass(\"closed\");\r\n }\r\n });\r\n }\r\n\r\n // tasks status label for details page // converting checkbox into 'Open' | 'Closed' labels\r\n var statusBoxDetails = $('.details-task-status');\r\n var detailsStatus = statusBoxDetails.find('input[type=\"checkbox\"]').attr(\"checked\");\r\n\r\n if (detailsStatus === \"checked\") {\r\n statusBoxDetails.html(\"\");\r\n } else {\r\n statusBoxDetails.html(\"Status: Closed\");\r\n }\r\n\r\n // show task status based on user input on edit\r\n // disable and darken inputs if task has been closed\r\n var switchBox = $('#edit-tasks-table').find('.switch').find('input[type=checkbox]');\r\n if (switchBox.prop('checked')) {\r\n $('#UserTasks_Active').prop('checked', true).attr('checked', true);\r\n $('.task-status').text(\"Open\").addClass(\"open\").removeClass(\"closed\");\r\n $('#edit-tasks-table').find('input, select, textarea').each(function () {\r\n $(this).prop('disabled', false);\r\n $(this).css(\"filter\", \"brightness(100%)\");\r\n });\r\n } else {\r\n $('#UserTasks_Active').prop('checked', false).attr('checked', false);\r\n $('.task-status').text(\"Closed\").addClass(\"closed\").removeClass(\"open\");\r\n $('#edit-tasks-table').find('input, select, textarea').each(function () {\r\n if ($(this).prop('type') !== 'checkbox') {\r\n $(this).prop('disabled', true);\r\n $(this).css(\"filter\", \"brightness(40%)\");\r\n }\r\n });\r\n }\r\n\r\n // similar function as above, but triggered on change\r\n $('input[type=submit]').prop('disabled', false).css(\"filter\", \"brightness(100%)\");\r\n switchBox.change(function () {\r\n if (switchBox.prop('checked')) {\r\n $('#UserTasks_Active').prop('checked', true).attr('checked', true);\r\n $('.task-status').text(\"Open\").addClass(\"open\").removeClass(\"closed\");\r\n $('#edit-tasks-table').find('input[type=\"text\"], input[type=\"number\"], select, textarea').each(function () {\r\n $(this).prop('disabled', false);\r\n $(this).css(\"filter\", \"brightness(100%)\");\r\n });\r\n } else {\r\n $('#UserTasks_Active').prop('checked', false).attr('checked', false);\r\n $('.task-status').text(\"Closed\").addClass(\"closed\").removeClass(\"open\");\r\n $('#edit-tasks-table').find('input[type=\"text\"], input[type=\"number\"], select, textarea').each(function () {\r\n if ($(this).prop('type') !== 'checkbox') {\r\n $(this).prop('disabled', true);\r\n $(this).css(\"filter\", \"brightness(40%)\");\r\n }\r\n });\r\n }\r\n });\r\n\r\n // range slider dynamic background color\r\n var slider = $('input[type=\"range\"]');\r\n var val = (slider.val() - slider.attr('min')) / (slider.attr('max') - slider.attr('min'));\r\n slider.css('background-image',\r\n '-webkit-gradient(linear, left top, right top, '\r\n + 'color-stop(' + val + ', #94A14E), '\r\n + 'color-stop(' + val + ', #C5C5C5)'\r\n + ')'\r\n );\r\n slider.prop(\"disabled\", true);\r\n\r\n var searchbox = true;\r\n // search box toggle\r\n $('.search-toggle').click(function () {\r\n searchbox = true;\r\n $('.body-underlay').removeClass('hidden').fadeIn();\r\n $('.search-results-container').fadeIn(400);\r\n $(this).find('svg').toggleClass('fa-times-circle fa-search');\r\n });\r\n\r\n // underlay click to close search box\r\n // close search box button\r\n $('.close-search, .body-underlay').click(function () {\r\n searchbox = false;\r\n $('.search-results-container').fadeOut(400);\r\n $('.body-underlay').fadeOut();\r\n $('.search-toggle').find('svg').toggleClass('fa-times-circle fa-search');\r\n });\r\n\r\n // clear search query\r\n $('.clear-query').click(function () {\r\n var splittedString = window.location.href.split('?')[0];\r\n window.location.replace(splittedString);\r\n });\r\n\r\n // fade out message box on user click close icon\r\n $('.query-message').children().click(function () {\r\n $(this).parent().fadeOut();\r\n $(\".table-details\").find(\"td\").each(function () {\r\n result = $(this).text().toLowerCase();\r\n if (result.includes(searchString.toLowerCase())) {\r\n $(this).removeClass('searchStringHighlight');\r\n }\r\n });\r\n });\r\n\r\n var sidebar = $(\".sidebar-overlay\");\r\n var menuUnderlay = $(\".menu-underlay\");\r\n var menuIcon = $(\".primary-menu\").find('span');\r\n\r\n // sidebar\r\n $('.primary-menu, .menu-underlay').click(function () {\r\n $('.primary-menu').toggleClass('open');\r\n $('.sidebar-overlay').toggleClass('open');\r\n $('.menu-underlay').fadeToggle();\r\n });\r\n\r\n // WAPsidebar\r\n //$('.WAP-menu, .menu-underlay').click(function () {\r\n // $('.WAP-menu').toggleClass('open');\r\n // $('.sidebar-overlay').toggleClass('open');\r\n // //$('.menu-underlay').fadeToggle();\r\n //});\r\n\r\n // Check for login page\r\n var loc = window.location;\r\n if (loc.path === \"/Account/Login\") {\r\n $('.primary-menu').hide();\r\n $('.sign-out').hide();\r\n $('body').css(\"overflow\", \"hidden\");\r\n }\r\n\r\n // message overlay fadeout\r\n $('#register, #button-back').click(function () {\r\n $('.register-overlay, .register-underlay').fadeToggle();\r\n });\r\n\r\n // Greating message\r\n var thehours = new Date().getHours();\r\n var themessage;\r\n var morning = 'Good morning';\r\n var afternoon = 'Good afternoon';\r\n var evening = 'Good evening';\r\n\r\n if (thehours >= 0 && thehours < 12) {\r\n themessage = morning;\r\n\r\n } else if (thehours >= 12 && thehours < 17) {\r\n themessage = afternoon;\r\n\r\n } else if (thehours >= 17 && thehours < 24) {\r\n themessage = evening;\r\n }\r\n // prepend message based on time of day.\r\n $('.greeting').prepend(themessage);\r\n\r\n // table find details icon and padding next cells away\r\n $('.table-icon').find('.fa-info-circle').parent().parent().parent().next().css({ 'padding-left': '10px' });\r\n // adding background hover class to edit action cells\r\n $('.table-icon').parent().parent().addClass('hover-background');\r\n\r\n //// select all page permissions checkboxes\r\n // set checkbox attribute to false on load\r\n $('.page-perms-table').find('.page-perms-check-all').attr('checked', false);\r\n\r\n // loop through all inputs in chosen table and select them on click of the 'check-all' checkbox\r\n $('.page-perms-table').find('.page-perms-check-all').click(function () {\r\n $(this).prop(\"checked\", !$(this).prop(\"checked\"));\r\n $(this).closest('section').find('input:not(.noCheckAll)').each(function () {\r\n if (!$(this).hasClass('.noCheckAll')) {\r\n $(this).prop(\"checked\", !$(this).prop(\"checked\"));\r\n $(this).attr(\"checked\", !$(this).attr(\"checked\"));\r\n $(this).trigger('change');\r\n }\r\n });\r\n\r\n });\r\n\r\n\r\n // create link for table rows\r\n $('.row-link').click(function () {\r\n window.location = $(this).find('.task-row').find('a').attr('href');\r\n });\r\n $('.row-link').hover(function () {\r\n $(this).css(\"cursor\", \"pointer\");\r\n });\r\n\r\n // timer countdown for redirect error pages\r\n var timerCountdown = $('.redirectTimer');\r\n if ($(timerCountdown)[0]) {\r\n var timeleft = 10;\r\n var downloadTimer = setInterval(function () {\r\n timerCountdown.html(timeleft);\r\n timeleft -= 1;\r\n $('.closeBtn').click(function () {\r\n clearInterval(downloadTimer);\r\n $('.redirectErrorBox').fadeOut();\r\n });\r\n\r\n if (timeleft <= 0) {\r\n clearInterval(downloadTimer);\r\n $('.redirectErrorBox').delay(500).fadeOut();\r\n document.location.href = \"/\";\r\n }\r\n }, 1000);\r\n }\r\n\r\n // select on change submit \r\n $('.dropdown-submit').change(function () {\r\n $(this).closest('form').trigger('submit');\r\n });\r\n\r\n // sanitize each dropdown that contains the sanitize-dropdown class\r\n var dropdownName = \"\";\r\n $('.sanitize-dropdown').each(function () {\r\n dropdownName = $(this);\r\n sanitizeDropdown(dropdownName);\r\n });\r\n\r\n // sanitize select options\r\n function sanitizeDropdown(dropdown) {\r\n // gets each option value from DB and push to array to be filtered\r\n var optionArray = [];\r\n dropdown.find('option').each(function () {\r\n if ($(this).val().length > 0 && $(this).val()) {\r\n optionArray.push($(this).val());\r\n }\r\n });\r\n\r\n // remove duplicates\r\n var unique = optionArray.filter(onlyUnique);\r\n\r\n // clear html options to replace with new array\r\n dropdown.html(\"\").prepend(\"\");\r\n // append new array values as elements\r\n for (var i = 0; i < unique.length; i++) {\r\n dropdown.append(\"\");\r\n }\r\n // capitaize first letter\r\n function capitalizeFirstLetter(string) {\r\n return string.charAt(0).toUpperCase() + string.slice(1);\r\n }\r\n // gets only unique strings only\r\n function onlyUnique(value, index, self) {\r\n return self.indexOf(value) === index;\r\n }\r\n }\r\n\r\n $(\".dropdown-sort\").each(function sortlist() {\r\n var lb = this;\r\n arrTexts = new Array();\r\n arrTexts1 = new Array();\r\n\r\n for (i = 0; i < lb.length; i++) {\r\n arrTexts[i] = lb.options[i].value;\r\n arrTexts1[i] = lb.options[i].text;\r\n }\r\n\r\n arrTexts.sort();\r\n\r\n for (i = 0; i < lb.length; i++) {\r\n lb.options[i].text = arrTexts1[i];\r\n lb.options[i].value = arrTexts[i];\r\n }\r\n });\r\n\r\n //hide dropdown on load\r\n $('dropdown-hide').hide();\r\n\r\n // unhide dropdown upon change of another dropdown\r\n $('dropdown-hidechange').on('change', function () {\r\n\r\n var country = this.value.toLowerCase();\r\n\r\n $('dropdown-hide').hide()\r\n .show();\r\n });\r\n\r\n contactAttributes();\r\n\r\n $('.attr-select').change(function () {\r\n contactAttributes();\r\n });\r\n\r\n // clear table search / filter\r\n $(\".clear-search\").click(function () {\r\n var url = window.location.href;\r\n var splitUrl = url.substring(0, url.indexOf(\"?\"));\r\n window.location.replace(splitUrl);\r\n });\r\n //add validation to website dropdowns\r\n $('.website-select').each(function () {\r\n $(this).attr('required', '');\r\n $(this).on({\r\n invalid: function (e) {\r\n e.target.setCustomValidity(\"\");\r\n if (!e.target.validity.valid) {\r\n e.target.setCustomValidity(\"Please select a website.\");\r\n }\r\n },\r\n input: function (e) {\r\n e.target.setCustomValidity(\"\");\r\n }\r\n });\r\n });\r\n\r\n $('input[type=search]').css('color', 'black');\r\n $('select[name=page-perms-table_length]').css('color', 'black');\r\n $('#page-perms-table_info').css('color', 'white');\r\n //var nodes1 = document.getElementsByClassName('paginate_button');\r\n //for (x = 0; x < nodes1.length; x++) {\r\n jQuery('.paginate_button').addClass('pagination-btn');\r\n\r\n $('#page-perms-table_paginate').addClass('table-pagination');\r\n $('#page-perms-table_paginate').attr('text-align', 'left !important');\r\n\r\n\r\n // add pageItem to pageList if page is selected or remove if unselected\r\n var bns = $('input[name=pageItem]');\r\n bns.change(function (event) {\r\n var pageList = document.getElementById('pageList').value;\r\n if (event.target.checked) {\r\n document.getElementById('pageList').value = pageList + event.target.value + ';';\r\n } else {\r\n document.getElementById('pageList').value = pageList.replace(event.target.value + ';', '');\r\n }\r\n });\r\n //add pageItem to pageList if page is selected or remove if unselected on toggle of check all\r\n $('input[name=pageCheckAll]').change(function (event) {\r\n var nodes = document.getElementsByName(\"pageItem\");\r\n for (x = 0; x < nodes.length; x++) {\r\n if (nodes[x].checked) {\r\n var pageList = document.getElementById('pageList').value;\r\n document.getElementById('pageList').value = pageList + nodes[x].value + ';';\r\n }\r\n else {\r\n pageList = document.getElementById('pageList').value;\r\n document.getElementById('pageList').value = pageList.replace(nodes[x].value + ';', '');\r\n }\r\n }\r\n });\r\n\r\n $('.copyButton').click(function (e) {\r\n var link = \"\";\r\n try {\r\n link = $(e.target.closest('td')).find(\"input:first\").val().trim();\r\n copyToClipboard(link);\r\n }\r\n catch (err) {\r\n try {\r\n link = $(e.target.closest('td')).find(\"textarea:first\").val().trim();\r\n copyToClipboard(link);\r\n }\r\n catch (err) {\r\n //do nothing\r\n }\r\n }\r\n });\r\n\r\n function contactAttributes() {\r\n var elements = [];\r\n $('.attr-select .open :selected').each(function() {\r\n elements.push($(this).text().trim());\r\n });\r\n }\r\n\r\n function copyToClipboard(elem) {\r\n var copyText = $(\"#clipboard\").find(\"input\");\r\n copyText.attr(\"val\", elem).val(elem);\r\n copyText.select();\r\n document.execCommand(\"copy\");\r\n alert(\"'\" + copyText.val() + \"' Copied to your clipboard!\");\r\n }\r\n\r\n //close button\r\n $('.closeBtn').click(function() {\r\n $('.body-underlay').fadeOut();\r\n $('.search-sidebar').removeClass('open');\r\n $('.sidebar-tab-button').find('span').text(\"Open\");\r\n $('.sidebar-tab-button').parent().removeClass('open');\r\n });\r\n\r\n // adds interatction to table toggle buttons\r\n $('.table-tab-group').find('.tab').click(function () {\r\n $('.tab').each(function () {\r\n $(this).removeClass('active');\r\n $(this).find('input').removeAttr('checked').removeAttr('checked');\r\n });\r\n \r\n $(this).addClass('active');\r\n $(this).find('input').attr('checked', 'checked').prop('checked', 'checked');\r\n });\r\n\r\n\r\n // controls tab body content on mouse click\r\n $('nav.ribbon-menu').find('li').click(function () {\r\n $('nav.ribbon-menu').find('li').each(function () {\r\n $(this).removeClass('active');\r\n $(this).find('.ribbon-body-container').addClass('hidden');\r\n });\r\n $(this).addClass('active');\r\n var tabBody = $(this).parent().parent().parent().find('.tab-body');\r\n var currentTabName = $(this).attr('name');\r\n\r\n // shows and hides content area depending on tab name selected\r\n tabBody.each(function () {\r\n if ($(this).attr('name') === currentTabName) {\r\n $(this).addClass('active');\r\n } else {\r\n $(this).removeClass('active');\r\n }\r\n });\r\n });\r\n\r\n //resize();\r\n resizeForm();\r\n\r\n $(window).on('zoom onload resize', function () {\r\n resize();\r\n resizeForm();\r\n resizeDL();\r\n });\r\n\r\n function resize() {\r\n //if table exists\r\n var tableLength = $('table').length;\r\n var iframeLength = $('iframe').length;\r\n var tableMax = 0; \r\n \r\n for (var i = 0; i < tableLength; i++) {\r\n tableMax = Math.max(tableMax, $('table')[i].clientWidth);\r\n }\r\n if (tableLength > 0) {\r\n $('.container').removeAttr('style');\r\n $('html').removeAttr('style');\r\n if (tableLength > 0 && iframeLength <= 1) {\r\n //- parseInt($('.body-content').css(\"marginRight\").replace('px', '')) - Math.max(parseInt($('.body-content').css(\"marginRight\").replace('px', '')), 0)\r\n //if (tableMax > parseInt(document.body.scrollWidth) - 100 - Math.max(parseInt($('.body-content').css(\"marginLeft\").replace('px', '')), 0)) { \r\n if (document.body.scrollWidth > document.body.clientWidth) {\r\n realign(tableMax);\r\n }\r\n else {\r\n $('.container').removeAttr('style');\r\n $('html').removeAttr('style');\r\n }\r\n }\r\n else {\r\n $('.container').removeAttr('style');\r\n $('html').removeAttr('style');\r\n }\r\n }\r\n }\r\n\r\n function realign(tableMax) {\r\n //resize menu container on zoom\r\n //window.outerWidth\r\n // var newWidth = (window.outerWidth() / tableMax * document.documentElement.clientWidth).toString() + 'vw';\r\n $('.container').css('left', '10px');\r\n $('.container').css('marginLeft', '30px');\r\n $('.body-content').css('marginLeft', '30px');\r\n //$('.body-content').css('marginRight', '10px'); //+ parseInt(130) + Math.max(parseInt($('.body-content').css(\"marginRight\").replace('px', '')),0)\r\n $('html').css('width', (parseInt(tableMax) + Math.max(parseInt($('.body-content')[0].offsetLeft), 0) + 100).toString() + 'px'); \r\n \r\n $('html').css('position', 'relative'); \r\n \r\n }\r\n\r\n function resizeForm() {\r\n //if table exists\r\n var tableLength = $('form').length;\r\n var iframeLength = $('iframe').length;\r\n var tableMax = 0;\r\n\r\n for (var i = 0; i < tableLength; i++) {\r\n tableMax = Math.max(tableMax, $('form')[i].clientWidth);\r\n }\r\n if (tableLength > 0) {\r\n $('.container').removeAttr('style');\r\n $('html').removeAttr('style');\r\n if (tableLength > 0 && iframeLength <= 1) {\r\n //- parseInt($('.body-content').css(\"marginRight\").replace('px', '')) - Math.max(parseInt($('.body-content').css(\"marginRight\").replace('px', '')), 0)\r\n //if (tableMax > parseInt(document.body.scrollWidth) - 100 - Math.max(parseInt($('.body-content').css(\"marginLeft\").replace('px', '')), 0)) { \r\n if (document.body.scrollWidth > document.body.clientWidth) {\r\n realignForm(tableMax);\r\n }\r\n else {\r\n $('.container').removeAttr('style');\r\n $('html').removeAttr('style');\r\n }\r\n }\r\n else {\r\n $('.container').removeAttr('style');\r\n $('html').removeAttr('style');\r\n }\r\n }\r\n }\r\n\r\n function realignForm(tableMax) {\r\n //resize menu container on zoom\r\n //window.outerWidth\r\n // var newWidth = (window.outerWidth() / tableMax * document.documentElement.clientWidth).toString() + 'vw';\r\n $('.container').css('left', '10px');\r\n $('.container').css('marginLeft', '30px');\r\n $('.body-content').css('marginLeft', '30px');\r\n //$('.body-content').css('marginRight', '10px'); //+ parseInt(130) + Math.max(parseInt($('.body-content').css(\"marginRight\").replace('px', '')),0) \r\n //$('html').css('width', (parseInt(tableMax) + Math.max(parseInt($('.body-content')[0].offsetLeft), 0) + 100).toString() + 'px');\r\n $('html').css('position', 'relative');\r\n\r\n }\r\n function resizeDL() {\r\n //if table exists\r\n var tableLength = $('dl').length;\r\n var iframeLength = $('iframe').length;\r\n var tableMax = 0;\r\n\r\n for (var i = 0; i < tableLength; i++) {\r\n tableMax = Math.max(tableMax, $('dl')[i].clientWidth);\r\n }\r\n if (tableLength > 0) {\r\n $('.container').removeAttr('style');\r\n $('html').removeAttr('style');\r\n if (tableLength > 0 && iframeLength <= 1) {\r\n //- parseInt($('.body-content').css(\"marginRight\").replace('px', '')) - Math.max(parseInt($('.body-content').css(\"marginRight\").replace('px', '')), 0)\r\n //if (tableMax > parseInt(document.body.scrollWidth) - 100 - Math.max(parseInt($('.body-content').css(\"marginLeft\").replace('px', '')), 0)) { \r\n if (document.body.scrollWidth > document.body.clientWidth) {\r\n realignDL(tableMax);\r\n }\r\n else {\r\n $('.container').removeAttr('style');\r\n $('html').removeAttr('style');\r\n }\r\n }\r\n else {\r\n $('.container').removeAttr('style');\r\n $('html').removeAttr('style');\r\n }\r\n }\r\n }\r\n function realignDL(tableMax) {\r\n //resize menu container on zoom\r\n //window.outerWidth\r\n // var newWidth = (window.outerWidth() / tableMax * document.documentElement.clientWidth).toString() + 'vw';\r\n $('.container').css('left', '10px');\r\n $('.container').css('marginLeft', '30px');\r\n $('.body-content').css('marginLeft', '30px');\r\n //$('.body-content').css('marginRight', '10px'); //+ parseInt(130) + Math.max(parseInt($('.body-content').css(\"marginRight\").replace('px', '')),0) \r\n $('html').css('width', (parseInt(tableMax) + Math.max(parseInt($('.body-content')[0].offsetLeft), 0) + 100).toString() + 'px');\r\n $('html').css('position', 'relative');\r\n\r\n }\r\n\r\n function _mapUrlParams(queryString) {\r\n return queryString\r\n .split('&')\r\n .map(function (keyValueString) { return keyValueString.split('=') })\r\n .reduce(function (urlParams, [key, value]) {\r\n if (Number.isInteger(parseInt(value)) && parseInt(value) == value) {\r\n urlParams[key] = parseInt(value);\r\n } else {\r\n urlParams[key] = decodeURI(value);\r\n }\r\n return urlParams;\r\n }, {});\r\n }\r\n function getUrlParams(urlOrQueryString) {\r\n if ((i = urlOrQueryString.indexOf('?')) >= 0) {\r\n const queryString = urlOrQueryString.substring(i + 1);\r\n if (queryString) {\r\n return _mapUrlParams(queryString);\r\n }\r\n }\r\n\r\n return {};\r\n }\r\n});\r\n\r\n//end of ready\r\n\r\n\r\n// Capitalize words in string\r\nfunction capitalize(s) {\r\n return s.toLowerCase().replace(/\\b./g, function (a) { return a.toUpperCase(); });\r\n}\r\n\r\n// add pageItem to pageList if page is selected or remove if unselected\r\nvar bns2 = $('input[name=pageItem]');\r\nbns2.change(function (event) {\r\n var pageList = document.getElementById('pageList').value;\r\n if (event.target.checked) {\r\n document.getElementById('pageList').value = pageList + event.target.value + ';';\r\n } else {\r\n document.getElementById('pageList').value = pageList.replace(event.target.value + ';', '');\r\n }\r\n});\r\n\r\n//add pageItem to pageList if page is selected or remove if unselected on toggle of check all\r\n$('input[name=pageCheckAll]').change(function (event) {\r\n var nodes = document.getElementsByName(\"pageItem\");\r\n for (x = 0; x < nodes.length; x++) {\r\n if (nodes[x].checked) {\r\n var pageList = document.getElementById('pageList').value;\r\n document.getElementById('pageList').value = pageList + nodes[x].value + ';';\r\n }\r\n else {\r\n pageList = document.getElementById('pageList').value;\r\n document.getElementById('pageList').value = pageList.replace(nodes[x].value + ';', '');\r\n }\r\n }\r\n});\r\n\r\n// IE detection\r\nfunction detectIE() {\r\n var ua = window.navigator.userAgent;\r\n var msie = ua.indexOf('MSIE ');\r\n if (msie > 0) {\r\n // IE 10 or older => return version number\r\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\r\n }\r\n\r\n var trident = ua.indexOf('Trident/');\r\n if (trident > 0) {\r\n // IE 11 => return version number\r\n var rv = ua.indexOf('rv:');\r\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\r\n }\r\n\r\n var edge = ua.indexOf('Edge/');\r\n if (edge > 0) {\r\n // Edge (IE 12+) => return version number\r\n //return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\r\n return false;\r\n }\r\n // other browser\r\n return false;\r\n}\r\n\r\n// finds number of contact attribute rows\r\nfunction numberOfAttributeRows() {\r\n var contactAttrs = 0;\r\n $('.attr-select').each(function () {\r\n contactAttrs++;\r\n });\r\n return contactAttrs;\r\n}\r\n\r\nfunction countDuplicates(array) {\r\n array_elements = array.sort();\r\n array_elements.sort();\r\n var current = null;\r\n var cnt = 0;\r\n for (var i = 0; i < array_elements.length; i++) {\r\n if (array_elements[i] !== current) {\r\n if (cnt > 1) {\r\n return true;\r\n }\r\n current = array_elements[i];\r\n cnt = 1;\r\n } else {\r\n cnt++;\r\n }\r\n }\r\n if (cnt > 1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n}\r\n"],"names":[],"sourceRoot":""}