Skip to content

Commit 1f7fce1

Browse files
committed
Merge pull request composer#136 from Flyingmana/patch-3
improve speed of search operation
2 parents f44c455 + 7e282ef commit 1f7fce1

File tree

1 file changed

+54
-59
lines changed

1 file changed

+54
-59
lines changed

views/index.html.twig

+54-59
Original file line numberDiff line numberDiff line change
@@ -36,65 +36,67 @@
3636
<input type="text" id="search" autocomplete="off" autofocus />
3737

3838
{% for name, package in packages %}
39-
<h3 id="{{ package.highest.name }}">{{ package.highest.name }}</h3>
40-
{% if package.highest.description %}
41-
<p>{{ package.highest.description }}</p>
42-
{% endif %}
43-
<table>
44-
{% if package.highest.homepage %}
45-
<tr>
46-
<th>Homepage</th>
47-
<td><a href="{{ package.highest.homepage }}">{{ package.highest.homepage }}</a></td>
48-
</tr>
39+
<div>
40+
<h3 id="{{ package.highest.name }}">{{ package.highest.name }}</h3>
41+
{% if package.highest.description %}
42+
<p>{{ package.highest.description }}</p>
4943
{% endif %}
50-
{% if package.highest.license %}
51-
<tr>
52-
<th>License</th>
53-
<td>{{ package.highest.license|join(', ') }}</td>
54-
</tr>
55-
{% endif %}
56-
{% if package.highest.authors %}
44+
<table>
45+
{% if package.highest.homepage %}
46+
<tr>
47+
<th>Homepage</th>
48+
<td><a href="{{ package.highest.homepage }}">{{ package.highest.homepage }}</a></td>
49+
</tr>
50+
{% endif %}
51+
{% if package.highest.license %}
52+
<tr>
53+
<th>License</th>
54+
<td>{{ package.highest.license|join(', ') }}</td>
55+
</tr>
56+
{% endif %}
57+
{% if package.highest.authors %}
58+
<tr>
59+
<th>Authors</th>
60+
<td>
61+
{% for author in package.highest.authors %}
62+
{%- if author.homepage -%}
63+
<a href="{{ author.homepage }}">{{ author.name }}</a>
64+
{%- else -%}
65+
{{ author.name }}
66+
{%- endif -%}
67+
{%- if not loop.last -%}, {% endif -%}
68+
{% endfor %}
69+
</td>
70+
</tr>
71+
{% endif %}
5772
<tr>
58-
<th>Authors</th>
73+
<th>Releases</th>
5974
<td>
60-
{% for author in package.highest.authors %}
61-
{%- if author.homepage -%}
62-
<a href="{{ author.homepage }}">{{ author.name }}</a>
75+
{% for version in package.versions %}
76+
{%- if version.distType -%}
77+
<a href="{{ version.distUrl }}" title="{{ version.distReference }}">{{ version.prettyVersion }}</a>
6378
{%- else -%}
64-
{{ author.name }}
79+
<a href="{{ version.sourceUrl }}" title="{{ version.sourceReference }}">{{ version.prettyVersion }}</a>
6580
{%- endif -%}
6681
{%- if not loop.last -%}, {% endif -%}
6782
{% endfor %}
6883
</td>
6984
</tr>
70-
{% endif %}
71-
<tr>
72-
<th>Releases</th>
73-
<td>
74-
{% for version in package.versions %}
75-
{%- if version.distType -%}
76-
<a href="{{ version.distUrl }}" title="{{ version.distReference }}">{{ version.prettyVersion }}</a>
77-
{%- else -%}
78-
<a href="{{ version.sourceUrl }}" title="{{ version.sourceReference }}">{{ version.prettyVersion }}</a>
79-
{%- endif -%}
80-
{%- if not loop.last -%}, {% endif -%}
81-
{% endfor %}
82-
</td>
83-
</tr>
84-
<tr>
85-
<th>Required by</th>
86-
<td>
87-
{% set package_dependencies = attribute(dependencies, name) %}
88-
{% if package_dependencies|length %}
89-
<ul>
90-
{% for dependency in package_dependencies %}
91-
<li><a href="#{{ dependency }}">{{ dependency }}</a></li>
92-
{% endfor %}
93-
</ul>
94-
{% endif %}
95-
</td>
96-
</tr>
97-
</table>
85+
<tr>
86+
<th>Required by</th>
87+
<td>
88+
{% set package_dependencies = attribute(dependencies, name) %}
89+
{% if package_dependencies|length %}
90+
<ul>
91+
{% for dependency in package_dependencies %}
92+
<li><a href="#{{ dependency }}">{{ dependency }}</a></li>
93+
{% endfor %}
94+
</ul>
95+
{% endif %}
96+
</td>
97+
</tr>
98+
</table>
99+
</div>
98100
{% endfor %}
99101
</div>
100102
</div>
@@ -107,12 +109,7 @@
107109
{% include 'jquery-2.0.0.js' %}
108110
{% include 'moment-2.4.0.js' %}
109111
$(function(){
110-
var packages = $('h3').each(function(){
111-
var desc = $(this).next('p'),
112-
info = desc.length ? desc.next('table') : $(this).next('table');
113-
$(this).data('desc', desc);
114-
$(this).data('info', info);
115-
});
112+
var packages = $('h3');
116113
var timer;
117114
$('input#search').keyup(function(){
118115
clearTimeout(timer);
@@ -121,9 +118,7 @@
121118
timer = setTimeout(function() {
122119
packages.each(function(){
123120
show = $(this).text().toLowerCase().indexOf(needle) != -1;
124-
$(this).toggle(show);
125-
$(this).data('desc').toggle(show);
126-
$(this).data('info').toggle(show);
121+
$(this).parent().toggle(show);
127122
});
128123
}, ms);
129124
}).focus();

0 commit comments

Comments
 (0)