fix service level selector

This commit is contained in:
Tobias Brunner 2025-07-16 11:12:46 +02:00
parent 384c626adb
commit e7c6a53a17
Signed by: tobru
SSH key fingerprint: SHA256:kOXg1R6c11XW3/Pt9dbLdQvOJGFAy+B2K6v6PtRWBGQ
2 changed files with 22 additions and 11 deletions

View file

@ -94,17 +94,6 @@ class PriceCalculator {
this.updatePricing(); this.updatePricing();
}); });
// Service level change listeners
const serviceLevelInputs = this.domManager.get('serviceLevelInputs');
serviceLevelInputs.forEach(input => {
input.addEventListener('change', () => {
this.uiManager.updateInstancesSlider(this.domManager, this.pricingDataManager);
this.planManager.populatePlanDropdown(this.domManager);
this.addonManager.updateAddons(this.domManager);
this.updatePricing();
});
});
// Plan selection listener // Plan selection listener
const planSelect = this.domManager.get('planSelect'); const planSelect = this.domManager.get('planSelect');
if (planSelect) { if (planSelect) {

View file

@ -218,6 +218,28 @@ class UIManager {
// Update the serviceLevelInputs reference // Update the serviceLevelInputs reference
domManager.elements.serviceLevelInputs = document.querySelectorAll('input[name="serviceLevel"]'); domManager.elements.serviceLevelInputs = document.querySelectorAll('input[name="serviceLevel"]');
// Set up event listeners for the dynamically created service level inputs
this.setupServiceLevelEventListeners(domManager, pricingDataManager);
}
// Setup event listeners for service level inputs
setupServiceLevelEventListeners(domManager, pricingDataManager) {
const serviceLevelInputs = domManager.get('serviceLevelInputs');
if (!serviceLevelInputs) return;
// Get the main price calculator instance from window
const priceCalculator = window.priceCalculator;
if (!priceCalculator) return;
serviceLevelInputs.forEach(input => {
input.addEventListener('change', () => {
this.updateInstancesSlider(domManager, pricingDataManager);
priceCalculator.planManager.populatePlanDropdown(domManager);
priceCalculator.addonManager.updateAddons(domManager);
priceCalculator.updatePricing();
});
});
} }
// Update slider maximums based on pricing data // Update slider maximums based on pricing data