1// Concept Intermedia 2016 2// Concept Newsbox - wersja z pionowo uÅożonymi miniaturkami 3// Last modified: 4// 2017-05-09 5 6if (typeof globalPause == 'undefined') { 7 globalPause=false; 8} 9 10/* przeniesione z portal.php */ 11function newsboxrespo() { 12 var height; 13 height = jQuery(".newsbox-container li.zaj-wrapper.active").outerHeight(); 14 jQuery(".newsbox-container").css("height",height); 15} 16 17 18jQuery(window).on("load", function () { 19 newsboxrespo(); 20 setTimeout(function(){ newsboxrespo(); }, 300); 21}); 22 23 24var createNewsbox; 25createNewsbox = function(newsboxParams) { 26 //cc(111,'createNewsbox',newsboxParams); 27 //globalPause=true; 28 29 var params = newsboxParams; 30 31 32 // ********************** 33 // NEW FUNCTIONS */ 34 params.showPager2 = true; 35 params.showPagerNumbers = false; 36 // ******************* */ 37 38 newsboxParams.showNavigationArrows = true; 39 40 var localPause = false; 41 var focusPause = false; 42 43 var currentNews = 0; 44 var total = 0; 45 46 var sliderTimer; 47 var thumbnailHeight = 0; 48 49 var inTransition = false; 50 51 //container,slideClass,pager,pagerNumbers,arrows,progressBar 52 var con = jQuery(params.containerClass); 53 var slides = jQuery(con).find(params.singleSlideClass); 54 var pager; 55 var pager2; 56 var pagerButtons = []; 57 var pagerButtons2 = []; 58 var pagerButtonsClones = []; 59 var pagerAnimated = false; 60 61 total = slides.length; 62 63 // ustaw parametry jako false je�li nie zostaÅy przekazane do funkcji w newsboxParams 64 if (!params.showPager) params.showPager = false; 65 if (!params.showPager2) params.showPager2 = false; 66 if (!params.showPagerNumbers) params.showPagerNumbers = false; 67 if (!params.showNavigationArrows) params.showNavigationArrows = false; 68 if (!params.showTimer) params.showTimer = false; 69 if (!params.delay) params.delay = 5000; 70 if (!params.mouseHoverPauseDuration) params.mouseHoverPauseDuration = 1000; 71 if (!params.thumbnailTransitionDuration) params.thumbnailTransitionDuration = '0.3s'; 72 if (!params.hideCurrentThumbnailOnChange) params.hideCurrentThumbnailOnChange = true; // czy aktualna pozycja na liÅcie ma byÄ chowana czy wyÅwietlana 73 74 75 // slides data 76 for (var i=0;i<slides.length;i++){ 77 jQuery(slides[i]).attr('data-news-id',(i+1)); 78 } 79 80 // timer 81 if (params.showTimer) { 82 timer = jQuery('<span class="timer"></span>'); 83 timerBar = jQuery('<span class="timer-bar"></span>'); 84 jQuery(timer).append(timerBar); 85 jQuery(con).append(timer); 86 } 87 88 var allButtons=null; 89 // pager - !!! czyli tutaj lista zajawek z boku 90 if (params.showPager) { 91 pager = jQuery('<span class="pager" aria-hidden="true"></span>'); 92 93 var extraOrder = 0; // używany by pokazywaÄ albo chowaÄ aktywnÄ miniaturkÄ poprzez opcje 94 if (params.hideCurrentThumbnailOnChange) extraOrder = 1; 95 96 if (total<=3) extraOrder = 0; 97 98 for (var i=0;i<slides.length;i++){ 99 var pagerButtonContent = ''; 100 if (params.showPagerNumbers) pagerButtonContent=(i+1); 101 pagerButtonContent = jQuery('a',slides[i]).html(); 102 button = jQuery('<span class="pager-button but'+(parseInt(i)+1)+'" data-news-id="'+(i+1)+'" data-order="'+(i-extraOrder)+'"><span class="hidden-wcag">Przejdź na stronÄ: </span>'+pagerButtonContent+'</span>'); 103 pagerButtons.push(button); 104 jQuery(pager).append(button); 105 }; 106 // clone buttons 107 if (total>3){ 108 for (var i=0;i<slides.length;i++){ 109 var pagerButtonContent = ''; 110 if (params.showPagerNumbers) pagerButtonContent=(i+1); 111 pagerButtonContent = jQuery('a',slides[i]).html(); 112 button = jQuery('<span class="pager-button clone but'+(parseInt(i)+1)+'" data-news-id="'+(i+1)+'" data-order="'+(i-extraOrder+slides.length)+'"><span class="hidden-wcag">Przejdź na stronÄ: </span>'+pagerButtonContent+'</span>'); 113 pagerButtonsClones.push(button); 114 jQuery(pager).append(button); 115 }; 116 } 117 jQuery(con).append(pager); 118 jQuery('.pager',con).wrap('<span class="pager-con"></span>'); 119 120 allButtons = jQuery('.pager-button',con); 121 122 setButtonsPositions(); 123 124 jQuery('.pager-button',pager).click(function(){ 125 if (!jQuery(this).hasClass('active')){ 126 nextNews = jQuery(this).attr('data-news-id'); 127 showNews(nextNews); 128 newsboxrespo(); 129 } 130 }); 131 } 132 // pager 2 - !!! czyli tutaj kwadraciki przeÅÄ czniki 133 if (params.showPager2) { 134 pager2 = jQuery('<span class="pager2"></span>'); 135 136 for (var i=0;i<slides.length;i++){ 137 var pagerButtonContent2 = ''; 138 if (params.showPagerNumbers) pagerButtonContent2=(i+1); 139 var button2 = jQuery('<span class="pager-button2 but'+(parseInt(i)+1)+'" data-news-id="'+(i+1)+'" data-order="'+(i)+'"><span class="hidden-wcag">Przejdź na stronÄ: </span>'+pagerButtonContent2+'</span>'); 140 pagerButtons2.push(button2); 141 jQuery(pager2).append(button2); 142 }; 143
144 jQuery(con).append(pager2); 145 jQuery('.pager2',con).wrap('<span class="pager2-con"></span>'); 146 147 allButtons2 = jQuery('.pager-button2',con); 148 149 jQuery('.pager-button2',pager2).click(function(){ 150 if (!jQuery(this).hasClass('active')){ 151 nextNews = jQuery(this).attr('data-news-id'); 152 showNews(nextNews); 153 newsboxrespo(); 154 } 155 }); 156 } 157 158 159 // set buttons positions 160 // set height of thumbnail containers 161 function setButtonsPositions(dir){ 162 //cc('setButtonsPositions'); 163 // count negative thumbnails height 164 var thumbsNegativeH = 0; 165 for (var i=-50; i<0;i++){ 166 var thisB = jQuery('.pager-button[data-order='+i+']',pager); 167 if (thisB){ 168 var thisH = jQuery(thisB).height(); 169 thumbsNegativeH += thisH; 170 } 171 } 172 173 174 var allThumbsTotalH = 0; 175 var orgThumbsH = 0; 176 177 if (allButtons){ 178 for (var i=-5; i<=allButtons.length;i++){ 179 var thisB = jQuery('.pager-button[data-order='+i+']',pager); 180 if (thisB){ 181 myTop = allThumbsTotalH - thumbsNegativeH; 182 183 jQuery(thisB).css({'transform':'translate3d(0px,'+myTop+'px,0)'}); 184 185 var thisH = jQuery(thisB).height(); 186 allThumbsTotalH += thisH; 187 188 if (!jQuery(thisB).hasClass('clone')){ 189 orgThumbsH += thisH; 190 } 191 } 192 } 193 } 194 var pagerH = jQuery('.pager-con',con).height(); 195 jQuery('.pager-con',con).removeClass('animated-pager'); 196 pagerAnimated = false; 197 if (orgThumbsH > pagerH){ 198 jQuery('.pager-con',con).addClass('animated-pager'); 199 pagerAnimated = true; 200 } 201 202 } 203 function resetButtonsPositions(){ 204 if (allButtons){ 205 for (var i=0; i<allButtons.length;i++){ 206 var thisB = jQuery(allButtons[i]); 207 if (thisB){ 208 jQuery(thisB).attr('data-order',i); 209 } 210 } 211 } 212 } 213 214
215 // add focus outlines 216 jQuery(con).append('<div class="newsbox-outline nbo-top"></div><div class="newsbox-outline nbo-right"></div><div class="newsbox-outline nbo-bottom"></div><div class="newsbox-outline nbo-left"></div>'); 217 218 219 // navigation arrows 220 if (params.showNavigationArrows && total>3) { 221 navArrows = jQuery('<span class="nav-arrows" aria-hidden="true"></span>'); 222 prev = jQuery('<span class="nav-arrow prev">PREV</span>'); 223 next = jQuery('<span class="nav-arrow next">NEXT</span>'); 224 jQuery(navArrows).append(prev).append(next); 225 jQuery(con).append(navArrows); 226 227 // prev click 228 jQuery(prev).click(function(){ 229 showPrevNews(); 230 }); 231 232 // next click 233 jQuery(next).click(function(){ 234 showNextNews(); 235 newsboxrespo(); 236 }); 237 } 238 239 // focus 240 jQuery(con).focusout(function(){ 241 jQuery(con).removeClass('focused'); 242 focusPause = false; 243 startTimer(); 244 }); 245 jQuery(params.singleSlideClass,con).focusin(function(){ 246 jQuery(con).addClass('focused'); 247 focusPause = true; 248 stopTimer(); 249 250 nextNews = jQuery(this).attr('data-news-id'); 251 showNews(nextNews); 252 newsboxrespo(); 253 }); 254 255 // init 256 currentNews = 1; 257 oldThumbnail = 1; 258 showNews(currentNews); 259 startTimer(); 260 261 function showNews(newsId,dir){ 262 if (!inTransition) 263 { 264 //inTransition ==true; 265 266 currentNews = parseInt(newsId); 267 newsId--; 268 jQuery(params.singleSlideClass,con).removeClass('active'); 269 jQuery(slides[newsId]).addClass('active'); 270 271 jQuery('.pager-button,.pager-button2',con).removeClass('active'); 272 jQuery(pagerButtons[newsId]).addClass('active'); 273 jQuery(pagerButtons2[newsId]).addClass('active'); 274 jQuery(pagerButtonsClones[newsId]).addClass('active'); 275 276 showThumbnail(currentNews,dir); 277 newsboxrespo(); 278 } 279 } 280 281 function showPrevNews(){ 282 nextNews = currentNews-1; 283 if (nextNews===0) {nextNews = total;} 284 showNews(nextNews,'prev'); 285 newsboxrespo(); 286 } 287 function showNextNews(){ 288 nextNews = currentNews+1; 289 if (nextNews>total) {nextNews = 1;} 290 showNews(nextNews,'next'); 291 newsboxrespo(); 292 } 293 294 function showThumbnail(newThumbnail,dir){ 295 //console.log('showThumbnail('+newThumbnail+')'); 296 297 if (total <= 3) return 0; 298 299 if (typeof(dir) == 'undefined') dir = 'next'; 300 var dif = 0; 301 //resizeActions(); 302 303 if (pagerAnimated){ 304 //console.log('!!!'); 305 if (newThumbnail>=oldThumbnail) { 306 dif = newThumbnail-oldThumbnail; 307 } 308 else { 309 dif= total-oldThumbnail + newThumbnail; 310 //dir = 'back'; 311 } 312 313 // do przodu 314 if (dir == 'next'){ 315 // reset buttons before animation 316 for (var i=0; i<allButtons.length;i++){ 317 jQuery(allButtons[i]).removeClass('animated'); 318 var oldOrd = parseInt(jQuery(allButtons[i]).attr('data-order')); 319 if (oldOrd < 0){ 320 oldOrd += total + total; 321 } 322 jQuery(allButtons[i]).attr('data-order',oldOrd); 323 } 324 setButtonsPositions(dir); 325 326 for (var i=0; i<allButtons.length;i++){ 327 jQuery(allButtons[i]).removeClass('animated'); 328 var oldOrd = parseInt(jQuery(allButtons[i]).attr('data-order')); 329 330 // move to new positions 331 var extraDiff = 0; 332 var newOrd = oldOrd-dif; 333 jQuery(allButtons[i]).attr('data-order',newOrd); 334 var newY = newOrd*thumbnailHeight; 335 newY-=thumbnailHeight; 336 } 337 setTimeout(function(i,newY){ 338 //console.log(i); 339 jQuery('.pager-button',pager).addClass('animated'); 340 setButtonsPositions(dir); 341 },15,i,dir); 342 oldThumbnail = newThumbnail; 343 } 344 // do tyÅu 345 else if (dir == 'prev'){ 346 347 // reset buttons before animation 348 for (var i=0; i<allButtons.length;i++){ 349 jQuery(allButtons[i]).removeClass('animated'); 350 var oldOrd = parseInt(jQuery(allButtons[i]).attr('data-order')); 351 if (oldOrd >= (total+total-2)){ 352 oldOrd -= (total + total); 353 } 354 jQuery(allButtons[i]).attr('data-order',oldOrd); 355 } 356 setButtonsPositions(dir); 357 358 for (var i=0; i<allButtons.length;i++){ 359 jQuery(allButtons[i]).removeClass('animated'); 360 var oldOrd = parseInt(jQuery(allButtons[i]).attr('data-order')); 361 362 // move to new positions 363 var newOrd = oldOrd+1; 364 jQuery(allButtons[i]).attr('data-order',newOrd); 365 var newY = newOrd*thumbnailHeight;
366 newY-=thumbnailHeight; 367 } 368 setTimeout(function(i,newY){ 369 //console.log(i); 370 jQuery('.pager-button',pager).addClass('animated'); 371 setButtonsPositions(dir); 372 },15,i,dir); 373 oldThumbnail = newThumbnail; 374 } 375 } 376 } 377 378 379 function startTimer(){ 380 clearInterval(sliderTimer); 381 sliderTimer = setInterval(function(){ 382 if (!globalPause && !focusPause && !localPause) showNextNews(); 383 }, params.delay); 384 } 385 function stopTimer(){ 386 clearInterval(sliderTimer); 387 } 388 389 390 391 jQuery(window).resize(function(){resizeActions();}); 392 function resizeActions(){ 393 resetSlider(); 394 } 395 396 function resetSlider(){ 397 currentNews = 1; 398 oldThumbnail = 1; 399 resetButtonsPositions() 400 setButtonsPositions(); 401 showNews(currentNews); 402 startTimer(); 403 } 404 405 jQuery(window).load(function(){ 406 setButtonsPositions(); 407 }); 408 409 410 411 jQuery(con).mouseenter(function(){ 412 localPause=true; 413 stopTimer() 414 }); 415 416 jQuery(con).mouseleave(function(){ 417 localPause=false; 418 if (!localPause){ 419 startTimer(); 420 } 421 }); 422}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.