Skip to content
Snippets Groups Projects
coopstarter.js 2.32 KiB
Newer Older
function openTab(pageName, elmnt) {
    // Hide all elements with class="tabcontent" by default */
    var i, tabcontent, tablinks;
    tabcontent = document.getElementsByClassName("tabcontent");
fred's avatar
fred committed
    tablinks = document.getElementsByClassName("tablink");
    for (i = 0; i < tabcontent.length; i++) {
        tabcontent[i].style.display = "none";
fred's avatar
fred committed
        tablinks[i].classList.remove("active");
    // Show the specific tab content
    document.getElementById(pageName).style.display = "block";
fred's avatar
fred committed
    elmnt.classList.add("active");
function linkDatasetToField(detail, targetFormName, inputName) {
    let targetForm = document.getElementById(targetFormName);
    targetForm.addEventListener("populate", event => {
        let resourceField = targetForm.querySelector(`input[name="${inputName}"]`);
        if (resourceField) {
            resourceField.value = JSON.stringify({ '@id': detail.dataset.src });
            resourceField.setAttribute('value', JSON.stringify({ '@id': detail.dataset.src }));
        }
    });
function refreshList(formId, listId) {
    let form = document.getElementById(formId);
    form.addEventListener("save", event => {
        let list = document.getElementById(listId);
        list.dataset.src = list.dataset.src;
    }); 
}

jQuery(document).ready(function($) {      
    // Get the element with id="defaultOpen" and click on it
    document.getElementById("defaultOpen").click();

    let userAccountDataSrc = document.getElementById("user-account-picture");
    linkDatasetToField(userAccountDataSrc, 'validation-form', 'reviewer');
    linkDatasetToField(userAccountDataSrc, 'improvement-dialog-form', 'reviewer');
    linkDatasetToField(userAccountDataSrc, 'refusal-dialog-form', 'reviewer');

    refreshList("resource-creation-form", "resources-history");
    refreshList("validation-form", "pending-resources");
    refreshList("refusal-dialog-form", "pending-resources");
    refreshList("improvement-dialog-form", "pending-resources");
    const logoutButton = document.getElementById('logout-button');
    logoutButton.addEventListener('click', function() {
        window.dispatchEvent(
            new CustomEvent('requestNavigation', { detail: { route: 'splash-index' } })
        );
        document.querySelector('sib-auth').logout();
        setTimeout(function(){ location.reload(); }, 1000);
    })