Commit f58953c9 authored by Mat's avatar Mat
Browse files

Lettre, rassemble les boutons Edit et Link en un seul dropdown

parent 2e941d14
...@@ -88,11 +88,9 @@ function buildRowLettre(jsonRow) ...@@ -88,11 +88,9 @@ function buildRowLettre(jsonRow)
tr.appendChild(td3); tr.appendChild(td3);
let td6 = document.createElement('td'); let td6 = document.createElement('td');
(jsonRow.status === 'draft' || jsonRow.status === 'current') ? td6.appendChild(displayEditLettreLink(jsonRow));
td6.appendChild(displayEditLettre(jsonRow)) : null;
(jsonRow.status === 'draft') ? (jsonRow.status === 'draft') ?
td6.appendChild(displayDeleteLettre(jsonRow)) : null; td6.appendChild(displayDeleteLettre(jsonRow)) : null;
td6.appendChild(displayLettreActus(jsonRow));
tr.appendChild(td6); tr.appendChild(td6);
return tr; return tr;
...@@ -180,13 +178,65 @@ function changeStatus(jsonRow) ...@@ -180,13 +178,65 @@ function changeStatus(jsonRow)
} }
/*
* Affiche un bouton ou un dropdown pour éditer une lettre
* @param json object jsonRow
*/
function displayEditLettreLink(jsonRow)
{
if (jsonRow.status === 'draft' || jsonRow.status === 'current')
{
let dropdown = document.createElement('div');
dropdown.classList.add('dropdown');
let dropBtn = document.createElement('button');
dropBtn.classList.add('btn', 'btn-sm', 'btn-outline-dark', 'mb-1', 'mr-1', 'dropdown-toggle');
dropBtn.setAttribute('id', 'dropdownMenuButton');
dropBtn.setAttribute('type', 'button');
dropBtn.dataset.toggle = 'dropdown';
dropBtn.setAttribute('aria-haspopup', true);
dropBtn.setAttribute('aria-expanded', false);
dropBtn.textContent = jsonRow.reference;
dropdown.appendChild(dropBtn);
let dropmenu = document.createElement('div');
dropmenu.classList.add('dropdown-menu', 'dropdown-menu-right');
dropmenu.setAttribute('aria-labelledby', 'dropdownMenuButton');
let linkEditLettre = displayEditLettre(jsonRow);
linkEditLettre.classList.add('dropdown-item');
dropmenu.appendChild(linkEditLettre);
let linkLettreInfos = displayLinkLettreInfos(jsonRow);
linkLettreInfos.textContent = "Modifier son contenu";
linkLettreInfos.classList.add('dropdown-item');
dropmenu.appendChild(linkLettreInfos);
dropdown.appendChild(dropmenu);
return dropdown;
}
else {
let linkLettreInfos = displayLinkLettreInfos(jsonRow);
linkLettreInfos.textContent = jsonRow.reference;
linkLettreInfos.classList.add('btn', 'btn-outline-dark', 'btn-sm', 'mb-1', 'mr-1');
return linkLettreInfos;
}
}
/* /*
* Affiche un bouton pour éditer une rangée * Affiche un bouton pour éditer une rangée
* @param json object jsonRow * @param json object jsonRow
*/ */
function displayEditLettre(jsonRow) function displayEditLettre(jsonRow)
{ {
let editBtn = buildEditBtn(); let editBtn = document.createElement('a');
editBtn.textContent = "Modifier l'infolettre";
editBtn.setAttribute('title', 'Éditer');
editBtn.dataset.toggle = "modal";
editBtn.dataset.target = ".form-lettre-modal"; editBtn.dataset.target = ".form-lettre-modal";
editBtn.dataset.lettreId = jsonRow.id; editBtn.dataset.lettreId = jsonRow.id;
editBtn.addEventListener('click', function() editBtn.addEventListener('click', function()
...@@ -208,6 +258,20 @@ function displayEditLettre(jsonRow) ...@@ -208,6 +258,20 @@ function displayEditLettre(jsonRow)
return editBtn; return editBtn;
} }
/*
* Insérer des actualités
*/
function displayLinkLettreInfos(jsonRow)
{
let link = document.createElement('a');
let href = Routing.generate('potage_lettre_infos_ajax_display', {'id': jsonRow.id });
link.setAttribute('href', href);
link.setAttribute('title', "Voir le contenu de l'infolettre");
return link;
}
/* /*
* Supprimer une lettre * Supprimer une lettre
* @param json object jsonRow * @param json object jsonRow
...@@ -235,21 +299,6 @@ function displayDeleteLettre(jsonRow) ...@@ -235,21 +299,6 @@ function displayDeleteLettre(jsonRow)
} }
/*
* Insérer des actualités
*/
function displayLettreActus(jsonRow)
{
let insertBtn = document.createElement('a');
insertBtn.innerHTML = '<i class="fas fa-clipboard-check fa-fw"></i> Contenu';
insertBtn.classList.add('btn', 'btn-info', 'btn-sm', 'mb-1', 'mr-1');
let href = Routing.generate('potage_lettre_infos_ajax_display', {'id': jsonRow.id });
insertBtn.setAttribute('title', "Voir le contenu de l'infolettre");
insertBtn.setAttribute('href', href);
return insertBtn;
}
/* /*
* ================================= * =================================
* Initialise l'affichage de la page * Initialise l'affichage de la page
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment