mirror of
				https://github.com/KevinMidboe/zoff.git
				synced 2025-10-29 18:00:23 +00:00 
			
		
		
		
	Fixed list-populate error
- Fixed issue where updating a list would cause it to be empty visually on update for users
This commit is contained in:
		| @@ -5,11 +5,11 @@ var gulp    = require('gulp'), | ||||
|  | ||||
| gulp.task('js', function () { | ||||
|     gulp.src(['server/VERSION.js', 'server/config/api_key.js', 'server/public/assets/js/*.js', '!server/public/assets/js/embed*', '!server/public/assets/js/token*', '!server/public/assets/js/remotecontroller.js', '!server/public/assets/js/callback.js']) | ||||
|         .pipe(uglify({ | ||||
|         /*.pipe(uglify({ | ||||
|         	mangle: true, | ||||
|             compress: true, | ||||
|         	enclose: true | ||||
|         })) | ||||
|         }))*/ | ||||
|         .pipe(concat('main.min.js')) | ||||
|         .pipe(gulp.dest('server/public/assets/dist')); | ||||
| }); | ||||
|   | ||||
| @@ -18,6 +18,14 @@ var Helper = { | ||||
|         return arr[Math.floor(Math.random() * arr.length)]; | ||||
|     }, | ||||
|  | ||||
|     computedStyle: function(element, type) { | ||||
|         try { | ||||
|             return parseInt(window.getComputedStyle(document.querySelector(element), null).getPropertyValue(type).replace("px", "")) | ||||
|         } catch(e) { | ||||
|             return 0; | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     toggleClass: function(element, className) { | ||||
|         try { | ||||
|             if(typeof(element) == "object") { | ||||
| @@ -60,7 +68,9 @@ var Helper = { | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         }catch(e) {} | ||||
|         }catch(e) { | ||||
|             //console.log(e); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     css: function(element, attribute, value) { | ||||
| @@ -89,6 +99,7 @@ var Helper = { | ||||
|                 } | ||||
|             } | ||||
|         } catch(e) { | ||||
|             //console.log(e); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
| @@ -102,7 +113,9 @@ var Helper = { | ||||
|                     return elements[i].innerHTML; | ||||
|                 } | ||||
|             } | ||||
|         } catch(e){} | ||||
|         } catch(e){ | ||||
|             //console.log(e); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     removeClass: function(element, className) { | ||||
| @@ -118,6 +131,7 @@ var Helper = { | ||||
|                 } | ||||
|             } | ||||
|         } catch(e) { | ||||
|             //console.log(e); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
| @@ -149,7 +163,9 @@ var Helper = { | ||||
|                     elements[i].remove(); | ||||
|                 } | ||||
|             } | ||||
|         } catch(e) {} | ||||
|         } catch(e) { | ||||
|             //console.log(e); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     setHtml: function(element, html) { | ||||
| @@ -170,7 +186,9 @@ var Helper = { | ||||
|                     elements[i].innerHTML = html; | ||||
|                 } | ||||
|             } | ||||
|         } catch(e) {} | ||||
|         } catch(e) { | ||||
|             //console.log(e); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     attr: function(element, attr, value) { | ||||
|   | ||||
| @@ -2,8 +2,8 @@ var List = { | ||||
|  | ||||
|     empty: false, | ||||
|     page: 0, | ||||
|     can_fit: document.querySelectorAll("#wrapper").length > 0 ? Math.round(parseInt(window.getComputedStyle(document.querySelector("#wrapper"), null).getPropertyValue("height").replace("px", "")) / 71) : 0, | ||||
|     element_height: document.querySelectorAll("#wrapper").length > 0 ? (parseInt(window.getComputedStyle(document.querySelector("#wrapper"), null).getPropertyValue("height").replace("px", "")) / Math.round(parseInt(window.getComputedStyle(document.querySelector("#wrapper"), null).getPropertyValue("height").replace("px", "")) / 71)) - 25 : 0, | ||||
|     can_fit: document.querySelectorAll("#wrapper").length > 0 ? Math.round(Helper.computedStyle("#wrapper", "height") / 71) : 0, | ||||
|     element_height: document.querySelectorAll("#wrapper").length > 0 ? (Helper.computedStyle("#wrapper", "height") / Math.round(Helper.computedStyle("#wrapper", "height") / 71)) - 25 : 0, | ||||
|     uris: [], | ||||
|     not_found: [], | ||||
|     num_songs: 0, | ||||
| @@ -153,24 +153,25 @@ var List = { | ||||
|     populate_list: function(msg, no_reset) { | ||||
|         // This math is fucked and I don't know how it works. Should be fixed sometime | ||||
|         if(!Helper.mobilecheck() && !embed && !client){ | ||||
|             List.can_fit = Math.round((document.querySelector("#wrapper").offsetHeight) / 71); | ||||
|             List.element_height = ((document.querySelector("#wrapper").offsetHeight) / List.can_fit)-5.3; | ||||
|             List.can_fit = Math.round(Helper.computedStyle("#wrapper", "height") / 71); | ||||
|             List.element_height = (Helper.computedStyle("#wrapper", "height") / List.can_fit)-5.3; | ||||
|         } else if(embed) { | ||||
|             List.can_fit = Math.round((document.querySelector("#wrapper").offsetHeight) / 91) + 1; | ||||
|             List.element_height = ((document.querySelector("#wrapper").offsetHeight) / List.can_fit)-4; | ||||
|             List.can_fit = Math.round(Helper.computedStyle("#wrapper", "height") / 91) + 1; | ||||
|             List.element_height = (Helper.computedStyle("#wrapper", "height") / List.can_fit)-4; | ||||
|         } else if(!client){ | ||||
|             List.can_fit = Math.round((window.innerHeight - parseInt(window.getComputedStyle(document.querySelector(".tabs"), null).getPropertyValue("height").replace("px", "")) - parseInt(window.getComputedStyle(document.querySelector("header"), null).getPropertyValue("height").replace("px", "")) - 64 - 40) / 71)+1; | ||||
|             List.element_height = ((window.innerHeight - parseInt(window.getComputedStyle(document.querySelector(".tabs"), null).getPropertyValue("height").replace("px", "")) - parseInt(window.getComputedStyle(document.querySelector("header"), null).getPropertyValue("height").replace("px", "")) - 64 - 40) / List.can_fit)-5; | ||||
|             List.can_fit = Math.round((Helper.computedStyle(".tabs", "height") - Helper.computedStyle("header", "height") - 64 - 40) / 71)+1; | ||||
|             List.element_height = ((window.innerHeight - Helper.computedStyle(".tabs", "height") - Helper.computedStyle("header", "height") - 64 - 40) / List.can_fit)-5; | ||||
|         } else { | ||||
|             List.can_fit = Math.round((window.innerHeight - parseInt(window.getComputedStyle(document.querySelector("header"), null).getPropertyValue("height").replace("px", ""))) / 80)+1; | ||||
|             List.element_height = ((window.innerHeight - parseInt(window.getComputedStyle(document.querySelector("header"), null).getPropertyValue("height").replace("px", ""))) / List.can_fit) - 8; | ||||
|             List.can_fit = Math.round(window.innerHeight - Helper.computedStyle("header", "height") / 80)+1; | ||||
|             List.element_height = (window.innerHeight - Helper.computedStyle("header", "height") / List.can_fit) - 8; | ||||
|         } | ||||
|         if(List.element_height < 55.2 && !client){ | ||||
|             List.can_fit = List.can_fit - 1; | ||||
|             List.element_height = 55.2; | ||||
|             List.can_fit = Math.round((window.innerHeight - parseInt(window.getComputedStyle(document.querySelector(".tabs"), null).getPropertyValue("height").replace("px", "")) - parseInt(window.getComputedStyle(document.querySelector("header"), null).getPropertyValue("height").replace("px", "")) - 64 - 40) / 71); | ||||
|             List.element_height = ((window.innerHeight - parseInt(window.getComputedStyle(document.querySelector(".tabs"), null).getPropertyValue("height").replace("px", "")) - parseInt(window.getComputedStyle(document.querySelector("header"), null).getPropertyValue("height").replace("px", "")) - 64 - 40) / List.can_fit)-5; | ||||
|             List.can_fit = Math.round((window.innerHeight - Helper.computedStyle(".tabs", "height") - Helper.computedStyle("header", "height") - 64 - 40) / 71); | ||||
|             List.element_height = ((window.innerHeight - Helper.computedStyle(".tabs", "height") - Helper.computedStyle("header", "height") - 64 - 40) / List.can_fit)-5; | ||||
|         } | ||||
|         console.log(List.can_fit, List.element_height, List.page); | ||||
|         if(list_html === undefined) list_html = Helper.html("#list-song-html"); | ||||
|         full_playlist = msg; | ||||
|         if(offline && !no_reset){ | ||||
| @@ -314,6 +315,7 @@ var List = { | ||||
|             } | ||||
|         } else { | ||||
|             if(way==-10) { | ||||
|                 console.log(wrapperChildren, List.page, List.can_fit); | ||||
|                 Helper.css(wrapperChildren.slice(List.page, List.page + List.can_fit), "display", "none"); | ||||
|                 List.page = 0; | ||||
|                 Helper.css(wrapperChildren.slice(List.page, List.page + List.can_fit), "display", "inline-flex"); | ||||
|   | ||||
| @@ -1218,7 +1218,7 @@ window.addEventListener("focus", function(event) { | ||||
|  | ||||
| window.addEventListener("resize", function(){ | ||||
|     if(chan && !Helper.mobilecheck()){ | ||||
|         var temp_fit = Math.round((window.getComputedStyle(document.querySelector("#wrapper"), null).getPropertyValue("height")) / 71)+1; | ||||
|         var temp_fit = Math.round(Helper.computedStyle("#wrapper", "height") / 71)+1; | ||||
|         if(temp_fit > List.can_fit || temp_fit < List.can_fit){ | ||||
|             List.dynamicContentPage(-10); | ||||
|         } | ||||
| @@ -1228,10 +1228,10 @@ window.addEventListener("resize", function(){ | ||||
|             Helper.css(document.querySelector("#wrapper").children[List.page + temp_fit], "display", "none"); | ||||
|         } | ||||
|         List.can_fit = temp_fit; | ||||
|         List.element_height = ((window.getComputedStyle(document.querySelector("#wrapper"), null).getPropertyValue("height")) / List.can_fit)-5.3; | ||||
|         List.element_height = (Helper.computedStyle("#wrapper", "height") / List.can_fit)-5.3; | ||||
|         Helper.css(".list-song", "height", List.element_height + "px"); | ||||
|         Channel.set_title_width(); | ||||
|         var controlsPosition = document.querySelector("#controls").offsetHeight - window.getComputedStyle(document.querySelector("#controls"), null).getPropertyValue("height"); | ||||
|         var controlsPosition = document.querySelector("#controls").offsetHeight - Helper.computedStyle("#controls", "height"); | ||||
|         if(document.querySelectorAll("#controls").length > 0 && !Helper.mobilecheck()) { | ||||
|             Helper.css(document.querySelector("#seekToDuration"), "top", controlsPosition - 55); | ||||
|         } else if(document.querySelectorAll("#controls").length > 0) { | ||||
|   | ||||
| @@ -649,7 +649,7 @@ var Player = { | ||||
|         document.getElementsByClassName("video-container")[0].style.width = val + "px"; | ||||
|         if(!Helper.mobilecheck()) { | ||||
|             if(window.innerWidth > 769) { | ||||
|                 var test_against_width = window.innerWidth - window.getComputedStyle(document.querySelector(".control-list"), null).getPropertyValue("width") - document.querySelector(".zbrand").offsetWidth - document.querySelector(".brand-logo-navigate").offsetWidth - 66; | ||||
|                 var test_against_width = window.innerWidth - Helper.computedStyle(".control-list", "width") - document.querySelector(".zbrand").offsetWidth - document.querySelector(".brand-logo-navigate").offsetWidth - 66; | ||||
|                 title_width = test_against_width; | ||||
|                 document.querySelector(".title-container").style.width = title_width + "px"; | ||||
|             } else { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user