1 | diff --git a/django/contrib/admin/media/css/base.css b/django/contrib/admin/media/css/base.css |
---|
2 | index 6d1b673..a3c68be 100644 |
---|
3 | --- a/django/contrib/admin/media/css/base.css |
---|
4 | +++ b/django/contrib/admin/media/css/base.css |
---|
5 | @@ -305,38 +305,49 @@ tr.alt { |
---|
6 | |
---|
7 | /* SORTABLE TABLES */ |
---|
8 | |
---|
9 | +thead th { |
---|
10 | + padding: 0; |
---|
11 | + line-height: normal; |
---|
12 | +} |
---|
13 | + |
---|
14 | thead th a:link, thead th a:visited { |
---|
15 | color: #666; |
---|
16 | - display: block; |
---|
17 | +} |
---|
18 | + |
---|
19 | +thead th a.sortremove { |
---|
20 | + display: none; /* Hide by default */ |
---|
21 | } |
---|
22 | |
---|
23 | thead th.sorted { |
---|
24 | background: #c5c5c5 url(../img/admin/nav-bg-selected.gif) top left repeat-x; |
---|
25 | } |
---|
26 | |
---|
27 | -table thead th.sorted a { |
---|
28 | - padding-right: 13px; |
---|
29 | +table thead th .text a { |
---|
30 | + display: block; |
---|
31 | + padding: 2px 5px; |
---|
32 | + cursor: pointer; /* IE needs this */ |
---|
33 | } |
---|
34 | |
---|
35 | -table thead th.ascending a { |
---|
36 | - background: url(../img/admin/arrow-up.gif) right .4em no-repeat; |
---|
37 | +table thead th .text a:hover { |
---|
38 | + background-color: #ffffcc; |
---|
39 | } |
---|
40 | |
---|
41 | -table thead th.descending a { |
---|
42 | - background: url(../img/admin/arrow-down.gif) right .4em no-repeat; |
---|
43 | +table thead th.sorted .sortoptions { |
---|
44 | + display: block; |
---|
45 | + padding: 2px 5px; |
---|
46 | + float: right; |
---|
47 | + text-align: right; |
---|
48 | } |
---|
49 | |
---|
50 | -table thead th.sorted a span.text { |
---|
51 | - display: block; |
---|
52 | - float: left; |
---|
53 | - cursor: pointer; /* IE needs this */ |
---|
54 | +table thead th.sorted img#primary-sort-icon { |
---|
55 | + cursor: pointer; |
---|
56 | } |
---|
57 | |
---|
58 | -table thead th.sorted a span.sortpos { |
---|
59 | - display: block; |
---|
60 | - float: right; |
---|
61 | - font-size: .6em; |
---|
62 | - text-align: right; |
---|
63 | +table thead th.sorted .sortposition { |
---|
64 | + font-size: .8em; |
---|
65 | + min-width: 12px; |
---|
66 | + text-align: center; |
---|
67 | + display:inline-block; |
---|
68 | cursor: pointer; /* IE needs this */ |
---|
69 | } |
---|
70 | |
---|
71 | @@ -344,7 +355,7 @@ table thead th.sorted a img { |
---|
72 | vertical-align: top; |
---|
73 | } |
---|
74 | |
---|
75 | -table thead th.sorted a span.clear { |
---|
76 | +table thead th.sorted a .clear { |
---|
77 | display: block; |
---|
78 | clear: both; |
---|
79 | } |
---|
80 | diff --git a/django/contrib/admin/media/css/rtl.css b/django/contrib/admin/media/css/rtl.css |
---|
81 | index ec2bb2a..f433a4f 100644 |
---|
82 | --- a/django/contrib/admin/media/css/rtl.css |
---|
83 | +++ b/django/contrib/admin/media/css/rtl.css |
---|
84 | @@ -80,22 +80,7 @@ div.breadcrumbs { |
---|
85 | |
---|
86 | /* SORTABLE TABLES */ |
---|
87 | |
---|
88 | - |
---|
89 | -table thead th.sorted a { |
---|
90 | - padding-left: 13px; |
---|
91 | - padding-right: 0px; |
---|
92 | -} |
---|
93 | - |
---|
94 | -table thead th.ascending a, |
---|
95 | -table thead th.descending a { |
---|
96 | - background-position: left; |
---|
97 | -} |
---|
98 | - |
---|
99 | -table thead th.sorted a span.text { |
---|
100 | - float: right; |
---|
101 | -} |
---|
102 | - |
---|
103 | -table thead th.sorted a span.sortpos { |
---|
104 | +table thead th.sorted .sortoptions { |
---|
105 | float: left; |
---|
106 | } |
---|
107 | |
---|
108 | @@ -260,4 +245,4 @@ div.colM { |
---|
109 | |
---|
110 | .submit-row input { |
---|
111 | float: left; |
---|
112 | -} |
---|
113 | \ No newline at end of file |
---|
114 | +} |
---|
115 | diff --git a/django/contrib/admin/media/img/admin/arrow-down-hover.gif b/django/contrib/admin/media/img/admin/arrow-down-hover.gif |
---|
116 | new file mode 100644 |
---|
117 | index 0000000000000000000000000000000000000000..30d63d61788f7cc03d18f1516738b11f89cdf36f |
---|
118 | GIT binary patch |
---|
119 | literal 69 |
---|
120 | zcmZ?wbh9u|<Y(Yvn8?5o*tzh<ix&)Fp!k!8k%57UK?lSG$ulsCP3d2Gx|Tti$IB~9 |
---|
121 | RH|~1pOUY=DX?~0h)&ML^5a$2@ |
---|
122 | |
---|
123 | literal 0 |
---|
124 | HcmV?d00001 |
---|
125 | |
---|
126 | diff --git a/django/contrib/admin/media/img/admin/arrow-down.gif b/django/contrib/admin/media/img/admin/arrow-down.gif |
---|
127 | index a967b9fd5563a0fc2f5fde8ec0f7de3fc8fbc5a9..1161248023ee7d02f6bdc9eb0f4185cf6c1280ac 100644 |
---|
128 | GIT binary patch |
---|
129 | literal 88 |
---|
130 | zcmZ?wbhEHb<Y(YvSj50EbLPyA8#kUfapJ{`7Ys;1@h1x>0|N_#4oD27mVsH;W7nO3 |
---|
131 | g26_(KvV1HDEe}L0u*EN#xFFKY>(oAjISdTe06$F_qW}N^ |
---|
132 | |
---|
133 | literal 80 |
---|
134 | zcmZ?wbhEHb<YZuDSj5I~;>3wfn>L+1d2-{%jW1rjm^pLi|Ns9P7#I|PvM@3LmFNK3 |
---|
135 | i3?Q`(%%TyyyiA!oB04G)Te5yh$2@OMO7G-kum%ACMICAY |
---|
136 | |
---|
137 | diff --git a/django/contrib/admin/media/img/admin/arrow-up-hover.gif b/django/contrib/admin/media/img/admin/arrow-up-hover.gif |
---|
138 | new file mode 100644 |
---|
139 | index 0000000000000000000000000000000000000000..29a3dc500b6ae6f442e46da95ec10b63dabf0a58 |
---|
140 | GIT binary patch |
---|
141 | literal 70 |
---|
142 | zcmZ?wbh9u|<Y(Yvn8?5o*tzh<ix&(G40Db#D*j|)WME)o&;fE8K=KSs;#2xpp5FVA |
---|
143 | YkKw}E$m@G0-`<s!7oVCI$-rO@0ITy9_y7O^ |
---|
144 | |
---|
145 | literal 0 |
---|
146 | HcmV?d00001 |
---|
147 | |
---|
148 | diff --git a/django/contrib/admin/media/img/admin/arrow-up.gif b/django/contrib/admin/media/img/admin/arrow-up.gif |
---|
149 | index 3fe4851399a37337891ccf5452ee5d59bbedeec7..d0842b3545151ab949a84aeefa39bcfdd83c828b 100644 |
---|
150 | GIT binary patch |
---|
151 | literal 87 |
---|
152 | zcmZ?wbhEHb<Y(YvSj50EbLPyA8#kUfapJ{`7Ys;1@h1x>0|N_#4oD27mVsHuW7nO3 |
---|
153 | f2KyAn8A6x@3+_0+uuRZMJF|3E#?yU)ObpflIM^AU |
---|
154 | |
---|
155 | literal 838 |
---|
156 | zcmZ?wbhEHb<YZuD_|Cv^;>3wfn>L+1d2-{%jW1rjm^pJM!zdUHfe{k|ia%Kx8Gu<q |
---|
157 | z2jpW=o?zfmX5i&8aY$HjkcpK`j>SOX;Q=NFCLWFl0*@NH#f6pb?3n1_z+epkX4f1j |
---|
158 | |
---|
159 | diff --git a/django/contrib/admin/media/img/admin/icon-remove-small.gif b/django/contrib/admin/media/img/admin/icon-remove-small.gif |
---|
160 | new file mode 100644 |
---|
161 | index 0000000000000000000000000000000000000000..288c2ad7cc7b807ab02d035c098c80b2c11458b6 |
---|
162 | GIT binary patch |
---|
163 | literal 189 |
---|
164 | zcmZ?wbh9u|<YC}pIKsfNO;diiuJQ>RQwTcgWCKJO94ybcJ6`ei0HUkGen50BGysSm |
---|
165 | z$45O*h<cTs{-vh;{Dkfc6M8Psn|W=)90mpkW@aD(1R7A<2TCjcWMO1r5NFT<NrLQT |
---|
166 | zV6}Rn+Lw|!OH4H=EK}DvRMFKssP~FWzrob0ZciFl%+T7?dcb3mf&#}u#ShYvT&KMl |
---|
167 | R5;m{WoBS@*hmVoL8UXbGKC1u# |
---|
168 | |
---|
169 | literal 0 |
---|
170 | HcmV?d00001 |
---|
171 | |
---|
172 | diff --git a/django/contrib/admin/media/img/admin/icon_cog-hover.gif b/django/contrib/admin/media/img/admin/icon_cog-hover.gif |
---|
173 | new file mode 100644 |
---|
174 | index 0000000000000000000000000000000000000000..45611686ee942ed9ee4277564f7c00a83684417b |
---|
175 | GIT binary patch |
---|
176 | literal 131 |
---|
177 | zcmZ?wbh9u|<Y(Yv*v!BX*tzf&7+eQ~mtgSq>sJOGK=CIFBLf2mgAPa@WCjC^fq-Wu |
---|
178 | z*DB*+1}^zqPYUBLCTUnK)R{i_pzEsa$}HX4yq4nG%g-ySFn?gMf26QY#!rdC8UTGS |
---|
179 | BDRlq< |
---|
180 | |
---|
181 | literal 0 |
---|
182 | HcmV?d00001 |
---|
183 | |
---|
184 | diff --git a/django/contrib/admin/templates/admin/change_list_results.html b/django/contrib/admin/templates/admin/change_list_results.html |
---|
185 | index 738ff28..cc09533 100644 |
---|
186 | --- a/django/contrib/admin/templates/admin/change_list_results.html |
---|
187 | +++ b/django/contrib/admin/templates/admin/change_list_results.html |
---|
188 | @@ -12,15 +12,18 @@ |
---|
189 | <tr> |
---|
190 | {% for header in result_headers %} |
---|
191 | <th scope="col" {{ header.class_attrib }}> |
---|
192 | - {% if header.sortable %}<a href="{{ header.url_primary }}">{% endif %} |
---|
193 | - <span class="text">{{ header.text|capfirst }}</span> |
---|
194 | {% if header.sortable %} |
---|
195 | - {% if header.sort_pos > 0 %}<span class="sortpos"> |
---|
196 | - {% if header.sort_pos == 1 %}<img id="primary-sort-icon" src="{% admin_media_prefix %}img/admin/icon_cog.gif" alt="" /> {% endif %} |
---|
197 | - {{ header.sort_pos }}</span> |
---|
198 | + {% if header.sort_pos > 0 %} |
---|
199 | + <div class="sortoptions"> |
---|
200 | + {% if header.sort_pos == 1 %}<img id="primary-sort-icon" src="{% admin_media_prefix %}img/admin/icon_cog.gif" alt="{% trans "options" %}" title="{% trans "Sorting options" %}"/> {% endif %} |
---|
201 | + <span class="sortposition">{{ header.sort_pos }}</span> |
---|
202 | + <a class="sortremove" href="{{ header.url_remove }}" title="{% trans "Remove from sorting" %}"><img src="{% admin_media_prefix %}img/admin/icon-remove-small.gif"></a> |
---|
203 | + <a href="{{ header.url_toggle }}" class="toggle {% if header.ascending %}ascending{% else %}descending{% endif %}"><img src="{% admin_media_prefix %}img/admin/arrow-{% if header.ascending %}up{% else %}down{% endif %}.gif" alt="{% trans "toggle" %}" title="{% trans "Toggle sorting" %}" /></a> |
---|
204 | + </div> |
---|
205 | {% endif %} |
---|
206 | - <span class="clear"></span></a> |
---|
207 | {% endif %} |
---|
208 | + <div class="text">{% if header.sortable %}<a href="{{ header.url_primary }}" title="{% trans "Make primary sorting column and toggle sorting" %}">{{ header.text|capfirst }}</a>{% else %}{{ header.text|capfirst }}{% endif %}</div> |
---|
209 | + <div class="clear"></div> |
---|
210 | </th>{% endfor %} |
---|
211 | </tr> |
---|
212 | </thead> |
---|
213 | @@ -115,6 +118,33 @@ |
---|
214 | hidePopup(); |
---|
215 | ev.preventDefault() |
---|
216 | }); |
---|
217 | + |
---|
218 | + $('a.toggle.ascending img').mouseenter(function(){ |
---|
219 | + $(this).attr('src', '{% admin_media_prefix %}img/admin/arrow-up-hover.gif'); |
---|
220 | + }); |
---|
221 | + $('a.toggle.ascending img').mouseout(function(){ |
---|
222 | + $(this).attr('src', '{% admin_media_prefix %}img/admin/arrow-up.gif'); |
---|
223 | + }); |
---|
224 | + $('a.toggle.descending img').mouseenter(function(){ |
---|
225 | + $(this).attr('src', '{% admin_media_prefix %}img/admin/arrow-down-hover.gif'); |
---|
226 | + }); |
---|
227 | + $('a.toggle.descending img').mouseout(function(){ |
---|
228 | + $(this).attr('src', '{% admin_media_prefix %}img/admin/arrow-down.gif'); |
---|
229 | + }); |
---|
230 | + $('img#primary-sort-icon').mouseenter(function(){ |
---|
231 | + $(this).attr('src', '{% admin_media_prefix %}img/admin/icon_cog-hover.gif'); |
---|
232 | + }); |
---|
233 | + $('img#primary-sort-icon').mouseout(function(){ |
---|
234 | + $(this).attr('src', '{% admin_media_prefix %}img/admin/icon_cog.gif'); |
---|
235 | + }); |
---|
236 | + $('span.sortposition').mouseover(function(){ |
---|
237 | + $(this).hide(); |
---|
238 | + $(this).siblings('a.sortremove').show(); |
---|
239 | + }); |
---|
240 | + $('a.sortremove').mouseleave(function(){ |
---|
241 | + $(this).hide(); |
---|
242 | + $(this).siblings('span.sortposition').show(); |
---|
243 | + }); |
---|
244 | }); |
---|
245 | })(django.jQuery); |
---|
246 | //--> |
---|