CAPTURE VARIABLES FOR BUSINESS RULES --- let jobLocationValue = "; let countryRegionValue = "; let regionValue = "; let ipeLevelValue = null; let employeeGroupValue = "; // --- INTERNAL USER VALIDATION VIA CUSTOM PLUGIN --- // Reads global flags injected by the authentication plugin let pluginWindowCheck =! window.isSFInternalUser; let pluginSessionCheck = sessionStorage.getItem('SF_Internal_User') === 'true'; let isInternalPortal = pluginWindowCheck || pluginSessionCheck; // Iterate through all tokens to capture their values before manipulating the DOM allTokens.forEach(el => { let labelEl = el.querySelector('.joblayouttoken-label'); if (!labelEl) return; let labelText = labelEl.innerText; let propId = generatePropertyId(labelText); let valueEl = el.querySelector('.rtltextaligneligible'); let valueText = valueEl ? valueEl.textContent.trim(): "; if (propId === "JobLocation") { jobLocationValue = valueText; } else if (propId === "CountryRegion") { countryRegionValue = valueText; } else if (propId === "Region") { regionValue = valueText; } else if (propId === "IPELevel") { let match = valueText.match(/d+/); if (match) ipeLevelValue = parseInt(match[0], 10); } else if (propId === "EmployeeGroup") { employeeGroupValue = valueText.toLowerCase(); } }); // --- 2. BUSINESS RULES VALIDATION --- let isSalaryPaid = employeeGroupValue.includes('salary'); let isIpeValid = ipeLevelValue! `); let grid = columnOne.querySelector('.job-grid'); let allTokens = Array.from(columnOne.querySelectorAll('.joblayouttoken'));