Browse Source

Don't prematurely initialize autocomplete

spaghetti 8 years ago
parent
commit
b6e46ed4f6

+ 2
- 12
sections/collages/torrent_collage.php View File

561
 if ($CollageCovers != 0) { ?>
561
 if ($CollageCovers != 0) { ?>
562
     <div id="coverart" class="box">
562
     <div id="coverart" class="box">
563
       <div class="head" id="coverhead"><strong>Cover Art</strong></div>
563
       <div class="head" id="coverhead"><strong>Cover Art</strong></div>
564
-      <div class="collage_images" id="collage_page0">
564
+      <div class="collage_images" id="collage_page0" data-wall-child=".collage_image" data-wall-size="4" data-wall-min="2">
565
 <?
565
 <?
566
   $Page1 = array_slice($Collage, 0, $CollageCovers);
566
   $Page1 = array_slice($Collage, 0, $CollageCovers);
567
   foreach ($Page1 as $Group) {
567
   foreach ($Page1 as $Group) {
570
 ?>
570
 ?>
571
       </div>
571
       </div>
572
     </div>
572
     </div>
573
-    <script>
574
-      $('.collage_image img').load(function() {
575
-        var test = true
576
-        $('.collage_image img').toArray().forEach(function(el) {
577
-          if (!el.complete) test = false
578
-        })
579
-        if (test) wall('.collage_images', '.collage_image', 4, 2)
580
-      })
581
-      wall('.collage_images', '.collage_image', 4, 2)
582
-    </script>
583
 <?  if ($NumGroups > $CollageCovers) { ?>
573
 <?  if ($NumGroups > $CollageCovers) { ?>
584
     <div class="linkbox pager" style="clear: left;" id="pageslinksdiv">
574
     <div class="linkbox pager" style="clear: left;" id="pageslinksdiv">
585
       <span id="firstpage" class="invisible"><a href="#" class="pageslink" onclick="collageShow.page(0, this); return false;"><strong>&lt;&lt; First</strong></a> | </span>
575
       <span id="firstpage" class="invisible"><a href="#" class="pageslink" onclick="collageShow.page(0, this); return false;"><strong>&lt;&lt; First</strong></a> | </span>
592
       <span id="lastpage" class="<?=(ceil($NumGroups / $CollageCovers) == 2 ? 'invisible' : '')?>"> | <a href="#" class="pageslink" onclick="collageShow.page(<?=ceil($NumGroups / $CollageCovers) - 1?>, this); return false;"><strong>Last &gt;&gt;</strong></a></span>
582
       <span id="lastpage" class="<?=(ceil($NumGroups / $CollageCovers) == 2 ? 'invisible' : '')?>"> | <a href="#" class="pageslink" onclick="collageShow.page(<?=ceil($NumGroups / $CollageCovers) - 1?>, this); return false;"><strong>Last &gt;&gt;</strong></a></span>
593
     </div>
583
     </div>
594
     <script type="text/javascript">//<![CDATA[
584
     <script type="text/javascript">//<![CDATA[
595
-      collageShow.init(<?=json_encode($CollagePages)?>);
585
+      $(document).ready(function(){collageShow.init(<?=json_encode($CollagePages)?>)});
596
     //]]></script>
586
     //]]></script>
597
 <?
587
 <?
598
   }
588
   }

+ 1
- 11
sections/user/user.php View File

808
         <a data-toggle-target="#collage<?=$CollageID?>_box .collage_images" data-toggle-replace="Show" class="brackets">Hide</a>
808
         <a data-toggle-target="#collage<?=$CollageID?>_box .collage_images" data-toggle-replace="Show" class="brackets">Hide</a>
809
       </span>
809
       </span>
810
     </div>
810
     </div>
811
-    <div id="user_collage_images" class="collage_images">
811
+    <div id="user_collage_images" class="collage_images" data-wall-child=".collage_image" data-wall-size="5">
812
 <?  foreach ($Collage as $C) {
812
 <?  foreach ($Collage as $C) {
813
       $Group = Torrents::get_groups(array($C['GroupID']), true, true, false);
813
       $Group = Torrents::get_groups(array($C['GroupID']), true, true, false);
814
       extract(Torrents::array_group($Group[$C['GroupID']]));
814
       extract(Torrents::array_group($Group[$C['GroupID']]));
828
       </div>
828
       </div>
829
 <?  } ?>
829
 <?  } ?>
830
     </div>
830
     </div>
831
-    <script>
832
-    $('#user_collage_images .collage_image img').load(function() {
833
-      var test = true
834
-      $('#user_collage_images .collage_image img').toArray().forEach(function(el) {
835
-        if (!el.complete) test = false
836
-      })
837
-      if (test) wall('#user_collage_images', '.collage_image', 5)
838
-    })
839
-    wall('#user_collage_images','.collage_image',5)
840
-    </script>
841
   </div>
831
   </div>
842
 <?
832
 <?
843
 }
833
 }

+ 7
- 0
static/functions/autocomplete.js View File

4
 $(document).ready(initAutocomplete)
4
 $(document).ready(initAutocomplete)
5
 
5
 
6
 function initAutocomplete() {
6
 function initAutocomplete() {
7
+  if (!$.Autocomplete) {
8
+    window.setTimeout(function() {
9
+      initAutocomplete();
10
+    }, 500)
11
+    return;
12
+  }
13
+
7
   var url = {
14
   var url = {
8
     path: window.location.pathname.split('/').reverse()[0].split(".")[0],
15
     path: window.location.pathname.split('/').reverse()[0].split(".")[0],
9
     query: window.location.search.slice(1).split('&').reduce((a,b)=>Object.assign(a,{[b.split('=')[0]]:b.split('=')[1]}),{})
16
     query: window.location.search.slice(1).split('&').reduce((a,b)=>Object.assign(a,{[b.split('=')[0]]:b.split('=')[1]}),{})

+ 0
- 13
static/functions/collage.js View File

87
       $(el.parentNode).add_class('selected');
87
       $(el.parentNode).add_class('selected');
88
     }
88
     }
89
 
89
 
90
-/*
91
-    wall = new freewall(ul)
92
-    wall.reset({
93
-      selector: '.collage_image',
94
-      cellW: 150,
95
-      cellH: 'auto',
96
-      gutterX: 2,
97
-      gutterY: 2
98
-    })
99
-    var cells = wall.container.find('.collage_image')
100
-    cells.find('img').load(function(){wall.fitWidth()})
101
-*/
102
     $('.collage_image img').load(function() {
90
     $('.collage_image img').load(function() {
103
       var test = true;
91
       var test = true;
104
       $('.collage_image img').toArray().forEach(function(el) {
92
       $('.collage_image img').toArray().forEach(function(el) {
106
       })
94
       })
107
       if (test) wall('.collage_images', '.collage_image', 4)
95
       if (test) wall('.collage_images', '.collage_image', 4)
108
     })
96
     })
109
-    console.log('fired')
110
     wall('.collage_images', '.collage_image', 4)
97
     wall('.collage_images', '.collage_image', 4)
111
 
98
 
112
     // Toggle the page number links
99
     // Toggle the page number links

+ 16
- 1
static/functions/wall.js View File

1
 function wall(parent, children, style, min) {
1
 function wall(parent, children, style, min) {
2
-  var min = min || 2
2
+  var min = +min || 2
3
   var b = $(parent+':not(.hidden)').raw()
3
   var b = $(parent+':not(.hidden)').raw()
4
   var bs = $(parent+':not(.hidden) '+children).toArray()
4
   var bs = $(parent+':not(.hidden) '+children).toArray()
5
 
5
 
8
   bs.forEach(function(el){el.style.width='';el.style.height=''})
8
   bs.forEach(function(el){el.style.width='';el.style.height=''})
9
 
9
 
10
   var rows = []
10
   var rows = []
11
+  if (typeof(style) === 'string') { style = +style }
11
   if (typeof(style) === 'number') {
12
   if (typeof(style) === 'number') {
12
     for (var i=0; i<bs.length; i+=style)
13
     for (var i=0; i<bs.length; i+=style)
13
       rows.push(bs.slice(i,i+style))
14
       rows.push(bs.slice(i,i+style))
53
     }
54
     }
54
   }
55
   }
55
 }
56
 }
57
+
58
+if ($('[data-wall-child]').raw()) {
59
+  $('[data-wall-child]').each(function(i, el) {
60
+    wall('#'+el.id, el.attributes['data-wall-child'].value, el.attributes['data-wall-size'].value, el.attributes['data-wall-min']?el.attributes['data-wall-min']:false)
61
+    var sel = '#'+el.id+' '+el.attributes['data-wall-child'].value+' img'
62
+    $(sel).load(function() {
63
+      var test = true;
64
+      $(sel).each(function(j, img) {
65
+        if (!img.complete) test = false
66
+      })
67
+      if (test) wall('#'+el.id, el.attributes['data-wall-child'].value, el.attributes['data-wall-size'].value, el.attributes['data-wall-min']?el.attributes['data-wall-min']:false)
68
+    })
69
+  })
70
+}

Loading…
Cancel
Save