1(function ($) { 2 $.fn.fixMe = function() { 3 return this.each(function() { 4 var $this = $(this), 5 $t_fixed; 6 function init() { 7 $this.wrap('<div class="container" />'); 8 $t_fixed = $this.clone(); 9 $t_fixed.addClass("fixed").insertBefore($this); 10 resizeFixed(); 11 $t_fixed.find("tbody").remove(); 12 $t_fixed.find("tfoot").remove(); 13 } 14 function resizeFixed() { 15 $t_fixed.find("th").each(function(index) { 16 $(this).css("width",$this.find("th").eq(index).outerWidth()+"px"); 17 }); 18 } 19 function scrollFixed() { 20 var offset = $(this).scrollTop(), 21 tableOffsetTop = $this.offset().top, 22 tableOffsetBottom = tableOffsetTop + $this.height() - $this.find("thead").height(); 23 if(offset < tableOffsetTop || offset > tableOffsetBottom) 24 $t_fixed.hide(); 25 else if(offset >= tableOffsetTop && offset <= tableOffsetBottom && $t_fixed.is(":hidden")) 26 $t_fixed.show(); 27 } 28 $(window).resize(resizeFixed); 29 $(window).scroll(scrollFixed); 30 init(); 31 }); 32 } 33})(jQuery); 34 35jQuery(document).ready(function($) { 36 37 var myLazyLoad = new LazyLoad({ 38 elements_selector: ".lazyimage" 39 }); 40 41 /** 42 * Campains table 43 * 44 */ 45 var $campaignsTable = $('.campaigns-list-table:not(.footable-details)'); 46 if ($campaignsTable.length) { 47 48 49 50 51 // var totalload = 20; 52 // var rows = $campaignsTable.find('tbody tr:visible').length; 53 54 function fix_table_header_width() { 55 $campaignsTable.find("thead th").each(function(index) { 56 $(this).css("width",$campaignsTable.find("thead th").eq(index).outerWidth()+"px"); 57 }); 58 } 59 fix_table_header_width(); 60 $(window).resize(function() { 61 fix_table_header_width(); 62 }); 63 $campaignsTable.fixMe(); 64 65 //Fiter dorpdowns 66 $( '.campaigns-filter-main-categories-input' ).on( 'click', function( e ) { 67 $( '.campaigns-filter-main-categories-dropdown-wrap' ).slideToggle(); 68 $( this ).toggleClass( 'open' ); 69 $( '#campaigns-filter-main-categories-search' ).focus(); 70 }); 71 $( '.campaigns-filter-main-countries-input' ).on( 'click', function( e ) { 72 $( '.campaigns-filter-main-countries-dropdown-wrap' ).slideToggle(); 73 $( this ).toggleClass( 'open' ); 74 $( '#campaigns-filter-main-countries-search' ).focus(); 75 }); 76 77 //Dropdown categories select active toggle 78 $( '.campaigns-filter-main-categories-dropdown-item' ).on( 'click', function( e ) { 79 e.preventDefault(); 80 $( this ).toggleClass( 'active' ); 81 }); 82 //Categories dropdown reset button 83 $( '.campaigns-filter-dropdown-buttons .categories-reset-button' ).on( 'click', function( e ) { 84 e.preventDefault(); 85 var data = $( '.campaigns-filter-main-categories-dropdown' ); 86 $( data ).find('a').each(function() { 87 var target = $( this ).data( 'target' ); 88 var label = $( this ).data( 'label' ); 89 if( $( this ).hasClass( 'active' ) ){ 90 $( this ).removeClass( 'active' ); 91 $( '.main-filter-selected-filters' ).find( '#label-span-' + target ).remove(); 92 } 93 }); 94 $( '.campaigns-filter-main-categories-dropdown-wrap' ).slideToggle(); 95 $( '.campaigns-filter-main-categories-input' ).toggleClass( 'open' ); 96 }); 97 //Categories dropdonw confirm button 98 $( '.campaigns-filter-dropdown-buttons .categories-confirm-button' ).on( 'click', function( e ) { 99 e.preventDefault(); 100 closeCategoriesFilterAndSearch(); 101 }); 102 103 const $categoriesFilterDropdown = $('.campaigns-filter-main-categories-dropdown-wrap'); 104 $(document).mouseup(e => { 105 if ( $( '.campaigns-filter-main-categories-input' ).hasClass( 'open' ) ) { 106 if (!$categoriesFilterDropdown.is(e.target) 107 && $categoriesFilterDropdown.has(e.target).length === 0) { 108 closeCategoriesFilterAndSearch(); 109 } 110 } 111 }); 112 113 function closeCategoriesFilterAndSearch() { 114 var data = $( '.campaigns-filter-main-categories-dropdown' ); 115 $( data ).find('a').each(function() { 116 var target = $( this ).data( 'target' ); 117 var label = $( this ).data( 'label' ); 118 if( $( this ).hasClass( 'active' ) ){ 119 var filterItem = $( '.main-filter-selected-filters' ).find( '#label-span-' + target ); 120 if ( filterItem.length < 1 ) { 121 $( '.main-filter-selected-filters' ).append( '<span id="label-span-' + target + '" data-item="' + target + '" data-type="category"><i class="fas fa-times" class="label-span-i" data-item="' + target + '"></i>' + label + '</span>' ); 122 } 123 } else { 124 $( '.main-filter-selected-filters' ).find( '#label-span-' + target ).remove(); 125 } 126 }); 127 $( '.campaigns-filter-main-categories-dropdown-wrap' ).slideToggle(); 128 $( '.campaigns-filter-main-categories-input' ).toggleClass( 'open' ); 129 $( '.campaigns-filter-main-categories-dropdown li' ).show(); 130 $( '#campaigns-filter-main-categories-search' ).val(''); 131 } 132 133 if ( $( '.campaigns-filter-main-categories-input' ).length ) { 134 $(document).on('keypress',function(e) { 135 if(e.which == 13) { 136 if( $( '.campaigns-filter-main-categories-input' ).hasClass( 'open' ) ) { 137 var data = $( '.campaigns-filter-main-categories-dropdown' ); 138 var visible_li_count = $( data ).find('li:visible:not(.campaigns-filter-main-categories-search)').length; 139 if ( visible_li_count == 1 ) { 140 $( data ).find('li:visible:not(.campaigns-filter-main-categories-search)').each(function() { 141 $( this ).children( 'a' ).addClass( 'active' ); 142 }); 143 closeCategoriesFilterAndSearch(); 144 } 145 } 146 } 147 }); 148 } 149 150 //Dropdown countries select active toggle 151 $( '.campaigns-filter-main-countries-dropdown-item' ).on( 'click', function( e ) { 152 e.preventDefault(); 153 $( this ).toggleClass( 'active' ); 154 }); 155 //Countries dropdonw reset button 156 $( '.campaigns-filter-dropdown-buttons .countries-reset-button' ).on( 'click', function( e ) { 157 e.preventDefault(); 158 var data = $( '.campaigns-filter-main-countries-dropdown' ); 159 $( data ).find('a').each(function() { 160 var lang = $( this ).data( 'lang' ); 161 var label = $( this ).data( 'label' ); 162 if( $( this ).hasClass( 'active' ) ){ 163 $( this ).removeClass( 'active' ); 164 $( '.main-filter-selected-filters' ).find( '#label-span-' + lang ).remove(); 165 } 166 }); 167 $( '.campaigns-filter-main-countries-dropdown-wrap' ).slideToggle(); 168 $( '.campaigns-filter-main-countries-input' ).toggleClass( 'open' ); 169 }); 170 //Countries dropdonw confirm button 171 $( '.campaigns-filter-dropdown-buttons .countries-confirm-button' ).on( 'click', function( e ) { 172 e.preventDefault(); 173 closeCountriesFilterAndSearch(); 174 }); 175 176 const $countriesFilterDropdown = $('.campaigns-filter-main-countries-dropdown-wrap'); 177 $(document).mouseup(e => { 178 if ( $( '.campaigns-filter-main-countries-input' ).hasClass( 'open' ) ) { 179 if (!$countriesFilterDropdown.is(e.target) 180 && $countriesFilterDropdown.has(e.target).length === 0) { 181 closeCountriesFilterAndSearch(); 182 } 183 } 184 }); 185 186 function closeCountriesFilterAndSearch() { 187 var data = $( '.campaigns-filter-main-countries-dropdown' ); 188 $( data ).find('a').each(function() { 189 var lang = $( this ).data( 'lang' ); 190 var label = $( this ).data( 'label' ); 191 if( $( this ).hasClass( 'active' ) ){ 192 var filterItem = $( '.main-filter-selected-filters' ).find( '#label-span-' + lang ); 193 if ( filterItem.length < 1 ) { 194 $( '.main-filter-selected-filters' ).append( '<span id="label-span-' + lang + '" data-item="' + lang + '" data-type="country"><i class="fas fa-times" class="label-span-i" data-item="' + lang + '"></i>' + label + '</span>' ); 195 } 196 } else { 197 $( '.main-filter-selected-filters' ).find( '#label-span-' + lang ).remove(); 198 } 199 }); 200 $( '.campaigns-filter-main-countries-dropdown-wrap' ).slideToggle(); 201 $( '.campaigns-filter-main-countries-input' ).toggleClass( 'open' ); 202 $( '.campaigns-filter-main-countries-dropdown li' ).show(); 203 $( '#campaigns-filter-main-countries-search' ).val(''); 204 } 205 206 if ( $( '.campaigns-filter-main-countries-input' ).length ) { 207 $(document).on('keypress',function(e) { 208 if(e.which == 13) { 209 if( $( '.campaigns-filter-main-countries-input' ).hasClass( 'open' ) ) { 210 var data = $( '.campaigns-filter-main-countries-dropdown' ); 211 var visible_li_count = $( data ).find('li:visible:not(.campaigns-filter-main-countries-search)').length; 212 if ( visible_li_count == 1 ) { 213 $( data ).find('li:visible:not(.campaigns-filter-main-countries-search)').each(function() { 214 $( this ).children( 'a' ).addClass( 'active' ); 215 }); 216 closeCountriesFilterAndSearch(); 217 } 218 } 219 } 220 }); 221 } 222 223 //Show extended filter 224 $( '.extended-filter-label-show' ).on( 'click', function( e ) { 225 e.preventDefault(); 226 $( '.extended-filter-wrap' ).slideToggle(); 227 $( '.extended-filter-label-show' ).slideToggle(); 228 $( '.extended-filter-label-hide' ).slideToggle(); 229 }); 230 //Show extended filter 231 $( '.extended-filter-label-hide' ).on( 'click', function( e ) { 232 e.preventDefault(); 233 $( '.extended-filter-wrap' ).slideToggle(); 234 $( '.extended-filter-label-show' ).slideToggle(); 235 $( '.extended-filter-label-hide' ).slideToggle(); 236 }); 237 238 //Select item in extended filter 239 $( '.extended-filter-item label' ).on( 'click', function( e ) { 240 e.preventDefault(); 241 var label = $( this ).data( 'label' ); 242 var item = $( this ).data( 'item' ); 243 if( $( this ).hasClass( 'active' ) ){ 244 $( '#label-span-' + item ).remove(); 245 } else { 246 $( '.main-filter-selected-filters' ).append( '<span id="label-span-' + item + '" data-item="' + item + '" data-type="extended"><i class="fas fa-times" class="label-span-i" data-item="' + item + '"></i>' + label + '</span>' ); 247 } 248 $( this ).toggleClass( 'active' ); 249 }); 250 //Remove item in extended filter 251 $( '.main-filter-selected-filters' ).on( 'click', 'span', function( e ) { 252 var item = $( this ).data( 'item' ); 253 var type = $( this ).data( 'type' ); 254 if ( type == 'extended' ) { 255 var sectedExtendedItem = jQuery( '#extended-' + item ); 256 if( sectedExtendedItem.hasClass( 'active' ) ){ 257 sectedExtendedItem.removeClass( 'active' ) 258 } 259 } 260 if ( type == 'category' ) { 261 var sectedCategoryItem = jQuery( '#dropdown-category-' + item ); 262 if( sectedCategoryItem.hasClass( 'active' ) ){ 263 sectedCategoryItem.removeClass( 'active' ) 264 } 265 } 266 if ( type == 'country' ) { 267 console.log( item ); 268 var sectedCountryItem = jQuery( '#dropdown-country-' + item ); 269 if( sectedCountryItem.hasClass( 'active' ) ){ 270 sectedCountryItem.removeClass( 'active' ) 271 } 272 } 273 $( this ).remove(); 274 }); 275 276 //Clear all filter 277 $( '.main-filter-buttons-reset' ).on( 'click', function() { 278 279 var data = $( '.main-filter-selected-filters' ); 280 $( data ).find('span').each(function() { 281 var item = $( this ).data( 'item' ); 282 var type = $( this ).data( 'type' ); 283 if ( type == 'extended' ) { 284 var sectedExtendedItem = jQuery( '#extended-' + item ); 285 if( sectedExtendedItem.hasClass( 'active' ) ){ 286 sectedExtendedItem.removeClass( 'active' ) 287 } 288 } 289 if ( type == 'category' ) { 290 var sectedCategoryItem = jQuery( '#dropdown-category-' + item ); 291 if( sectedCategoryItem.hasClass( 'active' ) ){ 292 sectedCategoryItem.removeClass( 'active' ) 293 } 294 } 295 if ( type == 'country' ) { 296 console.log( item ); 297 var sectedCountryItem = jQuery( '#dropdown-country-' + item ); 298 if( sectedCountryItem.hasClass( 'active' ) ){ 299 sectedCountryItem.removeClass( 'active' ) 300 } 301 } 302 $( this ).remove(); 303 }); 304 var searchQuery = $( '#fiter-search' ); 305 searchQuery.val( '' ); 306 var searchData = ''; 307 window.history.pushState({url: "" + targetUrl + ""}, "", targetUrl); 308 309 var searchQuery = $( '#fiter-search' ); 310 var sQ = searchQuery.val(); 311 var sQf = accentsTidy( sQ ); 312 var result = index.search( '*'+sQf+'*' ); 313 314 displaySelectedCampaigns( result ); 315 316 }); 317 318 //Display fltered data 319 $( 'body' ).on( 'click', '.main-filter-buttons-search', function(){ 320 321 //Get search request 322 var searchQuery = $( '#fiter-search' ); 323 var sQ = searchQuery.val(); 324 var sQf = accentsTidy( sQ ); 325 var result = index.search( '*'+sQf+'*' ); 326 327 displaySelectedCampaigns( result ); 328 329 }); 330 331 //Display fltered data 332 $( '#fiter-search' ).on( 'refreshSearch', function(){ 333 334 //Get search request 335 var searchQuery = $( '#fiter-search' ); 336 var sQ = searchQuery.val(); 337 var sQf = accentsTidy( sQ ); 338 var result = index.search( '*'+sQf+'*' ); 339 340 displaySelectedCampaigns( result ); 341 342 }); 343 344 $( '#fiter-search' ).keypress( function (e) { 345 var key = e.which; 346 if( key == 13 ) { 347 var searchQuery = $( '#fiter-search' ); 348 var sQ = searchQuery.val(); 349 var sQf = accentsTidy( sQ ); 350 var result = index.search( '*'+sQf+'*' ); 351 displaySelectedCampaigns( result ); 352 } 353 }); 354 355 $('#campaigns-filter-main-categories-search').keyup(function(){ 356 var that = this; 357 var all_list = $('.campaigns-filter-main-categories-dropdown li:not(.campaigns-filter-main-categories-search)'); 358 var matching_list = all_list.filter(function(i, li){ 359 var list_item_text = accentsTidy($(li).text()); 360 var search_text = accentsTidy(that.value); 361 return ~list_item_text.indexOf(search_text); 362 }); 363 364 all_list.hide(); 365 matching_list.show(); 366 }); 367 368 $('#campaigns-filter-main-countries-search').keyup(function(){ 369 var that = this; 370 var all_list = $('.campaigns-filter-main-countries-dropdown li:not(.campaigns-filter-main-countries-search)'); 371 var matching_list = all_list.filter(function(i, li){ 372 var list_item_text = accentsTidy($(li).text()); 373 var search_text = accentsTidy(that.value); 374 return ~list_item_text.indexOf(search_text); 375 }); 376 377 all_list.hide(); 378 matching_list.show(); 379 }); 380 381 // var NewCampains = JSON.parse( cNewCampains ); 382 var basicData = JSON.parse( cBasicData ); 383 var cccData = JSON.parse( cData ); 384 385 function accentsTidy(s){ 386 var r=s.toLowerCase(); 387 r = r.replace(new RegExp(/\s/g),""); 388 r = r.replace(new RegExp(/[à áâãäå]/g),"a"); 389 r = r.replace(new RegExp(/æ/g),"ae"); 390 r = r.replace(new RegExp(/ç/g),"c"); 391 r = r.replace(new RegExp(/[èéêëÄ]/g),"e"); 392 r = r.replace(new RegExp(/[Å¡]/g),"s"); 393 r = r.replace(new RegExp(/[Ä]/g),"c"); 394 r = r.replace(new RegExp(/[Å]/g),"r"); 395 r = r.replace(new RegExp(/[ž]/g),"z"); 396 r = r.replace(new RegExp(/[ľ]/g),"l"); 397 r = r.replace(new RegExp(/[ìÃîï]/g),"i"); 398 r = r.replace(new RegExp(/[ñÅ]/g),"n"); 399 r = r.replace(new RegExp(/[òóôõö]/g),"o"); 400 r = r.replace(new RegExp(/Å/g),"oe"); 401 r = r.replace(new RegExp(/[ùúûüů]/g),"u"); 402 r = r.replace(new RegExp(/[ýÿ]/g),"y"); 403 r = r.replace(new RegExp(/\W/g),""); 404 return r; 405 }; 406 407 // function removeItemAll(arr, value) { 408 // for( var i = 0; i < arr.length; i++){ 409 410 // if ( arr[i] === value) { 411 // arr.splice(i, 1); 412 // i--; 413 // } 414 // } 415 // return arr; 416 // } 417 418 /** 419 * Get all selected values from filter 420 * 421 */ 422 function displaySelectedCampaigns( searchData ) { 423 424 //Get categories 425 var cats = getSelectedFilterFromDropdown( 'campaigns-filter-main-categories-dropdown', 'target' ); 426 var countries = getSelectedFilterFromDropdown( 'campaigns-filter-main-countries-dropdown', 'lang' ); 427 var extended = getSelectedFilterFromExtended(); 428 var result = []; 429 var filtered = []; 430 431 // console.log("extended: " + extended); 432 433 //console.log( cccData ); 434 var extendedResult = []; 435 //Find extended 436 for( var index in basicData ) { 437 for ( var i = 0; i < extended.length; ++i) { 438 var value = extended[i]; 439 if( basicData[index][value] == 1 ){ 440 if( extendedResult.indexOf( index ) === -1 ) { 441 extendedResult.push(index); 442 } 443 } 444 } 445 } 446 447 // for ( var ii = 0; ii < extended.length; ++ii) { 448 // var value = extended[ii]; 449 // if ( ii == 0 ) { 450 // for( var index in basicData ) { 451 // if( basicData[index][value] == 1 ){ 452 // if( extendedResult.indexOf( index ) === -1 ) { 453 // extendedResult.push(index); 454 // } 455 // } 456 // } 457 // } else { 458 // console.log("res1: " +extendedResult); 459 // var helper_extendedRe
459sult = extendedResult; 460 // console.log(helper_extendedResult); 461 // helper_extendedResult.forEach(myFunction); 462 // for ( ) 463 // function myFunction(item) { 464 // console.log(item); 465 // if( basicData[item][value] == 0 ){ 466 // removeItemAll(extendedResult, item); 467 // } 468 // } 469 // } 470 471 // } 472 // console.log("res: " + extendedResult); 473 // extendedResult.forEach(myFunction); 474 475 476 var countriesResult = []; 477 //Find countries 478 for( var index in basicData ) { 479 for ( var i = 0; i < countries.length; ++i) { 480 var value = countries[i]; 481 var markets = basicData[index].markets; 482 if( markets.indexOf(value) !== -1 ){ 483 if( countriesResult.indexOf(index) === -1 ) { 484 countriesResult.push(index); 485 } 486 487 } 488 } 489 } 490 491 var categoriesResult = []; 492 //Find categories 493 for( var index in basicData ) { 494 //console.log( basicData[index]); 495 for ( var i = 0; i < cats.length; ++i) { 496 //console.log(countries[i]); 497 var value = cats[i]; 498 //console.log( value ); 499 if ( cccData[index] ) { 500 var categories = cccData[index].categories; 501 //console.log( Object.keys( categories ) ); 502 //console.log( categories.hasOwnProperty( value ) ); 503 if( categories.hasOwnProperty( value ) ){ 504 505 if( categoriesResult.indexOf(index) === -1 ) { 506 categoriesResult.push(index); 507 } 508 509 } 510 } 511 } 512 } 513 var searchResult = []; 514 if ( searchData.length ) { 515 for ( var i = 0; i < searchData.length; ++i) { 516 if ( searchData[i].ref.length ) { 517 if( searchResult.indexOf(searchData[i].ref) === -1 ) { 518 searchResult.push(searchData[i].ref); 519 } 520 } 521 } 522 } 523 524 var intersectData = []; 525 if ( extendedResult.length ) { 526 intersectData.push(extendedResult); 527 } 528 if ( countriesResult.length ) { 529 intersectData.push(countriesResult); 530 } 531 if ( categoriesResult.length ) { 532 intersectData.push(categoriesResult); 533 } 534 if ( searchResult.length ) { 535 intersectData.push(searchResult); 536 } 537 var result = intersect( intersectData ); 538 539 function intersect( arrays ) { 540 if (0 === arrays.length) { 541 return []; 542 } 543 return arrays.reduce((intersection, array) => { 544 return intersection.filter(intersectedItem => array.some(item => intersectedItem === item)); 545 }, arrays[0]); 546 } 547 548 if ( result.length > 0 ) { 549 //Pagination 550 renderFilteredCampains( result ); 551 // displayNewRenderedCampaigns( result ) 552 handleUrlRoute() 553 //handleUrlPaggination( result.length ); 554 555 } else { 556 var tableBody = $( '#campaigns-list-table-body' ); 557 tableBody.html( '' ); 558 $( '.campains-pagination' ).html( '' ); 559 } 560 561 } 562 563 /** 564 * 565 */ 566 function handleUrlRoute(){ 567 568 var categories = []; 569 var countries = []; 570 var extended = []; 571 var routeTargetUrl = targetUrl; 572 573 $('.main-filter-selected-filters span').each( function() { 574 var item = $( this ).data( 'item' ); 575 var type = $( this ).data( 'type' ); 576 if ( type == 'category' ) { 577 categories.push( item ); 578 } 579 if ( type == 'country' ) { 580 countries.push( item ); 581 } 582 if ( type == 'extended' ) { 583 extended.push( item ); 584 } 585 }); 586 587 //Search query 588 var searchQuery = $( '#fiter-search' ).val(); 589 590 //Selected categoriesky 591 if ( categories.length > 0 ) { 592 var categoryUrl = categories.join('+'); 593 } else { 594 var categoryUrl = 'vsetky-kategorie'; 595 } 596 597 //selected countries 598 if ( countries.length > 0 ) { 599 var countryUrl = countries.join('+'); 600 } else { 601 var countryUrl = 'vsetky-krajiny'; 602 } 603 604 //selected extended filter items 605 if ( extended.length > 0 ) { 606 var extendedUrl = extended.join('+'); 607 } else { 608 var extendedUrl = 'vsetky-typy'; 609 } 610 611 routeTargetUrl = targetUrl + categoryUrl + '/' + countryUrl + '/' + extendedUrl + '/'; 612 if ( searchQuery.length > 0 ){ 613 routeTargetUrl += searchQuery + '/'; 614 } 615 616 window.history.pushState({url: "" + routeTargetUrl + ""}, "", routeTargetUrl); 617 618 } 619 620 /** 621 * Paggination 622 */ 623 function handleUrlPaggination( count ){ 624 var limit = 50; 625 if ( limit > count ) { 626 $( '.campains-pagination' ).html( '' ); 627 } else { 628 var currentLocation = window.location; 629 var pages = Math.ceil( count / limit ); 630 var pagginationString = ''; 631 for ( var i = 1; i <= pages; ++i) { 632 if ( i == 1 ) { 633 pagginationString += '<span class="btn btn-default campains-pagination-current" data-page="1">1</span>'; 634 } else { 635 pagginationString += '<a class="btn btn-primary campains-pagination-item" href="' + currentLocation.href + i +'/" data-page="' + i + '">' + i + '</a>'; 636 } 637 } 638 639 $( '.campains-pagination' ).html( pagginationString ); 640 641 } 642 643 } 644 645 /** 646 * Get all selected values from dropdown 647 * 648 */ 649 function getSelectedFilterFromDropdown( source, attr ) { 650 var data = $( '.' + source ); 651 var output = []; 652 $( data ).find('a').each(function() { 653 if( $( this ).hasClass( 'active' ) ){ 654 var target = $( this ).data( attr ); 655 output.push( target ); 656 } 657 }); 658 return output; 659 } 660 /** 661 * Get all selected values from extended filter 662 * 663 */ 664 function getSelectedFilterFromExtended() { 665 var data = $( '.extended-filter-item' ); 666 var output = []; 667 $( data ).find('label').each(function() { 668 if( $( this ).hasClass( 'active' ) ){ 669 var target = $( this ).data( 'item' ); 670 output.push( target ); 671 } 672 }); 673 return output; 674 } 675 /** 676 * Render all filtered campains 677 * campains - array with id filtered campains 678 */ 679 function renderFilteredCampains( campains ) { 680 681 //reorder campains 682 var myArray = []; 683 for ( var i = 0; i < campains.length; ++i) { 684 var name = cccData[campains[i]].title; 685 var nameCapitalized = name.charAt(0).toUpperCase() + name.slice(1) 686 var obj = { id : campains[i], 'title' : nameCapitalized }; 687 myArray.push({ 688 key:i, 689 value: obj 690 }); 691 } 692 myArray.sort(function(a,b){ 693 // povodny filter - nefunguje s diakritikou 694 // return a.value.title < b.value.title ? -1 : 1; 695 696 // novy filter - podporuje diakritiku 697 var first_value = a.value.title; 698 var second_value = b.value.title; 699 return first_value.localeCompare(second_value); 700 }); 701 702 var limit = 50; 703 var tableBody = $( '#campaigns-list-table-body' ); 704 //console.log( cccData ); 705 tableBody.html( '' ); 706 var newTableBody = ''; 707 for ( var x = 0; x < myArray.length; ++x) { 708 709 //Limit results 710 //if ( x > limit ) { continue; } 711 var i = myArray[x].key; 712 713 var basicDataItem = basicData[campains[i]]; 714 var categoriesClasses = ''; 715 var categoriesSource = cccData[campains[i]].categories; 716 for ( var key in categoriesSource ) { 717 categoriesClasses += key + ' '; 718 } 719 var parameters = ''; 720 for ( var key in basicDataItem ) { 721 if ( basicDataItem[key] === 1 ) { 722 parameters += key + ' '; 723 } 724 } 725 var marketsSource = basicData[campains[i]].markets; 726 var markets = ''; 727 for ( var iterator = 0; iterator < marketsSource.length; ++iterator) { 728 markets += ' trh-' + marketsSource[iterator]; 729 } 730 731 var badgesSource = basicData[campains[i]].badge; 732 var badges = ''; 733 for ( var key in badgesSource ) { 734 badges += '<span class="campaign-badge ' + badgesSource[key] + '" style="border-color:' + campaignBadges[badgesSource[key]].color + ';color:' + campaignBadges[badgesSource[key]].color + ';">' + campaignBadges[badgesSource[key]].label + '</span>'; 735 } 736 737 newTableBody += '<tr data-href="' + cccData[campains[i]].permalink + '" class="all ' + categoriesClasses + ' ' + parameters + ' ' + markets + '" data-id="' + campains[i] + '" data-expanded="false" data-time="' + basicData[campains[i]].time_add + '">'; 738 739 newTableBody += '<td class="campaign-title">'; 740 newTableBody += '<span class="footable-toggle fooicon fooicon-plus"></span>'; 741 newTableBody += '<span class="title">'; 742 newTableBody += '<div>' + badges + '</div>'; 743 newTableBody += '<a href="' + cccData[campains[i]].permalink + '" target="_blank">' + cccData[campains[i]].title + '</a>'; 744 if( cccData[campains[i]].commision === '' ) { 745 newTableBody += '<strong class="val">
745' + basicDataItem.commision + '</strong>'; 746 } else { 747 newTableBody += '<strong class="val">' + cccData[campains[i]].commision + '</strong>'; 748 } 749 newTableBody += '</span>'; 750 newTableBody += '<span class="product">'; 751 var catsLinks = ''; 752 for ( var key in cccData[campains[i]].categories ) { 753 catsLinks += '<span class="cat-name">' + cccData[campains[i]].categories[key] + '</span> '; 754 } 755 newTableBody += catsLinks; 756 newTableBody += '</span>'; 757 newTableBody += '</td>'; 758 759 var strImage = cccData[campains[i]].thumb; 760 var thumb = strImage.replace( 'data-src', 'src'); 761 762 newTableBody += '<td class="campaigns-logo" data-detail-for="campaign-logo">'; 763 newTableBody += '<a href="' + cccData[campains[i]].permalink + '" target="_blank">' + thumb + '</a>'; 764 newTableBody += '</td>'; 765 newTableBody += '<td class="campaign-commission" data-show-column="true" data-detail-for="campaign-comission">'; 766 767 if( cccData[campains[i]].commision ) { 768 newTableBody += '<strong class="val">' + cccData[campains[i]].commision + '</strong>'; 769 } else { 770 newTableBody += '<strong class="val">' + basicDataItem.commision + '</strong>'; 771 } 772 newTableBody += '</td>'; 773 newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-banners">'; 774 newTableBody += displayYepNope( basicData[campains[i]].banners ); 775 newTableBody += '</td>'; 776 newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-iframe">'; 777 newTableBody += displayYepNope( basicData[campains[i]].iframe ); 778 newTableBody += '</td>'; 779 newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-pr">'; 780 newTableBody += displayYepNope( basicData[campains[i]].pr ); 781 newTableBody += '</td>'; 782 newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-coupon">'; 783 newTableBody += displayYepNope( basicData[campains[i]].coupon ); 784 newTableBody += '</td>'; 785 newTableBody += '<td class="campaign-component" data-show-column="true" data-detail-for="campaign-influencers">'; 786 newTableBody += displayYepNope( basicData[campains[i]].influenceri ); 787 newTableBody += '</td>'; 788 newTableBody += '<td class="campaign-component" data-show-column="true" data-detail-for="campaign-xml">'; 789 newTableBody += displayYepNope( basicData[campains[i]].xmlfeed ); 790 newTableBody += '</td>'; 791 newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-email-theme">'; 792 newTableBody += displayYepNope( basicData[campains[i]]['email-theme'] ); 793 newTableBody += '</td>'; 794 // newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-banea">'; 795 // newTableBody += displayYepNope( basicData[campains[i]].banea ); 796 // newTableBody += '</td>'; 797 newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-extra-coo">'; 798 newTableBody += displayYepNope( basicData[campains[i]]['extra-coo'] ); 799 newTableBody += '</td>'; 800 newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-dognet-media">'; 801 newTableBody += displayYepNope( basicData[campains[i]]['dognet-media'] ); 802 newTableBody += '</td>'; 803 newTableBody += '<td class="campaign-component" data-show-column="true" data-detail-for="campaign-cash-back" data-breakpoints="x-small">'; 804 newTableBody += displayYepNope( basicData[campains[i]].cashback ); 805 newTableBody += '</td>'; 806 newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-content">'; 807 newTableBody += displayYepNope( basicData[campains[i]].content ); 808 newTableBody += '</td>'; 809 newTableBody += '<td class="campaign-component" data-show-column="true" data-detail-for="campaign-coupon_webs">'; 810 newTableBody += displayYepNope( basicData[campains[i]]['coupon_webs'] ); 811 newTableBody += '</td>'; 812 newTableBody += '<td class="campaign-component" data-show-column="true" data-detail-for="campaign-emailing">'; 813 newTableBody += displayYepNope( basicData[campains[i]].emailing ); 814 newTableBody += '</td>'; 815 newTableBody += '<td class="campaign-component" data-show-column="true" data-detail-for="campaign-ppc">'; 816 newTableBody += displayYepNope( basicData[campains[i]].ppc ); 817 newTableBody += '</td>'; 818 newTableBody += '<td class="campaign-component" data-show-column="true" data-detail-for="campaign-css">'; 819 newTableBody += displayYepNope( basicData[campains[i]].css ); 820 newTableBody += '</td>'; 821 newTableBody += '<td class="campaign-component" data-show-column="true" data-detail-for="campaign-ext-coupons">'; 822 newTableBody += displayYepNope( basicData[campains[i]]['ext-coupons'] ); 823 newTableBody += '</td>'; 824 newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-cookies">'; 825 newTableBody += formatDayDays( basicData[campains[i]].cookies ); 826 newTableBody += '</td>'; 827 newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-ip-tracking">'; 828 newTableBody += formatDayDays( basicData[campains[i]]['ip-tracking'], basicData[campains[i]]['ip-tracking-show-in-hours'] ); 829 newTableBody += '</td>'; 830 newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-dlzka-schvalovania">'; 831 newTableBody += formatDayDays( basicData[campains[i]]['dlzka-schvalovania'] ); 832 newTableBody += '</td>'; 833 newTableBody += '</tr>'; 834 //Footable detail row 835 newTableBody += '<tr class="footable-detail-row">'; 836 newTableBody += '<td colspan="12">'; 837 newTableBody += '<table class="campaigns-list-table footable-details">'; 838 newTableBody += '<tr data-detail-display="campaign-logo">'; 839 newTableBody += '</tr>'; 840 newTableBody += '<tr data-show-column="true" data-detail-display="campaign-comission">'; 841 newTableBody += '</tr>'; 842 newTableBody += '<tr data-show-column="false" data-detail-display="campaign-banners">'; 843 newTableBody += '</tr>'; 844 newTableBody += '<tr data-show-column="false" data-detail-display="campaign-iframe">'; 845 newTableBody += '</tr>'; 846 newTableBody += '<tr data-show-column="false" data-detail-display="campaign-pr">'; 847 newTableBody += '</tr>'; 848 newTableBody += '<tr data-show-column="false" data-detail-display="campaign-coupon">'; 849 newTableBody += '</tr>'; 850 newTableBody += '<tr data-show-column="true" data-detail-display="campaign-influencers">'; 851 newTableBody += '</tr>'; 852 newTableBody += '<tr data-show-column="true" data-detail-display="campaign-xml">'; 853 newTableBody += '</tr>'; 854 newTableBody += '<tr data-show-column="false" data-detail-display="campaign-email-theme">'; 855 newTableBody += '</tr>'; 856 // newTableBody += '<tr data-show-column="false" data-detail-display="campaign-banea">'; 857 // newTableBody += '</tr>'; 858 newTableBody += '<tr data-show-column="false" data-detail-display="campaign-extra-coo">'; 859 newTableBody += '</tr>'; 860 newTableBody += '<tr data-show-column="false" data-detail-display="campaign-dognet-media">'; 861 newTableBody += '</tr>'; 862 newTableBody += '<tr data-show-column="true" data-detail-display="campaign-cash-back">'; 863 newTableBody += '</tr>'; 864 newTableBody += '<tr data-show-column="false" data-detail-display="campaign-content">'; 865 newTableBody += '</tr>'; 866 newTableBody += '<tr data-show-column="true" data-detail-display="campaign-coupon_webs">'; 867 newTableBody += '</tr>'; 868 newTableBody += '<tr data-show-column="true" data-detail-display="campaign-emailing">'; 869 newTableBody += '</tr>'; 870 newTableBody += '<tr data-show-column="true" data-detail-display="campaign-ppc">'; 871 newTableBody += '</tr>'; 872 newTableBody += '<tr data-show-column="true" data-detail-display="campaign-css">'; 873 newTableBody += '</tr>'; 874 newTableBody += '<tr data-show-column="true" data-detail-display="campaign-ext-coupons">'; 875 newTableBody += '</tr>'; 876 newTableBody += '<tr data-show-column="false" data-detail-display="campaign-cookies">'; 877 newTableBody += '</tr>'; 878 newTableBody += '<tr data-show-column="false" data-detail-display="campaign-ip-tracking">'; 879 newTableBody += '</tr>'; 880 newTableBody += '<tr data-show-column="false" data-detail-display="campaign-dlzka-schvalovania">'; 881 newTableBody += '</tr>'; 882 newTableBody += '</table>'; 883 newTableBody += '</td>'; 884 newTableBody += '</tr>'; 885 886 } 887 888 tableBody.html( newTableBody ); 889 reoganize_columns_after_filter(); 890 891 } 892 893 function reoganize_columns_after_filter() { 894 $( 'table.campaigns-list-table th' ).each(function( index ) { 895 var $this = $( this ); 896 var column_name = $this.attr( 'data-detail-for' ); 897 var column_value = $this.attr( 'data-show-column' ); 898 $( 'table.campaigns-list-table td[data-detail-for="' + column_name + '"]' ).attr( 'data-show-column', column_value ); 899 }); 900 } 901 902 function displayYepNope( value ){ 903 // if ( value == 1 ) { 904 // return '<img src="' + displayYepImage + '" class="lazyimage" />'; 905 // } else { 906 // return '<img src="' + displayNopImage + '" class="lazyimage" />'; 907 // } 908 return '<span class="check check-' + value + '" ></span>'; 909 } 910 911 function formatDayDays( $days, $show_in_hours = false) { 912 var $days = ($days) ? 1 : $days; 913 914 if ($days == 1) { 915 var $daysText = text.den; 916 } else { 917 var $daysText = text.dni; 918 } 919 920 if ( $show_in_hours ) { 921 922 if ( $days == 1 ) { 923 var $daysText = text.hodina; 924 } else if ( $days == 2 || $days == 3 || $days == 4 ) { 925 var $daysText = text.hodiny; 926 } else { 927 var $daysText = text.hodin; 928 } 929 930 } 931 return $days + ' ' + $daysText; 932 } 933 934 // displayNewCampaigns(); 935 936 //displayFilteredCampaigns(); 937
938 /*$('ul.campaigns-navigation ul.cat-items > li > a').on('click', function(e) { 939 e.preventDefault(); 940 941 var $link = $(this); 942 943 $('ul.campaigns-navigation ul.cat-items > li').removeClass('active'); 944 945 $link.closest('li').addClass('active'); 946 947 selectedCat = $('ul.cat-items li.active a').data('target'); 948 949 displayFilteredCampaigns(); 950 // displayNewCampaigns(); 951 952 });*/ 953 954 /*$('form#campaigns-filter input[type="reset"]').on('click', function(e) { 955 e.preventDefault(); 956 $('form#campaigns-filter input[type="checkbox"]').prop('checked', false); 957 displayFilteredCampaigns(); 958 }); 959 $('form#campaigns-filter input').on('change', function(e) { 960 displayFilteredCampaigns(); 961 });*/ 962 963 function displayFilteredCampaigns() { 964 965 966 var $filter = [], 967 $filterMarkets = []; 968 var $formData = $('form#campaigns-filter').serializeArray(); 969 970 $campaignsTable.children('tbody').children('tr:not(.footable-detail-row)').hide().removeClass('matching').attr('data-expanded', 'false'); 971 972 $campaignsTable.children('tbody').children('tr:not(.footable-detail-row)').find('.footable-toggle').addClass('fooicon-plus').removeClass('fooicon-minus'); 973 974 $.each($formData, function(k) { 975 if ($formData[k].name.substr(0,4) == 'trh-' && $formData[k].value == 1) { 976 $filterMarkets.push($formData[k].name); 977 // $formData.splice(k, 1); 978 } else { 979 if ($formData[k].value == 1) { 980 $filter.push($formData[k].name); 981 } 982 } 983 }); 984 985 //Push category to filter 986 /* 987 $filter.push($('ul.campaigns-navigation ul.cat-items > li.active > a').data('target')); 988 989 $campaignsTable.find('tbody tr.'+$filter.join('.')+':not(.footable-detail-row)').each(function() { 990 var $row = $(this); 991 if ($filterMarkets.length > 0) { 992 if ($row.hasClasses($filterMarkets)) { 993 $row.show().addClass('matching'); 994 } 995 } else { 996 $row.show().addClass('matching'); 997 } 998 }); 999*/ 1000 //displayNewCampaigns( $campaignsTable.find('tbody tr.matching:not(.newCloned)').length ); 1001 1002 // totalload = 20; 1003 // rows = $campaignsTable.find('tbody tr.matching:not(.newCloned)').length; 1004 // $campaignsTable.find('tbody tr.matching:not(.newCloned):visible:gt('+(totalload-1)+')').hide(); 1005 // 1006 // if (rows > totalload) { 1007 // $('.load-more').show(); 1008 // } 1009 // if (totalload >= rows) { 1010 // $('.load-more').hide(); 1011 // } 1012 1013 } 1014 1015 function displayNewRenderedCampaigns( result ) { 1016 var NewCampains = JSON.parse( cNewCampains ); 1017 var NewRenderedCampains = []; 1018 for( var index in NewCampains ) { 1019 if ( result.includes(index) ) { 1020 NewRenderedCampains.push( index ); 1021 } 1022 } 1023 1024 var campainTable = $( '#campaigns-list-table-body' ); 1025 1026 var displayNews = 5; 1027 if ( NewRenderedCampains.length <= 10 ) { 1028 displayNews = 3; 1029 } 1030 if ( NewRenderedCampains.length <= 5 ) { 1031 displayNews = 0; 1032 } 1033 1034 if ( displayNews == 0 ) { 1035 return; 1036 } 1037 1038 //Zapneme loader 1039 $('.campaigns-list-table tr.loader').show(); 1040 1041 var tableNewContent = dognetRenderTableLines( NewRenderedCampains, displayNews ); 1042 var ddd = campainTable.html(); 1043 campainTable.html( tableNewContent + ddd ); 1044 $('.campaigns-list-table tr.loader').hide(); 1045 myLazyLoad.update(); 1046 1047 1048 } 1049 1050 function displayNewCampaigns() { 1051 1052 var NewCampains = JSON.parse( filteredNewCampain ); 1053 1054 var campainTable = $( '#campaigns-list-table-body' ); 1055 1056 var displayNews = 10; 1057 if ( NewCampains.length <= 10 ) { 1058 displayNews = NewCampains.length; 1059 } 1060 // if ( NewCampains.length <= 5 ) { 1061 // displayNews = 0; 1062 // } 1063 1064 if ( displayNews == 0 ) { 1065 return; 1066 } 1067 1068 //Zapneme loader 1069 $('.campaigns-list-table tr.loader').show(); 1070 1071 var tableNewContent = dognetRenderTableLines( NewCampains, displayNews ); 1072 var ddd = campainTable.html(); 1073 campainTable.html( tableNewContent + ddd ); 1074 $('.campaigns-list-table tr.loader').hide(); 1075 myLazyLoad.update(); 1076 1077 } 1078 1079 /** 1080 * Render table line 1081 * 1082 */ 1083 function dognetRenderTableLines( campains, displayNews ){ 1084 1085 var newTableBody = ''; 1086 1087 //reorder array 1088 var reorderCampains = []; 1089 for ( var i = 0; i < campains.length; ++i) { 1090 reorderCampains.push( { time_add: basicData[campains[i]].time_add, id: campains[i]} ); 1091 } 1092 1093 reorderCampains.sort( function(a, b){return b.time_add - a.time_add} ); 1094 campains = []; 1095 1096 for ( var i = 0; i < reorderCampains.length; ++i) { 1097 campains.push( reorderCampains[i].id ); 1098 } 1099 1100 for ( var i = 0; i < displayNews; ++i) { 1101 if( cccData[campains[i]] ){ 1102 var basicDataItem = basicData[campains[i]]; 1103 var categoriesClasses = ''; 1104 1105 var categoriesSource = cccData[campains[i]].categories; 1106 for ( var key in categoriesSource ) { 1107 categoriesClasses += key + ' '; 1108 } 1109 1110 var parameters = ''; 1111 for ( var key in basicDataItem ) { 1112 if ( basicDataItem[key] === 1 ) { 1113 parameters += key + ' '; 1114 } 1115 } 1116 var marketsSource = basicData[campains[i]].markets; 1117 var markets = ''; 1118 for ( var iterator = 0; iterator < marketsSource.length; ++iterator) { 1119 markets += ' trh-' + marketsSource[iterator]; 1120 } 1121 1122 var badgesSource = basicData[campains[i]].badge; 1123 var badges = ''; 1124 for ( var key in badgesSource ) { 1125 badges += '<span class="campaign-badge ' + badgesSource[key] + '" style="border-color:' + campaignBadges[badgesSource[key]].color + ';color:' + campaignBadges[badgesSource[key]].color + ';">' + campaignBadges[badgesSource[key]].label + '</span>'; 1126 } 1127 1128 newTableBody += '<tr data-href="' + cccData[campains[i]].permalink + '" class="all newCloned ' + categoriesClasses + ' ' + parameters + ' ' + markets + '" data-id="' + campains[i] + '" data-expanded="false" data-time="' + basicData[campains[i]].time_add + '">'; 1129 1130 newTableBody += '<td class="campaign-title">'; 1131 newTableBody += '<span class="footable-toggle fooicon fooicon-plus"></span>'; 1132 newTableBody += '<span class="title">'; 1133 newTableBody += '<div>' + badges + '</div>'; 1134 newTableBody += '<a href="' + cccData[campains[i]].permalink + '" target="_blank">' + cccData[campains[i]].title + '</a>'; 1135 if( cccData[campains[i]].commision ) { 1136 newTableBody += '<strong class="val">
1136' + cccData[campains[i]].commision + '</strong>'; 1137 } else { 1138 newTableBody += '<strong class="val"></strong>'; 1139 } 1140 newTableBody += '</span>'; 1141 newTableBody += '<span class="product">'; 1142 var catsLinks = ''; 1143 for ( var key in cccData[campains[i]].categories ) { 1144 catsLinks += '<span class="cat-name">' + cccData[campains[i]].categories[key] + '</span> '; 1145 } 1146 newTableBody += catsLinks; 1147 newTableBody += '</span>'; 1148 newTableBody += '</td>'; 1149 1150 var strImage = cccData[campains[i]].thumb; 1151 var thumb = strImage.replace( 'data-src', 'src'); 1152 1153 newTableBody += '<td class="campaigns-logo" data-detail-for="campaign-logo">'; 1154 newTableBody += '<a href="' + cccData[campains[i]].permalink + '" target="_blank">' + thumb + '</a>'; 1155 newTableBody += '</td>'; 1156 newTableBody += '<td class="campaign-commission" data-detail-for="campaign-comission">'; 1157 if( cccData[campains[i]].commision ) { 1158 newTableBody += '<strong class="val">
1158' + cccData[campains[i]].commision + '</strong>'; 1159 } else { 1160 newTableBody += '<strong class="val"></strong>'; 1161 } 1162 newTableBody += '</td>'; 1163 newTableBody += '<td class="campaign-component" data-detail-for="campaign-influcencers">'; 1164 newTableBody += displayYepNope( basicData[campains[i]].influenceri ); 1165 newTableBody += '</td>'; 1166 newTableBody += '<td class="campaign-component" data-detail-for="campaign-xml">'; 1167 newTableBody += displayYepNope( basicData[campains[i]].xmlfeed ); 1168 newTableBody += '</td>'; 1169 newTableBody += '<td class="campaign-component" data-detail-for="campaign-coupons">'; 1170 newTableBody += displayYepNope( basicData[campains[i]]['coupon_webs'] ); 1171 newTableBody += '</td>'; 1172 newTableBody += '<td class="campaign-component" data-detail-for="campaign-cash-back" data-breakpoints="x-small">'; 1173 newTableBody += displayYepNope( basicData[campains[i]].cashback ); 1174 newTableBody += '</td>'; 1175 newTableBody += '<td class="campaign-component" data-detail-for="campaign-emailing">'; 1176 newTableBody += displayYepNope( basicData[campains[i]].emailing ); 1177 newTableBody += '</td>'; 1178 newTableBody += '<td class="campaign-component" data-detail-for="campaign-ppc">'; 1179 newTableBody += displayYepNope( basicData[campains[i]].ppc ); 1180 newTableBody += '</td>'; 1181 newTableBody += '<td class="campaign-component" data-detail-for="campaign-css">'; 1182 newTableBody += displayYepNope( basicData[campains[i]].css ); 1183 newTableBody += '</td>'; 1184 newTableBody += '<td class="campaign-component" data-detail-for="campaign-extra">'; 1185 newTableBody += displayYepNope( basicData[campains[i]]['ext-coupons'] ); 1186 newTableBody += '</td>'; 1187 newTableBody += '</tr>'; 1188 //Footable detail row 1189 newTableBody += '<tr class="footable-detail-row">'; 1190 newTableBody += '<td colspan="12">'; 1191 newTableBody += '<table class="campaigns-list-table footable-details">'; 1192 newTableBody += '<tr data-detail-display="campaign-logo">'; 1193 newTableBody += '</tr>'; 1194 newTableBody += '<tr data-detail-display="campaign-comission">'; 1195 newTableBody += '</tr>'; 1196 newTableBody += '<tr data-detail-display="campaign-influcencers">'; 1197 newTableBody += '</tr>'; 1198 newTableBody += '<tr data-detail-display="campaign-xml">'; 1199 newTableBody += '</tr>'; 1200 newTableBody += '<tr data-detail-display="campaign-coupons">'; 1201 newTableBody += '</tr>'; 1202 newTableBody += '<tr data-detail-display="campaign-cash-back">'; 1203 newTableBody += '</tr>'; 1204 newTableBody += '<tr data-detail-display="campaign-emailing">'; 1205 newTableBody += '</tr>'; 1206 newTableBody += '<tr data-detail-display="campaign-ppc">'; 1207 newTableBody += '</tr>'; 1208 newTableBody += '<tr data-detail-display="campaign-css">'; 1209 newTableBody += '</tr>'; 1210 newTableBody += '<tr data-detail-display="campaign-extra">'; 1211 newTableBody += '</tr>'; 1212 newTableBody += '</table>'; 1213 newTableBody += '</td>'; 1214 newTableBody += '</tr>'; 1215 } 1216 } 1217 1218 return newTableBody; 1219 1220 } 1221 1222 /* 1223 * Default autocheck active 1224 */ 1225 document.addEventListener('custombox:content:open', function() { 1226 if ( $( '.extended-filter-columns-modal' ).length ) { 1227 $( 'table.campaigns-list-table th' ).each(function( index ) { 1228 var show_column = $(this).attr( 'data-show-column' ); 1229 var column_name = $(this).attr( 'data-detail-for' ); 1230 if ( show_column == 'true' ){ 1231 $( '.extended-filter-columns-modal' ).find( 'label[data-column="' + column_name + '"]' ).addClass( 'active' ); 1232 } else { 1233 $( '.extended-filter-columns-modal' ).find( 'label[data-column="' + column_name + '"]' ).removeClass( 'active' ); 1234 } 1235 }); 1236 } 1237 }); 1238 1239 /* 1240 * Change columns on select 1241 */ 1242 if ( $( '.extended-filter-columns-modal' ).length ) { 1243 $( document ).on( 'click', '.extended-filter-columns-modal label', function() { 1244 var this_label = $( this ); 1245 var column_name = this_label.attr( 'data-column' ); 1246 this_label.toggleClass( 'active' ); 1247 $( 'table.campaigns-list-table [data-detail-for="' + column_name + '"]' ).attr( 'data-show-column', filter_label_visibility( this_label ) ); 1248 $(window).trigger('resize'); 1249 }); 1250 } 1251 1252 function filter_label_visibility( this_label ) { 1253 return this_label.hasClass( 'active' ) ? 'true' : 'false'; 1254 } 1255 1256 /* 1257 * Fix touch event 1258 */ 1259 var detectTap = false;
1260 $(document).on('touchstart', function() { 1261 detectTap = true; //detects all touch events 1262 }); 1263 $(document).on('touchmove', function() { 1264 detectTap = false; //Excludes the scroll events from touch events 1265 }); 1266 1267 $(document).on('click', '.campaigns-list-table > tbody > tr[data-expanded] td', function(e) { 1268 // e.preventDefault(); 1269 if (e.type == 'click') { 1270 // console.log('tap'); 1271 detectTap = true; 1272 } 1273 1274 if (detectTap != true) { 1275 // return; 1276 } 1277 1278 var tr = $(this).closest('tr'), 1279 button = tr.find('.footable-toggle'); 1280 1281 if (tr.attr('data-expanded') == 'true') { 1282 tr.attr('data-expanded', 'false'); 1283 } else { 1284 tr.attr('data-expanded', 'true'); 1285 1286 tr.next('.footable-detail-row').find('table.footable-details tr').html(''); 1287 1288 tr.next('.footable-detail-row').find('table.footable-details tr').each(function (i) { 1289 var detailTR = $(this), 1290 data = detailTR.data('detail-display'); 1291 1292 if (data != null) { 1293 $('.campaigns-list-table:not(.fixed) > thead th[data-detail-for="'+data+'"]').clone().appendTo(detailTR); 1294 1295 tr.find('td[data-detail-for="'+data+'"]').clone().appendTo(detailTR); 1296 } 1297 }); 1298 1299 myLazyLoad.update(); 1300 1301 adjustCampaignsTable(); 1302 } 1303 1304 button.toggleClass('fooicon-plus fooicon-minus'); 1305 }); 1306 1307 $(window).on('resize', function() { 1308 adjustCampaignsTable(); 1309 }); 1310 1311 function adjustCampaignsTable() { 1312 // console.log('colspan'); 1313 if (window.matchMedia("(max-width: 550px)").matches) { 1314 $('.campaigns-list-table.footable-details tr:first-of-type > td').attr('colspan', '2'); 1315 } else { 1316 $('.campaigns-list-table.footable-details tr:first-of-type > td').attr('colspan', '0'); 1317 $('.campaigns-list-table tbody tr td').not('.footable-detail-row > td').attr('colspan', '0'); 1318 } 1319 } 1320 1321 // initCampaignsTable(); 1322 1323 // $campaignsTable.find('tbody tr.matching:not(.newCloned):gt('+(totalload-1)+')').hide(); 1324 // 1325 // $( ".loadmore" ).click(function(e) { 1326 // e.preventDefault(); 1327 // 1328 // $campaignsTable.find('tbody tr.matching:not(.newCloned):gt('+(totalload-1)+')').show(); 1329 // 1330 // totalload = totalload+20; 1331 // $campaignsTable.find('tbody tr.matching:not(.newCloned):visible:gt('+(totalload-1)+')').hide(); 1332 // 1333 // // console.log('totalload: ' + totalload); 1334 // // console.log('rows: ' + rows); 1335 // if (totalload >= rows) { 1336 // $('.load-more').hide(); 1337 // } 1338 // }); 1339 1340 /** 1341 * SEARCH FILTER 1342 */ 1343 var $search_ac = $( "#fiter-search" ).autocomplete({ 1344 source: filter_autocomplete, 1345 minLength: 1, 1346 open: function( event, ui ) { 1347 $( "#fiter-search" ).addClass('open'); 1348 }, 1349 close: function( event, ui ) { 1350 $( "#fiter-search" ).removeClass('open').trigger('refreshSearch'); 1351 }, 1352 classes: { 1353 "ui-autocomplete": "campaign-search-autocomplete" 1354 }, 1355 position: { 1356 my: "left+0 top-2", 1357 } 1358 }), 1359 elemAutocomplete = $search_ac.data("ui-autocomplete") || $search_ac.data("autocomplete"); 1360 if (elemAutocomplete) { 1361 elemAutocomplete._renderItem = function (ul, item) { 1362 var newText = String(item.value).replace( 1363 new RegExp(this.term, "gi"), 1364 "<span class='ui-state-highlight'>$&</span>"); 1365 1366 return $("<li></li>") 1367 .data("item.autocomplete", item) 1368 .append("<div>" + newText + "</div>") 1369 .appendTo(ul); 1370 }; 1371 }; 1372 1373 } 1374 1375 /** 1376 * KAMPANE POD MAGAZINOM, AK JE VYSSIA VYSKA AKO 60px, SKRAT CEZ 3BODKY 1377 */ 1378 if ( $('.campaigns .campaigns-list small').length ) { 1379 $('.campaigns .campaigns-list small').each(function () { 1380 var $ellipsisText = $(this); 1381 while ($ellipsisText.outerHeight(true) > 60) { 1382 $ellipsisText.text(function(index, text) { 1383 return text.replace(/\W*\s(\S)*$/, '...'); 1384 }); 1385 } 1386 }); 1387 } 1388 1389 $(".scroll-to-top").on("click", function() { 1390 $("html").animate({ scrollTop: 0 }, "slow"); 1391 }); 1392 1393 // TEAM DOGNET 1394 function movePersons() { 1395 $('.person').each(function() { 1396 var $person = $(this), 1397 $header = $person.find('header'), 1398 $personText = $person.find('.person__text'); 1399 1400 if ($(window).innerWidth() <= 767) { 1401 $header.detach().prependTo($person); 1402 } else { 1403 $header.detach().prependTo($personText); 1404 } 1405 1406 }); 1407 } 1408 1409 if ( $('.person').length ) { 1410 1411 movePersons(); 1412 1413 $(window).on('load resize', function() { 1414 movePersons(); 1415 }); 1416 1417 } 1418 1419});
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.