13,6 → 13,7 |
this.userId = proprietes.userId; |
this.token = proprietes.token; |
this.protocoles = proprietes.protocoles; |
this.urlServiceDel = proprietes.urlServiceDel; |
} |
this.protocole = null; |
this.voteId = null; |
40,7 → 41,6 |
$( window ).on( 'resize', lthis.redimentionnerModaleCarousel.bind( lthis ) ); |
this.initEvtsFonctionsPhoto(); |
this.initEvtsRetourGalerieResponsive(); |
this.initEvtsTagsPF(); |
}; |
|
WidgetPhotoPopup.prototype.mettreAJourPopup = function() { |
51,6 → 51,8 |
this.fournirLienIdentiplante(); |
this.pivoterImage(); |
this.initEvtsProtocole(); |
this.initEvtsTagsPF(); |
this.initEvtsTagsCel(); |
}; |
|
WidgetPhotoPopup.prototype.mettreAJourInfosImage = function() { |
102,8 → 104,11 |
WidgetPhotoPopup.prototype.initEvtsDefilerImage = function() { |
const lthis = this; |
|
$( '#precedent, #suivant' ).off('click'); |
|
$( '#precedent, #suivant' ).on( 'click', function() { |
lthis.defilerImage( this.id ); |
lthis.initEvtsTagsPF(); |
}); |
|
$( '#print_content:not(saisir-tag)' ).on( 'keydown', function( event ) { |
168,17 → 173,77 |
}); |
}; |
|
WidgetPhotoPopup.prototype.initEvtsTagsCel = function(){ |
const lthis = this; |
$( '#tags-cel' ).html(''); |
|
$( '#tags-cel' ).append( |
"<p>"+ lthis.item['tags_photo']+"</p>" |
) |
} |
|
WidgetPhotoPopup.prototype.initEvtsTagsPF = function() { |
//recupérer tags en ajax (voir pictoflora, peut-être dans le php?) |
// _OPTIONS |
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles?image=197938 |
// _GET |
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles?image=197938 |
const tagsPfDiv = $('#tags-pf'); |
tagsPfDiv.html(''); |
tagsPfDiv.append('<a id="port" class="btn tag">Port</a>' + |
'<a id="fleur" class="btn tag">Fleur</a>' + |
'<a id="fruit" class="btn tag">Fruit</a>' + |
'<a id="feuille" class="btn tag">Feuille</a>' + |
'<a id="ecorce" class="btn tag">Ecorce</a>' + |
'<a id="rameau" class="btn tag">Rameau</a>' + |
'<a id="planche" class="btn tag">Planche</a>' + |
'<a id="rosette" class="btn tag">Rosette</a>' + |
'<a id="pousse" class="btn tag">Pousse</a>'); |
|
this.tagsPf(); |
this.tagsPfCustom(); |
|
$( '#bloc-tags' ).off('click'); |
|
$( '#bloc-tags' ).on( 'click', '.tag', function( event ) { |
event.preventDefault(); |
$( this ).toggleClass( 'actif' ); |
|
var motCleClique = ''; |
motCleClique = $(this).attr('id'); |
|
// Utiliser la méthode findIndex pour obtenir l'index de l'élément dans le tableau |
var indexElementTrouve = lthis.item['tags_pf'].findIndex(function (tag) { |
return tag['mot_cle'] === motCleClique; |
}); |
|
// Vérifier si l'élément a été trouvé |
if (indexElementTrouve !== -1) { |
//supprimer tag dans DEL |
if (lthis.item['tags_pf'][indexElementTrouve].hasOwnProperty('id_mot_cle') && lthis.item['tags_pf'][indexElementTrouve]['id_mot_cle'] != ''){ |
let url = lthis.urlServiceDel + 'mots-cles/' + lthis.item['tags_pf'][indexElementTrouve]['id_mot_cle'] |
|
lthis.envoyerVersService('DELETE', url) |
} |
|
// Supprimer l'élément de this.item['tags_pf'] à l'index trouvé |
lthis.item['tags_pf'].splice(indexElementTrouve, 1); |
} else { |
//Ajout tag dans le DEL |
let url = lthis.urlServiceDel + 'mots-cles'; |
let donnees = { |
"image" : lthis.idImage, |
"mot_cle" : motCleClique, |
"auteur.id" : lthis.item["utilisateur"]["id_utilisateur"] |
} |
|
lthis.envoyerVersService('PUT', url, JSON.stringify(donnees), function (erreur, tagId) { |
if (erreur) { |
console.error("Erreur lors de la requête :", erreur); |
} else { |
console.log('tag : ' + motCleClique + ' ajouté'); |
lthis.item['tags_pf'].push({'id_mot_cle' : tagId['id'][0], 'mot_cle' : motCleClique}) |
} |
}); |
} |
//TODO post vers le del |
}); |
/* //@TODO est-ce qu'on garde cette croix? |
$( '#bloc-tags' ).on( 'click', '.custom-tag.actif .fermer', function( event ) { |
event.preventDefault(); |
// Supprimer un custom-tag |
197,7 → 262,8 |
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles?image=197938 |
$( this ).parent( '.custom-tag' ).remove(); |
}); |
|
*/ |
/* |
$( '#bloc-tags' ).on( 'keyup', '.custom-tag.actif', function( event ) { |
let supprimerTag = false; |
|
226,6 → 292,7 |
$( this ).parent( '.custom-tag' ).remove(); |
} |
}); |
*/ |
}; |
|
WidgetPhotoPopup.prototype.defilerImage = function( sens ) { |
330,6 → 397,25 |
} |
}; |
|
WidgetPhotoPopup.prototype.tagsPf = function () { |
const lthis = this; |
$('#tags-pf-supp').html(''); |
|
lthis.item['tags_pf'].forEach(tag => { |
const tagElement = document.getElementById(tag['mot_cle']); |
|
// Vérifier si l'élément existe |
if (tagElement) { |
// Ajouter la classe 'active' à l'élément <a> |
tagElement.classList.add('actif'); |
} else { |
$('#tags-pf-supp').append('<a id="'+tag['mot_cle']+'" class="btn tag custom-tag actif">' + tag['mot_cle'] + ' ' + |
// '<i class="fas fa-times-circle fermer"></i>' + |
'</a>') |
} |
}); |
} |
|
WidgetPhotoPopup.prototype.tagsPfCustom = function() { |
const lthis = this; |
|
351,26 → 437,31 |
nouveauTagAttr = lthis.chaineValableAttributsHtml( nouveauTag.toLowerCase() ); |
|
if( lthis.valOk( nouveauTagAttr ) && !lthis.valOk( $( '#' + nouveauTagAttr + '.tag' ) ) ) { |
// Envoyer tags en ajax : |
// _OPTIONS |
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles/ |
// _paramètres : |
//rien |
// _PUT |
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles/ |
// _paramètres : |
// image=197938&mot_cle=motcleperso&auteur.id=44084 |
// Mettre à jour les mots cles |
// _OPTIONS |
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles?image=197938 |
// _GET |
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles?image=197938 |
$( '#tags-pf-supp' ).append( |
'<a id="' + nouveauTagAttr + '" class="btn tag custom-tag actif">' + |
nouveauTag + ' <i class="fas fa-times-circle fermer"></i>' + |
nouveauTag + ' ' + |
// '<i class="fas fa-times-circle fermer"></i>' + |
'</a>' |
); |
$( '#form-tags-auteur' )[0].reset(); |
|
let url = lthis.urlServiceDel + 'mots-cles'; |
let donnees = { |
"image" : lthis.idImage, |
"mot_cle" : nouveauTagAttr, |
"auteur.id" : lthis.item["utilisateur"]["id_utilisateur"] |
} |
|
// Envoie du nouveau tag dans le DEL |
lthis.envoyerVersService('PUT', url, JSON.stringify(donnees), function (erreur, tagId) { |
if (erreur) { |
console.error("Erreur lors de la requête :", erreur); |
} else { |
console.log('tag : ' + nouveauTagAttr + ' ajouté'); |
lthis.item['tags_pf'].push({'id_mot_cle' : tagId['id'][0], 'mot_cle' : nouveauTagAttr}) |
} |
}); |
|
// $( '#form-tags-auteur' )[0].reset(); |
$( this ).val( '' ); |
} |
} |