mirror of
https://github.com/24eme/signaturepdf.git
synced 2023-08-25 09:33:08 +02:00
Texte draggable
This commit is contained in:
parent
ba3fd22677
commit
93ebb20a5e
@ -36,27 +36,23 @@ loadingTask.promise.then(function(pdf) {
|
|||||||
var svgButton = document.createElement('label');
|
var svgButton = document.createElement('label');
|
||||||
svgButton.classList.add('position-relative');
|
svgButton.classList.add('position-relative');
|
||||||
svgButton.classList.add('btn');
|
svgButton.classList.add('btn');
|
||||||
|
svgButton.classList.add('btn-svg');
|
||||||
svgButton.classList.add('btn-outline-secondary');
|
svgButton.classList.add('btn-outline-secondary');
|
||||||
svgButton.htmlFor = "radio_svg_"+i;
|
svgButton.htmlFor = "radio_svg_"+i;
|
||||||
if(svg.type == 'signature') {
|
if(svg.type == 'signature') {
|
||||||
svgButton.innerHTML += '<i class="bi bi-vector-pen text-black align-middle float-start"></i> ';
|
svgButton.innerHTML += '<i class="bi bi-vector-pen text-black align-middle float-start"></i>';
|
||||||
}
|
}
|
||||||
if(svg.type == 'initials') {
|
if(svg.type == 'initials') {
|
||||||
svgButton.innerHTML += '<i class="bi bi-type text-black align-middle float-start"></i> ';
|
svgButton.innerHTML += '<i class="bi bi-type text-black align-middle float-start"></i>';
|
||||||
}
|
}
|
||||||
if(svg.type == 'rubber_stamber') {
|
if(svg.type == 'rubber_stamber') {
|
||||||
svgButton.innerHTML += '<i class="bi bi-card-text text-black align-middle float-start"></i> ';
|
svgButton.innerHTML += '<i class="bi bi-card-text text-black align-middle float-start"></i>';
|
||||||
}
|
}
|
||||||
if(svg.type) {
|
if(svg.type) {
|
||||||
document.querySelector('.btn-add-svg-type[data-type="'+svg.type+'"]').classList.add('d-none');
|
document.querySelector('.btn-add-svg-type[data-type="'+svg.type+'"]').classList.add('d-none');
|
||||||
}
|
}
|
||||||
|
|
||||||
svgButton.innerHTML += '<a title="Supprimer" data-index="'+i+'" class="btn-svg-list-suppression opacity-50 link-dark position-absolute" style="right: 6px; top: 2px;"><i class="bi bi-trash"></i></a>';
|
svgButton.innerHTML += '<a title="Supprimer" data-index="'+i+'" class="btn-svg-list-suppression opacity-50 link-dark position-absolute" style="right: 6px; top: 2px;"><i class="bi bi-trash"></i></a>';
|
||||||
svgButton.draggable = true;
|
svgButton.draggable = true;
|
||||||
svgButton.addEventListener('dragstart', function(event) {
|
|
||||||
document.getElementById(this.htmlFor).checked = true;
|
|
||||||
});
|
|
||||||
|
|
||||||
var svgImg = document.createElement('img');
|
var svgImg = document.createElement('img');
|
||||||
svgImg.src = svg.svg;
|
svgImg.src = svg.svg;
|
||||||
svgImg.draggable = false;
|
svgImg.draggable = false;
|
||||||
@ -71,6 +67,12 @@ loadingTask.promise.then(function(pdf) {
|
|||||||
return svgContainer;
|
return svgContainer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
document.querySelectorAll('label.btn-svg').forEach(function(item) {
|
||||||
|
item.addEventListener('dragstart', function(event) {
|
||||||
|
document.getElementById(this.htmlFor).checked = true;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
var displaysSVG = function() {
|
var displaysSVG = function() {
|
||||||
document.getElementById('svg_list').innerHTML = "";
|
document.getElementById('svg_list').innerHTML = "";
|
||||||
document.getElementById('svg_list_signature').innerHTML = "";
|
document.getElementById('svg_list_signature').innerHTML = "";
|
||||||
@ -322,6 +324,9 @@ loadingTask.promise.then(function(pdf) {
|
|||||||
fabric.loadSVGFromURL(item, function(objects, options) {
|
fabric.loadSVGFromURL(item, function(objects, options) {
|
||||||
var svg = fabric.util.groupSVGElements(objects, options);
|
var svg = fabric.util.groupSVGElements(objects, options);
|
||||||
svg.scaleToHeight(100);
|
svg.scaleToHeight(100);
|
||||||
|
if(svg.getScaledWidth() > 200) {
|
||||||
|
svg.scaleToWidth(200);
|
||||||
|
}
|
||||||
svg.top = y - (svg.getScaledHeight() / 2);
|
svg.top = y - (svg.getScaledHeight() / 2);
|
||||||
svg.left = x - (svg.getScaledWidth() / 2);
|
svg.left = x - (svg.getScaledWidth() / 2);
|
||||||
canvas.add(svg).renderAll();
|
canvas.add(svg).renderAll();
|
||||||
|
@ -46,7 +46,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="d-grid gap-2 mb-2 list-item-add">
|
<div class="d-grid gap-2 mb-2 list-item-add">
|
||||||
<input type="radio" class="btn-check" id="radio_svg_text" name="svg_2_add" autocomplete="off" value="text">
|
<input type="radio" class="btn-check" id="radio_svg_text" name="svg_2_add" autocomplete="off" value="text">
|
||||||
<label class="btn btn-outline-secondary text-black text-start" for="radio_svg_text"><i class="bi bi-textarea-t"></i> Texte</label>
|
<label draggable="true" style="cursor: grab;" class="btn btn-outline-secondary text-black text-start btn-svg" for="radio_svg_text"><i class="bi bi-textarea-t"></i> Texte</label>
|
||||||
</div>
|
</div>
|
||||||
<div id="svg_list" class="d-grid gap-2 mt-2 mb-2 list-item-add"></div>
|
<div id="svg_list" class="d-grid gap-2 mt-2 mb-2 list-item-add"></div>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user