[ Index ] |
PHP Cross Reference of Joomla 4.2.2 documentation |
[Summary view] [Print] [Text view]
1 /** 2 * Copyright (c) Tiny Technologies, Inc. All rights reserved. 3 * Licensed under the LGPL or a commercial license. 4 * For LGPL see License.txt in the project root for license information. 5 * For commercial licenses see https://www.tiny.cloud/ 6 * 7 * Version: 5.10.5 (2022-05-25) 8 */ 9 (function () { 10 'use strict'; 11 12 var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager'); 13 14 var fireInsertCustomChar = function (editor, chr) { 15 return editor.fire('insertCustomChar', { chr: chr }); 16 }; 17 18 var insertChar = function (editor, chr) { 19 var evtChr = fireInsertCustomChar(editor, chr).chr; 20 editor.execCommand('mceInsertContent', false, evtChr); 21 }; 22 23 var typeOf = function (x) { 24 var t = typeof x; 25 if (x === null) { 26 return 'null'; 27 } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) { 28 return 'array'; 29 } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) { 30 return 'string'; 31 } else { 32 return t; 33 } 34 }; 35 var isType = function (type) { 36 return function (value) { 37 return typeOf(value) === type; 38 }; 39 }; 40 var eq = function (t) { 41 return function (a) { 42 return t === a; 43 }; 44 }; 45 var isArray$1 = isType('array'); 46 var isNull = eq(null); 47 48 var noop = function () { 49 }; 50 var constant = function (value) { 51 return function () { 52 return value; 53 }; 54 }; 55 var identity = function (x) { 56 return x; 57 }; 58 var never = constant(false); 59 var always = constant(true); 60 61 var none = function () { 62 return NONE; 63 }; 64 var NONE = function () { 65 var call = function (thunk) { 66 return thunk(); 67 }; 68 var id = identity; 69 var me = { 70 fold: function (n, _s) { 71 return n(); 72 }, 73 isSome: never, 74 isNone: always, 75 getOr: id, 76 getOrThunk: call, 77 getOrDie: function (msg) { 78 throw new Error(msg || 'error: getOrDie called on none.'); 79 }, 80 getOrNull: constant(null), 81 getOrUndefined: constant(undefined), 82 or: id, 83 orThunk: call, 84 map: none, 85 each: noop, 86 bind: none, 87 exists: never, 88 forall: always, 89 filter: function () { 90 return none(); 91 }, 92 toArray: function () { 93 return []; 94 }, 95 toString: constant('none()') 96 }; 97 return me; 98 }(); 99 var some = function (a) { 100 var constant_a = constant(a); 101 var self = function () { 102 return me; 103 }; 104 var bind = function (f) { 105 return f(a); 106 }; 107 var me = { 108 fold: function (n, s) { 109 return s(a); 110 }, 111 isSome: always, 112 isNone: never, 113 getOr: constant_a, 114 getOrThunk: constant_a, 115 getOrDie: constant_a, 116 getOrNull: constant_a, 117 getOrUndefined: constant_a, 118 or: self, 119 orThunk: self, 120 map: function (f) { 121 return some(f(a)); 122 }, 123 each: function (f) { 124 f(a); 125 }, 126 bind: bind, 127 exists: bind, 128 forall: bind, 129 filter: function (f) { 130 return f(a) ? me : NONE; 131 }, 132 toArray: function () { 133 return [a]; 134 }, 135 toString: function () { 136 return 'some(' + a + ')'; 137 } 138 }; 139 return me; 140 }; 141 var from = function (value) { 142 return value === null || value === undefined ? NONE : some(value); 143 }; 144 var Optional = { 145 some: some, 146 none: none, 147 from: from 148 }; 149 150 var nativePush = Array.prototype.push; 151 var map = function (xs, f) { 152 var len = xs.length; 153 var r = new Array(len); 154 for (var i = 0; i < len; i++) { 155 var x = xs[i]; 156 r[i] = f(x, i); 157 } 158 return r; 159 }; 160 var each = function (xs, f) { 161 for (var i = 0, len = xs.length; i < len; i++) { 162 var x = xs[i]; 163 f(x, i); 164 } 165 }; 166 var findUntil = function (xs, pred, until) { 167 for (var i = 0, len = xs.length; i < len; i++) { 168 var x = xs[i]; 169 if (pred(x, i)) { 170 return Optional.some(x); 171 } else if (until(x, i)) { 172 break; 173 } 174 } 175 return Optional.none(); 176 }; 177 var find = function (xs, pred) { 178 return findUntil(xs, pred, never); 179 }; 180 var flatten = function (xs) { 181 var r = []; 182 for (var i = 0, len = xs.length; i < len; ++i) { 183 if (!isArray$1(xs[i])) { 184 throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs); 185 } 186 nativePush.apply(r, xs[i]); 187 } 188 return r; 189 }; 190 var bind = function (xs, f) { 191 return flatten(map(xs, f)); 192 }; 193 194 var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools'); 195 196 var getCharMap$1 = function (editor) { 197 return editor.getParam('charmap'); 198 }; 199 var getCharMapAppend = function (editor) { 200 return editor.getParam('charmap_append'); 201 }; 202 203 var isArray = global$1.isArray; 204 var UserDefined = 'User Defined'; 205 var getDefaultCharMap = function () { 206 return [ 207 { 208 name: 'Currency', 209 characters: [ 210 [ 211 36, 212 'dollar sign' 213 ], 214 [ 215 162, 216 'cent sign' 217 ], 218 [ 219 8364, 220 'euro sign' 221 ], 222 [ 223 163, 224 'pound sign' 225 ], 226 [ 227 165, 228 'yen sign' 229 ], 230 [ 231 164, 232 'currency sign' 233 ], 234 [ 235 8352, 236 'euro-currency sign' 237 ], 238 [ 239 8353, 240 'colon sign' 241 ], 242 [ 243 8354, 244 'cruzeiro sign' 245 ], 246 [ 247 8355, 248 'french franc sign' 249 ], 250 [ 251 8356, 252 'lira sign' 253 ], 254 [ 255 8357, 256 'mill sign' 257 ], 258 [ 259 8358, 260 'naira sign' 261 ], 262 [ 263 8359, 264 'peseta sign' 265 ], 266 [ 267 8360, 268 'rupee sign' 269 ], 270 [ 271 8361, 272 'won sign' 273 ], 274 [ 275 8362, 276 'new sheqel sign' 277 ], 278 [ 279 8363, 280 'dong sign' 281 ], 282 [ 283 8365, 284 'kip sign' 285 ], 286 [ 287 8366, 288 'tugrik sign' 289 ], 290 [ 291 8367, 292 'drachma sign' 293 ], 294 [ 295 8368, 296 'german penny symbol' 297 ], 298 [ 299 8369, 300 'peso sign' 301 ], 302 [ 303 8370, 304 'guarani sign' 305 ], 306 [ 307 8371, 308 'austral sign' 309 ], 310 [ 311 8372, 312 'hryvnia sign' 313 ], 314 [ 315 8373, 316 'cedi sign' 317 ], 318 [ 319 8374, 320 'livre tournois sign' 321 ], 322 [ 323 8375, 324 'spesmilo sign' 325 ], 326 [ 327 8376, 328 'tenge sign' 329 ], 330 [ 331 8377, 332 'indian rupee sign' 333 ], 334 [ 335 8378, 336 'turkish lira sign' 337 ], 338 [ 339 8379, 340 'nordic mark sign' 341 ], 342 [ 343 8380, 344 'manat sign' 345 ], 346 [ 347 8381, 348 'ruble sign' 349 ], 350 [ 351 20870, 352 'yen character' 353 ], 354 [ 355 20803, 356 'yuan character' 357 ], 358 [ 359 22291, 360 'yuan character, in hong kong and taiwan' 361 ], 362 [ 363 22278, 364 'yen/yuan character variant one' 365 ] 366 ] 367 }, 368 { 369 name: 'Text', 370 characters: [ 371 [ 372 169, 373 'copyright sign' 374 ], 375 [ 376 174, 377 'registered sign' 378 ], 379 [ 380 8482, 381 'trade mark sign' 382 ], 383 [ 384 8240, 385 'per mille sign' 386 ], 387 [ 388 181, 389 'micro sign' 390 ], 391 [ 392 183, 393 'middle dot' 394 ], 395 [ 396 8226, 397 'bullet' 398 ], 399 [ 400 8230, 401 'three dot leader' 402 ], 403 [ 404 8242, 405 'minutes / feet' 406 ], 407 [ 408 8243, 409 'seconds / inches' 410 ], 411 [ 412 167, 413 'section sign' 414 ], 415 [ 416 182, 417 'paragraph sign' 418 ], 419 [ 420 223, 421 'sharp s / ess-zed' 422 ] 423 ] 424 }, 425 { 426 name: 'Quotations', 427 characters: [ 428 [ 429 8249, 430 'single left-pointing angle quotation mark' 431 ], 432 [ 433 8250, 434 'single right-pointing angle quotation mark' 435 ], 436 [ 437 171, 438 'left pointing guillemet' 439 ], 440 [ 441 187, 442 'right pointing guillemet' 443 ], 444 [ 445 8216, 446 'left single quotation mark' 447 ], 448 [ 449 8217, 450 'right single quotation mark' 451 ], 452 [ 453 8220, 454 'left double quotation mark' 455 ], 456 [ 457 8221, 458 'right double quotation mark' 459 ], 460 [ 461 8218, 462 'single low-9 quotation mark' 463 ], 464 [ 465 8222, 466 'double low-9 quotation mark' 467 ], 468 [ 469 60, 470 'less-than sign' 471 ], 472 [ 473 62, 474 'greater-than sign' 475 ], 476 [ 477 8804, 478 'less-than or equal to' 479 ], 480 [ 481 8805, 482 'greater-than or equal to' 483 ], 484 [ 485 8211, 486 'en dash' 487 ], 488 [ 489 8212, 490 'em dash' 491 ], 492 [ 493 175, 494 'macron' 495 ], 496 [ 497 8254, 498 'overline' 499 ], 500 [ 501 164, 502 'currency sign' 503 ], 504 [ 505 166, 506 'broken bar' 507 ], 508 [ 509 168, 510 'diaeresis' 511 ], 512 [ 513 161, 514 'inverted exclamation mark' 515 ], 516 [ 517 191, 518 'turned question mark' 519 ], 520 [ 521 710, 522 'circumflex accent' 523 ], 524 [ 525 732, 526 'small tilde' 527 ], 528 [ 529 176, 530 'degree sign' 531 ], 532 [ 533 8722, 534 'minus sign' 535 ], 536 [ 537 177, 538 'plus-minus sign' 539 ], 540 [ 541 247, 542 'division sign' 543 ], 544 [ 545 8260, 546 'fraction slash' 547 ], 548 [ 549 215, 550 'multiplication sign' 551 ], 552 [ 553 185, 554 'superscript one' 555 ], 556 [ 557 178, 558 'superscript two' 559 ], 560 [ 561 179, 562 'superscript three' 563 ], 564 [ 565 188, 566 'fraction one quarter' 567 ], 568 [ 569 189, 570 'fraction one half' 571 ], 572 [ 573 190, 574 'fraction three quarters' 575 ] 576 ] 577 }, 578 { 579 name: 'Mathematical', 580 characters: [ 581 [ 582 402, 583 'function / florin' 584 ], 585 [ 586 8747, 587 'integral' 588 ], 589 [ 590 8721, 591 'n-ary sumation' 592 ], 593 [ 594 8734, 595 'infinity' 596 ], 597 [ 598 8730, 599 'square root' 600 ], 601 [ 602 8764, 603 'similar to' 604 ], 605 [ 606 8773, 607 'approximately equal to' 608 ], 609 [ 610 8776, 611 'almost equal to' 612 ], 613 [ 614 8800, 615 'not equal to' 616 ], 617 [ 618 8801, 619 'identical to' 620 ], 621 [ 622 8712, 623 'element of' 624 ], 625 [ 626 8713, 627 'not an element of' 628 ], 629 [ 630 8715, 631 'contains as member' 632 ], 633 [ 634 8719, 635 'n-ary product' 636 ], 637 [ 638 8743, 639 'logical and' 640 ], 641 [ 642 8744, 643 'logical or' 644 ], 645 [ 646 172, 647 'not sign' 648 ], 649 [ 650 8745, 651 'intersection' 652 ], 653 [ 654 8746, 655 'union' 656 ], 657 [ 658 8706, 659 'partial differential' 660 ], 661 [ 662 8704, 663 'for all' 664 ], 665 [ 666 8707, 667 'there exists' 668 ], 669 [ 670 8709, 671 'diameter' 672 ], 673 [ 674 8711, 675 'backward difference' 676 ], 677 [ 678 8727, 679 'asterisk operator' 680 ], 681 [ 682 8733, 683 'proportional to' 684 ], 685 [ 686 8736, 687 'angle' 688 ] 689 ] 690 }, 691 { 692 name: 'Extended Latin', 693 characters: [ 694 [ 695 192, 696 'A - grave' 697 ], 698 [ 699 193, 700 'A - acute' 701 ], 702 [ 703 194, 704 'A - circumflex' 705 ], 706 [ 707 195, 708 'A - tilde' 709 ], 710 [ 711 196, 712 'A - diaeresis' 713 ], 714 [ 715 197, 716 'A - ring above' 717 ], 718 [ 719 256, 720 'A - macron' 721 ], 722 [ 723 198, 724 'ligature AE' 725 ], 726 [ 727 199, 728 'C - cedilla' 729 ], 730 [ 731 200, 732 'E - grave' 733 ], 734 [ 735 201, 736 'E - acute' 737 ], 738 [ 739 202, 740 'E - circumflex' 741 ], 742 [ 743 203, 744 'E - diaeresis' 745 ], 746 [ 747 274, 748 'E - macron' 749 ], 750 [ 751 204, 752 'I - grave' 753 ], 754 [ 755 205, 756 'I - acute' 757 ], 758 [ 759 206, 760 'I - circumflex' 761 ], 762 [ 763 207, 764 'I - diaeresis' 765 ], 766 [ 767 298, 768 'I - macron' 769 ], 770 [ 771 208, 772 'ETH' 773 ], 774 [ 775 209, 776 'N - tilde' 777 ], 778 [ 779 210, 780 'O - grave' 781 ], 782 [ 783 211, 784 'O - acute' 785 ], 786 [ 787 212, 788 'O - circumflex' 789 ], 790 [ 791 213, 792 'O - tilde' 793 ], 794 [ 795 214, 796 'O - diaeresis' 797 ], 798 [ 799 216, 800 'O - slash' 801 ], 802 [ 803 332, 804 'O - macron' 805 ], 806 [ 807 338, 808 'ligature OE' 809 ], 810 [ 811 352, 812 'S - caron' 813 ], 814 [ 815 217, 816 'U - grave' 817 ], 818 [ 819 218, 820 'U - acute' 821 ], 822 [ 823 219, 824 'U - circumflex' 825 ], 826 [ 827 220, 828 'U - diaeresis' 829 ], 830 [ 831 362, 832 'U - macron' 833 ], 834 [ 835 221, 836 'Y - acute' 837 ], 838 [ 839 376, 840 'Y - diaeresis' 841 ], 842 [ 843 562, 844 'Y - macron' 845 ], 846 [ 847 222, 848 'THORN' 849 ], 850 [ 851 224, 852 'a - grave' 853 ], 854 [ 855 225, 856 'a - acute' 857 ], 858 [ 859 226, 860 'a - circumflex' 861 ], 862 [ 863 227, 864 'a - tilde' 865 ], 866 [ 867 228, 868 'a - diaeresis' 869 ], 870 [ 871 229, 872 'a - ring above' 873 ], 874 [ 875 257, 876 'a - macron' 877 ], 878 [ 879 230, 880 'ligature ae' 881 ], 882 [ 883 231, 884 'c - cedilla' 885 ], 886 [ 887 232, 888 'e - grave' 889 ], 890 [ 891 233, 892 'e - acute' 893 ], 894 [ 895 234, 896 'e - circumflex' 897 ], 898 [ 899 235, 900 'e - diaeresis' 901 ], 902 [ 903 275, 904 'e - macron' 905 ], 906 [ 907 236, 908 'i - grave' 909 ], 910 [ 911 237, 912 'i - acute' 913 ], 914 [ 915 238, 916 'i - circumflex' 917 ], 918 [ 919 239, 920 'i - diaeresis' 921 ], 922 [ 923 299, 924 'i - macron' 925 ], 926 [ 927 240, 928 'eth' 929 ], 930 [ 931 241, 932 'n - tilde' 933 ], 934 [ 935 242, 936 'o - grave' 937 ], 938 [ 939 243, 940 'o - acute' 941 ], 942 [ 943 244, 944 'o - circumflex' 945 ], 946 [ 947 245, 948 'o - tilde' 949 ], 950 [ 951 246, 952 'o - diaeresis' 953 ], 954 [ 955 248, 956 'o slash' 957 ], 958 [ 959 333, 960 'o macron' 961 ], 962 [ 963 339, 964 'ligature oe' 965 ], 966 [ 967 353, 968 's - caron' 969 ], 970 [ 971 249, 972 'u - grave' 973 ], 974 [ 975 250, 976 'u - acute' 977 ], 978 [ 979 251, 980 'u - circumflex' 981 ], 982 [ 983 252, 984 'u - diaeresis' 985 ], 986 [ 987 363, 988 'u - macron' 989 ], 990 [ 991 253, 992 'y - acute' 993 ], 994 [ 995 254, 996 'thorn' 997 ], 998 [ 999 255, 1000 'y - diaeresis' 1001 ], 1002 [ 1003 563, 1004 'y - macron' 1005 ], 1006 [ 1007 913, 1008 'Alpha' 1009 ], 1010 [ 1011 914, 1012 'Beta' 1013 ], 1014 [ 1015 915, 1016 'Gamma' 1017 ], 1018 [ 1019 916, 1020 'Delta' 1021 ], 1022 [ 1023 917, 1024 'Epsilon' 1025 ], 1026 [ 1027 918, 1028 'Zeta' 1029 ], 1030 [ 1031 919, 1032 'Eta' 1033 ], 1034 [ 1035 920, 1036 'Theta' 1037 ], 1038 [ 1039 921, 1040 'Iota' 1041 ], 1042 [ 1043 922, 1044 'Kappa' 1045 ], 1046 [ 1047 923, 1048 'Lambda' 1049 ], 1050 [ 1051 924, 1052 'Mu' 1053 ], 1054 [ 1055 925, 1056 'Nu' 1057 ], 1058 [ 1059 926, 1060 'Xi' 1061 ], 1062 [ 1063 927, 1064 'Omicron' 1065 ], 1066 [ 1067 928, 1068 'Pi' 1069 ], 1070 [ 1071 929, 1072 'Rho' 1073 ], 1074 [ 1075 931, 1076 'Sigma' 1077 ], 1078 [ 1079 932, 1080 'Tau' 1081 ], 1082 [ 1083 933, 1084 'Upsilon' 1085 ], 1086 [ 1087 934, 1088 'Phi' 1089 ], 1090 [ 1091 935, 1092 'Chi' 1093 ], 1094 [ 1095 936, 1096 'Psi' 1097 ], 1098 [ 1099 937, 1100 'Omega' 1101 ], 1102 [ 1103 945, 1104 'alpha' 1105 ], 1106 [ 1107 946, 1108 'beta' 1109 ], 1110 [ 1111 947, 1112 'gamma' 1113 ], 1114 [ 1115 948, 1116 'delta' 1117 ], 1118 [ 1119 949, 1120 'epsilon' 1121 ], 1122 [ 1123 950, 1124 'zeta' 1125 ], 1126 [ 1127 951, 1128 'eta' 1129 ], 1130 [ 1131 952, 1132 'theta' 1133 ], 1134 [ 1135 953, 1136 'iota' 1137 ], 1138 [ 1139 954, 1140 'kappa' 1141 ], 1142 [ 1143 955, 1144 'lambda' 1145 ], 1146 [ 1147 956, 1148 'mu' 1149 ], 1150 [ 1151 957, 1152 'nu' 1153 ], 1154 [ 1155 958, 1156 'xi' 1157 ], 1158 [ 1159 959, 1160 'omicron' 1161 ], 1162 [ 1163 960, 1164 'pi' 1165 ], 1166 [ 1167 961, 1168 'rho' 1169 ], 1170 [ 1171 962, 1172 'final sigma' 1173 ], 1174 [ 1175 963, 1176 'sigma' 1177 ], 1178 [ 1179 964, 1180 'tau' 1181 ], 1182 [ 1183 965, 1184 'upsilon' 1185 ], 1186 [ 1187 966, 1188 'phi' 1189 ], 1190 [ 1191 967, 1192 'chi' 1193 ], 1194 [ 1195 968, 1196 'psi' 1197 ], 1198 [ 1199 969, 1200 'omega' 1201 ] 1202 ] 1203 }, 1204 { 1205 name: 'Symbols', 1206 characters: [ 1207 [ 1208 8501, 1209 'alef symbol' 1210 ], 1211 [ 1212 982, 1213 'pi symbol' 1214 ], 1215 [ 1216 8476, 1217 'real part symbol' 1218 ], 1219 [ 1220 978, 1221 'upsilon - hook symbol' 1222 ], 1223 [ 1224 8472, 1225 'Weierstrass p' 1226 ], 1227 [ 1228 8465, 1229 'imaginary part' 1230 ] 1231 ] 1232 }, 1233 { 1234 name: 'Arrows', 1235 characters: [ 1236 [ 1237 8592, 1238 'leftwards arrow' 1239 ], 1240 [ 1241 8593, 1242 'upwards arrow' 1243 ], 1244 [ 1245 8594, 1246 'rightwards arrow' 1247 ], 1248 [ 1249 8595, 1250 'downwards arrow' 1251 ], 1252 [ 1253 8596, 1254 'left right arrow' 1255 ], 1256 [ 1257 8629, 1258 'carriage return' 1259 ], 1260 [ 1261 8656, 1262 'leftwards double arrow' 1263 ], 1264 [ 1265 8657, 1266 'upwards double arrow' 1267 ], 1268 [ 1269 8658, 1270 'rightwards double arrow' 1271 ], 1272 [ 1273 8659, 1274 'downwards double arrow' 1275 ], 1276 [ 1277 8660, 1278 'left right double arrow' 1279 ], 1280 [ 1281 8756, 1282 'therefore' 1283 ], 1284 [ 1285 8834, 1286 'subset of' 1287 ], 1288 [ 1289 8835, 1290 'superset of' 1291 ], 1292 [ 1293 8836, 1294 'not a subset of' 1295 ], 1296 [ 1297 8838, 1298 'subset of or equal to' 1299 ], 1300 [ 1301 8839, 1302 'superset of or equal to' 1303 ], 1304 [ 1305 8853, 1306 'circled plus' 1307 ], 1308 [ 1309 8855, 1310 'circled times' 1311 ], 1312 [ 1313 8869, 1314 'perpendicular' 1315 ], 1316 [ 1317 8901, 1318 'dot operator' 1319 ], 1320 [ 1321 8968, 1322 'left ceiling' 1323 ], 1324 [ 1325 8969, 1326 'right ceiling' 1327 ], 1328 [ 1329 8970, 1330 'left floor' 1331 ], 1332 [ 1333 8971, 1334 'right floor' 1335 ], 1336 [ 1337 9001, 1338 'left-pointing angle bracket' 1339 ], 1340 [ 1341 9002, 1342 'right-pointing angle bracket' 1343 ], 1344 [ 1345 9674, 1346 'lozenge' 1347 ], 1348 [ 1349 9824, 1350 'black spade suit' 1351 ], 1352 [ 1353 9827, 1354 'black club suit' 1355 ], 1356 [ 1357 9829, 1358 'black heart suit' 1359 ], 1360 [ 1361 9830, 1362 'black diamond suit' 1363 ], 1364 [ 1365 8194, 1366 'en space' 1367 ], 1368 [ 1369 8195, 1370 'em space' 1371 ], 1372 [ 1373 8201, 1374 'thin space' 1375 ], 1376 [ 1377 8204, 1378 'zero width non-joiner' 1379 ], 1380 [ 1381 8205, 1382 'zero width joiner' 1383 ], 1384 [ 1385 8206, 1386 'left-to-right mark' 1387 ], 1388 [ 1389 8207, 1390 'right-to-left mark' 1391 ] 1392 ] 1393 } 1394 ]; 1395 }; 1396 var charmapFilter = function (charmap) { 1397 return global$1.grep(charmap, function (item) { 1398 return isArray(item) && item.length === 2; 1399 }); 1400 }; 1401 var getCharsFromSetting = function (settingValue) { 1402 if (isArray(settingValue)) { 1403 return charmapFilter(settingValue); 1404 } 1405 if (typeof settingValue === 'function') { 1406 return settingValue(); 1407 } 1408 return []; 1409 }; 1410 var extendCharMap = function (editor, charmap) { 1411 var userCharMap = getCharMap$1(editor); 1412 if (userCharMap) { 1413 charmap = [{ 1414 name: UserDefined, 1415 characters: getCharsFromSetting(userCharMap) 1416 }]; 1417 } 1418 var userCharMapAppend = getCharMapAppend(editor); 1419 if (userCharMapAppend) { 1420 var userDefinedGroup = global$1.grep(charmap, function (cg) { 1421 return cg.name === UserDefined; 1422 }); 1423 if (userDefinedGroup.length) { 1424 userDefinedGroup[0].characters = [].concat(userDefinedGroup[0].characters).concat(getCharsFromSetting(userCharMapAppend)); 1425 return charmap; 1426 } 1427 return charmap.concat({ 1428 name: UserDefined, 1429 characters: getCharsFromSetting(userCharMapAppend) 1430 }); 1431 } 1432 return charmap; 1433 }; 1434 var getCharMap = function (editor) { 1435 var groups = extendCharMap(editor, getDefaultCharMap()); 1436 return groups.length > 1 ? [{ 1437 name: 'All', 1438 characters: bind(groups, function (g) { 1439 return g.characters; 1440 }) 1441 }].concat(groups) : groups; 1442 }; 1443 1444 var get = function (editor) { 1445 var getCharMap$1 = function () { 1446 return getCharMap(editor); 1447 }; 1448 var insertChar$1 = function (chr) { 1449 insertChar(editor, chr); 1450 }; 1451 return { 1452 getCharMap: getCharMap$1, 1453 insertChar: insertChar$1 1454 }; 1455 }; 1456 1457 var Cell = function (initial) { 1458 var value = initial; 1459 var get = function () { 1460 return value; 1461 }; 1462 var set = function (v) { 1463 value = v; 1464 }; 1465 return { 1466 get: get, 1467 set: set 1468 }; 1469 }; 1470 1471 var last = function (fn, rate) { 1472 var timer = null; 1473 var cancel = function () { 1474 if (!isNull(timer)) { 1475 clearTimeout(timer); 1476 timer = null; 1477 } 1478 }; 1479 var throttle = function () { 1480 var args = []; 1481 for (var _i = 0; _i < arguments.length; _i++) { 1482 args[_i] = arguments[_i]; 1483 } 1484 cancel(); 1485 timer = setTimeout(function () { 1486 timer = null; 1487 fn.apply(null, args); 1488 }, rate); 1489 }; 1490 return { 1491 cancel: cancel, 1492 throttle: throttle 1493 }; 1494 }; 1495 1496 var nativeFromCodePoint = String.fromCodePoint; 1497 var contains = function (str, substr) { 1498 return str.indexOf(substr) !== -1; 1499 }; 1500 var fromCodePoint = function () { 1501 var codePoints = []; 1502 for (var _i = 0; _i < arguments.length; _i++) { 1503 codePoints[_i] = arguments[_i]; 1504 } 1505 if (nativeFromCodePoint) { 1506 return nativeFromCodePoint.apply(void 0, codePoints); 1507 } else { 1508 var codeUnits = []; 1509 var codeLen = 0; 1510 var result = ''; 1511 for (var index = 0, len = codePoints.length; index !== len; ++index) { 1512 var codePoint = +codePoints[index]; 1513 if (!(codePoint < 1114111 && codePoint >>> 0 === codePoint)) { 1514 throw RangeError('Invalid code point: ' + codePoint); 1515 } 1516 if (codePoint <= 65535) { 1517 codeLen = codeUnits.push(codePoint); 1518 } else { 1519 codePoint -= 65536; 1520 codeLen = codeUnits.push((codePoint >> 10) + 55296, codePoint % 1024 + 56320); 1521 } 1522 if (codeLen >= 16383) { 1523 result += String.fromCharCode.apply(null, codeUnits); 1524 codeUnits.length = 0; 1525 } 1526 } 1527 return result + String.fromCharCode.apply(null, codeUnits); 1528 } 1529 }; 1530 1531 var charMatches = function (charCode, name, lowerCasePattern) { 1532 if (contains(fromCodePoint(charCode).toLowerCase(), lowerCasePattern)) { 1533 return true; 1534 } else { 1535 return contains(name.toLowerCase(), lowerCasePattern) || contains(name.toLowerCase().replace(/\s+/g, ''), lowerCasePattern); 1536 } 1537 }; 1538 var scan = function (group, pattern) { 1539 var matches = []; 1540 var lowerCasePattern = pattern.toLowerCase(); 1541 each(group.characters, function (g) { 1542 if (charMatches(g[0], g[1], lowerCasePattern)) { 1543 matches.push(g); 1544 } 1545 }); 1546 return map(matches, function (m) { 1547 return { 1548 text: m[1], 1549 value: fromCodePoint(m[0]), 1550 icon: fromCodePoint(m[0]) 1551 }; 1552 }); 1553 }; 1554 1555 var patternName = 'pattern'; 1556 var open = function (editor, charMap) { 1557 var makeGroupItems = function () { 1558 return [ 1559 { 1560 label: 'Search', 1561 type: 'input', 1562 name: patternName 1563 }, 1564 { 1565 type: 'collection', 1566 name: 'results' 1567 } 1568 ]; 1569 }; 1570 var makeTabs = function () { 1571 return map(charMap, function (charGroup) { 1572 return { 1573 title: charGroup.name, 1574 name: charGroup.name, 1575 items: makeGroupItems() 1576 }; 1577 }); 1578 }; 1579 var makePanel = function () { 1580 return { 1581 type: 'panel', 1582 items: makeGroupItems() 1583 }; 1584 }; 1585 var makeTabPanel = function () { 1586 return { 1587 type: 'tabpanel', 1588 tabs: makeTabs() 1589 }; 1590 }; 1591 var currentTab = charMap.length === 1 ? Cell(UserDefined) : Cell('All'); 1592 var scanAndSet = function (dialogApi, pattern) { 1593 find(charMap, function (group) { 1594 return group.name === currentTab.get(); 1595 }).each(function (f) { 1596 var items = scan(f, pattern); 1597 dialogApi.setData({ results: items }); 1598 }); 1599 }; 1600 var SEARCH_DELAY = 40; 1601 var updateFilter = last(function (dialogApi) { 1602 var pattern = dialogApi.getData().pattern; 1603 scanAndSet(dialogApi, pattern); 1604 }, SEARCH_DELAY); 1605 var body = charMap.length === 1 ? makePanel() : makeTabPanel(); 1606 var initialData = { 1607 pattern: '', 1608 results: scan(charMap[0], '') 1609 }; 1610 var bridgeSpec = { 1611 title: 'Special Character', 1612 size: 'normal', 1613 body: body, 1614 buttons: [{ 1615 type: 'cancel', 1616 name: 'close', 1617 text: 'Close', 1618 primary: true 1619 }], 1620 initialData: initialData, 1621 onAction: function (api, details) { 1622 if (details.name === 'results') { 1623 insertChar(editor, details.value); 1624 api.close(); 1625 } 1626 }, 1627 onTabChange: function (dialogApi, details) { 1628 currentTab.set(details.newTabName); 1629 updateFilter.throttle(dialogApi); 1630 }, 1631 onChange: function (dialogApi, changeData) { 1632 if (changeData.name === patternName) { 1633 updateFilter.throttle(dialogApi); 1634 } 1635 } 1636 }; 1637 var dialogApi = editor.windowManager.open(bridgeSpec); 1638 dialogApi.focus(patternName); 1639 }; 1640 1641 var register$1 = function (editor, charMap) { 1642 editor.addCommand('mceShowCharmap', function () { 1643 open(editor, charMap); 1644 }); 1645 }; 1646 1647 var global = tinymce.util.Tools.resolve('tinymce.util.Promise'); 1648 1649 var init = function (editor, all) { 1650 editor.ui.registry.addAutocompleter('charmap', { 1651 ch: ':', 1652 columns: 'auto', 1653 minChars: 2, 1654 fetch: function (pattern, _maxResults) { 1655 return new global(function (resolve, _reject) { 1656 resolve(scan(all, pattern)); 1657 }); 1658 }, 1659 onAction: function (autocompleteApi, rng, value) { 1660 editor.selection.setRng(rng); 1661 editor.insertContent(value); 1662 autocompleteApi.hide(); 1663 } 1664 }); 1665 }; 1666 1667 var register = function (editor) { 1668 editor.ui.registry.addButton('charmap', { 1669 icon: 'insert-character', 1670 tooltip: 'Special character', 1671 onAction: function () { 1672 return editor.execCommand('mceShowCharmap'); 1673 } 1674 }); 1675 editor.ui.registry.addMenuItem('charmap', { 1676 icon: 'insert-character', 1677 text: 'Special character...', 1678 onAction: function () { 1679 return editor.execCommand('mceShowCharmap'); 1680 } 1681 }); 1682 }; 1683 1684 function Plugin () { 1685 global$2.add('charmap', function (editor) { 1686 var charMap = getCharMap(editor); 1687 register$1(editor, charMap); 1688 register(editor); 1689 init(editor, charMap[0]); 1690 return get(editor); 1691 }); 1692 } 1693 1694 Plugin(); 1695 1696 }());
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Sep 7 05:41:13 2022 | Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer |