|
1 | 1 | <template>
|
2 | 2 | <div class="infinite-loading-container">
|
3 | 3 | <i class="icon-loading" v-show="isLoading"></i>
|
4 |
| - <div class="infinite-status-tips" v-show="!isLoading && isNoResults"> |
| 4 | + <div class="infinite-status-prompt" v-show="!isLoading && isNoResults"> |
5 | 5 | <slot name="no-results">No results :(</slot>
|
6 | 6 | </div>
|
7 |
| - <div class="infinite-status-tips" v-show="!isLoading && isNoMore"> |
| 7 | + <div class="infinite-status-prompt" v-show="!isLoading && isNoMore"> |
8 | 8 | <slot name="no-more">No more data :)</slot>
|
9 | 9 | </div>
|
10 | 10 | </div>
|
|
108 | 108 | };
|
109 | 109 | </script>
|
110 | 110 | <style lang="less" scoped>
|
111 |
| - .icon-loading{ |
112 |
| - position: relative; |
113 |
| - border: 1px solid #999; |
114 |
| - animation: ease icon-rotating 1.5s infinite; |
115 |
| - &:before{ |
116 |
| - @size: 6px; |
117 |
| - content: ''; |
118 |
| - position: absolute; |
119 |
| - display: block; |
120 |
| - top: 0; |
121 |
| - left: 50%; |
122 |
| - margin-top: -@size/2; |
123 |
| - margin-left: -@size/2; |
124 |
| - width: @size; |
125 |
| - height: @size; |
126 |
| - background-color: #999; |
127 |
| - border-radius: 50%; |
128 |
| - } |
129 |
| - } |
130 |
| - .icon-wave-dots{ |
131 |
| - position: relative; |
132 |
| - &:before{ |
133 |
| - @size: 8px; |
134 |
| - @wave: -6px; |
135 |
| - @near-wave: -4px; |
136 |
| - @after-wave: 2px; |
137 |
| - @c-wave: #999; |
138 |
| - @c-near-wave: #bbb; |
139 |
| - content: ''; |
140 |
| - position: absolute; |
141 |
| - top: 50%; |
142 |
| - left: 50%; |
143 |
| - margin-left: -@size/2; |
144 |
| - margin-top: -@size/2; |
145 |
| - width: @size; |
146 |
| - height: @size; |
147 |
| - background-color: @c-near-wave; |
148 |
| - border-radius: 50%; |
149 |
| - animation: linear icon-wave-dots 2.8s infinite; |
150 |
| - @keyframes icon-wave-dots{ |
151 |
| - 0%{ |
152 |
| - box-shadow: -@size * 4 0 0 @c-near-wave, |
153 |
| - -@size * 2 0 0 @c-near-wave, |
154 |
| - @size * 2 0 0 @c-near-wave, |
155 |
| - @size * 4 0 0 @c-near-wave; |
156 |
| - } |
157 |
| - 5%{ |
158 |
| - box-shadow: -@size * 4 @near-wave 0 @c-near-wave, |
159 |
| - -@size * 2 0 0 @c-near-wave, |
160 |
| - @size * 2 0 0 @c-near-wave, |
161 |
| - @size * 4 0 0 @c-near-wave; |
162 |
| - transform: translateY(0); |
163 |
| - } |
164 |
| - 10%{ |
165 |
| - box-shadow: -@size * 4 @wave 0 @c-wave, |
166 |
| - -@size * 2 @near-wave 0 @c-near-wave, |
167 |
| - @size * 2 0 0 @c-near-wave, |
168 |
| - @size * 4 0 0 @c-near-wave; |
169 |
| - transform: translateY(0); |
170 |
| - } |
171 |
| - 15%{ |
172 |
| - box-shadow: -@size * 4 @after-wave 0 @c-near-wave, |
173 |
| - -@size * 2 @wave - @near-wave 0 @c-wave, |
174 |
| - @size * 2 -@near-wave 0 @c-near-wave, |
175 |
| - @size * 4 -@near-wave 0 @c-near-wave; |
176 |
| - transform: translateY(@near-wave); |
177 |
| - background-color: @c-near-wave; |
178 |
| - } |
179 |
| - 20%{ |
180 |
| - box-shadow: -@size * 4 -@wave 0 @c-near-wave, |
181 |
| - -@size * 2 @near-wave - @wave + @after-wave 0 @c-near-wave, |
182 |
| - @size * 2 @near-wave - @wave 0 @c-near-wave, |
183 |
| - @size * 4 -@wave 0 @c-near-wave; |
184 |
| - transform: translateY(@wave); |
185 |
| - background-color: @c-wave; |
186 |
| - } |
187 |
| - 25%{ |
188 |
| - @offset: @near-wave + @after-wave; |
189 |
| - box-shadow: -@size * 4 -@offset 0 @c-near-wave, |
190 |
| - -@size * 2 -@offset 0 @c-near-wave, |
191 |
| - @size * 2 @wave - @offset 0 @c-wave, |
192 |
| - @size * 4 @near-wave - @offset 0 @c-near-wave; |
193 |
| - transform: translateY(@offset); |
194 |
| - background-color: @c-near-wave; |
195 |
| - } |
196 |
| - 30%{ |
197 |
| - box-shadow: -@size * 4 0 0 @c-near-wave, |
198 |
| - -@size * 2 0 0 @c-near-wave, |
199 |
| - @size * 2 @near-wave + @after-wave 0 @c-near-wave, |
200 |
| - @size * 4 @wave 0 @c-wave; |
201 |
| - transform: translateY(0); |
202 |
| - } |
203 |
| - 35%{ |
204 |
| - box-shadow: -@size * 4 0 0 @c-near-wave, |
205 |
| - -@size * 2 0 0 @c-near-wave, |
206 |
| - @size * 2 0 0 @c-near-wave, |
207 |
| - @size * 4 @near-wave + @after-wave 0 @c-near-wave; |
208 |
| - } |
209 |
| - 40%{ |
210 |
| - box-shadow: -@size * 4 0 0 @c-near-wave, |
211 |
| - -@size * 2 0 0 @c-near-wave, |
212 |
| - @size * 2 0 0 @c-near-wave, |
213 |
| - @size * 4 0 0 @c-near-wave; |
214 |
| - } |
215 |
| - 100%{ |
216 |
| - box-shadow: -@size * 4 0 0 @c-near-wave, |
217 |
| - -@size * 2 0 0 @c-near-wave, |
218 |
| - @size * 2 0 0 @c-near-wave, |
219 |
| - @size * 4 0 0 @c-near-wave; |
220 |
| - } |
221 |
| - } |
222 |
| - } |
223 |
| - } |
224 |
| -
|
225 |
| - .icon-spiral{ |
226 |
| - border: 2px solid #777; |
227 |
| - border-right-color: transparent; |
228 |
| - animation: linear icon-rotating .85s infinite; |
229 |
| - } |
230 |
| -
|
231 |
| - .icon-circles{ |
232 |
| - position: relative; |
233 |
| - &:before{ |
234 |
| - @size: 5px; |
235 |
| - @radius: 12px; |
236 |
| - @shallow: 8%; |
237 |
| - @c-base: #505050; |
238 |
| - content: ''; |
239 |
| - position: absolute; |
240 |
| - left: 50%; |
241 |
| - top: 50%; |
242 |
| - margin-top: -@size/2; |
243 |
| - margin-left: -@size/2; |
244 |
| - width: @size; |
245 |
| - height: @size; |
246 |
| - border-radius: 50%; |
247 |
| - animation: linear icon-circles .75s infinite; |
248 |
| - @keyframes icon-circles{ |
249 |
| - 0%{ |
250 |
| - box-shadow: 0 -@radius 0 @c-base, |
251 |
| - @radius * 0.71 -@radius * 0.71 0 lighten(@c-base, @shallow), |
252 |
| - @radius 0 0 lighten(@c-base, @shallow * 2), |
253 |
| - @radius * 0.71 @radius * 0.71 0 lighten(@c-base, @shallow * 3), |
254 |
| - 0 @radius 0 lighten(@c-base, @shallow * 4), |
255 |
| - -@radius * 0.71 @radius * 0.71 0 lighten(@c-base, @shallow * 5), |
256 |
| - -@radius 0 0 lighten(@c-base, @shallow * 6), |
257 |
| - -@radius * 0.71 -@radius * 0.71 0 lighten(@c-base, @shallow * 7); |
258 |
| - } |
259 |
| - 12.5%{ |
260 |
| - box-shadow: 0 -@radius 0 lighten(@c-base, @shallow * 7), |
261 |
| - @radius * 0.71 -@radius * 0.71 0 @c-base, |
262 |
| - @radius 0 0 lighten(@c-base, @shallow * 1), |
263 |
| - @radius * 0.71 @radius * 0.71 0 lighten(@c-base, @shallow * 2), |
264 |
| - 0 @radius 0 lighten(@c-base, @shallow * 3), |
265 |
| - -@radius * 0.71 @radius * 0.71 0 lighten(@c-base, @shallow * 4), |
266 |
| - -@radius 0 0 lighten(@c-base, @shallow * 5), |
267 |
| - -@radius * 0.71 -@radius * 0.71 0 lighten(@c-base, @shallow * 6); |
268 |
| - } |
269 |
| - 25%{ |
270 |
| - box-shadow: 0 -@radius 0 lighten(@c-base, @shallow * 6), |
271 |
| - @radius * 0.71 -@radius * 0.71 0 lighten(@c-base, @shallow * 7), |
272 |
| - @radius 0 0 @c-base, |
273 |
| - @radius * 0.71 @radius * 0.71 0 lighten(@c-base, @shallow * 1), |
274 |
| - 0 @radius 0 lighten(@c-base, @shallow * 2), |
275 |
| - -@radius * 0.71 @radius * 0.71 0 lighten(@c-base, @shallow * 3), |
276 |
| - -@radius 0 0 lighten(@c-base, @shallow * 4), |
277 |
| - -@radius * 0.71 -@radius * 0.71 0 lighten(@c-base, @shallow * 5); |
278 |
| - } |
279 |
| - 37.5%{ |
280 |
| - box-shadow: 0 -@radius 0 lighten(@c-base, @shallow * 5), |
281 |
| - @radius * 0.71 -@radius * 0.71 0 lighten(@c-base, @shallow * 6), |
282 |
| - @radius 0 0 lighten(@c-base, @shallow * 7), |
283 |
| - @radius * 0.71 @radius * 0.71 0 @c-base, |
284 |
| - 0 @radius 0 lighten(@c-base, @shallow * 1), |
285 |
| - -@radius * 0.71 @radius * 0.71 0 lighten(@c-base, @shallow * 2), |
286 |
| - -@radius 0 0 lighten(@c-base, @shallow * 3), |
287 |
| - -@radius * 0.71 -@radius * 0.71 0 lighten(@c-base, @shallow * 4); |
288 |
| - } |
289 |
| - 50%{ |
290 |
| - box-shadow: 0 -@radius 0 lighten(@c-base, @shallow * 4), |
291 |
| - @radius * 0.71 -@radius * 0.71 0 lighten(@c-base, @shallow * 5), |
292 |
| - @radius 0 0 lighten(@c-base, @shallow * 6), |
293 |
| - @radius * 0.71 @radius * 0.71 0 lighten(@c-base, @shallow * 7), |
294 |
| - 0 @radius 0 @c-base, |
295 |
| - -@radius * 0.71 @radius * 0.71 0 lighten(@c-base, @shallow * 1), |
296 |
| - -@radius 0 0 lighten(@c-base, @shallow * 2), |
297 |
| - -@radius * 0.71 -@radius * 0.71 0 lighten(@c-base, @shallow * 3); |
298 |
| - } |
299 |
| - 62.5%{ |
300 |
| - box-shadow: 0 -@radius 0 lighten(@c-base, @shallow * 3), |
301 |
| - @radius * 0.71 -@radius * 0.71 0 lighten(@c-base, @shallow * 4), |
302 |
| - @radius 0 0 lighten(@c-base, @shallow * 5), |
303 |
| - @radius * 0.71 @radius * 0.71 0 lighten(@c-base, @shallow * 6), |
304 |
| - 0 @radius 0 lighten(@c-base, @shallow * 7), |
305 |
| - -@radius * 0.71 @radius * 0.71 0 @c-base, |
306 |
| - -@radius 0 0 lighten(@c-base, @shallow * 1), |
307 |
| - -@radius * 0.71 -@radius * 0.71 0 lighten(@c-base, @shallow * 2); |
308 |
| - } |
309 |
| - 75%{ |
310 |
| - box-shadow: 0 -@radius 0 lighten(@c-base, @shallow * 2), |
311 |
| - @radius * 0.71 -@radius * 0.71 0 lighten(@c-base, @shallow * 3), |
312 |
| - @radius 0 0 lighten(@c-base, @shallow * 4), |
313 |
| - @radius * 0.71 @radius * 0.71 0 lighten(@c-base, @shallow * 5), |
314 |
| - 0 @radius 0 lighten(@c-base, @shallow * 6), |
315 |
| - -@radius * 0.71 @radius * 0.71 0 lighten(@c-base, @shallow * 7), |
316 |
| - -@radius 0 0 @c-base, |
317 |
| - -@radius * 0.71 -@radius * 0.71 0 lighten(@c-base, @shallow * 1); |
318 |
| - } |
319 |
| - 87.5%{ |
320 |
| - box-shadow: 0 -@radius 0 lighten(@c-base, @shallow * 1), |
321 |
| - @radius * 0.71 -@radius * 0.71 0 lighten(@c-base, @shallow * 2), |
322 |
| - @radius 0 0 lighten(@c-base, @shallow * 3), |
323 |
| - @radius * 0.71 @radius * 0.71 0 lighten(@c-base, @shallow * 4), |
324 |
| - 0 @radius 0 lighten(@c-base, @shallow * 5), |
325 |
| - -@radius * 0.71 @radius * 0.71 0 lighten(@c-base, @shallow * 6), |
326 |
| - -@radius 0 0 lighten(@c-base, @shallow * 7), |
327 |
| - -@radius * 0.71 -@radius * 0.71 0 @c-base; |
328 |
| - } |
329 |
| - 100%{ |
330 |
| - box-shadow: 0 -@radius 0 @c-base, |
331 |
| - @radius * 0.71 -@radius * 0.71 0 lighten(@c-base, @shallow), |
332 |
| - @radius 0 0 lighten(@c-base, @shallow * 2), |
333 |
| - @radius * 0.71 @radius * 0.71 0 lighten(@c-base, @shallow * 3), |
334 |
| - 0 @radius 0 lighten(@c-base, @shallow * 4), |
335 |
| - -@radius * 0.71 @radius * 0.71 0 lighten(@c-base, @shallow * 5), |
336 |
| - -@radius 0 0 lighten(@c-base, @shallow * 6), |
337 |
| - -@radius * 0.71 -@radius * 0.71 0 lighten(@c-base, @shallow * 7); |
338 |
| - } |
339 |
| - } |
340 |
| - } |
341 |
| - } |
| 111 | + @import '../styles/spinner'; |
342 | 112 |
|
343 | 113 | .infinite-loading-container{
|
344 | 114 | clear: both;
|
|
355 | 125 | }
|
356 | 126 | }
|
357 | 127 |
|
358 |
| - .infinite-status-tips{ |
| 128 | + .infinite-status-prompt{ |
359 | 129 | color: #666;
|
360 | 130 | font-size: 14px;
|
361 | 131 | text-align: center;
|
362 | 132 | padding: 10px 0;
|
363 | 133 | }
|
364 |
| -
|
365 |
| - @keyframes icon-rotating{ |
366 |
| - 0%{ |
367 |
| - transform: rotate(0); |
368 |
| - } |
369 |
| - 100%{ |
370 |
| - transform: rotate(360deg); |
371 |
| - } |
372 |
| - } |
373 | 134 | </style>
|
0 commit comments