liquid_feedback_frontend

view static/js/xhr.js @ 1800:b87997219042

Updated spanish translation
author bsw
date Thu Oct 21 15:22:29 2021 +0200 (2021-10-21)
parents fe28be5403e2
children
line source
1 function toggleInterest(issueId) {
2 var linkEl = document.getElementById("issue_" + issueId + "_interest_link");
3 var iconEl = document.getElementById("issue_" + issueId + "_interest_icon");
4 var interested = iconEl.innerHTML == "star_outline";
6 if (interested) {
7 linkEl.classList.add("mdl-button--accent");
8 linkEl.classList.add("mdl-button--feature-on");
9 linkEl.classList.remove("mdl-button--feature-off");
10 iconEl.innerHTML = "star";
11 } else {
12 linkEl.classList.remove("mdl-button--accent");
13 linkEl.classList.remove("mdl-button--feature-on");
14 linkEl.classList.add("mdl-button--feature-off");
15 iconEl.innerHTML = "star_outline";
16 }
18 var data = new FormData();
19 data.append("issue_id", issueId);
20 data.append("interested", interested);
22 fetch(baseURL + "interest/xhr_update", {
23 method: "POST",
24 body: data
25 }).then(response => {
26 if (response.status != 200) {
27 window.alert("Error during update");
28 }
29 });
31 }
33 function rateSuggestion(id, degree, fulfilled) {
34 document.getElementById('rating_suggestion_id').value = id;
35 document.getElementById('rating_degree' + degree).MaterialRadio.check();
36 if (fulfilled) {
37 document.getElementById('rating_fulfilled').MaterialRadio.check();
38 } else if (fulfilled == false) {
39 document.getElementById('rating_notfulfilled').MaterialRadio.check();
40 } else {
41 document.getElementById('rating_fulfilled').MaterialRadio.uncheck();
42 document.getElementById('rating_notfulfilled').MaterialRadio.uncheck();
43 }
44 // document.getElementById('rating_dialog').showModal();
45 document.getElementById('rating_dialog').classList.remove("hidden");
47 }
49 function updateOpinion() {
50 var suggestionId = document.getElementById("rating_suggestion_id").value;
52 var degree = 0;
53 if (document.getElementById("rating_degree-2").children[0].checked)
54 degree = -2;
55 else if (document.getElementById("rating_degree-1").children[0].checked)
56 degree = -1;
57 else if (document.getElementById("rating_degree1").children[0].checked)
58 degree = 1;
59 else if (document.getElementById("rating_degree2").children[0].checked)
60 degree = 2;
61 var fulfilled = false;
62 if (document.getElementById("rating_fulfilled").children[0].checked)
63 fulfilled = true;
64 if (degree == 0)
65 fulfilled = null;
66 var data = new FormData();
67 data.append("suggestion_id", suggestionId);
68 data.append("degree", degree);
69 data.append("fulfilled", fulfilled);
71 var degreeText = rateSuggestionDegreeTexts[degree];
72 var fulfilledText = fulfilled ? rateSuggestionFulfilledText : rateSuggestionNotFulfilledText;
73 var textTemplate;
74 var icon;
75 var iconColor;
76 if (
77 (degree > 0 && ! fulfilled)
78 || (degree < 0 && fulfilled)
79 ) {
80 icon = "warning";
81 if (degree == 2 || degree == -2) {
82 iconColor = "red";
83 }
84 textTemplate = rateSuggestionButText;
85 } else {
86 textTemplate = rateSuggestionAndText;
87 icon = "done";
88 }
89 textTemplate = textTemplate.replace("#{opinion}", degreeText);
90 textTemplate = textTemplate.replace("#{implemented}", fulfilledText);
91 var text = textTemplate;
92 if (degree == 0) {
93 text = "";
94 icon = "blank";
95 }
96 document.getElementById("s" + suggestionId + "_rating_text").innerHTML = text;
97 document.getElementById("s" + suggestionId + "_rating_icon").innerHTML = icon;
98 if (iconColor == "red") {
99 document.getElementById("s" + suggestionId + "_rating_icon").classList.add("icon-red");
100 } else {
101 document.getElementById("s" + suggestionId + "_rating_icon").classList.remove("icon-red");
102 }
103 if (degree == 0) {
104 document.getElementById("s" + suggestionId + "_rate_button").innerHTML = rateSuggestionRateText;
105 } else {
106 document.getElementById("s" + suggestionId + "_rate_button").innerHTML = rateSuggestionUpdateRatingText;
107 }
108 document.getElementById("s" + suggestionId + "_rate_button").setAttribute("onclick", "rateSuggestion(" + suggestionId + ", " + degree + ", " + fulfilled + ");return false;")
109 // document.getElementById('rating_dialog').close();
110 document.getElementById('rating_dialog').classList.add("hidden");
112 fetch(baseURL + "opinion/xhr_update", {
113 method: "POST",
114 body: data
115 }).then(response => {
116 if (response.status != 200) {
117 window.alert("Error during update");
118 }
119 });
121 }

Impressum / About Us