├── .gitignore ├── LICENSE ├── README.md ├── css ├── calc-style.css ├── multiple-select.css ├── select2.css └── sorter.css ├── img ├── MoveType │ ├── Armored.png │ ├── Cavalry.png │ ├── Flying.png │ └── Infantry.png ├── Portraits │ ├── Abel.png │ ├── Alfonse.png │ ├── Alm.png │ ├── Anna.png │ ├── Arthur.png │ ├── Azama.png │ ├── Azura.png │ ├── Barst.png │ ├── Bartre.png │ ├── Beruka.png │ ├── Boey.png │ ├── Bruno.png │ ├── Caeda (Bride).png │ ├── Caeda.png │ ├── Cain.png │ ├── Camilla (Spring).png │ ├── Camilla.png │ ├── Camus.png │ ├── Catria.png │ ├── Cecilia.png │ ├── Celica.png │ ├── Charlotte (Bride).png │ ├── Cherche.png │ ├── Chrom (Spring).png │ ├── Chrom.png │ ├── Clair.png │ ├── Clarine.png │ ├── Cordelia (Bride).png │ ├── Cordelia.png │ ├── Corrin (F).png │ ├── Corrin (M).png │ ├── Donnel.png │ ├── Draug.png │ ├── Effie.png │ ├── Eirika.png │ ├── Eldigan.png │ ├── Elise.png │ ├── Eliwood.png │ ├── Ephraim.png │ ├── Est.png │ ├── Fae.png │ ├── Faye.png │ ├── Felicia.png │ ├── Fir.png │ ├── Florina.png │ ├── Frederick.png │ ├── Gaius.png │ ├── Genny.png │ ├── Gordin.png │ ├── Gunter.png │ ├── Gwendolyn.png │ ├── Hana.png │ ├── Hawkeye.png │ ├── Hector.png │ ├── Henry.png │ ├── Hinata.png │ ├── Hinoka.png │ ├── Ike.png │ ├── Jaffar.png │ ├── Jagen.png │ ├── Jakob.png │ ├── Jeorge.png │ ├── Julia.png │ ├── Kagero.png │ ├── Karel.png │ ├── Klein.png │ ├── Lachesis.png │ ├── Laslow.png │ ├── Leo.png │ ├── Lilina.png │ ├── Linde.png │ ├── Lissa.png │ ├── Lloyd.png │ ├── Lon'qu.png │ ├── Lucina (Spring).png │ ├── Lucina.png │ ├── Lucius.png │ ├── Lukas.png │ ├── Lyn (Bride).png │ ├── Lyn.png │ ├── Mae.png │ ├── Maria.png │ ├── Marth.png │ ├── Matthew.png │ ├── Merric.png │ ├── Michalis.png │ ├── Minerva.png │ ├── Mist.png │ ├── Narcian.png │ ├── Navarre.png │ ├── Niles.png │ ├── Ninian.png │ ├── Nino.png │ ├── Nowi.png │ ├── Oboro.png │ ├── Odin.png │ ├── Ogma.png │ ├── Olivia.png │ ├── Olwen.png │ ├── Other.png │ ├── Palla.png │ ├── Peri.png │ ├── Priscilla.png │ ├── Raigh.png │ ├── Raven.png │ ├── Rebecca.png │ ├── Reinhardt.png │ ├── Robin (F).png │ ├── Robin (M).png │ ├── Roy.png │ ├── Ryoma.png │ ├── Saizo.png │ ├── Sakura.png │ ├── Sanaki.png │ ├── Selena.png │ ├── Seliph.png │ ├── Serra.png │ ├── Setsuna.png │ ├── Shanna.png │ ├── Sharena.png │ ├── Sheena.png │ ├── Sophia.png │ ├── Soren.png │ ├── Stahl.png │ ├── Subaki.png │ ├── Sully.png │ ├── Takumi.png │ ├── Tharja.png │ ├── Tiki (Adult).png │ ├── Tiki (Young).png │ ├── Titania.png │ ├── Unselected-hover.png │ ├── Unselected.png │ ├── Ursula.png │ ├── Veronica.png │ ├── Virion.png │ ├── Wrys.png │ ├── Xander (Spring).png │ ├── Xander.png │ └── Zephiel.png ├── WeaponType │ ├── Axe.png │ ├── Blue Breath.png │ ├── Blue Tome.png │ ├── Bow.png │ ├── Dagger.png │ ├── Green Breath.png │ ├── Green Tome.png │ ├── Lance.png │ ├── Red Breath.png │ ├── Red Tome.png │ ├── Staff.png │ └── Sword.png ├── bg.png ├── favicon.ico ├── multiple-select.png ├── swap-hover.png └── swap.png ├── index.html └── scripts ├── assist.js ├── char.js ├── multiple-select.js ├── select2.min.js ├── setup.js ├── skill.js ├── special.js ├── tsorter.js └── weapon.js /.gitignore: -------------------------------------------------------------------------------- 1 | # ignore dreamweaver design notes 2 | _notes 3 | css/_notes 4 | data/_notes 5 | img/_notes 6 | scripts/_notes 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Nien 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Fire Emblem: Heroes Damage Calculator / Battle Simulator 2 | Run Fire Emblem Heroes combat simulations and damage calculations. 3 | 4 | ## Notice 5 | This project is no longer being supported. [Click here](https://github.com/winsomniak/kagero-calc) 6 | to view the source code for the winsomniak's version of the calculator. 7 | 8 | -------------------------------------------------------------------------------- /css/calc-style.css: -------------------------------------------------------------------------------- 1 | html { 2 | background-color: #161a1b; 3 | } 4 | 5 | body { 6 | margin: 0 auto; 7 | padding-bottom: 20px; 8 | font-family: Verdana, Arial, Helvetica, sans-serif; 9 | color: white; 10 | font-size: 14px; 11 | } 12 | 13 | #wrapper { 14 | white-space: nowrap; 15 | width: 840px; 16 | margin: 0px auto; 17 | } 18 | 19 | #calc { 20 | height: 100%; 21 | margin: 0px auto; 22 | } 23 | 24 | fieldset { 25 | padding: 0.5em 1em 0.6em 1em; 26 | border-radius: 6px; 27 | border-color: #c0c0c0; 28 | } 29 | 30 | #char-panel { 31 | vertical-align: top; 32 | } 33 | 34 | label { 35 | display: inline-block; 36 | float: left; 37 | text-align: left; 38 | width: 9.8em; 39 | } 40 | 41 | .matchup-section { 42 | display: none; 43 | text-align: center; 44 | white-space: normal; 45 | margin: 1em auto 0em auto; 46 | } 47 | 48 | .filter-toprow { 49 | margin-bottom: 0.3em; 50 | } 51 | 52 | .filter-col2 { 53 | margin-right: 1em; 54 | } 55 | 56 | .filter-col3 { 57 | margin-left: 1em; 58 | } 59 | 60 | #matchup-filter-title { 61 | text-align: center; 62 | font-size: 1em; 63 | margin: 1em 0; 64 | } 65 | 66 | #matchup-filters .filter-label { 67 | width: 8em; 68 | } 69 | 70 | #matchup-filters select { 71 | width: 10.9em; 72 | box-sizing: border-box; 73 | } 74 | 75 | .matchup-filter-block { 76 | display: inline-block; 77 | width: 19.2em; 78 | margin: 0.1em 1em; 79 | } 80 | 81 | #matchup-filter-name { 82 | width: 100%; 83 | box-sizing: border-box; 84 | } 85 | 86 | #matchup-filter-reset { 87 | margin: 0.5em 0.5em 0 0.5em; 88 | } 89 | 90 | .curr-hp-label { 91 | width: 6.5em; 92 | } 93 | 94 | .override-state label { 95 | width: 5em; 96 | } 97 | 98 | #matchup-overrides .override-state select { 99 | width: 8.4em; 100 | } 101 | 102 | .stat { 103 | width: 3em; 104 | } 105 | 106 | .stat-header { 107 | width: auto; 108 | } 109 | 110 | .char-info .info-section, #matchup-overrides .info-section { 111 | margin: 0em 0em 1em 0em; 112 | } 113 | 114 | .char-info .info-section-bottom, #matchup-overrides .info-section-bottom { 115 | margin: 0em 0em 0.2em 0em; 116 | } 117 | 118 | .char-info .info-section th, #matchup-overrides .info-section th { 119 | padding: 0em 0.2em; 120 | font-size: 0.75em; 121 | } 122 | 123 | input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button { 124 | -webkit-appearance: none; 125 | } 126 | 127 | input[type=number] { 128 | -moz-appearance: textfield; 129 | } 130 | 131 | .char-info select, .char-info input[type=number], #matchup-overrides select { 132 | width: 12.3em; 133 | -webkit-box-sizing: border-box; 134 | -moz-box-size: border-box; 135 | box-sizing: border-box; 136 | } 137 | 138 | .char-info-panel { 139 | height: 100%; 140 | } 141 | 142 | .stat-info input[type=number], .current-hp input[type=number], .skill-select input[type=number] { 143 | width: 2.5em; 144 | } 145 | 146 | .stat-info select, #override-stats select, .weapon-select .adjacent-select { 147 | width: 2.8em; 148 | } 149 | 150 | .current-hp input[type=number], .skill-select input[type=number] { 151 | margin: 0em 0.2em 0em 0em; 152 | } 153 | 154 | .center-cell { 155 | text-align: center; 156 | } 157 | 158 | h1, h2, h3 { 159 | font-family: Corbel, "Droid Sans", Geneva, Verdana, sans-serif; 160 | padding: 0em; 161 | margin: 0em 0.2em; 162 | } 163 | 164 | #swap-cell { 165 | vertical-align: middle; 166 | } 167 | 168 | #swap { 169 | vertical-align: middle; 170 | padding: 0em 0.5em; 171 | } 172 | 173 | #swap-button { 174 | border: none; 175 | background-image: url(../img/swap.png); 176 | background-color: transparent; 177 | width: 38px; 178 | height: 42px; 179 | background-repeat: no-repeat; 180 | } 181 | 182 | #swap-button:hover { 183 | background-image: url(../img/swap-hover.png); 184 | cursor: pointer; 185 | } 186 | 187 | body::after { 188 | display: none; 189 | content: url(../img/swap-hover.png) url(../img/Portraits/Unselected-hover.png); 190 | } 191 | 192 | #swap-button:focus { 193 | outline: none; 194 | } 195 | 196 | #calc-header { 197 | width: 100%; 198 | min-width: 840px; 199 | background-color: gold; 200 | margin-bottom: 1em; 201 | vertical-align: middle; 202 | } 203 | 204 | #calc-header h1 { 205 | display: inline-block; 206 | padding: 0.3em; 207 | font-size: 1.2em; 208 | color: #0b0b0b; 209 | white-space: normal; 210 | } 211 | 212 | #calc-header span { 213 | color: #0b0b0b; 214 | padding: 0.3em; 215 | margin: 0.1em 0.2em 0 0.2em; 216 | float: right; 217 | font-size: 12px; 218 | line-height: 1.8; 219 | } 220 | 221 | h2 { 222 | font-size: 1.8em; 223 | color: gold; 224 | } 225 | 226 | h3 { 227 | font-size: 1.6em; 228 | margin-bottom: 0.1em; 229 | } 230 | 231 | .attacker { 232 | color: deepskyblue; 233 | } 234 | 235 | .defender { 236 | color: #e34262; 237 | } 238 | 239 | .character-select, .weapon-select, .skill-select, .state-section { 240 | line-height: 170%; 241 | } 242 | 243 | .denominator, .numerator { 244 | margin: 0em 0.1em; 245 | } 246 | 247 | #result-table { 248 | margin: 0 auto; 249 | text-align: center; 250 | } 251 | 252 | #interaction-list { 253 | list-style: none; 254 | white-space: normal; 255 | width: 700px; 256 | margin: 0em auto; 257 | padding: 0em; 258 | } 259 | 260 | .battle-interaction, .battle-interaction-final { 261 | padding: 0.6em 0em; 262 | } 263 | 264 | .battle-interaction-first, .battle-interaction-only { 265 | padding: 0 0 0.6em 0; 266 | } 267 | 268 | .battle-interaction, .battle-interaction-first { 269 | border-bottom: 1px solid #6c6c6c; 270 | } 271 | 272 | .battle-interaction-final, .battle-interaction-only { 273 | border-bottom: none; 274 | } 275 | 276 | .collapse-button:hover, .curr-hp-label:hover, .spec-cooldown-label:hover, .bonus-label:hover, .penalty-label:hover, .spur-label:hover { 277 | cursor: pointer; 278 | color: gold; 279 | } 280 | 281 | .dmg { 282 | color: gold; 283 | } 284 | 285 | .collapsable { 286 | display: none; 287 | } 288 | 289 | .extra-info { 290 | color: #5b5b5b; 291 | } 292 | 293 | .heal-seperator { 294 | padding: 0em 0.5em; 295 | } 296 | 297 | .ability-desc { 298 | margin: 0em; 299 | padding: 0.3em 0em; 300 | } 301 | 302 | .ability-desc-container { 303 | width: 21.5em; 304 | white-space: normal; 305 | } 306 | 307 | #result-msg { 308 | margin: 0em; 309 | padding: 0.1em 0; 310 | font-weight: bold; 311 | font-size: 1.2em; 312 | text-align: center; 313 | } 314 | 315 | .inherit { 316 | color: #C30003; 317 | } 318 | 319 | .char-slots { 320 | display: inline-block; 321 | text-align: center; 322 | width: 21.5em; 323 | } 324 | 325 | .char-slots-container { 326 | margin: 0 auto; 327 | text-align: center; 328 | } 329 | 330 | .char-tab { 331 | display: inline-block; 332 | width: 17%; 333 | border: solid 1px #c0c0c0; 334 | background-color: transparent; 335 | background-size: cover; 336 | vertical-align: middle; 337 | } 338 | 339 | .char-tab:hover { 340 | background-color: #22292C; 341 | border: solid 1px white; 342 | cursor: pointer; 343 | } 344 | 345 | .char-tab-selected { 346 | display: inline-block; 347 | width: 17%; 348 | border: solid 1px gold; 349 | background-color: #FCE77E; 350 | background-size: cover; 351 | vertical-align: middle; 352 | } 353 | 354 | .char-tab-unselected { 355 | display: inline-block; 356 | width: 17%; 357 | border: solid 1px #c0c0c0; 358 | background-color: transparent; 359 | background-size: cover; 360 | vertical-align: middle; 361 | } 362 | 363 | .char-tab-unselected:hover { 364 | content: url(../img/Portraits/Unselected-hover.png); 365 | cursor: pointer; 366 | background-color: #22292C; 367 | border: solid 1px white; 368 | } 369 | 370 | #matchups { 371 | display: none; 372 | } 373 | 374 | #matchup-display { 375 | width: 700px; 376 | margin: 0em auto 0.5em auto; 377 | } 378 | 379 | #matchup-table-container { 380 | margin: 1em auto 0.5em auto; 381 | } 382 | 383 | #matchup-table { 384 | width: 700px; 385 | font-size: 0.9em; 386 | text-align: center; 387 | border-collapse: collapse; 388 | } 389 | 390 | #matchup-table .matchup-portrait { 391 | width: 40px; 392 | height: 40px; 393 | vertical-align: middle; 394 | } 395 | 396 | .matchup-char { 397 | font-weight: bold; 398 | } 399 | 400 | .matchup-char:hover { 401 | cursor: pointer; 402 | color: gold; 403 | } 404 | 405 | .matchup-header { 406 | background-color: #0F1315; 407 | } 408 | 409 | .matchup-row-offset { 410 | background-color: #0F1315; 411 | } 412 | 413 | #matchup-table th { 414 | color: gold; 415 | padding: 0.3em 0; 416 | border: 1px solid #6c6c6c; 417 | } 418 | 419 | #matchup-table td { 420 | border: 1px solid #6c6c6c; 421 | } 422 | 423 | #modes-container { 424 | text-align: center; 425 | vertical-align: middle; 426 | margin: 0; 427 | } 428 | 429 | #modes { 430 | display: inline-block; 431 | } 432 | 433 | .mode-button-label { 434 | font-size: 1.05em; 435 | font-weight: bold; 436 | padding: 0.3em; 437 | width: 140px; 438 | text-align: center; 439 | border: 1px solid #c0c0c0; 440 | } 441 | 442 | .mode-button-label:hover { 443 | cursor: pointer; 444 | background-color: #22292C; 445 | } 446 | 447 | .mode-button:checked+label { 448 | color: #161a1b; 449 | background-color: gold; 450 | border: 1px solid gold; 451 | } 452 | 453 | .button-middle, .button-right { 454 | border-left: none; 455 | } 456 | 457 | .button-left { 458 | border-top-left-radius: 6px; 459 | border-bottom-left-radius: 6px; 460 | } 461 | 462 | .button-right { 463 | border-top-right-radius: 6px; 464 | border-bottom-right-radius: 6px; 465 | } 466 | 467 | .mode-button:checked+label.button-middle, .mode-button:checked+label.button-right { 468 | margin-left: -1px; 469 | } 470 | 471 | .mode-button, .adjacent-block { 472 | display:none; 473 | } 474 | 475 | .combat-char-container { 476 | position: relative; 477 | display: inline-block; 478 | } 479 | 480 | .combat-portrait { 481 | margin: 0 auto 0.2em auto; 482 | width: 75px; 483 | height: 75px; 484 | } 485 | 486 | #attacker-portrait { 487 | border: 1px solid #00384C; 488 | background-color: #9DE4FF; 489 | } 490 | 491 | #defender-portrait { 492 | border: 1px solid #500B19; 493 | background-color: #E7627C; 494 | } 495 | 496 | .hp-remain { 497 | font-weight: bold; 498 | font-size: 1.1em; 499 | } 500 | 501 | .combat-char { 502 | padding: 0 1.5em; 503 | } 504 | 505 | #matchup-title { 506 | text-align: center; 507 | } 508 | 509 | #matchup-buttons { 510 | text-align: center; 511 | } 512 | 513 | .matchup-button { 514 | color: #161a1b; 515 | font-weight: bold; 516 | margin: 0 0.1em; 517 | background-color: gold; 518 | border-radius: 4px; 519 | padding: 0.2em 0.5em; 520 | } 521 | 522 | .matchup-button:hover { 523 | background-color: #a8900e; 524 | color: #161a1b; 525 | } 526 | 527 | .matchup-button-selected { 528 | color: #161a1b; 529 | font-weight: bold; 530 | margin: 0 0.1em; 531 | background-color: #a8900e; 532 | border-radius: 4px; 533 | padding: 0.2em 0.5em; 534 | } 535 | 536 | .matchup-button-selected:hover { 537 | color: #161a1b; 538 | } 539 | 540 | #matchup-overview { 541 | display: block; 542 | margin-bottom: 0.8em; 543 | text-align: center; 544 | font-weight: bold; 545 | } 546 | 547 | .character-select .rarity-select, #matchup-overrides .rarity-select { 548 | width: 12.3em; 549 | } 550 | 551 | .character-select .level-select, #matchup-overrides #override-level { 552 | width: 7.8em; 553 | margin: 0 0.4em 0 0; 554 | } 555 | 556 | .character-select .merge-select, #matchup-overrides #override-merge { 557 | width: 4.1em; 558 | } 559 | 560 | .character-select .boon-select, #matchup-overrides #override-boon { 561 | width: 5.95em; 562 | margin: 0 0.4em 0 0; 563 | } 564 | 565 | .character-select .bane-select, #matchup-overrides #override-bane { 566 | width: 5.95em; 567 | } 568 | 569 | #matchup-overrides { 570 | line-height: 150%; 571 | text-align: left; 572 | white-space: nowrap; 573 | } 574 | 575 | #matchup-overrides table, #matchup-filters table { 576 | margin: 0 auto; 577 | } 578 | 579 | #matchup-overrides table td{ 580 | padding: 0 1em; 581 | vertical-align: top; 582 | } 583 | 584 | #override-stats table { 585 | margin: 0; 586 | } 587 | 588 | #override-stats table td{ 589 | padding: 0; 590 | } 591 | 592 | #override-msg { 593 | margin: 0; 594 | line-height: 130%; 595 | white-space: normal; 596 | font-style: italic; 597 | color: #5b5b5b; 598 | text-align: center; 599 | padding-top: 0.5em; 600 | } 601 | 602 | .weapon-icon { 603 | position: absolute; 604 | width: 25%; 605 | max-width: 20px; 606 | top: 2%; 607 | left: 2%; 608 | } 609 | 610 | .move-icon { 611 | position: absolute; 612 | width: 25%; 613 | max-width: 20px; 614 | top: 30%; 615 | left: 2%; 616 | } 617 | 618 | .combat-char-container .weapon-icon { 619 | left: 2px; 620 | top: 2px; 621 | width: 15px; 622 | } 623 | 624 | .combat-char-container .move-icon { 625 | left: 2px; 626 | top: 19px; 627 | width: 15px; 628 | } 629 | 630 | .legend-tab { 631 | display: inline-block; 632 | } 633 | 634 | .legend-tab-unselected { 635 | color: #5b5b5b; 636 | } 637 | 638 | .legend-tab-unselected:hover { 639 | color: gold; 640 | cursor: pointer; 641 | } 642 | 643 | .import-btn, .export-btn, .export-single-btn, .clear-team-btn { 644 | display: block; 645 | width: 130px; 646 | margin: 0px 3px 3px 3px; 647 | } 648 | 649 | #import-export { 650 | margin: 0 auto; 651 | display: none; 652 | } 653 | 654 | #import-export td { 655 | vertical-align: top; 656 | } 657 | 658 | #import-area { 659 | width: 400px; 660 | max-width: 400px; 661 | height: 100px; 662 | white-space: nowrap; 663 | } 664 | 665 | #import-error-msg-container { 666 | text-align: center; 667 | white-space: normal; 668 | max-width: 700px; 669 | } 670 | 671 | .draw-update:hover { 672 | cursor: pointer; 673 | color: gold; 674 | } 675 | 676 | select[multiple] { 677 | height: 20px; 678 | } 679 | 680 | .char-info .status-select > .ms-choice > span { 681 | width: 10em; 682 | } 683 | 684 | .override-state .status-select > .ms-choice > span { 685 | width: 6.3em; 686 | } 687 | 688 | .status-select > .ms-choice > span.placeholder { 689 | color: black; 690 | } 691 | -------------------------------------------------------------------------------- /css/multiple-select.css: -------------------------------------------------------------------------------- 1 | /** 2 | * @author zhixin wen 3 | */ 4 | 5 | .ms-parent { 6 | display: inline-block; 7 | position: relative; 8 | vertical-align: middle; 9 | } 10 | 11 | .ms-choice { 12 | display: block; 13 | width: 100%; 14 | height: 22px; 15 | padding: 0; 16 | overflow: hidden; 17 | cursor: pointer; 18 | border: 1px solid #aaa; 19 | text-align: left; 20 | white-space: nowrap; 21 | color: black; 22 | text-decoration: none; 23 | -webkit-border-radius: 1px; 24 | -moz-border-radius: 1px; 25 | border-radius: 1px; 26 | background-color: #fff; 27 | } 28 | 29 | .ms-choice.disabled { 30 | background-color: #f4f4f4; 31 | background-image: none; 32 | border: 1px solid #ddd; 33 | cursor: default; 34 | } 35 | 36 | .ms-choice > span { 37 | white-space: nowrap; 38 | overflow: hidden; 39 | text-overflow: ellipsis; 40 | display: block; 41 | padding-left: 4px; 42 | width: 8.7em; 43 | } 44 | 45 | .ms-choice > span.placeholder { 46 | color: #999; 47 | } 48 | 49 | .ms-choice > div { 50 | position: absolute; 51 | top: -1px; 52 | right: -2px; 53 | width: 20px; 54 | height: 21px; 55 | background: url(../img/multiple-select.png) left top no-repeat; 56 | } 57 | 58 | .ms-choice > div.open { 59 | background: url(../img/multiple-select.png) right top no-repeat; 60 | } 61 | 62 | .ms-drop { 63 | width: 100%; 64 | overflow: hidden; 65 | display: none; 66 | margin-top: -1px; 67 | padding: 0; 68 | position: absolute; 69 | z-index: 1000; 70 | background: #fff; 71 | color: #000; 72 | border: 1px solid #aaa; 73 | -webkit-border-radius: 1px; 74 | -moz-border-radius: 1px; 75 | border-radius: 1px; 76 | box-sizing: border-box; 77 | } 78 | 79 | .ms-drop.bottom { 80 | top: 100%; 81 | -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15); 82 | -moz-box-shadow: 0 4px 5px rgba(0, 0, 0, .15); 83 | box-shadow: 0 4px 5px rgba(0, 0, 0, .15); 84 | } 85 | 86 | .ms-drop.top { 87 | bottom: 100%; 88 | -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); 89 | -moz-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); 90 | box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); 91 | } 92 | 93 | .ms-search { 94 | display: inline-block; 95 | margin: 0; 96 | min-ms: 26px; 97 | padding: 4px; 98 | position: relative; 99 | white-space: nowrap; 100 | width: 100%; 101 | z-index: 10000; 102 | } 103 | 104 | .ms-search input { 105 | width: 100%; 106 | height: auto !important; 107 | min-height: 20px; 108 | padding: 0 20px 0 5px; 109 | margin: 0; 110 | outline: 0; 111 | font-family: sans-serif; 112 | font-size: 1em; 113 | border: 1px solid #aaa; 114 | -webkit-border-radius: 0; 115 | -moz-border-radius: 0; 116 | border-radius: 0; 117 | -webkit-box-shadow: none; 118 | -moz-box-shadow: none; 119 | box-shadow: none; 120 | background: #fff url(../img/multiple-select.png) no-repeat 100% -22px; 121 | background: url(../img/multiple-select.png) no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee)); 122 | background: url(../img/multiple-select.png) no-repeat 100% -22px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%); 123 | background: url(../img/multiple-select.png) no-repeat 100% -22px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%); 124 | background: url(../img/multiple-select.png) no-repeat 100% -22px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%); 125 | background: url(../img/multiple-select.png) no-repeat 100% -22px, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%); 126 | background: url(../img/multiple-select.png) no-repeat 100% -22px, linear-gradient(top, #ffffff 85%, #eeeeee 99%); 127 | } 128 | 129 | .ms-search, .ms-search input { 130 | -webkit-box-sizing: border-box; 131 | -khtml-box-sizing: border-box; 132 | -moz-box-sizing: border-box; 133 | -ms-box-sizing: border-box; 134 | box-sizing: border-box; 135 | } 136 | 137 | .ms-drop ul { 138 | overflow: auto; 139 | margin: 0; 140 | padding: 4px 4px; 141 | } 142 | 143 | .ms-drop ul > li { 144 | list-style: none; 145 | display: list-item; 146 | background-image: none; 147 | position: static; 148 | } 149 | 150 | .ms-drop ul > li .disabled { 151 | opacity: .35; 152 | filter: Alpha(Opacity=35); 153 | } 154 | 155 | .ms-drop ul > li.multiple { 156 | display: block; 157 | float: left; 158 | } 159 | 160 | .ms-drop ul > li.group { 161 | clear: both; 162 | } 163 | 164 | .ms-drop ul > li.multiple label { 165 | width: 100%; 166 | display: block; 167 | white-space: nowrap; 168 | overflow: hidden; 169 | text-overflow: ellipsis; 170 | } 171 | 172 | .ms-drop ul > li label { 173 | font-weight: normal; 174 | display: block; 175 | white-space: nowrap; 176 | width: 100%; 177 | } 178 | 179 | .ms-drop ul > li label:hover { 180 | background-color: #5897fb; 181 | color: white; 182 | } 183 | 184 | .ms-drop ul > li label.optgroup { 185 | font-weight: bold; 186 | } 187 | 188 | .ms-drop input[type="checkbox"] { 189 | vertical-align: middle; 190 | } 191 | 192 | .ms-drop .ms-no-results { 193 | display: none; 194 | } 195 | -------------------------------------------------------------------------------- /css/select2.css: -------------------------------------------------------------------------------- 1 | .select2-container { 2 | box-sizing: border-box; 3 | display: inline-block; 4 | margin: 0; 5 | font-size: 0.95em; 6 | font-family: Arial, "sans-serif"; 7 | color: black; 8 | line-height: 18px; 9 | position: relative; 10 | vertical-align: middle; } 11 | .select2-container .select2-selection--single { 12 | box-sizing: border-box; 13 | cursor: pointer; 14 | display: block; 15 | user-select: none; 16 | -webkit-user-select: none; } 17 | .select2-container .select2-selection--single .select2-selection__rendered { 18 | display: block; 19 | padding-left: 2px; 20 | padding-right: 20px; 21 | overflow: hidden; 22 | text-overflow: ellipsis; 23 | white-space: nowrap; } 24 | .select2-container .select2-selection--single .select2-selection__clear { 25 | position: relative; } 26 | .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { 27 | padding-right: 8px; 28 | padding-left: 20px; } 29 | .select2-container .select2-selection--multiple { 30 | box-sizing: border-box; 31 | cursor: pointer; 32 | display: block; 33 | min-height: 32px; 34 | user-select: none; 35 | -webkit-user-select: none; } 36 | .select2-container .select2-selection--multiple .select2-selection__rendered { 37 | display: inline-block; 38 | overflow: hidden; 39 | padding-left: 8px; 40 | text-overflow: ellipsis; 41 | white-space: nowrap; } 42 | .select2-container .select2-search--inline { 43 | float: left; } 44 | .select2-container .select2-search--inline .select2-search__field { 45 | box-sizing: border-box; 46 | border: none; 47 | font-size: 100%; 48 | margin-top: 5px; 49 | padding: 0; } 50 | .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { 51 | -webkit-appearance: none; } 52 | 53 | .select2-dropdown { 54 | background-color: white; 55 | border: 1px solid #aaa; 56 | box-sizing: border-box; 57 | display: block; 58 | position: absolute; 59 | left: -100000px; 60 | width: 100%; 61 | z-index: 1051; } 62 | 63 | .select2-results { 64 | display: block; } 65 | 66 | .select2-results__options { 67 | list-style: none; 68 | margin: 0; 69 | padding: 0; } 70 | 71 | .select2-results__option { 72 | padding: 6px; 73 | user-select: none; 74 | -webkit-user-select: none; } 75 | .select2-results__option[aria-selected] { 76 | cursor: pointer; } 77 | 78 | .select2-container--open .select2-dropdown { 79 | left: 0; } 80 | 81 | .select2-container--open .select2-dropdown--above { 82 | border-bottom: none; } 83 | 84 | .select2-container--open .select2-dropdown--below { 85 | border-top: none; } 86 | 87 | .select2-search--dropdown { 88 | display: block; 89 | padding: 4px; } 90 | .select2-search--dropdown .select2-search__field { 91 | padding: 4px; 92 | width: 100%; 93 | box-sizing: border-box; } 94 | .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { 95 | -webkit-appearance: none; } 96 | .select2-search--dropdown.select2-search--hide { 97 | display: none; } 98 | 99 | .select2-close-mask { 100 | border: 0; 101 | margin: 0; 102 | padding: 0; 103 | display: block; 104 | position: fixed; 105 | left: 0; 106 | top: 0; 107 | min-height: 100%; 108 | min-width: 100%; 109 | height: auto; 110 | width: auto; 111 | opacity: 0; 112 | z-index: 99; 113 | background-color: #fff; 114 | filter: alpha(opacity=0); } 115 | 116 | .select2-hidden-accessible { 117 | border: 0 !important; 118 | clip: rect(0 0 0 0) !important; 119 | height: 1px !important; 120 | margin: -1px !important; 121 | overflow: hidden !important; 122 | padding: 0 !important; 123 | position: absolute !important; 124 | width: 1px !important; } 125 | 126 | .select2-container--default .select2-selection--single { 127 | background-color: #fff; 128 | border: 1px solid #aaa; } 129 | .select2-container--default .select2-selection--single .select2-selection__rendered { 130 | color: black; } 131 | .select2-container--default .select2-selection--single .select2-selection__clear { 132 | cursor: pointer; 133 | float: right; 134 | font-weight: bold; } 135 | .select2-container--default .select2-selection--single .select2-selection__placeholder { 136 | color: #999; } 137 | .select2-container--default .select2-selection--single .select2-selection__arrow { 138 | height: 16px; 139 | position: absolute; 140 | top: 2px; 141 | right: 2px; 142 | width: 16px; } 143 | .select2-container--default .select2-selection--single .select2-selection__arrow b { 144 | border-color: black transparent transparent transparent; 145 | border-style: solid; 146 | border-width: 5px 4px 0 4px; 147 | height: 0; 148 | left: 50%; 149 | margin-left: -4px; 150 | margin-top: -2px; 151 | position: absolute; 152 | top: 50%; 153 | width: 0; } 154 | 155 | .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { 156 | float: left; } 157 | 158 | .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { 159 | left: 1px; 160 | right: auto; } 161 | 162 | .select2-container--default.select2-container--disabled .select2-selection--single { 163 | background-color: #eee; 164 | cursor: default; } 165 | .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { 166 | display: none; } 167 | 168 | .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { 169 | border-color: transparent transparent black transparent; 170 | border-width: 0 4px 5px 4px; } 171 | 172 | .select2-container--default .select2-selection--multiple { 173 | background-color: white; 174 | border: 1px solid #aaa; 175 | cursor: text; } 176 | .select2-container--default .select2-selection--multiple .select2-selection__rendered { 177 | box-sizing: border-box; 178 | list-style: none; 179 | margin: 0; 180 | padding: 0 5px; 181 | width: 100%; } 182 | .select2-container--default .select2-selection--multiple .select2-selection__rendered li { 183 | list-style: none; } 184 | .select2-container--default .select2-selection--multiple .select2-selection__placeholder { 185 | color: #999; 186 | margin-top: 5px; 187 | float: left; } 188 | .select2-container--default .select2-selection--multiple .select2-selection__clear { 189 | cursor: pointer; 190 | float: right; 191 | font-weight: bold; 192 | margin-top: 5px; 193 | margin-right: 10px; } 194 | .select2-container--default .select2-selection--multiple .select2-selection__choice { 195 | background-color: #e4e4e4; 196 | border: 1px solid #aaa; 197 | cursor: default; 198 | float: left; 199 | margin-right: 5px; 200 | margin-top: 5px; 201 | padding: 0 5px; } 202 | .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { 203 | color: #999; 204 | cursor: pointer; 205 | display: inline-block; 206 | font-weight: bold; 207 | margin-right: 2px; } 208 | .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { 209 | color: #333; } 210 | 211 | .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { 212 | float: right; } 213 | 214 | .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { 215 | margin-left: 5px; 216 | margin-right: auto; } 217 | 218 | .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { 219 | margin-left: 2px; 220 | margin-right: auto; } 221 | 222 | .select2-container--default.select2-container--focus .select2-selection--multiple { 223 | border: solid black 1px; 224 | outline: 0; } 225 | 226 | .select2-container--default.select2-container--disabled .select2-selection--multiple { 227 | background-color: #eee; 228 | cursor: default; } 229 | 230 | .select2-container--default.select2-container--disabled .select2-selection__choice__remove { 231 | display: none; } 232 | 233 | .select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { 234 | border-top-left-radius: 0; 235 | border-top-right-radius: 0; } 236 | 237 | .select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { 238 | border-bottom-left-radius: 0; 239 | border-bottom-right-radius: 0; } 240 | 241 | .select2-container--default .select2-search--dropdown .select2-search__field { 242 | border: 1px solid #aaa; } 243 | 244 | .select2-container--default .select2-search--inline .select2-search__field { 245 | background: transparent; 246 | border: none; 247 | outline: 0; 248 | box-shadow: none; 249 | -webkit-appearance: textfield; } 250 | 251 | .select2-container--default .select2-results > .select2-results__options { 252 | max-height: 240px; 253 | overflow-y: auto; } 254 | 255 | .select2-container--default .select2-results__option[role=group] { 256 | padding: 0; } 257 | 258 | .select2-container--default .select2-results__option[aria-disabled=true] { 259 | color: #999; } 260 | 261 | .select2-container--default .select2-results__option[aria-selected=true] { 262 | background-color: #ddd; } 263 | 264 | .select2-container--default .select2-results__option .select2-results__option { 265 | padding-left: 1em; } 266 | .select2-container--default .select2-results__option .select2-results__option .select2-results__group { 267 | padding-left: 0; } 268 | .select2-container--default .select2-results__option .select2-results__option .select2-results__option { 269 | margin-left: -1em; 270 | padding-left: 2em; } 271 | .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { 272 | margin-left: -2em; 273 | padding-left: 3em; } 274 | .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { 275 | margin-left: -3em; 276 | padding-left: 4em; } 277 | .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { 278 | margin-left: -4em; 279 | padding-left: 5em; } 280 | .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { 281 | margin-left: -5em; 282 | padding-left: 6em; } 283 | 284 | .select2-container--default .select2-results__option--highlighted[aria-selected] { 285 | background-color: #5897fb; 286 | color: white; } 287 | 288 | .select2-container--default .select2-results__option--highlighted[aria-selected] .inherit { 289 | color: white; } 290 | 291 | .select2-container--default .select2-results__group { 292 | cursor: default; 293 | display: block; 294 | padding: 6px; } 295 | 296 | .select2-container--classic .select2-selection--single { 297 | background-color: #f7f7f7; 298 | border: 1px solid #aaa; 299 | outline: 0; 300 | background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%); 301 | background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%); 302 | background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); 303 | background-repeat: repeat-x; 304 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } 305 | .select2-container--classic .select2-selection--single:focus { 306 | border: 1px solid #5897fb; } 307 | .select2-container--classic .select2-selection--single .select2-selection__rendered { 308 | color: #444; } 309 | .select2-container--classic .select2-selection--single .select2-selection__clear { 310 | cursor: pointer; 311 | float: right; 312 | font-weight: bold; 313 | margin-right: 10px; } 314 | .select2-container--classic .select2-selection--single .select2-selection__placeholder { 315 | color: #999; } 316 | .select2-container--classic .select2-selection--single .select2-selection__f { 317 | background-color: #ddd; 318 | border: none; 319 | border-left: 1px solid #aaa; 320 | position: absolute; 321 | top: 1px; 322 | right: 1px; 323 | width: 20px; 324 | background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%); 325 | background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%); 326 | background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); 327 | background-repeat: repeat-x; 328 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); } 329 | .select2-container--classic .select2-selection--single .select2-selection__arrow b { 330 | border-color: black transparent transparent transparent; 331 | border-style: solid; 332 | border-width: 5px 4px 0 4px; 333 | height: 0; 334 | left: 50%; 335 | margin-left: -4px; 336 | margin-top: -2px; 337 | position: absolute; 338 | top: 50%; 339 | width: 0; } 340 | 341 | .select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { 342 | float: left; } 343 | 344 | .select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { 345 | border: none; 346 | border-right: 1px solid #aaa; 347 | border-radius: 0; 348 | left: 1px; 349 | right: auto; } 350 | 351 | .select2-container--classic.select2-container--open .select2-selection--single { 352 | border: 1px solid #5897fb; } 353 | .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { 354 | background: transparent; 355 | border: none; } 356 | .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { 357 | border-color: transparent transparent black transparent; 358 | border-width: 0 4px 5px 4px; } 359 | 360 | .select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { 361 | border-top: none; 362 | border-top-left-radius: 0; 363 | border-top-right-radius: 0; 364 | background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%); 365 | background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%); 366 | background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); 367 | background-repeat: repeat-x; 368 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } 369 | 370 | .select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { 371 | border-bottom: none; 372 | border-bottom-left-radius: 0; 373 | border-bottom-right-radius: 0; 374 | background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%); 375 | background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%); 376 | background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); 377 | background-repeat: repeat-x; 378 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); } 379 | 380 | .select2-container--classic .select2-selection--multiple { 381 | background-color: white; 382 | border: 1px solid #aaa; 383 | cursor: text; 384 | outline: 0; } 385 | .select2-container--classic .select2-selection--multiple:focus { 386 | border: 1px solid #5897fb; } 387 | .select2-container--classic .select2-selection--multiple .select2-selection__rendered { 388 | list-style: none; 389 | margin: 0; 390 | padding: 0 5px; } 391 | .select2-container--classic .select2-selection--multiple .select2-selection__clear { 392 | display: none; } 393 | .select2-container--classic .select2-selection--multiple .select2-selection__choice { 394 | background-color: #e4e4e4; 395 | border: 1px solid #aaa; 396 | cursor: default; 397 | float: left; 398 | margin-right: 5px; 399 | margin-top: 5px; 400 | padding: 0 5px; } 401 | .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { 402 | color: black; 403 | cursor: pointer; 404 | display: inline-block; 405 | font-weight: bold; 406 | margin-right: 2px; } 407 | .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { 408 | color: #555; } 409 | 410 | .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { 411 | float: right; } 412 | 413 | .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { 414 | margin-left: 5px; 415 | margin-right: auto; } 416 | 417 | .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { 418 | margin-left: 2px; 419 | margin-right: auto; } 420 | 421 | .select2-container--classic.select2-container--open .select2-selection--multiple { 422 | border: 1px solid #5897fb; } 423 | 424 | .select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { 425 | border-top: none; 426 | border-top-left-radius: 0; 427 | border-top-right-radius: 0; } 428 | 429 | .select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { 430 | border-bottom: none; 431 | border-bottom-left-radius: 0; 432 | border-bottom-right-radius: 0; } 433 | 434 | .select2-container--classic .select2-search--dropdown .select2-search__field { 435 | border: 1px solid #aaa; 436 | outline: 0; } 437 | 438 | .select2-container--classic .select2-search--inline .select2-search__field { 439 | outline: 0; 440 | box-shadow: none; } 441 | 442 | .select2-container--classic .select2-dropdown { 443 | background-color: white; 444 | border: 1px solid transparent; } 445 | 446 | .select2-container--classic .select2-dropdown--above { 447 | border-bottom: none; } 448 | 449 | .select2-container--classic .select2-dropdown--below { 450 | border-top: none; } 451 | 452 | .select2-container--classic .select2-results > .select2-results__options { 453 | max-height: 200px; 454 | overflow-y: auto; } 455 | 456 | .select2-container--classic .select2-results__option[role=group] { 457 | padding: 0; } 458 | 459 | .select2-container--classic .select2-results__option[aria-disabled=true] { 460 | color: grey; } 461 | 462 | .select2-container--classic .select2-results__option--highlighted[aria-selected] { 463 | background-color: #3875d7; 464 | color: white; } 465 | 466 | .select2-container--classic .select2-results__option--highlighted[aria-selected] .inherit { 467 | color: white; } 468 | 469 | .select2-container--classic .select2-results__group { 470 | cursor: default; 471 | display: block; 472 | padding: 6px; } 473 | 474 | .select2-container--classic.select2-container--open .select2-dropdown { 475 | border-color: #5897fb; } 476 | -------------------------------------------------------------------------------- /css/sorter.css: -------------------------------------------------------------------------------- 1 | /* Up and Down Arrows */ 2 | .sortable th.descend:after{ 3 | font-size: 0.9em; 4 | content: " \25B2"; 5 | } 6 | 7 | .sortable th.ascend:after{ 8 | font-size: 0.9em; 9 | content: " \25BC"; 10 | } 11 | 12 | .sortable th:hover { 13 | cursor: pointer; 14 | } 15 | -------------------------------------------------------------------------------- /img/MoveType/Armored.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/MoveType/Armored.png -------------------------------------------------------------------------------- /img/MoveType/Cavalry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/MoveType/Cavalry.png -------------------------------------------------------------------------------- /img/MoveType/Flying.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/MoveType/Flying.png -------------------------------------------------------------------------------- /img/MoveType/Infantry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/MoveType/Infantry.png -------------------------------------------------------------------------------- /img/Portraits/Abel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Abel.png -------------------------------------------------------------------------------- /img/Portraits/Alfonse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Alfonse.png -------------------------------------------------------------------------------- /img/Portraits/Alm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Alm.png -------------------------------------------------------------------------------- /img/Portraits/Anna.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Anna.png -------------------------------------------------------------------------------- /img/Portraits/Arthur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Arthur.png -------------------------------------------------------------------------------- /img/Portraits/Azama.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Azama.png -------------------------------------------------------------------------------- /img/Portraits/Azura.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Azura.png -------------------------------------------------------------------------------- /img/Portraits/Barst.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Barst.png -------------------------------------------------------------------------------- /img/Portraits/Bartre.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Bartre.png -------------------------------------------------------------------------------- /img/Portraits/Beruka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Beruka.png -------------------------------------------------------------------------------- /img/Portraits/Boey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Boey.png -------------------------------------------------------------------------------- /img/Portraits/Bruno.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Bruno.png -------------------------------------------------------------------------------- /img/Portraits/Caeda (Bride).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Caeda (Bride).png -------------------------------------------------------------------------------- /img/Portraits/Caeda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Caeda.png -------------------------------------------------------------------------------- /img/Portraits/Cain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Cain.png -------------------------------------------------------------------------------- /img/Portraits/Camilla (Spring).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Camilla (Spring).png -------------------------------------------------------------------------------- /img/Portraits/Camilla.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Camilla.png -------------------------------------------------------------------------------- /img/Portraits/Camus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Camus.png -------------------------------------------------------------------------------- /img/Portraits/Catria.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Catria.png -------------------------------------------------------------------------------- /img/Portraits/Cecilia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Cecilia.png -------------------------------------------------------------------------------- /img/Portraits/Celica.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Celica.png -------------------------------------------------------------------------------- /img/Portraits/Charlotte (Bride).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Charlotte (Bride).png -------------------------------------------------------------------------------- /img/Portraits/Cherche.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Cherche.png -------------------------------------------------------------------------------- /img/Portraits/Chrom (Spring).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Chrom (Spring).png -------------------------------------------------------------------------------- /img/Portraits/Chrom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Chrom.png -------------------------------------------------------------------------------- /img/Portraits/Clair.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Clair.png -------------------------------------------------------------------------------- /img/Portraits/Clarine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Clarine.png -------------------------------------------------------------------------------- /img/Portraits/Cordelia (Bride).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Cordelia (Bride).png -------------------------------------------------------------------------------- /img/Portraits/Cordelia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Cordelia.png -------------------------------------------------------------------------------- /img/Portraits/Corrin (F).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Corrin (F).png -------------------------------------------------------------------------------- /img/Portraits/Corrin (M).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Corrin (M).png -------------------------------------------------------------------------------- /img/Portraits/Donnel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Donnel.png -------------------------------------------------------------------------------- /img/Portraits/Draug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Draug.png -------------------------------------------------------------------------------- /img/Portraits/Effie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Effie.png -------------------------------------------------------------------------------- /img/Portraits/Eirika.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Eirika.png -------------------------------------------------------------------------------- /img/Portraits/Eldigan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Eldigan.png -------------------------------------------------------------------------------- /img/Portraits/Elise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Elise.png -------------------------------------------------------------------------------- /img/Portraits/Eliwood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Eliwood.png -------------------------------------------------------------------------------- /img/Portraits/Ephraim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Ephraim.png -------------------------------------------------------------------------------- /img/Portraits/Est.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Est.png -------------------------------------------------------------------------------- /img/Portraits/Fae.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Fae.png -------------------------------------------------------------------------------- /img/Portraits/Faye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Faye.png -------------------------------------------------------------------------------- /img/Portraits/Felicia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Felicia.png -------------------------------------------------------------------------------- /img/Portraits/Fir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Fir.png -------------------------------------------------------------------------------- /img/Portraits/Florina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Florina.png -------------------------------------------------------------------------------- /img/Portraits/Frederick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Frederick.png -------------------------------------------------------------------------------- /img/Portraits/Gaius.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Gaius.png -------------------------------------------------------------------------------- /img/Portraits/Genny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Genny.png -------------------------------------------------------------------------------- /img/Portraits/Gordin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Gordin.png -------------------------------------------------------------------------------- /img/Portraits/Gunter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Gunter.png -------------------------------------------------------------------------------- /img/Portraits/Gwendolyn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Gwendolyn.png -------------------------------------------------------------------------------- /img/Portraits/Hana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Hana.png -------------------------------------------------------------------------------- /img/Portraits/Hawkeye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Hawkeye.png -------------------------------------------------------------------------------- /img/Portraits/Hector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Hector.png -------------------------------------------------------------------------------- /img/Portraits/Henry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Henry.png -------------------------------------------------------------------------------- /img/Portraits/Hinata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Hinata.png -------------------------------------------------------------------------------- /img/Portraits/Hinoka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Hinoka.png -------------------------------------------------------------------------------- /img/Portraits/Ike.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Ike.png -------------------------------------------------------------------------------- /img/Portraits/Jaffar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Jaffar.png -------------------------------------------------------------------------------- /img/Portraits/Jagen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Jagen.png -------------------------------------------------------------------------------- /img/Portraits/Jakob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Jakob.png -------------------------------------------------------------------------------- /img/Portraits/Jeorge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Jeorge.png -------------------------------------------------------------------------------- /img/Portraits/Julia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Julia.png -------------------------------------------------------------------------------- /img/Portraits/Kagero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Kagero.png -------------------------------------------------------------------------------- /img/Portraits/Karel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Karel.png -------------------------------------------------------------------------------- /img/Portraits/Klein.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Klein.png -------------------------------------------------------------------------------- /img/Portraits/Lachesis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Lachesis.png -------------------------------------------------------------------------------- /img/Portraits/Laslow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Laslow.png -------------------------------------------------------------------------------- /img/Portraits/Leo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Leo.png -------------------------------------------------------------------------------- /img/Portraits/Lilina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Lilina.png -------------------------------------------------------------------------------- /img/Portraits/Linde.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Linde.png -------------------------------------------------------------------------------- /img/Portraits/Lissa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Lissa.png -------------------------------------------------------------------------------- /img/Portraits/Lloyd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Lloyd.png -------------------------------------------------------------------------------- /img/Portraits/Lon'qu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Lon'qu.png -------------------------------------------------------------------------------- /img/Portraits/Lucina (Spring).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Lucina (Spring).png -------------------------------------------------------------------------------- /img/Portraits/Lucina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Lucina.png -------------------------------------------------------------------------------- /img/Portraits/Lucius.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Lucius.png -------------------------------------------------------------------------------- /img/Portraits/Lukas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Lukas.png -------------------------------------------------------------------------------- /img/Portraits/Lyn (Bride).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Lyn (Bride).png -------------------------------------------------------------------------------- /img/Portraits/Lyn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Lyn.png -------------------------------------------------------------------------------- /img/Portraits/Mae.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Mae.png -------------------------------------------------------------------------------- /img/Portraits/Maria.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Maria.png -------------------------------------------------------------------------------- /img/Portraits/Marth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Marth.png -------------------------------------------------------------------------------- /img/Portraits/Matthew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Matthew.png -------------------------------------------------------------------------------- /img/Portraits/Merric.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Merric.png -------------------------------------------------------------------------------- /img/Portraits/Michalis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Michalis.png -------------------------------------------------------------------------------- /img/Portraits/Minerva.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Minerva.png -------------------------------------------------------------------------------- /img/Portraits/Mist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Mist.png -------------------------------------------------------------------------------- /img/Portraits/Narcian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Narcian.png -------------------------------------------------------------------------------- /img/Portraits/Navarre.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Navarre.png -------------------------------------------------------------------------------- /img/Portraits/Niles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Niles.png -------------------------------------------------------------------------------- /img/Portraits/Ninian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Ninian.png -------------------------------------------------------------------------------- /img/Portraits/Nino.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Nino.png -------------------------------------------------------------------------------- /img/Portraits/Nowi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Nowi.png -------------------------------------------------------------------------------- /img/Portraits/Oboro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Oboro.png -------------------------------------------------------------------------------- /img/Portraits/Odin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Odin.png -------------------------------------------------------------------------------- /img/Portraits/Ogma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Ogma.png -------------------------------------------------------------------------------- /img/Portraits/Olivia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Olivia.png -------------------------------------------------------------------------------- /img/Portraits/Olwen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Olwen.png -------------------------------------------------------------------------------- /img/Portraits/Other.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Other.png -------------------------------------------------------------------------------- /img/Portraits/Palla.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Palla.png -------------------------------------------------------------------------------- /img/Portraits/Peri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Peri.png -------------------------------------------------------------------------------- /img/Portraits/Priscilla.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Priscilla.png -------------------------------------------------------------------------------- /img/Portraits/Raigh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Raigh.png -------------------------------------------------------------------------------- /img/Portraits/Raven.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Raven.png -------------------------------------------------------------------------------- /img/Portraits/Rebecca.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Rebecca.png -------------------------------------------------------------------------------- /img/Portraits/Reinhardt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Reinhardt.png -------------------------------------------------------------------------------- /img/Portraits/Robin (F).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Robin (F).png -------------------------------------------------------------------------------- /img/Portraits/Robin (M).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Robin (M).png -------------------------------------------------------------------------------- /img/Portraits/Roy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Roy.png -------------------------------------------------------------------------------- /img/Portraits/Ryoma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Ryoma.png -------------------------------------------------------------------------------- /img/Portraits/Saizo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Saizo.png -------------------------------------------------------------------------------- /img/Portraits/Sakura.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Sakura.png -------------------------------------------------------------------------------- /img/Portraits/Sanaki.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Sanaki.png -------------------------------------------------------------------------------- /img/Portraits/Selena.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Selena.png -------------------------------------------------------------------------------- /img/Portraits/Seliph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Seliph.png -------------------------------------------------------------------------------- /img/Portraits/Serra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Serra.png -------------------------------------------------------------------------------- /img/Portraits/Setsuna.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Setsuna.png -------------------------------------------------------------------------------- /img/Portraits/Shanna.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Shanna.png -------------------------------------------------------------------------------- /img/Portraits/Sharena.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Sharena.png -------------------------------------------------------------------------------- /img/Portraits/Sheena.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Sheena.png -------------------------------------------------------------------------------- /img/Portraits/Sophia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Sophia.png -------------------------------------------------------------------------------- /img/Portraits/Soren.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Soren.png -------------------------------------------------------------------------------- /img/Portraits/Stahl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Stahl.png -------------------------------------------------------------------------------- /img/Portraits/Subaki.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Subaki.png -------------------------------------------------------------------------------- /img/Portraits/Sully.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Sully.png -------------------------------------------------------------------------------- /img/Portraits/Takumi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Takumi.png -------------------------------------------------------------------------------- /img/Portraits/Tharja.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Tharja.png -------------------------------------------------------------------------------- /img/Portraits/Tiki (Adult).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Tiki (Adult).png -------------------------------------------------------------------------------- /img/Portraits/Tiki (Young).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Tiki (Young).png -------------------------------------------------------------------------------- /img/Portraits/Titania.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Titania.png -------------------------------------------------------------------------------- /img/Portraits/Unselected-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Unselected-hover.png -------------------------------------------------------------------------------- /img/Portraits/Unselected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Unselected.png -------------------------------------------------------------------------------- /img/Portraits/Ursula.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Ursula.png -------------------------------------------------------------------------------- /img/Portraits/Veronica.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Veronica.png -------------------------------------------------------------------------------- /img/Portraits/Virion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Virion.png -------------------------------------------------------------------------------- /img/Portraits/Wrys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Wrys.png -------------------------------------------------------------------------------- /img/Portraits/Xander (Spring).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Xander (Spring).png -------------------------------------------------------------------------------- /img/Portraits/Xander.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Xander.png -------------------------------------------------------------------------------- /img/Portraits/Zephiel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/Portraits/Zephiel.png -------------------------------------------------------------------------------- /img/WeaponType/Axe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/WeaponType/Axe.png -------------------------------------------------------------------------------- /img/WeaponType/Blue Breath.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/WeaponType/Blue Breath.png -------------------------------------------------------------------------------- /img/WeaponType/Blue Tome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/WeaponType/Blue Tome.png -------------------------------------------------------------------------------- /img/WeaponType/Bow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/WeaponType/Bow.png -------------------------------------------------------------------------------- /img/WeaponType/Dagger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/WeaponType/Dagger.png -------------------------------------------------------------------------------- /img/WeaponType/Green Breath.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/WeaponType/Green Breath.png -------------------------------------------------------------------------------- /img/WeaponType/Green Tome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/WeaponType/Green Tome.png -------------------------------------------------------------------------------- /img/WeaponType/Lance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/WeaponType/Lance.png -------------------------------------------------------------------------------- /img/WeaponType/Red Breath.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/WeaponType/Red Breath.png -------------------------------------------------------------------------------- /img/WeaponType/Red Tome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/WeaponType/Red Tome.png -------------------------------------------------------------------------------- /img/WeaponType/Staff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/WeaponType/Staff.png -------------------------------------------------------------------------------- /img/WeaponType/Sword.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/WeaponType/Sword.png -------------------------------------------------------------------------------- /img/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/bg.png -------------------------------------------------------------------------------- /img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/favicon.ico -------------------------------------------------------------------------------- /img/multiple-select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/multiple-select.png -------------------------------------------------------------------------------- /img/swap-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/swap-hover.png -------------------------------------------------------------------------------- /img/swap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketmo/feh-damage-calc/d787e9b8b3dd18eed772d854233a64fd15b9b5f7/img/swap.png -------------------------------------------------------------------------------- /scripts/assist.js: -------------------------------------------------------------------------------- 1 | // command skill data 2 | var assistInfo = 3 | { 4 | "Ardent Sacrifice" : { 5 | "description" : "Heals adjacent ally 10 HP. Unit loses 10 HP.", 6 | "weapon_restrict" : "Staff" 7 | }, 8 | "Dance" : { 9 | "description" : "Enables target to take another action. Cannot be used on units with Sing or Dance.", 10 | "char_unique" : true 11 | }, 12 | "Draw Back" : { 13 | "description" : "Unit moves 1 space away from target ally, who moves to unit's former position.", 14 | "weapon_restrict" : "Staff" 15 | }, 16 | "Harsh Command" : { 17 | "description" : "Converts penalties on target into bonuses.", 18 | "weapon_restrict" : "Staff" 19 | }, 20 | "Heal" : { 21 | "description" : "Restores 5 HP.", 22 | "weapon_unique" : "Staff" 23 | }, 24 | "Martyr" : { 25 | "description" : "Restores 7 HP plus this unit's suffered damage. Unit heals 50% of suffered damage. Slows Special trigger (cooldown count+1).", 26 | "spec_cooldown_mod" : 1, 27 | "weapon_unique" : "Staff" 28 | }, 29 | "Mend" : { 30 | "description" : "Restores 10 HP.", 31 | "weapon_unique" : "Staff" 32 | }, 33 | "Physic" : { 34 | "description" : "Restores 8 HP to target 2 spaces away.", 35 | "weapon_unique" : "Staff" 36 | }, 37 | "Pivot" : { 38 | "description" : "Unit moves to opposite side of adjacent ally.", 39 | "weapon_restrict" : "Staff" 40 | }, 41 | "Rally Atk/Spd" : { 42 | "description" : "Grants Atk/Spd+3 to an adjacent ally until the end of the turn.", 43 | "weapon_restrict" : "Staff" 44 | }, 45 | "Rally Attack" : { 46 | "description" : "Grants Atk+4 to an adjacent ally until the end of the turn.", 47 | "weapon_restrict" : "Staff" 48 | }, 49 | "Rally Defense" : { 50 | "description" : "Grants Def+4 to an adjacent ally until the end of the turn.", 51 | "weapon_restrict" : "Staff" 52 | }, 53 | "Rally Resistance" : { 54 | "description" : "Grants Res+4 to an adjacent ally until the end of the turn.", 55 | "weapon_restrict" : "Staff" 56 | }, 57 | "Rally Speed" : { 58 | "description" : "Grants Spd+4 to an adjacent ally until the end of the turn.", 59 | "weapon_restrict" : "Staff" 60 | }, 61 | "Reciprocal Aid" : { 62 | "description" : "Swap HP with adjacent ally (neither unit can go above their max HP).", 63 | "weapon_restrict" : "Staff" 64 | }, 65 | "Reconcile" : { 66 | "description" : "Restores 7 HP each to target and this unit.", 67 | "weapon_unique" : "Staff" 68 | }, 69 | "Recover" : { 70 | "description" : "Restores 15 HP. Slows Special trigger (cooldown count +1).", 71 | "spec_cooldown_mod" : 1, 72 | "weapon_unique" : "Staff" 73 | }, 74 | "Rehabilitate" : { 75 | "description" : "Restores 7 HP or more the further below 50% the target's HP is. Slows Special trigger (cooldown count+1).", 76 | "spec_cooldown_mod" : 1, 77 | "weapon_unique" : "Staff" 78 | }, 79 | "Reposition" : { 80 | "description" : "Moves adjacent ally to opposite side of unit.", 81 | "weapon_restrict" : "Staff" 82 | }, 83 | "Shove" : { 84 | "description" : "Push adjacent ally 1 space away.", 85 | "weapon_restrict" : "Staff" 86 | }, 87 | "Sing" : { 88 | "description" : "Enables target to take another action. Cannot be used on units with Sing or Dance.", 89 | "char_unique" : true 90 | }, 91 | "Smite" : { 92 | "description" : "Push adjacent ally 2 spaces away.", 93 | "weapon_restrict" : "Staff" 94 | }, 95 | "Swap" : { 96 | "description" : "Swap places with adjacent ally.", 97 | "weapon_restrict" : "Staff" 98 | } 99 | }; 100 | -------------------------------------------------------------------------------- /scripts/multiple-select.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author zhixin wen 3 | * @version 1.2.1 4 | * 5 | * http://wenzhixin.net.cn/p/multiple-select/ 6 | */ 7 | 8 | (function ($) { 9 | 10 | 'use strict'; 11 | 12 | // it only does '%s', and return '' when arguments are undefined 13 | var sprintf = function (str) { 14 | var args = arguments, 15 | flag = true, 16 | i = 1; 17 | 18 | str = str.replace(/%s/g, function () { 19 | var arg = args[i++]; 20 | 21 | if (typeof arg === 'undefined') { 22 | flag = false; 23 | return ''; 24 | } 25 | return arg; 26 | }); 27 | return flag ? str : ''; 28 | }; 29 | 30 | var removeDiacritics = function (str) { 31 | var defaultDiacriticsRemovalMap = [ 32 | {'base':'A', 'letters':/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g}, 33 | {'base':'AA','letters':/[\uA732]/g}, 34 | {'base':'AE','letters':/[\u00C6\u01FC\u01E2]/g}, 35 | {'base':'AO','letters':/[\uA734]/g}, 36 | {'base':'AU','letters':/[\uA736]/g}, 37 | {'base':'AV','letters':/[\uA738\uA73A]/g}, 38 | {'base':'AY','letters':/[\uA73C]/g}, 39 | {'base':'B', 'letters':/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g}, 40 | {'base':'C', 'letters':/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g}, 41 | {'base':'D', 'letters':/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g}, 42 | {'base':'DZ','letters':/[\u01F1\u01C4]/g}, 43 | {'base':'Dz','letters':/[\u01F2\u01C5]/g}, 44 | {'base':'E', 'letters':/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g}, 45 | {'base':'F', 'letters':/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g}, 46 | {'base':'G', 'letters':/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g}, 47 | {'base':'H', 'letters':/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g}, 48 | {'base':'I', 'letters':/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g}, 49 | {'base':'J', 'letters':/[\u004A\u24BF\uFF2A\u0134\u0248]/g}, 50 | {'base':'K', 'letters':/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g}, 51 | {'base':'L', 'letters':/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g}, 52 | {'base':'LJ','letters':/[\u01C7]/g}, 53 | {'base':'Lj','letters':/[\u01C8]/g}, 54 | {'base':'M', 'letters':/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g}, 55 | {'base':'N', 'letters':/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g}, 56 | {'base':'NJ','letters':/[\u01CA]/g}, 57 | {'base':'Nj','letters':/[\u01CB]/g}, 58 | {'base':'O', 'letters':/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g}, 59 | {'base':'OI','letters':/[\u01A2]/g}, 60 | {'base':'OO','letters':/[\uA74E]/g}, 61 | {'base':'OU','letters':/[\u0222]/g}, 62 | {'base':'P', 'letters':/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g}, 63 | {'base':'Q', 'letters':/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g}, 64 | {'base':'R', 'letters':/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g}, 65 | {'base':'S', 'letters':/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g}, 66 | {'base':'T', 'letters':/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g}, 67 | {'base':'TZ','letters':/[\uA728]/g}, 68 | {'base':'U', 'letters':/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g}, 69 | {'base':'V', 'letters':/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g}, 70 | {'base':'VY','letters':/[\uA760]/g}, 71 | {'base':'W', 'letters':/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g}, 72 | {'base':'X', 'letters':/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g}, 73 | {'base':'Y', 'letters':/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g}, 74 | {'base':'Z', 'letters':/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g}, 75 | {'base':'a', 'letters':/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g}, 76 | {'base':'aa','letters':/[\uA733]/g}, 77 | {'base':'ae','letters':/[\u00E6\u01FD\u01E3]/g}, 78 | {'base':'ao','letters':/[\uA735]/g}, 79 | {'base':'au','letters':/[\uA737]/g}, 80 | {'base':'av','letters':/[\uA739\uA73B]/g}, 81 | {'base':'ay','letters':/[\uA73D]/g}, 82 | {'base':'b', 'letters':/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g}, 83 | {'base':'c', 'letters':/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g}, 84 | {'base':'d', 'letters':/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g}, 85 | {'base':'dz','letters':/[\u01F3\u01C6]/g}, 86 | {'base':'e', 'letters':/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g}, 87 | {'base':'f', 'letters':/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g}, 88 | {'base':'g', 'letters':/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g}, 89 | {'base':'h', 'letters':/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g}, 90 | {'base':'hv','letters':/[\u0195]/g}, 91 | {'base':'i', 'letters':/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g}, 92 | {'base':'j', 'letters':/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g}, 93 | {'base':'k', 'letters':/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g}, 94 | {'base':'l', 'letters':/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g}, 95 | {'base':'lj','letters':/[\u01C9]/g}, 96 | {'base':'m', 'letters':/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g}, 97 | {'base':'n', 'letters':/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g}, 98 | {'base':'nj','letters':/[\u01CC]/g}, 99 | {'base':'o', 'letters':/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g}, 100 | {'base':'oi','letters':/[\u01A3]/g}, 101 | {'base':'ou','letters':/[\u0223]/g}, 102 | {'base':'oo','letters':/[\uA74F]/g}, 103 | {'base':'p','letters':/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g}, 104 | {'base':'q','letters':/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g}, 105 | {'base':'r','letters':/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g}, 106 | {'base':'s','letters':/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g}, 107 | {'base':'t','letters':/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g}, 108 | {'base':'tz','letters':/[\uA729]/g}, 109 | {'base':'u','letters':/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g}, 110 | {'base':'v','letters':/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g}, 111 | {'base':'vy','letters':/[\uA761]/g}, 112 | {'base':'w','letters':/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g}, 113 | {'base':'x','letters':/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g}, 114 | {'base':'y','letters':/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g}, 115 | {'base':'z','letters':/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g} 116 | ]; 117 | 118 | for (var i = 0; i < defaultDiacriticsRemovalMap.length; i++) { 119 | str = str.replace(defaultDiacriticsRemovalMap[i].letters, defaultDiacriticsRemovalMap[i].base); 120 | } 121 | 122 | return str; 123 | 124 | }; 125 | 126 | function MultipleSelect($el, options) { 127 | var that = this, 128 | name = $el.attr('name') || options.name || ''; 129 | 130 | this.options = options; 131 | 132 | // hide select element 133 | this.$el = $el.hide(); 134 | 135 | // label element 136 | this.$label = this.$el.closest('label'); 137 | if (this.$label.length === 0 && this.$el.attr('id')) { 138 | this.$label = $(sprintf('label[for="%s"]', this.$el.attr('id').replace(/:/g, '\\:'))); 139 | } 140 | 141 | // restore class and title from select element 142 | this.$parent = $(sprintf( 143 | '
', 144 | $el.attr('class') || '', 145 | sprintf('title="%s"', $el.attr('title')))); 146 | 147 | // add placeholder to choice button 148 | this.$choice = $(sprintf([ 149 | '' 153 | ].join(''), 154 | this.options.placeholder)); 155 | 156 | // default position is bottom 157 | this.$drop = $(sprintf('
', 158 | this.options.position, 159 | sprintf(' style="width: %s"', this.options.dropWidth))); 160 | 161 | this.$el.after(this.$parent); 162 | this.$parent.append(this.$choice); 163 | this.$parent.append(this.$drop); 164 | 165 | if (this.$el.prop('disabled')) { 166 | this.$choice.addClass('disabled'); 167 | } 168 | this.$parent.css('width', 169 | this.options.width || 170 | this.$el.css('width') || 171 | this.$el.outerWidth() + 20); 172 | 173 | this.selectAllName = 'data-name="selectAll' + name + '"'; 174 | this.selectGroupName = 'data-name="selectGroup' + name + '"'; 175 | this.selectItemName = 'data-name="selectItem' + name + '"'; 176 | 177 | if (!this.options.keepOpen) { 178 | $(document).click(function (e) { 179 | if ($(e.target)[0] === that.$choice[0] || 180 | $(e.target).parents('.ms-choice')[0] === that.$choice[0]) { 181 | return; 182 | } 183 | if (($(e.target)[0] === that.$drop[0] || 184 | $(e.target).parents('.ms-drop')[0] !== that.$drop[0] && e.target !== $el[0]) && 185 | that.options.isOpen) { 186 | that.close(); 187 | } 188 | }); 189 | } 190 | } 191 | 192 | MultipleSelect.prototype = { 193 | constructor: MultipleSelect, 194 | 195 | init: function () { 196 | var that = this, 197 | $ul = $('
    '); 198 | 199 | this.$drop.html(''); 200 | 201 | if (this.options.filter) { 202 | this.$drop.append([ 203 | ''].join('') 206 | ); 207 | } 208 | 209 | if (this.options.selectAll && !this.options.single) { 210 | $ul.append([ 211 | '
  • ', 212 | '', 218 | '
  • ' 219 | ].join('')); 220 | } 221 | 222 | $.each(this.$el.children(), function (i, elm) { 223 | $ul.append(that.optionToHtml(i, elm)); 224 | }); 225 | $ul.append(sprintf('
  • %s
  • ', this.options.noMatchesFound)); 226 | this.$drop.append($ul); 227 | 228 | this.$drop.find('.multiple').css('width', this.options.multipleWidth + 'px'); 229 | 230 | this.$searchInput = this.$drop.find('.ms-search input'); 231 | this.$selectAll = this.$drop.find('input[' + this.selectAllName + ']'); 232 | this.$selectGroups = this.$drop.find('input[' + this.selectGroupName + ']'); 233 | this.$selectItems = this.$drop.find('input[' + this.selectItemName + ']:enabled'); 234 | this.$disableItems = this.$drop.find('input[' + this.selectItemName + ']:disabled'); 235 | this.$noResults = this.$drop.find('.ms-no-results'); 236 | 237 | this.events(); 238 | this.updateSelectAll(true); 239 | this.update(true); 240 | 241 | if (this.options.isOpen) { 242 | this.open(); 243 | } 244 | }, 245 | 246 | optionToHtml: function (i, elm, group, groupDisabled) { 247 | var that = this, 248 | $elm = $(elm), 249 | classes = $elm.attr('class') || '', 250 | title = sprintf('title="%s"', $elm.attr('title')), 251 | multiple = this.options.multiple ? 'multiple' : '', 252 | disabled, 253 | type = this.options.single ? 'radio' : 'checkbox'; 254 | 255 | if ($elm.is('option')) { 256 | var value = $elm.val(), 257 | text = that.options.textTemplate($elm), 258 | selected = $elm.prop('selected'), 259 | style = sprintf('style="%s"', this.options.styler(value)), 260 | $el; 261 | 262 | disabled = groupDisabled || $elm.prop('disabled'); 263 | 264 | $el = $([ 265 | sprintf('
  • ', multiple, classes, title, style), 266 | sprintf('', 274 | '
  • ' 275 | ].join('')); 276 | $el.find('input').val(value); 277 | return $el; 278 | } 279 | if ($elm.is('optgroup')) { 280 | var label = that.options.labelTemplate($elm), 281 | $group = $('
    '); 282 | 283 | group = 'group_' + i; 284 | disabled = $elm.prop('disabled'); 285 | 286 | $group.append([ 287 | '
  • ', 288 | sprintf('', 294 | '
  • ' 295 | ].join('')); 296 | 297 | $.each($elm.children(), function (i, elm) { 298 | $group.append(that.optionToHtml(i, elm, group, disabled)); 299 | }); 300 | return $group.html(); 301 | } 302 | }, 303 | 304 | events: function () { 305 | var that = this, 306 | toggleOpen = function (e) { 307 | e.preventDefault(); 308 | that[that.options.isOpen ? 'close' : 'open'](); 309 | }; 310 | 311 | if (this.$label) { 312 | this.$label.off('click').on('click', function (e) { 313 | if (e.target.nodeName.toLowerCase() !== 'label' || e.target !== this) { 314 | return; 315 | } 316 | toggleOpen(e); 317 | if (!that.options.filter || !that.options.isOpen) { 318 | that.focus(); 319 | } 320 | e.stopPropagation(); // Causes lost focus otherwise 321 | }); 322 | } 323 | 324 | this.$choice.off('click').on('click', toggleOpen) 325 | .off('focus').on('focus', this.options.onFocus) 326 | .off('blur').on('blur', this.options.onBlur); 327 | 328 | this.$parent.off('keydown').on('keydown', function (e) { 329 | switch (e.which) { 330 | case 27: // esc key 331 | that.close(); 332 | that.$choice.focus(); 333 | break; 334 | } 335 | }); 336 | 337 | this.$searchInput.off('keydown').on('keydown',function (e) { 338 | // Ensure shift-tab causes lost focus from filter as with clicking away 339 | if (e.keyCode === 9 && e.shiftKey) { 340 | that.close(); 341 | } 342 | }).off('keyup').on('keyup', function (e) { 343 | // enter or space 344 | // Avoid selecting/deselecting if no choices made 345 | if (that.options.filterAcceptOnEnter && (e.which === 13 || e.which == 32) && that.$searchInput.val()) { 346 | that.$selectAll.click(); 347 | that.close(); 348 | that.focus(); 349 | return; 350 | } 351 | that.filter(); 352 | }); 353 | 354 | this.$selectAll.off('click').on('click', function () { 355 | var checked = $(this).prop('checked'), 356 | $items = that.$selectItems.filter(':visible'); 357 | 358 | if ($items.length === that.$selectItems.length) { 359 | that[checked ? 'checkAll' : 'uncheckAll'](); 360 | } else { // when the filter option is true 361 | that.$selectGroups.prop('checked', checked); 362 | $items.prop('checked', checked); 363 | that.options[checked ? 'onCheckAll' : 'onUncheckAll'](); 364 | that.update(); 365 | } 366 | }); 367 | this.$selectGroups.off('click').on('click', function () { 368 | var group = $(this).parent().attr('data-group'), 369 | $items = that.$selectItems.filter(':visible'), 370 | $children = $items.filter(sprintf('[data-group="%s"]', group)), 371 | checked = $children.length !== $children.filter(':checked').length; 372 | 373 | $children.prop('checked', checked); 374 | that.updateSelectAll(); 375 | that.update(); 376 | that.options.onOptgroupClick({ 377 | label: $(this).parent().text(), 378 | checked: checked, 379 | children: $children.get(), 380 | instance: that 381 | }); 382 | }); 383 | this.$selectItems.off('click').on('click', function () { 384 | that.updateSelectAll(); 385 | that.update(); 386 | that.updateOptGroupSelect(); 387 | that.options.onClick({ 388 | label: $(this).parent().text(), 389 | value: $(this).val(), 390 | checked: $(this).prop('checked'), 391 | instance: that 392 | }); 393 | 394 | if (that.options.single && that.options.isOpen && !that.options.keepOpen) { 395 | that.close(); 396 | } 397 | 398 | if (that.options.single) { 399 | var clickedVal = $(this).val(); 400 | that.$selectItems.filter(function() { 401 | return $(this).val() !== clickedVal; 402 | }).each(function() { 403 | $(this).prop('checked', false); 404 | }); 405 | that.update(); 406 | } 407 | }); 408 | }, 409 | 410 | open: function () { 411 | if (this.$choice.hasClass('disabled')) { 412 | return; 413 | } 414 | this.options.isOpen = true; 415 | this.$choice.find('>div').addClass('open'); 416 | this.$drop[this.animateMethod('show')](); 417 | 418 | // fix filter bug: no results show 419 | this.$selectAll.parent().show(); 420 | this.$noResults.hide(); 421 | 422 | // Fix #77: 'All selected' when no options 423 | if (!this.$el.children().length) { 424 | this.$selectAll.parent().hide(); 425 | this.$noResults.show(); 426 | } 427 | 428 | if (this.options.container) { 429 | var offset = this.$drop.offset(); 430 | this.$drop.appendTo($(this.options.container)); 431 | this.$drop.offset({ 432 | top: offset.top, 433 | left: offset.left 434 | }); 435 | } 436 | 437 | if (this.options.filter) { 438 | this.$searchInput.val(''); 439 | this.$searchInput.focus(); 440 | this.filter(); 441 | } 442 | this.options.onOpen(); 443 | }, 444 | 445 | close: function () { 446 | this.options.isOpen = false; 447 | this.$choice.find('>div').removeClass('open'); 448 | this.$drop[this.animateMethod('hide')](); 449 | if (this.options.container) { 450 | this.$parent.append(this.$drop); 451 | this.$drop.css({ 452 | 'top': 'auto', 453 | 'left': 'auto' 454 | }); 455 | } 456 | this.options.onClose(); 457 | }, 458 | 459 | animateMethod: function (method) { 460 | var methods = { 461 | show: { 462 | fade: 'fadeIn', 463 | slide: 'slideDown' 464 | }, 465 | hide: { 466 | fade: 'fadeOut', 467 | slide: 'slideUp' 468 | } 469 | }; 470 | 471 | return methods[method][this.options.animate] || method; 472 | }, 473 | 474 | update: function (isInit) { 475 | var selects = this.options.displayValues ? this.getSelects() : this.getSelects('text'), 476 | $span = this.$choice.find('>span'), 477 | sl = selects.length; 478 | 479 | if (sl === 0) { 480 | $span.addClass('placeholder').html(this.options.placeholder); 481 | } else if (this.options.allSelected && sl === this.$selectItems.length + this.$disableItems.length) { 482 | $span.removeClass('placeholder').html(this.options.allSelected); 483 | } else if (this.options.ellipsis && sl > this.options.minimumCountSelected) { 484 | $span.removeClass('placeholder').text(selects.slice(0, this.options.minimumCountSelected) 485 | .join(this.options.delimiter) + '...'); 486 | } else if (this.options.countSelected && sl > this.options.minimumCountSelected) { 487 | $span.removeClass('placeholder').html(this.options.countSelected 488 | .replace('#', selects.length) 489 | .replace('%', this.$selectItems.length + this.$disableItems.length)); 490 | } else { 491 | $span.removeClass('placeholder').text(selects.join(this.options.delimiter)); 492 | } 493 | 494 | if (this.options.addTitle) { 495 | $span.prop('title', this.getSelects('text')); 496 | } 497 | 498 | // set selects to select 499 | this.$el.val(this.getSelects()); 500 | 501 | // add selected class to selected li 502 | this.$drop.find('li').removeClass('selected'); 503 | this.$drop.find('input:checked').each(function () { 504 | $(this).parents('li').first().addClass('selected'); 505 | }); 506 | 507 | // trigger