updateSelection = function()

in frontend/janus.js [129:189]


            updateSelection = function(event) {
                const checked = Array.from(checkboxes).filter(function(checkbox) {
                        return checkbox.checked;
                    }),
                    permissions = checked.map(function(checkbox) {
                        return DOMPurify.sanitize(checkbox.getAttribute("data-permission-id"));
                    }),
                    clicked = event ? event.target : null,
                    accountContainer = clicked ? clicked.closest(".aws-account-body") : null,
                    otherAccountCheckboxes = accountContainer ? accountContainer.querySelectorAll(".multi-select__checkbox:not(:checked)") : [];

                // enable feature if JS is available
                document.querySelectorAll(".multi-select__container").forEach(el => el.style.display = "block");

                // deal with disabling other permissions in the same account as the one just selected
                if (event) {
                    if (clicked.checked) {
                        otherAccountCheckboxes.forEach(function(checkbox) {
                            checkbox.checked = false;
                            checkbox.disabled = true;
                        });
                    } else {
                        otherAccountCheckboxes.forEach(function(checkbox) {
                            checkbox.checked = false;
                            checkbox.disabled = false;
                        });
                    }
                }

                // update display
                if (permissions.length) {
                    activeContainer.style.display = "block";
                    inactiveContainer.style.display = "none";
                    // disable all non-multi credentials links to avoid confusion
                    singleCredentialsLinks.forEach(function(link) {
                        link.classList.add('disabled');
                    });
                    accountContainers.forEach(function(container) {
                        container.style.filter = "grayscale(0)";
                    });
                    Array.from(accountContainers).filter(function(container) {
                        return !checked.some(function(checkbox) {
                            return container.contains(checkbox);
                        });
                    }).forEach(function(container) {
                        container.style.filter = "grayscale(0.6)";
                    });
                } else {
                    inactiveContainer.style.display = "block";
                    activeContainer.style.display = "none";
                    // restore single credentials links
                    singleCredentialsLinks.forEach(function(link) {
                        link.classList.remove('disabled');
                    });
                    accountContainers.forEach(function(container) {
                        container.style.filter = "grayscale(0)";
                    });
                }
                controlFeedbackText.textContent = permissions.length === 1 ? permissions.length + " account" : permissions.length + " accounts";
                updateLink(permissions);
            };