[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/media/vendor/tinymce/plugins/charmap/ -> plugin.js (source)

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


Generated: Wed Sep 7 05:41:13 2022 Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer