source: Git/src/main/resources/static/js/sharedScript.js@ 7f36551

main
Last change on this file since 7f36551 was 7f36551, checked in by Test <matonikolov77@…>, 2 years ago

Resolved bux for fronted and repaired filtering through title and genres for movies

  • Property mode set to 100644
File size: 6.4 KB
Line 
1var urlRating;
2
3$(document).ready(function (){
4 var elements = $(".elements")
5 var elementGrade;
6
7
8 $("#dialog-rating").dialog({
9 autoOpen: false,
10 modal: true,
11 buttons: [
12 {
13 text: "Потврди",
14 click: function () {
15 $("#dialog-rating").dialog("close")
16 ajaxCallRating(urlRating,elementGrade)
17 }
18 },
19 {
20 text: "Откажи",
21 click: function () {
22 $("#dialog-rating").dialog("close")
23 }
24 }
25 ]
26 });
27 $(".button-add-grade-movie").on("click",function (){
28 elementGrade = $(this)
29 urlRating ="api/movies/grade/"+$(this).attr("movie-id")
30 $("#dialog-rating").dialog("open")
31 })
32 $(".button-add-grade-person").on("click",function (){
33 elementGrade = $(this)
34 urlRating ="api/persons/grade/"+$(this).attr("person-id")
35 $("#dialog-rating").dialog("open")
36 })
37
38
39 $(".search-button-title").on("click",function (){
40 let filter = $("#searchTitle").val()
41 console.log(elements)
42 for (let item of elements){
43 let title = $(item).find(".card-title").text()
44 if (title.toLowerCase() === filter.toLowerCase()){
45 console.log("Da")
46 $(item).css("display","block")
47 }
48 else{
49 $(item).css("display","none")
50 }
51 }
52
53 })
54
55
56 $(".search-button").on("click",function () {
57 let filter = $("#searchGenre").val()
58 console.log(elements)
59
60 for (let item of elements) {
61 let genre = $(item).find(".card-genre")
62 let visible = false;
63
64 for (let g of genre) {
65
66 if ($(g).text().toLowerCase() === filter.toLowerCase()) {
67 visible = true
68 $(item).css("display","block")
69 break;
70 }
71 }
72 if (!visible)
73 $(item).css("display","none")
74 }
75 });
76
77 $(".button-delete-movie").on("click",function (){
78 let button = $(this)
79 let url = "api/movies/delete/" + $(button).attr("movie-id")
80 ajaxCallDelete(url,button)
81 })
82 $(".button-delete-actor").on("click",function (){
83 let button = $(this)
84 let url = "api/persons/delete/" + $(button).attr("person-id")
85 ajaxCallDelete(url,button)
86 })
87 $(".button-delete-discussion").on("click",function (){
88 let button = $(this)
89 let url = "api/discussions/delete/" + $(button).attr("discussion-id")
90 ajaxCallDelete(url,button)
91 })
92
93 $(document.body).on("click",".button-confirm",function (){
94
95 $(this).parent().parent().fadeOut(2000)
96 })
97 $(".person-movies").change(function (){
98 if (this.value === "A"){
99 $(".movie-directors").attr("hidden",true).prop("selected",false)
100
101
102 $(".movies-actors").attr("hidden",false)
103
104 }
105 else{
106 $(".movies-actors").attr("hidden",true).prop("selected",false)
107 $(".movie-directors").attr("hidden",false)
108 }
109 })
110 $(document.body).on("click",".button-add-favourite-list",function (){
111 let button = $(this)
112 let url = "api/movies/like/"+ $(this).attr("movie-id") + "?userId="+ $(this).attr("user-id")
113 ajaxCallLike(url,button,'like','Веќе е филмот допаднат!')
114 })
115 $(document.body).on("click",".button-remove-favourite-list",function (){
116 let button = $(this)
117 let url = "api/movies/unlike/"+ $(this).attr("movie-id")+"?userId="+ $(this).attr("user-id")
118 ajaxCallLike(url,button,'unlike','Немате оставено допаѓање на филмот!')
119 })
120 $(".discussion-type").change(function (){
121 if (this.value === "M"){
122 $(".persons-discussion").hide()
123 $(".movies-discussion").show()
124
125
126 }
127 else{
128 $(".movies-discussion").hide()
129 $(".persons-discussion").show()
130 }
131 })
132
133
134})
135function ajaxCallLike(url,button,type,message){
136 $.ajax({
137 url:url,
138 success:function (data){
139 if (data){
140 let el = $(button).parent().siblings().eq(3)
141 console.log(el)
142 if (type=="like") {
143 $(el).html(parseInt($(el).text()) + 1)
144 console.log("da")
145 }
146 else
147 $(el).html(parseInt($(el).text()) - 1)
148 $(button).css("display","none")
149 let userId = $(button).attr("user-id")
150 let movieId=$(button).attr("movie-id")
151 if (type==='like') {
152 $(button).parent().append("<a class='bottom-heart btn btn-danger button-remove-favourite-list' movie-id=" + movieId + " user-id=" + userId + ">💔</a>")
153 console.log("da")
154 }
155 else{
156 $(button).parent().append("<a class='bottom-heart btn btn-success button-add-favourite-list' movie-id=" + movieId + " user-id=" + userId + ">❤</a>")
157
158 }
159 }
160 else {
161 $(button).parent().append("<div>" + message +" <button class='button-confirm'>Ок</button></div>")
162 }
163 }
164 })
165}
166function ajaxCallDelete(url,button){
167 $.ajax({
168 url:url,
169 method:"DELETE",
170 success: function (data){
171 if (data){
172 console.log(data)
173 $(button).parent().parent().html("<div>Бришењето е успешно!<button class='button-confirm'>Ок</button></div>")
174 }
175 else {
176 var div = "<div>Веќе е избришан записот! <button class='button-confirm'>Ок</button></div>"
177 button.parent().html(button.parent().html() + div)
178 }
179 }
180 })
181}
182function ajaxCallRating(url,button,type){
183 model = {
184 rating:$("#grade").val(),
185 reason:$("#reason").val()
186 }
187 $.ajax({
188 url:urlRating,
189 method: "POST",
190 dataType:"json",
191 data:JSON.stringify(model),
192 contentType : 'application/json; charset=utf-8',
193 success: function (data){
194 if (data){
195 console.log(data)
196 $(button).text("Промени оцена и мислење")
197 }
198
199 }
200 })
201}
Note: See TracBrowser for help on using the repository browser.