1/* Icon Picker */ 2 3(function ($) { 4 5 $.fn.iconPicker = function (options) { 6 var options = ['fas', 'fa']; // default font set 7 var icons; 8 $list = $(''); 9 10 function font_set() { 11 if (options[0] == 'fas') { 12 icons = [ 13 // Mail 14 "inbox", 15 "envelope", 16 "envelope-square", 17 "envelope-open", 18 "envelope-open-text", 19 "paperclip", 20 "reply-all", 21 "reply", 22 "mail-bulk", 23 // Media 24 "music", 25 "film", 26 "step-backward", 27 "fast-backward", 28 "backward", 29 "play", 30 "play-circle", 31 "pause", 32 "stop", 33 "forward", 34 "fast-forward", 35 "step-forward", 36 "eject", 37 "redo", 38 "redo-alt", 39 "random", 40 "sync", 41 "sync-alt", 42 "headphones", 43 "volume-off", 44 "volume-down", 45 "volume-up", 46 // Arrows 47 "angle-double-left", 48 "angle-double-right", 49 "angle-double-up", 50 "angle-double-down", 51 "angle-left", 52 "angle-right", 53 "angle-up", 54 "angle-down", 55 "arrow-left", 56 "arrow-right", 57 "arrow-up", 58 "arrow-down", 59 "arrows-alt", 60 "arrows-alt-v", 61 "arrows-alt-h", 62 "arrow-circle-left", 63 "arrow-circle-right", 64 "arrow-circle-up", 65 "arrow-circle-down", 66 "arrow-alt-circle-down", 67 "arrow-alt-circle-up", 68 "arrow-alt-circle-right", 69 "arrow-alt-circle-left", 70 "caret-down", 71 "caret-up", 72 "caret-left", 73 "caret-right", 74 "chevron-left", 75 "chevron-right", 76 "chevron-up", 77 "chevron-down", 78 "chevron-circle-left", 79 "chevron-circle-right", 80 "chevron-circle-up", 81 "chevron-circle-down", 82 "expand", 83 "compress", 84 "hands", 85 "handshake", 86 "handshake-slash", 87 "handshake-alt-slash", 88 "hands-wash", 89 "hands-helping", 90 "hand-spock", 91 "hand-sparkles", 92 "hand-scissors", 93 "hand-rock", 94 "hand-pointer", 95 "hand-point-up", 96 "hand-point-right", 97 "hand-point-left", 98 "hand-point-down", 99 "hand-peace", 100 "hand-paper", 101 "hand-middle-finger", 102 "hand-lizard", 103 "hand-holding-water", 104 "hand-holding-usd", 105 "hand-holding-medical", 106 "hand-holding-heart", 107 "hand-holding", 108 "praying-hands", 109 "level-up-alt", 110 "level-down-alt", 111 "long-arrow-alt-down", 112 "long-arrow-alt-up", 113 "long-arrow-alt-left", 114 "long-arrow-alt-right", 115 "toggle-on", 116 "toggle-off", 117 // Search 118 "search", 119 "search-plus", 120 "search-minus", 121 // File Editing 122 "cut", 123 "crop", 124 "copy", 125 "paste", 126 "font", 127 "bold", 128 "italic", 129 "anchor", 130 "link", 131 "unlink", 132 "external-link-alt", 133 "external-link-square-alt", 134 "text-height", 135 "text-width", 136 "align-left", 137 "align-center", 138 "align-right", 139 "align-justify", 140 "list", 141 "quote-left", 142 "quote-right", 143 "outdent", 144 "indent", 145 "undo", 146 "adjust", 147 "tint", 148 "edit", 149 "list-ul", 150 "list-ol", 151 "list-alt", 152 "th-large", 153 "th", 154 "th-list", 155 "strikethrough", 156 "underline", 157 "magic", 158 "superscript", 159 "subscript", 160 "eraser", 161 // Punctuation 162 "asterisk", 163 "question", 164 "info", 165 "exclamation", 166 // Emoticons 167 "smile", 168 "frown", 169 "frown-open", 170 "meh", 171 "meh-rolling-eyes", 172 "meh-blank", 173 // Math + Geometry 174 "check", 175 "check-circle", 176 "check-square", 177 "check-double", 178 "spell-check", 179 "user-check", 180 "user-shield", 181 "clipboard-check", 182 "times", 183 "times-circle", 184 "user-times", 185 "business-time", 186 "plus", 187 "minus", 188 "crosshairs", 189 "spinner", 190 "circle", 191 "circle-notch", 192 "dot-circle", 193 "minus-circle", 194 "exclamation-circle", 195 "question-circle", 196 "info-circle", 197 "plus-circle", 198 "plus-square", 199 "square", 200 "h-square", 201 "share", 202 "share-square", 203 "share-alt", 204 "share-alt-square", 205 "ellipsis-h", 206 "ellipsis-v", 207 "minus-square",
208 "bullseye", 209 // Rate 210 "thumbs-up", 211 "thumbs-down", 212 "thumbtack", 213 "star", 214 "star-of-life", 215 "star-of-david", 216 "star-half", 217 "star-half-alt", 218 "star-and-crescent", 219 "heart", 220 "heartbeat", 221 "heart-broken", 222 "lemon", 223 "trophy", 224 // Accounts 225 "user", 226 "user-md", 227 "user-edit", 228 "user-friends", 229 "users-cog", 230 "user-lock", 231 "object-group", 232 "object-ungroup", 233 "layer-group", 234 "sign-in-alt", 235 "sign-out-alt", 236 "key", 237 "lock", 238 "unlock", 239 "unlock-alt", 240 "ban", 241 "female", 242 "male", 243 "comment", 244 "comments", 245 "ticket-alt", 246 "tasks", 247 "calendar", 248 "calendar-check", 249 "calendar-times", 250 "calendar-plus", 251 "calendar-minus", 252 "calendar-alt", 253 "calendar-day", 254 "calendar-week", 255 // Time 256 "poo-storm", 257 "bolt", 258 "sun", 259 "moon", 260 "clock", 261 "user-clock", 262 "history", 263 "stopwatch", 264 "cloud-meatball", 265 "cloud-moon", 266 "cloud-moon-rain", 267 "cloud-sun", 268 "cloud-rain", 269 "cloud-sun-rain", 270 "cloud-showers-heavy", 271 // Site 272 "home", 273 "comment-alt", 274 "comment-slash", 275 "comment-medical", 276 "comment-dots", 277 "sitemap", 278 // File Operations 279 "upload", 280 "download", 281 "exchange-alt", 282 "file-word", 283 "file-video", 284 "file-powerpoint", 285 "file-pdf", 286 "file-image", 287 "file-excel", 288 "file-code", 289 "file-audio", 290 "file-archive", 291 "file-upload", 292 "file-signature", 293 "file-prescription", 294 "file-medical-alt", 295 "file-alt", 296 "file", 297 "file-contract", 298 "file-csv", 299 "file-export", 300 "file-import", 301 "file-invoice", 302 "file-medical", 303 "folder", 304 "folder-plus", 305 "folder-minus", 306 "folder-open", 307 "hdd", 308 "cloud", 309 "cloud-download-alt", 310 "cloud-upload-alt", 311 "save", 312 "trash", 313 "trash-alt", 314 "trash-restore", 315 "trash-restore-alt", 316 "print", 317 // Social Networks 318 "rss", 319 "rss-square", 320 // Computer 321 "desktop", 322 "laptop", 323 "tablet", 324 "mobile", 325 "mobile-alt", 326 "sms", 327 "phone", 328 "phone-square", 329 "microphone", 330 "microphone-slash", 331 "window-close", 332 "window-maximize", 333 "window-restore", 334 "gamepad", 335 "keyboard", 336 "chalkboard", 337 "chalkboard-teacher", 338 "signal", 339 "power-off", 340 "terminal", 341 "code", 342 "laptop-code", 343 "code-branch", 344 "bug", 345 // Maps 346 "glasses", 347 "globe", 348 "map-marker", 349 "building", 350 "warehouse", 351 "monument", 352 "city", 353 "school", 354 "store-alt", 355 "synagogue", 356 "church", 357 "university", 358 "mosque", 359 "landmark", 360 "hotel", 361 "place-of-worship", 362 "torii-gate", 363 "hospital", 364 "hospital-alt", 365 "location-arrow", 366 "compass", 367 "road", 368 // Tools & Objects 369 "bell", 370 "bell-slash", 371 "concierge-bell", 372 "book", 373 "bookmark", 374 "bullhorn", 375 "camera", 376 "camera-retro", 377 "video", 378 "video-slash", 379 "portrait", 380 "image", 381 "images", 382 "pencil-alt", 383 "pencil-ruler", 384 "pen-square", 385 "flask", 386 "briefcase", 387 "table", 388 "truck", 389 "wrench", 390 "plane", 391 "lightbulb", 392 "traffic-light", 393 "stethoscope", 394 "suitcase", 395 "coffee", 396 "utensils", 397 "utensil-spoon", 398 "umbrella", 399 "ambulance", 400 "medkit", 401 "fighter-jet", 402 "beer", 403 "wheelchair", 404 "gift", 405 "leaf", 406 "fire", 407 "eye", 408 "eye-slash", 409 "exclamation-triangle", 410 "radiation", 411 "skull-crossbones", 412 "magnet", 413 "flag", 414 "flag-usa", 415 "flag-checkered", 416 "fire-extinguisher", 417 "rocket", 418 "bomb", 419 "retweet", 420 "shield-alt", 421 "shield-virus", 422 "puzzle-piece", 423 "balance-scale", 424 "balance-scale-right", 425 "balance-scale-left", 426 "tachometer-alt", 427 "bars", 428 // Sorting 429 "columns", 430 "filter", 431 "sort", 432 "sort-down", 433 "sort-up", 434 "sort-alpha-up", 435 "sort-alpha-up-alt", 436 "sort-alpha-down", 437 "sort-alpha-down-alt", 438 "sort-amount-up", 439 "sort-amount-up-alt", 440 "sort-amount-down-alt", 441 "sort-amount-down", 442 "sort-numeric-up", 443 "sort-numeric-up-alt", 444 "sort-numeric-down", 445 "sort-numeric-down-alt", 446 // e-Commerce 447 "money-check", 448 "money-check-alt", 449 "money-bill-wave-alt", 450 "money-bill-wave", 451 "money-bill-alt", 452 "ruble-sign", 453 "lira-sign", 454 "hryvnia", 455 "dollar-sign", 456 "euro-sign", 457 "rupee-sign", 458 "pound-sign", 459 "tenge", 460 "shekel-sign", 461 "won-sign", 462 "yen-sign", 463 "funnel-dollar", 464 "certificate", 465 "wallet", 466 "comments-dollar", 467 "comment-dollar", 468 "file-invoice-dollar", 469 "search-dollar", 470 "credit-card", 471 "shopping-cart", 472 "tag", 473 "tags", 474 "qrcode", 475 "barcode" 476 ]; 477 options[1] = "fa"; 478 } else if (options[0] == 'fab') { 479 icons = [ 480 'windows', 481 'css3', 482 'css3-alt', 483 'html5', 484 'linux', 485 'android', 486 'apple', 487 'behance', 488 'bitbucket', 489 'codepen', 490 'delicious', 491 'deviantart', 492 'digg', 493 'dribbble', 494 'elementor', 495 'facebook', 496 'flickr', 497 'foursquare', 498 'free-code-camp', 499 'github', 500 'gitlab', 501 'houzz', 502 'instagram', 503 'jsfiddle', 504 'linkedin', 505 'medium', 506 'meetup', 507 'mix', 508 'mixcloud', 509 'odnoklassniki', 510 'pinterest', 511 'product-hunt', 512 'reddit', 513 'skype', 514 'slideshare', 515 'snapchat', 516 'soundcloud', 517 'mixcloud', 518 'spotify', 519 'stack-overflow', 520 'steam', 521 'telegram', 522 'tripadvisor', 523 'tumblr', 524 'twitch', 525 'twitter', 526 'viber', 527 'vimeo', 528 'vk', 529 'weibo', 530 'weixin', 531 'whatsapp', 532 'wordpress', 533 'xing', 534 'yelp', 535 'youtube', 536 '500px', 537 'bitcoin', 538 'monero', 539 'centercode', 540 'creative-commons-share', 541 'font-awesome-flag', 542 'playstation', 543 'pagelines', 544 'cloudsmith', 545 'cloudscale', 546 'cloudversify', 547 "ussunnah", 548 "stack-exchange" 549 ]; 550 options[1] = 'fa'; 551 } else if(options[0] == 'dashicons') { 552 icons = [ 553 "blank", // there is no "blank" but we need the option 554 "menu", 555 "admin-site", 556 "dashboard", 557 "admin-media", 558 "admin-page", 559 "admin-comments", 560 "admin-appearance", 561 "admin-plugins", 562 "admin-users", 563 "admin-tools", 564 "admin-settings", 565 "admin-network", 566 "admin-generic", 567 "admin-home", 568 "admin-collapse", 569 "admin-links", 570 "format-links", 571 "admin-post", 572 "format-standard", 573 "format-image", 574 "format-gallery", 575 "format-audio", 576 "format-video", 577 "format-chat", 578 "format-status", 579 "format-aside", 580 "format-quote", 581 "welcome-write-blog", 582 "welcome-edit-page", 583 "welcome-add-page", 584 "welcome-view-site", 585 "welcome-widgets-menus", 586 "welcome-comments", 587 "welcome-learn-more", 588 "image-crop", 589 "image-rotate-left", 590 "image-rotate-right",
591 "image-flip-vertical", 592 "image-flip-horizontal", 593 "undo", 594 "redo", 595 "editor-bold", 596 "editor-italic", 597 "editor-ul", 598 "editor-ol", 599 "editor-quote", 600 "editor-alignleft", 601 "editor-aligncenter", 602 "editor-alignright", 603 "editor-insertmore", 604 "editor-spellcheck", 605 "editor-distractionfree", 606 "editor-kitchensink", 607 "editor-underline", 608 "editor-justify", 609 "editor-textcolor", 610 "editor-paste-word", 611 "editor-paste-text", 612 "editor-removeformatting", 613 "editor-video", 614 "editor-customchar", 615 "editor-outdent", 616 "editor-indent", 617 "editor-help", 618 "editor-strikethrough", 619 "editor-unlink", 620 "editor-rtl", 621 "align-left", 622 "align-right", 623 "align-center", 624 "align-none", 625 "lock", 626 "calendar", 627 "visibility", 628 "post-status", 629 "post-trash", 630 "edit", 631 "trash", 632 "arrow-up", 633 "arrow-down", 634 "arrow-left", 635 "arrow-right", 636 "arrow-up-alt", 637 "arrow-down-alt", 638 "arrow-left-alt", 639 "arrow-right-alt", 640 "arrow-up-alt2", 641 "arrow-down-alt2", 642 "arrow-left-alt2", 643 "arrow-right-alt2", 644 "leftright", 645 "sort", 646 "list-view", 647 "exerpt-view", 648 "share", 649 "share1", 650 "share-alt", 651 "share-alt2", 652 "twitter", 653 "rss", 654 "facebook", 655 "facebook-alt", 656 "networking", 657 "googleplus", 658 "hammer", 659 "art", 660 "migrate", 661 "performance", 662 "wordpress", 663 "wordpress-alt", 664 "pressthis", 665 "update", 666 "screenoptions", 667 "info", 668 "cart", 669 "feedback", 670 "cloud", 671 "translation", 672 "tag", 673 "category", 674 "yes", 675 "no", 676 "no-alt", 677 "plus", 678 "minus", 679 "dismiss", 680 "marker", 681 "star-filled", 682 "star-half", 683 "star-empty", 684 "flag", 685 "location", 686 "location-alt", 687 "camera", 688 "images-alt", 689 "images-alt2", 690 "video-alt", 691 "video-alt2", 692 "video-alt3", 693 "vault", 694 "shield", 695 "shield-alt", 696 "search", 697 "slides", 698 "analytics", 699 "chart-pie", 700 "chart-bar", 701 "chart-line", 702 "chart-area", 703 "groups", 704 "businessman", 705 "id", 706 "id-alt", 707 "products", 708 "awards", 709 "forms", 710 "portfolio", 711 "book", 712 "book-alt", 713 "download", 714 "upload", 715 "backup", 716 "lightbulb", 717 "smiley" 718 ]; 719 options[1] = 'dashicons'; 720 } else { 721 icons = [ 722 "blank", 723 "standard", 724 "aside", 725 "image", 726 "gallery", 727 "video", 728 "status", 729 "quote", 730 "link", 731 "chat", 732 "audio", 733 734 /* Social icons */ 735 "github", 736 "dribbble", 737 "twitter", 738 "facebook", 739 "facebook-alt", 740 "wordpress", 741 "googleplus", 742 "linkedin", 743 "linkedin-alt", 744 "pinterest", 745 "pinterest-alt", 746 "flickr", 747 "vimeo", 748 "youtube", 749 "tumblr", 750 "instagram", 751 "codepen", 752 "polldaddy", 753 "googleplus-alt", 754 "path", 755 "skype", 756 "digg", 757 "reddit", 758 "stumbleupon", 759 "pocket", 760 761 /* Meta icons */ 762 "comment", 763 "category", 764 "tag", 765 "time", 766 "user", 767 "day", 768 "week", 769 "month", 770 "pinned", 771 772 /* Other icons */ 773 "search", 774 "unzoom", 775 "zoom", 776 "show", 777 "hide", 778 "close", 779 "close-alt", 780 "trash", 781 "star", 782 "home", 783 "mail", 784 "edit", 785 "reply", 786 "feed", 787 "warning", 788 "share", 789 "attachment", 790 "location", 791 "checkmark", 792 "menu", 793 "refresh", 794 "minimize", 795 "maximize", 796 "404", 797 "spam", 798 "summary", 799 "cloud", 800 "key", 801 "dot", 802 "next", 803 "previous", 804 "expand", 805 "collapse", 806 "dropdown", 807 "dropdown-left", 808 "top", 809 "draggable", 810 "phone", 811 "send-to-phone", 812 "plugin", 813 "cloud-download", 814 "cloud-upload", 815 "cloud-upload-alt", 816 "external", 817 "document", 818 "book", 819 "cog", 820 "unapprove", 821 "cart", 822 "pause", 823 "stop", 824 "skip-back", 825 "skip-ahead", 826 "play", 827 "tablet", 828 "send-to-tablet", 829 "info", 830 "notice", 831 "help", 832 "fastforward", 833 "rewind", 834 "portfolio", 835 "heart", 836 "code", 837 "subscribe", 838 "unsubscribe", 839 "subscribed", 840 "reply-alt", 841 "reply-single", 842 "flag", 843 "print", 844 "lock", 845 "bold", 846 "italic", 847 "picture", 848 849 /* Generic shapes */ 850 "uparrow", 851 "rightarrow", 852 "downarrow", 853 "leftarrow" 854 ]; 855 options[1] = 'genericon'; 856 } 857 ; 858 }; 859 font_set(); 860 861 function build_list($popup, $button, clear) { 862 $list = $popup.find('.icon-picker-list'); 863 if (clear == 1) { 864 $list.empty(); // clear list // 865 } 866 for (var i in icons) { 867 $list.append('<li data-icon="' + icons[i] + '"><a href="#" title="' + icons[i] + '"><span class="' + options[0] + ' ' + options[1] + '-' + icons[i] + '"></span></a></li>'); 868 }; 869 $('a', $list).on('click',function (e) { 870 e.preventDefault(); 871 var title = $(this).attr("title"); 872 $target.val(options[0] + "|" + options[1] + "-" + title); 873 $button.removeClass().addClass("button icon-picker " + options[0] + " " + options[1] + "-" + title); 874 removePopup(); 875 }); 876 }; 877 878 function removePopup() { 879 $(".icon-picker-container").remove(); 880 } 881 882 883 $button = $('.icon-picker'); 884 $button.each(function () { 885 $(this).on('click.iconPicker', function () { 886 createPopup($(this)); 887 }); 888 }); 889 890 891 function createPopup($button) { 892 $target = $($button.data('target')); 893 $popup = $('<div class="icon-picker-container"><div class="icon-picker-control"></div><ul class="icon-picker-list"><ul></div>') 894 .css({ 895 'top': $button.offset().top, 896 'left': $button.offset().left 897 }); 898 build_list($popup, $button, 0); 899 var $control = $popup.find('.icon-picker-control'); 900 $control.html('<p><select><option value="fas">Font Awesome Solid</option><option value="fab">Font Awesome Brand</option><option value="dashicons">Dashicons</option><option value="genericon">Genericons</option></select></p>' + 901 '<a data-direction="back" href="#"><span class="dashicons dashicons-arrow-left-alt2"></span></a> ' + 902 '<input type="text" class="" placeholder="Search" />' + 903 '<a data-direction="forward" href="#"><span class="dashicons dashicons-arrow-right-alt2"></span></a>' + 904 ''); 905 906 $('select', $control).on('change', function (e) { 907 e.preventDefault(); 908 if (this.value != options[0]) { 909 options[0] = this.value; 910 font_set(); 911 build_list($popup, $button, 1); 912 } 913 ; 914 }); 915 916 $('a', $control).on('click',function (e) { 917 e.preventDefault(); 918 if ($(this).data('direction') === 'back') { 919 //move last 25 elements to front 920 $('li:gt(' + (icons.length - 26) + ')', $list).each(function () { 921 $(this).prependTo($list); 922 }); 923 } else { 924 //move first 25 elements to the end 925 $('li:lt(25)', $list).each(function () { 926 $(this).appendTo($list); 927 }); 928 } 929 }); 930 931 $popup.appendTo('body').show(); 932 933 $('input', $control).on('keyup', function (e) { 934 var search = $(this).val(); 935 if (search === '') { 936 //show all again 937 $('li:lt(25)', $list).show(); 938 } else { 939 $('li', $list).each(function () { 940 if ($(this).data('icon').toString().toLowerCase().indexOf(search.toLowerCase()) !== -1) { 941 $(this).show(); 942 } else { 943 $(this).hide(); 944 } 945 }); 946 } 947 }); 948 949 950 $(document).on('mouseup',function (e) { 951 if (!$popup.is(e.target) && $popup.has(e.target).length === 0) { 952 removePopup(); 953 } 954 }); 955 } 956 } 957 958 959 $(function () { 960 $('.icon-picker').iconPicker(); 961 }); 962 963}(jQuery));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.