diff --git a/config.html b/config.html
index 50f295b..6021580 100644
--- a/config.html
+++ b/config.html
@@ -46,6 +46,7 @@
{{/form}}
{{:admin_header title="Configuration" custom_css="./style.css" current="module_amortization"}}
+
{{:include file="_nav.html" current="config"}}
{{if $_GET.ok == 1}}
Configuration enregistrée.
@@ -154,13 +155,14 @@
}}
+ {{if ! $code|in:$config_defaut.prefixes}}
{{:button
label="Enlever"
- title="Enlever une ligne"
shape="minus"
min="1"
name="remove_line"
}}
+ {{/if}}
|
{{/foreach}}
@@ -187,6 +189,7 @@
+ {{:assign unfinished_lines=$config_defaut.unfinished|map:implode:"-"|implode:","}}
{{#foreach from=$unfinished_accounts key=code item=elem}}
|
@@ -200,13 +203,15 @@
}}
|
- {{:button
- label="Enlever"
- title="Enlever une ligne"
- shape="minus"
- min="1"
- name="remove_line"
- }}
+ {{if $unfinished_lines|strpos:$code === false}}
+ {{:button
+ label="Enlever"
+ title="Enlever une ligne"
+ shape="minus"
+ min="1"
+ name="remove_line"
+ }}
+ {{/if}}
|
{{/foreach}}
diff --git a/scripts.js b/scripts.js
index 0521809..3def0ba 100644
--- a/scripts.js
+++ b/scripts.js
@@ -145,19 +145,21 @@ function setSelectorYear(button_names, f_years_selector)
// Associer au bouton « Enlever » de chaque ligne l'action de suppression de la ligne
function initLine(row) {
- var removeBtn = row.querySelector('button[name="remove_line"]');
- removeBtn.onclick = () => {
- let count = removeBtn.closest("table").querySelectorAll('tbody tr').length;
- var min = removeBtn.getAttribute('min');
+ let removeBtn = row.querySelector('button[name="remove_line"]');
+ if (removeBtn != null) {
+ removeBtn.onclick = () => {
+ let count = removeBtn.closest("table").querySelectorAll('tbody tr').length;
+ var min = removeBtn.getAttribute('min');
- if (count <= min) {
- alert("Il n'est pas possible d'avoir moins de " + min + " ligne(s).");
- return false;
- }
+ if (count <= min) {
+ alert("Il n'est pas possible d'avoir moins de " + min + " ligne(s).");
+ return false;
+ }
- row.parentNode.removeChild(row);
- return true;
- };
+ row.parentNode.removeChild(row);
+ return true;
+ };
+ }
}
// Associer au bouton « Ajouter » de chaque table l'action d'ajouter une ligne
@@ -185,6 +187,28 @@ function addLine(button, codes) {
let lib = newNode.querySelector('.input-list span.label');
lib.innerText = '';
+ // si besoin, ajouter le bouton de suppression
+ let action_cell = newNode.querySelector('td.actions');
+ let removeBtn = newNode.querySelector('button[name="remove_line"]');
+ if (removeBtn == null) {
+ const attributs = {
+ "title" : "Enlever une ligne",
+ "min": "1",
+ "name": "remove_line",
+ "data-icon": "➖",
+ "type": "button",
+ "class": "icn-btn",
+ "value": "1",
+ "aria-label": "Enlever une ligne"
+ };
+ let new_button = document.createElement("button");
+ new_button.appendChild(document.createTextNode("Enlever"));
+ for (let attr in attributs) {
+ new_button.setAttribute(attr, attributs[attr]);
+ }
+ action_cell.appendChild(new_button);
+ }
+
// ajouter la nouvelle ligne
line.parentNode.appendChild(newNode);
initLine(newNode);