Commit b8cbfea6 authored by Sylvain Coulange's avatar Sylvain Coulange
Browse files

suite stress

parent 2fd4a959
......@@ -268,7 +268,7 @@
<div class="form-check">
<input class="form-check-input" type="checkbox" value="" id="toggleBordures" onchange="toggleBordures(this)" checked>
<label class="form-check-label" for="toggleBordures">
Bordures
Afficher la bordures des cartes.
</label>
</div>
<!-- MAGNETISME (NE FONCTIONNE PAS AVEC MULTIDRAGGABLE)-->
......@@ -285,7 +285,7 @@
</div> -->
<!-- TAILLE ESPACE -->
<div>
Taille des espaces : <input id="spaceWidth" type="number" value="37" style="width:60px"> pixels.
<p>Taille des espaces : <input id="spaceWidth" type="number" value="37" style="width:60px"> pixels (non rétroactif).</p>
</div>
<!-- BACKGROUND COLOR -->
<form class="d-flex align-items-center my-2">
......@@ -293,8 +293,13 @@
<div style="background-color: white;" class="colorSetting colorSettingSelected" onclick="setCouleurEcritoire(this, 'white')"></div>
<div style="background-color: #c0c0c0;" class="colorSetting" onclick="setCouleurEcritoire(this, '#c0c0c0')"></div>
<div style="background-color: black;" class="colorSetting" onclick="setCouleurEcritoire(this, 'black')"></div>
<input type="color" id="favcolor" name="favcolor" onchange="setCouleurEcritoire(this, this.value)">
<input type="color" id="favcolor" class="colorSetting" name="favcolor" onchange="setCouleurEcritoire(this, this.value)">
</form>
<!-- STRESS TAILLE CARTES -->
<div>
<p>Taille des cartes avec accent primaire : <input type="number" value="2" style="width:60px" onchange="stress1ponderator = this.value.replace(',','.')"> fois la taille normale.</p>
<p>Taille des cartes avec accent secondaire : <input type="number" value="1,5" style="width:60px" onchange="stress2ponderator = this.value.replace(',','.')"> fois la taille normale.</p>
</div>
</div>
<div class="tab-pane fade" id="nav-zi" role="tabpanel" aria-labelledby="nav-zi-tab">
......
// https://jqueryui.com/draggable/#snap-to
// http://jsfiddle.net/fhamidi/PjmJe/1/
let stress1ponderator = 2
let stress2ponderator = 1.5
//////////////////////////////////////////////////////
///// IMPORT DES CARTES (autres que les tableaux svg)
for (i in puncts) {
......@@ -113,6 +119,8 @@ $('#multidraggable').multidraggable({
onUnselecting:(event, ui)=>{},
onUnselected:(event, ui)=>{
document.querySelector('#tooldiv').style.display = 'none'
// réinitialisation stress dans l'éditeur
setStress(0)
},
onStartDrag:(event, ui, elements)=>{},
......@@ -161,11 +169,11 @@ function recupPhon(identifiant){
let ponderateur = 1 // pondérateur de taille pour stress
if (stress1) {
ponderateur = 2
ponderateur = stress1ponderator
newDiv.classList.add('stress1')
setStress(0)
} else if (stress2) {
ponderateur = 1.5
ponderateur = stress2ponderator
newDiv.classList.add('stress2')
setStress(0)
}
......@@ -280,7 +288,6 @@ function recupPhon(identifiant){
}
}
newDiv.setAttribute('onclick', 'selectPhon(this)')
if (lastSelect != "" && lastSelect.offsetTop != 0) {
......@@ -358,6 +365,30 @@ function getTools(group){
document.querySelectorAll('.noMove').forEach(toto => { toto.style = "" })
tooldiv.style.display = 'block'
// Lors de la sélection : afficher le stress dans l'éditeur
str1 = false
str2 = false
for (el in group) {
if (group[el].classList.contains('stress1')) str1 = true
if (group[el].classList.contains('stress2')) str2 = true
}
if (str1 && str2) {
stress1 = false
document.getElementById('stress1').classList.remove('stressOn')
stress2 = false
document.getElementById('stress2').classList.remove('stressOn')
} else if (str1) {
stress1 = true
document.getElementById('stress1').classList.add('stressOn')
stress2 = false
document.getElementById('stress2').classList.remove('stressOn')
} else if (str2) {
stress1 = false
document.getElementById('stress1').classList.remove('stressOn')
stress2 = true
document.getElementById('stress2').classList.add('stressOn')
}
}
function removeGroup(groupX){
......@@ -440,33 +471,87 @@ function getHighestZIndex(){
// GESTION DES STRESS
let stress1 = 0
let stress2 = 0
let stress1 = false
let stress2 = false
function setStress(nb){
if (nb == 0) {
stress1 = 0
// On passe tout à 0 sans se poser de question
stress1 = false
document.getElementById('stress1').classList.remove('stressOn')
stress2 = 0
stress2 = false
document.getElementById('stress2').classList.remove('stressOn')
} else if (nb == 1) {
if (stress1 == 1) {
stress1 = 0
document.getElementById('stress1').classList.remove('stressOn')
} else {
stress1 = 1
if (!stress1) {
// Si stress1 n'est pas encore actif
stress1 = true
document.getElementById('stress1').classList.add('stressOn')
if (group.length > 0) {
// si des cartes sont sélectionnées, on les passe à stress1
for (el in group) { setStressToCarte(group[el],1) }
}
} else {
// Si stress1 est déjà actif : on passe à 0
stress1 = false
document.getElementById('stress1').classList.remove('stressOn')
if (group.length > 0) {
for (el in group) { setStressToCarte(group[el],0) }
}
}
stress2 = 0
stress2 = false
document.getElementById('stress2').classList.remove('stressOn')
} else if (nb == 2) {
stress1 = 0
stress1 = false
document.getElementById('stress1').classList.remove('stressOn')
if (stress2 == 1) {
stress2 = 0
document.getElementById('stress2').classList.remove('stressOn')
} else {
stress2 = 1
if (!stress2) {
stress2 = true
document.getElementById('stress2').classList.add('stressOn')
if (group.length > 0) {
for (el in group) { setStressToCarte(group[el],2) }
}
} else {
stress2 = false
document.getElementById('stress2').classList.remove('stressOn')
if (group.length > 0) {
for (el in group) { setStressToCarte(group[el],0) }
}
}
}
getTools() // on repositionne les outils
}
function setStressToCarte(el,nb){
if (nb == 0) {
if (el.classList.contains('stress1')){
el.classList.remove('stress1')
el.style.width = parseFloat(el.style.width) / stress1ponderator +'px'
el.style.height = parseFloat(el.style.height) / stress1ponderator +'px'
el.style.top = parseFloat(el.style.top) + el.offsetHeight*((stress1ponderator-1)/2) + 'px'
}
if (el.classList.contains('stress2')){
el.classList.remove('stress2')
el.style.width = parseFloat(el.style.width) / stress2ponderator +'px'
el.style.height = parseFloat(el.style.height) / stress2ponderator +'px'
el.style.top = parseFloat(el.style.top) + el.offsetHeight*((stress2ponderator-1)/2) + 'px'
}
} else if (nb == 1) {
if (!el.classList.contains('stress1')){
setStressToCarte(el,0) // réinitialisation pour partir de 0, et éviter de doubler la taille d'un stress2 en passant à stress1
el.classList.add('stress1')
el.style.width = parseFloat(el.style.width) * stress1ponderator +'px'
el.style.height = parseFloat(el.style.height) * stress1ponderator +'px'
el.style.top = parseFloat(el.style.top) - el.offsetHeight*((stress1ponderator-1)/(2*stress1ponderator)) + 'px'
}
} else if (nb == 2) {
if (!el.classList.contains('stress2')){
setStressToCarte(el,0) // réinitialisation pour partir de 0, et éviter de doubler la taille d'un stress2 en passant à stress1
el.classList.add('stress2')
el.style.width = parseFloat(el.style.width) * stress2ponderator +'px'
el.style.height = parseFloat(el.style.height) * stress2ponderator +'px'
el.style.top = parseFloat(el.style.top) - el.offsetHeight*((stress2ponderator-1)/(2*stress2ponderator)) + 'px'
}
}
}
\ No newline at end of file
Markdown is supported
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