| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import './group-plan-modal'
- import { updateMainGroupPlanPricing } from '../../pages/user/subscription/plans-v2/plans-v2-group-plan'
- export function changePlansV2MainPageGroupData() {
- const mainPlansPageFormEl = document.querySelector(
- '[data-ol-plans-v2-license-picker-form]'
- )
- const mainPlansPageLicensePickerEl = mainPlansPageFormEl.querySelector(
- '[data-ol-plans-v2-license-picker-select]'
- )
- const mainPlansPageEducationalDiscountEl = mainPlansPageFormEl.querySelector(
- '[data-ol-plans-v2-license-picker-educational-discount-input]'
- )
- const groupPlanModalNumberOfLicenses = document.querySelector(
- '[data-ol-group-plan-modal] #size'
- ).value
- const educationalDiscountChecked = document.querySelector(
- '[data-ol-group-plan-modal] #usage'
- ).checked
- const educationalDiscountEnabled =
- educationalDiscountChecked && groupPlanModalNumberOfLicenses >= 10
- // update license picker on the main plans page
- mainPlansPageLicensePickerEl.value = groupPlanModalNumberOfLicenses
- // update educational discount checkbox on the main plans page
- //
- // extra note
- // for number of users < 10, there is a difference on the checkbox behaviour
- // between the group plan modal and the main plan page
- //
- // On the group plan modal, the checkbox button is not visually disabled for number of users < 10 (checkbox can still be clicked)
- // but the logic is disabled and there will be an extra text whether or not the discount is applied
- //
- // However, on the main group plan page, the checkbox button is visually disabled for number of users < 10 (checkbox can not be clicked)
- // Hence, there's a possibility that the checkbox on the group plan modal is checked, but the discount is not applied.
- // i.e user can still click the checkbox with number of users < 10. The price won't be discounted, but the checkbox is checked.
- if (groupPlanModalNumberOfLicenses >= 10) {
- mainPlansPageEducationalDiscountEl.checked = educationalDiscountEnabled
- } else {
- // The code below is for disabling the checkbox button on the main plan page for number of users <10
- // while still checking the educational discount
- if (educationalDiscountChecked) {
- mainPlansPageEducationalDiscountEl.checked = false
- }
- }
- updateMainGroupPlanPricing()
- }
- function hideCurrencyPicker() {
- document.querySelector('[data-ol-group-plan-form-currency]').hidden = true
- }
- document
- .querySelectorAll('[data-ol-group-plan-form] select')
- .forEach(el => el.addEventListener('change', changePlansV2MainPageGroupData))
- document
- .querySelectorAll('[data-ol-group-plan-form] input')
- .forEach(el => el.addEventListener('change', changePlansV2MainPageGroupData))
- const isGroupPlanModalAvailable = document.querySelector(
- '[data-ol-group-plan-modal]'
- )
- if (isGroupPlanModalAvailable) {
- hideCurrencyPicker()
- }
|