Skip to content

Commit

Permalink
Fonction pour gérer l'état de "lock" pour ajouter plusieurs fois le
Browse files Browse the repository at this point in the history
même svg à la suite
  • Loading branch information
wincelau committed Oct 12, 2021
1 parent a37f68c commit b71c1ca
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 18 deletions.
56 changes: 39 additions & 17 deletions public/js/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,9 @@ loadingTask.promise.then(function(pdf) {
document.getElementById('svg_selected_container').classList.add('d-none');
document.getElementById('svg_selected').src = null;
}
addLock = false;
document.querySelectorAll('.btn-svg').forEach(function(item) {
item.style.borderWidth = "1px";
});

stateAddLock(false);

canvasEditions.forEach(function(canvasEdition, index) {
var input_selected = document.querySelector('input[name="svg_2_add"]:checked');
if(input_selected) {
Expand Down Expand Up @@ -130,15 +129,12 @@ loadingTask.promise.then(function(pdf) {
});
svgButton.addEventListener('click', function(event) {
if(addLock) {
svgButton.style.borderWidth = "1px";
addLock = false;

stateAddLock(false);
return;
}
});
svgButton.addEventListener('dblclick', function(event) {
svgButton.style.borderWidth = "2px";
addLock = true;
stateAddLock(true);
});
var svgImg = document.createElement('img');
svgImg.src = svg.svg;
Expand All @@ -154,6 +150,36 @@ loadingTask.promise.then(function(pdf) {
return svgContainer;
}

document.getElementById('add-lock-checkbox').addEventListener('change', function() {
stateAddLock(this.checked);
});

var stateAddLock = function(state) {
var checkbox = document.getElementById('add-lock-checkbox');
var input_selected = document.querySelector('input[name="svg_2_add"]:checked');

addLock = state;

if(!input_selected) {
addLock = false;
checkbox.disabled = true;
} else {
checkbox.disabled = false;
}

if(addLock) {
var svgButton = document.querySelector('.btn-svg[for="'+input_selected.id+'"]');
svgButton.style.borderWidth = "2px";
checkbox.checked = true;
return;
}

document.querySelectorAll('.btn-svg').forEach(function(item) {
item.style.borderWidth = "1px";
});
checkbox.checked = false;
}

var displaysSVG = function() {
document.getElementById('svg_list').innerHTML = "";
document.getElementById('svg_list_signature').innerHTML = "";
Expand Down Expand Up @@ -205,15 +231,13 @@ loadingTask.promise.then(function(pdf) {
});
item.addEventListener('click', function(event) {
if(addLock) {
item.style.borderWidth = "1px";
addLock = false;
stateAddLock(false);

return;
}
});
item.addEventListener('dblclick', function(event) {
item.style.borderWidth = "2px";
addLock = true;
stateAddLock(true);
});
});

Expand All @@ -228,10 +252,7 @@ loadingTask.promise.then(function(pdf) {
document.getElementById('svg_selected_container').classList.add('d-none');
document.getElementById('svg_selected').src = null;
}
addLock = false;
document.querySelectorAll('.btn-svg').forEach(function(item) {
item.style.borderWidth = "1px";
});
stateAddLock(false);
canvasEditions.forEach(function(canvasEdition, index) {
var input_selected = document.querySelector('input[name="svg_2_add"]:checked');
if(input_selected) {
Expand All @@ -247,6 +268,7 @@ loadingTask.promise.then(function(pdf) {
});

displaysSVG();
stateAddLock();

document.getElementById('btn_modal_ajouter').addEventListener('click', function() {
var svgItem = {};
Expand Down
6 changes: 5 additions & 1 deletion templates/pdf.html.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,15 @@
</div>
<div style="height: 55px;" class="d-md-none"></div>
<div class="offcanvas offcanvas-end show d-none d-md-block shadow-sm" data-bs-backdrop="false" data-bs-scroll="true" data-keyboard="false" tabindex="-1" id="offcanvasTop" aria-labelledby="offcanvasTopLabel" style="width: 350px;">
<div class="offcanvas-header">
<div class="offcanvas-header mb-0 pb-0">
<h5 id="offcanvasTopLabel">Signature du PDF</h5>
<button type="button" class="btn-close text-reset d-md-none" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<div class="form-check form-switch mb-2 small">
<input class="form-check-input" type="checkbox" id="add-lock-checkbox" disabled="disabled">
<label class="form-check-label" for="add-lock-checkbox"> Garder la séléction active</label>
</div>
<div id="svg_list_signature" class="list-item-add"></div>
<div class="d-grid gap-2 mb-2 list-item-add">
<input type="radio" class="btn-check" id="radio_svg_signature_add" name="svg_2_add" autocomplete="off" value="signature">
Expand Down

0 comments on commit b71c1ca

Please sign in to comment.