aboutsummaryrefslogtreecommitdiff
path: root/public/js/InputText.js
blob: ba7e8e474ef496a346b504984acee1c02f865294 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// s'en servir dans menu et chemin
class InputText{
	constructor(name){
		this.name = name;
		this.parent = document.getElementById(name);
	}
	openTextInput(){
		this.parent.querySelector('#' + this.name + '_span').classList.add('hidden');
		this.parent.querySelector('#' + this.name + '_input').classList.remove('hidden');
		this.parent.querySelector('#' + this.name + '_open').classList.add('hidden');
		this.parent.querySelector('#' + this.name + '_submit').classList.remove('hidden');
		this.parent.querySelector('#' + this.name + '_cancel').classList.remove('hidden');
	}
	closeTextInput(){
		this.parent.querySelector('#' + this.name + '_span').classList.remove('hidden');
		this.parent.querySelector('#' + this.name + '_input').classList.add('hidden');
		this.parent.querySelector('#' + this.name + '_open').classList.remove('hidden');
		this.parent.querySelector('#' + this.name + '_submit').classList.add('hidden');
		this.parent.querySelector('#' + this.name + '_cancel').classList.add('hidden');
	}
	submitTextInput(){
		const new_text = this.parent.querySelector('#' + this.name + '_input').value;

		fetch('index.php?entire_site_edit=' + this.name, {
	        method: 'POST',
	        headers: { 'Content-Type': 'application/json' },
	        body: JSON.stringify({new_text: new_text})
	    })
	    .then(response => response.json())
	    .then(data => {
	        if(data.success){
	        	this.parent.querySelector('#' + this.name + '_span').innerHTML = new_text;
				this.closeTextInput(this.name);
	        }
	        else{
	            console.error("Erreur: le serveur n'a pas enregistré le nouveau texte.");
	        }
	    })
	    .catch(error => {
	        console.error('Erreur:', error);
	    });
	}
	cancelTextInput(){
		this.parent.querySelector('#' + this.name + '_input').value = this.parent.querySelector('#' + this.name + '_span').innerHTML;
		this.closeTextInput(this.name);
	}
}