1"use strict"; 2 3// Class definition 4var KTModalUpgradePlan = function () { 5 // Private variables 6 var modal; 7 var planPeriodMonthButton; 8 var planPeriodAnnualButton; 9 10 var changePlanPrices = function(type) { 11 var items = [].slice.call(modal.querySelectorAll('[data-kt-plan-price-month]')); 12 13 items.map(function (item) { 14 var monthPrice = item.getAttribute('data-kt-plan-price-month'); 15 var annualPrice = item.getAttribute('data-kt-plan-price-annual'); 16 17 if ( type === 'month' ) { 18 item.innerHTML = monthPrice; 19 } else if ( type === 'annual' ) { 20 item.innerHTML = annualPrice; 21 } 22 }); 23 } 24 25 var handlePlanPeriodSelection = function() { 26 // Handle period change 27 planPeriodMonthButton.addEventListener('click', function (e) { 28 changePlanPrices('month'); 29 }); 30 31 planPeriodAnnualButton.addEventListener('click', function (e) { 32 changePlanPrices('annual'); 33 }); 34 } 35 36 var handleTabs = function() { 37 KTUtil.on(modal, '[data-bs-toggle="tab"]', 'click', function(e) { 38 this.querySelector('[type="radio"]').checked = true; 39 }); 40 } 41 42 // Public methods 43 return { 44 init: function () { 45 // Elements 46 modal = document.querySelector('#kt_modal_upgrade_plan'); 47 48 if (!modal) { 49 return; 50 } 51 52 planPeriodMonthButton = modal.querySelector('[data-kt-plan="month"]'); 53 planPeriodAnnualButton = modal.querySelector('[data-kt-plan="annual"]'); 54 55 // Handlers 56 handlePlanPeriodSelection(); 57 handleTabs(); 58 } 59 } 60}(); 61 62// On document ready 63KTUtil.onDOMContentLoaded(function() { 64 KTModalUpgradePlan.init(); 65});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.