Best JavaScript code snippet using playwright-internal
FontAwesome.js
Source:FontAwesome.js
1import React, { Component } from 'react';2import { Alert, Card, CardBody, CardHeader, Col, Row } from 'reactstrap';3class FontAwesome extends Component {4 render() {5 return (6 <div className="animated fadeIn">7 <Card id="new47">8 <CardHeader>9 <i className="fa fa-font-awesome"></i> 55 New Icons in 4.710 </CardHeader>11 <CardBody>12 <Row className="text-center">13 <Col className="fa-hover" xs="6" sm="4" md="3" lg="2">14 <i className="fa fa-address-book fa-lg mt-4"></i><br />address-book15 </Col>16 <Col xs="6" sm="4" md="3" lg="2">17 <i className="fa fa-address-book-o fa-lg mt-4"></i><br />address-book-o18 </Col>19 <Col xs="6" sm="4" md="3" lg="2">20 <i className="fa fa-address-card fa-lg mt-4"></i><br />address-card21 </Col>22 <Col xs="6" sm="4" md="3" lg="2">23 <i className="fa fa-address-card-o fa-lg mt-4"></i><br />address-card-o24 </Col>25 <Col xs="6" sm="4" md="3" lg="2">26 <i className="fa fa-bandcamp fa-lg mt-4"></i><br />bandcamp27 </Col>28 <Col xs="6" sm="4" md="3" lg="2">29 <i className="fa fa-bath fa-lg mt-4"></i><br />bath30 </Col>31 <Col xs="6" sm="4" md="3" lg="2">32 <i className="fa fa-bathtub fa-lg mt-4"></i><br />bathtub <span className="text-muted">(alias)</span>33 </Col>34 <Col xs="6" sm="4" md="3" lg="2">35 <i className="fa fa-drivers-license fa-lg mt-4"></i><br />drivers-license <span className="text-muted">(alias)</span>36 </Col>37 <Col xs="6" sm="4" md="3" lg="2">38 <i className="fa fa-drivers-license-o fa-lg mt-4"></i><br />drivers-license-o <span className="text-muted">(alias)</span>39 </Col>40 <Col xs="6" sm="4" md="3" lg="2">41 <i className="fa fa-eercast fa-lg mt-4"></i><br />eercast42 </Col>43 <Col xs="6" sm="4" md="3" lg="2">44 <i className="fa fa-envelope-open fa-lg mt-4"></i><br />envelope-open45 </Col>46 <Col xs="6" sm="4" md="3" lg="2">47 <i className="fa fa-envelope-open-o fa-lg mt-4"></i><br />envelope-open-o48 </Col>49 <Col xs="6" sm="4" md="3" lg="2">50 <i className="fa fa-etsy fa-lg mt-4"></i><br />etsy51 </Col>52 <Col xs="6" sm="4" md="3" lg="2">53 <i className="fa fa-free-code-camp fa-lg mt-4"></i><br />free-code-camp54 </Col>55 <Col xs="6" sm="4" md="3" lg="2">56 <i className="fa fa-grav fa-lg mt-4"></i><br />grav57 </Col>58 <Col xs="6" sm="4" md="3" lg="2">59 <i className="fa fa-handshake-o fa-lg mt-4"></i><br />handshake-o60 </Col>61 <Col xs="6" sm="4" md="3" lg="2">62 <i className="fa fa-id-badge fa-lg mt-4"></i><br />id-badge63 </Col>64 <Col xs="6" sm="4" md="3" lg="2">65 <i className="fa fa-id-card fa-lg mt-4"></i><br />id-card66 </Col>67 <Col xs="6" sm="4" md="3" lg="2">68 <i className="fa fa-id-card-o fa-lg mt-4"></i><br />id-card-o69 </Col>70 <Col xs="6" sm="4" md="3" lg="2">71 <i className="fa fa-imdb fa-lg mt-4"></i><br />imdb72 </Col>73 <Col xs="6" sm="4" md="3" lg="2">74 <i className="fa fa-linode fa-lg mt-4"></i><br />linode75 </Col>76 <Col xs="6" sm="4" md="3" lg="2">77 <i className="fa fa-meetup fa-lg mt-4"></i><br />meetup78 </Col>79 <Col xs="6" sm="4" md="3" lg="2">80 <i className="fa fa-microchip fa-lg mt-4"></i><br />microchip81 </Col>82 <Col xs="6" sm="4" md="3" lg="2">83 <i className="fa fa-podcast fa-lg mt-4"></i><br />podcast84 </Col>85 <Col xs="6" sm="4" md="3" lg="2">86 <i className="fa fa-quora fa-lg mt-4"></i><br />quora87 </Col>88 <Col xs="6" sm="4" md="3" lg="2">89 <i className="fa fa-ravelry fa-lg mt-4"></i><br />ravelry90 </Col>91 <Col xs="6" sm="4" md="3" lg="2">92 <i className="fa fa-s15 fa-lg mt-4"></i><br />s15 <span className="text-muted">(alias)</span>93 </Col>94 <Col xs="6" sm="4" md="3" lg="2">95 <i className="fa fa-shower fa-lg mt-4"></i><br />shower96 </Col>97 <Col xs="6" sm="4" md="3" lg="2">98 <i className="fa fa-snowflake-o fa-lg mt-4"></i><br />snowflake-o99 </Col>100 <Col xs="6" sm="4" md="3" lg="2">101 <i className="fa fa-superpowers fa-lg mt-4"></i><br />superpowers102 </Col>103 <Col xs="6" sm="4" md="3" lg="2">104 <i className="fa fa-telegram fa-lg mt-4"></i><br />telegram105 </Col>106 <Col xs="6" sm="4" md="3" lg="2">107 <i className="fa fa-thermometer fa-lg mt-4"></i><br />thermometer <span className="text-muted">(alias)</span>108 </Col>109 <Col xs="6" sm="4" md="3" lg="2">110 <i className="fa fa-thermometer-0 fa-lg mt-4"></i><br />thermometer-0 <span className="text-muted">(alias)</span>111 </Col>112 <Col xs="6" sm="4" md="3" lg="2">113 <i className="fa fa-thermometer-1 fa-lg mt-4"></i><br />thermometer-1 <span className="text-muted">(alias)</span>114 </Col>115 <Col xs="6" sm="4" md="3" lg="2">116 <i className="fa fa-thermometer-2 fa-lg mt-4"></i><br />thermometer-2 <span className="text-muted">(alias)</span>117 </Col>118 <Col xs="6" sm="4" md="3" lg="2">119 <i className="fa fa-thermometer-3 fa-lg mt-4"></i><br />thermometer-3 <span className="text-muted">(alias)</span>120 </Col>121 <Col xs="6" sm="4" md="3" lg="2">122 <i className="fa fa-thermometer-4 fa-lg mt-4"></i><br />thermometer-4 <span className="text-muted">(alias)</span>123 </Col>124 <Col xs="6" sm="4" md="3" lg="2">125 <i className="fa fa-thermometer-empty fa-lg mt-4"></i><br />thermometer-empty126 </Col>127 <Col xs="6" sm="4" md="3" lg="2">128 <i className="fa fa-thermometer-full fa-lg mt-4"></i><br />thermometer-full129 </Col>130 <Col xs="6" sm="4" md="3" lg="2">131 <i className="fa fa-thermometer-half fa-lg mt-4"></i><br />thermometer-half132 </Col>133 <Col xs="6" sm="4" md="3" lg="2">134 <i className="fa fa-thermometer-quarter fa-lg mt-4"></i><br />thermometer-quarter135 </Col>136 <Col xs="6" sm="4" md="3" lg="2">137 <i className="fa fa-thermometer-three-quarters fa-lg mt-4"></i><br />thermometer-three-quarters138 </Col>139 <Col xs="6" sm="4" md="3" lg="2">140 <i className="fa fa-times-rectangle fa-lg mt-4"></i><br />times-rectangle <span className="text-muted">(alias)</span>141 </Col>142 <Col xs="6" sm="4" md="3" lg="2">143 <i className="fa fa-times-rectangle-o fa-lg mt-4"></i><br />times-rectangle-o <span className="text-muted">(alias)</span>144 </Col>145 <Col xs="6" sm="4" md="3" lg="2">146 <i className="fa fa-user-circle fa-lg mt-4"></i><br />user-circle147 </Col>148 <Col xs="6" sm="4" md="3" lg="2">149 <i className="fa fa-user-circle-o fa-lg mt-4"></i><br />user-circle-o150 </Col>151 <Col xs="6" sm="4" md="3" lg="2">152 <i className="fa fa-user-o fa-lg mt-4"></i><br />user-o153 </Col>154 <Col xs="6" sm="4" md="3" lg="2">155 <i className="fa fa-vcard fa-lg mt-4"></i><br />vcard <span className="text-muted">(alias)</span>156 </Col>157 <Col xs="6" sm="4" md="3" lg="2">158 <i className="fa fa-vcard-o fa-lg mt-4"></i><br />vcard-o <span className="text-muted">(alias)</span>159 </Col>160 <Col xs="6" sm="4" md="3" lg="2">161 <i className="fa fa-window-close fa-lg mt-4"></i><br />window-close162 </Col>163 <Col xs="6" sm="4" md="3" lg="2">164 <i className="fa fa-window-close-o fa-lg mt-4"></i><br />window-close-o165 </Col>166 <Col xs="6" sm="4" md="3" lg="2">167 <i className="fa fa-window-maximize fa-lg mt-4"></i><br />window-maximize168 </Col>169 <Col xs="6" sm="4" md="3" lg="2">170 <i className="fa fa-window-minimize fa-lg mt-4"></i><br />window-minimize171 </Col>172 <Col xs="6" sm="4" md="3" lg="2">173 <i className="fa fa-window-restore fa-lg mt-4"></i><br />window-restore174 </Col>175 <Col xs="6" sm="4" md="3" lg="2">176 <i className="fa fa-wpexplorer fa-lg mt-4"></i><br />wpexplorer177 </Col>178 </Row>179 </CardBody>180 </Card>181 <Card id="new">182 <CardHeader>20 New Icons in 4.5</CardHeader>183 <CardBody>184 <Row className="text-center">185 <Col xs="6" sm="4" md="3" lg="2">186 <i className="fa fa-bluetooth fa-lg mt-4"></i><br />bluetooth187 </Col>188 <Col xs="6" sm="4" md="3" lg="2">189 <i className="fa fa-bluetooth-b fa-lg mt-4"></i><br />bluetooth-b190 </Col>191 <Col xs="6" sm="4" md="3" lg="2">192 <i className="fa fa-codiepie fa-lg mt-4"></i><br />codiepie193 </Col>194 <Col xs="6" sm="4" md="3" lg="2">195 <i className="fa fa-credit-card-alt fa-lg mt-4"></i><br />credit-card-alt196 </Col>197 <Col xs="6" sm="4" md="3" lg="2">198 <i className="fa fa-edge fa-lg mt-4"></i><br />edge199 </Col>200 <Col xs="6" sm="4" md="3" lg="2">201 <i className="fa fa-fort-awesome fa-lg mt-4"></i><br />fort-awesome202 </Col>203 <Col xs="6" sm="4" md="3" lg="2">204 <i className="fa fa-hashtag fa-lg mt-4"></i><br />hashtag205 </Col>206 <Col xs="6" sm="4" md="3" lg="2">207 <i className="fa fa-mixcloud fa-lg mt-4"></i><br />mixcloud208 </Col>209 <Col xs="6" sm="4" md="3" lg="2">210 <i className="fa fa-modx fa-lg mt-4"></i><br />modx211 </Col>212 <Col xs="6" sm="4" md="3" lg="2">213 <i className="fa fa-pause-circle fa-lg mt-4"></i><br />pause-circle214 </Col>215 <Col xs="6" sm="4" md="3" lg="2">216 <i className="fa fa-pause-circle-o fa-lg mt-4"></i><br />pause-circle-o217 </Col>218 <Col xs="6" sm="4" md="3" lg="2">219 <i className="fa fa-percent fa-lg mt-4"></i><br />percent220 </Col>221 <Col xs="6" sm="4" md="3" lg="2">222 <i className="fa fa-product-hunt fa-lg mt-4"></i><br />product-hunt223 </Col>224 <Col xs="6" sm="4" md="3" lg="2">225 <i className="fa fa-reddit-alien fa-lg mt-4"></i><br />reddit-alien226 </Col>227 <Col xs="6" sm="4" md="3" lg="2">228 <i className="fa fa-scribd fa-lg mt-4"></i><br />scribd229 </Col>230 <Col xs="6" sm="4" md="3" lg="2">231 <i className="fa fa-shopping-bag fa-lg mt-4"></i><br />shopping-bag232 </Col>233 <Col xs="6" sm="4" md="3" lg="2">234 <i className="fa fa-shopping-basket fa-lg mt-4"></i><br />shopping-basket235 </Col>236 <Col xs="6" sm="4" md="3" lg="2">237 <i className="fa fa-stop-circle fa-lg mt-4"></i><br />stop-circle238 </Col>239 <Col xs="6" sm="4" md="3" lg="2">240 <i className="fa fa-stop-circle-o fa-lg mt-4"></i><br />stop-circle-o241 </Col>242 <Col xs="6" sm="4" md="3" lg="2">243 <i className="fa fa-usb fa-lg mt-4"></i><br />usb244 </Col>245 </Row>246 </CardBody>247 </Card>248 <Card id="web-application">249 <CardHeader>Web Application Icons</CardHeader>250 <CardBody>251 <Row className="text-center">252 <Col xs="6" sm="4" md="3" lg="2">253 <i className="fa fa-adjust fa-lg mt-4"></i><br />adjust254 </Col>255 <Col xs="6" sm="4" md="3" lg="2">256 <i className="fa fa-anchor fa-lg mt-4"></i><br />anchor257 </Col>258 <Col xs="6" sm="4" md="3" lg="2">259 <i className="fa fa-archive fa-lg mt-4"></i><br />archive260 </Col>261 <Col xs="6" sm="4" md="3" lg="2">262 <i className="fa fa-area-chart fa-lg mt-4"></i><br />area-chart263 </Col>264 <Col xs="6" sm="4" md="3" lg="2">265 <i className="fa fa-arrows fa-lg mt-4"></i><br />arrows266 </Col>267 <Col xs="6" sm="4" md="3" lg="2">268 <i className="fa fa-arrows-h fa-lg mt-4"></i><br />arrows-h269 </Col>270 <Col xs="6" sm="4" md="3" lg="2">271 <i className="fa fa-arrows-v fa-lg mt-4"></i><br />arrows-v272 </Col>273 <Col xs="6" sm="4" md="3" lg="2">274 <i className="fa fa-asterisk fa-lg mt-4"></i><br />asterisk275 </Col>276 <Col xs="6" sm="4" md="3" lg="2">277 <i className="fa fa-at fa-lg mt-4"></i><br />at278 </Col>279 <Col xs="6" sm="4" md="3" lg="2">280 <i className="fa fa-automobile fa-lg mt-4"></i><br />automobile <span281 className="text-muted">(alias)</span>282 </Col>283 <Col xs="6" sm="4" md="3" lg="2">284 <i className="fa fa-balance-scale fa-lg mt-4"></i><br />balance-scale285 </Col>286 <Col xs="6" sm="4" md="3" lg="2">287 <i className="fa fa-ban fa-lg mt-4"></i><br />ban288 </Col>289 <Col xs="6" sm="4" md="3" lg="2">290 <i className="fa fa-bank fa-lg mt-4"></i><br />bank <span className="text-muted">(alias)</span>291 </Col>292 <Col xs="6" sm="4" md="3" lg="2">293 <i className="fa fa-bar-chart fa-lg mt-4"></i><br />bar-chart294 </Col>295 <Col xs="6" sm="4" md="3" lg="2">296 <i className="fa fa-bar-chart-o fa-lg mt-4"></i><br />bar-chart-o <span297 className="text-muted">(alias)</span>298 </Col>299 <Col xs="6" sm="4" md="3" lg="2">300 <i className="fa fa-barcode fa-lg mt-4"></i><br />barcode301 </Col>302 <Col xs="6" sm="4" md="3" lg="2">303 <i className="fa fa-bars fa-lg mt-4"></i><br />bars304 </Col>305 <Col xs="6" sm="4" md="3" lg="2">306 <i className="fa fa-battery-0 fa-lg mt-4"></i><br />battery-0 <span className="text-muted">(alias)</span>307 </Col>308 <Col xs="6" sm="4" md="3" lg="2">309 <i className="fa fa-battery-1 fa-lg mt-4"></i><br />battery-1 <span className="text-muted">(alias)</span>310 </Col>311 <Col xs="6" sm="4" md="3" lg="2">312 <i className="fa fa-battery-2 fa-lg mt-4"></i><br />battery-2 <span className="text-muted">(alias)</span>313 </Col>314 <Col xs="6" sm="4" md="3" lg="2">315 <i className="fa fa-battery-3 fa-lg mt-4"></i><br />battery-3 <span className="text-muted">(alias)</span>316 </Col>317 <Col xs="6" sm="4" md="3" lg="2">318 <i className="fa fa-battery-4 fa-lg mt-4"></i><br />battery-4 <span className="text-muted">(alias)</span>319 </Col>320 <Col xs="6" sm="4" md="3" lg="2">321 <i className="fa fa-battery-empty fa-lg mt-4"></i><br />battery-empty322 </Col>323 <Col xs="6" sm="4" md="3" lg="2">324 <i className="fa fa-battery-full fa-lg mt-4"></i><br />battery-full325 </Col>326 <Col xs="6" sm="4" md="3" lg="2">327 <i className="fa fa-battery-half fa-lg mt-4"></i><br />battery-half328 </Col>329 <Col xs="6" sm="4" md="3" lg="2">330 <i className="fa fa-battery-quarter fa-lg mt-4"></i><br />battery-quarter331 </Col>332 <Col xs="6" sm="4" md="3" lg="2">333 <i className="fa fa-battery-three-quarters fa-lg mt-4"></i><br />battery-three-quarters334 </Col>335 <Col xs="6" sm="4" md="3" lg="2">336 <i className="fa fa-bed fa-lg mt-4"></i><br />bed337 </Col>338 <Col xs="6" sm="4" md="3" lg="2">339 <i className="fa fa-beer fa-lg mt-4"></i><br />beer340 </Col>341 <Col xs="6" sm="4" md="3" lg="2">342 <i className="fa fa-bell fa-lg mt-4"></i><br />bell343 </Col>344 <Col xs="6" sm="4" md="3" lg="2">345 <i className="fa fa-bell-o fa-lg mt-4"></i><br />bell-o346 </Col>347 <Col xs="6" sm="4" md="3" lg="2">348 <i className="fa fa-bell-slash fa-lg mt-4"></i><br />bell-slash349 </Col>350 <Col xs="6" sm="4" md="3" lg="2">351 <i className="fa fa-bell-slash-o fa-lg mt-4"></i><br />bell-slash-o352 </Col>353 <Col xs="6" sm="4" md="3" lg="2">354 <i className="fa fa-bicycle fa-lg mt-4"></i><br />bicycle355 </Col>356 <Col xs="6" sm="4" md="3" lg="2">357 <i className="fa fa-binoculars fa-lg mt-4"></i><br />binoculars358 </Col>359 <Col xs="6" sm="4" md="3" lg="2">360 <i className="fa fa-birthday-cake fa-lg mt-4"></i><br />birthday-cake361 </Col>362 <Col xs="6" sm="4" md="3" lg="2">363 <i className="fa fa-bluetooth fa-lg mt-4"></i><br />bluetooth364 </Col>365 <Col xs="6" sm="4" md="3" lg="2">366 <i className="fa fa-bluetooth-b fa-lg mt-4"></i><br />bluetooth-b367 </Col>368 <Col xs="6" sm="4" md="3" lg="2">369 <i className="fa fa-bolt fa-lg mt-4"></i><br />bolt370 </Col>371 <Col xs="6" sm="4" md="3" lg="2">372 <i className="fa fa-bomb fa-lg mt-4"></i><br />bomb373 </Col>374 <Col xs="6" sm="4" md="3" lg="2">375 <i className="fa fa-book fa-lg mt-4"></i><br />book376 </Col>377 <Col xs="6" sm="4" md="3" lg="2">378 <i className="fa fa-bookmark fa-lg mt-4"></i><br />bookmark379 </Col>380 <Col xs="6" sm="4" md="3" lg="2">381 <i className="fa fa-bookmark-o fa-lg mt-4"></i><br />bookmark-o382 </Col>383 <Col xs="6" sm="4" md="3" lg="2">384 <i className="fa fa-briefcase fa-lg mt-4"></i><br />briefcase385 </Col>386 <Col xs="6" sm="4" md="3" lg="2">387 <i className="fa fa-bug fa-lg mt-4"></i><br />bug388 </Col>389 <Col xs="6" sm="4" md="3" lg="2">390 <i className="fa fa-building fa-lg mt-4"></i><br />building391 </Col>392 <Col xs="6" sm="4" md="3" lg="2">393 <i className="fa fa-building-o fa-lg mt-4"></i><br />building-o394 </Col>395 <Col xs="6" sm="4" md="3" lg="2">396 <i className="fa fa-bullhorn fa-lg mt-4"></i><br />bullhorn397 </Col>398 <Col xs="6" sm="4" md="3" lg="2">399 <i className="fa fa-bullseye fa-lg mt-4"></i><br />bullseye400 </Col>401 <Col xs="6" sm="4" md="3" lg="2">402 <i className="fa fa-bus fa-lg mt-4"></i><br />bus403 </Col>404 <Col xs="6" sm="4" md="3" lg="2">405 <i className="fa fa-cab fa-lg mt-4"></i><br />cab <span className="text-muted">(alias)</span>406 </Col>407 <Col xs="6" sm="4" md="3" lg="2">408 <i className="fa fa-calculator fa-lg mt-4"></i><br />calculator409 </Col>410 <Col xs="6" sm="4" md="3" lg="2">411 <i className="fa fa-calendar fa-lg mt-4"></i><br />calendar412 </Col>413 <Col xs="6" sm="4" md="3" lg="2">414 <i className="fa fa-calendar-check-o fa-lg mt-4"></i><br />calendar-check-o415 </Col>416 <Col xs="6" sm="4" md="3" lg="2">417 <i className="fa fa-calendar-minus-o fa-lg mt-4"></i><br />calendar-minus-o418 </Col>419 <Col xs="6" sm="4" md="3" lg="2">420 <i className="fa fa-calendar-o fa-lg mt-4"></i><br />calendar-o421 </Col>422 <Col xs="6" sm="4" md="3" lg="2">423 <i className="fa fa-calendar-plus-o fa-lg mt-4"></i><br />calendar-plus-o424 </Col>425 <Col xs="6" sm="4" md="3" lg="2">426 <i className="fa fa-calendar-times-o fa-lg mt-4"></i><br />calendar-times-o427 </Col>428 <Col xs="6" sm="4" md="3" lg="2">429 <i className="fa fa-camera fa-lg mt-4"></i><br />camera430 </Col>431 <Col xs="6" sm="4" md="3" lg="2">432 <i className="fa fa-camera-retro fa-lg mt-4"></i><br />camera-retro433 </Col>434 <Col xs="6" sm="4" md="3" lg="2">435 <i className="fa fa-car fa-lg mt-4"></i><br />car436 </Col>437 <Col xs="6" sm="4" md="3" lg="2">438 <i className="fa fa-caret-square-o-down fa-lg mt-4"></i><br />caret-square-o-down439 </Col>440 <Col xs="6" sm="4" md="3" lg="2">441 <i className="fa fa-caret-square-o-left fa-lg mt-4"></i><br />caret-square-o-left442 </Col>443 <Col xs="6" sm="4" md="3" lg="2">444 <i className="fa fa-caret-square-o-right fa-lg mt-4"></i><br />caret-square-o-right445 </Col>446 <Col xs="6" sm="4" md="3" lg="2">447 <i className="fa fa-caret-square-o-up fa-lg mt-4"></i><br />caret-square-o-up448 </Col>449 <Col xs="6" sm="4" md="3" lg="2">450 <i className="fa fa-cart-arrow-down fa-lg mt-4"></i><br />cart-arrow-down451 </Col>452 <Col xs="6" sm="4" md="3" lg="2">453 <i className="fa fa-cart-plus fa-lg mt-4"></i><br />cart-plus454 </Col>455 <Col xs="6" sm="4" md="3" lg="2">456 <i className="fa fa-cc fa-lg mt-4"></i><br />cc457 </Col>458 <Col xs="6" sm="4" md="3" lg="2">459 <i className="fa fa-certificate fa-lg mt-4"></i><br />certificate460 </Col>461 <Col xs="6" sm="4" md="3" lg="2">462 <i className="fa fa-check fa-lg mt-4"></i><br />check463 </Col>464 <Col xs="6" sm="4" md="3" lg="2">465 <i className="fa fa-check-circle fa-lg mt-4"></i><br />check-circle466 </Col>467 <Col xs="6" sm="4" md="3" lg="2">468 <i className="fa fa-check-circle-o fa-lg mt-4"></i><br />check-circle-o469 </Col>470 <Col xs="6" sm="4" md="3" lg="2">471 <i className="fa fa-check-square fa-lg mt-4"></i><br />check-square472 </Col>473 <Col xs="6" sm="4" md="3" lg="2">474 <i className="fa fa-check-square-o fa-lg mt-4"></i><br />check-square-o475 </Col>476 <Col xs="6" sm="4" md="3" lg="2">477 <i className="fa fa-child fa-lg mt-4"></i><br />child478 </Col>479 <Col xs="6" sm="4" md="3" lg="2">480 <i className="fa fa-circle fa-lg mt-4"></i><br />circle481 </Col>482 <Col xs="6" sm="4" md="3" lg="2">483 <i className="fa fa-circle-o fa-lg mt-4"></i><br />circle-o484 </Col>485 <Col xs="6" sm="4" md="3" lg="2">486 <i className="fa fa-circle-o-notch fa-lg mt-4"></i><br />circle-o-notch487 </Col>488 <Col xs="6" sm="4" md="3" lg="2">489 <i className="fa fa-circle-thin fa-lg mt-4"></i><br />circle-thin490 </Col>491 <Col xs="6" sm="4" md="3" lg="2">492 <i className="fa fa-clock-o fa-lg mt-4"></i><br />clock-o493 </Col>494 <Col xs="6" sm="4" md="3" lg="2">495 <i className="fa fa-clone fa-lg mt-4"></i><br />clone496 </Col>497 <Col xs="6" sm="4" md="3" lg="2">498 <i className="fa fa-close fa-lg mt-4"></i><br />close <span className="text-muted">(alias)</span>499 </Col>500 <Col xs="6" sm="4" md="3" lg="2">501 <i className="fa fa-cloud fa-lg mt-4"></i><br />cloud502 </Col>503 <Col xs="6" sm="4" md="3" lg="2">504 <i className="fa fa-cloud-download fa-lg mt-4"></i><br />cloud-download505 </Col>506 <Col xs="6" sm="4" md="3" lg="2">507 <i className="fa fa-cloud-upload fa-lg mt-4"></i><br />cloud-upload508 </Col>509 <Col xs="6" sm="4" md="3" lg="2">510 <i className="fa fa-code fa-lg mt-4"></i><br />code511 </Col>512 <Col xs="6" sm="4" md="3" lg="2">513 <i className="fa fa-code-fork fa-lg mt-4"></i><br />code-fork514 </Col>515 <Col xs="6" sm="4" md="3" lg="2">516 <i className="fa fa-coffee fa-lg mt-4"></i><br />coffee517 </Col>518 <Col xs="6" sm="4" md="3" lg="2">519 <i className="fa fa-cog fa-lg mt-4"></i><br />cog520 </Col>521 <Col xs="6" sm="4" md="3" lg="2">522 <i className="fa fa-cogs fa-lg mt-4"></i><br />cogs523 </Col>524 <Col xs="6" sm="4" md="3" lg="2">525 <i className="fa fa-comment fa-lg mt-4"></i><br />comment526 </Col>527 <Col xs="6" sm="4" md="3" lg="2">528 <i className="fa fa-comment-o fa-lg mt-4"></i><br />comment-o529 </Col>530 <Col xs="6" sm="4" md="3" lg="2">531 <i className="fa fa-commenting fa-lg mt-4"></i><br />commenting532 </Col>533 <Col xs="6" sm="4" md="3" lg="2">534 <i className="fa fa-commenting-o fa-lg mt-4"></i><br />commenting-o535 </Col>536 <Col xs="6" sm="4" md="3" lg="2">537 <i className="fa fa-comments fa-lg mt-4"></i><br />comments538 </Col>539 <Col xs="6" sm="4" md="3" lg="2">540 <i className="fa fa-comments-o fa-lg mt-4"></i><br />comments-o541 </Col>542 <Col xs="6" sm="4" md="3" lg="2">543 <i className="fa fa-compass fa-lg mt-4"></i><br />compass544 </Col>545 <Col xs="6" sm="4" md="3" lg="2">546 <i className="fa fa-copyright fa-lg mt-4"></i><br />copyright547 </Col>548 <Col xs="6" sm="4" md="3" lg="2">549 <i className="fa fa-creative-commons fa-lg mt-4"></i><br />creative-commons550 </Col>551 <Col xs="6" sm="4" md="3" lg="2">552 <i className="fa fa-credit-card fa-lg mt-4"></i><br />credit-card553 </Col>554 <Col xs="6" sm="4" md="3" lg="2">555 <i className="fa fa-credit-card-alt fa-lg mt-4"></i><br />credit-card-alt556 </Col>557 <Col xs="6" sm="4" md="3" lg="2">558 <i className="fa fa-crop fa-lg mt-4"></i><br />crop559 </Col>560 <Col xs="6" sm="4" md="3" lg="2">561 <i className="fa fa-crosshairs fa-lg mt-4"></i><br />crosshairs562 </Col>563 <Col xs="6" sm="4" md="3" lg="2">564 <i className="fa fa-cube fa-lg mt-4"></i><br />cube565 </Col>566 <Col xs="6" sm="4" md="3" lg="2">567 <i className="fa fa-cubes fa-lg mt-4"></i><br />cubes568 </Col>569 <Col xs="6" sm="4" md="3" lg="2">570 <i className="fa fa-cutlery fa-lg mt-4"></i><br />cutlery571 </Col>572 <Col xs="6" sm="4" md="3" lg="2">573 <i className="fa fa-dashboard fa-lg mt-4"></i><br />dashboard <span className="text-muted">(alias)</span>574 </Col>575 <Col xs="6" sm="4" md="3" lg="2">576 <i className="fa fa-database fa-lg mt-4"></i><br />database577 </Col>578 <Col xs="6" sm="4" md="3" lg="2">579 <i className="fa fa-desktop fa-lg mt-4"></i><br />desktop580 </Col>581 <Col xs="6" sm="4" md="3" lg="2">582 <i className="fa fa-diamond fa-lg mt-4"></i><br />diamond583 </Col>584 <Col xs="6" sm="4" md="3" lg="2">585 <i className="fa fa-dot-circle-o fa-lg mt-4"></i><br />dot-circle-o586 </Col>587 <Col xs="6" sm="4" md="3" lg="2">588 <i className="fa fa-download fa-lg mt-4"></i><br />download589 </Col>590 <Col xs="6" sm="4" md="3" lg="2">591 <i className="fa fa-edit fa-lg mt-4"></i><br />edit <span className="text-muted">(alias)</span>592 </Col>593 <Col xs="6" sm="4" md="3" lg="2">594 <i className="fa fa-ellipsis-h fa-lg mt-4"></i><br />ellipsis-h595 </Col>596 <Col xs="6" sm="4" md="3" lg="2">597 <i className="fa fa-ellipsis-v fa-lg mt-4"></i><br />ellipsis-v598 </Col>599 <Col xs="6" sm="4" md="3" lg="2">600 <i className="fa fa-envelope fa-lg mt-4"></i><br />envelope601 </Col>602 <Col xs="6" sm="4" md="3" lg="2">603 <i className="fa fa-envelope-o fa-lg mt-4"></i><br />envelope-o604 </Col>605 <Col xs="6" sm="4" md="3" lg="2">606 <i className="fa fa-envelope-square fa-lg mt-4"></i><br />envelope-square607 </Col>608 <Col xs="6" sm="4" md="3" lg="2">609 <i className="fa fa-eraser fa-lg mt-4"></i><br />eraser610 </Col>611 <Col xs="6" sm="4" md="3" lg="2">612 <i className="fa fa-exchange fa-lg mt-4"></i><br />exchange613 </Col>614 <Col xs="6" sm="4" md="3" lg="2">615 <i className="fa fa-exclamation fa-lg mt-4"></i><br />exclamation616 </Col>617 <Col xs="6" sm="4" md="3" lg="2">618 <i className="fa fa-exclamation-circle fa-lg mt-4"></i><br />exclamation-circle619 </Col>620 <Col xs="6" sm="4" md="3" lg="2">621 <i className="fa fa-exclamation-triangle fa-lg mt-4"></i><br />exclamation-triangle622 </Col>623 <Col xs="6" sm="4" md="3" lg="2">624 <i className="fa fa-external-link fa-lg mt-4"></i><br />external-link625 </Col>626 <Col xs="6" sm="4" md="3" lg="2">627 <i className="fa fa-external-link-square fa-lg mt-4"></i><br />external-link-square628 </Col>629 <Col xs="6" sm="4" md="3" lg="2">630 <i className="fa fa-eye fa-lg mt-4"></i><br />eye631 </Col>632 <Col xs="6" sm="4" md="3" lg="2">633 <i className="fa fa-eye-slash fa-lg mt-4"></i><br />eye-slash634 </Col>635 <Col xs="6" sm="4" md="3" lg="2">636 <i className="fa fa-eyedropper fa-lg mt-4"></i><br />eyedropper637 </Col>638 <Col xs="6" sm="4" md="3" lg="2">639 <i className="fa fa-fax fa-lg mt-4"></i><br />fax640 </Col>641 <Col xs="6" sm="4" md="3" lg="2">642 <i className="fa fa-feed fa-lg mt-4"></i><br />feed <span className="text-muted">(alias)</span>643 </Col>644 <Col xs="6" sm="4" md="3" lg="2">645 <i className="fa fa-female fa-lg mt-4"></i><br />female646 </Col>647 <Col xs="6" sm="4" md="3" lg="2">648 <i className="fa fa-fighter-jet fa-lg mt-4"></i><br />fighter-jet649 </Col>650 <Col xs="6" sm="4" md="3" lg="2">651 <i className="fa fa-file-archive-o fa-lg mt-4"></i><br />file-archive-o652 </Col>653 <Col xs="6" sm="4" md="3" lg="2">654 <i className="fa fa-file-audio-o fa-lg mt-4"></i><br />file-audio-o655 </Col>656 <Col xs="6" sm="4" md="3" lg="2">657 <i className="fa fa-file-code-o fa-lg mt-4"></i><br />file-code-o658 </Col>659 <Col xs="6" sm="4" md="3" lg="2">660 <i className="fa fa-file-excel-o fa-lg mt-4"></i><br />file-excel-o661 </Col>662 <Col xs="6" sm="4" md="3" lg="2">663 <i className="fa fa-file-image-o fa-lg mt-4"></i><br />file-image-o664 </Col>665 <Col xs="6" sm="4" md="3" lg="2">666 <i className="fa fa-file-movie-o fa-lg mt-4"></i><br />file-movie-o <span667 className="text-muted">(alias)</span>668 </Col>669 <Col xs="6" sm="4" md="3" lg="2">670 <i className="fa fa-file-pdf-o fa-lg mt-4"></i><br />file-pdf-o671 </Col>672 <Col xs="6" sm="4" md="3" lg="2">673 <i className="fa fa-file-photo-o fa-lg mt-4"></i><br />file-photo-o <span674 className="text-muted">(alias)</span>675 </Col>676 <Col xs="6" sm="4" md="3" lg="2">677 <i className="fa fa-file-picture-o fa-lg mt-4"></i><br />file-picture-o <span className="text-muted">(alias)</span>678 </Col>679 <Col xs="6" sm="4" md="3" lg="2">680 <i className="fa fa-file-powerpoint-o fa-lg mt-4"></i><br />file-powerpoint-o681 </Col>682 <Col xs="6" sm="4" md="3" lg="2">683 <i className="fa fa-file-sound-o fa-lg mt-4"></i><br />file-sound-o <span684 className="text-muted">(alias)</span>685 </Col>686 <Col xs="6" sm="4" md="3" lg="2">687 <i className="fa fa-file-video-o fa-lg mt-4"></i><br />file-video-o688 </Col>689 <Col xs="6" sm="4" md="3" lg="2">690 <i className="fa fa-file-word-o fa-lg mt-4"></i><br />file-word-o691 </Col>692 <Col xs="6" sm="4" md="3" lg="2">693 <i className="fa fa-file-zip-o fa-lg mt-4"></i><br />file-zip-o <span694 className="text-muted">(alias)</span>695 </Col>696 <Col xs="6" sm="4" md="3" lg="2">697 <i className="fa fa-film fa-lg mt-4"></i><br />film698 </Col>699 <Col xs="6" sm="4" md="3" lg="2">700 <i className="fa fa-filter fa-lg mt-4"></i><br />filter701 </Col>702 <Col xs="6" sm="4" md="3" lg="2">703 <i className="fa fa-fire fa-lg mt-4"></i><br />fire704 </Col>705 <Col xs="6" sm="4" md="3" lg="2">706 <i className="fa fa-fire-extinguisher fa-lg mt-4"></i><br />fire-extinguisher707 </Col>708 <Col xs="6" sm="4" md="3" lg="2">709 <i className="fa fa-flag fa-lg mt-4"></i><br />flag710 </Col>711 <Col xs="6" sm="4" md="3" lg="2">712 <i className="fa fa-flag-checkered fa-lg mt-4"></i><br />flag-checkered713 </Col>714 <Col xs="6" sm="4" md="3" lg="2">715 <i className="fa fa-flag-o fa-lg mt-4"></i><br />flag-o716 </Col>717 <Col xs="6" sm="4" md="3" lg="2">718 <i className="fa fa-flash fa-lg mt-4"></i><br />flash <span className="text-muted">(alias)</span>719 </Col>720 <Col xs="6" sm="4" md="3" lg="2">721 <i className="fa fa-flask fa-lg mt-4"></i><br />flask722 </Col>723 <Col xs="6" sm="4" md="3" lg="2">724 <i className="fa fa-folder fa-lg mt-4"></i><br />folder725 </Col>726 <Col xs="6" sm="4" md="3" lg="2">727 <i className="fa fa-folder-o fa-lg mt-4"></i><br />folder-o728 </Col>729 <Col xs="6" sm="4" md="3" lg="2">730 <i className="fa fa-folder-open fa-lg mt-4"></i><br />folder-open731 </Col>732 <Col xs="6" sm="4" md="3" lg="2">733 <i className="fa fa-folder-open-o fa-lg mt-4"></i><br />folder-open-o734 </Col>735 <Col xs="6" sm="4" md="3" lg="2">736 <i className="fa fa-frown-o fa-lg mt-4"></i><br />frown-o737 </Col>738 <Col xs="6" sm="4" md="3" lg="2">739 <i className="fa fa-futbol-o fa-lg mt-4"></i><br />futbol-o740 </Col>741 <Col xs="6" sm="4" md="3" lg="2">742 <i className="fa fa-gamepad fa-lg mt-4"></i><br />gamepad743 </Col>744 <Col xs="6" sm="4" md="3" lg="2">745 <i className="fa fa-gavel fa-lg mt-4"></i><br />gavel746 </Col>747 <Col xs="6" sm="4" md="3" lg="2">748 <i className="fa fa-gear fa-lg mt-4"></i><br />gear <span className="text-muted">(alias)</span>749 </Col>750 <Col xs="6" sm="4" md="3" lg="2">751 <i className="fa fa-gears fa-lg mt-4"></i><br />gears <span className="text-muted">(alias)</span>752 </Col>753 <Col xs="6" sm="4" md="3" lg="2">754 <i className="fa fa-gift fa-lg mt-4"></i><br />gift755 </Col>756 <Col xs="6" sm="4" md="3" lg="2">757 <i className="fa fa-glass fa-lg mt-4"></i><br />glass758 </Col>759 <Col xs="6" sm="4" md="3" lg="2">760 <i className="fa fa-globe fa-lg mt-4"></i><br />globe761 </Col>762 <Col xs="6" sm="4" md="3" lg="2">763 <i className="fa fa-graduation-cap fa-lg mt-4"></i><br />graduation-cap764 </Col>765 <Col xs="6" sm="4" md="3" lg="2">766 <i className="fa fa-group fa-lg mt-4"></i><br />group <span className="text-muted">(alias)</span>767 </Col>768 <Col xs="6" sm="4" md="3" lg="2">769 <i className="fa fa-hand-grab-o fa-lg mt-4"></i><br />hand-grab-o <span770 className="text-muted">(alias)</span>771 </Col>772 <Col xs="6" sm="4" md="3" lg="2">773 <i className="fa fa-hand-lizard-o fa-lg mt-4"></i><br />hand-lizard-o774 </Col>775 <Col xs="6" sm="4" md="3" lg="2">776 <i className="fa fa-hand-paper-o fa-lg mt-4"></i><br />hand-paper-o777 </Col>778 <Col xs="6" sm="4" md="3" lg="2">779 <i className="fa fa-hand-peace-o fa-lg mt-4"></i><br />hand-peace-o780 </Col>781 <Col xs="6" sm="4" md="3" lg="2">782 <i className="fa fa-hand-pointer-o fa-lg mt-4"></i><br />hand-pointer-o783 </Col>784 <Col xs="6" sm="4" md="3" lg="2">785 <i className="fa fa-hand-rock-o fa-lg mt-4"></i><br />hand-rock-o786 </Col>787 <Col xs="6" sm="4" md="3" lg="2">788 <i className="fa fa-hand-scissors-o fa-lg mt-4"></i><br />hand-scissors-o789 </Col>790 <Col xs="6" sm="4" md="3" lg="2">791 <i className="fa fa-hand-spock-o fa-lg mt-4"></i><br />hand-spock-o792 </Col>793 <Col xs="6" sm="4" md="3" lg="2">794 <i className="fa fa-hand-stop-o fa-lg mt-4"></i><br />hand-stop-o <span795 className="text-muted">(alias)</span>796 </Col>797 <Col xs="6" sm="4" md="3" lg="2">798 <i className="fa fa-hashtag fa-lg mt-4"></i><br />hashtag799 </Col>800 <Col xs="6" sm="4" md="3" lg="2">801 <i className="fa fa-hdd-o fa-lg mt-4"></i><br />hdd-o802 </Col>803 <Col xs="6" sm="4" md="3" lg="2">804 <i className="fa fa-headphones fa-lg mt-4"></i><br />headphones805 </Col>806 <Col xs="6" sm="4" md="3" lg="2">807 <i className="fa fa-heart fa-lg mt-4"></i><br />heart808 </Col>809 <Col xs="6" sm="4" md="3" lg="2">810 <i className="fa fa-heart-o fa-lg mt-4"></i><br />heart-o811 </Col>812 <Col xs="6" sm="4" md="3" lg="2">813 <i className="fa fa-heartbeat fa-lg mt-4"></i><br />heartbeat814 </Col>815 <Col xs="6" sm="4" md="3" lg="2">816 <i className="fa fa-history fa-lg mt-4"></i><br />history817 </Col>818 <Col xs="6" sm="4" md="3" lg="2">819 <i className="fa fa-home fa-lg mt-4"></i><br />home820 </Col>821 <Col xs="6" sm="4" md="3" lg="2">822 <i className="fa fa-hotel fa-lg mt-4"></i><br />hotel <span className="text-muted">(alias)</span>823 </Col>824 <Col xs="6" sm="4" md="3" lg="2">825 <i className="fa fa-hourglass fa-lg mt-4"></i><br />hourglass826 </Col>827 <Col xs="6" sm="4" md="3" lg="2">828 <i className="fa fa-hourglass-1 fa-lg mt-4"></i><br />hourglass-1 <span829 className="text-muted">(alias)</span>830 </Col>831 <Col xs="6" sm="4" md="3" lg="2">832 <i className="fa fa-hourglass-2 fa-lg mt-4"></i><br />hourglass-2 <span833 className="text-muted">(alias)</span>834 </Col>835 <Col xs="6" sm="4" md="3" lg="2">836 <i className="fa fa-hourglass-3 fa-lg mt-4"></i><br />hourglass-3 <span837 className="text-muted">(alias)</span>838 </Col>839 <Col xs="6" sm="4" md="3" lg="2">840 <i className="fa fa-hourglass-end fa-lg mt-4"></i><br />hourglass-end841 </Col>842 <Col xs="6" sm="4" md="3" lg="2">843 <i className="fa fa-hourglass-half fa-lg mt-4"></i><br />hourglass-half844 </Col>845 <Col xs="6" sm="4" md="3" lg="2">846 <i className="fa fa-hourglass-o fa-lg mt-4"></i><br />hourglass-o847 </Col>848 <Col xs="6" sm="4" md="3" lg="2">849 <i className="fa fa-hourglass-start fa-lg mt-4"></i><br />hourglass-start850 </Col>851 <Col xs="6" sm="4" md="3" lg="2">852 <i className="fa fa-i-cursor fa-lg mt-4"></i><br />i-cursor853 </Col>854 <Col xs="6" sm="4" md="3" lg="2">855 <i className="fa fa-image fa-lg mt-4"></i><br />image <span className="text-muted">(alias)</span>856 </Col>857 <Col xs="6" sm="4" md="3" lg="2">858 <i className="fa fa-inbox fa-lg mt-4"></i><br />inbox859 </Col>860 <Col xs="6" sm="4" md="3" lg="2">861 <i className="fa fa-industry fa-lg mt-4"></i><br />industry862 </Col>863 <Col xs="6" sm="4" md="3" lg="2">864 <i className="fa fa-info fa-lg mt-4"></i><br />info865 </Col>866 <Col xs="6" sm="4" md="3" lg="2">867 <i className="fa fa-info-circle fa-lg mt-4"></i><br />info-circle868 </Col>869 <Col xs="6" sm="4" md="3" lg="2">870 <i className="fa fa-institution fa-lg mt-4"></i><br />institution <span871 className="text-muted">(alias)</span>872 </Col>873 <Col xs="6" sm="4" md="3" lg="2">874 <i className="fa fa-key fa-lg mt-4"></i><br />key875 </Col>876 <Col xs="6" sm="4" md="3" lg="2">877 <i className="fa fa-keyboard-o fa-lg mt-4"></i><br />keyboard-o878 </Col>879 <Col xs="6" sm="4" md="3" lg="2">880 <i className="fa fa-language fa-lg mt-4"></i><br />language881 </Col>882 <Col xs="6" sm="4" md="3" lg="2">883 <i className="fa fa-laptop fa-lg mt-4"></i><br />laptop884 </Col>885 <Col xs="6" sm="4" md="3" lg="2">886 <i className="fa fa-leaf fa-lg mt-4"></i><br />leaf887 </Col>888 <Col xs="6" sm="4" md="3" lg="2">889 <i className="fa fa-legal fa-lg mt-4"></i><br />legal <span className="text-muted">(alias)</span>890 </Col>891 <Col xs="6" sm="4" md="3" lg="2">892 <i className="fa fa-lemon-o fa-lg mt-4"></i><br />lemon-o893 </Col>894 <Col xs="6" sm="4" md="3" lg="2">895 <i className="fa fa-level-down fa-lg mt-4"></i><br />level-down896 </Col>897 <Col xs="6" sm="4" md="3" lg="2">898 <i className="fa fa-level-up fa-lg mt-4"></i><br />level-up899 </Col>900 <Col xs="6" sm="4" md="3" lg="2">901 <i className="fa fa-life-bouy fa-lg mt-4"></i><br />life-bouy <span className="text-muted">(alias)</span>902 </Col>903 <Col xs="6" sm="4" md="3" lg="2">904 <i className="fa fa-life-buoy fa-lg mt-4"></i><br />life-buoy <span className="text-muted">(alias)</span>905 </Col>906 <Col xs="6" sm="4" md="3" lg="2">907 <i className="fa fa-life-ring fa-lg mt-4"></i><br />life-ring908 </Col>909 <Col xs="6" sm="4" md="3" lg="2">910 <i className="fa fa-life-saver fa-lg mt-4"></i><br />life-saver <span911 className="text-muted">(alias)</span>912 </Col>913 <Col xs="6" sm="4" md="3" lg="2">914 <i className="fa fa-lightbulb-o fa-lg mt-4"></i><br />lightbulb-o915 </Col>916 <Col xs="6" sm="4" md="3" lg="2">917 <i className="fa fa-line-chart fa-lg mt-4"></i><br />line-chart918 </Col>919 <Col xs="6" sm="4" md="3" lg="2">920 <i className="fa fa-location-arrow fa-lg mt-4"></i><br />location-arrow921 </Col>922 <Col xs="6" sm="4" md="3" lg="2">923 <i className="fa fa-lock fa-lg mt-4"></i><br />lock924 </Col>925 <Col xs="6" sm="4" md="3" lg="2">926 <i className="fa fa-magic fa-lg mt-4"></i><br />magic927 </Col>928 <Col xs="6" sm="4" md="3" lg="2">929 <i className="fa fa-magnet fa-lg mt-4"></i><br />magnet930 </Col>931 <Col xs="6" sm="4" md="3" lg="2">932 <i className="fa fa-mail-forward fa-lg mt-4"></i><br />mail-forward <span933 className="text-muted">(alias)</span>934 </Col>935 <Col xs="6" sm="4" md="3" lg="2">936 <i className="fa fa-mail-reply fa-lg mt-4"></i><br />mail-reply <span937 className="text-muted">(alias)</span>938 </Col>939 <Col xs="6" sm="4" md="3" lg="2">940 <i className="fa fa-mail-reply-all fa-lg mt-4"></i><br />mail-reply-all <span className="text-muted">(alias)</span>941 </Col>942 <Col xs="6" sm="4" md="3" lg="2">943 <i className="fa fa-male fa-lg mt-4"></i><br />male944 </Col>945 <Col xs="6" sm="4" md="3" lg="2">946 <i className="fa fa-map fa-lg mt-4"></i><br />map947 </Col>948 <Col xs="6" sm="4" md="3" lg="2">949 <i className="fa fa-map-marker fa-lg mt-4"></i><br />map-marker950 </Col>951 <Col xs="6" sm="4" md="3" lg="2">952 <i className="fa fa-map-o fa-lg mt-4"></i><br />map-o953 </Col>954 <Col xs="6" sm="4" md="3" lg="2">955 <i className="fa fa-map-pin fa-lg mt-4"></i><br />map-pin956 </Col>957 <Col xs="6" sm="4" md="3" lg="2">958 <i className="fa fa-map-signs fa-lg mt-4"></i><br />map-signs959 </Col>960 <Col xs="6" sm="4" md="3" lg="2">961 <i className="fa fa-meh-o fa-lg mt-4"></i><br />meh-o962 </Col>963 <Col xs="6" sm="4" md="3" lg="2">964 <i className="fa fa-microphone fa-lg mt-4"></i><br />microphone965 </Col>966 <Col xs="6" sm="4" md="3" lg="2">967 <i className="fa fa-microphone-slash fa-lg mt-4"></i><br />microphone-slash968 </Col>969 <Col xs="6" sm="4" md="3" lg="2">970 <i className="fa fa-minus fa-lg mt-4"></i><br />minus971 </Col>972 <Col xs="6" sm="4" md="3" lg="2">973 <i className="fa fa-minus-circle fa-lg mt-4"></i><br />minus-circle974 </Col>975 <Col xs="6" sm="4" md="3" lg="2">976 <i className="fa fa-minus-square fa-lg mt-4"></i><br />minus-square977 </Col>978 <Col xs="6" sm="4" md="3" lg="2">979 <i className="fa fa-minus-square-o fa-lg mt-4"></i><br />minus-square-o980 </Col>981 <Col xs="6" sm="4" md="3" lg="2">982 <i className="fa fa-mobile fa-lg mt-4"></i><br />mobile983 </Col>984 <Col xs="6" sm="4" md="3" lg="2">985 <i className="fa fa-mobile-phone fa-lg mt-4"></i><br />mobile-phone <span986 className="text-muted">(alias)</span>987 </Col>988 <Col xs="6" sm="4" md="3" lg="2">989 <i className="fa fa-money fa-lg mt-4"></i><br />money990 </Col>991 <Col xs="6" sm="4" md="3" lg="2">992 <i className="fa fa-moon-o fa-lg mt-4"></i><br />moon-o993 </Col>994 <Col xs="6" sm="4" md="3" lg="2">995 <i className="fa fa-mortar-board fa-lg mt-4"></i><br />mortar-board <span996 className="text-muted">(alias)</span>997 </Col>998 <Col xs="6" sm="4" md="3" lg="2">999 <i className="fa fa-motorcycle fa-lg mt-4"></i><br />motorcycle1000 </Col>1001 <Col xs="6" sm="4" md="3" lg="2">1002 <i className="fa fa-mouse-pointer fa-lg mt-4"></i><br />mouse-pointer1003 </Col>1004 <Col xs="6" sm="4" md="3" lg="2">1005 <i className="fa fa-music fa-lg mt-4"></i><br />music1006 </Col>1007 <Col xs="6" sm="4" md="3" lg="2">1008 <i className="fa fa-navicon fa-lg mt-4"></i><br />navicon <span className="text-muted">(alias)</span>1009 </Col>1010 <Col xs="6" sm="4" md="3" lg="2">1011 <i className="fa fa-newspaper-o fa-lg mt-4"></i><br />newspaper-o1012 </Col>1013 <Col xs="6" sm="4" md="3" lg="2">1014 <i className="fa fa-object-group fa-lg mt-4"></i><br />object-group1015 </Col>1016 <Col xs="6" sm="4" md="3" lg="2">1017 <i className="fa fa-object-ungroup fa-lg mt-4"></i><br />object-ungroup1018 </Col>1019 <Col xs="6" sm="4" md="3" lg="2">1020 <i className="fa fa-paint-brush fa-lg mt-4"></i><br />paint-brush1021 </Col>1022 <Col xs="6" sm="4" md="3" lg="2">1023 <i className="fa fa-paper-plane fa-lg mt-4"></i><br />paper-plane1024 </Col>1025 <Col xs="6" sm="4" md="3" lg="2">1026 <i className="fa fa-paper-plane-o fa-lg mt-4"></i><br />paper-plane-o1027 </Col>1028 <Col xs="6" sm="4" md="3" lg="2">1029 <i className="fa fa-paw fa-lg mt-4"></i><br />paw1030 </Col>1031 <Col xs="6" sm="4" md="3" lg="2">1032 <i className="fa fa-pencil fa-lg mt-4"></i><br />pencil1033 </Col>1034 <Col xs="6" sm="4" md="3" lg="2">1035 <i className="fa fa-pencil-square fa-lg mt-4"></i><br />pencil-square1036 </Col>1037 <Col xs="6" sm="4" md="3" lg="2">1038 <i className="fa fa-pencil-square-o fa-lg mt-4"></i><br />pencil-square-o1039 </Col>1040 <Col xs="6" sm="4" md="3" lg="2">1041 <i className="fa fa-percent fa-lg mt-4"></i><br />percent1042 </Col>1043 <Col xs="6" sm="4" md="3" lg="2">1044 <i className="fa fa-phone fa-lg mt-4"></i><br />phone1045 </Col>1046 <Col xs="6" sm="4" md="3" lg="2">1047 <i className="fa fa-phone-square fa-lg mt-4"></i><br />phone-square1048 </Col>1049 <Col xs="6" sm="4" md="3" lg="2">1050 <i className="fa fa-photo fa-lg mt-4"></i><br />photo <span className="text-muted">(alias)</span>1051 </Col>1052 <Col xs="6" sm="4" md="3" lg="2">1053 <i className="fa fa-picture-o fa-lg mt-4"></i><br />picture-o1054 </Col>1055 <Col xs="6" sm="4" md="3" lg="2">1056 <i className="fa fa-pie-chart fa-lg mt-4"></i><br />pie-chart1057 </Col>1058 <Col xs="6" sm="4" md="3" lg="2">1059 <i className="fa fa-plane fa-lg mt-4"></i><br />plane1060 </Col>1061 <Col xs="6" sm="4" md="3" lg="2">1062 <i className="fa fa-plug fa-lg mt-4"></i><br />plug1063 </Col>1064 <Col xs="6" sm="4" md="3" lg="2">1065 <i className="fa fa-plus fa-lg mt-4"></i><br />plus1066 </Col>1067 <Col xs="6" sm="4" md="3" lg="2">1068 <i className="fa fa-plus-circle fa-lg mt-4"></i><br />plus-circle1069 </Col>1070 <Col xs="6" sm="4" md="3" lg="2">1071 <i className="fa fa-plus-square fa-lg mt-4"></i><br />plus-square1072 </Col>1073 <Col xs="6" sm="4" md="3" lg="2">1074 <i className="fa fa-plus-square-o fa-lg mt-4"></i><br />plus-square-o1075 </Col>1076 <Col xs="6" sm="4" md="3" lg="2">1077 <i className="fa fa-power-off fa-lg mt-4"></i><br />power-off1078 </Col>1079 <Col xs="6" sm="4" md="3" lg="2">1080 <i className="fa fa-print fa-lg mt-4"></i><br />print1081 </Col>1082 <Col xs="6" sm="4" md="3" lg="2">1083 <i className="fa fa-puzzle-piece fa-lg mt-4"></i><br />puzzle-piece1084 </Col>1085 <Col xs="6" sm="4" md="3" lg="2">1086 <i className="fa fa-qrcode fa-lg mt-4"></i><br />qrcode1087 </Col>1088 <Col xs="6" sm="4" md="3" lg="2">1089 <i className="fa fa-question fa-lg mt-4"></i><br />question1090 </Col>1091 <Col xs="6" sm="4" md="3" lg="2">1092 <i className="fa fa-question-circle fa-lg mt-4"></i><br />question-circle1093 </Col>1094 <Col xs="6" sm="4" md="3" lg="2">1095 <i className="fa fa-quote-left fa-lg mt-4"></i><br />quote-left1096 </Col>1097 <Col xs="6" sm="4" md="3" lg="2">1098 <i className="fa fa-quote-right fa-lg mt-4"></i><br />quote-right1099 </Col>1100 <Col xs="6" sm="4" md="3" lg="2">1101 <i className="fa fa-random fa-lg mt-4"></i><br />random1102 </Col>1103 <Col xs="6" sm="4" md="3" lg="2">1104 <i className="fa fa-recycle fa-lg mt-4"></i><br />recycle1105 </Col>1106 <Col xs="6" sm="4" md="3" lg="2">1107 <i className="fa fa-refresh fa-lg mt-4"></i><br />refresh1108 </Col>1109 <Col xs="6" sm="4" md="3" lg="2">1110 <i className="fa fa-registered fa-lg mt-4"></i><br />registered1111 </Col>1112 <Col xs="6" sm="4" md="3" lg="2">1113 <i className="fa fa-remove fa-lg mt-4"></i><br />remove <span className="text-muted">(alias)</span>1114 </Col>1115 <Col xs="6" sm="4" md="3" lg="2">1116 <i className="fa fa-reorder fa-lg mt-4"></i><br />reorder <span className="text-muted">(alias)</span>1117 </Col>1118 <Col xs="6" sm="4" md="3" lg="2">1119 <i className="fa fa-reply fa-lg mt-4"></i><br />reply1120 </Col>1121 <Col xs="6" sm="4" md="3" lg="2">1122 <i className="fa fa-reply-all fa-lg mt-4"></i><br />reply-all1123 </Col>1124 <Col xs="6" sm="4" md="3" lg="2">1125 <i className="fa fa-retweet fa-lg mt-4"></i><br />retweet1126 </Col>1127 <Col xs="6" sm="4" md="3" lg="2">1128 <i className="fa fa-road fa-lg mt-4"></i><br />road1129 </Col>1130 <Col xs="6" sm="4" md="3" lg="2">1131 <i className="fa fa-rocket fa-lg mt-4"></i><br />rocket1132 </Col>1133 <Col xs="6" sm="4" md="3" lg="2">1134 <i className="fa fa-rss fa-lg mt-4"></i><br />rss1135 </Col>1136 <Col xs="6" sm="4" md="3" lg="2">1137 <i className="fa fa-rss-square fa-lg mt-4"></i><br />rss-square1138 </Col>1139 <Col xs="6" sm="4" md="3" lg="2">1140 <i className="fa fa-search fa-lg mt-4"></i><br />search1141 </Col>1142 <Col xs="6" sm="4" md="3" lg="2">1143 <i className="fa fa-search-minus fa-lg mt-4"></i><br />search-minus1144 </Col>1145 <Col xs="6" sm="4" md="3" lg="2">1146 <i className="fa fa-search-plus fa-lg mt-4"></i><br />search-plus1147 </Col>1148 <Col xs="6" sm="4" md="3" lg="2">1149 <i className="fa fa-send fa-lg mt-4"></i><br />send <span className="text-muted">(alias)</span>1150 </Col>1151 <Col xs="6" sm="4" md="3" lg="2">1152 <i className="fa fa-send-o fa-lg mt-4"></i><br />send-o <span className="text-muted">(alias)</span>1153 </Col>1154 <Col xs="6" sm="4" md="3" lg="2">1155 <i className="fa fa-server fa-lg mt-4"></i><br />server1156 </Col>1157 <Col xs="6" sm="4" md="3" lg="2">1158 <i className="fa fa-share fa-lg mt-4"></i><br />share1159 </Col>1160 <Col xs="6" sm="4" md="3" lg="2">1161 <i className="fa fa-share-alt fa-lg mt-4"></i><br />share-alt1162 </Col>1163 <Col xs="6" sm="4" md="3" lg="2">1164 <i className="fa fa-share-alt-square fa-lg mt-4"></i><br />share-alt-square1165 </Col>1166 <Col xs="6" sm="4" md="3" lg="2">1167 <i className="fa fa-share-square fa-lg mt-4"></i><br />share-square1168 </Col>1169 <Col xs="6" sm="4" md="3" lg="2">1170 <i className="fa fa-share-square-o fa-lg mt-4"></i><br />share-square-o1171 </Col>1172 <Col xs="6" sm="4" md="3" lg="2">1173 <i className="fa fa-shield fa-lg mt-4"></i><br />shield1174 </Col>1175 <Col xs="6" sm="4" md="3" lg="2">1176 <i className="fa fa-ship fa-lg mt-4"></i><br />ship1177 </Col>1178 <Col xs="6" sm="4" md="3" lg="2">1179 <i className="fa fa-shopping-bag fa-lg mt-4"></i><br />shopping-bag1180 </Col>1181 <Col xs="6" sm="4" md="3" lg="2">1182 <i className="fa fa-shopping-basket fa-lg mt-4"></i><br />shopping-basket1183 </Col>1184 <Col xs="6" sm="4" md="3" lg="2">1185 <i className="fa fa-shopping-cart fa-lg mt-4"></i><br />shopping-cart1186 </Col>1187 <Col xs="6" sm="4" md="3" lg="2">1188 <i className="fa fa-sign-in fa-lg mt-4"></i><br />sign-in1189 </Col>1190 <Col xs="6" sm="4" md="3" lg="2">1191 <i className="fa fa-sign-out fa-lg mt-4"></i><br />sign-out1192 </Col>1193 <Col xs="6" sm="4" md="3" lg="2">1194 <i className="fa fa-signal fa-lg mt-4"></i><br />signal1195 </Col>1196 <Col xs="6" sm="4" md="3" lg="2">1197 <i className="fa fa-sitemap fa-lg mt-4"></i><br />sitemap1198 </Col>1199 <Col xs="6" sm="4" md="3" lg="2">1200 <i className="fa fa-sliders fa-lg mt-4"></i><br />sliders1201 </Col>1202 <Col xs="6" sm="4" md="3" lg="2">1203 <i className="fa fa-smile-o fa-lg mt-4"></i><br />smile-o1204 </Col>1205 <Col xs="6" sm="4" md="3" lg="2">1206 <i className="fa fa-soccer-ball-o fa-lg mt-4"></i><br />soccer-ball-o <span className="text-muted">(alias)</span>1207 </Col>1208 <Col xs="6" sm="4" md="3" lg="2">1209 <i className="fa fa-sort fa-lg mt-4"></i><br />sort1210 </Col>1211 <Col xs="6" sm="4" md="3" lg="2">1212 <i className="fa fa-sort-alpha-asc fa-lg mt-4"></i><br />sort-alpha-asc1213 </Col>1214 <Col xs="6" sm="4" md="3" lg="2">1215 <i className="fa fa-sort-alpha-desc fa-lg mt-4"></i><br />sort-alpha-desc1216 </Col>1217 <Col xs="6" sm="4" md="3" lg="2">1218 <i className="fa fa-sort-amount-asc fa-lg mt-4"></i><br />sort-amount-asc1219 </Col>1220 <Col xs="6" sm="4" md="3" lg="2">1221 <i className="fa fa-sort-amount-desc fa-lg mt-4"></i><br />sort-amount-desc1222 </Col>1223 <Col xs="6" sm="4" md="3" lg="2">1224 <i className="fa fa-sort-asc fa-lg mt-4"></i><br />sort-asc1225 </Col>1226 <Col xs="6" sm="4" md="3" lg="2">1227 <i className="fa fa-sort-desc fa-lg mt-4"></i><br />sort-desc1228 </Col>1229 <Col xs="6" sm="4" md="3" lg="2">1230 <i className="fa fa-sort-down fa-lg mt-4"></i><br />sort-down <span className="text-muted">(alias)</span>1231 </Col>1232 <Col xs="6" sm="4" md="3" lg="2">1233 <i className="fa fa-sort-numeric-asc fa-lg mt-4"></i><br />sort-numeric-asc1234 </Col>1235 <Col xs="6" sm="4" md="3" lg="2">1236 <i className="fa fa-sort-numeric-desc fa-lg mt-4"></i><br />sort-numeric-desc1237 </Col>1238 <Col xs="6" sm="4" md="3" lg="2">1239 <i className="fa fa-sort-up fa-lg mt-4"></i><br />sort-up <span className="text-muted">(alias)</span>1240 </Col>1241 <Col xs="6" sm="4" md="3" lg="2">1242 <i className="fa fa-space-shuttle fa-lg mt-4"></i><br />space-shuttle1243 </Col>1244 <Col xs="6" sm="4" md="3" lg="2">1245 <i className="fa fa-spinner fa-lg mt-4"></i><br />spinner1246 </Col>1247 <Col xs="6" sm="4" md="3" lg="2">1248 <i className="fa fa-spoon fa-lg mt-4"></i><br />spoon1249 </Col>1250 <Col xs="6" sm="4" md="3" lg="2">1251 <i className="fa fa-square fa-lg mt-4"></i><br />square1252 </Col>1253 <Col xs="6" sm="4" md="3" lg="2">1254 <i className="fa fa-square-o fa-lg mt-4"></i><br />square-o1255 </Col>1256 <Col xs="6" sm="4" md="3" lg="2">1257 <i className="fa fa-star fa-lg mt-4"></i><br />star1258 </Col>1259 <Col xs="6" sm="4" md="3" lg="2">1260 <i className="fa fa-star-half fa-lg mt-4"></i><br />star-half1261 </Col>1262 <Col xs="6" sm="4" md="3" lg="2">1263 <i className="fa fa-star-half-empty fa-lg mt-4"></i><br />star-half-empty <span className="text-muted">(alias)</span>1264 </Col>1265 <Col xs="6" sm="4" md="3" lg="2">1266 <i className="fa fa-star-half-full fa-lg mt-4"></i><br />star-half-full <span className="text-muted">(alias)</span>1267 </Col>1268 <Col xs="6" sm="4" md="3" lg="2">1269 <i className="fa fa-star-half-o fa-lg mt-4"></i><br />star-half-o1270 </Col>1271 <Col xs="6" sm="4" md="3" lg="2">1272 <i className="fa fa-star-o fa-lg mt-4"></i><br />star-o1273 </Col>1274 <Col xs="6" sm="4" md="3" lg="2">1275 <i className="fa fa-sticky-note fa-lg mt-4"></i><br />sticky-note1276 </Col>1277 <Col xs="6" sm="4" md="3" lg="2">1278 <i className="fa fa-sticky-note-o fa-lg mt-4"></i><br />sticky-note-o1279 </Col>1280 <Col xs="6" sm="4" md="3" lg="2">1281 <i className="fa fa-street-view fa-lg mt-4"></i><br />street-view1282 </Col>1283 <Col xs="6" sm="4" md="3" lg="2">1284 <i className="fa fa-suitcase fa-lg mt-4"></i><br />suitcase1285 </Col>1286 <Col xs="6" sm="4" md="3" lg="2">1287 <i className="fa fa-sun-o fa-lg mt-4"></i><br />sun-o1288 </Col>1289 <Col xs="6" sm="4" md="3" lg="2">1290 <i className="fa fa-support fa-lg mt-4"></i><br />support <span className="text-muted">(alias)</span>1291 </Col>1292 <Col xs="6" sm="4" md="3" lg="2">1293 <i className="fa fa-tablet fa-lg mt-4"></i><br />tablet1294 </Col>1295 <Col xs="6" sm="4" md="3" lg="2">1296 <i className="fa fa-tachometer fa-lg mt-4"></i><br />tachometer1297 </Col>1298 <Col xs="6" sm="4" md="3" lg="2">1299 <i className="fa fa-tag fa-lg mt-4"></i><br />tag1300 </Col>1301 <Col xs="6" sm="4" md="3" lg="2">1302 <i className="fa fa-tags fa-lg mt-4"></i><br />tags1303 </Col>1304 <Col xs="6" sm="4" md="3" lg="2">1305 <i className="fa fa-tasks fa-lg mt-4"></i><br />tasks1306 </Col>1307 <Col xs="6" sm="4" md="3" lg="2">1308 <i className="fa fa-taxi fa-lg mt-4"></i><br />taxi1309 </Col>1310 <Col xs="6" sm="4" md="3" lg="2">1311 <i className="fa fa-television fa-lg mt-4"></i><br />television1312 </Col>1313 <Col xs="6" sm="4" md="3" lg="2">1314 <i className="fa fa-terminal fa-lg mt-4"></i><br />terminal1315 </Col>1316 <Col xs="6" sm="4" md="3" lg="2">1317 <i className="fa fa-thumb-tack fa-lg mt-4"></i><br />thumb-tack1318 </Col>1319 <Col xs="6" sm="4" md="3" lg="2">1320 <i className="fa fa-thumbs-down fa-lg mt-4"></i><br />thumbs-down1321 </Col>1322 <Col xs="6" sm="4" md="3" lg="2">1323 <i className="fa fa-thumbs-o-down fa-lg mt-4"></i><br />thumbs-o-down1324 </Col>1325 <Col xs="6" sm="4" md="3" lg="2">1326 <i className="fa fa-thumbs-o-up fa-lg mt-4"></i><br />thumbs-o-up1327 </Col>1328 <Col xs="6" sm="4" md="3" lg="2">1329 <i className="fa fa-thumbs-up fa-lg mt-4"></i><br />thumbs-up1330 </Col>1331 <Col xs="6" sm="4" md="3" lg="2">1332 <i className="fa fa-ticket fa-lg mt-4"></i><br />ticket1333 </Col>1334 <Col xs="6" sm="4" md="3" lg="2">1335 <i className="fa fa-times fa-lg mt-4"></i><br />times1336 </Col>1337 <Col xs="6" sm="4" md="3" lg="2">1338 <i className="fa fa-times-circle fa-lg mt-4"></i><br />times-circle1339 </Col>1340 <Col xs="6" sm="4" md="3" lg="2">1341 <i className="fa fa-times-circle-o fa-lg mt-4"></i><br />times-circle-o1342 </Col>1343 <Col xs="6" sm="4" md="3" lg="2">1344 <i className="fa fa-tint fa-lg mt-4"></i><br />tint1345 </Col>1346 <Col xs="6" sm="4" md="3" lg="2">1347 <i className="fa fa-toggle-down fa-lg mt-4"></i><br />toggle-down <span1348 className="text-muted">(alias)</span>1349 </Col>1350 <Col xs="6" sm="4" md="3" lg="2">1351 <i className="fa fa-toggle-left fa-lg mt-4"></i><br />toggle-left <span1352 className="text-muted">(alias)</span>1353 </Col>1354 <Col xs="6" sm="4" md="3" lg="2">1355 <i className="fa fa-toggle-off fa-lg mt-4"></i><br />toggle-off1356 </Col>1357 <Col xs="6" sm="4" md="3" lg="2">1358 <i className="fa fa-toggle-on fa-lg mt-4"></i><br />toggle-on1359 </Col>1360 <Col xs="6" sm="4" md="3" lg="2">1361 <i className="fa fa-toggle-right fa-lg mt-4"></i><br />toggle-right <span1362 className="text-muted">(alias)</span>1363 </Col>1364 <Col xs="6" sm="4" md="3" lg="2">1365 <i className="fa fa-toggle-up fa-lg mt-4"></i><br />toggle-up <span className="text-muted">(alias)</span>1366 </Col>1367 <Col xs="6" sm="4" md="3" lg="2">1368 <i className="fa fa-trademark fa-lg mt-4"></i><br />trademark1369 </Col>1370 <Col xs="6" sm="4" md="3" lg="2">1371 <i className="fa fa-trash fa-lg mt-4"></i><br />trash1372 </Col>1373 <Col xs="6" sm="4" md="3" lg="2">1374 <i className="fa fa-trash-o fa-lg mt-4"></i><br />trash-o1375 </Col>1376 <Col xs="6" sm="4" md="3" lg="2">1377 <i className="fa fa-tree fa-lg mt-4"></i><br />tree1378 </Col>1379 <Col xs="6" sm="4" md="3" lg="2">1380 <i className="fa fa-trophy fa-lg mt-4"></i><br />trophy1381 </Col>1382 <Col xs="6" sm="4" md="3" lg="2">1383 <i className="fa fa-truck fa-lg mt-4"></i><br />truck1384 </Col>1385 <Col xs="6" sm="4" md="3" lg="2">1386 <i className="fa fa-tty fa-lg mt-4"></i><br />tty1387 </Col>1388 <Col xs="6" sm="4" md="3" lg="2">1389 <i className="fa fa-tv fa-lg mt-4"></i><br />tv <span className="text-muted">(alias)</span>1390 </Col>1391 <Col xs="6" sm="4" md="3" lg="2">1392 <i className="fa fa-umbrella fa-lg mt-4"></i><br />umbrella1393 </Col>1394 <Col xs="6" sm="4" md="3" lg="2">1395 <i className="fa fa-university fa-lg mt-4"></i><br />university1396 </Col>1397 <Col xs="6" sm="4" md="3" lg="2">1398 <i className="fa fa-unlock fa-lg mt-4"></i><br />unlock1399 </Col>1400 <Col xs="6" sm="4" md="3" lg="2">1401 <i className="fa fa-unlock-alt fa-lg mt-4"></i><br />unlock-alt1402 </Col>1403 <Col xs="6" sm="4" md="3" lg="2">1404 <i className="fa fa-unsorted fa-lg mt-4"></i><br />unsorted <span className="text-muted">(alias)</span>1405 </Col>1406 <Col xs="6" sm="4" md="3" lg="2">1407 <i className="fa fa-upload fa-lg mt-4"></i><br />upload1408 </Col>1409 <Col xs="6" sm="4" md="3" lg="2">1410 <i className="fa fa-user fa-lg mt-4"></i><br />user1411 </Col>1412 <Col xs="6" sm="4" md="3" lg="2">1413 <i className="fa fa-user-plus fa-lg mt-4"></i><br />user-plus1414 </Col>1415 <Col xs="6" sm="4" md="3" lg="2">1416 <i className="fa fa-user-secret fa-lg mt-4"></i><br />user-secret1417 </Col>1418 <Col xs="6" sm="4" md="3" lg="2">1419 <i className="fa fa-user-times fa-lg mt-4"></i><br />user-times1420 </Col>1421 <Col xs="6" sm="4" md="3" lg="2">1422 <i className="fa fa-users fa-lg mt-4"></i><br />users1423 </Col>1424 <Col xs="6" sm="4" md="3" lg="2">1425 <i className="fa fa-video-camera fa-lg mt-4"></i><br />video-camera1426 </Col>1427 <Col xs="6" sm="4" md="3" lg="2">1428 <i className="fa fa-volume-down fa-lg mt-4"></i><br />volume-down1429 </Col>1430 <Col xs="6" sm="4" md="3" lg="2">1431 <i className="fa fa-volume-off fa-lg mt-4"></i><br />volume-off1432 </Col>1433 <Col xs="6" sm="4" md="3" lg="2">1434 <i className="fa fa-volume-up fa-lg mt-4"></i><br />volume-up1435 </Col>1436 <Col xs="6" sm="4" md="3" lg="2">1437 <i className="fa fa-warning fa-lg mt-4"></i><br />warning <span className="text-muted">(alias)</span>1438 </Col>1439 <Col xs="6" sm="4" md="3" lg="2">1440 <i className="fa fa-wheelchair fa-lg mt-4"></i><br />wheelchair1441 </Col>1442 <Col xs="6" sm="4" md="3" lg="2">1443 <i className="fa fa-wifi fa-lg mt-4"></i><br />wifi1444 </Col>1445 <Col xs="6" sm="4" md="3" lg="2">1446 <i className="fa fa-wrench fa-lg mt-4"></i><br />wrench1447 </Col>1448 </Row>1449 </CardBody>1450 </Card>1451 <Card id="hand">1452 <CardHeader>Hand Icons</CardHeader>1453 <CardBody>1454 <Row className="text-center">1455 <Col xs="6" sm="4" md="3" lg="2">1456 <i className="fa fa-hand-grab-o fa-lg mt-4"></i><br />hand-grab-o <span1457 className="text-muted">(alias)</span>1458 </Col>1459 <Col xs="6" sm="4" md="3" lg="2">1460 <i className="fa fa-hand-lizard-o fa-lg mt-4"></i><br />hand-lizard-o1461 </Col>1462 <Col xs="6" sm="4" md="3" lg="2">1463 <i className="fa fa-hand-o-down fa-lg mt-4"></i><br />hand-o-down1464 </Col>1465 <Col xs="6" sm="4" md="3" lg="2">1466 <i className="fa fa-hand-o-left fa-lg mt-4"></i><br />hand-o-left1467 </Col>1468 <Col xs="6" sm="4" md="3" lg="2">1469 <i className="fa fa-hand-o-right fa-lg mt-4"></i><br />hand-o-right1470 </Col>1471 <Col xs="6" sm="4" md="3" lg="2">1472 <i className="fa fa-hand-o-up fa-lg mt-4"></i><br />hand-o-up1473 </Col>1474 <Col xs="6" sm="4" md="3" lg="2">1475 <i className="fa fa-hand-paper-o fa-lg mt-4"></i><br />hand-paper-o1476 </Col>1477 <Col xs="6" sm="4" md="3" lg="2">1478 <i className="fa fa-hand-peace-o fa-lg mt-4"></i><br />hand-peace-o1479 </Col>1480 <Col xs="6" sm="4" md="3" lg="2">1481 <i className="fa fa-hand-pointer-o fa-lg mt-4"></i><br />hand-pointer-o1482 </Col>1483 <Col xs="6" sm="4" md="3" lg="2">1484 <i className="fa fa-hand-rock-o fa-lg mt-4"></i><br />hand-rock-o1485 </Col>1486 <Col xs="6" sm="4" md="3" lg="2">1487 <i className="fa fa-hand-scissors-o fa-lg mt-4"></i><br />hand-scissors-o1488 </Col>1489 <Col xs="6" sm="4" md="3" lg="2">1490 <i className="fa fa-hand-spock-o fa-lg mt-4"></i><br />hand-spock-o1491 </Col>1492 <Col xs="6" sm="4" md="3" lg="2">1493 <i className="fa fa-hand-stop-o fa-lg mt-4"></i><br />hand-stop-o <span1494 className="text-muted">(alias)</span>1495 </Col>1496 <Col xs="6" sm="4" md="3" lg="2">1497 <i className="fa fa-thumbs-down fa-lg mt-4"></i><br />thumbs-down1498 </Col>1499 <Col xs="6" sm="4" md="3" lg="2">1500 <i className="fa fa-thumbs-o-down fa-lg mt-4"></i><br />thumbs-o-down1501 </Col>1502 <Col xs="6" sm="4" md="3" lg="2">1503 <i className="fa fa-thumbs-o-up fa-lg mt-4"></i><br />thumbs-o-up1504 </Col>1505 <Col xs="6" sm="4" md="3" lg="2">1506 <i className="fa fa-thumbs-up fa-lg mt-4"></i><br />thumbs-up1507 </Col>1508 </Row>1509 </CardBody>1510 </Card>1511 <Card id="transportation">1512 <CardHeader>Transportation Icons</CardHeader>1513 <CardBody>1514 <Row className="text-center">1515 <Col xs="6" sm="4" md="3" lg="2">1516 <i className="fa fa-ambulance fa-lg mt-4"></i><br />ambulance1517 </Col>1518 <Col xs="6" sm="4" md="3" lg="2">1519 <i className="fa fa-automobile fa-lg mt-4"></i><br />automobile <span1520 className="text-muted">(alias)</span>1521 </Col>1522 <Col xs="6" sm="4" md="3" lg="2">1523 <i className="fa fa-bicycle fa-lg mt-4"></i><br />bicycle1524 </Col>1525 <Col xs="6" sm="4" md="3" lg="2">1526 <i className="fa fa-bus fa-lg mt-4"></i><br />bus1527 </Col>1528 <Col xs="6" sm="4" md="3" lg="2">1529 <i className="fa fa-cab fa-lg mt-4"></i><br />cab <span className="text-muted">(alias)</span>1530 </Col>1531 <Col xs="6" sm="4" md="3" lg="2">1532 <i className="fa fa-car fa-lg mt-4"></i><br />car1533 </Col>1534 <Col xs="6" sm="4" md="3" lg="2">1535 <i className="fa fa-fighter-jet fa-lg mt-4"></i><br />fighter-jet1536 </Col>1537 <Col xs="6" sm="4" md="3" lg="2">1538 <i className="fa fa-motorcycle fa-lg mt-4"></i><br />motorcycle1539 </Col>1540 <Col xs="6" sm="4" md="3" lg="2">1541 <i className="fa fa-plane fa-lg mt-4"></i><br />plane1542 </Col>1543 <Col xs="6" sm="4" md="3" lg="2">1544 <i className="fa fa-rocket fa-lg mt-4"></i><br />rocket1545 </Col>1546 <Col xs="6" sm="4" md="3" lg="2">1547 <i className="fa fa-ship fa-lg mt-4"></i><br />ship1548 </Col>1549 <Col xs="6" sm="4" md="3" lg="2">1550 <i className="fa fa-space-shuttle fa-lg mt-4"></i><br />space-shuttle1551 </Col>1552 <Col xs="6" sm="4" md="3" lg="2">1553 <i className="fa fa-subway fa-lg mt-4"></i><br />subway1554 </Col>1555 <Col xs="6" sm="4" md="3" lg="2">1556 <i className="fa fa-taxi fa-lg mt-4"></i><br />taxi1557 </Col>1558 <Col xs="6" sm="4" md="3" lg="2">1559 <i className="fa fa-train fa-lg mt-4"></i><br />train1560 </Col>1561 <Col xs="6" sm="4" md="3" lg="2">1562 <i className="fa fa-truck fa-lg mt-4"></i><br />truck1563 </Col>1564 <Col xs="6" sm="4" md="3" lg="2">1565 <i className="fa fa-wheelchair fa-lg mt-4"></i><br />wheelchair1566 </Col>1567 </Row>1568 </CardBody>1569 </Card>1570 <Card id="gender">1571 <CardHeader>Gender Icons</CardHeader>1572 <CardBody>1573 <Row className="text-center">1574 <Col xs="6" sm="4" md="3" lg="2">1575 <i className="fa fa-genderless fa-lg mt-4"></i><br />genderless1576 </Col>1577 <Col xs="6" sm="4" md="3" lg="2">1578 <i className="fa fa-intersex fa-lg mt-4"></i><br />intersex <span className="text-muted">(alias)</span>1579 </Col>1580 <Col xs="6" sm="4" md="3" lg="2">1581 <i className="fa fa-mars fa-lg mt-4"></i><br />mars1582 </Col>1583 <Col xs="6" sm="4" md="3" lg="2">1584 <i className="fa fa-mars-double fa-lg mt-4"></i><br />mars-double1585 </Col>1586 <Col xs="6" sm="4" md="3" lg="2">1587 <i className="fa fa-mars-stroke fa-lg mt-4"></i><br />mars-stroke1588 </Col>1589 <Col xs="6" sm="4" md="3" lg="2">1590 <i className="fa fa-mars-stroke-h fa-lg mt-4"></i><br />mars-stroke-h1591 </Col>1592 <Col xs="6" sm="4" md="3" lg="2">1593 <i className="fa fa-mars-stroke-v fa-lg mt-4"></i><br />mars-stroke-v1594 </Col>1595 <Col xs="6" sm="4" md="3" lg="2">1596 <i className="fa fa-mercury fa-lg mt-4"></i><br />mercury1597 </Col>1598 <Col xs="6" sm="4" md="3" lg="2">1599 <i className="fa fa-neuter fa-lg mt-4"></i><br />neuter1600 </Col>1601 <Col xs="6" sm="4" md="3" lg="2">1602 <i className="fa fa-transgender fa-lg mt-4"></i><br />transgender1603 </Col>1604 <Col xs="6" sm="4" md="3" lg="2">1605 <i className="fa fa-transgender-alt fa-lg mt-4"></i><br />transgender-alt1606 </Col>1607 <Col xs="6" sm="4" md="3" lg="2">1608 <i className="fa fa-venus fa-lg mt-4"></i><br />venus1609 </Col>1610 <Col xs="6" sm="4" md="3" lg="2">1611 <i className="fa fa-venus-double fa-lg mt-4"></i><br />venus-double1612 </Col>1613 <Col xs="6" sm="4" md="3" lg="2">1614 <i className="fa fa-venus-mars fa-lg mt-4"></i><br />venus-mars1615 </Col>1616 </Row>1617 </CardBody>1618 </Card>1619 <Card id="file-type">1620 <CardHeader>File Type Icons</CardHeader>1621 <CardBody>1622 <Row className="text-center">1623 <Col xs="6" sm="4" md="3" lg="2">1624 <i className="fa fa-file fa-lg mt-4"></i><br />file1625 </Col>1626 <Col xs="6" sm="4" md="3" lg="2">1627 <i className="fa fa-file-archive-o fa-lg mt-4"></i><br />file-archive-o1628 </Col>1629 <Col xs="6" sm="4" md="3" lg="2">1630 <i className="fa fa-file-audio-o fa-lg mt-4"></i><br />file-audio-o1631 </Col>1632 <Col xs="6" sm="4" md="3" lg="2">1633 <i className="fa fa-file-code-o fa-lg mt-4"></i><br />file-code-o1634 </Col>1635 <Col xs="6" sm="4" md="3" lg="2">1636 <i className="fa fa-file-excel-o fa-lg mt-4"></i><br />file-excel-o1637 </Col>1638 <Col xs="6" sm="4" md="3" lg="2">1639 <i className="fa fa-file-image-o fa-lg mt-4"></i><br />file-image-o1640 </Col>1641 <Col xs="6" sm="4" md="3" lg="2">1642 <i className="fa fa-file-movie-o fa-lg mt-4"></i><br />file-movie-o <span1643 className="text-muted">(alias)</span>1644 </Col>1645 <Col xs="6" sm="4" md="3" lg="2">1646 <i className="fa fa-file-o fa-lg mt-4"></i><br />file-o1647 </Col>1648 <Col xs="6" sm="4" md="3" lg="2">1649 <i className="fa fa-file-pdf-o fa-lg mt-4"></i><br />file-pdf-o1650 </Col>1651 <Col xs="6" sm="4" md="3" lg="2">1652 <i className="fa fa-file-photo-o fa-lg mt-4"></i><br />file-photo-o <span1653 className="text-muted">(alias)</span>1654 </Col>1655 <Col xs="6" sm="4" md="3" lg="2">1656 <i className="fa fa-file-picture-o fa-lg mt-4"></i><br />file-picture-o <span className="text-muted">(alias)</span>1657 </Col>1658 <Col xs="6" sm="4" md="3" lg="2">1659 <i className="fa fa-file-powerpoint-o fa-lg mt-4"></i><br />file-powerpoint-o1660 </Col>1661 <Col xs="6" sm="4" md="3" lg="2">1662 <i className="fa fa-file-sound-o fa-lg mt-4"></i><br />file-sound-o <span1663 className="text-muted">(alias)</span>1664 </Col>1665 <Col xs="6" sm="4" md="3" lg="2">1666 <i className="fa fa-file-text fa-lg mt-4"></i><br />file-text1667 </Col>1668 <Col xs="6" sm="4" md="3" lg="2">1669 <i className="fa fa-file-text-o fa-lg mt-4"></i><br />file-text-o1670 </Col>1671 <Col xs="6" sm="4" md="3" lg="2">1672 <i className="fa fa-file-video-o fa-lg mt-4"></i><br />file-video-o1673 </Col>1674 <Col xs="6" sm="4" md="3" lg="2">1675 <i className="fa fa-file-word-o fa-lg mt-4"></i><br />file-word-o1676 </Col>1677 <Col xs="6" sm="4" md="3" lg="2">1678 <i className="fa fa-file-zip-o fa-lg mt-4"></i><br />file-zip-o <span1679 className="text-muted">(alias)</span>1680 </Col>1681 </Row>1682 </CardBody>1683 </Card>1684 <Card id="spinner">1685 <CardHeader>Spinner Icons</CardHeader>1686 <CardBody>1687 <Alert color="success">1688 <ul className="fa-ul">1689 <li>1690 <i className="fa fa-info-circle fa-li"></i>1691 These icons work great with the <code>fa-spin</code> class.1692 </li>1693 </ul>1694 </Alert>1695 <Row className="text-center">1696 <Col xs="6" sm="4" md="3" lg="2">1697 <i className="fa fa-circle-o-notch fa-lg fa-spin mt-4"></i><br />circle-o-notch1698 </Col>1699 <Col xs="6" sm="4" md="3" lg="2">1700 <i className="fa fa-cog fa-lg mt-4"></i><br />cog1701 </Col>1702 <Col xs="6" sm="4" md="3" lg="2">1703 <i className="fa fa-gear fa-lg mt-4"></i><br />gear <span className="text-muted">(alias)</span>1704 </Col>1705 <Col xs="6" sm="4" md="3" lg="2">1706 <i className="fa fa-refresh fa-lg mt-4"></i><br />refresh1707 </Col>1708 <Col xs="6" sm="4" md="3" lg="2">1709 <i className="fa fa-spinner fa-lg mt-4"></i><br />spinner1710 </Col>1711 </Row>1712 </CardBody>1713 </Card>1714 <Card id="form-control">1715 <CardHeader>Form Control Icons</CardHeader>1716 <CardBody>1717 <Row className="text-center">1718 <Col xs="6" sm="4" md="3" lg="2">1719 <i className="fa fa-check-square fa-lg mt-4"></i><br />check-square1720 </Col>1721 <Col xs="6" sm="4" md="3" lg="2">1722 <i className="fa fa-check-square-o fa-lg mt-4"></i><br />check-square-o1723 </Col>1724 <Col xs="6" sm="4" md="3" lg="2">1725 <i className="fa fa-circle fa-lg mt-4"></i><br />circle1726 </Col>1727 <Col xs="6" sm="4" md="3" lg="2">1728 <i className="fa fa-circle-o fa-lg mt-4"></i><br />circle-o1729 </Col>1730 <Col xs="6" sm="4" md="3" lg="2">1731 <i className="fa fa-dot-circle-o fa-lg mt-4"></i><br />dot-circle-o1732 </Col>1733 <Col xs="6" sm="4" md="3" lg="2">1734 <i className="fa fa-minus-square fa-lg mt-4"></i><br />minus-square1735 </Col>1736 <Col xs="6" sm="4" md="3" lg="2">1737 <i className="fa fa-minus-square-o fa-lg mt-4"></i><br />minus-square-o1738 </Col>1739 <Col xs="6" sm="4" md="3" lg="2">1740 <i className="fa fa-plus-square fa-lg mt-4"></i><br />plus-square1741 </Col>1742 <Col xs="6" sm="4" md="3" lg="2">1743 <i className="fa fa-plus-square-o fa-lg mt-4"></i><br />plus-square-o1744 </Col>1745 <Col xs="6" sm="4" md="3" lg="2">1746 <i className="fa fa-square fa-lg mt-4"></i><br />square1747 </Col>1748 <Col xs="6" sm="4" md="3" lg="2">1749 <i className="fa fa-square-o fa-lg mt-4"></i><br />square-o1750 </Col>1751 </Row>1752 </CardBody>1753 </Card>1754 <Card id="payment">1755 <CardHeader>Payment Icons</CardHeader>1756 <CardBody>1757 <Row className="text-center">1758 <Col xs="6" sm="4" md="3" lg="2">1759 <i className="fa fa-cc-amex fa-lg mt-4"></i><br />cc-amex1760 </Col>1761 <Col xs="6" sm="4" md="3" lg="2">1762 <i className="fa fa-cc-diners-club fa-lg mt-4"></i><br />cc-diners-club1763 </Col>1764 <Col xs="6" sm="4" md="3" lg="2">1765 <i className="fa fa-cc-discover fa-lg mt-4"></i><br />cc-discover1766 </Col>1767 <Col xs="6" sm="4" md="3" lg="2">1768 <i className="fa fa-cc-jcb fa-lg mt-4"></i><br />cc-jcb1769 </Col>1770 <Col xs="6" sm="4" md="3" lg="2">1771 <i className="fa fa-cc-mastercard fa-lg mt-4"></i><br />cc-mastercard1772 </Col>1773 <Col xs="6" sm="4" md="3" lg="2">1774 <i className="fa fa-cc-paypal fa-lg mt-4"></i><br />cc-paypal1775 </Col>1776 <Col xs="6" sm="4" md="3" lg="2">1777 <i className="fa fa-cc-stripe fa-lg mt-4"></i><br />cc-stripe1778 </Col>1779 <Col xs="6" sm="4" md="3" lg="2">1780 <i className="fa fa-cc-visa fa-lg mt-4"></i><br />cc-visa1781 </Col>1782 <Col xs="6" sm="4" md="3" lg="2">1783 <i className="fa fa-credit-card fa-lg mt-4"></i><br />credit-card1784 </Col>1785 <Col xs="6" sm="4" md="3" lg="2">1786 <i className="fa fa-credit-card-alt fa-lg mt-4"></i><br />credit-card-alt1787 </Col>1788 <Col xs="6" sm="4" md="3" lg="2">1789 <i className="fa fa-google-wallet fa-lg mt-4"></i><br />google-wallet1790 </Col>1791 <Col xs="6" sm="4" md="3" lg="2">1792 <i className="fa fa-paypal fa-lg mt-4"></i><br />paypal1793 </Col>1794 </Row>1795 </CardBody>1796 </Card>1797 <Card id="chart">1798 <CardHeader>Chart Icons</CardHeader>1799 <CardBody>1800 <Row className="text-center">1801 <Col xs="6" sm="4" md="3" lg="2">1802 <i className="fa fa-area-chart fa-lg mt-4"></i><br />area-chart1803 </Col>1804 <Col xs="6" sm="4" md="3" lg="2">1805 <i className="fa fa-bar-chart fa-lg mt-4"></i><br />bar-chart1806 </Col>1807 <Col xs="6" sm="4" md="3" lg="2">1808 <i className="fa fa-bar-chart-o fa-lg mt-4"></i><br />bar-chart-o <span1809 className="text-muted">(alias)</span>1810 </Col>1811 <Col xs="6" sm="4" md="3" lg="2">1812 <i className="fa fa-line-chart fa-lg mt-4"></i><br />line-chart1813 </Col>1814 <Col xs="6" sm="4" md="3" lg="2">1815 <i className="fa fa-pie-chart fa-lg mt-4"></i><br />pie-chart1816 </Col>1817 </Row>1818 </CardBody>1819 </Card>1820 <Card id="currency">1821 <CardHeader>Currency Icons</CardHeader>1822 <CardBody>1823 <Row className="text-center">1824 <Col xs="6" sm="4" md="3" lg="2">1825 <i className="fa fa-bitcoin fa-lg mt-4"></i><br />bitcoin <span className="text-muted">(alias)</span>1826 </Col>1827 <Col xs="6" sm="4" md="3" lg="2">1828 <i className="fa fa-btc fa-lg mt-4"></i><br />btc1829 </Col>1830 <Col xs="6" sm="4" md="3" lg="2">1831 <i className="fa fa-cny fa-lg mt-4"></i><br />cny <span className="text-muted">(alias)</span>1832 </Col>1833 <Col xs="6" sm="4" md="3" lg="2">1834 <i className="fa fa-dollar fa-lg mt-4"></i><br />dollar <span className="text-muted">(alias)</span>1835 </Col>1836 <Col xs="6" sm="4" md="3" lg="2">1837 <i className="fa fa-eur fa-lg mt-4"></i><br />eur1838 </Col>1839 <Col xs="6" sm="4" md="3" lg="2">1840 <i className="fa fa-euro fa-lg mt-4"></i><br />euro <span className="text-muted">(alias)</span>1841 </Col>1842 <Col xs="6" sm="4" md="3" lg="2">1843 <i className="fa fa-gbp fa-lg mt-4"></i><br />gbp1844 </Col>1845 <Col xs="6" sm="4" md="3" lg="2">1846 <i className="fa fa-gg fa-lg mt-4"></i><br />gg1847 </Col>1848 <Col xs="6" sm="4" md="3" lg="2">1849 <i className="fa fa-gg-circle fa-lg mt-4"></i><br />gg-circle1850 </Col>1851 <Col xs="6" sm="4" md="3" lg="2">1852 <i className="fa fa-ils fa-lg mt-4"></i><br />ils1853 </Col>1854 <Col xs="6" sm="4" md="3" lg="2">1855 <i className="fa fa-inr fa-lg mt-4"></i><br />inr1856 </Col>1857 <Col xs="6" sm="4" md="3" lg="2">1858 <i className="fa fa-jpy fa-lg mt-4"></i><br />jpy1859 </Col>1860 <Col xs="6" sm="4" md="3" lg="2">1861 <i className="fa fa-krw fa-lg mt-4"></i><br />krw1862 </Col>1863 <Col xs="6" sm="4" md="3" lg="2">1864 <i className="fa fa-money fa-lg mt-4"></i><br />money1865 </Col>1866 <Col xs="6" sm="4" md="3" lg="2">1867 <i className="fa fa-rmb fa-lg mt-4"></i><br />rmb <span className="text-muted">(alias)</span>1868 </Col>1869 <Col xs="6" sm="4" md="3" lg="2">1870 <i className="fa fa-rouble fa-lg mt-4"></i><br />rouble <span className="text-muted">(alias)</span>1871 </Col>1872 <Col xs="6" sm="4" md="3" lg="2">1873 <i className="fa fa-rub fa-lg mt-4"></i><br />rub1874 </Col>1875 <Col xs="6" sm="4" md="3" lg="2">1876 <i className="fa fa-ruble fa-lg mt-4"></i><br />ruble <span className="text-muted">(alias)</span>1877 </Col>1878 <Col xs="6" sm="4" md="3" lg="2">1879 <i className="fa fa-rupee fa-lg mt-4"></i><br />rupee <span className="text-muted">(alias)</span>1880 </Col>1881 <Col xs="6" sm="4" md="3" lg="2">1882 <i className="fa fa-shekel fa-lg mt-4"></i><br />shekel <span className="text-muted">(alias)</span>1883 </Col>1884 <Col xs="6" sm="4" md="3" lg="2">1885 <i className="fa fa-sheqel fa-lg mt-4"></i><br />sheqel <span className="text-muted">(alias)</span>1886 </Col>1887 <Col xs="6" sm="4" md="3" lg="2">1888 <i className="fa fa-try fa-lg mt-4"></i><br />try1889 </Col>1890 <Col xs="6" sm="4" md="3" lg="2">1891 <i className="fa fa-turkish-lira fa-lg mt-4"></i><br />turkish-lira <span1892 className="text-muted">(alias)</span>1893 </Col>1894 <Col xs="6" sm="4" md="3" lg="2">1895 <i className="fa fa-usd fa-lg mt-4"></i><br />usd1896 </Col>1897 <Col xs="6" sm="4" md="3" lg="2">1898 <i className="fa fa-won fa-lg mt-4"></i><br />won <span className="text-muted">(alias)</span>1899 </Col>1900 <Col xs="6" sm="4" md="3" lg="2">1901 <i className="fa fa-yen fa-lg mt-4"></i><br />yen <span className="text-muted">(alias)</span>1902 </Col>1903 </Row>1904 </CardBody>1905 </Card>1906 <Card id="text-editor">1907 <CardHeader>Text Editor Icons</CardHeader>1908 <CardBody>1909 <Row className="text-center">1910 <Col xs="6" sm="4" md="3" lg="2">1911 <i className="fa fa-align-center fa-lg mt-4"></i><br />align-center1912 </Col>1913 <Col xs="6" sm="4" md="3" lg="2">1914 <i className="fa fa-align-justify fa-lg mt-4"></i><br />align-justify1915 </Col>1916 <Col xs="6" sm="4" md="3" lg="2">1917 <i className="fa fa-align-left fa-lg mt-4"></i><br />align-left1918 </Col>1919 <Col xs="6" sm="4" md="3" lg="2">1920 <i className="fa fa-align-right fa-lg mt-4"></i><br />align-right1921 </Col>1922 <Col xs="6" sm="4" md="3" lg="2">1923 <i className="fa fa-bold fa-lg mt-4"></i><br />bold1924 </Col>1925 <Col xs="6" sm="4" md="3" lg="2">1926 <i className="fa fa-chain fa-lg mt-4"></i><br />chain <span className="text-muted">(alias)</span>1927 </Col>1928 <Col xs="6" sm="4" md="3" lg="2">1929 <i className="fa fa-chain-broken fa-lg mt-4"></i><br />chain-broken1930 </Col>1931 <Col xs="6" sm="4" md="3" lg="2">1932 <i className="fa fa-clipboard fa-lg mt-4"></i><br />clipboard1933 </Col>1934 <Col xs="6" sm="4" md="3" lg="2">1935 <i className="fa fa-columns fa-lg mt-4"></i><br />columns1936 </Col>1937 <Col xs="6" sm="4" md="3" lg="2">1938 <i className="fa fa-copy fa-lg mt-4"></i><br />copy <span className="text-muted">(alias)</span>1939 </Col>1940 <Col xs="6" sm="4" md="3" lg="2">1941 <i className="fa fa-cut fa-lg mt-4"></i><br />cut <span className="text-muted">(alias)</span>1942 </Col>1943 <Col xs="6" sm="4" md="3" lg="2">1944 <i className="fa fa-dedent fa-lg mt-4"></i><br />dedent <span className="text-muted">(alias)</span>1945 </Col>1946 <Col xs="6" sm="4" md="3" lg="2">1947 <i className="fa fa-eraser fa-lg mt-4"></i><br />eraser1948 </Col>1949 <Col xs="6" sm="4" md="3" lg="2">1950 <i className="fa fa-file fa-lg mt-4"></i><br />file1951 </Col>1952 <Col xs="6" sm="4" md="3" lg="2">1953 <i className="fa fa-file-o fa-lg mt-4"></i><br />file-o1954 </Col>1955 <Col xs="6" sm="4" md="3" lg="2">1956 <i className="fa fa-file-text fa-lg mt-4"></i><br />file-text1957 </Col>1958 <Col xs="6" sm="4" md="3" lg="2">1959 <i className="fa fa-file-text-o fa-lg mt-4"></i><br />file-text-o1960 </Col>1961 <Col xs="6" sm="4" md="3" lg="2">1962 <i className="fa fa-files-o fa-lg mt-4"></i><br />files-o1963 </Col>1964 <Col xs="6" sm="4" md="3" lg="2">1965 <i className="fa fa-floppy-o fa-lg mt-4"></i><br />floppy-o1966 </Col>1967 <Col xs="6" sm="4" md="3" lg="2">1968 <i className="fa fa-font fa-lg mt-4"></i><br />font1969 </Col>1970 <Col xs="6" sm="4" md="3" lg="2">1971 <i className="fa fa-header fa-lg mt-4"></i><br />header1972 </Col>1973 <Col xs="6" sm="4" md="3" lg="2">1974 <i className="fa fa-indent fa-lg mt-4"></i><br />indent1975 </Col>1976 <Col xs="6" sm="4" md="3" lg="2">1977 <i className="fa fa-italic fa-lg mt-4"></i><br />italic1978 </Col>1979 <Col xs="6" sm="4" md="3" lg="2">1980 <i className="fa fa-link fa-lg mt-4"></i><br />link1981 </Col>1982 <Col xs="6" sm="4" md="3" lg="2">1983 <i className="fa fa-list fa-lg mt-4"></i><br />list1984 </Col>1985 <Col xs="6" sm="4" md="3" lg="2">1986 <i className="fa fa-list-alt fa-lg mt-4"></i><br />list-alt1987 </Col>1988 <Col xs="6" sm="4" md="3" lg="2">1989 <i className="fa fa-list-ol fa-lg mt-4"></i><br />list-ol1990 </Col>1991 <Col xs="6" sm="4" md="3" lg="2">1992 <i className="fa fa-list-ul fa-lg mt-4"></i><br />list-ul1993 </Col>1994 <Col xs="6" sm="4" md="3" lg="2">1995 <i className="fa fa-outdent fa-lg mt-4"></i><br />outdent1996 </Col>1997 <Col xs="6" sm="4" md="3" lg="2">1998 <i className="fa fa-paperclip fa-lg mt-4"></i><br />paperclip1999 </Col>2000 <Col xs="6" sm="4" md="3" lg="2">2001 <i className="fa fa-paragraph fa-lg mt-4"></i><br />paragraph2002 </Col>2003 <Col xs="6" sm="4" md="3" lg="2">2004 <i className="fa fa-paste fa-lg mt-4"></i><br />paste <span className="text-muted">(alias)</span>2005 </Col>2006 <Col xs="6" sm="4" md="3" lg="2">2007 <i className="fa fa-repeat fa-lg mt-4"></i><br />repeat2008 </Col>2009 <Col xs="6" sm="4" md="3" lg="2">2010 <i className="fa fa-rotate-left fa-lg mt-4"></i><br />rotate-left <span2011 className="text-muted">(alias)</span>2012 </Col>2013 <Col xs="6" sm="4" md="3" lg="2">2014 <i className="fa fa-rotate-right fa-lg mt-4"></i><br />rotate-right <span2015 className="text-muted">(alias)</span>2016 </Col>2017 <Col xs="6" sm="4" md="3" lg="2">2018 <i className="fa fa-save fa-lg mt-4"></i><br />save <span className="text-muted">(alias)</span>2019 </Col>2020 <Col xs="6" sm="4" md="3" lg="2">2021 <i className="fa fa-scissors fa-lg mt-4"></i><br />scissors2022 </Col>2023 <Col xs="6" sm="4" md="3" lg="2">2024 <i className="fa fa-strikethrough fa-lg mt-4"></i><br />strikethrough2025 </Col>2026 <Col xs="6" sm="4" md="3" lg="2">2027 <i className="fa fa-subscript fa-lg mt-4"></i><br />subscript2028 </Col>2029 <Col xs="6" sm="4" md="3" lg="2">2030 <i className="fa fa-superscript fa-lg mt-4"></i><br />superscript2031 </Col>2032 <Col xs="6" sm="4" md="3" lg="2">2033 <i className="fa fa-table fa-lg mt-4"></i><br />table2034 </Col>2035 <Col xs="6" sm="4" md="3" lg="2">2036 <i className="fa fa-text-height fa-lg mt-4"></i><br />text-height2037 </Col>2038 <Col xs="6" sm="4" md="3" lg="2">2039 <i className="fa fa-text-width fa-lg mt-4"></i><br />text-width2040 </Col>2041 <Col xs="6" sm="4" md="3" lg="2">2042 <i className="fa fa-th fa-lg mt-4"></i><br />th2043 </Col>2044 <Col xs="6" sm="4" md="3" lg="2">2045 <i className="fa fa-th-large fa-lg mt-4"></i><br />th-large2046 </Col>2047 <Col xs="6" sm="4" md="3" lg="2">2048 <i className="fa fa-th-list fa-lg mt-4"></i><br />th-list2049 </Col>2050 <Col xs="6" sm="4" md="3" lg="2">2051 <i className="fa fa-underline fa-lg mt-4"></i><br />underline2052 </Col>2053 <Col xs="6" sm="4" md="3" lg="2">2054 <i className="fa fa-undo fa-lg mt-4"></i><br />undo2055 </Col>2056 <Col xs="6" sm="4" md="3" lg="2">2057 <i className="fa fa-unlink fa-lg mt-4"></i><br />unlink <span className="text-muted">(alias)</span>2058 </Col>2059 </Row>2060 </CardBody>2061 </Card>2062 <Card id="directional">2063 <CardHeader>Directional Icons</CardHeader>2064 <CardBody>2065 <Row className="text-center">2066 <Col xs="6" sm="4" md="3" lg="2">2067 <i className="fa fa-angle-double-down fa-lg mt-4"></i><br />angle-double-down2068 </Col>2069 <Col xs="6" sm="4" md="3" lg="2">2070 <i className="fa fa-angle-double-left fa-lg mt-4"></i><br />angle-double-left2071 </Col>2072 <Col xs="6" sm="4" md="3" lg="2">2073 <i className="fa fa-angle-double-right fa-lg mt-4"></i><br />angle-double-right2074 </Col>2075 <Col xs="6" sm="4" md="3" lg="2">2076 <i className="fa fa-angle-double-up fa-lg mt-4"></i><br />angle-double-up2077 </Col>2078 <Col xs="6" sm="4" md="3" lg="2">2079 <i className="fa fa-angle-down fa-lg mt-4"></i><br />angle-down2080 </Col>2081 <Col xs="6" sm="4" md="3" lg="2">2082 <i className="fa fa-angle-left fa-lg mt-4"></i><br />angle-left2083 </Col>2084 <Col xs="6" sm="4" md="3" lg="2">2085 <i className="fa fa-angle-right fa-lg mt-4"></i><br />angle-right2086 </Col>2087 <Col xs="6" sm="4" md="3" lg="2">2088 <i className="fa fa-angle-up fa-lg mt-4"></i><br />angle-up2089 </Col>2090 <Col xs="6" sm="4" md="3" lg="2">2091 <i className="fa fa-arrow-circle-down fa-lg mt-4"></i><br />arrow-circle-down2092 </Col>2093 <Col xs="6" sm="4" md="3" lg="2">2094 <i className="fa fa-arrow-circle-left fa-lg mt-4"></i><br />arrow-circle-left2095 </Col>2096 <Col xs="6" sm="4" md="3" lg="2">2097 <i className="fa fa-arrow-circle-o-down fa-lg mt-4"></i><br />arrow-circle-o-down2098 </Col>2099 <Col xs="6" sm="4" md="3" lg="2">2100 <i className="fa fa-arrow-circle-o-left fa-lg mt-4"></i><br />arrow-circle-o-left2101 </Col>2102 <Col xs="6" sm="4" md="3" lg="2">2103 <i className="fa fa-arrow-circle-o-right fa-lg mt-4"></i><br />arrow-circle-o-right2104 </Col>2105 <Col xs="6" sm="4" md="3" lg="2">2106 <i className="fa fa-arrow-circle-o-up fa-lg mt-4"></i><br />arrow-circle-o-up2107 </Col>2108 <Col xs="6" sm="4" md="3" lg="2">2109 <i className="fa fa-arrow-circle-right fa-lg mt-4"></i><br />arrow-circle-right2110 </Col>2111 <Col xs="6" sm="4" md="3" lg="2">2112 <i className="fa fa-arrow-circle-up fa-lg mt-4"></i><br />arrow-circle-up2113 </Col>2114 <Col xs="6" sm="4" md="3" lg="2">2115 <i className="fa fa-arrow-down fa-lg mt-4"></i><br />arrow-down2116 </Col>2117 <Col xs="6" sm="4" md="3" lg="2">2118 <i className="fa fa-arrow-left fa-lg mt-4"></i><br />arrow-left2119 </Col>2120 <Col xs="6" sm="4" md="3" lg="2">2121 <i className="fa fa-arrow-right fa-lg mt-4"></i><br />arrow-right2122 </Col>2123 <Col xs="6" sm="4" md="3" lg="2">2124 <i className="fa fa-arrow-up fa-lg mt-4"></i><br />arrow-up2125 </Col>2126 <Col xs="6" sm="4" md="3" lg="2">2127 <i className="fa fa-arrows fa-lg mt-4"></i><br />arrows2128 </Col>2129 <Col xs="6" sm="4" md="3" lg="2">2130 <i className="fa fa-arrows-alt fa-lg mt-4"></i><br />arrows-alt2131 </Col>2132 <Col xs="6" sm="4" md="3" lg="2">2133 <i className="fa fa-arrows-h fa-lg mt-4"></i><br />arrows-h2134 </Col>2135 <Col xs="6" sm="4" md="3" lg="2">2136 <i className="fa fa-arrows-v fa-lg mt-4"></i><br />arrows-v2137 </Col>2138 <Col xs="6" sm="4" md="3" lg="2">2139 <i className="fa fa-caret-down fa-lg mt-4"></i><br />caret-down2140 </Col>2141 <Col xs="6" sm="4" md="3" lg="2">2142 <i className="fa fa-caret-left fa-lg mt-4"></i><br />caret-left2143 </Col>2144 <Col xs="6" sm="4" md="3" lg="2">2145 <i className="fa fa-caret-right fa-lg mt-4"></i><br />caret-right2146 </Col>2147 <Col xs="6" sm="4" md="3" lg="2">2148 <i className="fa fa-caret-square-o-down fa-lg mt-4"></i><br />caret-square-o-down2149 </Col>2150 <Col xs="6" sm="4" md="3" lg="2">2151 <i className="fa fa-caret-square-o-left fa-lg mt-4"></i><br />caret-square-o-left2152 </Col>2153 <Col xs="6" sm="4" md="3" lg="2">2154 <i className="fa fa-caret-square-o-right fa-lg mt-4"></i><br />caret-square-o-right2155 </Col>2156 <Col xs="6" sm="4" md="3" lg="2">2157 <i className="fa fa-caret-square-o-up fa-lg mt-4"></i><br />caret-square-o-up2158 </Col>2159 <Col xs="6" sm="4" md="3" lg="2">2160 <i className="fa fa-caret-up fa-lg mt-4"></i><br />caret-up2161 </Col>2162 <Col xs="6" sm="4" md="3" lg="2">2163 <i className="fa fa-chevron-circle-down fa-lg mt-4"></i><br />chevron-circle-down2164 </Col>2165 <Col xs="6" sm="4" md="3" lg="2">2166 <i className="fa fa-chevron-circle-left fa-lg mt-4"></i><br />chevron-circle-left2167 </Col>2168 <Col xs="6" sm="4" md="3" lg="2">2169 <i className="fa fa-chevron-circle-right fa-lg mt-4"></i><br />chevron-circle-right2170 </Col>2171 <Col xs="6" sm="4" md="3" lg="2">2172 <i className="fa fa-chevron-circle-up fa-lg mt-4"></i><br />chevron-circle-up2173 </Col>2174 <Col xs="6" sm="4" md="3" lg="2">2175 <i className="fa fa-chevron-down fa-lg mt-4"></i><br />chevron-down2176 </Col>2177 <Col xs="6" sm="4" md="3" lg="2">2178 <i className="fa fa-chevron-left fa-lg mt-4"></i><br />chevron-left2179 </Col>2180 <Col xs="6" sm="4" md="3" lg="2">2181 <i className="fa fa-chevron-right fa-lg mt-4"></i><br />chevron-right2182 </Col>2183 <Col xs="6" sm="4" md="3" lg="2">2184 <i className="fa fa-chevron-up fa-lg mt-4"></i><br />chevron-up2185 </Col>2186 <Col xs="6" sm="4" md="3" lg="2">2187 <i className="fa fa-exchange fa-lg mt-4"></i><br />exchange2188 </Col>2189 <Col xs="6" sm="4" md="3" lg="2">2190 <i className="fa fa-hand-o-down fa-lg mt-4"></i><br />hand-o-down2191 </Col>2192 <Col xs="6" sm="4" md="3" lg="2">2193 <i className="fa fa-hand-o-left fa-lg mt-4"></i><br />hand-o-left2194 </Col>2195 <Col xs="6" sm="4" md="3" lg="2">2196 <i className="fa fa-hand-o-right fa-lg mt-4"></i><br />hand-o-right2197 </Col>2198 <Col xs="6" sm="4" md="3" lg="2">2199 <i className="fa fa-hand-o-up fa-lg mt-4"></i><br />hand-o-up2200 </Col>2201 <Col xs="6" sm="4" md="3" lg="2">2202 <i className="fa fa-long-arrow-down fa-lg mt-4"></i><br />long-arrow-down2203 </Col>2204 <Col xs="6" sm="4" md="3" lg="2">2205 <i className="fa fa-long-arrow-left fa-lg mt-4"></i><br />long-arrow-left2206 </Col>2207 <Col xs="6" sm="4" md="3" lg="2">2208 <i className="fa fa-long-arrow-right fa-lg mt-4"></i><br />long-arrow-right2209 </Col>2210 <Col xs="6" sm="4" md="3" lg="2">2211 <i className="fa fa-long-arrow-up fa-lg mt-4"></i><br />long-arrow-up2212 </Col>2213 <Col xs="6" sm="4" md="3" lg="2">2214 <i className="fa fa-toggle-down fa-lg mt-4"></i><br />toggle-down <span2215 className="text-muted">(alias)</span>2216 </Col>2217 <Col xs="6" sm="4" md="3" lg="2">2218 <i className="fa fa-toggle-left fa-lg mt-4"></i><br />toggle-left <span2219 className="text-muted">(alias)</span>2220 </Col>2221 <Col xs="6" sm="4" md="3" lg="2">2222 <i className="fa fa-toggle-right fa-lg mt-4"></i><br />toggle-right <span2223 className="text-muted">(alias)</span>2224 </Col>2225 <Col xs="6" sm="4" md="3" lg="2">2226 <i className="fa fa-toggle-up fa-lg mt-4"></i><br />toggle-up <span className="text-muted">(alias)</span>2227 </Col>2228 </Row>2229 </CardBody>2230 </Card>2231 <Card id="video-player">2232 <CardHeader>Video Player Icons</CardHeader>2233 <CardBody>2234 <Row className="text-center">2235 <Col xs="6" sm="4" md="3" lg="2">2236 <i className="fa fa-arrows-alt fa-lg mt-4"></i><br />arrows-alt2237 </Col>2238 <Col xs="6" sm="4" md="3" lg="2">2239 <i className="fa fa-backward fa-lg mt-4"></i><br />backward2240 </Col>2241 <Col xs="6" sm="4" md="3" lg="2">2242 <i className="fa fa-compress fa-lg mt-4"></i><br />compress2243 </Col>2244 <Col xs="6" sm="4" md="3" lg="2">2245 <i className="fa fa-eject fa-lg mt-4"></i><br />eject2246 </Col>2247 <Col xs="6" sm="4" md="3" lg="2">2248 <i className="fa fa-expand fa-lg mt-4"></i><br />expand2249 </Col>2250 <Col xs="6" sm="4" md="3" lg="2">2251 <i className="fa fa-fast-backward fa-lg mt-4"></i><br />fast-backward2252 </Col>2253 <Col xs="6" sm="4" md="3" lg="2">2254 <i className="fa fa-fast-forward fa-lg mt-4"></i><br />fast-forward2255 </Col>2256 <Col xs="6" sm="4" md="3" lg="2">2257 <i className="fa fa-forward fa-lg mt-4"></i><br />forward2258 </Col>2259 <Col xs="6" sm="4" md="3" lg="2">2260 <i className="fa fa-pause fa-lg mt-4"></i><br />pause2261 </Col>2262 <Col xs="6" sm="4" md="3" lg="2">2263 <i className="fa fa-pause-circle fa-lg mt-4"></i><br />pause-circle2264 </Col>2265 <Col xs="6" sm="4" md="3" lg="2">2266 <i className="fa fa-pause-circle-o fa-lg mt-4"></i><br />pause-circle-o2267 </Col>2268 <Col xs="6" sm="4" md="3" lg="2">2269 <i className="fa fa-play fa-lg mt-4"></i><br />play2270 </Col>2271 <Col xs="6" sm="4" md="3" lg="2">2272 <i className="fa fa-play-circle fa-lg mt-4"></i><br />play-circle2273 </Col>2274 <Col xs="6" sm="4" md="3" lg="2">2275 <i className="fa fa-play-circle-o fa-lg mt-4"></i><br />play-circle-o2276 </Col>2277 <Col xs="6" sm="4" md="3" lg="2">2278 <i className="fa fa-random fa-lg mt-4"></i><br />random2279 </Col>2280 <Col xs="6" sm="4" md="3" lg="2">2281 <i className="fa fa-step-backward fa-lg mt-4"></i><br />step-backward2282 </Col>2283 <Col xs="6" sm="4" md="3" lg="2">2284 <i className="fa fa-step-forward fa-lg mt-4"></i><br />step-forward2285 </Col>2286 <Col xs="6" sm="4" md="3" lg="2">2287 <i className="fa fa-stop fa-lg mt-4"></i><br />stop2288 </Col>2289 <Col xs="6" sm="4" md="3" lg="2">2290 <i className="fa fa-stop-circle fa-lg mt-4"></i><br />stop-circle2291 </Col>2292 <Col xs="6" sm="4" md="3" lg="2">2293 <i className="fa fa-stop-circle-o fa-lg mt-4"></i><br />stop-circle-o2294 </Col>2295 <Col xs="6" sm="4" md="3" lg="2">2296 <i className="fa fa-youtube-play fa-lg mt-4"></i><br />youtube-play2297 </Col>2298 </Row>2299 </CardBody>2300 </Card>2301 <Card id="brand">2302 <CardHeader>Brand Icons</CardHeader>2303 <CardBody>2304 <Alert color="warning">2305 <h4><i className="fa fa-warning"></i> Warning!</h4>2306 Apparently, Adblock Plus can remove Font Awesome brand icons with their "Remove Social2307 Media Buttons" setting. We will not use hacks to force them to display. Please2308 <a href="https://adblockplus.org/en/bugs" className="alert-link"> report an issue with Adblock Plus</a> if2309 you believe this to be2310 an error. To work around this, you'll need to modify the social icon class names.2311 </Alert>2312 <Row className="text-center">2313 <Col xs="6" sm="4" md="3" lg="2">2314 <i className="fa fa-500px fa-lg mt-4"></i><br />500px2315 </Col>2316 <Col xs="6" sm="4" md="3" lg="2">2317 <i className="fa fa-adn fa-lg mt-4"></i><br />adn2318 </Col>2319 <Col xs="6" sm="4" md="3" lg="2">2320 <i className="fa fa-amazon fa-lg mt-4"></i><br />amazon2321 </Col>2322 <Col xs="6" sm="4" md="3" lg="2">2323 <i className="fa fa-android fa-lg mt-4"></i><br />android2324 </Col>2325 <Col xs="6" sm="4" md="3" lg="2">2326 <i className="fa fa-angellist fa-lg mt-4"></i><br />angellist2327 </Col>2328 <Col xs="6" sm="4" md="3" lg="2">2329 <i className="fa fa-apple fa-lg mt-4"></i><br />apple2330 </Col>2331 <Col xs="6" sm="4" md="3" lg="2">2332 <i className="fa fa-behance fa-lg mt-4"></i><br />behance2333 </Col>2334 <Col xs="6" sm="4" md="3" lg="2">2335 <i className="fa fa-behance-square fa-lg mt-4"></i><br />behance-square2336 </Col>2337 <Col xs="6" sm="4" md="3" lg="2">2338 <i className="fa fa-bitbucket fa-lg mt-4"></i><br />bitbucket2339 </Col>2340 <Col xs="6" sm="4" md="3" lg="2">2341 <i className="fa fa-bitbucket-square fa-lg mt-4"></i><br />bitbucket-square2342 </Col>2343 <Col xs="6" sm="4" md="3" lg="2">2344 <i className="fa fa-bitcoin fa-lg mt-4"></i><br />bitcoin <span className="text-muted">(alias)</span>2345 </Col>2346 <Col xs="6" sm="4" md="3" lg="2">2347 <i className="fa fa-black-tie fa-lg mt-4"></i><br />black-tie2348 </Col>2349 <Col xs="6" sm="4" md="3" lg="2">2350 <i className="fa fa-bluetooth fa-lg mt-4"></i><br />bluetooth2351 </Col>2352 <Col xs="6" sm="4" md="3" lg="2">2353 <i className="fa fa-bluetooth-b fa-lg mt-4"></i><br />bluetooth-b2354 </Col>2355 <Col xs="6" sm="4" md="3" lg="2">2356 <i className="fa fa-btc fa-lg mt-4"></i><br />btc2357 </Col>2358 <Col xs="6" sm="4" md="3" lg="2">2359 <i className="fa fa-buysellads fa-lg mt-4"></i><br />buysellads2360 </Col>2361 <Col xs="6" sm="4" md="3" lg="2">2362 <i className="fa fa-cc-amex fa-lg mt-4"></i><br />cc-amex2363 </Col>2364 <Col xs="6" sm="4" md="3" lg="2">2365 <i className="fa fa-cc-diners-club fa-lg mt-4"></i><br />cc-diners-club2366 </Col>2367 <Col xs="6" sm="4" md="3" lg="2">2368 <i className="fa fa-cc-discover fa-lg mt-4"></i><br />cc-discover2369 </Col>2370 <Col xs="6" sm="4" md="3" lg="2">2371 <i className="fa fa-cc-jcb fa-lg mt-4"></i><br />cc-jcb2372 </Col>2373 <Col xs="6" sm="4" md="3" lg="2">2374 <i className="fa fa-cc-mastercard fa-lg mt-4"></i><br />cc-mastercard2375 </Col>2376 <Col xs="6" sm="4" md="3" lg="2">2377 <i className="fa fa-cc-paypal fa-lg mt-4"></i><br />cc-paypal2378 </Col>2379 <Col xs="6" sm="4" md="3" lg="2">2380 <i className="fa fa-cc-stripe fa-lg mt-4"></i><br />cc-stripe2381 </Col>2382 <Col xs="6" sm="4" md="3" lg="2">2383 <i className="fa fa-cc-visa fa-lg mt-4"></i><br />cc-visa2384 </Col>2385 <Col xs="6" sm="4" md="3" lg="2">2386 <i className="fa fa-chrome fa-lg mt-4"></i><br />chrome2387 </Col>2388 <Col xs="6" sm="4" md="3" lg="2">2389 <i className="fa fa-codepen fa-lg mt-4"></i><br />codepen2390 </Col>2391 <Col xs="6" sm="4" md="3" lg="2">2392 <i className="fa fa-codiepie fa-lg mt-4"></i><br />codiepie2393 </Col>2394 <Col xs="6" sm="4" md="3" lg="2">2395 <i className="fa fa-connectdevelop fa-lg mt-4"></i><br />connectdevelop2396 </Col>2397 <Col xs="6" sm="4" md="3" lg="2">2398 <i className="fa fa-contao fa-lg mt-4"></i><br />contao2399 </Col>2400 <Col xs="6" sm="4" md="3" lg="2">2401 <i className="fa fa-css3 fa-lg mt-4"></i><br />css32402 </Col>2403 <Col xs="6" sm="4" md="3" lg="2">2404 <i className="fa fa-dashcube fa-lg mt-4"></i><br />dashcube2405 </Col>2406 <Col xs="6" sm="4" md="3" lg="2">2407 <i className="fa fa-delicious fa-lg mt-4"></i><br />delicious2408 </Col>2409 <Col xs="6" sm="4" md="3" lg="2">2410 <i className="fa fa-deviantart fa-lg mt-4"></i><br />deviantart2411 </Col>2412 <Col xs="6" sm="4" md="3" lg="2">2413 <i className="fa fa-digg fa-lg mt-4"></i><br />digg2414 </Col>2415 <Col xs="6" sm="4" md="3" lg="2">2416 <i className="fa fa-dribbble fa-lg mt-4"></i><br />dribbble2417 </Col>2418 <Col xs="6" sm="4" md="3" lg="2">2419 <i className="fa fa-dropbox fa-lg mt-4"></i><br />dropbox2420 </Col>2421 <Col xs="6" sm="4" md="3" lg="2">2422 <i className="fa fa-drupal fa-lg mt-4"></i><br />drupal2423 </Col>2424 <Col xs="6" sm="4" md="3" lg="2">2425 <i className="fa fa-edge fa-lg mt-4"></i><br />edge2426 </Col>2427 <Col xs="6" sm="4" md="3" lg="2">2428 <i className="fa fa-empire fa-lg mt-4"></i><br />empire2429 </Col>2430 <Col xs="6" sm="4" md="3" lg="2">2431 <i className="fa fa-expeditedssl fa-lg mt-4"></i><br />expeditedssl2432 </Col>2433 <Col xs="6" sm="4" md="3" lg="2">2434 <i className="fa fa-facebook fa-lg mt-4"></i><br />facebook2435 </Col>2436 <Col xs="6" sm="4" md="3" lg="2">2437 <i className="fa fa-facebook-f fa-lg mt-4"></i><br />facebook-f <span2438 className="text-muted">(alias)</span>2439 </Col>2440 <Col xs="6" sm="4" md="3" lg="2">2441 <i className="fa fa-facebook-official fa-lg mt-4"></i><br />facebook-official2442 </Col>2443 <Col xs="6" sm="4" md="3" lg="2">2444 <i className="fa fa-facebook-square fa-lg mt-4"></i><br />facebook-square2445 </Col>2446 <Col xs="6" sm="4" md="3" lg="2">2447 <i className="fa fa-firefox fa-lg mt-4"></i><br />firefox2448 </Col>2449 <Col xs="6" sm="4" md="3" lg="2">2450 <i className="fa fa-flickr fa-lg mt-4"></i><br />flickr2451 </Col>2452 <Col xs="6" sm="4" md="3" lg="2">2453 <i className="fa fa-fonticons fa-lg mt-4"></i><br />fonticons2454 </Col>2455 <Col xs="6" sm="4" md="3" lg="2">2456 <i className="fa fa-fort-awesome fa-lg mt-4"></i><br />fort-awesome2457 </Col>2458 <Col xs="6" sm="4" md="3" lg="2">2459 <i className="fa fa-forumbee fa-lg mt-4"></i><br />forumbee2460 </Col>2461 <Col xs="6" sm="4" md="3" lg="2">2462 <i className="fa fa-foursquare fa-lg mt-4"></i><br />foursquare2463 </Col>2464 <Col xs="6" sm="4" md="3" lg="2">2465 <i className="fa fa-ge fa-lg mt-4"></i><br />ge <span className="text-muted">(alias)</span>2466 </Col>2467 <Col xs="6" sm="4" md="3" lg="2">2468 <i className="fa fa-get-pocket fa-lg mt-4"></i><br />get-pocket2469 </Col>2470 <Col xs="6" sm="4" md="3" lg="2">2471 <i className="fa fa-gg fa-lg mt-4"></i><br />gg2472 </Col>2473 <Col xs="6" sm="4" md="3" lg="2">2474 <i className="fa fa-gg-circle fa-lg mt-4"></i><br />gg-circle2475 </Col>2476 <Col xs="6" sm="4" md="3" lg="2">2477 <i className="fa fa-git fa-lg mt-4"></i><br />git2478 </Col>2479 <Col xs="6" sm="4" md="3" lg="2">2480 <i className="fa fa-git-square fa-lg mt-4"></i><br />git-square2481 </Col>2482 <Col xs="6" sm="4" md="3" lg="2">2483 <i className="fa fa-github fa-lg mt-4"></i><br />github2484 </Col>2485 <Col xs="6" sm="4" md="3" lg="2">2486 <i className="fa fa-github-alt fa-lg mt-4"></i><br />github-alt2487 </Col>2488 <Col xs="6" sm="4" md="3" lg="2">2489 <i className="fa fa-github-square fa-lg mt-4"></i><br />github-square2490 </Col>2491 <Col xs="6" sm="4" md="3" lg="2">2492 <i className="fa fa-gittip fa-lg mt-4"></i><br />gittip <span className="text-muted">(alias)</span>2493 </Col>2494 <Col xs="6" sm="4" md="3" lg="2">2495 <i className="fa fa-google fa-lg mt-4"></i><br />google2496 </Col>2497 <Col xs="6" sm="4" md="3" lg="2">2498 <i className="fa fa-google-plus fa-lg mt-4"></i><br />google-plus2499 </Col>2500 <Col xs="6" sm="4" md="3" lg="2">2501 <i className="fa fa-google-plus-square fa-lg mt-4"></i><br />google-plus-square2502 </Col>2503 <Col xs="6" sm="4" md="3" lg="2">2504 <i className="fa fa-google-wallet fa-lg mt-4"></i><br />google-wallet2505 </Col>2506 <Col xs="6" sm="4" md="3" lg="2">2507 <i className="fa fa-gratipay fa-lg mt-4"></i><br />gratipay2508 </Col>2509 <Col xs="6" sm="4" md="3" lg="2">2510 <i className="fa fa-hacker-news fa-lg mt-4"></i><br />hacker-news2511 </Col>2512 <Col xs="6" sm="4" md="3" lg="2">2513 <i className="fa fa-houzz fa-lg mt-4"></i><br />houzz2514 </Col>2515 <Col xs="6" sm="4" md="3" lg="2">2516 <i className="fa fa-html5 fa-lg mt-4"></i><br />html52517 </Col>2518 <Col xs="6" sm="4" md="3" lg="2">2519 <i className="fa fa-instagram fa-lg mt-4"></i><br />instagram2520 </Col>2521 <Col xs="6" sm="4" md="3" lg="2">2522 <i className="fa fa-internet-explorer fa-lg mt-4"></i><br />internet-explorer2523 </Col>2524 <Col xs="6" sm="4" md="3" lg="2">2525 <i className="fa fa-ioxhost fa-lg mt-4"></i><br />ioxhost2526 </Col>2527 <Col xs="6" sm="4" md="3" lg="2">2528 <i className="fa fa-joomla fa-lg mt-4"></i><br />joomla2529 </Col>2530 <Col xs="6" sm="4" md="3" lg="2">2531 <i className="fa fa-jsfiddle fa-lg mt-4"></i><br />jsfiddle2532 </Col>2533 <Col xs="6" sm="4" md="3" lg="2">2534 <i className="fa fa-lastfm fa-lg mt-4"></i><br />lastfm2535 </Col>2536 <Col xs="6" sm="4" md="3" lg="2">2537 <i className="fa fa-lastfm-square fa-lg mt-4"></i><br />lastfm-square2538 </Col>2539 <Col xs="6" sm="4" md="3" lg="2">2540 <i className="fa fa-leanpub fa-lg mt-4"></i><br />leanpub2541 </Col>2542 <Col xs="6" sm="4" md="3" lg="2">2543 <i className="fa fa-linkedin fa-lg mt-4"></i><br />linkedin2544 </Col>2545 <Col xs="6" sm="4" md="3" lg="2">2546 <i className="fa fa-linkedin-square fa-lg mt-4"></i><br />linkedin-square2547 </Col>2548 <Col xs="6" sm="4" md="3" lg="2">2549 <i className="fa fa-linux fa-lg mt-4"></i><br />linux2550 </Col>2551 <Col xs="6" sm="4" md="3" lg="2">2552 <i className="fa fa-maxcdn fa-lg mt-4"></i><br />maxcdn2553 </Col>2554 <Col xs="6" sm="4" md="3" lg="2">2555 <i className="fa fa-meanpath fa-lg mt-4"></i><br />meanpath2556 </Col>2557 <Col xs="6" sm="4" md="3" lg="2">2558 <i className="fa fa-medium fa-lg mt-4"></i><br />medium2559 </Col>2560 <Col xs="6" sm="4" md="3" lg="2">2561 <i className="fa fa-mixcloud fa-lg mt-4"></i><br />mixcloud2562 </Col>2563 <Col xs="6" sm="4" md="3" lg="2">2564 <i className="fa fa-modx fa-lg mt-4"></i><br />modx2565 </Col>2566 <Col xs="6" sm="4" md="3" lg="2">2567 <i className="fa fa-odnoklassniki fa-lg mt-4"></i><br />odnoklassniki2568 </Col>2569 <Col xs="6" sm="4" md="3" lg="2">2570 <i className="fa fa-odnoklassniki-square fa-lg mt-4"></i><br />odnoklassniki-square2571 </Col>2572 <Col xs="6" sm="4" md="3" lg="2">2573 <i className="fa fa-opencart fa-lg mt-4"></i><br />opencart2574 </Col>2575 <Col xs="6" sm="4" md="3" lg="2">2576 <i className="fa fa-openid fa-lg mt-4"></i><br />openid2577 </Col>2578 <Col xs="6" sm="4" md="3" lg="2">2579 <i className="fa fa-opera fa-lg mt-4"></i><br />opera2580 </Col>2581 <Col xs="6" sm="4" md="3" lg="2">2582 <i className="fa fa-optin-monster fa-lg mt-4"></i><br />optin-monster2583 </Col>2584 <Col xs="6" sm="4" md="3" lg="2">2585 <i className="fa fa-pagelines fa-lg mt-4"></i><br />pagelines2586 </Col>2587 <Col xs="6" sm="4" md="3" lg="2">2588 <i className="fa fa-paypal fa-lg mt-4"></i><br />paypal2589 </Col>2590 <Col xs="6" sm="4" md="3" lg="2">2591 <i className="fa fa-pied-piper fa-lg mt-4"></i><br />pied-piper2592 </Col>2593 <Col xs="6" sm="4" md="3" lg="2">2594 <i className="fa fa-pied-piper-alt fa-lg mt-4"></i><br />pied-piper-alt2595 </Col>2596 <Col xs="6" sm="4" md="3" lg="2">2597 <i className="fa fa-pinterest fa-lg mt-4"></i><br />pinterest2598 </Col>2599 <Col xs="6" sm="4" md="3" lg="2">2600 <i className="fa fa-pinterest-p fa-lg mt-4"></i><br />pinterest-p2601 </Col>2602 <Col xs="6" sm="4" md="3" lg="2">2603 <i className="fa fa-pinterest-square fa-lg mt-4"></i><br />pinterest-square2604 </Col>2605 <Col xs="6" sm="4" md="3" lg="2">2606 <i className="fa fa-product-hunt fa-lg mt-4"></i><br />product-hunt2607 </Col>2608 <Col xs="6" sm="4" md="3" lg="2">2609 <i className="fa fa-qq fa-lg mt-4"></i><br />qq2610 </Col>2611 <Col xs="6" sm="4" md="3" lg="2">2612 <i className="fa fa-ra fa-lg mt-4"></i><br />ra <span className="text-muted">(alias)</span>2613 </Col>2614 <Col xs="6" sm="4" md="3" lg="2">2615 <i className="fa fa-rebel fa-lg mt-4"></i><br />rebel2616 </Col>2617 <Col xs="6" sm="4" md="3" lg="2">2618 <i className="fa fa-reddit fa-lg mt-4"></i><br />reddit2619 </Col>2620 <Col xs="6" sm="4" md="3" lg="2">2621 <i className="fa fa-reddit-alien fa-lg mt-4"></i><br />reddit-alien2622 </Col>2623 <Col xs="6" sm="4" md="3" lg="2">2624 <i className="fa fa-reddit-square fa-lg mt-4"></i><br />reddit-square2625 </Col>2626 <Col xs="6" sm="4" md="3" lg="2">2627 <i className="fa fa-renren fa-lg mt-4"></i><br />renren2628 </Col>2629 <Col xs="6" sm="4" md="3" lg="2">2630 <i className="fa fa-safari fa-lg mt-4"></i><br />safari2631 </Col>2632 <Col xs="6" sm="4" md="3" lg="2">2633 <i className="fa fa-scribd fa-lg mt-4"></i><br />scribd2634 </Col>2635 <Col xs="6" sm="4" md="3" lg="2">2636 <i className="fa fa-sellsy fa-lg mt-4"></i><br />sellsy2637 </Col>2638 <Col xs="6" sm="4" md="3" lg="2">2639 <i className="fa fa-share-alt fa-lg mt-4"></i><br />share-alt2640 </Col>2641 <Col xs="6" sm="4" md="3" lg="2">2642 <i className="fa fa-share-alt-square fa-lg mt-4"></i><br />share-alt-square2643 </Col>2644 <Col xs="6" sm="4" md="3" lg="2">2645 <i className="fa fa-shirtsinbulk fa-lg mt-4"></i><br />shirtsinbulk2646 </Col>2647 <Col xs="6" sm="4" md="3" lg="2">2648 <i className="fa fa-simplybuilt fa-lg mt-4"></i><br />simplybuilt2649 </Col>2650 <Col xs="6" sm="4" md="3" lg="2">2651 <i className="fa fa-skyatlas fa-lg mt-4"></i><br />skyatlas2652 </Col>2653 <Col xs="6" sm="4" md="3" lg="2">2654 <i className="fa fa-skype fa-lg mt-4"></i><br />skype2655 </Col>2656 <Col xs="6" sm="4" md="3" lg="2">2657 <i className="fa fa-slack fa-lg mt-4"></i><br />slack2658 </Col>2659 <Col xs="6" sm="4" md="3" lg="2">2660 <i className="fa fa-slideshare fa-lg mt-4"></i><br />slideshare2661 </Col>2662 <Col xs="6" sm="4" md="3" lg="2">2663 <i className="fa fa-soundcloud fa-lg mt-4"></i><br />soundcloud2664 </Col>2665 <Col xs="6" sm="4" md="3" lg="2">2666 <i className="fa fa-spotify fa-lg mt-4"></i><br />spotify2667 </Col>2668 <Col xs="6" sm="4" md="3" lg="2">2669 <i className="fa fa-stack-exchange fa-lg mt-4"></i><br />stack-exchange2670 </Col>2671 <Col xs="6" sm="4" md="3" lg="2">2672 <i className="fa fa-stack-overflow fa-lg mt-4"></i><br />stack-overflow2673 </Col>2674 <Col xs="6" sm="4" md="3" lg="2">2675 <i className="fa fa-steam fa-lg mt-4"></i><br />steam2676 </Col>2677 <Col xs="6" sm="4" md="3" lg="2">2678 <i className="fa fa-steam-square fa-lg mt-4"></i><br />steam-square2679 </Col>2680 <Col xs="6" sm="4" md="3" lg="2">2681 <i className="fa fa-stumbleupon fa-lg mt-4"></i><br />stumbleupon2682 </Col>2683 <Col xs="6" sm="4" md="3" lg="2">2684 <i className="fa fa-stumbleupon-circle fa-lg mt-4"></i><br />stumbleupon-circle2685 </Col>2686 <Col xs="6" sm="4" md="3" lg="2">2687 <i className="fa fa-tencent-weibo fa-lg mt-4"></i><br />tencent-weibo2688 </Col>2689 <Col xs="6" sm="4" md="3" lg="2">2690 <i className="fa fa-trello fa-lg mt-4"></i><br />trello2691 </Col>2692 <Col xs="6" sm="4" md="3" lg="2">2693 <i className="fa fa-tripadvisor fa-lg mt-4"></i><br />tripadvisor2694 </Col>2695 <Col xs="6" sm="4" md="3" lg="2">2696 <i className="fa fa-tumblr fa-lg mt-4"></i><br />tumblr2697 </Col>2698 <Col xs="6" sm="4" md="3" lg="2">2699 <i className="fa fa-tumblr-square fa-lg mt-4"></i><br />tumblr-square2700 </Col>2701 <Col xs="6" sm="4" md="3" lg="2">2702 <i className="fa fa-twitch fa-lg mt-4"></i><br />twitch2703 </Col>2704 <Col xs="6" sm="4" md="3" lg="2">2705 <i className="fa fa-twitter fa-lg mt-4"></i><br />twitter2706 </Col>2707 <Col xs="6" sm="4" md="3" lg="2">2708 <i className="fa fa-twitter-square fa-lg mt-4"></i><br />twitter-square2709 </Col>2710 <Col xs="6" sm="4" md="3" lg="2">2711 <i className="fa fa-usb fa-lg mt-4"></i><br />usb2712 </Col>2713 <Col xs="6" sm="4" md="3" lg="2">2714 <i className="fa fa-viacoin fa-lg mt-4"></i><br />viacoin2715 </Col>2716 <Col xs="6" sm="4" md="3" lg="2">2717 <i className="fa fa-vimeo fa-lg mt-4"></i><br />vimeo2718 </Col>2719 <Col xs="6" sm="4" md="3" lg="2">2720 <i className="fa fa-vimeo-square fa-lg mt-4"></i><br />vimeo-square2721 </Col>2722 <Col xs="6" sm="4" md="3" lg="2">2723 <i className="fa fa-vine fa-lg mt-4"></i><br />vine2724 </Col>2725 <Col xs="6" sm="4" md="3" lg="2">2726 <i className="fa fa-vk fa-lg mt-4"></i><br />vk2727 </Col>2728 <Col xs="6" sm="4" md="3" lg="2">2729 <i className="fa fa-wechat fa-lg mt-4"></i><br />wechat <span className="text-muted">(alias)</span>2730 </Col>2731 <Col xs="6" sm="4" md="3" lg="2">2732 <i className="fa fa-weibo fa-lg mt-4"></i><br />weibo2733 </Col>2734 <Col xs="6" sm="4" md="3" lg="2">2735 <i className="fa fa-weixin fa-lg mt-4"></i><br />weixin2736 </Col>2737 <Col xs="6" sm="4" md="3" lg="2">2738 <i className="fa fa-whatsapp fa-lg mt-4"></i><br />whatsapp2739 </Col>2740 <Col xs="6" sm="4" md="3" lg="2">2741 <i className="fa fa-wikipedia-w fa-lg mt-4"></i><br />wikipedia-w2742 </Col>2743 <Col xs="6" sm="4" md="3" lg="2">2744 <i className="fa fa-windows fa-lg mt-4"></i><br />windows2745 </Col>2746 <Col xs="6" sm="4" md="3" lg="2">2747 <i className="fa fa-wordpress fa-lg mt-4"></i><br />wordpress2748 </Col>2749 <Col xs="6" sm="4" md="3" lg="2">2750 <i className="fa fa-xing fa-lg mt-4"></i><br />xing2751 </Col>2752 <Col xs="6" sm="4" md="3" lg="2">2753 <i className="fa fa-xing-square fa-lg mt-4"></i><br />xing-square2754 </Col>2755 <Col xs="6" sm="4" md="3" lg="2">2756 <i className="fa fa-y-combinator fa-lg mt-4"></i><br />y-combinator2757 </Col>2758 <Col xs="6" sm="4" md="3" lg="2">2759 <i className="fa fa-y-combinator-square fa-lg mt-4"></i><br />y-combinator-square <span2760 className="text-muted">(alias)</span>2761 </Col>2762 <Col xs="6" sm="4" md="3" lg="2">2763 <i className="fa fa-yahoo fa-lg mt-4"></i><br />yahoo2764 </Col>2765 <Col xs="6" sm="4" md="3" lg="2">2766 <i className="fa fa-yc fa-lg mt-4"></i><br />yc <span className="text-muted">(alias)</span>2767 </Col>2768 <Col xs="6" sm="4" md="3" lg="2">2769 <i className="fa fa-yc-square fa-lg mt-4"></i><br />yc-square <span className="text-muted">(alias)</span>2770 </Col>2771 <Col xs="6" sm="4" md="3" lg="2">2772 <i className="fa fa-yelp fa-lg mt-4"></i><br />yelp2773 </Col>2774 <Col xs="6" sm="4" md="3" lg="2">2775 <i className="fa fa-youtube fa-lg mt-4"></i><br />youtube2776 </Col>2777 <Col xs="6" sm="4" md="3" lg="2">2778 <i className="fa fa-youtube-play fa-lg mt-4"></i><br />youtube-play2779 </Col>2780 <Col xs="6" sm="4" md="3" lg="2">2781 <i className="fa fa-youtube-square fa-lg mt-4"></i><br />youtube-square2782 </Col>2783 </Row>2784 <Alert color="success" className="mt-4">2785 <ul className="margin-bottom-none padding-left-lg">2786 <li>All brand icons are trademarks of their respective owners.</li>2787 <li>The use of these trademarks does not indicate endorsement of the trademark holder by Font Awesome,2788 nor vice versa.2789 </li>2790 <li>Brand icons should only be used to represent the company or product to which they refer.</li>2791 </ul>2792 </Alert>2793 </CardBody>2794 </Card>2795 <Card id="medical">2796 <CardHeader>Medical Icons</CardHeader>2797 <CardBody>2798 <Row className="text-center">2799 <Col xs="6" sm="4" md="3" lg="2">2800 <i className="fa fa-ambulance fa-lg mt-4"></i><br />ambulance2801 </Col>2802 <Col xs="6" sm="4" md="3" lg="2">2803 <i className="fa fa-h-square fa-lg mt-4"></i><br />h-square2804 </Col>2805 <Col xs="6" sm="4" md="3" lg="2">2806 <i className="fa fa-heart fa-lg mt-4"></i><br />heart2807 </Col>2808 <Col xs="6" sm="4" md="3" lg="2">2809 <i className="fa fa-heart-o fa-lg mt-4"></i><br />heart-o2810 </Col>2811 <Col xs="6" sm="4" md="3" lg="2">2812 <i className="fa fa-heartbeat fa-lg mt-4"></i><br />heartbeat2813 </Col>2814 <Col xs="6" sm="4" md="3" lg="2">2815 <i className="fa fa-hospital-o fa-lg mt-4"></i><br />hospital-o2816 </Col>2817 <Col xs="6" sm="4" md="3" lg="2">2818 <i className="fa fa-medkit fa-lg mt-4"></i><br />medkit2819 </Col>2820 <Col xs="6" sm="4" md="3" lg="2">2821 <i className="fa fa-plus-square fa-lg mt-4"></i><br />plus-square2822 </Col>2823 <Col xs="6" sm="4" md="3" lg="2">2824 <i className="fa fa-stethoscope fa-lg mt-4"></i><br />stethoscope2825 </Col>2826 <Col xs="6" sm="4" md="3" lg="2">2827 <i className="fa fa-user-md fa-lg mt-4"></i><br />user-md2828 </Col>2829 <Col xs="6" sm="4" md="3" lg="2">2830 <i className="fa fa-wheelchair fa-lg mt-4"></i><br />wheelchair2831 </Col>2832 </Row>2833 </CardBody>2834 </Card>2835 </div>2836 );2837 }2838}...
lightgallery-all.js
Source:lightgallery-all.js
1/*! lightgallery - v1.2.21 - 2016-06-282* http://sachinchoolur.github.io/lightGallery/3* Copyright (c) 2016 Sachin N; Licensed Apache 2.0 */4(function($, window, document, undefined) {5 'use strict';6 var defaults = {7 mode: 'lg-slide',8 // Ex : 'ease'9 cssEasing: 'ease',10 //'for jquery animation'11 easing: 'linear',12 speed: 600,13 height: '100%',14 width: '100%',15 addClass: '',16 startClass: 'lg-start-zoom',17 backdropDuration: 150,18 hideBarsDelay: 6000,19 useLeft: false,20 closable: true,21 loop: true,22 escKey: true,23 keyPress: true,24 controls: true,25 slideEndAnimatoin: true,26 hideControlOnEnd: false,27 mousewheel: true,28 getCaptionFromTitleOrAlt: true,29 // .lg-item || '.lg-sub-html'30 appendSubHtmlTo: '.lg-sub-html',31 subHtmlSelectorRelative: false,32 /**33 * @desc number of preload slides34 * will exicute only after the current slide is fully loaded.35 *36 * @ex you clicked on 4th image and if preload = 1 then 3rd slide and 5th37 * slide will be loaded in the background after the 4th slide is fully loaded..38 * if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.. ... ...39 *40 */41 preload: 1,42 showAfterLoad: true,43 selector: '',44 selectWithin: '',45 nextHtml: '',46 prevHtml: '',47 // 0, 148 index: false,49 iframeMaxWidth: '100%',50 download: true,51 counter: true,52 appendCounterTo: '.lg-toolbar',53 swipeThreshold: 50,54 enableSwipe: true,55 enableDrag: true,56 dynamic: false,57 dynamicEl: [],58 galleryId: 159 };60 function Plugin(element, options) {61 // Current lightGallery element62 this.el = element;63 // Current jquery element64 this.$el = $(element);65 // lightGallery settings66 this.s = $.extend({}, defaults, options);67 // When using dynamic mode, ensure dynamicEl is an array68 if (this.s.dynamic && this.s.dynamicEl !== 'undefined' && this.s.dynamicEl.constructor === Array && !this.s.dynamicEl.length) {69 throw ('When using dynamic mode, you must also define dynamicEl as an Array.');70 }71 // lightGallery modules72 this.modules = {};73 // false when lightgallery complete first slide;74 this.lGalleryOn = false;75 this.lgBusy = false;76 // Timeout function for hiding controls;77 this.hideBartimeout = false;78 // To determine browser supports for touch events;79 this.isTouch = ('ontouchstart' in document.documentElement);80 // Disable hideControlOnEnd if sildeEndAnimation is true81 if (this.s.slideEndAnimatoin) {82 this.s.hideControlOnEnd = false;83 }84 // Gallery items85 if (this.s.dynamic) {86 this.$items = this.s.dynamicEl;87 } else {88 if (this.s.selector === 'this') {89 this.$items = this.$el;90 } else if (this.s.selector !== '') {91 if (this.s.selectWithin) {92 this.$items = $(this.s.selectWithin).find(this.s.selector);93 } else {94 this.$items = this.$el.find($(this.s.selector));95 }96 } else {97 this.$items = this.$el.children();98 }99 }100 // .lg-item101 this.$slide = '';102 // .lg-outer103 this.$outer = '';104 this.init();105 return this;106 }107 Plugin.prototype.init = function() {108 var _this = this;109 // s.preload should not be more than $item.length110 if (_this.s.preload > _this.$items.length) {111 _this.s.preload = _this.$items.length;112 }113 // if dynamic option is enabled execute immediately114 var _hash = window.location.hash;115 if (_hash.indexOf('lg=' + this.s.galleryId) > 0) {116 _this.index = parseInt(_hash.split('&slide=')[1], 10);117 $('body').addClass('lg-from-hash');118 if (!$('body').hasClass('lg-on')) {119 setTimeout(function() {120 _this.build(_this.index);121 $('body').addClass('lg-on');122 });123 }124 }125 if (_this.s.dynamic) {126 _this.$el.trigger('onBeforeOpen.lg');127 _this.index = _this.s.index || 0;128 // prevent accidental double execution129 if (!$('body').hasClass('lg-on')) {130 setTimeout(function() {131 _this.build(_this.index);132 $('body').addClass('lg-on');133 });134 }135 } else {136 // Using different namespace for click because click event should not unbind if selector is same object('this')137 _this.$items.on('click.lgcustom', function(event) {138 // For IE8139 try {140 event.preventDefault();141 event.preventDefault();142 } catch (er) {143 event.returnValue = false;144 }145 _this.$el.trigger('onBeforeOpen.lg');146 _this.index = _this.s.index || _this.$items.index(this);147 // prevent accidental double execution148 if (!$('body').hasClass('lg-on')) {149 _this.build(_this.index);150 $('body').addClass('lg-on');151 }152 });153 }154 };155 Plugin.prototype.build = function(index) {156 var _this = this;157 _this.structure();158 // module constructor159 $.each($.fn.lightGallery.modules, function(key) {160 _this.modules[key] = new $.fn.lightGallery.modules[key](_this.el);161 });162 // initiate slide function163 _this.slide(index, false, false);164 if (_this.s.keyPress) {165 _this.keyPress();166 }167 if (_this.$items.length > 1) {168 _this.arrow();169 setTimeout(function() {170 _this.enableDrag();171 _this.enableSwipe();172 }, 50);173 if (_this.s.mousewheel) {174 _this.mousewheel();175 }176 }177 _this.counter();178 _this.closeGallery();179 _this.$el.trigger('onAfterOpen.lg');180 // Hide controllers if mouse doesn't move for some period181 _this.$outer.on('mousemove.lg click.lg touchstart.lg', function() {182 _this.$outer.removeClass('lg-hide-items');183 clearTimeout(_this.hideBartimeout);184 // Timeout will be cleared on each slide movement also185 _this.hideBartimeout = setTimeout(function() {186 _this.$outer.addClass('lg-hide-items');187 }, _this.s.hideBarsDelay);188 });189 };190 Plugin.prototype.structure = function() {191 var list = '';192 var controls = '';193 var i = 0;194 var subHtmlCont = '';195 var template;196 var _this = this;197 $('body').append('<div class="lg-backdrop"></div>');198 $('.lg-backdrop').css('transition-duration', this.s.backdropDuration + 'ms');199 // Create gallery items200 for (i = 0; i < this.$items.length; i++) {201 list += '<div class="lg-item"></div>';202 }203 // Create controlls204 if (this.s.controls && this.$items.length > 1) {205 controls = '<div class="lg-actions">' +206 '<div class="lg-prev lg-icon">' + this.s.prevHtml + '</div>' +207 '<div class="lg-next lg-icon">' + this.s.nextHtml + '</div>' +208 '</div>';209 }210 if (this.s.appendSubHtmlTo === '.lg-sub-html') {211 subHtmlCont = '<div class="lg-sub-html"></div>';212 }213 template = '<div class="lg-outer ' + this.s.addClass + ' ' + this.s.startClass + '">' +214 '<div class="lg" style="width:' + this.s.width + '; height:' + this.s.height + '">' +215 '<div class="lg-inner">' + list + '</div>' +216 '<div class="lg-toolbar group">' +217 '<span class="lg-close lg-icon"></span>' +218 '</div>' +219 controls +220 subHtmlCont +221 '</div>' +222 '</div>';223 $('body').append(template);224 this.$outer = $('.lg-outer');225 this.$slide = this.$outer.find('.lg-item');226 if (this.s.useLeft) {227 this.$outer.addClass('lg-use-left');228 // Set mode lg-slide if use left is true;229 this.s.mode = 'lg-slide';230 } else {231 this.$outer.addClass('lg-use-css3');232 }233 // For fixed height gallery234 _this.setTop();235 $(window).on('resize.lg orientationchange.lg', function() {236 setTimeout(function() {237 _this.setTop();238 }, 100);239 });240 // add class lg-current to remove initial transition241 this.$slide.eq(this.index).addClass('lg-current');242 // add Class for css support and transition mode243 if (this.doCss()) {244 this.$outer.addClass('lg-css3');245 } else {246 this.$outer.addClass('lg-css');247 // Set speed 0 because no animation will happen if browser doesn't support css3248 this.s.speed = 0;249 }250 this.$outer.addClass(this.s.mode);251 if (this.s.enableDrag && this.$items.length > 1) {252 this.$outer.addClass('lg-grab');253 }254 if (this.s.showAfterLoad) {255 this.$outer.addClass('lg-show-after-load');256 }257 if (this.doCss()) {258 var $inner = this.$outer.find('.lg-inner');259 $inner.css('transition-timing-function', this.s.cssEasing);260 $inner.css('transition-duration', this.s.speed + 'ms');261 }262 $('.lg-backdrop').addClass('in');263 setTimeout(function() {264 _this.$outer.addClass('lg-visible');265 }, this.s.backdropDuration);266 if (this.s.download) {267 this.$outer.find('.lg-toolbar').append('<a id="lg-download" target="_blank" download class="lg-download lg-icon"></a>');268 }269 // Store the current scroll top value to scroll back after closing the gallery..270 this.prevScrollTop = $(window).scrollTop();271 };272 // For fixed height gallery273 Plugin.prototype.setTop = function() {274 if (this.s.height !== '100%') {275 var wH = $(window).height();276 var top = (wH - parseInt(this.s.height, 10)) / 2;277 var $lGallery = this.$outer.find('.lg');278 if (wH >= parseInt(this.s.height, 10)) {279 $lGallery.css('top', top + 'px');280 } else {281 $lGallery.css('top', '0px');282 }283 }284 };285 // Find css3 support286 Plugin.prototype.doCss = function() {287 // check for css animation support288 var support = function() {289 var transition = ['transition', 'MozTransition', 'WebkitTransition', 'OTransition', 'msTransition', 'KhtmlTransition'];290 var root = document.documentElement;291 var i = 0;292 for (i = 0; i < transition.length; i++) {293 if (transition[i] in root.style) {294 return true;295 }296 }297 };298 if (support()) {299 return true;300 }301 return false;302 };303 /**304 * @desc Check the given src is video305 * @param {String} src306 * @return {Object} video type307 * Ex:{ youtube : ["//www.youtube.com/watch?v=c0asJgSyxcY", "c0asJgSyxcY"] }308 */309 Plugin.prototype.isVideo = function(src, index) {310 var html;311 if (this.s.dynamic) {312 html = this.s.dynamicEl[index].html;313 } else {314 html = this.$items.eq(index).attr('data-html');315 }316 if (!src && html) {317 return {318 html5: true319 };320 }321 var youtube = src.match(/\/\/(?:www\.)?youtu(?:\.be|be\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)/i);322 var vimeo = src.match(/\/\/(?:www\.)?vimeo.com\/([0-9a-z\-_]+)/i);323 var dailymotion = src.match(/\/\/(?:www\.)?dai.ly\/([0-9a-z\-_]+)/i);324 var vk = src.match(/\/\/(?:www\.)?(?:vk\.com|vkontakte\.ru)\/(?:video_ext\.php\?)(.*)/i);325 if (youtube) {326 return {327 youtube: youtube328 };329 } else if (vimeo) {330 return {331 vimeo: vimeo332 };333 } else if (dailymotion) {334 return {335 dailymotion: dailymotion336 };337 } else if (vk) {338 return {339 vk: vk340 };341 }342 };343 /**344 * @desc Create image counter345 * Ex: 1/10346 */347 Plugin.prototype.counter = function() {348 if (this.s.counter) {349 $(this.s.appendCounterTo).append('<div id="lg-counter"><span id="lg-counter-current">' + (parseInt(this.index, 10) + 1) + '</span> / <span id="lg-counter-all">' + this.$items.length + '</span></div>');350 }351 };352 /**353 * @desc add sub-html into the slide354 * @param {Number} index - index of the slide355 */356 Plugin.prototype.addHtml = function(index) {357 var subHtml = null;358 var subHtmlUrl;359 var $currentEle;360 if (this.s.dynamic) {361 if (this.s.dynamicEl[index].subHtmlUrl) {362 subHtmlUrl = this.s.dynamicEl[index].subHtmlUrl;363 } else {364 subHtml = this.s.dynamicEl[index].subHtml;365 }366 } else {367 $currentEle = this.$items.eq(index);368 if ($currentEle.attr('data-sub-html-url')) {369 subHtmlUrl = $currentEle.attr('data-sub-html-url');370 } else {371 subHtml = $currentEle.attr('data-sub-html');372 if (this.s.getCaptionFromTitleOrAlt && !subHtml) {373 subHtml = $currentEle.attr('title') || $currentEle.find('img').first().attr('alt');374 }375 }376 }377 if (!subHtmlUrl) {378 if (typeof subHtml !== 'undefined' && subHtml !== null) {379 // get first letter of subhtml380 // if first letter starts with . or # get the html form the jQuery object381 var fL = subHtml.substring(0, 1);382 if (fL === '.' || fL === '#') {383 if (this.s.subHtmlSelectorRelative && !this.s.dynamic) {384 subHtml = $currentEle.find(subHtml).html();385 } else {386 subHtml = $(subHtml).html();387 }388 }389 } else {390 subHtml = '';391 }392 }393 if (this.s.appendSubHtmlTo === '.lg-sub-html') {394 if (subHtmlUrl) {395 this.$outer.find(this.s.appendSubHtmlTo).load(subHtmlUrl);396 } else {397 this.$outer.find(this.s.appendSubHtmlTo).html(subHtml);398 }399 } else {400 if (subHtmlUrl) {401 this.$slide.eq(index).load(subHtmlUrl);402 } else {403 this.$slide.eq(index).append(subHtml);404 }405 }406 // Add lg-empty-html class if title doesn't exist407 if (typeof subHtml !== 'undefined' && subHtml !== null) {408 if (subHtml === '') {409 this.$outer.find(this.s.appendSubHtmlTo).addClass('lg-empty-html');410 } else {411 this.$outer.find(this.s.appendSubHtmlTo).removeClass('lg-empty-html');412 }413 }414 this.$el.trigger('onAfterAppendSubHtml.lg', [index]);415 };416 /**417 * @desc Preload slides418 * @param {Number} index - index of the slide419 */420 Plugin.prototype.preload = function(index) {421 var i = 1;422 var j = 1;423 for (i = 1; i <= this.s.preload; i++) {424 if (i >= this.$items.length - index) {425 break;426 }427 this.loadContent(index + i, false, 0);428 }429 for (j = 1; j <= this.s.preload; j++) {430 if (index - j < 0) {431 break;432 }433 this.loadContent(index - j, false, 0);434 }435 };436 /**437 * @desc Load slide content into slide.438 * @param {Number} index - index of the slide.439 * @param {Boolean} rec - if true call loadcontent() function again.440 * @param {Boolean} delay - delay for adding complete class. it is 0 except first time.441 */442 Plugin.prototype.loadContent = function(index, rec, delay) {443 var _this = this;444 var _hasPoster = false;445 var _$img;446 var _src;447 var _poster;448 var _srcset;449 var _sizes;450 var _html;451 var getResponsiveSrc = function(srcItms) {452 var rsWidth = [];453 var rsSrc = [];454 for (var i = 0; i < srcItms.length; i++) {455 var __src = srcItms[i].split(' ');456 // Manage empty space457 if (__src[0] === '') {458 __src.splice(0, 1);459 }460 rsSrc.push(__src[0]);461 rsWidth.push(__src[1]);462 }463 var wWidth = $(window).width();464 for (var j = 0; j < rsWidth.length; j++) {465 if (parseInt(rsWidth[j], 10) > wWidth) {466 _src = rsSrc[j];467 break;468 }469 }470 };471 if (_this.s.dynamic) {472 if (_this.s.dynamicEl[index].poster) {473 _hasPoster = true;474 _poster = _this.s.dynamicEl[index].poster;475 }476 _html = _this.s.dynamicEl[index].html;477 _src = _this.s.dynamicEl[index].src;478 if (_this.s.dynamicEl[index].responsive) {479 var srcDyItms = _this.s.dynamicEl[index].responsive.split(',');480 getResponsiveSrc(srcDyItms);481 }482 _srcset = _this.s.dynamicEl[index].srcset;483 _sizes = _this.s.dynamicEl[index].sizes;484 } else {485 if (_this.$items.eq(index).attr('data-poster')) {486 _hasPoster = true;487 _poster = _this.$items.eq(index).attr('data-poster');488 }489 _html = _this.$items.eq(index).attr('data-html');490 _src = _this.$items.eq(index).attr('href') || _this.$items.eq(index).attr('data-src');491 if (_this.$items.eq(index).attr('data-responsive')) {492 var srcItms = _this.$items.eq(index).attr('data-responsive').split(',');493 getResponsiveSrc(srcItms);494 }495 _srcset = _this.$items.eq(index).attr('data-srcset');496 _sizes = _this.$items.eq(index).attr('data-sizes');497 }498 //if (_src || _srcset || _sizes || _poster) {499 var iframe = false;500 if (_this.s.dynamic) {501 if (_this.s.dynamicEl[index].iframe) {502 iframe = true;503 }504 } else {505 if (_this.$items.eq(index).attr('data-iframe') === 'true') {506 iframe = true;507 }508 }509 var _isVideo = _this.isVideo(_src, index);510 if (!_this.$slide.eq(index).hasClass('lg-loaded')) {511 if (iframe) {512 _this.$slide.eq(index).prepend('<div class="lg-video-cont" style="max-width:' + _this.s.iframeMaxWidth + '"><div class="lg-video"><iframe class="lg-object" frameborder="0" src="' + _src + '" allowfullscreen="true"></iframe></div></div>');513 } else if (_hasPoster) {514 var videoClass = '';515 if (_isVideo && _isVideo.youtube) {516 videoClass = 'lg-has-youtube';517 } else if (_isVideo && _isVideo.vimeo) {518 videoClass = 'lg-has-vimeo';519 } else {520 videoClass = 'lg-has-html5';521 }522 _this.$slide.eq(index).prepend('<div class="lg-video-cont ' + videoClass + ' "><div class="lg-video"><span class="lg-video-play"></span><img class="lg-object lg-has-poster" src="' + _poster + '" /></div></div>');523 } else if (_isVideo) {524 _this.$slide.eq(index).prepend('<div class="lg-video-cont "><div class="lg-video"></div></div>');525 _this.$el.trigger('hasVideo.lg', [index, _src, _html]);526 } else {527 _this.$slide.eq(index).prepend('<div class="lg-img-wrap"><img class="lg-object lg-image" src="' + _src + '" /></div>');528 }529 _this.$el.trigger('onAferAppendSlide.lg', [index]);530 _$img = _this.$slide.eq(index).find('.lg-object');531 if (_sizes) {532 _$img.attr('sizes', _sizes);533 }534 if (_srcset) {535 _$img.attr('srcset', _srcset);536 try {537 picturefill({538 elements: [_$img[0]]539 });540 } catch (e) {541 console.error('Make sure you have included Picturefill version 2');542 }543 }544 if (this.s.appendSubHtmlTo !== '.lg-sub-html') {545 _this.addHtml(index);546 }547 _this.$slide.eq(index).addClass('lg-loaded');548 }549 _this.$slide.eq(index).find('.lg-object').on('load.lg error.lg', function() {550 // For first time add some delay for displaying the start animation.551 var _speed = 0;552 // Do not change the delay value because it is required for zoom plugin.553 // If gallery opened from direct url (hash) speed value should be 0554 if (delay && !$('body').hasClass('lg-from-hash')) {555 _speed = delay;556 }557 setTimeout(function() {558 _this.$slide.eq(index).addClass('lg-complete');559 _this.$el.trigger('onSlideItemLoad.lg', [index, delay || 0]);560 }, _speed);561 });562 // @todo check load state for html5 videos563 if (_isVideo && _isVideo.html5 && !_hasPoster) {564 _this.$slide.eq(index).addClass('lg-complete');565 }566 if (rec === true) {567 if (!_this.$slide.eq(index).hasClass('lg-complete')) {568 _this.$slide.eq(index).find('.lg-object').on('load.lg error.lg', function() {569 _this.preload(index);570 });571 } else {572 _this.preload(index);573 }574 }575 //}576 };577 /**578 * @desc slide function for lightgallery579 ** Slide() gets call on start580 ** ** Set lg.on true once slide() function gets called.581 ** Call loadContent() on slide() function inside setTimeout582 ** ** On first slide we do not want any animation like slide of fade583 ** ** So on first slide( if lg.on if false that is first slide) loadContent() should start loading immediately584 ** ** Else loadContent() should wait for the transition to complete.585 ** ** So set timeout s.speed + 50586 <=> ** loadContent() will load slide content in to the particular slide587 ** ** It has recursion (rec) parameter. if rec === true loadContent() will call preload() function.588 ** ** preload will execute only when the previous slide is fully loaded (images iframe)589 ** ** avoid simultaneous image load590 <=> ** Preload() will check for s.preload value and call loadContent() again accoring to preload value591 ** loadContent() <====> Preload();592 * @param {Number} index - index of the slide593 * @param {Boolean} fromTouch - true if slide function called via touch event or mouse drag594 * @param {Boolean} fromThumb - true if slide function called via thumbnail click595 */596 Plugin.prototype.slide = function(index, fromTouch, fromThumb) {597 var _prevIndex = this.$outer.find('.lg-current').index();598 var _this = this;599 // Prevent if multiple call600 // Required for hsh plugin601 if (_this.lGalleryOn && (_prevIndex === index)) {602 return;603 }604 var _length = this.$slide.length;605 var _time = _this.lGalleryOn ? this.s.speed : 0;606 var _next = false;607 var _prev = false;608 if (!_this.lgBusy) {609 if (this.s.download) {610 var _src;611 if (_this.s.dynamic) {612 _src = _this.s.dynamicEl[index].downloadUrl !== false && (_this.s.dynamicEl[index].downloadUrl || _this.s.dynamicEl[index].src);613 } else {614 _src = _this.$items.eq(index).attr('data-download-url') !== 'false' && (_this.$items.eq(index).attr('data-download-url') || _this.$items.eq(index).attr('href') || _this.$items.eq(index).attr('data-src'));615 }616 if (_src) {617 $('#lg-download').attr('href', _src);618 _this.$outer.removeClass('lg-hide-download');619 } else {620 _this.$outer.addClass('lg-hide-download');621 }622 }623 this.$el.trigger('onBeforeSlide.lg', [_prevIndex, index, fromTouch, fromThumb]);624 _this.lgBusy = true;625 clearTimeout(_this.hideBartimeout);626 // Add title if this.s.appendSubHtmlTo === lg-sub-html627 if (this.s.appendSubHtmlTo === '.lg-sub-html') {628 // wait for slide animation to complete629 setTimeout(function() {630 _this.addHtml(index);631 }, _time);632 }633 this.arrowDisable(index);634 if (!fromTouch) {635 // remove all transitions636 _this.$outer.addClass('lg-no-trans');637 this.$slide.removeClass('lg-prev-slide lg-next-slide');638 if (index < _prevIndex) {639 _prev = true;640 if ((index === 0) && (_prevIndex === _length - 1) && !fromThumb) {641 _prev = false;642 _next = true;643 }644 } else if (index > _prevIndex) {645 _next = true;646 if ((index === _length - 1) && (_prevIndex === 0) && !fromThumb) {647 _prev = true;648 _next = false;649 }650 }651 if (_prev) {652 //prevslide653 this.$slide.eq(index).addClass('lg-prev-slide');654 this.$slide.eq(_prevIndex).addClass('lg-next-slide');655 } else if (_next) {656 // next slide657 this.$slide.eq(index).addClass('lg-next-slide');658 this.$slide.eq(_prevIndex).addClass('lg-prev-slide');659 }660 // give 50 ms for browser to add/remove class661 setTimeout(function() {662 _this.$slide.removeClass('lg-current');663 //_this.$slide.eq(_prevIndex).removeClass('lg-current');664 _this.$slide.eq(index).addClass('lg-current');665 // reset all transitions666 _this.$outer.removeClass('lg-no-trans');667 }, 50);668 } else {669 var touchPrev = index - 1;670 var touchNext = index + 1;671 if ((index === 0) && (_prevIndex === _length - 1)) {672 // next slide673 touchNext = 0;674 touchPrev = _length - 1;675 } else if ((index === _length - 1) && (_prevIndex === 0)) {676 // prev slide677 touchNext = 0;678 touchPrev = _length - 1;679 }680 this.$slide.removeClass('lg-prev-slide lg-current lg-next-slide');681 _this.$slide.eq(touchPrev).addClass('lg-prev-slide');682 _this.$slide.eq(touchNext).addClass('lg-next-slide');683 _this.$slide.eq(index).addClass('lg-current');684 }685 if (_this.lGalleryOn) {686 setTimeout(function() {687 _this.loadContent(index, true, 0);688 }, this.s.speed + 50);689 setTimeout(function() {690 _this.lgBusy = false;691 _this.$el.trigger('onAfterSlide.lg', [_prevIndex, index, fromTouch, fromThumb]);692 }, this.s.speed);693 } else {694 _this.loadContent(index, true, _this.s.backdropDuration);695 _this.lgBusy = false;696 _this.$el.trigger('onAfterSlide.lg', [_prevIndex, index, fromTouch, fromThumb]);697 }698 _this.lGalleryOn = true;699 if (this.s.counter) {700 $('#lg-counter-current').text(index + 1);701 }702 }703 };704 /**705 * @desc Go to next slide706 * @param {Boolean} fromTouch - true if slide function called via touch event707 */708 Plugin.prototype.goToNextSlide = function(fromTouch) {709 var _this = this;710 if (!_this.lgBusy) {711 if ((_this.index + 1) < _this.$slide.length) {712 _this.index++;713 _this.$el.trigger('onBeforeNextSlide.lg', [_this.index]);714 _this.slide(_this.index, fromTouch, false);715 } else {716 if (_this.s.loop) {717 _this.index = 0;718 _this.$el.trigger('onBeforeNextSlide.lg', [_this.index]);719 _this.slide(_this.index, fromTouch, false);720 } else if (_this.s.slideEndAnimatoin) {721 _this.$outer.addClass('lg-right-end');722 setTimeout(function() {723 _this.$outer.removeClass('lg-right-end');724 }, 400);725 }726 }727 }728 };729 /**730 * @desc Go to previous slide731 * @param {Boolean} fromTouch - true if slide function called via touch event732 */733 Plugin.prototype.goToPrevSlide = function(fromTouch) {734 var _this = this;735 if (!_this.lgBusy) {736 if (_this.index > 0) {737 _this.index--;738 _this.$el.trigger('onBeforePrevSlide.lg', [_this.index, fromTouch]);739 _this.slide(_this.index, fromTouch, false);740 } else {741 if (_this.s.loop) {742 _this.index = _this.$items.length - 1;743 _this.$el.trigger('onBeforePrevSlide.lg', [_this.index, fromTouch]);744 _this.slide(_this.index, fromTouch, false);745 } else if (_this.s.slideEndAnimatoin) {746 _this.$outer.addClass('lg-left-end');747 setTimeout(function() {748 _this.$outer.removeClass('lg-left-end');749 }, 400);750 }751 }752 }753 };754 Plugin.prototype.keyPress = function() {755 var _this = this;756 if (this.$items.length > 1) {757 $(window).on('keyup.lg', function(e) {758 if (_this.$items.length > 1) {759 if (e.keyCode === 37) {760 e.preventDefault();761 _this.goToPrevSlide();762 }763 if (e.keyCode === 39) {764 e.preventDefault();765 _this.goToNextSlide();766 }767 }768 });769 }770 $(window).on('keydown.lg', function(e) {771 if (_this.s.escKey === true && e.keyCode === 27) {772 e.preventDefault();773 if (!_this.$outer.hasClass('lg-thumb-open')) {774 _this.destroy();775 } else {776 _this.$outer.removeClass('lg-thumb-open');777 }778 }779 });780 };781 Plugin.prototype.arrow = function() {782 var _this = this;783 this.$outer.find('.lg-prev').on('click.lg', function() {784 _this.goToPrevSlide();785 });786 this.$outer.find('.lg-next').on('click.lg', function() {787 _this.goToNextSlide();788 });789 };790 Plugin.prototype.arrowDisable = function(index) {791 // Disable arrows if s.hideControlOnEnd is true792 if (!this.s.loop && this.s.hideControlOnEnd) {793 if ((index + 1) < this.$slide.length) {794 this.$outer.find('.lg-next').removeAttr('disabled').removeClass('disabled');795 } else {796 this.$outer.find('.lg-next').attr('disabled', 'disabled').addClass('disabled');797 }798 if (index > 0) {799 this.$outer.find('.lg-prev').removeAttr('disabled').removeClass('disabled');800 } else {801 this.$outer.find('.lg-prev').attr('disabled', 'disabled').addClass('disabled');802 }803 }804 };805 Plugin.prototype.setTranslate = function($el, xValue, yValue) {806 // jQuery supports Automatic CSS prefixing since jQuery 1.8.0807 if (this.s.useLeft) {808 $el.css('left', xValue);809 } else {810 $el.css({811 transform: 'translate3d(' + (xValue) + 'px, ' + yValue + 'px, 0px)'812 });813 }814 };815 Plugin.prototype.touchMove = function(startCoords, endCoords) {816 var distance = endCoords - startCoords;817 if (Math.abs(distance) > 15) {818 // reset opacity and transition duration819 this.$outer.addClass('lg-dragging');820 // move current slide821 this.setTranslate(this.$slide.eq(this.index), distance, 0);822 // move next and prev slide with current slide823 this.setTranslate($('.lg-prev-slide'), -this.$slide.eq(this.index).width() + distance, 0);824 this.setTranslate($('.lg-next-slide'), this.$slide.eq(this.index).width() + distance, 0);825 }826 };827 Plugin.prototype.touchEnd = function(distance) {828 var _this = this;829 // keep slide animation for any mode while dragg/swipe830 if (_this.s.mode !== 'lg-slide') {831 _this.$outer.addClass('lg-slide');832 }833 this.$slide.not('.lg-current, .lg-prev-slide, .lg-next-slide').css('opacity', '0');834 // set transition duration835 setTimeout(function() {836 _this.$outer.removeClass('lg-dragging');837 if ((distance < 0) && (Math.abs(distance) > _this.s.swipeThreshold)) {838 _this.goToNextSlide(true);839 } else if ((distance > 0) && (Math.abs(distance) > _this.s.swipeThreshold)) {840 _this.goToPrevSlide(true);841 } else if (Math.abs(distance) < 5) {842 // Trigger click if distance is less than 5 pix843 _this.$el.trigger('onSlideClick.lg');844 }845 _this.$slide.removeAttr('style');846 });847 // remove slide class once drag/swipe is completed if mode is not slide848 setTimeout(function() {849 if (!_this.$outer.hasClass('lg-dragging') && _this.s.mode !== 'lg-slide') {850 _this.$outer.removeClass('lg-slide');851 }852 }, _this.s.speed + 100);853 };854 Plugin.prototype.enableSwipe = function() {855 var _this = this;856 var startCoords = 0;857 var endCoords = 0;858 var isMoved = false;859 if (_this.s.enableSwipe && _this.isTouch && _this.doCss()) {860 _this.$slide.on('touchstart.lg', function(e) {861 if (!_this.$outer.hasClass('lg-zoomed') && !_this.lgBusy) {862 e.preventDefault();863 _this.manageSwipeClass();864 startCoords = e.originalEvent.targetTouches[0].pageX;865 }866 });867 _this.$slide.on('touchmove.lg', function(e) {868 if (!_this.$outer.hasClass('lg-zoomed')) {869 e.preventDefault();870 endCoords = e.originalEvent.targetTouches[0].pageX;871 _this.touchMove(startCoords, endCoords);872 isMoved = true;873 }874 });875 _this.$slide.on('touchend.lg', function() {876 if (!_this.$outer.hasClass('lg-zoomed')) {877 if (isMoved) {878 isMoved = false;879 _this.touchEnd(endCoords - startCoords);880 } else {881 _this.$el.trigger('onSlideClick.lg');882 }883 }884 });885 }886 };887 Plugin.prototype.enableDrag = function() {888 var _this = this;889 var startCoords = 0;890 var endCoords = 0;891 var isDraging = false;892 var isMoved = false;893 if (_this.s.enableDrag && !_this.isTouch && _this.doCss()) {894 _this.$slide.on('mousedown.lg', function(e) {895 // execute only on .lg-object896 if (!_this.$outer.hasClass('lg-zoomed')) {897 if ($(e.target).hasClass('lg-object') || $(e.target).hasClass('lg-video-play')) {898 e.preventDefault();899 if (!_this.lgBusy) {900 _this.manageSwipeClass();901 startCoords = e.pageX;902 isDraging = true;903 // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723904 _this.$outer.scrollLeft += 1;905 _this.$outer.scrollLeft -= 1;906 // *907 _this.$outer.removeClass('lg-grab').addClass('lg-grabbing');908 _this.$el.trigger('onDragstart.lg');909 }910 }911 }912 });913 $(window).on('mousemove.lg', function(e) {914 if (isDraging) {915 isMoved = true;916 endCoords = e.pageX;917 _this.touchMove(startCoords, endCoords);918 _this.$el.trigger('onDragmove.lg');919 }920 });921 $(window).on('mouseup.lg', function(e) {922 if (isMoved) {923 isMoved = false;924 _this.touchEnd(endCoords - startCoords);925 _this.$el.trigger('onDragend.lg');926 } else if ($(e.target).hasClass('lg-object') || $(e.target).hasClass('lg-video-play')) {927 _this.$el.trigger('onSlideClick.lg');928 }929 // Prevent execution on click930 if (isDraging) {931 isDraging = false;932 _this.$outer.removeClass('lg-grabbing').addClass('lg-grab');933 }934 });935 }936 };937 Plugin.prototype.manageSwipeClass = function() {938 var touchNext = this.index + 1;939 var touchPrev = this.index - 1;940 var length = this.$slide.length;941 if (this.s.loop) {942 if (this.index === 0) {943 touchPrev = length - 1;944 } else if (this.index === length - 1) {945 touchNext = 0;946 }947 }948 this.$slide.removeClass('lg-next-slide lg-prev-slide');949 if (touchPrev > -1) {950 this.$slide.eq(touchPrev).addClass('lg-prev-slide');951 }952 this.$slide.eq(touchNext).addClass('lg-next-slide');953 };954 Plugin.prototype.mousewheel = function() {955 var _this = this;956 _this.$outer.on('mousewheel.lg', function(e) {957 if (!e.deltaY) {958 return;959 }960 if (e.deltaY > 0) {961 _this.goToPrevSlide();962 } else {963 _this.goToNextSlide();964 }965 e.preventDefault();966 });967 };968 Plugin.prototype.closeGallery = function() {969 var _this = this;970 var mousedown = false;971 this.$outer.find('.lg-close').on('click.lg', function() {972 _this.destroy();973 });974 if (_this.s.closable) {975 // If you drag the slide and release outside gallery gets close on chrome976 // for preventing this check mousedown and mouseup happened on .lg-item or lg-outer977 _this.$outer.on('mousedown.lg', function(e) {978 if ($(e.target).is('.lg-outer') || $(e.target).is('.lg-item ') || $(e.target).is('.lg-img-wrap')) {979 mousedown = true;980 } else {981 mousedown = false;982 }983 });984 _this.$outer.on('mouseup.lg', function(e) {985 if ($(e.target).is('.lg-outer') || $(e.target).is('.lg-item ') || $(e.target).is('.lg-img-wrap') && mousedown) {986 if (!_this.$outer.hasClass('lg-dragging')) {987 _this.destroy();988 }989 }990 });991 }992 };993 Plugin.prototype.destroy = function(d) {994 var _this = this;995 if (!d) {996 _this.$el.trigger('onBeforeClose.lg');997 }998 $(window).scrollTop(_this.prevScrollTop);999 /**1000 * if d is false or undefined destroy will only close the gallery1001 * plugins instance remains with the element1002 *1003 * if d is true destroy will completely remove the plugin1004 */1005 if (d) {1006 if (!_this.s.dynamic) {1007 // only when not using dynamic mode is $items a jquery collection1008 this.$items.off('click.lg click.lgcustom');1009 }1010 $.removeData(_this.el, 'lightGallery');1011 }1012 // Unbind all events added by lightGallery1013 this.$el.off('.lg.tm');1014 // Distroy all lightGallery modules1015 $.each($.fn.lightGallery.modules, function(key) {1016 if (_this.modules[key]) {1017 _this.modules[key].destroy();1018 }1019 });1020 this.lGalleryOn = false;1021 clearTimeout(_this.hideBartimeout);1022 this.hideBartimeout = false;1023 $(window).off('.lg');1024 $('body').removeClass('lg-on lg-from-hash');1025 if (_this.$outer) {1026 _this.$outer.removeClass('lg-visible');1027 }1028 $('.lg-backdrop').removeClass('in');1029 setTimeout(function() {1030 if (_this.$outer) {1031 _this.$outer.remove();1032 }1033 $('.lg-backdrop').remove();1034 if (!d) {1035 _this.$el.trigger('onCloseAfter.lg');1036 }1037 }, _this.s.backdropDuration + 50);1038 };1039 $.fn.lightGallery = function(options) {1040 return this.each(function() {1041 if (!$.data(this, 'lightGallery')) {1042 $.data(this, 'lightGallery', new Plugin(this, options));1043 } else {1044 try {1045 $(this).data('lightGallery').init();1046 } catch (err) {1047 console.error('lightGallery has not initiated properly');1048 }1049 }1050 });1051 };1052 $.fn.lightGallery.modules = {};1053})(jQuery, window, document);1054/**1055 * Autoplay Plugin1056 * @version 1.2.01057 * @author Sachin N - @sachinchoolur1058 * @license MIT License (MIT)1059 */1060(function($, window, document, undefined) {1061 'use strict';1062 var defaults = {1063 autoplay: false,1064 pause: 5000,1065 progressBar: true,1066 fourceAutoplay: false,1067 autoplayControls: true,1068 appendAutoplayControlsTo: '.lg-toolbar'1069 };1070 /**1071 * Creates the autoplay plugin.1072 * @param {object} element - lightGallery element1073 */1074 var Autoplay = function(element) {1075 this.core = $(element).data('lightGallery');1076 this.$el = $(element);1077 // Execute only if items are above 11078 if (this.core.$items.length < 2) {1079 return false;1080 }1081 this.core.s = $.extend({}, defaults, this.core.s);1082 this.interval = false;1083 // Identify if slide happened from autoplay1084 this.fromAuto = true;1085 // Identify if autoplay canceled from touch/drag1086 this.canceledOnTouch = false;1087 // save fourceautoplay value1088 this.fourceAutoplayTemp = this.core.s.fourceAutoplay;1089 // do not allow progress bar if browser does not support css3 transitions1090 if (!this.core.doCss()) {1091 this.core.s.progressBar = false;1092 }1093 this.init();1094 return this;1095 };1096 Autoplay.prototype.init = function() {1097 var _this = this;1098 // append autoplay controls1099 if (_this.core.s.autoplayControls) {1100 _this.controls();1101 }1102 // Create progress bar1103 if (_this.core.s.progressBar) {1104 _this.core.$outer.find('.lg').append('<div class="lg-progress-bar"><div class="lg-progress"></div></div>');1105 }1106 // set progress1107 _this.progress();1108 // Start autoplay1109 if (_this.core.s.autoplay) {1110 _this.startlAuto();1111 }1112 // cancel interval on touchstart and dragstart1113 _this.$el.on('onDragstart.lg.tm touchstart.lg.tm', function() {1114 if (_this.interval) {1115 _this.cancelAuto();1116 _this.canceledOnTouch = true;1117 }1118 });1119 // restore autoplay if autoplay canceled from touchstart / dragstart1120 _this.$el.on('onDragend.lg.tm touchend.lg.tm onSlideClick.lg.tm', function() {1121 if (!_this.interval && _this.canceledOnTouch) {1122 _this.startlAuto();1123 _this.canceledOnTouch = false;1124 }1125 });1126 };1127 Autoplay.prototype.progress = function() {1128 var _this = this;1129 var _$progressBar;1130 var _$progress;1131 _this.$el.on('onBeforeSlide.lg.tm', function() {1132 // start progress bar animation1133 if (_this.core.s.progressBar && _this.fromAuto) {1134 _$progressBar = _this.core.$outer.find('.lg-progress-bar');1135 _$progress = _this.core.$outer.find('.lg-progress');1136 if (_this.interval) {1137 _$progress.removeAttr('style');1138 _$progressBar.removeClass('lg-start');1139 setTimeout(function() {1140 _$progress.css('transition', 'width ' + (_this.core.s.speed + _this.core.s.pause) + 'ms ease 0s');1141 _$progressBar.addClass('lg-start');1142 }, 20);1143 }1144 }1145 // Remove setinterval if slide is triggered manually and fourceautoplay is false1146 if (!_this.fromAuto && !_this.core.s.fourceAutoplay) {1147 _this.cancelAuto();1148 }1149 _this.fromAuto = false;1150 });1151 };1152 // Manage autoplay via play/stop buttons1153 Autoplay.prototype.controls = function() {1154 var _this = this;1155 var _html = '<span class="lg-autoplay-button lg-icon"></span>';1156 // Append autoplay controls1157 $(this.core.s.appendAutoplayControlsTo).append(_html);1158 _this.core.$outer.find('.lg-autoplay-button').on('click.lg', function() {1159 if ($(_this.core.$outer).hasClass('lg-show-autoplay')) {1160 _this.cancelAuto();1161 _this.core.s.fourceAutoplay = false;1162 } else {1163 if (!_this.interval) {1164 _this.startlAuto();1165 _this.core.s.fourceAutoplay = _this.fourceAutoplayTemp;1166 }1167 }1168 });1169 };1170 // Autostart gallery1171 Autoplay.prototype.startlAuto = function() {1172 var _this = this;1173 _this.core.$outer.find('.lg-progress').css('transition', 'width ' + (_this.core.s.speed + _this.core.s.pause) + 'ms ease 0s');1174 _this.core.$outer.addClass('lg-show-autoplay');1175 _this.core.$outer.find('.lg-progress-bar').addClass('lg-start');1176 _this.interval = setInterval(function() {1177 if (_this.core.index + 1 < _this.core.$items.length) {1178 _this.core.index++;1179 } else {1180 _this.core.index = 0;1181 }1182 _this.fromAuto = true;1183 _this.core.slide(_this.core.index, false, false);1184 }, _this.core.s.speed + _this.core.s.pause);1185 };1186 // cancel Autostart1187 Autoplay.prototype.cancelAuto = function() {1188 clearInterval(this.interval);1189 this.interval = false;1190 this.core.$outer.find('.lg-progress').removeAttr('style');1191 this.core.$outer.removeClass('lg-show-autoplay');1192 this.core.$outer.find('.lg-progress-bar').removeClass('lg-start');1193 };1194 Autoplay.prototype.destroy = function() {1195 this.cancelAuto();1196 this.core.$outer.find('.lg-progress-bar').remove();1197 };1198 $.fn.lightGallery.modules.autoplay = Autoplay;1199})(jQuery, window, document);1200(function($, window, document, undefined) {1201 'use strict';1202 var defaults = {1203 fullScreen: true1204 };1205 var Fullscreen = function(element) {1206 // get lightGallery core plugin data1207 this.core = $(element).data('lightGallery');1208 this.$el = $(element);1209 // extend module defalut settings with lightGallery core settings1210 this.core.s = $.extend({}, defaults, this.core.s);1211 this.init();1212 return this;1213 };1214 Fullscreen.prototype.init = function() {1215 var fullScreen = '';1216 if (this.core.s.fullScreen) {1217 // check for fullscreen browser support1218 if (!document.fullscreenEnabled && !document.webkitFullscreenEnabled &&1219 !document.mozFullScreenEnabled && !document.msFullscreenEnabled) {1220 return;1221 } else {1222 fullScreen = '<span class="lg-fullscreen lg-icon"></span>';1223 this.core.$outer.find('.lg-toolbar').append(fullScreen);1224 this.fullScreen();1225 }1226 }1227 };1228 Fullscreen.prototype.requestFullscreen = function() {1229 var el = document.documentElement;1230 if (el.requestFullscreen) {1231 el.requestFullscreen();1232 } else if (el.msRequestFullscreen) {1233 el.msRequestFullscreen();1234 } else if (el.mozRequestFullScreen) {1235 el.mozRequestFullScreen();1236 } else if (el.webkitRequestFullscreen) {1237 el.webkitRequestFullscreen();1238 }1239 };1240 Fullscreen.prototype.exitFullscreen = function() {1241 if (document.exitFullscreen) {1242 document.exitFullscreen();1243 } else if (document.msExitFullscreen) {1244 document.msExitFullscreen();1245 } else if (document.mozCancelFullScreen) {1246 document.mozCancelFullScreen();1247 } else if (document.webkitExitFullscreen) {1248 document.webkitExitFullscreen();1249 }1250 };1251 // https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode1252 Fullscreen.prototype.fullScreen = function() {1253 var _this = this;1254 $(document).on('fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg', function() {1255 _this.core.$outer.toggleClass('lg-fullscreen-on');1256 });1257 this.core.$outer.find('.lg-fullscreen').on('click.lg', function() {1258 if (!document.fullscreenElement &&1259 !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement) {1260 _this.requestFullscreen();1261 } else {1262 _this.exitFullscreen();1263 }1264 });1265 };1266 Fullscreen.prototype.destroy = function() {1267 // exit from fullscreen if activated1268 this.exitFullscreen();1269 $(document).off('fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg');1270 };1271 $.fn.lightGallery.modules.fullscreen = Fullscreen;1272})(jQuery, window, document);1273(function($, window, document, undefined) {1274 'use strict';1275 var defaults = {1276 pager: false1277 };1278 var Pager = function(element) {1279 this.core = $(element).data('lightGallery');1280 this.$el = $(element);1281 this.core.s = $.extend({}, defaults, this.core.s);1282 if (this.core.s.pager && this.core.$items.length > 1) {1283 this.init();1284 }1285 return this;1286 };1287 Pager.prototype.init = function() {1288 var _this = this;1289 var pagerList = '';1290 var $pagerCont;1291 var $pagerOuter;1292 var timeout;1293 _this.core.$outer.find('.lg').append('<div class="lg-pager-outer"></div>');1294 if (_this.core.s.dynamic) {1295 for (var i = 0; i < _this.core.s.dynamicEl.length; i++) {1296 pagerList += '<span class="lg-pager-cont"> <span class="lg-pager"></span><div class="lg-pager-thumb-cont"><span class="lg-caret"></span> <img src="' + _this.core.s.dynamicEl[i].thumb + '" /></div></span>';1297 }1298 } else {1299 _this.core.$items.each(function() {1300 if (!_this.core.s.exThumbImage) {1301 pagerList += '<span class="lg-pager-cont"> <span class="lg-pager"></span><div class="lg-pager-thumb-cont"><span class="lg-caret"></span> <img src="' + $(this).find('img').attr('src') + '" /></div></span>';1302 } else {1303 pagerList += '<span class="lg-pager-cont"> <span class="lg-pager"></span><div class="lg-pager-thumb-cont"><span class="lg-caret"></span> <img src="' + $(this).attr(_this.core.s.exThumbImage) + '" /></div></span>';1304 }1305 });1306 }1307 $pagerOuter = _this.core.$outer.find('.lg-pager-outer');1308 $pagerOuter.html(pagerList);1309 $pagerCont = _this.core.$outer.find('.lg-pager-cont');1310 $pagerCont.on('click.lg touchend.lg', function() {1311 var _$this = $(this);1312 _this.core.index = _$this.index();1313 _this.core.slide(_this.core.index, false, false);1314 });1315 $pagerOuter.on('mouseover.lg', function() {1316 clearTimeout(timeout);1317 $pagerOuter.addClass('lg-pager-hover');1318 });1319 $pagerOuter.on('mouseout.lg', function() {1320 timeout = setTimeout(function() {1321 $pagerOuter.removeClass('lg-pager-hover');1322 });1323 });1324 _this.core.$el.on('onBeforeSlide.lg.tm', function(e, prevIndex, index) {1325 $pagerCont.removeClass('lg-pager-active');1326 $pagerCont.eq(index).addClass('lg-pager-active');1327 });1328 };1329 Pager.prototype.destroy = function() {1330 };1331 $.fn.lightGallery.modules.pager = Pager;1332})(jQuery, window, document);1333(function($, window, document, undefined) {1334 'use strict';1335 var defaults = {1336 thumbnail: true,1337 animateThumb: true,1338 currentPagerPosition: 'middle',1339 thumbWidth: 100,1340 thumbContHeight: 100,1341 thumbMargin: 5,1342 exThumbImage: false,1343 showThumbByDefault: true,1344 toogleThumb: true,1345 pullCaptionUp: true,1346 enableThumbDrag: true,1347 enableThumbSwipe: true,1348 swipeThreshold: 50,1349 loadYoutubeThumbnail: true,1350 youtubeThumbSize: 1,1351 loadVimeoThumbnail: true,1352 vimeoThumbSize: 'thumbnail_small',1353 loadDailymotionThumbnail: true1354 };1355 var Thumbnail = function(element) {1356 // get lightGallery core plugin data1357 this.core = $(element).data('lightGallery');1358 // extend module default settings with lightGallery core settings1359 this.core.s = $.extend({}, defaults, this.core.s);1360 this.$el = $(element);1361 this.$thumbOuter = null;1362 this.thumbOuterWidth = 0;1363 this.thumbTotalWidth = (this.core.$items.length * (this.core.s.thumbWidth + this.core.s.thumbMargin));1364 this.thumbIndex = this.core.index;1365 // Thumbnail animation value1366 this.left = 0;1367 this.init();1368 return this;1369 };1370 Thumbnail.prototype.init = function() {1371 var _this = this;1372 if (this.core.s.thumbnail && this.core.$items.length > 1) {1373 if (this.core.s.showThumbByDefault) {1374 setTimeout(function(){1375 _this.core.$outer.addClass('lg-thumb-open');1376 }, 700);1377 }1378 if (this.core.s.pullCaptionUp) {1379 this.core.$outer.addClass('lg-pull-caption-up');1380 }1381 this.build();1382 if (this.core.s.animateThumb) {1383 if (this.core.s.enableThumbDrag && !this.core.isTouch && this.core.doCss()) {1384 this.enableThumbDrag();1385 }1386 if (this.core.s.enableThumbSwipe && this.core.isTouch && this.core.doCss()) {1387 this.enableThumbSwipe();1388 }1389 this.thumbClickable = false;1390 } else {1391 this.thumbClickable = true;1392 }1393 this.toogle();1394 this.thumbkeyPress();1395 }1396 };1397 Thumbnail.prototype.build = function() {1398 var _this = this;1399 var thumbList = '';1400 var vimeoErrorThumbSize = '';1401 var $thumb;1402 var html = '<div class="lg-thumb-outer">' +1403 '<div class="lg-thumb group">' +1404 '</div>' +1405 '</div>';1406 switch (this.core.s.vimeoThumbSize) {1407 case 'thumbnail_large':1408 vimeoErrorThumbSize = '640';1409 break;1410 case 'thumbnail_medium':1411 vimeoErrorThumbSize = '200x150';1412 break;1413 case 'thumbnail_small':1414 vimeoErrorThumbSize = '100x75';1415 }1416 _this.core.$outer.addClass('lg-has-thumb');1417 _this.core.$outer.find('.lg').append(html);1418 _this.$thumbOuter = _this.core.$outer.find('.lg-thumb-outer');1419 _this.thumbOuterWidth = _this.$thumbOuter.width();1420 if (_this.core.s.animateThumb) {1421 _this.core.$outer.find('.lg-thumb').css({1422 width: _this.thumbTotalWidth + 'px',1423 position: 'relative'1424 });1425 }1426 if (this.core.s.animateThumb) {1427 _this.$thumbOuter.css('height', _this.core.s.thumbContHeight + 'px');1428 }1429 function getThumb(src, thumb, index) {1430 var isVideo = _this.core.isVideo(src, index) || {};1431 var thumbImg;1432 var vimeoId = '';1433 if (isVideo.youtube || isVideo.vimeo || isVideo.dailymotion) {1434 if (isVideo.youtube) {1435 if (_this.core.s.loadYoutubeThumbnail) {1436 thumbImg = '//img.youtube.com/vi/' + isVideo.youtube[1] + '/' + _this.core.s.youtubeThumbSize + '.jpg';1437 } else {1438 thumbImg = thumb;1439 }1440 } else if (isVideo.vimeo) {1441 if (_this.core.s.loadVimeoThumbnail) {1442 thumbImg = '//i.vimeocdn.com/video/error_' + vimeoErrorThumbSize + '.jpg';1443 vimeoId = isVideo.vimeo[1];1444 } else {1445 thumbImg = thumb;1446 }1447 } else if (isVideo.dailymotion) {1448 if (_this.core.s.loadDailymotionThumbnail) {1449 thumbImg = '//www.dailymotion.com/thumbnail/video/' + isVideo.dailymotion[1];1450 } else {1451 thumbImg = thumb;1452 }1453 }1454 } else {1455 thumbImg = thumb;1456 }1457 thumbList += '<div data-vimeo-id="' + vimeoId + '" class="lg-thumb-item" style="width:' + _this.core.s.thumbWidth + 'px; margin-right: ' + _this.core.s.thumbMargin + 'px"><img src="' + thumbImg + '" /></div>';1458 vimeoId = '';1459 }1460 if (_this.core.s.dynamic) {1461 for (var i = 0; i < _this.core.s.dynamicEl.length; i++) {1462 getThumb(_this.core.s.dynamicEl[i].src, _this.core.s.dynamicEl[i].thumb, i);1463 }1464 } else {1465 _this.core.$items.each(function(i) {1466 if (!_this.core.s.exThumbImage) {1467 getThumb($(this).attr('href') || $(this).attr('data-src'), $(this).find('img').attr('src'), i);1468 } else {1469 getThumb($(this).attr('href') || $(this).attr('data-src'), $(this).attr(_this.core.s.exThumbImage), i);1470 }1471 });1472 }1473 _this.core.$outer.find('.lg-thumb').html(thumbList);1474 $thumb = _this.core.$outer.find('.lg-thumb-item');1475 // Load vimeo thumbnails1476 $thumb.each(function() {1477 var $this = $(this);1478 var vimeoVideoId = $this.attr('data-vimeo-id');1479 if (vimeoVideoId) {1480 $.getJSON('//www.vimeo.com/api/v2/video/' + vimeoVideoId + '.json?callback=?', {1481 format: 'json'1482 }, function(data) {1483 $this.find('img').attr('src', data[0][_this.core.s.vimeoThumbSize]);1484 });1485 }1486 });1487 // manage active class for thumbnail1488 $thumb.eq(_this.core.index).addClass('active');1489 _this.core.$el.on('onBeforeSlide.lg.tm', function() {1490 $thumb.removeClass('active');1491 $thumb.eq(_this.core.index).addClass('active');1492 });1493 $thumb.on('click.lg touchend.lg', function() {1494 var _$this = $(this);1495 setTimeout(function() {1496 // In IE9 and bellow touch does not support1497 // Go to slide if browser does not support css transitions1498 if ((_this.thumbClickable && !_this.core.lgBusy) || !_this.core.doCss()) {1499 _this.core.index = _$this.index();1500 _this.core.slide(_this.core.index, false, true);1501 }1502 }, 50);1503 });1504 _this.core.$el.on('onBeforeSlide.lg.tm', function() {1505 _this.animateThumb(_this.core.index);1506 });1507 $(window).on('resize.lg.thumb orientationchange.lg.thumb', function() {1508 setTimeout(function() {1509 _this.animateThumb(_this.core.index);1510 _this.thumbOuterWidth = _this.$thumbOuter.width();1511 }, 200);1512 });1513 };1514 Thumbnail.prototype.setTranslate = function(value) {1515 // jQuery supports Automatic CSS prefixing since jQuery 1.8.01516 this.core.$outer.find('.lg-thumb').css({1517 transform: 'translate3d(-' + (value) + 'px, 0px, 0px)'1518 });1519 };1520 Thumbnail.prototype.animateThumb = function(index) {1521 var $thumb = this.core.$outer.find('.lg-thumb');1522 if (this.core.s.animateThumb) {1523 var position;1524 switch (this.core.s.currentPagerPosition) {1525 case 'left':1526 position = 0;1527 break;1528 case 'middle':1529 position = (this.thumbOuterWidth / 2) - (this.core.s.thumbWidth / 2);1530 break;1531 case 'right':1532 position = this.thumbOuterWidth - this.core.s.thumbWidth;1533 }1534 this.left = ((this.core.s.thumbWidth + this.core.s.thumbMargin) * index - 1) - position;1535 if (this.left > (this.thumbTotalWidth - this.thumbOuterWidth)) {1536 this.left = this.thumbTotalWidth - this.thumbOuterWidth;1537 }1538 if (this.left < 0) {1539 this.left = 0;1540 }1541 if (this.core.lGalleryOn) {1542 if (!$thumb.hasClass('on')) {1543 this.core.$outer.find('.lg-thumb').css('transition-duration', this.core.s.speed + 'ms');1544 }1545 if (!this.core.doCss()) {1546 $thumb.animate({1547 left: -this.left + 'px'1548 }, this.core.s.speed);1549 }1550 } else {1551 if (!this.core.doCss()) {1552 $thumb.css('left', -this.left + 'px');1553 }1554 }1555 this.setTranslate(this.left);1556 }1557 };1558 // Enable thumbnail dragging and swiping1559 Thumbnail.prototype.enableThumbDrag = function() {1560 var _this = this;1561 var startCoords = 0;1562 var endCoords = 0;1563 var isDraging = false;1564 var isMoved = false;1565 var tempLeft = 0;1566 _this.$thumbOuter.addClass('lg-grab');1567 _this.core.$outer.find('.lg-thumb').on('mousedown.lg.thumb', function(e) {1568 if (_this.thumbTotalWidth > _this.thumbOuterWidth) {1569 // execute only on .lg-object1570 e.preventDefault();1571 startCoords = e.pageX;1572 isDraging = true;1573 // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=267231574 _this.core.$outer.scrollLeft += 1;1575 _this.core.$outer.scrollLeft -= 1;1576 // *1577 _this.thumbClickable = false;1578 _this.$thumbOuter.removeClass('lg-grab').addClass('lg-grabbing');1579 }1580 });1581 $(window).on('mousemove.lg.thumb', function(e) {1582 if (isDraging) {1583 tempLeft = _this.left;1584 isMoved = true;1585 endCoords = e.pageX;1586 _this.$thumbOuter.addClass('lg-dragging');1587 tempLeft = tempLeft - (endCoords - startCoords);1588 if (tempLeft > (_this.thumbTotalWidth - _this.thumbOuterWidth)) {1589 tempLeft = _this.thumbTotalWidth - _this.thumbOuterWidth;1590 }1591 if (tempLeft < 0) {1592 tempLeft = 0;1593 }1594 // move current slide1595 _this.setTranslate(tempLeft);1596 }1597 });1598 $(window).on('mouseup.lg.thumb', function() {1599 if (isMoved) {1600 isMoved = false;1601 _this.$thumbOuter.removeClass('lg-dragging');1602 _this.left = tempLeft;1603 if (Math.abs(endCoords - startCoords) < _this.core.s.swipeThreshold) {1604 _this.thumbClickable = true;1605 }1606 } else {1607 _this.thumbClickable = true;1608 }1609 if (isDraging) {1610 isDraging = false;1611 _this.$thumbOuter.removeClass('lg-grabbing').addClass('lg-grab');1612 }1613 });1614 };1615 Thumbnail.prototype.enableThumbSwipe = function() {1616 var _this = this;1617 var startCoords = 0;1618 var endCoords = 0;1619 var isMoved = false;1620 var tempLeft = 0;1621 _this.core.$outer.find('.lg-thumb').on('touchstart.lg', function(e) {1622 if (_this.thumbTotalWidth > _this.thumbOuterWidth) {1623 e.preventDefault();1624 startCoords = e.originalEvent.targetTouches[0].pageX;1625 _this.thumbClickable = false;1626 }1627 });1628 _this.core.$outer.find('.lg-thumb').on('touchmove.lg', function(e) {1629 if (_this.thumbTotalWidth > _this.thumbOuterWidth) {1630 e.preventDefault();1631 endCoords = e.originalEvent.targetTouches[0].pageX;1632 isMoved = true;1633 _this.$thumbOuter.addClass('lg-dragging');1634 tempLeft = _this.left;1635 tempLeft = tempLeft - (endCoords - startCoords);1636 if (tempLeft > (_this.thumbTotalWidth - _this.thumbOuterWidth)) {1637 tempLeft = _this.thumbTotalWidth - _this.thumbOuterWidth;1638 }1639 if (tempLeft < 0) {1640 tempLeft = 0;1641 }1642 // move current slide1643 _this.setTranslate(tempLeft);1644 }1645 });1646 _this.core.$outer.find('.lg-thumb').on('touchend.lg', function() {1647 if (_this.thumbTotalWidth > _this.thumbOuterWidth) {1648 if (isMoved) {1649 isMoved = false;1650 _this.$thumbOuter.removeClass('lg-dragging');1651 if (Math.abs(endCoords - startCoords) < _this.core.s.swipeThreshold) {1652 _this.thumbClickable = true;1653 }1654 _this.left = tempLeft;1655 } else {1656 _this.thumbClickable = true;1657 }1658 } else {1659 _this.thumbClickable = true;1660 }1661 });1662 };1663 Thumbnail.prototype.toogle = function() {1664 var _this = this;1665 if (_this.core.s.toogleThumb) {1666 _this.core.$outer.addClass('lg-can-toggle');1667 _this.$thumbOuter.append('<span class="lg-toogle-thumb lg-icon"></span>');1668 _this.core.$outer.find('.lg-toogle-thumb').on('click.lg', function() {1669 _this.core.$outer.toggleClass('lg-thumb-open');1670 });1671 }1672 };1673 Thumbnail.prototype.thumbkeyPress = function() {1674 var _this = this;1675 $(window).on('keydown.lg.thumb', function(e) {1676 if (e.keyCode === 38) {1677 e.preventDefault();1678 _this.core.$outer.addClass('lg-thumb-open');1679 } else if (e.keyCode === 40) {1680 e.preventDefault();1681 _this.core.$outer.removeClass('lg-thumb-open');1682 }1683 });1684 };1685 Thumbnail.prototype.destroy = function() {1686 if (this.core.s.thumbnail && this.core.$items.length > 1) {1687 $(window).off('resize.lg.thumb orientationchange.lg.thumb keydown.lg.thumb');1688 this.$thumbOuter.remove();1689 this.core.$outer.removeClass('lg-has-thumb');1690 }1691 };1692 $.fn.lightGallery.modules.Thumbnail = Thumbnail;1693})(jQuery, window, document);1694(function($, window, document, undefined) {1695 'use strict';1696 var defaults = {1697 videoMaxWidth: '855px',1698 youtubePlayerParams: false,1699 vimeoPlayerParams: false,1700 dailymotionPlayerParams: false,1701 vkPlayerParams: false,1702 videojs: false,1703 videojsOptions: {}1704 };1705 var Video = function(element) {1706 this.core = $(element).data('lightGallery');1707 this.$el = $(element);1708 this.core.s = $.extend({}, defaults, this.core.s);1709 this.videoLoaded = false;1710 this.init();1711 return this;1712 };1713 Video.prototype.init = function() {1714 var _this = this;1715 // Event triggered when video url found without poster1716 _this.core.$el.on('hasVideo.lg.tm', function(event, index, src, html) {1717 _this.core.$slide.eq(index).find('.lg-video').append(_this.loadVideo(src, 'lg-object', true, index, html));1718 if (html) {1719 if (_this.core.s.videojs) {1720 try {1721 videojs(_this.core.$slide.eq(index).find('.lg-html5').get(0), _this.core.s.videojsOptions, function() {1722 if (!_this.videoLoaded) {1723 this.play();1724 }1725 });1726 } catch (e) {1727 console.error('Make sure you have included videojs');1728 }1729 } else {1730 _this.core.$slide.eq(index).find('.lg-html5').get(0).play();1731 }1732 }1733 });1734 // Set max width for video1735 _this.core.$el.on('onAferAppendSlide.lg.tm', function(event, index) {1736 _this.core.$slide.eq(index).find('.lg-video-cont').css('max-width', _this.core.s.videoMaxWidth);1737 _this.videoLoaded = true;1738 });1739 var loadOnClick = function($el) {1740 // check slide has poster1741 if ($el.find('.lg-object').hasClass('lg-has-poster') && $el.find('.lg-object').is(':visible')) {1742 // check already video element present1743 if (!$el.hasClass('lg-has-video')) {1744 $el.addClass('lg-video-playing lg-has-video');1745 var _src;1746 var _html;1747 var _loadVideo = function(_src, _html) {1748 $el.find('.lg-video').append(_this.loadVideo(_src, '', false, _this.core.index, _html));1749 if (_html) {1750 if (_this.core.s.videojs) {1751 try {1752 videojs(_this.core.$slide.eq(_this.core.index).find('.lg-html5').get(0), _this.core.s.videojsOptions, function() {1753 this.play();1754 });1755 } catch (e) {1756 console.error('Make sure you have included videojs');1757 }1758 } else {1759 _this.core.$slide.eq(_this.core.index).find('.lg-html5').get(0).play();1760 }1761 }1762 };1763 if (_this.core.s.dynamic) {1764 _src = _this.core.s.dynamicEl[_this.core.index].src;1765 _html = _this.core.s.dynamicEl[_this.core.index].html;1766 _loadVideo(_src, _html);1767 } else {1768 _src = _this.core.$items.eq(_this.core.index).attr('href') || _this.core.$items.eq(_this.core.index).attr('data-src');1769 _html = _this.core.$items.eq(_this.core.index).attr('data-html');1770 _loadVideo(_src, _html);1771 }1772 var $tempImg = $el.find('.lg-object');1773 $el.find('.lg-video').append($tempImg);1774 // @todo loading icon for html5 videos also1775 // for showing the loading indicator while loading video1776 if (!$el.find('.lg-video-object').hasClass('lg-html5')) {1777 $el.removeClass('lg-complete');1778 $el.find('.lg-video-object').on('load.lg error.lg', function() {1779 $el.addClass('lg-complete');1780 });1781 }1782 } else {1783 var youtubePlayer = $el.find('.lg-youtube').get(0);1784 var vimeoPlayer = $el.find('.lg-vimeo').get(0);1785 var dailymotionPlayer = $el.find('.lg-dailymotion').get(0);1786 var html5Player = $el.find('.lg-html5').get(0);1787 if (youtubePlayer) {1788 youtubePlayer.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', '*');1789 } else if (vimeoPlayer) {1790 try {1791 $f(vimeoPlayer).api('play');1792 } catch (e) {1793 console.error('Make sure you have included froogaloop2 js');1794 }1795 } else if (dailymotionPlayer) {1796 dailymotionPlayer.contentWindow.postMessage('play', '*');1797 } else if (html5Player) {1798 if (_this.core.s.videojs) {1799 try {1800 videojs(html5Player).play();1801 } catch (e) {1802 console.error('Make sure you have included videojs');1803 }1804 } else {1805 html5Player.play();1806 }1807 }1808 $el.addClass('lg-video-playing');1809 }1810 }1811 };1812 if (_this.core.doCss() && _this.core.$items.length > 1 && ((_this.core.s.enableSwipe && _this.core.isTouch) || (_this.core.s.enableDrag && !_this.core.isTouch))) {1813 _this.core.$el.on('onSlideClick.lg.tm', function() {1814 var $el = _this.core.$slide.eq(_this.core.index);1815 loadOnClick($el);1816 });1817 } else {1818 // For IE 9 and bellow1819 _this.core.$slide.on('click.lg', function() {1820 loadOnClick($(this));1821 });1822 }1823 _this.core.$el.on('onBeforeSlide.lg.tm', function(event, prevIndex, index) {1824 var $videoSlide = _this.core.$slide.eq(prevIndex);1825 var youtubePlayer = $videoSlide.find('.lg-youtube').get(0);1826 var vimeoPlayer = $videoSlide.find('.lg-vimeo').get(0);1827 var dailymotionPlayer = $videoSlide.find('.lg-dailymotion').get(0);1828 var vkPlayer = $videoSlide.find('.lg-vk').get(0);1829 var html5Player = $videoSlide.find('.lg-html5').get(0);1830 if (youtubePlayer) {1831 youtubePlayer.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', '*');1832 } else if (vimeoPlayer) {1833 try {1834 $f(vimeoPlayer).api('pause');1835 } catch (e) {1836 console.error('Make sure you have included froogaloop2 js');1837 }1838 } else if (dailymotionPlayer) {1839 dailymotionPlayer.contentWindow.postMessage('pause', '*');1840 } else if (html5Player) {1841 if (_this.core.s.videojs) {1842 try {1843 videojs(html5Player).pause();1844 } catch (e) {1845 console.error('Make sure you have included videojs');1846 }1847 } else {1848 html5Player.pause();1849 }1850 } if (vkPlayer) {1851 $(vkPlayer).attr('src', $(vkPlayer).attr('src').replace('&autoplay', '&noplay'));1852 }1853 var _src;1854 if (_this.core.s.dynamic) {1855 _src = _this.core.s.dynamicEl[index].src;1856 } else {1857 _src = _this.core.$items.eq(index).attr('href') || _this.core.$items.eq(index).attr('data-src');1858 }1859 var _isVideo = _this.core.isVideo(_src, index) || {};1860 if (_isVideo.youtube || _isVideo.vimeo || _isVideo.dailymotion || _isVideo.vk) {1861 _this.core.$outer.addClass('lg-hide-download');1862 }1863 //$videoSlide.addClass('lg-complete');1864 });1865 _this.core.$el.on('onAfterSlide.lg.tm', function(event, prevIndex) {1866 _this.core.$slide.eq(prevIndex).removeClass('lg-video-playing');1867 });1868 };1869 Video.prototype.loadVideo = function(src, addClass, noposter, index, html) {1870 var video = '';1871 var autoplay = 1;1872 var a = '';1873 var isVideo = this.core.isVideo(src, index) || {};1874 // Enable autoplay for first video if poster doesn't exist1875 if (noposter) {1876 if (this.videoLoaded) {1877 autoplay = 0;1878 } else {1879 autoplay = 1;1880 }1881 }1882 if (isVideo.youtube) {1883 a = '?wmode=opaque&autoplay=' + autoplay + '&enablejsapi=1';1884 if (this.core.s.youtubePlayerParams) {1885 a = a + '&' + $.param(this.core.s.youtubePlayerParams);1886 }1887 video = '<iframe class="lg-video-object lg-youtube ' + addClass + '" width="560" height="315" src="//www.youtube.com/embed/' + isVideo.youtube[1] + a + '" frameborder="0" allowfullscreen></iframe>';1888 } else if (isVideo.vimeo) {1889 a = '?autoplay=' + autoplay + '&api=1';1890 if (this.core.s.vimeoPlayerParams) {1891 a = a + '&' + $.param(this.core.s.vimeoPlayerParams);1892 }1893 video = '<iframe class="lg-video-object lg-vimeo ' + addClass + '" width="560" height="315" src="//player.vimeo.com/video/' + isVideo.vimeo[1] + a + '" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>';1894 } else if (isVideo.dailymotion) {1895 a = '?wmode=opaque&autoplay=' + autoplay + '&api=postMessage';1896 if (this.core.s.dailymotionPlayerParams) {1897 a = a + '&' + $.param(this.core.s.dailymotionPlayerParams);1898 }1899 video = '<iframe class="lg-video-object lg-dailymotion ' + addClass + '" width="560" height="315" src="//www.dailymotion.com/embed/video/' + isVideo.dailymotion[1] + a + '" frameborder="0" allowfullscreen></iframe>';1900 } else if (isVideo.html5) {1901 var fL = html.substring(0, 1);1902 if (fL === '.' || fL === '#') {1903 html = $(html).html();1904 }1905 video = html;1906 } else if (isVideo.vk) {1907 a = '&autoplay=' + autoplay;1908 if (this.core.s.vkPlayerParams) {1909 a = a + '&' + $.param(this.core.s.vkPlayerParams);1910 }1911 video = '<iframe class="lg-video-object lg-vk ' + addClass + '" width="560" height="315" src="http://vk.com/video_ext.php?' + isVideo.vk[1] + a + '" frameborder="0" allowfullscreen></iframe>';1912 }1913 return video;1914 };1915 Video.prototype.destroy = function() {1916 this.videoLoaded = false;1917 };1918 $.fn.lightGallery.modules.video = Video;1919})(jQuery, window, document);1920(function($, window, document, undefined) {1921 'use strict';1922 var defaults = {1923 scale: 1,1924 zoom: true,1925 actualSize: true,1926 enableZoomAfter: 3001927 };1928 var Zoom = function(element) {1929 this.core = $(element).data('lightGallery');1930 this.core.s = $.extend({}, defaults, this.core.s);1931 if (this.core.s.zoom && this.core.doCss()) {1932 this.init();1933 // Store the zoomable timeout value just to clear it while closing1934 this.zoomabletimeout = false;1935 // Set the initial value center1936 this.pageX = $(window).width() / 2;1937 this.pageY = ($(window).height() / 2) + $(window).scrollTop();1938 }1939 return this;1940 };1941 Zoom.prototype.init = function() {1942 var _this = this;1943 var zoomIcons = '<span id="lg-zoom-in" class="lg-icon"></span><span id="lg-zoom-out" class="lg-icon"></span>';1944 if (_this.core.s.actualSize) {1945 zoomIcons += '<span id="lg-actual-size" class="lg-icon"></span>';1946 }1947 this.core.$outer.find('.lg-toolbar').append(zoomIcons);1948 // Add zoomable class1949 _this.core.$el.on('onSlideItemLoad.lg.tm.zoom', function(event, index, delay) {1950 // delay will be 0 except first time1951 var _speed = _this.core.s.enableZoomAfter + delay;1952 // set _speed value 0 if gallery opened from direct url and if it is first slide1953 if ($('body').hasClass('lg-from-hash') && delay) {1954 // will execute only once1955 _speed = 0;1956 } else {1957 // Remove lg-from-hash to enable starting animation.1958 $('body').removeClass('lg-from-hash');1959 }1960 _this.zoomabletimeout = setTimeout(function() {1961 _this.core.$slide.eq(index).addClass('lg-zoomable');1962 }, _speed + 30);1963 });1964 var scale = 1;1965 /**1966 * @desc Image zoom1967 * Translate the wrap and scale the image to get better user experience1968 *1969 * @param {String} scaleVal - Zoom decrement/increment value1970 */1971 var zoom = function(scaleVal) {1972 var $image = _this.core.$outer.find('.lg-current .lg-image');1973 var _x;1974 var _y;1975 // Find offset manually to avoid issue after zoom1976 var offsetX = ($(window).width() - $image.width()) / 2;1977 var offsetY = (($(window).height() - $image.height()) / 2) + $(window).scrollTop();1978 _x = _this.pageX - offsetX;1979 _y = _this.pageY - offsetY;1980 var x = (scaleVal - 1) * (_x);1981 var y = (scaleVal - 1) * (_y);1982 $image.css('transform', 'scale3d(' + scaleVal + ', ' + scaleVal + ', 1)').attr('data-scale', scaleVal);1983 $image.parent().css({1984 left: -x + 'px',1985 top: -y + 'px'1986 }).attr('data-x', x).attr('data-y', y);1987 };1988 var callScale = function() {1989 if (scale > 1) {1990 _this.core.$outer.addClass('lg-zoomed');1991 } else {1992 _this.resetZoom();1993 }1994 if (scale < 1) {1995 scale = 1;1996 }1997 zoom(scale);1998 };1999 var actualSize = function(event, $image, index, fromIcon) {2000 var w = $image.width();2001 var nw;2002 if (_this.core.s.dynamic) {2003 nw = _this.core.s.dynamicEl[index].width || $image[0].naturalWidth || w;2004 } else {2005 nw = _this.core.$items.eq(index).attr('data-width') || $image[0].naturalWidth || w;2006 }2007 var _scale;2008 if (_this.core.$outer.hasClass('lg-zoomed')) {2009 scale = 1;2010 } else {2011 if (nw > w) {2012 _scale = nw / w;2013 scale = _scale || 2;2014 }2015 }2016 if (fromIcon) {2017 _this.pageX = $(window).width() / 2;2018 _this.pageY = ($(window).height() / 2) + $(window).scrollTop();2019 } else {2020 _this.pageX = event.pageX || event.originalEvent.targetTouches[0].pageX;2021 _this.pageY = event.pageY || event.originalEvent.targetTouches[0].pageY;2022 }2023 callScale();2024 setTimeout(function() {2025 _this.core.$outer.removeClass('lg-grabbing').addClass('lg-grab');2026 }, 10);2027 };2028 var tapped = false;2029 // event triggered after appending slide content2030 _this.core.$el.on('onAferAppendSlide.lg.tm.zoom', function(event, index) {2031 // Get the current element2032 var $image = _this.core.$slide.eq(index).find('.lg-image');2033 $image.on('dblclick', function(event) {2034 actualSize(event, $image, index);2035 });2036 $image.on('touchstart', function(event) {2037 if (!tapped) {2038 tapped = setTimeout(function() {2039 tapped = null;2040 }, 300);2041 } else {2042 clearTimeout(tapped);2043 tapped = null;2044 actualSize(event, $image, index);2045 }2046 event.preventDefault();2047 });2048 });2049 // Update zoom on resize and orientationchange2050 $(window).on('resize.lg.zoom scroll.lg.zoom orientationchange.lg.zoom', function() {2051 _this.pageX = $(window).width() / 2;2052 _this.pageY = ($(window).height() / 2) + $(window).scrollTop();2053 zoom(scale);2054 });2055 $('#lg-zoom-out').on('click.lg', function() {2056 if (_this.core.$outer.find('.lg-current .lg-image').length) {2057 scale -= _this.core.s.scale;2058 callScale();2059 }2060 });2061 $('#lg-zoom-in').on('click.lg', function() {2062 if (_this.core.$outer.find('.lg-current .lg-image').length) {2063 scale += _this.core.s.scale;2064 callScale();2065 }2066 });2067 $('#lg-actual-size').on('click.lg', function(event) {2068 actualSize(event, _this.core.$slide.eq(_this.core.index).find('.lg-image'), _this.core.index, true);2069 });2070 // Reset zoom on slide change2071 _this.core.$el.on('onBeforeSlide.lg.tm', function() {2072 scale = 1;2073 _this.resetZoom();2074 });2075 // Drag option after zoom2076 if (!_this.core.isTouch) {2077 _this.zoomDrag();2078 }2079 if (_this.core.isTouch) {2080 _this.zoomSwipe();2081 }2082 };2083 // Reset zoom effect2084 Zoom.prototype.resetZoom = function() {2085 this.core.$outer.removeClass('lg-zoomed');2086 this.core.$slide.find('.lg-img-wrap').removeAttr('style data-x data-y');2087 this.core.$slide.find('.lg-image').removeAttr('style data-scale');2088 // Reset pagx pagy values to center2089 this.pageX = $(window).width() / 2;2090 this.pageY = ($(window).height() / 2) + $(window).scrollTop();2091 };2092 Zoom.prototype.zoomSwipe = function() {2093 var _this = this;2094 var startCoords = {};2095 var endCoords = {};2096 var isMoved = false;2097 // Allow x direction drag2098 var allowX = false;2099 // Allow Y direction drag2100 var allowY = false;2101 _this.core.$slide.on('touchstart.lg', function(e) {2102 if (_this.core.$outer.hasClass('lg-zoomed')) {2103 var $image = _this.core.$slide.eq(_this.core.index).find('.lg-object');2104 allowY = $image.outerHeight() * $image.attr('data-scale') > _this.core.$outer.find('.lg').height();2105 allowX = $image.outerWidth() * $image.attr('data-scale') > _this.core.$outer.find('.lg').width();2106 if ((allowX || allowY)) {2107 e.preventDefault();2108 startCoords = {2109 x: e.originalEvent.targetTouches[0].pageX,2110 y: e.originalEvent.targetTouches[0].pageY2111 };2112 }2113 }2114 });2115 _this.core.$slide.on('touchmove.lg', function(e) {2116 if (_this.core.$outer.hasClass('lg-zoomed')) {2117 var _$el = _this.core.$slide.eq(_this.core.index).find('.lg-img-wrap');2118 var distanceX;2119 var distanceY;2120 e.preventDefault();2121 isMoved = true;2122 endCoords = {2123 x: e.originalEvent.targetTouches[0].pageX,2124 y: e.originalEvent.targetTouches[0].pageY2125 };2126 // reset opacity and transition duration2127 _this.core.$outer.addClass('lg-zoom-dragging');2128 if (allowY) {2129 distanceY = (-Math.abs(_$el.attr('data-y'))) + (endCoords.y - startCoords.y);2130 } else {2131 distanceY = -Math.abs(_$el.attr('data-y'));2132 }2133 if (allowX) {2134 distanceX = (-Math.abs(_$el.attr('data-x'))) + (endCoords.x - startCoords.x);2135 } else {2136 distanceX = -Math.abs(_$el.attr('data-x'));2137 }2138 if ((Math.abs(endCoords.x - startCoords.x) > 15) || (Math.abs(endCoords.y - startCoords.y) > 15)) {2139 _$el.css({2140 left: distanceX + 'px',2141 top: distanceY + 'px'2142 });2143 }2144 }2145 });2146 _this.core.$slide.on('touchend.lg', function() {2147 if (_this.core.$outer.hasClass('lg-zoomed')) {2148 if (isMoved) {2149 isMoved = false;2150 _this.core.$outer.removeClass('lg-zoom-dragging');2151 _this.touchendZoom(startCoords, endCoords, allowX, allowY);2152 }2153 }2154 });2155 };2156 Zoom.prototype.zoomDrag = function() {2157 var _this = this;2158 var startCoords = {};2159 var endCoords = {};2160 var isDraging = false;2161 var isMoved = false;2162 // Allow x direction drag2163 var allowX = false;2164 // Allow Y direction drag2165 var allowY = false;2166 _this.core.$slide.on('mousedown.lg.zoom', function(e) {2167 // execute only on .lg-object2168 var $image = _this.core.$slide.eq(_this.core.index).find('.lg-object');2169 allowY = $image.outerHeight() * $image.attr('data-scale') > _this.core.$outer.find('.lg').height();2170 allowX = $image.outerWidth() * $image.attr('data-scale') > _this.core.$outer.find('.lg').width();2171 if (_this.core.$outer.hasClass('lg-zoomed')) {2172 if ($(e.target).hasClass('lg-object') && (allowX || allowY)) {2173 e.preventDefault();2174 startCoords = {2175 x: e.pageX,2176 y: e.pageY2177 };2178 isDraging = true;2179 // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=267232180 _this.core.$outer.scrollLeft += 1;2181 _this.core.$outer.scrollLeft -= 1;2182 _this.core.$outer.removeClass('lg-grab').addClass('lg-grabbing');2183 }2184 }2185 });2186 $(window).on('mousemove.lg.zoom', function(e) {2187 if (isDraging) {2188 var _$el = _this.core.$slide.eq(_this.core.index).find('.lg-img-wrap');2189 var distanceX;2190 var distanceY;2191 isMoved = true;2192 endCoords = {2193 x: e.pageX,2194 y: e.pageY2195 };2196 // reset opacity and transition duration2197 _this.core.$outer.addClass('lg-zoom-dragging');2198 if (allowY) {2199 distanceY = (-Math.abs(_$el.attr('data-y'))) + (endCoords.y - startCoords.y);2200 } else {2201 distanceY = -Math.abs(_$el.attr('data-y'));2202 }2203 if (allowX) {2204 distanceX = (-Math.abs(_$el.attr('data-x'))) + (endCoords.x - startCoords.x);2205 } else {2206 distanceX = -Math.abs(_$el.attr('data-x'));2207 }2208 _$el.css({2209 left: distanceX + 'px',2210 top: distanceY + 'px'2211 });2212 }2213 });2214 $(window).on('mouseup.lg.zoom', function(e) {2215 if (isDraging) {2216 isDraging = false;2217 _this.core.$outer.removeClass('lg-zoom-dragging');2218 // Fix for chrome mouse move on click2219 if (isMoved && ((startCoords.x !== endCoords.x) || (startCoords.y !== endCoords.y))) {2220 endCoords = {2221 x: e.pageX,2222 y: e.pageY2223 };2224 _this.touchendZoom(startCoords, endCoords, allowX, allowY);2225 }2226 isMoved = false;2227 }2228 _this.core.$outer.removeClass('lg-grabbing').addClass('lg-grab');2229 });2230 };2231 Zoom.prototype.touchendZoom = function(startCoords, endCoords, allowX, allowY) {2232 var _this = this;2233 var _$el = _this.core.$slide.eq(_this.core.index).find('.lg-img-wrap');2234 var $image = _this.core.$slide.eq(_this.core.index).find('.lg-object');2235 var distanceX = (-Math.abs(_$el.attr('data-x'))) + (endCoords.x - startCoords.x);2236 var distanceY = (-Math.abs(_$el.attr('data-y'))) + (endCoords.y - startCoords.y);2237 var minY = (_this.core.$outer.find('.lg').height() - $image.outerHeight()) / 2;2238 var maxY = Math.abs(($image.outerHeight() * Math.abs($image.attr('data-scale'))) - _this.core.$outer.find('.lg').height() + minY);2239 var minX = (_this.core.$outer.find('.lg').width() - $image.outerWidth()) / 2;2240 var maxX = Math.abs(($image.outerWidth() * Math.abs($image.attr('data-scale'))) - _this.core.$outer.find('.lg').width() + minX);2241 if ((Math.abs(endCoords.x - startCoords.x) > 15) || (Math.abs(endCoords.y - startCoords.y) > 15)) {2242 if (allowY) {2243 if (distanceY <= -maxY) {2244 distanceY = -maxY;2245 } else if (distanceY >= -minY) {2246 distanceY = -minY;2247 }2248 }2249 if (allowX) {2250 if (distanceX <= -maxX) {2251 distanceX = -maxX;2252 } else if (distanceX >= -minX) {2253 distanceX = -minX;2254 }2255 }2256 if (allowY) {2257 _$el.attr('data-y', Math.abs(distanceY));2258 } else {2259 distanceY = -Math.abs(_$el.attr('data-y'));2260 }2261 if (allowX) {2262 _$el.attr('data-x', Math.abs(distanceX));2263 } else {2264 distanceX = -Math.abs(_$el.attr('data-x'));2265 }2266 _$el.css({2267 left: distanceX + 'px',2268 top: distanceY + 'px'2269 });2270 }2271 };2272 Zoom.prototype.destroy = function() {2273 var _this = this;2274 // Unbind all events added by lightGallery zoom plugin2275 _this.core.$el.off('.lg.zoom');2276 $(window).off('.lg.zoom');2277 _this.core.$slide.off('.lg.zoom');2278 _this.core.$el.off('.lg.tm.zoom');2279 _this.resetZoom();2280 clearTimeout(_this.zoomabletimeout);2281 _this.zoomabletimeout = false;2282 };2283 $.fn.lightGallery.modules.zoom = Zoom;2284})(jQuery, window, document);2285(function($, window, document, undefined) {2286 'use strict';2287 var defaults = {2288 hash: true2289 };2290 var Hash = function(element) {2291 this.core = $(element).data('lightGallery');2292 this.core.s = $.extend({}, defaults, this.core.s);2293 if (this.core.s.hash) {2294 this.oldHash = window.location.hash;2295 this.init();2296 }2297 return this;2298 };2299 Hash.prototype.init = function() {2300 var _this = this;2301 var _hash;2302 // Change hash value on after each slide transition2303 _this.core.$el.on('onAfterSlide.lg.tm', function(event, prevIndex, index) {2304 window.location.hash = 'lg=' + _this.core.s.galleryId + '&slide=' + index;2305 });2306 // Listen hash change and change the slide according to slide value2307 $(window).on('hashchange.lg.hash', function() {2308 _hash = window.location.hash;2309 var _idx = parseInt(_hash.split('&slide=')[1], 10);2310 // it galleryId doesn't exist in the url close the gallery2311 if ((_hash.indexOf('lg=' + _this.core.s.galleryId) > -1)) {2312 _this.core.slide(_idx, false, false);2313 } else if (_this.core.lGalleryOn) {2314 _this.core.destroy();2315 }2316 });2317 };2318 Hash.prototype.destroy = function() {2319 if (!this.core.s.hash) {2320 return;2321 }2322 // Reset to old hash value2323 if (this.oldHash && this.oldHash.indexOf('lg=' + this.core.s.galleryId) < 0) {2324 window.location.hash = this.oldHash;2325 } else {2326 if (history.pushState) {2327 history.pushState('', document.title, window.location.pathname + window.location.search);2328 } else {2329 window.location.hash = '';2330 }2331 }2332 this.core.$el.off('.lg.hash');2333 };2334 $.fn.lightGallery.modules.hash = Hash;...
lightgallery.js
Source:lightgallery.js
1/**!2 * lightgallery.js | 1.0.3 | May 17th 20183 * http://sachinchoolur.github.io/lightgallery.js/4 * Copyright (c) 2016 Sachin N; 5 * @license GPLv3 6 */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Lightgallery = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){7(function (global, factory) {8 if (typeof define === "function" && define.amd) {9 define(['exports'], factory);10 } else if (typeof exports !== "undefined") {11 factory(exports);12 } else {13 var mod = {14 exports: {}15 };16 factory(mod.exports);17 global.lgUtils = mod.exports;18 }19})(this, function (exports) {20 'use strict';21 Object.defineProperty(exports, "__esModule", {22 value: true23 });24 /*25 *@todo remove function from window and document. Update on and off functions26 */27 window.getAttribute = function (label) {28 return window[label];29 };30 window.setAttribute = function (label, value) {31 window[label] = value;32 };33 document.getAttribute = function (label) {34 return document[label];35 };36 document.setAttribute = function (label, value) {37 document[label] = value;38 };39 var utils = {40 wrap: function wrap(el, className) {41 if (!el) {42 return;43 }44 var wrapper = document.createElement('div');45 wrapper.className = className;46 el.parentNode.insertBefore(wrapper, el);47 el.parentNode.removeChild(el);48 wrapper.appendChild(el);49 },50 addClass: function addClass(el, className) {51 if (!el) {52 return;53 }54 if (el.classList) {55 el.classList.add(className);56 } else {57 el.className += ' ' + className;58 }59 },60 removeClass: function removeClass(el, className) {61 if (!el) {62 return;63 }64 if (el.classList) {65 el.classList.remove(className);66 } else {67 el.className = el.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' ');68 }69 },70 hasClass: function hasClass(el, className) {71 if (el.classList) {72 return el.classList.contains(className);73 } else {74 return new RegExp('(^| )' + className + '( |$)', 'gi').test(el.className);75 }76 return false;77 },78 // ex Transform79 // ex TransitionTimingFunction80 setVendor: function setVendor(el, property, value) {81 if (!el) {82 return;83 }84 el.style[property.charAt(0).toLowerCase() + property.slice(1)] = value;85 el.style['webkit' + property] = value;86 el.style['moz' + property] = value;87 el.style['ms' + property] = value;88 el.style['o' + property] = value;89 },90 trigger: function trigger(el, event) {91 var detail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;92 if (!el) {93 return;94 }95 var customEvent = new CustomEvent(event, {96 detail: detail97 });98 el.dispatchEvent(customEvent);99 },100 Listener: {101 uid: 0102 },103 on: function on(el, events, fn) {104 if (!el) {105 return;106 }107 events.split(' ').forEach(function (event) {108 var _id = el.getAttribute('lg-event-uid') || '';109 utils.Listener.uid++;110 _id += '&' + utils.Listener.uid;111 el.setAttribute('lg-event-uid', _id);112 utils.Listener[event + utils.Listener.uid] = fn;113 el.addEventListener(event.split('.')[0], fn, false);114 });115 },116 off: function off(el, event) {117 if (!el) {118 return;119 }120 var _id = el.getAttribute('lg-event-uid');121 if (_id) {122 _id = _id.split('&');123 for (var i = 0; i < _id.length; i++) {124 if (_id[i]) {125 var _event = event + _id[i];126 if (_event.substring(0, 1) === '.') {127 for (var key in utils.Listener) {128 if (utils.Listener.hasOwnProperty(key)) {129 if (key.split('.').indexOf(_event.split('.')[1]) > -1) {130 el.removeEventListener(key.split('.')[0], utils.Listener[key]);131 el.setAttribute('lg-event-uid', el.getAttribute('lg-event-uid').replace('&' + _id[i], ''));132 delete utils.Listener[key];133 }134 }135 }136 } else {137 el.removeEventListener(_event.split('.')[0], utils.Listener[_event]);138 el.setAttribute('lg-event-uid', el.getAttribute('lg-event-uid').replace('&' + _id[i], ''));139 delete utils.Listener[_event];140 }141 }142 }143 }144 },145 param: function param(obj) {146 return Object.keys(obj).map(function (k) {147 return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k]);148 }).join('&');149 }150 };151 exports.default = utils;152});153},{}],2:[function(require,module,exports){154(function (global, factory) {155 if (typeof define === "function" && define.amd) {156 define(['./lg-utils'], factory);157 } else if (typeof exports !== "undefined") {158 factory(require('./lg-utils'));159 } else {160 var mod = {161 exports: {}162 };163 factory(global.lgUtils);164 global.lightgallery = mod.exports;165 }166})(this, function (_lgUtils) {167 'use strict';168 var _lgUtils2 = _interopRequireDefault(_lgUtils);169 function _interopRequireDefault(obj) {170 return obj && obj.__esModule ? obj : {171 default: obj172 };173 }174 var _extends = Object.assign || function (target) {175 for (var i = 1; i < arguments.length; i++) {176 var source = arguments[i];177 for (var key in source) {178 if (Object.prototype.hasOwnProperty.call(source, key)) {179 target[key] = source[key];180 }181 }182 }183 return target;184 };185 /** Polyfill the CustomEvent() constructor functionality in Internet Explorer 9 and higher */186 (function () {187 if (typeof window.CustomEvent === 'function') {188 return false;189 }190 function CustomEvent(event, params) {191 params = params || {192 bubbles: false,193 cancelable: false,194 detail: undefined195 };196 var evt = document.createEvent('CustomEvent');197 evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);198 return evt;199 }200 CustomEvent.prototype = window.Event.prototype;201 window.CustomEvent = CustomEvent;202 })();203 window.utils = _lgUtils2.default;204 window.lgData = {205 uid: 0206 };207 window.lgModules = {};208 var defaults = {209 mode: 'lg-slide',210 // Ex : 'ease'211 cssEasing: 'ease',212 //'for jquery animation'213 easing: 'linear',214 speed: 600,215 height: '100%',216 width: '100%',217 addClass: '',218 startClass: 'lg-start-zoom',219 backdropDuration: 150,220 hideBarsDelay: 6000,221 useLeft: false,222 closable: true,223 loop: true,224 escKey: true,225 keyPress: true,226 controls: true,227 slideEndAnimatoin: true,228 hideControlOnEnd: false,229 mousewheel: false,230 getCaptionFromTitleOrAlt: true,231 // .lg-item || '.lg-sub-html'232 appendSubHtmlTo: '.lg-sub-html',233 subHtmlSelectorRelative: false,234 /**235 * @desc number of preload slides236 * will exicute only after the current slide is fully loaded.237 *238 * @ex you clicked on 4th image and if preload = 1 then 3rd slide and 5th239 * slide will be loaded in the background after the 4th slide is fully loaded..240 * if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.. ... ...241 *242 */243 preload: 1,244 showAfterLoad: true,245 selector: '',246 selectWithin: '',247 nextHtml: '',248 prevHtml: '',249 // 0, 1250 index: false,251 iframeMaxWidth: '100%',252 download: true,253 counter: true,254 appendCounterTo: '.lg-toolbar',255 swipeThreshold: 50,256 enableSwipe: true,257 enableDrag: true,258 dynamic: false,259 dynamicEl: [],260 galleryId: 1261 };262 function Plugin(element, options) {263 // Current lightGallery element264 this.el = element;265 // lightGallery settings266 this.s = _extends({}, defaults, options);267 // When using dynamic mode, ensure dynamicEl is an array268 if (this.s.dynamic && this.s.dynamicEl !== 'undefined' && this.s.dynamicEl.constructor === Array && !this.s.dynamicEl.length) {269 throw 'When using dynamic mode, you must also define dynamicEl as an Array.';270 }271 // lightGallery modules272 this.modules = {};273 // false when lightgallery complete first slide;274 this.lGalleryOn = false;275 this.lgBusy = false;276 // Timeout function for hiding controls;277 this.hideBartimeout = false;278 // To determine browser supports for touch events;279 this.isTouch = 'ontouchstart' in document.documentElement;280 // Disable hideControlOnEnd if sildeEndAnimation is true281 if (this.s.slideEndAnimatoin) {282 this.s.hideControlOnEnd = false;283 }284 this.items = [];285 // Gallery items286 if (this.s.dynamic) {287 this.items = this.s.dynamicEl;288 } else {289 if (this.s.selector === 'this') {290 this.items.push(this.el);291 } else if (this.s.selector !== '') {292 if (this.s.selectWithin) {293 this.items = document.querySelector(this.s.selectWithin).querySelectorAll(this.s.selector);294 } else {295 this.items = this.el.querySelectorAll(this.s.selector);296 }297 } else {298 this.items = this.el.children;299 }300 }301 // .lg-item302 this.___slide = '';303 // .lg-outer304 this.outer = '';305 this.init();306 return this;307 }308 Plugin.prototype.init = function () {309 var _this = this;310 // s.preload should not be more than $item.length311 if (_this.s.preload > _this.items.length) {312 _this.s.preload = _this.items.length;313 }314 // if dynamic option is enabled execute immediately315 var _hash = window.location.hash;316 if (_hash.indexOf('lg=' + this.s.galleryId) > 0) {317 _this.index = parseInt(_hash.split('&slide=')[1], 10);318 _lgUtils2.default.addClass(document.body, 'lg-from-hash');319 if (!_lgUtils2.default.hasClass(document.body, 'lg-on')) {320 _lgUtils2.default.addClass(document.body, 'lg-on');321 setTimeout(function () {322 _this.build(_this.index);323 });324 }325 }326 if (_this.s.dynamic) {327 _lgUtils2.default.trigger(this.el, 'onBeforeOpen');328 _this.index = _this.s.index || 0;329 // prevent accidental double execution330 if (!_lgUtils2.default.hasClass(document.body, 'lg-on')) {331 _lgUtils2.default.addClass(document.body, 'lg-on');332 setTimeout(function () {333 _this.build(_this.index);334 });335 }336 } else {337 for (var i = 0; i < _this.items.length; i++) {338 /*jshint loopfunc: true */339 (function (index) {340 // Using different namespace for click because click event should not unbind if selector is same object('this')341 _lgUtils2.default.on(_this.items[index], 'click.lgcustom', function (e) {342 e.preventDefault();343 _lgUtils2.default.trigger(_this.el, 'onBeforeOpen');344 _this.index = _this.s.index || index;345 if (!_lgUtils2.default.hasClass(document.body, 'lg-on')) {346 _this.build(_this.index);347 _lgUtils2.default.addClass(document.body, 'lg-on');348 }349 });350 })(i);351 }352 }353 };354 Plugin.prototype.build = function (index) {355 var _this = this;356 _this.structure();357 for (var key in window.lgModules) {358 _this.modules[key] = new window.lgModules[key](_this.el);359 }360 // initiate slide function361 _this.slide(index, false, false);362 if (_this.s.keyPress) {363 _this.keyPress();364 }365 if (_this.items.length > 1) {366 _this.arrow();367 setTimeout(function () {368 _this.enableDrag();369 _this.enableSwipe();370 }, 50);371 if (_this.s.mousewheel) {372 _this.mousewheel();373 }374 }375 _this.counter();376 _this.closeGallery();377 _lgUtils2.default.trigger(_this.el, 'onAfterOpen');378 // Hide controllers if mouse doesn't move for some period379 _lgUtils2.default.on(_this.outer, 'mousemove.lg click.lg touchstart.lg', function () {380 _lgUtils2.default.removeClass(_this.outer, 'lg-hide-items');381 clearTimeout(_this.hideBartimeout);382 // Timeout will be cleared on each slide movement also383 _this.hideBartimeout = setTimeout(function () {384 _lgUtils2.default.addClass(_this.outer, 'lg-hide-items');385 }, _this.s.hideBarsDelay);386 });387 };388 Plugin.prototype.structure = function () {389 var list = '';390 var controls = '';391 var i = 0;392 var subHtmlCont = '';393 var template;394 var _this = this;395 document.body.insertAdjacentHTML('beforeend', '<div class="lg-backdrop"></div>');396 _lgUtils2.default.setVendor(document.querySelector('.lg-backdrop'), 'TransitionDuration', this.s.backdropDuration + 'ms');397 // Create gallery items398 for (i = 0; i < this.items.length; i++) {399 list += '<div class="lg-item"></div>';400 }401 // Create controlls402 if (this.s.controls && this.items.length > 1) {403 controls = '<div class="lg-actions">' + '<div class="lg-prev lg-icon">' + this.s.prevHtml + '</div>' + '<div class="lg-next lg-icon">' + this.s.nextHtml + '</div>' + '</div>';404 }405 if (this.s.appendSubHtmlTo === '.lg-sub-html') {406 subHtmlCont = '<div class="lg-sub-html"></div>';407 }408 template = '<div class="lg-outer ' + this.s.addClass + ' ' + this.s.startClass + '">' + '<div class="lg" style="width:' + this.s.width + '; height:' + this.s.height + '">' + '<div class="lg-inner">' + list + '</div>' + '<div class="lg-toolbar group">' + '<span class="lg-close lg-icon"></span>' + '</div>' + controls + subHtmlCont + '</div>' + '</div>';409 document.body.insertAdjacentHTML('beforeend', template);410 this.outer = document.querySelector('.lg-outer');411 this.___slide = this.outer.querySelectorAll('.lg-item');412 if (this.s.useLeft) {413 _lgUtils2.default.addClass(this.outer, 'lg-use-left');414 // Set mode lg-slide if use left is true;415 this.s.mode = 'lg-slide';416 } else {417 _lgUtils2.default.addClass(this.outer, 'lg-use-css3');418 }419 // For fixed height gallery420 _this.setTop();421 _lgUtils2.default.on(window, 'resize.lg orientationchange.lg', function () {422 setTimeout(function () {423 _this.setTop();424 }, 100);425 });426 // add class lg-current to remove initial transition427 _lgUtils2.default.addClass(this.___slide[this.index], 'lg-current');428 // add Class for css support and transition mode429 if (this.doCss()) {430 _lgUtils2.default.addClass(this.outer, 'lg-css3');431 } else {432 _lgUtils2.default.addClass(this.outer, 'lg-css');433 // Set speed 0 because no animation will happen if browser doesn't support css3434 this.s.speed = 0;435 }436 _lgUtils2.default.addClass(this.outer, this.s.mode);437 if (this.s.enableDrag && this.items.length > 1) {438 _lgUtils2.default.addClass(this.outer, 'lg-grab');439 }440 if (this.s.showAfterLoad) {441 _lgUtils2.default.addClass(this.outer, 'lg-show-after-load');442 }443 if (this.doCss()) {444 var inner = this.outer.querySelector('.lg-inner');445 _lgUtils2.default.setVendor(inner, 'TransitionTimingFunction', this.s.cssEasing);446 _lgUtils2.default.setVendor(inner, 'TransitionDuration', this.s.speed + 'ms');447 }448 setTimeout(function () {449 _lgUtils2.default.addClass(document.querySelector('.lg-backdrop'), 'in');450 });451 setTimeout(function () {452 _lgUtils2.default.addClass(_this.outer, 'lg-visible');453 }, this.s.backdropDuration);454 if (this.s.download) {455 this.outer.querySelector('.lg-toolbar').insertAdjacentHTML('beforeend', '<a id="lg-download" target="_blank" download class="lg-download lg-icon"></a>');456 }457 // Store the current scroll top value to scroll back after closing the gallery..458 this.prevScrollTop = document.documentElement.scrollTop || document.body.scrollTop;459 };460 // For fixed height gallery461 Plugin.prototype.setTop = function () {462 if (this.s.height !== '100%') {463 var wH = window.innerHeight;464 var top = (wH - parseInt(this.s.height, 10)) / 2;465 var lGallery = this.outer.querySelector('.lg');466 if (wH >= parseInt(this.s.height, 10)) {467 lGallery.style.top = top + 'px';468 } else {469 lGallery.style.top = '0px';470 }471 }472 };473 // Find css3 support474 Plugin.prototype.doCss = function () {475 // check for css animation support476 var support = function support() {477 var transition = ['transition', 'MozTransition', 'WebkitTransition', 'OTransition', 'msTransition', 'KhtmlTransition'];478 var root = document.documentElement;479 var i = 0;480 for (i = 0; i < transition.length; i++) {481 if (transition[i] in root.style) {482 return true;483 }484 }485 };486 if (support()) {487 return true;488 }489 return false;490 };491 /**492 * @desc Check the given src is video493 * @param {String} src494 * @return {Object} video type495 * Ex:{ youtube : ["//www.youtube.com/watch?v=c0asJgSyxcY", "c0asJgSyxcY"] }496 */497 Plugin.prototype.isVideo = function (src, index) {498 var html;499 if (this.s.dynamic) {500 html = this.s.dynamicEl[index].html;501 } else {502 html = this.items[index].getAttribute('data-html');503 }504 if (!src && html) {505 return {506 html5: true507 };508 }509 var youtube = src.match(/\/\/(?:www\.)?youtu(?:\.be|be\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)/i);510 var vimeo = src.match(/\/\/(?:www\.)?vimeo.com\/([0-9a-z\-_]+)/i);511 var dailymotion = src.match(/\/\/(?:www\.)?dai.ly\/([0-9a-z\-_]+)/i);512 var vk = src.match(/\/\/(?:www\.)?(?:vk\.com|vkontakte\.ru)\/(?:video_ext\.php\?)(.*)/i);513 if (youtube) {514 return {515 youtube: youtube516 };517 } else if (vimeo) {518 return {519 vimeo: vimeo520 };521 } else if (dailymotion) {522 return {523 dailymotion: dailymotion524 };525 } else if (vk) {526 return {527 vk: vk528 };529 }530 };531 /**532 * @desc Create image counter533 * Ex: 1/10534 */535 Plugin.prototype.counter = function () {536 if (this.s.counter) {537 this.outer.querySelector(this.s.appendCounterTo).insertAdjacentHTML('beforeend', '<div id="lg-counter"><span id="lg-counter-current">' + (parseInt(this.index, 10) + 1) + '</span> / <span id="lg-counter-all">' + this.items.length + '</span></div>');538 }539 };540 /**541 * @desc add sub-html into the slide542 * @param {Number} index - index of the slide543 */544 Plugin.prototype.addHtml = function (index) {545 var subHtml = null;546 var currentEle;547 if (this.s.dynamic) {548 subHtml = this.s.dynamicEl[index].subHtml;549 } else {550 currentEle = this.items[index];551 subHtml = currentEle.getAttribute('data-sub-html');552 if (this.s.getCaptionFromTitleOrAlt && !subHtml) {553 subHtml = currentEle.getAttribute('title');554 if (subHtml && currentEle.querySelector('img')) {555 subHtml = currentEle.querySelector('img').getAttribute('alt');556 }557 }558 }559 if (typeof subHtml !== 'undefined' && subHtml !== null) {560 // get first letter of subhtml561 // if first letter starts with . or # get the html form the jQuery object562 var fL = subHtml.substring(0, 1);563 if (fL === '.' || fL === '#') {564 if (this.s.subHtmlSelectorRelative && !this.s.dynamic) {565 subHtml = currentEle.querySelector(subHtml).innerHTML;566 } else {567 subHtml = document.querySelector(subHtml).innerHTML;568 }569 }570 } else {571 subHtml = '';572 }573 if (this.s.appendSubHtmlTo === '.lg-sub-html') {574 this.outer.querySelector(this.s.appendSubHtmlTo).innerHTML = subHtml;575 } else {576 this.___slide[index].insertAdjacentHTML('beforeend', subHtml);577 }578 // Add lg-empty-html class if title doesn't exist579 if (typeof subHtml !== 'undefined' && subHtml !== null) {580 if (subHtml === '') {581 _lgUtils2.default.addClass(this.outer.querySelector(this.s.appendSubHtmlTo), 'lg-empty-html');582 } else {583 _lgUtils2.default.removeClass(this.outer.querySelector(this.s.appendSubHtmlTo), 'lg-empty-html');584 }585 }586 _lgUtils2.default.trigger(this.el, 'onAfterAppendSubHtml', {587 index: index588 });589 };590 /**591 * @desc Preload slides592 * @param {Number} index - index of the slide593 */594 Plugin.prototype.preload = function (index) {595 var i = 1;596 var j = 1;597 for (i = 1; i <= this.s.preload; i++) {598 if (i >= this.items.length - index) {599 break;600 }601 this.loadContent(index + i, false, 0);602 }603 for (j = 1; j <= this.s.preload; j++) {604 if (index - j < 0) {605 break;606 }607 this.loadContent(index - j, false, 0);608 }609 };610 /**611 * @desc Load slide content into slide.612 * @param {Number} index - index of the slide.613 * @param {Boolean} rec - if true call loadcontent() function again.614 * @param {Boolean} delay - delay for adding complete class. it is 0 except first time.615 */616 Plugin.prototype.loadContent = function (index, rec, delay) {617 var _this = this;618 var _hasPoster = false;619 var _img;620 var _src;621 var _poster;622 var _srcset;623 var _sizes;624 var _html;625 var getResponsiveSrc = function getResponsiveSrc(srcItms) {626 var rsWidth = [];627 var rsSrc = [];628 for (var i = 0; i < srcItms.length; i++) {629 var __src = srcItms[i].split(' ');630 // Manage empty space631 if (__src[0] === '') {632 __src.splice(0, 1);633 }634 rsSrc.push(__src[0]);635 rsWidth.push(__src[1]);636 }637 var wWidth = window.innerWidth;638 for (var j = 0; j < rsWidth.length; j++) {639 if (parseInt(rsWidth[j], 10) > wWidth) {640 _src = rsSrc[j];641 break;642 }643 }644 };645 if (_this.s.dynamic) {646 if (_this.s.dynamicEl[index].poster) {647 _hasPoster = true;648 _poster = _this.s.dynamicEl[index].poster;649 }650 _html = _this.s.dynamicEl[index].html;651 _src = _this.s.dynamicEl[index].src;652 if (_this.s.dynamicEl[index].responsive) {653 var srcDyItms = _this.s.dynamicEl[index].responsive.split(',');654 getResponsiveSrc(srcDyItms);655 }656 _srcset = _this.s.dynamicEl[index].srcset;657 _sizes = _this.s.dynamicEl[index].sizes;658 } else {659 if (_this.items[index].getAttribute('data-poster')) {660 _hasPoster = true;661 _poster = _this.items[index].getAttribute('data-poster');662 }663 _html = _this.items[index].getAttribute('data-html');664 _src = _this.items[index].getAttribute('href') || _this.items[index].getAttribute('data-src');665 if (_this.items[index].getAttribute('data-responsive')) {666 var srcItms = _this.items[index].getAttribute('data-responsive').split(',');667 getResponsiveSrc(srcItms);668 }669 _srcset = _this.items[index].getAttribute('data-srcset');670 _sizes = _this.items[index].getAttribute('data-sizes');671 }672 //if (_src || _srcset || _sizes || _poster) {673 var iframe = false;674 if (_this.s.dynamic) {675 if (_this.s.dynamicEl[index].iframe) {676 iframe = true;677 }678 } else {679 if (_this.items[index].getAttribute('data-iframe') === 'true') {680 iframe = true;681 }682 }683 var _isVideo = _this.isVideo(_src, index);684 if (!_lgUtils2.default.hasClass(_this.___slide[index], 'lg-loaded')) {685 if (iframe) {686 _this.___slide[index].insertAdjacentHTML('afterbegin', '<div class="lg-video-cont" style="max-width:' + _this.s.iframeMaxWidth + '"><div class="lg-video"><iframe class="lg-object" frameborder="0" src="' + _src + '" allowfullscreen="true"></iframe></div></div>');687 } else if (_hasPoster) {688 var videoClass = '';689 if (_isVideo && _isVideo.youtube) {690 videoClass = 'lg-has-youtube';691 } else if (_isVideo && _isVideo.vimeo) {692 videoClass = 'lg-has-vimeo';693 } else {694 videoClass = 'lg-has-html5';695 }696 _this.___slide[index].insertAdjacentHTML('beforeend', '<div class="lg-video-cont ' + videoClass + ' "><div class="lg-video"><span class="lg-video-play"></span><img class="lg-object lg-has-poster" src="' + _poster + '" /></div></div>');697 } else if (_isVideo) {698 _this.___slide[index].insertAdjacentHTML('beforeend', '<div class="lg-video-cont "><div class="lg-video"></div></div>');699 _lgUtils2.default.trigger(_this.el, 'hasVideo', {700 index: index,701 src: _src,702 html: _html703 });704 } else {705 _this.___slide[index].insertAdjacentHTML('beforeend', '<div class="lg-img-wrap"><img class="lg-object lg-image" src="' + _src + '" /></div>');706 }707 _lgUtils2.default.trigger(_this.el, 'onAferAppendSlide', {708 index: index709 });710 _img = _this.___slide[index].querySelector('.lg-object');711 if (_sizes) {712 _img.setAttribute('sizes', _sizes);713 }714 if (_srcset) {715 _img.setAttribute('srcset', _srcset);716 try {717 picturefill({718 elements: [_img[0]]719 });720 } catch (e) {721 console.error('Make sure you have included Picturefill version 2');722 }723 }724 if (this.s.appendSubHtmlTo !== '.lg-sub-html') {725 _this.addHtml(index);726 }727 _lgUtils2.default.addClass(_this.___slide[index], 'lg-loaded');728 }729 _lgUtils2.default.on(_this.___slide[index].querySelector('.lg-object'), 'load.lg error.lg', function () {730 // For first time add some delay for displaying the start animation.731 var _speed = 0;732 // Do not change the delay value because it is required for zoom plugin.733 // If gallery opened from direct url (hash) speed value should be 0734 if (delay && !_lgUtils2.default.hasClass(document.body, 'lg-from-hash')) {735 _speed = delay;736 }737 setTimeout(function () {738 _lgUtils2.default.addClass(_this.___slide[index], 'lg-complete');739 _lgUtils2.default.trigger(_this.el, 'onSlideItemLoad', {740 index: index,741 delay: delay || 0742 });743 }, _speed);744 });745 // @todo check load state for html5 videos746 if (_isVideo && _isVideo.html5 && !_hasPoster) {747 _lgUtils2.default.addClass(_this.___slide[index], 'lg-complete');748 }749 if (rec === true) {750 if (!_lgUtils2.default.hasClass(_this.___slide[index], 'lg-complete')) {751 _lgUtils2.default.on(_this.___slide[index].querySelector('.lg-object'), 'load.lg error.lg', function () {752 _this.preload(index);753 });754 } else {755 _this.preload(index);756 }757 }758 //}759 };760 /**761 * @desc slide function for lightgallery762 ** Slide() gets call on start763 ** ** Set lg.on true once slide() function gets called.764 ** Call loadContent() on slide() function inside setTimeout765 ** ** On first slide we do not want any animation like slide of fade766 ** ** So on first slide( if lg.on if false that is first slide) loadContent() should start loading immediately767 ** ** Else loadContent() should wait for the transition to complete.768 ** ** So set timeout s.speed + 50769 <=> ** loadContent() will load slide content in to the particular slide770 ** ** It has recursion (rec) parameter. if rec === true loadContent() will call preload() function.771 ** ** preload will execute only when the previous slide is fully loaded (images iframe)772 ** ** avoid simultaneous image load773 <=> ** Preload() will check for s.preload value and call loadContent() again accoring to preload value774 ** loadContent() <====> Preload();775 776 * @param {Number} index - index of the slide777 * @param {Boolean} fromTouch - true if slide function called via touch event or mouse drag778 * @param {Boolean} fromThumb - true if slide function called via thumbnail click779 */780 Plugin.prototype.slide = function (index, fromTouch, fromThumb) {781 var _prevIndex = 0;782 for (var i = 0; i < this.___slide.length; i++) {783 if (_lgUtils2.default.hasClass(this.___slide[i], 'lg-current')) {784 _prevIndex = i;785 break;786 }787 }788 var _this = this;789 // Prevent if multiple call790 // Required for hsh plugin791 if (_this.lGalleryOn && _prevIndex === index) {792 return;793 }794 var _length = this.___slide.length;795 var _time = _this.lGalleryOn ? this.s.speed : 0;796 var _next = false;797 var _prev = false;798 if (!_this.lgBusy) {799 if (this.s.download) {800 var _src;801 if (_this.s.dynamic) {802 _src = _this.s.dynamicEl[index].downloadUrl !== false && (_this.s.dynamicEl[index].downloadUrl || _this.s.dynamicEl[index].src);803 } else {804 _src = _this.items[index].getAttribute('data-download-url') !== 'false' && (_this.items[index].getAttribute('data-download-url') || _this.items[index].getAttribute('href') || _this.items[index].getAttribute('data-src'));805 }806 if (_src) {807 document.getElementById('lg-download').setAttribute('href', _src);808 _lgUtils2.default.removeClass(_this.outer, 'lg-hide-download');809 } else {810 _lgUtils2.default.addClass(_this.outer, 'lg-hide-download');811 }812 }813 _lgUtils2.default.trigger(_this.el, 'onBeforeSlide', {814 prevIndex: _prevIndex,815 index: index,816 fromTouch: fromTouch,817 fromThumb: fromThumb818 });819 _this.lgBusy = true;820 clearTimeout(_this.hideBartimeout);821 // Add title if this.s.appendSubHtmlTo === lg-sub-html822 if (this.s.appendSubHtmlTo === '.lg-sub-html') {823 // wait for slide animation to complete824 setTimeout(function () {825 _this.addHtml(index);826 }, _time);827 }828 this.arrowDisable(index);829 if (!fromTouch) {830 // remove all transitions831 _lgUtils2.default.addClass(_this.outer, 'lg-no-trans');832 for (var j = 0; j < this.___slide.length; j++) {833 _lgUtils2.default.removeClass(this.___slide[j], 'lg-prev-slide');834 _lgUtils2.default.removeClass(this.___slide[j], 'lg-next-slide');835 }836 if (index < _prevIndex) {837 _prev = true;838 if (index === 0 && _prevIndex === _length - 1 && !fromThumb) {839 _prev = false;840 _next = true;841 }842 } else if (index > _prevIndex) {843 _next = true;844 if (index === _length - 1 && _prevIndex === 0 && !fromThumb) {845 _prev = true;846 _next = false;847 }848 }849 if (_prev) {850 //prevslide851 _lgUtils2.default.addClass(this.___slide[index], 'lg-prev-slide');852 _lgUtils2.default.addClass(this.___slide[_prevIndex], 'lg-next-slide');853 } else if (_next) {854 // next slide855 _lgUtils2.default.addClass(this.___slide[index], 'lg-next-slide');856 _lgUtils2.default.addClass(this.___slide[_prevIndex], 'lg-prev-slide');857 }858 // give 50 ms for browser to add/remove class859 setTimeout(function () {860 _lgUtils2.default.removeClass(_this.outer.querySelector('.lg-current'), 'lg-current');861 //_this.$slide.eq(_prevIndex).removeClass('lg-current');862 _lgUtils2.default.addClass(_this.___slide[index], 'lg-current');863 // reset all transitions864 _lgUtils2.default.removeClass(_this.outer, 'lg-no-trans');865 }, 50);866 } else {867 var touchPrev = index - 1;868 var touchNext = index + 1;869 if (index === 0 && _prevIndex === _length - 1) {870 // next slide871 touchNext = 0;872 touchPrev = _length - 1;873 } else if (index === _length - 1 && _prevIndex === 0) {874 // prev slide875 touchNext = 0;876 touchPrev = _length - 1;877 }878 _lgUtils2.default.removeClass(_this.outer.querySelector('.lg-prev-slide'), 'lg-prev-slide');879 _lgUtils2.default.removeClass(_this.outer.querySelector('.lg-current'), 'lg-current');880 _lgUtils2.default.removeClass(_this.outer.querySelector('.lg-next-slide'), 'lg-next-slide');881 _lgUtils2.default.addClass(_this.___slide[touchPrev], 'lg-prev-slide');882 _lgUtils2.default.addClass(_this.___slide[touchNext], 'lg-next-slide');883 _lgUtils2.default.addClass(_this.___slide[index], 'lg-current');884 }885 if (_this.lGalleryOn) {886 setTimeout(function () {887 _this.loadContent(index, true, 0);888 }, this.s.speed + 50);889 setTimeout(function () {890 _this.lgBusy = false;891 _lgUtils2.default.trigger(_this.el, 'onAfterSlide', {892 prevIndex: _prevIndex,893 index: index,894 fromTouch: fromTouch,895 fromThumb: fromThumb896 });897 }, this.s.speed);898 } else {899 _this.loadContent(index, true, _this.s.backdropDuration);900 _this.lgBusy = false;901 _lgUtils2.default.trigger(_this.el, 'onAfterSlide', {902 prevIndex: _prevIndex,903 index: index,904 fromTouch: fromTouch,905 fromThumb: fromThumb906 });907 }908 _this.lGalleryOn = true;909 if (this.s.counter) {910 if (document.getElementById('lg-counter-current')) {911 document.getElementById('lg-counter-current').innerHTML = index + 1;912 }913 }914 }915 };916 /**917 * @desc Go to next slide918 * @param {Boolean} fromTouch - true if slide function called via touch event919 */920 Plugin.prototype.goToNextSlide = function (fromTouch) {921 var _this = this;922 if (!_this.lgBusy) {923 if (_this.index + 1 < _this.___slide.length) {924 _this.index++;925 _lgUtils2.default.trigger(_this.el, 'onBeforeNextSlide', {926 index: _this.index927 });928 _this.slide(_this.index, fromTouch, false);929 } else {930 if (_this.s.loop) {931 _this.index = 0;932 _lgUtils2.default.trigger(_this.el, 'onBeforeNextSlide', {933 index: _this.index934 });935 _this.slide(_this.index, fromTouch, false);936 } else if (_this.s.slideEndAnimatoin) {937 _lgUtils2.default.addClass(_this.outer, 'lg-right-end');938 setTimeout(function () {939 _lgUtils2.default.removeClass(_this.outer, 'lg-right-end');940 }, 400);941 }942 }943 }944 };945 /**946 * @desc Go to previous slide947 * @param {Boolean} fromTouch - true if slide function called via touch event948 */949 Plugin.prototype.goToPrevSlide = function (fromTouch) {950 var _this = this;951 if (!_this.lgBusy) {952 if (_this.index > 0) {953 _this.index--;954 _lgUtils2.default.trigger(_this.el, 'onBeforePrevSlide', {955 index: _this.index,956 fromTouch: fromTouch957 });958 _this.slide(_this.index, fromTouch, false);959 } else {960 if (_this.s.loop) {961 _this.index = _this.items.length - 1;962 _lgUtils2.default.trigger(_this.el, 'onBeforePrevSlide', {963 index: _this.index,964 fromTouch: fromTouch965 });966 _this.slide(_this.index, fromTouch, false);967 } else if (_this.s.slideEndAnimatoin) {968 _lgUtils2.default.addClass(_this.outer, 'lg-left-end');969 setTimeout(function () {970 _lgUtils2.default.removeClass(_this.outer, 'lg-left-end');971 }, 400);972 }973 }974 }975 };976 Plugin.prototype.keyPress = function () {977 var _this = this;978 if (this.items.length > 1) {979 _lgUtils2.default.on(window, 'keyup.lg', function (e) {980 if (_this.items.length > 1) {981 if (e.keyCode === 37) {982 e.preventDefault();983 _this.goToPrevSlide();984 }985 if (e.keyCode === 39) {986 e.preventDefault();987 _this.goToNextSlide();988 }989 }990 });991 }992 _lgUtils2.default.on(window, 'keydown.lg', function (e) {993 if (_this.s.escKey === true && e.keyCode === 27) {994 e.preventDefault();995 if (!_lgUtils2.default.hasClass(_this.outer, 'lg-thumb-open')) {996 _this.destroy();997 } else {998 _lgUtils2.default.removeClass(_this.outer, 'lg-thumb-open');999 }1000 }1001 });1002 };1003 Plugin.prototype.arrow = function () {1004 var _this = this;1005 _lgUtils2.default.on(this.outer.querySelector('.lg-prev'), 'click.lg', function () {1006 _this.goToPrevSlide();1007 });1008 _lgUtils2.default.on(this.outer.querySelector('.lg-next'), 'click.lg', function () {1009 _this.goToNextSlide();1010 });1011 };1012 Plugin.prototype.arrowDisable = function (index) {1013 // Disable arrows if s.hideControlOnEnd is true1014 if (!this.s.loop && this.s.hideControlOnEnd) {1015 var next = this.outer.querySelector('.lg-next');1016 var prev = this.outer.querySelector('.lg-prev');1017 if (index + 1 < this.___slide.length) {1018 next.removeAttribute('disabled');1019 _lgUtils2.default.removeClass(next, 'disabled');1020 } else {1021 next.setAttribute('disabled', 'disabled');1022 _lgUtils2.default.addClass(next, 'disabled');1023 }1024 if (index > 0) {1025 prev.removeAttribute('disabled');1026 _lgUtils2.default.removeClass(prev, 'disabled');1027 } else {1028 next.setAttribute('disabled', 'disabled');1029 _lgUtils2.default.addClass(next, 'disabled');1030 }1031 }1032 };1033 Plugin.prototype.setTranslate = function (el, xValue, yValue) {1034 // jQuery supports Automatic CSS prefixing since jQuery 1.8.01035 if (this.s.useLeft) {1036 el.style.left = xValue;1037 } else {1038 _lgUtils2.default.setVendor(el, 'Transform', 'translate3d(' + xValue + 'px, ' + yValue + 'px, 0px)');1039 }1040 };1041 Plugin.prototype.touchMove = function (startCoords, endCoords) {1042 var distance = endCoords - startCoords;1043 if (Math.abs(distance) > 15) {1044 // reset opacity and transition duration1045 _lgUtils2.default.addClass(this.outer, 'lg-dragging');1046 // move current slide1047 this.setTranslate(this.___slide[this.index], distance, 0);1048 // move next and prev slide with current slide1049 this.setTranslate(document.querySelector('.lg-prev-slide'), -this.___slide[this.index].clientWidth + distance, 0);1050 this.setTranslate(document.querySelector('.lg-next-slide'), this.___slide[this.index].clientWidth + distance, 0);1051 }1052 };1053 Plugin.prototype.touchEnd = function (distance) {1054 var _this = this;1055 // keep slide animation for any mode while dragg/swipe1056 if (_this.s.mode !== 'lg-slide') {1057 _lgUtils2.default.addClass(_this.outer, 'lg-slide');1058 }1059 for (var i = 0; i < this.___slide.length; i++) {1060 if (!_lgUtils2.default.hasClass(this.___slide[i], 'lg-current') && !_lgUtils2.default.hasClass(this.___slide[i], 'lg-prev-slide') && !_lgUtils2.default.hasClass(this.___slide[i], 'lg-next-slide')) {1061 this.___slide[i].style.opacity = '0';1062 }1063 }1064 // set transition duration1065 setTimeout(function () {1066 _lgUtils2.default.removeClass(_this.outer, 'lg-dragging');1067 if (distance < 0 && Math.abs(distance) > _this.s.swipeThreshold) {1068 _this.goToNextSlide(true);1069 } else if (distance > 0 && Math.abs(distance) > _this.s.swipeThreshold) {1070 _this.goToPrevSlide(true);1071 } else if (Math.abs(distance) < 5) {1072 // Trigger click if distance is less than 5 pix1073 _lgUtils2.default.trigger(_this.el, 'onSlideClick');1074 }1075 for (var i = 0; i < _this.___slide.length; i++) {1076 _this.___slide[i].removeAttribute('style');1077 }1078 });1079 // remove slide class once drag/swipe is completed if mode is not slide1080 setTimeout(function () {1081 if (!_lgUtils2.default.hasClass(_this.outer, 'lg-dragging') && _this.s.mode !== 'lg-slide') {1082 _lgUtils2.default.removeClass(_this.outer, 'lg-slide');1083 }1084 }, _this.s.speed + 100);1085 };1086 Plugin.prototype.enableSwipe = function () {1087 var _this = this;1088 var startCoords = 0;1089 var endCoords = 0;1090 var isMoved = false;1091 if (_this.s.enableSwipe && _this.isTouch && _this.doCss()) {1092 for (var i = 0; i < _this.___slide.length; i++) {1093 /*jshint loopfunc: true */1094 _lgUtils2.default.on(_this.___slide[i], 'touchstart.lg', function (e) {1095 if (!_lgUtils2.default.hasClass(_this.outer, 'lg-zoomed') && !_this.lgBusy) {1096 e.preventDefault();1097 _this.manageSwipeClass();1098 startCoords = e.targetTouches[0].pageX;1099 }1100 });1101 }1102 for (var j = 0; j < _this.___slide.length; j++) {1103 /*jshint loopfunc: true */1104 _lgUtils2.default.on(_this.___slide[j], 'touchmove.lg', function (e) {1105 if (!_lgUtils2.default.hasClass(_this.outer, 'lg-zoomed')) {1106 e.preventDefault();1107 endCoords = e.targetTouches[0].pageX;1108 _this.touchMove(startCoords, endCoords);1109 isMoved = true;1110 }1111 });1112 }1113 for (var k = 0; k < _this.___slide.length; k++) {1114 /*jshint loopfunc: true */1115 _lgUtils2.default.on(_this.___slide[k], 'touchend.lg', function () {1116 if (!_lgUtils2.default.hasClass(_this.outer, 'lg-zoomed')) {1117 if (isMoved) {1118 isMoved = false;1119 _this.touchEnd(endCoords - startCoords);1120 } else {1121 _lgUtils2.default.trigger(_this.el, 'onSlideClick');1122 }1123 }1124 });1125 }1126 }1127 };1128 Plugin.prototype.enableDrag = function () {1129 var _this = this;1130 var startCoords = 0;1131 var endCoords = 0;1132 var isDraging = false;1133 var isMoved = false;1134 if (_this.s.enableDrag && !_this.isTouch && _this.doCss()) {1135 for (var i = 0; i < _this.___slide.length; i++) {1136 /*jshint loopfunc: true */1137 _lgUtils2.default.on(_this.___slide[i], 'mousedown.lg', function (e) {1138 // execute only on .lg-object1139 if (!_lgUtils2.default.hasClass(_this.outer, 'lg-zoomed')) {1140 if (_lgUtils2.default.hasClass(e.target, 'lg-object') || _lgUtils2.default.hasClass(e.target, 'lg-video-play')) {1141 e.preventDefault();1142 if (!_this.lgBusy) {1143 _this.manageSwipeClass();1144 startCoords = e.pageX;1145 isDraging = true;1146 // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=267231147 _this.outer.scrollLeft += 1;1148 _this.outer.scrollLeft -= 1;1149 // *1150 _lgUtils2.default.removeClass(_this.outer, 'lg-grab');1151 _lgUtils2.default.addClass(_this.outer, 'lg-grabbing');1152 _lgUtils2.default.trigger(_this.el, 'onDragstart');1153 }1154 }1155 }1156 });1157 }1158 _lgUtils2.default.on(window, 'mousemove.lg', function (e) {1159 if (isDraging) {1160 isMoved = true;1161 endCoords = e.pageX;1162 _this.touchMove(startCoords, endCoords);1163 _lgUtils2.default.trigger(_this.el, 'onDragmove');1164 }1165 });1166 _lgUtils2.default.on(window, 'mouseup.lg', function (e) {1167 if (isMoved) {1168 isMoved = false;1169 _this.touchEnd(endCoords - startCoords);1170 _lgUtils2.default.trigger(_this.el, 'onDragend');1171 } else if (_lgUtils2.default.hasClass(e.target, 'lg-object') || _lgUtils2.default.hasClass(e.target, 'lg-video-play')) {1172 _lgUtils2.default.trigger(_this.el, 'onSlideClick');1173 }1174 // Prevent execution on click1175 if (isDraging) {1176 isDraging = false;1177 _lgUtils2.default.removeClass(_this.outer, 'lg-grabbing');1178 _lgUtils2.default.addClass(_this.outer, 'lg-grab');1179 }1180 });1181 }1182 };1183 Plugin.prototype.manageSwipeClass = function () {1184 var touchNext = this.index + 1;1185 var touchPrev = this.index - 1;1186 var length = this.___slide.length;1187 if (this.s.loop) {1188 if (this.index === 0) {1189 touchPrev = length - 1;1190 } else if (this.index === length - 1) {1191 touchNext = 0;1192 }1193 }1194 for (var i = 0; i < this.___slide.length; i++) {1195 _lgUtils2.default.removeClass(this.___slide[i], 'lg-next-slide');1196 _lgUtils2.default.removeClass(this.___slide[i], 'lg-prev-slide');1197 }1198 if (touchPrev > -1) {1199 _lgUtils2.default.addClass(this.___slide[touchPrev], 'lg-prev-slide');1200 }1201 _lgUtils2.default.addClass(this.___slide[touchNext], 'lg-next-slide');1202 };1203 Plugin.prototype.mousewheel = function () {1204 var _this = this;1205 _lgUtils2.default.on(_this.outer, 'mousewheel.lg', function (e) {1206 if (!e.deltaY) {1207 return;1208 }1209 if (e.deltaY > 0) {1210 _this.goToPrevSlide();1211 } else {1212 _this.goToNextSlide();1213 }1214 e.preventDefault();1215 });1216 };1217 Plugin.prototype.closeGallery = function () {1218 var _this = this;1219 var mousedown = false;1220 _lgUtils2.default.on(this.outer.querySelector('.lg-close'), 'click.lg', function () {1221 _this.destroy();1222 });1223 if (_this.s.closable) {1224 // If you drag the slide and release outside gallery gets close on chrome1225 // for preventing this check mousedown and mouseup happened on .lg-item or lg-outer1226 _lgUtils2.default.on(_this.outer, 'mousedown.lg', function (e) {1227 if (_lgUtils2.default.hasClass(e.target, 'lg-outer') || _lgUtils2.default.hasClass(e.target, 'lg-item') || _lgUtils2.default.hasClass(e.target, 'lg-img-wrap')) {1228 mousedown = true;1229 } else {1230 mousedown = false;1231 }1232 });1233 _lgUtils2.default.on(_this.outer, 'mouseup.lg', function (e) {1234 if (_lgUtils2.default.hasClass(e.target, 'lg-outer') || _lgUtils2.default.hasClass(e.target, 'lg-item') || _lgUtils2.default.hasClass(e.target, 'lg-img-wrap') && mousedown) {1235 if (!_lgUtils2.default.hasClass(_this.outer, 'lg-dragging')) {1236 _this.destroy();1237 }1238 }1239 });1240 }1241 };1242 Plugin.prototype.destroy = function (d) {1243 var _this = this;1244 if (!d) {1245 _lgUtils2.default.trigger(_this.el, 'onBeforeClose');1246 }1247 document.body.scrollTop = _this.prevScrollTop;1248 document.documentElement.scrollTop = _this.prevScrollTop;1249 /**1250 * if d is false or undefined destroy will only close the gallery1251 * plugins instance remains with the element1252 *1253 * if d is true destroy will completely remove the plugin1254 */1255 if (d) {1256 if (!_this.s.dynamic) {1257 // only when not using dynamic mode is $items a jquery collection1258 for (var i = 0; i < this.items.length; i++) {1259 _lgUtils2.default.off(this.items[i], '.lg');1260 _lgUtils2.default.off(this.items[i], '.lgcustom');1261 }1262 }1263 var lguid = _this.el.getAttribute('lg-uid');1264 delete window.lgData[lguid];1265 _this.el.removeAttribute('lg-uid');1266 }1267 // Unbind all events added by lightGallery1268 _lgUtils2.default.off(this.el, '.lgtm');1269 // Distroy all lightGallery modules1270 for (var key in window.lgModules) {1271 if (_this.modules[key]) {1272 _this.modules[key].destroy();1273 }1274 }1275 this.lGalleryOn = false;1276 clearTimeout(_this.hideBartimeout);1277 this.hideBartimeout = false;1278 _lgUtils2.default.off(window, '.lg');1279 _lgUtils2.default.removeClass(document.body, 'lg-on');1280 _lgUtils2.default.removeClass(document.body, 'lg-from-hash');1281 if (_this.outer) {1282 _lgUtils2.default.removeClass(_this.outer, 'lg-visible');1283 }1284 _lgUtils2.default.removeClass(document.querySelector('.lg-backdrop'), 'in');1285 setTimeout(function () {1286 try {1287 if (_this.outer) {1288 _this.outer.parentNode.removeChild(_this.outer);1289 }1290 if (document.querySelector('.lg-backdrop')) {1291 document.querySelector('.lg-backdrop').parentNode.removeChild(document.querySelector('.lg-backdrop'));1292 }1293 if (!d) {1294 _lgUtils2.default.trigger(_this.el, 'onCloseAfter');1295 }1296 } catch (err) {}1297 }, _this.s.backdropDuration + 50);1298 };1299 window.lightGallery = function (el, options) {1300 if (!el) {1301 return;1302 }1303 try {1304 if (!el.getAttribute('lg-uid')) {1305 var uid = 'lg' + window.lgData.uid++;1306 window.lgData[uid] = new Plugin(el, options);1307 el.setAttribute('lg-uid', uid);1308 } else {1309 try {1310 window.lgData[el.getAttribute('lg-uid')].init();1311 } catch (err) {1312 console.error('lightGallery has not initiated properly');1313 }1314 }1315 } catch (err) {1316 console.error('lightGallery has not initiated properly');1317 }1318 };1319});1320},{"./lg-utils":1}]},{},[2])(2)...
Service.js
Source:Service.js
1BASE.require([2 "LG.core.dataModel.core.AgencyRole",3 "LG.core.dataModel.core.App",4 "LG.core.dataModel.core.Authentication",5 "LG.core.dataModel.core.AuthenticationFactor",6 "LG.core.dataModel.core.Company",7 "LG.core.dataModel.core.CompanyAddress",8 "LG.core.dataModel.core.CompanyAddressPhoneNumber",9 "LG.core.dataModel.core.CompanyAddressUltiProAccount",10 "LG.core.dataModel.core.CompanyEmailAddress",11 "LG.core.dataModel.core.CompanyName",12 "LG.core.dataModel.core.CompanyPhoneNumber",13 "LG.core.dataModel.core.CompanyUltiProAccount",14 "LG.core.dataModel.core.DatabaseCredential",15 "LG.core.dataModel.core.GoogleAuthFactor",16 "LG.core.dataModel.core.PeopleGroup",17 "LG.core.dataModel.core.LdapCredential",18 "LG.core.dataModel.core.Permission",19 "LG.core.dataModel.core.PermissionGroup",20 "LG.core.dataModel.core.Person",21 "LG.core.dataModel.core.PersonEmailAddress",22 "LG.core.dataModel.core.PersonLdapAccount",23 "LG.core.dataModel.core.PersonPhoneNumber",24 "LG.core.dataModel.core.PersonUltiProAccount",25 "LG.core.dataModel.core.ProducerRoleDataPoint",26 "LG.core.dataModel.core.ProfilePictureAttachment",27 "LG.core.dataModel.core.PermissionGroupToPermission",28 "LG.core.dataModel.core.PersonToPeopleGroup",29 "LG.core.dataModel.core.PersonToPermission",30 "LG.core.dataModel.core.PersonToPermissionGroup",31 "LG.core.dataModel.core.PermissionGroupToPeopleGroup",32 "LG.core.dataModel.core.PeopleGroupToPermission",33 "LG.rest.Service",34 "LG.JsonAjaxProvider",35 "LG.core.dataModel.core.LGEmployeeRole",36 "LG.core.dataModel.core.FullTimeEquivalent",37 "LG.core.dataModel.core.JobRole",38 "LG.core.dataModel.core.JobRoleToDepartment",39 "LG.core.dataModel.core.JobRoleToDivision",40 "LG.core.dataModel.core.JobRoleToTeam",41 "LG.core.dataModel.core.JobRoleType",42 "LG.core.dataModel.core.JobRoleDataPoint",43 "LG.core.dataModel.core.LGEmployeeRoleTitle",44 "LG.core.dataModel.core.PercentOfFullTimeEquivalent",45 "LG.core.dataModel.core.SupervisorJobRole",46 "LG.core.dataModel.core.CompanyDivision",47 "LG.core.dataModel.core.CompanyTeam",48 "LG.core.dataModel.core.CompanyDepartment",49 "LG.core.dataModel.core.LGEmployeeRoleUltiProAccount",50 "BASE.web.Url"51 52], function () {53 BASE.namespace("LG.core.dataModel.core");54 LG.core.dataModel.core.Service = (function (Super) {55 var Service = function (appId, token) {56 var self = this;57 if (!(self instanceof arguments.callee)) {58 return new Service(appId, token);59 }60 Super.call(self);61 if (document) {62 var location = new BASE.web.Url(document.location.href);63 if (location.getHost() === "localhost") { // local debugging64 self.host = "https://api.leavitt.com";65 } else { // published on my.leavitt.com or in a node server66 self.host = "/webapi";67 }68 } else {69 self.host = "https://api.leavitt.com";70 }71 72 self.ajaxProvider = new LG.JsonAjaxProvider(appId, token);73 self.typeUri.add(LG.core.dataModel.core.Authentication, "/Core/Authentications");74 self.serverTypeToClientType.add("Authentication", LG.core.dataModel.core.Authentication);75 self.typeUri.add(LG.core.dataModel.core.AuthenticationFactor, "/Core/AuthenticationFactors");76 self.serverTypeToClientType.add("AuthenticationFactor", LG.core.dataModel.core.AuthenticationFactor);77 self.typeUri.add(LG.core.dataModel.core.AgencyRole, "/Core/AgencyRoles");78 self.serverTypeToClientType.add("AgencyRole", LG.core.dataModel.core.AgencyRole);79 self.typeUri.add(LG.core.dataModel.core.App, "/Core/Apps");80 self.serverTypeToClientType.add("App", LG.core.dataModel.core.App);81 self.typeUri.add(LG.core.dataModel.core.AppCategory, "/Core/AppCategories");82 self.serverTypeToClientType.add("AppCategory", LG.core.dataModel.core.AppCategory);83 self.typeUri.add(LG.core.dataModel.core.CompanyAddress, "/Core/CompanyAddresses");84 self.serverTypeToClientType.add("CompanyAddress", LG.core.dataModel.core.CompanyAddress);85 self.typeUri.add(LG.core.dataModel.core.CompanyAddressPhoneNumber, "/Core/CompanyAddressPhoneNumbers");86 self.serverTypeToClientType.add("CompanyAddressPhoneNumber", LG.core.dataModel.core.CompanyAddressPhoneNumber);87 self.typeUri.add(LG.core.dataModel.core.CompanyAddressUltiProAccount, "/Core/CompanyAddressUltiProAccounts");88 self.serverTypeToClientType.add("CompanyAddressUltiProAccount", LG.core.dataModel.core.CompanyAddressUltiProAccount);89 self.typeUri.add(LG.core.dataModel.core.Company, "/Core/Companies");90 self.serverTypeToClientType.add("Company", LG.core.dataModel.core.Company);91 self.typeUri.add(LG.core.dataModel.core.CompanyEmailAddress, "/Core/CompanyEmailAddresses");92 self.serverTypeToClientType.add("CompanyEmailAddress", LG.core.dataModel.core.CompanyEmailAddress);93 self.typeUri.add(LG.core.dataModel.core.CompanyName, "/Core/CompanyNames");94 self.serverTypeToClientType.add("CompanyName", LG.core.dataModel.core.CompanyName);95 self.typeUri.add(LG.core.dataModel.core.CompanyPhoneNumber, "/Core/CompanyPhoneNumbers");96 self.serverTypeToClientType.add("CompanyPhoneNumber", LG.core.dataModel.core.CompanyPhoneNumber);97 self.typeUri.add(LG.core.dataModel.core.CompanyUltiProAccount, "/Core/CompanyUltiProAccounts");98 self.serverTypeToClientType.add("CompanyUltiProAccount", LG.core.dataModel.core.CompanyUltiProAccount);99 self.typeUri.add(LG.core.dataModel.core.DatabaseCredential, "/Core/DatabaseCredentials");100 self.serverTypeToClientType.add("DatabaseCredential", LG.core.dataModel.core.DatabaseCredential);101 self.typeUri.add(LG.core.dataModel.core.LGEmployeeRole, "/Core/LGEmployeeRoles");102 self.serverTypeToClientType.add("LGEmployeeRole", LG.core.dataModel.core.LGEmployeeRole);103 self.typeUri.add(LG.core.dataModel.core.LGEmployeeRoleUltiProAccount, "/Core/LGEmployeeRoleUltiProAccounts");104 self.serverTypeToClientType.add("LGEmployeeRoleUltiProAccount", LG.core.dataModel.core.LGEmployeeRoleUltiProAccount);105 self.typeUri.add(LG.core.dataModel.core.GoogleAuthFactor, "/Core/GoogleAuthFactors");106 self.serverTypeToClientType.add("GoogleAuthFactor", LG.core.dataModel.core.GoogleAuthFactor);107 self.typeUri.add(LG.core.dataModel.core.PeopleGroup, "/Core/PeopleGroups");108 self.serverTypeToClientType.add("PeopleGroup", LG.core.dataModel.core.PeopleGroup);109 self.typeUri.add(LG.core.dataModel.core.LdapCredential, "/Core/LdapCredentials");110 self.serverTypeToClientType.add("LdapCredential", LG.core.dataModel.core.LdapCredential);111 self.typeUri.add(LG.core.dataModel.core.Credential, "/Core/Credentials");112 self.serverTypeToClientType.add("Credential", LG.core.dataModel.core.Credential);113 self.typeUri.add(LG.core.dataModel.core.Permission, "/Core/Permissions");114 self.serverTypeToClientType.add("Permission", LG.core.dataModel.core.Permission);115 self.typeUri.add(LG.core.dataModel.core.Person, "/Core/People");116 self.serverTypeToClientType.add("Person", LG.core.dataModel.core.Person);117 self.typeUri.add(LG.core.dataModel.core.PersonEmailAddress, "/Core/PersonEmailAddresses");118 self.serverTypeToClientType.add("PersonEmailAddress", LG.core.dataModel.core.PersonEmailAddress);119 self.typeUri.add(LG.core.dataModel.core.PersonPhoneNumber, "/Core/PersonPhoneNumbers");120 self.serverTypeToClientType.add("PersonPhoneNumber", LG.core.dataModel.core.PersonPhoneNumber);121 self.typeUri.add(LG.core.dataModel.core.PersonLdapAccount, "/Core/PersonLdapAccounts");122 self.serverTypeToClientType.add("PersonLdapAccount", LG.core.dataModel.core.PersonLdapAccount);123 self.typeUri.add(LG.core.dataModel.core.PersonUltiProAccount, "/Core/PersonUltiProAccount");124 self.serverTypeToClientType.add("PersonUltiProAccount", LG.core.dataModel.core.PersonUltiProAccount);125 self.typeUri.add(LG.core.dataModel.core.ProfilePictureAttachment, "/Core/ProfilePictureAttachments");126 self.serverTypeToClientType.add("ProfilePictureAttachment", LG.core.dataModel.core.ProfilePictureAttachment);127 self.typeUri.add(LG.core.dataModel.core.PermissionGroup, "/Core/PermissionGroups");128 self.serverTypeToClientType.add("PermissionGroup", LG.core.dataModel.core.PermissionGroup);129 self.typeUri.add(LG.core.dataModel.core.PersonToPermission, "/Core/PersonToPermission");130 self.typeUri.add(LG.core.dataModel.core.PersonToPermissionGroup, "/Core/PersonToPermissionGroup");131 self.typeUri.add(LG.core.dataModel.core.PermissionGroupToPermission, "/Core/PermissionToPermissionGroup");132 self.typeUri.add(LG.core.dataModel.core.PeopleGroupToPermission, "/Core/PermissionToPeopleGroup");133 self.typeUri.add(LG.core.dataModel.core.PersonToPeopleGroup, "/Core/PersonToGroup");134 self.typeUri.add(LG.core.dataModel.core.PermissionGroupToPeopleGroup, "/Core/PeopleGroupToPermissionGroup");135 // This is the same as above, but I'm lazily doing it this way instead.136 var serverUrisToTypes = {137 "/Core/JobRoles": LG.core.dataModel.core.JobRole,138 "/Core/JobRoleToDepartments": LG.core.dataModel.core.JobRoleToDepartment,139 "/Core/JobRoleToDivisions": LG.core.dataModel.core.JobRoleToDivision,140 "/Core/JobRoleToTeams": LG.core.dataModel.core.JobRoleToTeam,141 "/Core/JobRoleTypes": LG.core.dataModel.core.JobRoleType,142 "/Core/LGEmployeeRoleTitles": LG.core.dataModel.core.LGEmployeeRoleTitle,143 "/Core/PercentOfFullTimeEquivalents": LG.core.dataModel.core.PercentOfFullTimeEquivalent,144 "/Core/FullTimeEquivalents": LG.core.dataModel.core.FullTimeEquivalent,145 "/Core/SupervisorJobRoles": LG.core.dataModel.core.SupervisorJobRole,146 "/Core/CompanyDivisions": LG.core.dataModel.core.CompanyDivision,147 "/Core/CompanyTeams": LG.core.dataModel.core.CompanyTeam,148 "/Core/CompanyDepartments": LG.core.dataModel.core.CompanyDepartment,149 "/Core/ProducerRoleDataPoints": LG.core.dataModel.core.ProducerRoleDataPoint,150 "/Core/JobRoleDataPoints": LG.core.dataModel.core.JobRoleDataPoint151 };152 for (var uri in serverUrisToTypes) {153 self.typeUri.add(serverUrisToTypes[uri], uri);154 }155 var serverTypesToClientTypes = {156 "JobRole": LG.core.dataModel.core.JobRole,157 "JobRoleToDivision": LG.core.dataModel.core.JobRoleToDivision,158 "JobRoleToDepartment": LG.core.dataModel.core.JobRoleToDepartment,159 "JobRoleToTeam": LG.core.dataModel.core.JobRoleToTeam,160 "JobRoleType": LG.core.dataModel.core.JobRoleType,161 "LGEmployeeRoleTitle": LG.core.dataModel.core.LGEmployeeRoleTitle,162 "PercentOfFullTimeEquivalent": LG.core.dataModel.core.PercentOfFullTimeEquivalent,163 "FullTimeEquivalent": LG.core.dataModel.core.FullTimeEquivalent,164 "SupervisorJobRole": LG.core.dataModel.core.SupervisorJobRole,165 "CompanyDivision": LG.core.dataModel.core.CompanyDivision,166 "CompanyTeam": LG.core.dataModel.core.CompanyTeam,167 "CompanyDepartment": LG.core.dataModel.core.CompanyDepartment,168 "ProducerRoleDataPoint": LG.core.dataModel.core.ProducerRoleDataPoint,169 "JobRoleDataPoint": LG.core.dataModel.core.JobRoleDataPoint170 };171 for (var type in serverTypesToClientTypes) {172 self.serverTypeToClientType.add(type, serverTypesToClientTypes[type]);173 }174 self.relationships = {175 oneToOne: [{176 type: LG.core.dataModel.core.Person,177 hasKey: "id",178 hasOne: "ldapAccount",179 ofType: LG.core.dataModel.core.PersonLdapAccount,180 withKey: "id",181 withForeignKey: "id",182 withOne: "person"183 }, {184 type: LG.core.dataModel.core.Company,185 hasKey: "id",186 hasOne: "ultiProAccount",187 ofType: LG.core.dataModel.core.CompanyUltiProAccount,188 withKey: "id",189 withForeignKey: "id",190 withOne: "company"191 }, {192 type: LG.core.dataModel.core.LGEmployeeRole,193 hasKey: "id",194 hasOne: "LGEmployeeRoleUltiProAccount",195 ofType: LG.core.dataModel.core.LGEmployeeRoleUltiProAccount,196 withKey: "id",197 withForeignKey: "id",198 withOne: "LGEmployeeRole"199 }, {200 type: LG.core.dataModel.core.JobRole,201 hasKey: "id",202 hasOne: "jobRoleDataPoint",203 ofType: LG.core.dataModel.core.JobRoleDataPoint,204 withKey: "id",205 withForeignKey: "jobRoleId",206 withOne: "jobRole"207 }],208 oneToMany: [{209 type: LG.core.dataModel.core.Company,210 hasKey: "id",211 hasMany: "agencyRoles",212 ofType: LG.core.dataModel.core.AgencyRole,213 withKey: "id",214 withForeignKey: "companyId",215 withOne: "company"216 }, {217 type: LG.core.dataModel.core.Person,218 hasKey: "id",219 hasMany: "ultiProAccounts",220 ofType: LG.core.dataModel.core.PersonUltiProAccount,221 withKey: "id",222 withForeignKey: "personId",223 withOne: "person"224 }, {225 type: LG.core.dataModel.core.Company,226 hasKey: "id",227 hasMany: "addresses",228 ofType: LG.core.dataModel.core.CompanyAddress,229 withKey: "id",230 withForeignKey: "companyId",231 withOne: "company"232 }, {233 type: LG.core.dataModel.core.Permission,234 hasKey: "id",235 hasMany: "applications",236 ofType: LG.core.dataModel.core.App,237 withKey: "id",238 withForeignKey: "accessPermissionId",239 withOne: "accessPermission",240 optional: true241 }, {242 type: LG.core.dataModel.core.Company,243 hasKey: "id",244 hasMany: "names",245 ofType: LG.core.dataModel.core.CompanyName,246 withKey: "id",247 withForeignKey: "companyId",248 withOne: "company"249 }, {250 type: LG.core.dataModel.core.Company,251 hasKey: "id",252 hasMany: "emailAddresses",253 ofType: LG.core.dataModel.core.CompanyEmailAddress,254 withKey: "id",255 withForeignKey: "companyId",256 withOne: "company"257 }, {258 type: LG.core.dataModel.core.Company,259 hasKey: "id",260 hasMany: "phoneNumbers",261 ofType: LG.core.dataModel.core.CompanyPhoneNumber,262 withKey: "id",263 withForeignKey: "companyId",264 withOne: "company"265 }, {266 type: LG.core.dataModel.core.Company,267 hasKey: "id",268 hasMany: "roles",269 ofType: LG.core.dataModel.core.CompanyRole,270 withKey: "id",271 withForeignKey: "companyId",272 withOne: "company"273 }, {274 type: LG.core.dataModel.core.CompanyAddress,275 hasKey: "id",276 hasMany: "LGEmployeeRoles",277 ofType: LG.core.dataModel.core.LGEmployeeRole,278 withKey: "id",279 withForeignKey: "companyAddressId",280 withOne: "companyAddress"281 }, {282 type: LG.core.dataModel.core.LGEmployeeRole,283 hasKey: "id",284 hasMany: "FTEs",285 ofType: LG.core.dataModel.core.FullTimeEquivalent,286 withKey: "id",287 withForeignKey: "LGEmployeeRoleId",288 withOne: "LGEmployeeRole",289 optional: true290 }, {291 type: LG.core.dataModel.core.Person,292 hasKey: "id",293 hasMany: "credentials",294 ofType: LG.core.dataModel.core.LdapCredential,295 withKey: "id",296 withForeignKey: "personId",297 withOne: "person"298 }, {299 type: LG.core.dataModel.core.LdapCredential,300 hasKey: "id",301 hasMany: "authenticationFactors",302 ofType: LG.core.dataModel.core.AuthenticationFactor,303 withKey: "id",304 withForeignKey: "credentialId",305 withOne: "credential"306 }, {307 type: LG.core.dataModel.core.LdapCredential,308 hasKey: "id",309 hasMany: "authentications",310 ofType: LG.core.dataModel.core.Authentication,311 withKey: "id",312 withForeignKey: "credentialId",313 withOne: "credential"314 }, {315 type: LG.core.dataModel.core.Person,316 hasKey: "id",317 hasMany: "emailAddresses",318 ofType: LG.core.dataModel.core.PersonEmailAddress,319 withKey: "id",320 withForeignKey: "personId",321 withOne: "person"322 }, {323 type: LG.core.dataModel.core.Person,324 hasKey: "id",325 hasMany: "roles",326 ofType: LG.core.dataModel.core.LGEmployeeRole,327 withKey: "id",328 withForeignKey: "personId",329 withOne: "person"330 }, {331 type: LG.core.dataModel.core.Person,332 hasKey: "id",333 hasMany: "phoneNumbers",334 ofType: LG.core.dataModel.core.PersonPhoneNumber,335 withKey: "id",336 withForeignKey: "personId",337 withOne: "person"338 }, {339 type: LG.core.dataModel.core.App,340 hasKey: "id",341 hasMany: "permissions",342 ofType: LG.core.dataModel.core.Permission,343 withKey: "id",344 withForeignKey: "applicationId",345 withOne: "application"346 }, {347 type: LG.core.dataModel.core.AppCategory,348 hasKey: "id",349 hasMany: "apps",350 ofType: LG.core.dataModel.core.App,351 withKey: "id",352 withForeignKey: "categoryId",353 withOne: "category"354 }, {355 type: LG.core.dataModel.core.LGEmployeeRole,356 hasKey: "id",357 hasMany: "jobRoles",358 ofType: LG.core.dataModel.core.JobRole,359 withKey: "id",360 withForeignKey: "LGEmployeeRoleId",361 withOne: "LGEmployeeRole"362 }, {363 type: LG.core.dataModel.core.JobRole,364 hasKey: "id",365 hasMany: "percentOfFullTimeEquivalents",366 ofType: LG.core.dataModel.core.PercentOfFullTimeEquivalent,367 withKey: "id",368 withForeignKey: "jobRoleId",369 withOne: "jobRole"370 }, {371 type: LG.core.dataModel.core.JobRole,372 hasKey: "id",373 hasMany: "supervisorJobRoles",374 ofType: LG.core.dataModel.core.SupervisorJobRole,375 withKey: "id",376 withForeignKey: "jobRoleId",377 withOne: "jobRole"378 }, {379 type: LG.core.dataModel.core.JobRole,380 hasKey: "id",381 hasMany: "directReports",382 ofType: LG.core.dataModel.core.SupervisorJobRole,383 withKey: "id",384 withForeignKey: "supervisorRoleId",385 withOne: "supervisorRole"386 }, {387 type: LG.core.dataModel.core.JobRoleType,388 hasKey: "id",389 hasMany: "jobRoles",390 ofType: LG.core.dataModel.core.JobRole,391 withKey: "id",392 withForeignKey: "jobRoleTypeId",393 withOne: "jobRoleType"394 }, {395 type: LG.core.dataModel.core.LGEmployeeRole,396 hasKey: "id",397 hasMany: "titles",398 ofType: LG.core.dataModel.core.LGEmployeeRoleTitle,399 withKey: "id",400 withForeignKey: "LGEmployeeRoleId",401 withOne: "LGEmployeeRole"402 }, {403 type: LG.core.dataModel.core.Company,404 hasKey: "id",405 hasMany: "companyDivisions",406 ofType: LG.core.dataModel.core.CompanyDivision,407 withKey: "id",408 withForeignKey: "companyId",409 withOne: "company"410 }, {411 type: LG.core.dataModel.core.Company,412 hasKey: "id",413 hasMany: "companyTeams",414 ofType: LG.core.dataModel.core.CompanyTeam,415 withKey: "id",416 withForeignKey: "companyId",417 withOne: "company"418 }, {419 type: LG.core.dataModel.core.Company,420 hasKey: "id",421 hasMany: "companyDepartments",422 ofType: LG.core.dataModel.core.CompanyDepartment,423 withKey: "id",424 withForeignKey: "companyId",425 withOne: "company"426 }, {427 type: LG.core.dataModel.core.Company,428 hasKey: "id",429 hasMany: "jobRoles",430 ofType: LG.core.dataModel.core.JobRole,431 withKey: "id",432 withForeignKey: "companyId",433 withOne: "company"434 }, {435 type: LG.core.dataModel.core.JobRole,436 hasKey: "id",437 hasMany: "jobRoleToDivisions",438 ofType: LG.core.dataModel.core.JobRoleToDivision,439 withKey: "id",440 withForeignKey: "jobRoleId",441 withOne: "jobRole"442 }, {443 type: LG.core.dataModel.core.JobRole,444 hasKey: "id",445 hasMany: "jobRoleToDepartments",446 ofType: LG.core.dataModel.core.JobRoleToDepartment,447 withKey: "id",448 withForeignKey: "jobRoleId",449 withOne: "jobRole"450 }, {451 type: LG.core.dataModel.core.JobRole,452 hasKey: "id",453 hasMany: "jobRoleToTeams",454 ofType: LG.core.dataModel.core.JobRoleToTeam,455 withKey: "id",456 withForeignKey: "jobRoleId",457 withOne: "jobRole"458 }, {459 type: LG.core.dataModel.core.CompanyDivision,460 hasKey: "id",461 hasMany: "jobRoleToDivisions",462 ofType: LG.core.dataModel.core.JobRoleToDivision,463 withKey: "id",464 withForeignKey: "companyDivisionId",465 withOne: "companyDivision"466 }, {467 type: LG.core.dataModel.core.CompanyDepartment,468 hasKey: "id",469 hasMany: "jobRoleToDepartments",470 ofType: LG.core.dataModel.core.JobRoleToDepartment,471 withKey: "id",472 withForeignKey: "companyDepartmentId",473 withOne: "companyDepartment"474 }, {475 type: LG.core.dataModel.core.CompanyTeam,476 hasKey: "id",477 hasMany: "jobRoleToTeams",478 ofType: LG.core.dataModel.core.JobRoleToTeam,479 withKey: "id",480 withForeignKey: "companyTeamId",481 withOne: "companyTeam"482 }],483 manyToMany: [{484 type: LG.core.dataModel.core.PermissionGroup,485 hasKey: "id",486 hasForeignKey: "permissionId",487 hasMany: "permissions",488 ofType: LG.core.dataModel.core.Permission,489 withKey: "id",490 withForeignKey: "permissionGroupId",491 withMany: "permissionGroups",492 usingMappingType: LG.core.dataModel.core.PermissionGroupToPermission493 }, {494 type: LG.core.dataModel.core.Person,495 hasKey: "id",496 hasForeignKey: "peopleGroupId",497 hasMany: "peopleGroups",498 ofType: LG.core.dataModel.core.PeopleGroup,499 withKey: "id",500 withForeignKey: "personId",501 withMany: "people",502 usingMappingType: LG.core.dataModel.core.PersonToPeopleGroup503 }, {504 type: LG.core.dataModel.core.Person,505 hasKey: "id",506 hasForeignKey: "permissionId",507 hasMany: "permissions",508 ofType: LG.core.dataModel.core.Permission,509 withKey: "id",510 withForeignKey: "personId",511 withMany: "people",512 usingMappingType: LG.core.dataModel.core.PersonToPermission513 }, {514 type: LG.core.dataModel.core.Person,515 hasKey: "id",516 hasForeignKey: "permissionGroupId",517 hasMany: "permissionGroups",518 ofType: LG.core.dataModel.core.PermissionGroup,519 withKey: "id",520 withForeignKey: "personId",521 withMany: "people",522 usingMappingType: LG.core.dataModel.core.PersonToPermissionGroup523 }, {524 type: LG.core.dataModel.core.PeopleGroup,525 hasKey: "id",526 hasForeignKey: "permissionGroupId",527 hasMany: "permissionGroups",528 ofType: LG.core.dataModel.core.PermissionGroup,529 withKey: "id",530 withForeignKey: "peopleGroupId",531 withMany: "peopleGroups",532 usingMappingType: LG.core.dataModel.core.PermissionGroupToPeopleGroup533 }, {534 type: LG.core.dataModel.core.PeopleGroup,535 hasKey: "id",536 hasForeignKey: "permissionId",537 hasMany: "permissions",538 ofType: LG.core.dataModel.core.Permission,539 withKey: "id",540 withForeignKey: "peopleGroupId",541 withMany: "peopleGroups",542 usingMappingType: LG.core.dataModel.core.PeopleGroupToPermission543 }]544 };545 return self;546 };547 BASE.extend(Service, Super);548 return Service;549 }(LG.rest.Service));...
DataContext.js
Source:DataContext.js
1BASE.require([2 "BASE.data.DataContext",3 "LG.core.dataModel.core.AgencyRole",4 "LG.core.dataModel.core.CompanyRole",5 "LG.core.dataModel.core.App",6 "LG.core.dataModel.core.Authentication",7 "LG.core.dataModel.core.AuthenticationFactor",8 "LG.core.dataModel.core.Company",9 "LG.core.dataModel.core.CompanyAddress",10 "LG.core.dataModel.core.CompanyAddressPhoneNumber",11 "LG.core.dataModel.core.CompanyEmailAddress",12 "LG.core.dataModel.core.CompanyName",13 "LG.core.dataModel.core.CompanyPhoneNumber",14 "LG.core.dataModel.core.CompanyUltiProAccount",15 "LG.core.dataModel.core.DatabaseCredential",16 "LG.core.dataModel.core.GoogleAuthFactor",17 "LG.core.dataModel.core.PeopleGroup",18 "LG.core.dataModel.core.LdapCredential",19 "LG.core.dataModel.core.Permission",20 "LG.core.dataModel.core.PermissionGroup",21 "LG.core.dataModel.core.Person",22 "LG.core.dataModel.core.PersonEmailAddress",23 "LG.core.dataModel.core.PersonLdapAccount",24 "LG.core.dataModel.core.PersonPhoneNumber",25 "LG.core.dataModel.core.PersonUltiProAccount",26 "LG.core.dataModel.core.ProfilePictureAttachment",27 "LG.core.dataModel.core.Service",28 "LG.core.dataModel.core.PermissionGroupToPermission",29 "LG.core.dataModel.core.PersonToPeopleGroup",30 "LG.core.dataModel.core.PersonToPermission",31 "LG.core.dataModel.core.PersonToPermissionGroup",32 "LG.core.dataModel.core.PermissionGroupToPeopleGroup",33 "LG.core.dataModel.core.PeopleGroupToPermission",34 "LG.core.dataModel.core.AppCategory",35 "LG.core.dataModel.core.LGEmployeeRole",36 "LG.core.dataModel.core.FullTimeEquivalent",37 "LG.core.dataModel.core.JobRole",38 "LG.core.dataModel.core.JobRoleToDepartment",39 "LG.core.dataModel.core.JobRoleToDivision",40 "LG.core.dataModel.core.JobRoleToTeam",41 "LG.core.dataModel.core.JobRoleType",42 "LG.core.dataModel.core.LGEmployeeRoleTitle",43 "LG.core.dataModel.core.PercentOfFullTimeEquivalent",44 "LG.core.dataModel.core.SupervisorJobRole",45 "LG.core.dataModel.core.CompanyDivision",46 "LG.core.dataModel.core.CompanyTeam",47 "LG.core.dataModel.core.CompanyDepartment",48 "LG.core.dataModel.core.LGEmployeeRoleUltiProAccount"49], function () {50 BASE.namespace("LG.core.dataModel.core");51 LG.core.dataModel.core.DataContext = (function (Super) {52 var DataContext = function (appId, userToken) {53 var self = this;54 if (!(self instanceof arguments.callee)) {55 return new DataContext(appId, userToken);56 }57 Super.call(self);58 self.setService(new LG.core.dataModel.core.Service(appId, userToken, self.relationships));59 self.agencyRoles = new BASE.data.DataSet(LG.core.dataModel.core.AgencyRole, self);60 self.companyRoles = new BASE.data.DataSet(LG.core.dataModel.core.CompanyRole, self);61 self.apps = new BASE.data.DataSet(LG.core.dataModel.core.App, self);62 self.appCategories = new BASE.data.DataSet(LG.core.dataModel.core.AppCategory, self);63 self.authentications = new BASE.data.DataSet(LG.core.dataModel.core.Authentication, self);64 self.authenticationFactors = new BASE.data.DataSet(LG.core.dataModel.core.AuthenticationFactor, self);65 self.companies = new BASE.data.DataSet(LG.core.dataModel.core.Company, self);66 self.companyAddresses = new BASE.data.DataSet(LG.core.dataModel.core.CompanyAddress, self);67 self.companyAddressPhoneNumbers = new BASE.data.DataSet(LG.core.dataModel.core.CompanyAddressPhoneNumber, self);68 self.companyEmailAddresses = new BASE.data.DataSet(LG.core.dataModel.core.CompanyEmailAddress, self);69 self.companyNames = new BASE.data.DataSet(LG.core.dataModel.core.CompanyName, self);70 self.companyPhoneNumbers = new BASE.data.DataSet(LG.core.dataModel.core.CompanyPhoneNumber, self);71 self.companyUltiProAccounts = new BASE.data.DataSet(LG.core.dataModel.core.CompanyUltiProAccount, self);72 self.databaseCredentials = new BASE.data.DataSet(LG.core.dataModel.core.DatabaseCredential, self);73 self.LGEmployeeRoles = new BASE.data.DataSet(LG.core.dataModel.core.LGEmployeeRole, self);74 self.googleAuthFactors = new BASE.data.DataSet(LG.core.dataModel.core.GoogleAuthFactor, self);75 self.peopleGroups = new BASE.data.DataSet(LG.core.dataModel.core.PeopleGroup, self);76 self.ldapCredentials = new BASE.data.DataSet(LG.core.dataModel.core.LdapCredential, self);77 self.permissions = new BASE.data.DataSet(LG.core.dataModel.core.Permission, self);78 self.permissionGroups = new BASE.data.DataSet(LG.core.dataModel.core.PermissionGroup, self);79 self.people = new BASE.data.DataSet(LG.core.dataModel.core.Person, self);80 self.personEmailAddresses = new BASE.data.DataSet(LG.core.dataModel.core.PersonEmailAddress, self);81 self.personLdapAccounts = new BASE.data.DataSet(LG.core.dataModel.core.PersonLdapAccount, self);82 self.personPhoneNumbers = new BASE.data.DataSet(LG.core.dataModel.core.PersonPhoneNumber, self);83 self.personUltiProAccounts = new BASE.data.DataSet(LG.core.dataModel.core.PersonUltiProAccount, self);84 self.profilePictureAttachments = new BASE.data.DataSet(LG.core.dataModel.core.ProfilePictureAttachment, self);85 self.jobRoles = new BASE.data.DataSet(LG.core.dataModel.core.JobRole, self);86 self.jobRoleToDepartments = new BASE.data.DataSet(LG.core.dataModel.core.JobRoleToDepartment, self);87 self.jobRoleToDivisions = new BASE.data.DataSet(LG.core.dataModel.core.JobRoleToDivision, self);88 self.jobRoleToTeams = new BASE.data.DataSet(LG.core.dataModel.core.JobRoleToTeam, self);89 self.jobRoleTypes = new BASE.data.DataSet(LG.core.dataModel.core.JobRoleType, self);90 self.jobRoleDataPoints = new BASE.data.DataSet(LG.core.dataModel.core.JobRoleDataPoint, self);91 self.producerRoleDataPoints = new BASE.data.DataSet(LG.core.dataModel.core.ProducerRoleDataPoint, self);92 self.LGEmployeeRoleTitles = new BASE.data.DataSet(LG.core.dataModel.core.LGEmployeeRoleTitle, self);93 self.percentOfFullTimeEquivalents = new BASE.data.DataSet(LG.core.dataModel.core.PercentOfFullTimeEquivalent, self);94 self.supervisorJobRoles = new BASE.data.DataSet(LG.core.dataModel.core.SupervisorJobRole, self);95 self.companyDivisions = new BASE.data.DataSet(LG.core.dataModel.core.CompanyDivision, self);96 self.companyTeams = new BASE.data.DataSet(LG.core.dataModel.core.CompanyTeam, self);97 self.companyDepartments = new BASE.data.DataSet(LG.core.dataModel.core.CompanyDepartment, self);98 self.fullTimeEquivalents = new BASE.data.DataSet(LG.core.dataModel.core.FullTimeEquivalent, self);99 100 return self;101 };102 BASE.extend(DataContext, Super);103 return DataContext;104 }(BASE.data.DataContext));...
Using AI Code Generation
1const { Playwright } = require('playwright');2 {3 isEnabled(name, severity) {4 return true;5 },6 log(name, severity, message, args) {7 console.log(message);8 }9 }10];11const { chromium } = require('playwright');12(async () => {13 const browser = await chromium.launch({14 });15 const page = await browser.newPage();16 await page.screenshot({ path: 'google.png' });17 await browser.close();18})();19const { Playwright } = require('playwright');20 {21 isEnabled(name, severity) {22 return true;23 },24 log(name, severity, message, args) {25 console.log(message);26 }27 }28];29const { chromium } = require('playwright');30(async () => {31 const browser = await chromium.launch({32 });33 const context = await browser.newContext();34 const page = await context.newPage();35 await page.screenshot({ path: 'google.png' });36 await context.close();37 await browser.close();38})();39const { Playwright } = require('playwright');40 {41 isEnabled(name, severity) {42 return true;43 },44 log(name, severity, message, args) {45 console.log(message);46 }47 }48];49const { chromium } = require('playwright');50(async () => {51 const browser = await chromium.launch({52 });53 const context = await browser.newContext();54 const page = await context.newPage();
Using AI Code Generation
1const { InternalLogger } = require('playwright/lib/utils/logger');2InternalLogger.prototype.lg = function() {3 console.log(...arguments);4};5const { InternalLogger } = require('playwright/lib/utils/logger');6InternalLogger.prototype.lg = function() {7 console.log(...arguments);8};9const { chromium } = require('playwright');10(async () => {11 const browser = await chromium.launch();12 const context = await browser.newContext();13 const page = await context.newPage();14 await page.screenshot({ path: `example.png` });15 await browser.close();16})();
Using AI Code Generation
1const { lg } = require("@playwright/test");2lg("Hello World");3const { test } = require("@playwright/test");4test("My first test", async ({ page }) => {5 await page.screenshot({ path: "example.png" });6});7const { test } = require("@playwright/test");8test("My first test", async ({ page }) => {9 await page.screenshot({ path: "example.png" });10});11const { test } = require("@playwright/test");12test("My first test", async ({ page }) => {13 await page.screenshot({ path: "example.png" });14});15const { test } = require("@playwright/test");16test("My first test", async ({ page }) => {17 await page.screenshot({ path: "example.png" });18});19const { test } = require("@playwright/test");20test("My first test", async ({ page }) => {21 await page.screenshot({ path: "example.png" });22});23const { test } = require("@playwright/test");24test("My first test", async ({ page }) => {25 await page.screenshot({ path: "example.png" });26});27const { test } = require("@playwright/test");28test("My first test", async ({ page }) => {29 await page.screenshot({ path: "example.png" });30});31const { test } = require("@playwright/test");32test("My first test", async ({ page }) => {33 await page.screenshot({ path: "example.png" });34});35const { test } = require("@playwright/test");36test("My first test", async ({ page }) => {
Using AI Code Generation
1const { log } = require('@playwright/test/lib/utils/logger');2log('info', 'This is my custom log');3const { log } = require('@playwright/test/lib/utils/logger');4log('info', 'This is my custom log');5const { log } = require('@playwright/test/lib/utils/logger');6log('info', 'This is my custom log');7const { log } = require('@playwright/test/lib/utils/logger');8log('info', 'This is my custom log');9const { log } = require('@playwright/test/lib/utils/logger');10log('info', 'This is my custom log');11const { log } = require('@playwright/test/lib/utils/logger');12log('info', 'This is my custom log');13const { log } = require('@playwright/test/lib/utils/logger');14log('info', 'This is my custom log');15const { log } = require('@playwright/test/lib/utils/logger');16log('info', 'This is my custom log');17const { log } = require('@playwright/test/lib/utils/logger');18log('info', 'This is my custom log');19const { log } = require('@playwright/test/lib/utils/logger');20log('info', 'This is my custom log');21const { log } = require('@playwright/test/lib/utils/logger');22log('info', 'This is my custom log');23const { log } = require('@playwright/test/lib/utils/logger');24log('info', 'This is my custom log');25const { log } = require('@playwright/test/lib/utils/logger');26log('info', 'This is my custom log');27const { log } = require('@playwright/test/lib/utils/logger');28log('
Using AI Code Generation
1const { Playwright } = require('playwright');2const { log } = Playwright;3log('log message');4log('log message', 'with', 'multiple', 'parameters');5log('log message with some %s', 'parameters');6log('log message with some %s', 'parameters', 'and', 'some', 'more');7log('log message with some %s and some %d', 'parameters', 123);8log('log message with some %s and some %d', 'parameters', 123, 'and', 'some', 'more');9log('log message with some %s and some %d and some %j', 'parameters', 123, { foo: 'bar' });10log('log message with some %s and some %d and some %j', 'parameters', 123, { foo: 'bar' }, 'and', 'some', 'more');11log('log message with some %s and some %d and some %j and some %o', 'parameters', 123, { foo: 'bar' }, { bar: 'baz' });12log('log message with some %s and some %d and some %j and some %o', 'parameters', 123, { foo: 'bar' }, { bar: 'baz' }, 'and', 'some', 'more');13const { Playwright } = require('playwright');14const { log } = Playwright;15log('log message with some %s and some %d and some %j and some %o', 'parameters', 123, { foo: 'bar' }, { bar: 'baz' }, 'and', 'some', 'more');16log('log message with some %s and some %d and some %j and some %o', 'parameters', 123, { foo: 'bar' }, { bar: 'baz' }, 'and', 'some', 'more');17const { Playwright } = require('playwright');18const { log } = Playwright;19log('log message with some %s and some %d and some %j and some %o', 'parameters', 123, { foo: 'bar' }, { bar: 'baz' }, 'and', 'some', 'more');
Using AI Code Generation
1const { PlaywrightInternalLogger } = require("@playwright/test");2const logger = new PlaywrightInternalLogger();3logger.lg("Hello World");4const { test } = require("@playwright/test");5test("my test", async ({ page }) => {6});7const { test, expect } = require("@playwright/test");8test("my test", async ({ page }) => {9});10const { test } = require("@playwright/test");11test("my test", async ({ page }, testInfo) => {12 await page.goto(testInfo.parameters.url);13});14const { test } = require("@playwright/test");15test("my test", async ({ page }) => {16});17test("my test", async ({ page }) => {18}, { timeout: 30000 });19const {
Using AI Code Generation
1const { log } = require('@playwright/test');2const fs = require('fs');3log.log = async function (message, severity) {4 const file = fs.createWriteStream('log.txt', { flags: 'a' });5 file.write(message + '\n');6 file.end();7};8test('test', async ({ page }) => {9 await page.screenshot({ path: `example.png` });10});11Hey @sahilgoyal, thanks for reporting! This should be fixed in the latest version of Playwright Test (1.8.1). Please let us know if it works for you!
Using AI Code Generation
1const {lg} = require('playwright/lib/utils/logger');2lg('Hello World');3import { PlaywrightTestConfig } from '@playwright/test';4import { PlaywrightTestLogger } from 'playwright-test-logger';5const config: PlaywrightTestConfig = {6 use: {7 ...PlaywrightTestLogger(),8 },9};10export default config;11import { test } from '@playwright/test';12test('My Test', async ({ page, log }) => {13 log('Hello World');14});15PlaywrightTestLogger(): PlaywrightTestConfig['use'];16PlaywrightTestLogger(options: PlaywrightTestLoggerOptions): PlaywrightTestConfig['use'];
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!