How to use lg method in Playwright Internal

Best JavaScript code snippet using playwright-internal

FontAwesome.js

Source:FontAwesome.js Github

copy

Full Screen

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}...

Full Screen

Full Screen

lightgallery-all.js

Source:lightgallery-all.js Github

copy

Full Screen

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;...

Full Screen

Full Screen

lightgallery.js

Source:lightgallery.js Github

copy

Full Screen

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)...

Full Screen

Full Screen

Service.js

Source:Service.js Github

copy

Full Screen

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));...

Full Screen

Full Screen

DataContext.js

Source:DataContext.js Github

copy

Full Screen

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));...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

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();

Full Screen

Using AI Code Generation

copy

Full Screen

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})();

Full Screen

Using AI Code Generation

copy

Full Screen

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 }) => {

Full Screen

Using AI Code Generation

copy

Full Screen

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('

Full Screen

Using AI Code Generation

copy

Full Screen

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');

Full Screen

Using AI Code Generation

copy

Full Screen

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 {

Full Screen

Using AI Code Generation

copy

Full Screen

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!

Full Screen

Using AI Code Generation

copy

Full Screen

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'];

Full Screen

Playwright tutorial

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.

Chapters:

  1. What is Playwright : Playwright is comparatively new but has gained good popularity. Get to know some history of the Playwright with some interesting facts connected with it.
  2. How To Install Playwright : Learn in detail about what basic configuration and dependencies are required for installing Playwright and run a test. Get a step-by-step direction for installing the Playwright automation framework.
  3. Playwright Futuristic Features: Launched in 2020, Playwright gained huge popularity quickly because of some obliging features such as Playwright Test Generator and Inspector, Playwright Reporter, Playwright auto-waiting mechanism and etc. Read up on those features to master Playwright testing.
  4. What is Component Testing: Component testing in Playwright is a unique feature that allows a tester to test a single component of a web application without integrating them with other elements. Learn how to perform Component testing on the Playwright automation framework.
  5. Inputs And Buttons In Playwright: Every website has Input boxes and buttons; learn about testing inputs and buttons with different scenarios and examples.
  6. Functions and Selectors in Playwright: Learn how to launch the Chromium browser with Playwright. Also, gain a better understanding of some important functions like “BrowserContext,” which allows you to run multiple browser sessions, and “newPage” which interacts with a page.
  7. Handling Alerts and Dropdowns in Playwright : Playwright interact with different types of alerts and pop-ups, such as simple, confirmation, and prompt, and different types of dropdowns, such as single selector and multi-selector get your hands-on with handling alerts and dropdown in Playright testing.
  8. Playwright vs Puppeteer: Get to know about the difference between two testing frameworks and how they are different than one another, which browsers they support, and what features they provide.
  9. Run Playwright Tests on LambdaTest: Playwright testing with LambdaTest leverages test performance to the utmost. You can run multiple Playwright tests in Parallel with the LammbdaTest test cloud. Get a step-by-step guide to run your Playwright test on the LambdaTest platform.
  10. Playwright Python Tutorial: Playwright automation framework support all major languages such as Python, JavaScript, TypeScript, .NET and etc. However, there are various advantages to Python end-to-end testing with Playwright because of its versatile utility. Get the hang of Playwright python testing with this chapter.
  11. Playwright End To End Testing Tutorial: Get your hands on with Playwright end-to-end testing and learn to use some exciting features such as TraceViewer, Debugging, Networking, Component testing, Visual testing, and many more.
  12. Playwright Video Tutorial: Watch the video tutorials on Playwright testing from experts and get a consecutive in-depth explanation of Playwright automation testing.

Run Playwright Internal automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful