all files / pdfviewer/form-designer/ form-designer.js

4.01% Statements 214/5341
0% Branches 0/4549
0.75% Functions 2/267
4.02% Lines 214/5317
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 81421×   1× 1× 1×                                                                                                                                                                                                                                                                                                   1×                                                             1×                                                                                                                                                                                                                                                                   1×                               1×                                                                                                                             1×                                                                                                                                                                                     1×                                         1×                                                                                       1×                                                                                                                                                 1×         1×     1×     1×                                                 1×                                   1×                                                                 1×                                                                                                         1×       1×                               1×                                                                                                                                                                                                                                           1×                             1×                                                                                                                                                                                 1×                                                                     1×                                                                                                                                                                                                                                                     1×                                                     1×                                                                                                                                                                                                                                                   1×                                                                                                                                                                                                                                                                                   1×     1×                     1×                                                                                                                     1×                         1×                                                                                       1×                                                                                         1×                                                                                                                                                                                                                                                                                                                                                                                                                                             1×                                                                                                       1×                                                                                   1×                                                                                                                                                                       1×                   1×                                                                                                                                                                                                                                                                                                                                         1×                                                                                                       1×                                                                           1×     1×                                                   1×                           1×                     1×           1×       1×                                                                                                                                                                                                                                                                                                                                                                                                     1×                                             1×                                                                                         1×                                         1×                                                                                               1×                                                           1×               1×                                                                                                                     1×                                                                                                     1×                                                                                                                                                   1×                               1×                                                                                                                                                                                             1×                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     1×             1×                                 1×                                           1×                                           1×                               1×                               1×                                                 1×                                                 1×                                   1×                                                                                       1×                                     1×                   1×                                                                                                                                       1×                   1×                       1×                                                                                             1×                                   1×       1×               1×               1×             1×             1×                 1×                 1×                                               1×                                                                                                                         1×                                                                                   1×                                                     1×                                                 1×                                                                           1×                                                                           1×                                                                                                                 1×         1×                     1×                 1×                                                         1×                                                                                                                                                                                                                                                                                                                                                                     1×                                 1×                                                                     1×                         1×                                                                                                                                                                                                                                                                                               1×                         1×               1×                                   1×                                       1×                                                                                   1×                                                                                                                                                                       1×                                                                                                                   1×                   1×               1×               1×                                             1×                               1×                     1×                               1×                                                                       1×     1×                                                                                                                                                     1×                                                                                                                                         1×                       1×                               1×                                                               1×                                                                                                     1×                                                                                             1×                                                                                                                                                                                                   1×                                                                           1×                                                                                             1×                                                                                                               1×                                 1×                                                   1×                                                               1×                                                                               1×                                                       1×                                                                                 1×                                                         1×                                                           1×                                                                                     1×         1×                                                                       1×                                                               1×                                                                                           1×         1×                                                                                       1×                                                                         1×                                                 1×                                             1×                                                                                                                                                                                                                 1×                                                                                               1×                                         1×                               1×     1×         1×                                                                                                               1×                                                                                                                                             1×     1×     1×                   1×                       1×                                                                                                                                                                                                                                                                                           1×           1×             1×     1×                                                                                                                                                                                             1×                                                             1×                                                   1×                                                                     1×                                           1×                                               1×                                     1×                                                 1×                         1×                                                                                                                                   1×             1×                                             1×         1×         1×     1×         1×                       1×                                                                     1×                   1×                                                     1×                     1×                                                                 1×           1×                                                                                         1×                                                     1×                                                                                                                               1×                 1×     1×     1×                   1×       1×                                                                                                                                                         1×                                                                                                                                                       1×                                                                                               1×                                                                                                     1×                                                                                                                                     1×                                                                                                                                       1×                                                                                                                                                           1×                                             1×                                       1×                                     1×                           1×                           1×                                     1×                                   1×                                                                                                                                                                 1×                         1×                                                   1×   1×    
define(["require", "exports", "@syncfusion/ej2-base", "@syncfusion/ej2-drawings", "@syncfusion/ej2-base", "@syncfusion/ej2-popups", "@syncfusion/ej2-navigations", "@syncfusion/ej2-splitbuttons", "@syncfusion/ej2-inputs", "@syncfusion/ej2-dropdowns", "@syncfusion/ej2-buttons", "../base/types", "../drawing/drawing-util", "@syncfusion/ej2-pdf", "../base/pdfviewer-utlis"], function (require, exports, ej2_base_1, ej2_drawings_1, ej2_base_2, ej2_popups_1, ej2_navigations_1, ej2_splitbuttons_1, ej2_inputs_1, ej2_dropdowns_1, ej2_buttons_1, types_1, drawing_util_1, ej2_pdf_1, pdfviewer_utlis_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    var FormDesigner = (function () {
        function FormDesigner(viewer, base) {
            this.formFieldTooltips = [];
            this.isFormFieldExistingInCollection = false;
            this.multilineCheckboxCheckedState = false;
            this.formFieldListItemCollection = [];
            this.formFieldListItemDataSource = [];
            this.isInitialField = false;
            this.isSetFormFieldMode = false;
            this.isAddFormFieldProgrammatically = false;
            this.isAddFormFieldUi = false;
            this.increasedSize = 5;
            this.defaultZoomValue = 1;
            this.defaultFontSize = 10;
            this.signIndicatorPadding = 3;
            this.signIndicatorMinimunFontSize = 1;
            this.signatureFieldPropertyChanged = {
                isReadOnlyChanged: false,
                isRequiredChanged: false,
                isVisibilityChanged: false,
                isNameChanged: false,
                isPrintChanged: false,
                isTooltipChanged: false,
                isThicknessChanged: false
            };
            this.initialFieldPropertyChanged = {
                isReadOnlyChanged: false,
                isRequiredChanged: false,
                isVisibilityChanged: false,
                isNameChanged: false,
                isPrintChanged: false,
                isTooltipChanged: false,
                isThicknessChanged: false
            };
            this.textFieldPropertyChanged = {
                isReadOnlyChanged: false,
                isRequiredChanged: false,
                isBackgroundColorChanged: false,
                isBorderColorChanged: false,
                isAlignmentChanged: false,
                isFontSizeChanged: false,
                isNameChanged: false,
                isToolTipChanged: false,
                isThicknessChanged: false,
                isVisibilityChanged: false,
                isPrintChanged: false,
                isSelected: false,
                isFontFamilyChanged: false,
                isFontStyle: false,
                isValueChanged: false,
                isMaXLength: false,
                isColorChanged: false,
                isMultilineChanged: false
            };
            this.passwordFieldPropertyChanged = {
                isReadOnlyChanged: false,
                isRequiredChanged: false,
                isBackgroundColorChanged: false,
                isBorderColorChanged: false,
                isAlignmentChanged: false,
                isFontSizeChanged: false,
                isNameChanged: false,
                isToolTipChanged: false,
                isThicknessChanged: false,
                isVisibilityChanged: false,
                isPrintChanged: false,
                isSelected: false,
                isFontFamilyChanged: false,
                isFontStyle: false,
                isValueChanged: false,
                isMaXLength: false,
                isColorChanged: false
            };
            this.checkBoxFieldPropertyChanged = {
                isReadOnlyChanged: false,
                isRequiredChanged: false,
                isBackgroundColorChanged: false,
                isBorderColorChanged: false,
                isNameChanged: false,
                isToolTipChanged: false,
                isThicknessChanged: false,
                isVisibilityChanged: false,
                isPrintChanged: false,
                isCheckedChanged: false,
                isValueChanged: false
            };
            this.radioButtonFieldPropertyChanged = {
                isReadOnlyChanged: false,
                isRequiredChanged: false,
                isBackgroundColorChanged: false,
                isBorderColorChanged: false,
                isNameChanged: false,
                isToolTipChanged: false,
                isThicknessChanged: false,
                isVisibilityChanged: false,
                isPrintChanged: false,
                isSelectedChanged: false,
                isValueChanged: false
            };
            this.dropdownFieldPropertyChanged = {
                isReadOnlyChanged: false,
                isRequiredChanged: false,
                isBackgroundColorChanged: false,
                isBorderColorChanged: false,
                isAlignmentChanged: false,
                isFontSizeChanged: false,
                isNameChanged: false,
                isToolTipChanged: false,
                isThicknessChanged: false,
                isVisibilityChanged: false,
                isPrintChanged: false,
                isSelected: false,
                isFontFamilyChanged: false,
                isFontStyle: false,
                isColorChanged: false,
                isOptionChanged: false
            };
            this.listBoxFieldPropertyChanged = {
                isReadOnlyChanged: false,
                isRequiredChanged: false,
                isBackgroundColorChanged: false,
                isBorderColorChanged: false,
                isAlignmentChanged: false,
                isFontSizeChanged: false,
                isNameChanged: false,
                isToolTipChanged: false,
                isThicknessChanged: false,
                isVisibilityChanged: false,
                isPrintChanged: false,
                isSelected: false,
                isFontFamilyChanged: false,
                isFontStyle: false,
                isColorChanged: false,
                isOptionChanged: false
            };
            this.disableSignatureClickEvent = false;
            this.formFieldIndex = 0;
            this.formFieldIdIndex = 0;
            this.isProgrammaticSelection = false;
            this.isShapeCopied = false;
            this.isFormFieldSizeUpdated = false;
            this.isDrawHelper = false;
            this.isFormFieldUpdated = false;
            this.isPropertyDialogOpen = false;
            this.pdfViewer = viewer;
            this.pdfViewerBase = base;
        }
        FormDesigner.prototype.drawHelper = function (formFieldAnnotationType, obj, event) {
            var textLayer = document.getElementById(this.pdfViewer.element.id + '_textLayer_' + this.pdfViewerBase.activeElements.activePageID);
            var canvasElement = document.getElementById(this.pdfViewer.element.id + '_pageCanvas_' + this.pdfViewerBase.activeElements.activePageID);
            if (canvasElement !== null && textLayer !== null) {
                var zoomValue = this.pdfViewerBase.getZoomFactor();
                var HtmlElementAttribute = {
                    'id': 'FormField_helper_html_element',
                    'class': 'foreign-object'
                };
                var bounds = this.updateFormFieldInitialSize(obj, formFieldAnnotationType);
                var htmlElement = this.createHtmlElement('div', HtmlElementAttribute);
                this.isDrawHelper = true;
                if (formFieldAnnotationType === 'SignatureField' || formFieldAnnotationType === 'InitialField') {
                    htmlElement.appendChild(this.createSignatureDialog(this.pdfViewer, obj, bounds));
                }
                else if (formFieldAnnotationType === 'DropdownList') {
                    var element = { id: 'dropdown_helper' };
                    htmlElement.appendChild(this.createDropDownList(element, obj));
                }
                else if (formFieldAnnotationType === 'ListBox') {
                    var element = { id: 'listbox_helper' };
                    htmlElement.appendChild(this.createListBox(element, obj));
                }
                else {
                    htmlElement.appendChild(this.createInputElement(formFieldAnnotationType, obj, bounds));
                }
                textLayer.appendChild(htmlElement);
                var point = this.pdfViewerBase.getMousePosition(event);
                htmlElement.style.cssText = "height: " + bounds.height * zoomValue + "px;width: " + bounds.width * zoomValue + "px;\n            left: " + point.x * zoomValue + "px;top: " + point.y * zoomValue + "px;position: absolute;opacity: 0.5;";
            }
        };
        FormDesigner.prototype.drawHTMLContent = function (formFieldAnnotationType, element, drawingObject, pageIndex, commandHandler, fieldId, isAddedProgrammatically, action) {
            var textLayer = document.getElementById(this.pdfViewer.element.id + '_textLayer_' + pageIndex);
            var canvasElement = document.getElementById(this.pdfViewer.element.id + '_pageCanvas_' + pageIndex);
            var formFieldElement = document.getElementById('form_field_' + element.id + '_html_element');
            if (formFieldElement === null && element !== null && canvasElement !== null && textLayer) {
                var zoomValue = this.pdfViewerBase.getZoomFactor();
                var parentHtmlElementAttribute = {
                    'id': 'form_field_' + element.id + '_html_element',
                    'class': 'foreign-object'
                };
                var parentHtmlElement = this.createHtmlElement('div', parentHtmlElementAttribute);
                var HtmlElementAttribute = {
                    'id': element.id + '_html_element',
                    'class': 'foreign-object'
                };
                var htmlElement = this.createHtmlElement('div', HtmlElementAttribute);
                if (drawingObject.fontFamily === 'TimesRoman') {
                    drawingObject.fontFamily = 'Times New Roman';
                }
                if (formFieldAnnotationType === 'SignatureField' || formFieldAnnotationType === 'InitialField') {
                    element.template = htmlElement.appendChild(this.createSignatureDialog(commandHandler, drawingObject));
                }
                else if (formFieldAnnotationType === 'DropdownList') {
                    element.template = htmlElement.appendChild(this.createDropDownList(element, drawingObject));
                }
                else if (formFieldAnnotationType === 'ListBox') {
                    element.template = htmlElement.appendChild(this.createListBox(element, drawingObject));
                }
                else {
                    element.template = htmlElement.appendChild(this.createInputElement(formFieldAnnotationType, drawingObject));
                }
                var divElement = document.createElement('div');
                divElement.id = drawingObject.id + '_designer_name';
                divElement.style.fontSize = this.defaultFontSize + 'px';
                divElement.className = 'e-pv-show-designer-name';
                if (this.pdfViewer.designerMode) {
                    divElement.innerHTML = drawingObject.name;
                    divElement.style.position = 'absolute';
                }
                else {
                    divElement.innerHTML = '';
                    divElement.style.position = 'initial';
                }
                if (formFieldAnnotationType === 'Checkbox' && (ej2_base_1.Browser.isDevice)) {
                    var bounds = drawingObject.bounds;
                    var outerDivHeight = bounds.height + this.increasedSize;
                    var outerDivWidth = bounds.width + this.increasedSize;
                    var outerDivAttribute = {
                        'id': drawingObject.id + '_outer_div',
                        'className': 'e-pv-checkbox-outer-div'
                    };
                    var outerDiv = ej2_base_1.createElement('div', outerDivAttribute);
                    outerDiv.style.cssText = "height: " + outerDivHeight * zoomValue + "px;width: " + outerDivWidth * zoomValue + "px;\n                left: " + bounds.x * zoomValue + "px;top: " + bounds.y * zoomValue + "px;position: absolute;opacity: 1;";
                    htmlElement.appendChild(divElement);
                    outerDiv.addEventListener('click', this.setCheckBoxState.bind(this));
                    parentHtmlElement.appendChild(htmlElement);
                    textLayer.appendChild(outerDiv);
                    outerDiv.appendChild(parentHtmlElement);
                }
                else {
                    htmlElement.appendChild(divElement);
                    parentHtmlElement.appendChild(htmlElement);
                    textLayer.appendChild(parentHtmlElement);
                }
                if (formFieldAnnotationType === 'RadioButton') {
                    if (document.getElementsByClassName('e-pv-radiobtn-span').length > 0) {
                        var spanElement = document.getElementsByClassName('e-pv-radiobtn-span');
                        for (var i = 0; i < spanElement.length; i++) {
                            if (spanElement[parseInt(i.toString(), 10)].id.split('_')[0] === drawingObject.id) {
                                var bounds = this.getCheckboxRadioButtonBounds(drawingObject);
                                spanElement[parseInt(i.toString(), 10)].style.width = (bounds.width / 2) + 'px';
                                spanElement[parseInt(i.toString(), 10)].style.height = (bounds.height / 2) + 'px';
                                if (parseInt(spanElement[parseInt(i.toString(), 10)].style.width, 10) <= 1 ||
                                    parseInt(spanElement[parseInt(i.toString(), 10)].style.height, 10) <= 1) {
                                    spanElement[parseInt(i.toString(), 10)].style.width = '1px';
                                    spanElement[parseInt(i.toString(), 10)].style.height = '1px';
                                    spanElement[parseInt(i.toString(), 10)].style.margin = '1px';
                                }
                            }
                        }
                    }
                }
                var point = ej2_drawings_1.cornersPointsBeforeRotation(element).topLeft;
                if (formFieldAnnotationType === 'Checkbox' && (ej2_base_1.Browser.isDevice)) {
                    htmlElement.style.cssText = "height: " + element.actualSize.height * zoomValue + "px;\n                width: " + element.actualSize.width * zoomValue + "px;left: " + point.x * zoomValue + "px;top: " + point.y * zoomValue + "px;\n                transform: rotate(" + (element.rotateAngle + element.parentTransform) + "deg);\n                pointer-events: " + (this.pdfViewer.designerMode ? 'none' : 'all') + ";visibility: " + (element.visible ? 'visible' : 'hidden') + ";\n                opacity: " + element.style.opacity + ";";
                }
                else {
                    htmlElement.style.cssText = "height: " + element.actualSize.height * zoomValue + "px;\n                width: " + element.actualSize.width * zoomValue + "px;left: " + point.x * zoomValue + "px;top: " + point.y * zoomValue + "px;\n                position: absolute;transform: rotate(" + (element.rotateAngle + element.parentTransform) + "deg);\n                pointer-events: " + (this.pdfViewer.designerMode ? 'none' : 'all') + ";visibility: " + (element.visible ? 'visible' : 'hidden') + ";\n                opacity: " + element.style.opacity + ";";
                }
                this.updateFormDesignerFieldInSessionStorage(point, element, formFieldAnnotationType, drawingObject);
                if (formFieldAnnotationType === 'SignatureField' || formFieldAnnotationType === 'InitialField') {
                    if (drawingObject.value && action !== 'Addition') {
                        var elementId = this.pdfViewer.drawing.copiedElementID !== '' ? this.pdfViewer.drawing.copiedElementID + '_content' : element.id;
                        var value = void 0;
                        if (!ej2_base_2.isNullOrUndefined(this.pdfViewer.nameTable["" + elementId])) {
                            value = this.pdfViewer.nameTable["" + elementId].value ? this.pdfViewer.nameTable["" + elementId].value : this.pdfViewer.nameTable["" + elementId].data;
                        }
                        else {
                            value = drawingObject.value;
                        }
                        if (value && this.pdfViewer.formFieldsModule) {
                            var signatureType = (value.indexOf('base64')) > -1 ? 'Image' : ((value.startsWith('M') && value.split(',')[1] && value.split(',')[1].split(' ')[1].startsWith('L') || (value.startsWith('M') && value.split(' ')[3].startsWith('L'))) ? 'Path' : 'Type');
                            if (this.pdfViewerBase.isSignaturePathData(value)) {
                                signatureType = 'Path';
                            }
                            this.pdfViewer.formFieldsModule.drawSignature(signatureType, value, element.template, drawingObject.fontFamily);
                        }
                    }
                }
                var field = this.getFormFieldAddEventArgs(drawingObject);
                if (!this.pdfViewer.isFormFieldsLoaded || isAddedProgrammatically) {
                    this.pdfViewerBase.updateDocumentEditedProperty(true);
                }
                if (this.isSetFormFieldMode || isAddedProgrammatically) {
                    var pageIndex_1 = this.pdfViewerBase.activeElements.activePageID ?
                        this.pdfViewerBase.activeElements.activePageID : field.pageNumber - 1;
                    this.pdfViewer.fireFormFieldAddEvent('formFieldAdd', field, pageIndex_1);
                }
                this.isSetFormFieldMode = false;
            }
            else {
                var point = ej2_drawings_1.cornersPointsBeforeRotation(element).topLeft;
                this.updateFormDesignerFieldInSessionStorage(point, element, formFieldAnnotationType, drawingObject);
                if (isAddedProgrammatically) {
                    var field = this.getFormFieldAddEventArgs(drawingObject);
                    this.pdfViewer.fireFormFieldAddEvent('formFieldAdd', field, pageIndex);
                }
            }
            return element.template;
        };
        FormDesigner.prototype.getFormFieldAddEventArgs = function (drawingObject) {
            var field = {
                name: drawingObject.name, id: drawingObject.id, value: drawingObject.value, fontFamily: drawingObject.fontFamily,
                fontSize: drawingObject.fontSize, fontStyle: drawingObject.fontStyle,
                color: drawingObject.color, backgroundColor: drawingObject.backgroundColor, alignment: drawingObject.alignment,
                isReadonly: drawingObject.isReadonly, visibility: drawingObject.visibility,
                maxLength: drawingObject.maxLength, isRequired: drawingObject.isRequired, isPrint: drawingObject.isPrint,
                rotation: drawingObject.rotateAngle, tooltip: drawingObject.tooltip,
                borderColor: drawingObject.borderColor, thickness: drawingObject.thickness, options: drawingObject.options,
                pageNumber: drawingObject.pageNumber, isChecked: drawingObject.isChecked,
                isSelected: drawingObject.isSelected, customData: drawingObject.customData, bounds: drawingObject.bounds,
                formFieldAnnotationType: drawingObject.formFieldAnnotationType, isMultiline: drawingObject.isMultiline,
                insertSpaces: drawingObject.insertSpaces
            };
            return field;
        };
        FormDesigner.prototype.updateFormDesignerFieldInSessionStorage = function (point, element, formFieldType, drawingObject) {
            var zoomValue = this.pdfViewerBase.getZoomFactor();
            var formDesignObj = {
                id: element.id, lineBound: { X: point.x * zoomValue, Y: point.y * zoomValue, Width: element.actualSize.width * zoomValue,
                    Height: element.actualSize.height * zoomValue },
                name: drawingObject.name, zoomValue: zoomValue, pageNumber: drawingObject.pageNumber, value: drawingObject.value,
                formFieldAnnotationType: formFieldType, isMultiline: drawingObject.isMultiline,
                signatureType: drawingObject.signatureType, signatureBound: drawingObject.signatureBound,
                fontFamily: drawingObject.fontFamily, fontSize: drawingObject.fontSize, fontStyle: drawingObject.fontStyle,
                fontColor: this.getRgbCode(drawingObject.color),
                borderColor: this.getRgbCode(drawingObject.borderColor), thickness: drawingObject.thickness,
                backgroundColor: this.getRgbCode(drawingObject.backgroundColor),
                textAlign: drawingObject.alignment, isChecked: drawingObject.isChecked, isSelected: drawingObject.isSelected,
                isReadonly: drawingObject.isReadonly, font: {
                    isBold: drawingObject.font.isBold, isItalic: drawingObject.font.isItalic, isStrikeout: drawingObject.font.isStrikeout,
                    isUnderline: drawingObject.font.isUnderline
                }, selectedIndex: drawingObject.selectedIndex, radiobuttonItem: null,
                option: drawingObject.options ? drawingObject.options : [], visibility: drawingObject.visibility,
                maxLength: drawingObject.maxLength, isRequired: drawingObject.isRequired, isPrint: drawingObject.isPrint,
                rotation: drawingObject.rotateAngle, tooltip: drawingObject.tooltip,
                insertSpaces: drawingObject.insertSpaces, customData: drawingObject.customData,
                isUnisonSelected: drawingObject.isUnisonSelected
            };
            if (formDesignObj.formFieldAnnotationType === 'RadioButton') {
                formDesignObj.radiobuttonItem = [];
                formDesignObj.radiobuttonItem.push({
                    id: element.id, lineBound: { X: point.x * zoomValue, Y: point.y * zoomValue,
                        Width: element.actualSize.width * zoomValue, Height: element.actualSize.height * zoomValue },
                    name: drawingObject.name, zoomValue: zoomValue, pageNumber: drawingObject.pageNumber,
                    value: drawingObject.value, formFieldAnnotationType: formFieldType,
                    fontFamily: drawingObject.fontFamily, fontSize: drawingObject.fontSize, fontStyle: drawingObject.fontStyle,
                    fontColor: this.getRgbCode(drawingObject.color),
                    borderColor: this.getRgbCode(drawingObject.borderColor), thickness: drawingObject.thickness,
                    backgroundColor: this.getRgbCode(drawingObject.backgroundColor),
                    textAlign: drawingObject.alignment, isChecked: drawingObject.isChecked, isSelected: drawingObject.isSelected,
                    isReadonly: drawingObject.isReadonly, visibility: drawingObject.visibility,
                    maxLength: drawingObject.maxLength, isRequired: drawingObject.isRequired, isPrint: drawingObject.isPrint,
                    rotation: 0, tooltip: drawingObject.tooltip, isUnisonSelected: drawingObject.isUnisonSelected
                });
            }
            var isItemAdd = this.getRadioButtonItem(formDesignObj, drawingObject);
            if (!isItemAdd) {
                for (var i = 0; i < this.pdfViewerBase.formFieldCollection.length; i++) {
                    var formFieldElement = this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)];
                    if (formFieldElement['Key'] === formDesignObj.id) {
                        this.pdfViewerBase.formFieldCollection.splice(i, 1);
                        this.pdfViewerBase.formFieldCollection.push({ Key: element.id, FormField: formDesignObj });
                        this.isFormFieldExistingInCollection = true;
                    }
                }
                if (!this.isFormFieldExistingInCollection) {
                    this.pdfViewerBase.formFieldCollection.push({ Key: element.id, FormField: formDesignObj });
                }
                this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
                this.isFormFieldExistingInCollection = false;
                if (this.pdfViewerBase.formFieldCollection.length > 0) {
                    this.pdfViewerBase.enableFormFieldButton(true);
                }
                else {
                    this.pdfViewerBase.enableFormFieldButton(false);
                }
            }
        };
        FormDesigner.prototype.getRadioButtonItem = function (radiobutton, formFieldProperty) {
            var data = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
            var isItemAdd = false;
            if (data) {
                var formFieldsData = JSON.parse(data);
                for (var i = 0; i < formFieldsData.length; i++) {
                    var currentData = formFieldsData[parseInt(i.toString(), 10)];
                    var radiobuttonItem = void 0;
                    if (radiobutton.formFieldAnnotationType === 'RadioButton') {
                        if (radiobutton.radiobuttonItem && currentData.FormField.radiobuttonItem) {
                            for (var m = 0; m < currentData.FormField.radiobuttonItem.length; m++) {
                                if (currentData.FormField.radiobuttonItem[parseInt(m.toString(), 10)].id === radiobutton.id) {
                                    radiobuttonItem = {
                                        lineBound: radiobutton.lineBound, id: radiobutton.id,
                                        name: radiobutton.name, zoomValue: radiobutton.zoomValue, pageNumber: radiobutton.pageNumber,
                                        value: radiobutton.value, formFieldAnnotationType: radiobutton.formFieldAnnotationType,
                                        fontFamily: radiobutton.fontFamily, fontSize: radiobutton.fontSize,
                                        fontStyle: radiobutton.fontStyle, fontColor: this.getRgbCode(formFieldProperty.color),
                                        borderColor: this.getRgbCode(formFieldProperty.borderColor),
                                        thickness: formFieldProperty.thickness,
                                        backgroundColor: this.getRgbCode(formFieldProperty.backgroundColor),
                                        textAlign: radiobutton.textAlign, isChecked: radiobutton.isChecked,
                                        isSelected: radiobutton.isSelected,
                                        isReadonly: radiobutton.isReadonly, visibility: radiobutton.visibility,
                                        maxLength: radiobutton.maxLength, isRequired: radiobutton.isRequired, isPrint: radiobutton.isPrint,
                                        rotation: 0, tooltip: radiobutton.tooltip, isUnisonSelected: radiobutton.isUnisonSelected
                                    };
                                    currentData.FormField.radiobuttonItem.splice(m, 1);
                                    currentData.FormField.radiobuttonItem.push(radiobuttonItem);
                                    if (!ej2_base_2.isNullOrUndefined(this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)])) {
                                        if (this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.name ===
                                            currentData.FormField.name) {
                                            this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.radiobuttonItem =
                                                currentData.FormField.radiobuttonItem;
                                            isItemAdd = true;
                                        }
                                    }
                                    break;
                                }
                                else {
                                    if (radiobutton.formFieldAnnotationType === currentData.FormField.formFieldAnnotationType &&
                                        radiobutton.name === currentData.FormField.name) {
                                        radiobuttonItem = {
                                            lineBound: radiobutton.lineBound, id: radiobutton.id,
                                            name: radiobutton.name, zoomValue: radiobutton.zoomValue, pageNumber: radiobutton.pageNumber,
                                            value: radiobutton.value, formFieldAnnotationType: radiobutton.formFieldAnnotationType,
                                            fontFamily: radiobutton.fontFamily, fontSize: radiobutton.fontSize,
                                            fontStyle: radiobutton.fontStyle, fontColor: this.getRgbCode(formFieldProperty.color),
                                            borderColor: this.getRgbCode(formFieldProperty.borderColor),
                                            thickness: formFieldProperty.thickness,
                                            backgroundColor: this.getRgbCode(formFieldProperty.backgroundColor),
                                            textAlign: radiobutton.textAlign, isChecked: radiobutton.isChecked,
                                            isSelected: radiobutton.isSelected,
                                            isReadonly: radiobutton.isReadonly, visibility: radiobutton.visibility,
                                            maxLength: radiobutton.maxLength, isRequired: radiobutton.isRequired,
                                            isPrint: radiobutton.isPrint, rotation: 0, tooltip: radiobutton.tooltip
                                        };
                                        var isContainsRadiobuttonItem = false;
                                        for (var i_1 = 0; i_1 < currentData.FormField.radiobuttonItem.length; i_1++) {
                                            if (currentData.FormField.radiobuttonItem[parseInt(i_1.toString(), 10)].id === radiobuttonItem.id) {
                                                currentData.FormField.radiobuttonItem[parseInt(i_1.toString(), 10)] = radiobuttonItem;
                                                isContainsRadiobuttonItem = true;
                                                break;
                                            }
                                        }
                                        if (!isContainsRadiobuttonItem) {
                                            currentData.FormField.radiobuttonItem.push(radiobuttonItem);
                                        }
                                        if (!ej2_base_2.isNullOrUndefined(this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)])) {
                                            this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.radiobuttonItem =
                                                currentData.FormField.radiobuttonItem;
                                            isItemAdd = true;
                                            for (var l = 0; l < this.pdfViewerBase.formFieldCollection.length; l++) {
                                                var formFieldElement = this.pdfViewerBase.formFieldCollection[parseInt(l.toString(), 10)];
                                                if (formFieldElement['Key'] === radiobuttonItem.id) {
                                                    this.pdfViewerBase.formFieldCollection.splice(l, 1);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                if (isItemAdd) {
                    this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
                }
            }
            return isItemAdd;
        };
        FormDesigner.prototype.getRgbCode = function (colorString) {
            if (!colorString.match(/#([a-z0-9]+)/gi) && !colorString.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/)) {
                var colorCode = this.nameToHash(colorString);
                if (colorCode !== '') {
                    colorString = colorCode;
                }
            }
            var stringArray = colorString.split(',');
            if (ej2_base_2.isNullOrUndefined(stringArray[1])) {
                colorString = this.getValue(colorString, 'rgba');
                stringArray = colorString.split(',');
            }
            var r = parseInt(stringArray[0].split('(')[1], 10);
            var g = parseInt(stringArray[1], 10);
            var b = parseInt(stringArray[2], 10);
            var a = parseFloat(stringArray[3]) * 100;
            if (isNaN(a)) {
                a = 0;
            }
            return { r: r, g: g, b: b, a: a };
        };
        FormDesigner.prototype.nameToHash = function (colour) {
            var colours = {
                'aliceblue': '#f0f8ff', 'antiquewhite': '#faebd7', 'aqua': '#00ffff', 'aquamarine': '#7fffd4', 'azure': '#f0ffff',
                'beige': '#f5f5dc', 'bisque': '#ffe4c4', 'black': '#000000', 'blanchedalmond': '#ffebcd', 'blue': '#0000ff',
                'blueviolet': '#8a2be2', 'brown': '#a52a2a', 'burlywood': '#deb887', 'yellow': '#ffff00', 'yellowgreen': '#9acd32',
                'cadetblue': '#5f9ea0', 'chartreuse': '#7fff00', 'chocolate': '#d2691e', 'coral': '#ff7f50',
                'cornflowerblue': '#6495ed', 'cornsilk': '#fff8dc', 'crimson': '#dc143c',
                'cyan': '#00ffff', 'darkblue': '#00008b', 'darkcyan': '#008b8b', 'darkgoldenrod': '#b8860b', 'darkgray': '#a9a9a9',
                'darkred': '#8b0000', 'darksalmon': '#e9967a', 'darkgreen': '#006400', 'darkkhaki': '#bdb76b',
                'darkmagenta': '#8b008b', 'darkolivegreen': '#556b2f', 'darkorange': '#ff8c00', 'darkorchid': '#9932cc',
                'darkseagreen': '#8fbc8f', 'darkslateblue': '#483d8b', 'darkslategray': '#2f4f4f', 'darkturquoise': '#00ced1',
                'darkviolet': '#9400d3', 'deeppink': '#ff1493', 'deepskyblue': '#00bfff', 'dimgray': '#696969',
                'dodgerblue': '#1e90ff', 'firebrick': '#b22222', 'floralwhite': '#fffaf0',
                'forestgreen': '#228b22', 'fuchsia': '#ff00ff', 'gainsboro': '#dcdcdc', 'ghostwhite': '#f8f8ff',
                'gold': '#ffd700', 'goldenrod': '#daa520', 'gray': '#808080', 'green': '#008000',
                'greenyellow': '#adff2f', 'honeydew': '#f0fff0', 'hotpink': '#ff69b4', 'indianred ': '#cd5c5c',
                'mediumorchid': '#ba55d3', 'mediumpurple': '#9370d8', 'indigo': '#4b0082', 'ivory': '#fffff0',
                'navy': '#000080', 'oldlace': '#fdf5e6', 'olive': '#808000', 'khaki': '#f0e68c',
                'lavender': '#e6e6fa', 'lavenderblush': '#fff0f5', 'lawngreen': '#7cfc00', 'lemonchiffon': '#fffacd',
                'lightblue': '#add8e6', 'lightcoral': '#f08080', 'lightcyan': '#e0ffff',
                'lightgoldenrodyellow': '#fafad2', 'lightgrey': '#d3d3d3', 'lightgreen': '#90ee90',
                'lightpink': '#ffb6c1', 'lightsalmon': '#ffa07a', 'lightseagreen': '#20b2aa',
                'lightskyblue': '#87cefa', 'lightslategray': '#778899', 'lightsteelblue': '#b0c4de',
                'lightyellow': '#ffffe0', 'lime': '#00ff00', 'limegreen': '#32cd32', 'linen': '#faf0e6',
                'magenta': '#ff00ff', 'maroon': '#800000', 'mediumaquamarine': '#66cdaa', 'mediumblue': '#0000cd',
                'mediumseagreen': '#3cb371', 'mediumslateblue': '#7b68ee', 'mediumspringgreen': '#00fa9a',
                'mediumturquoise': '#48d1cc', 'mediumvioletred': '#c71585', 'midnightblue': '#191970',
                'mintcream': '#f5fffa', 'mistyrose': '#ffe4e1', 'moccasin': '#ffe4b5', 'navajowhite': '#ffdead',
                'rebeccapurple': '#663399', 'red': '#ff0000', 'rosybrown': '#bc8f8f', 'royalblue': '#4169e1',
                'olivedrab': '#6b8e23', 'orange': '#ffa500', 'orangered': '#ff4500', 'orchid': '#da70d6',
                'palegoldenrod': '#eee8aa', 'palegreen': '#98fb98', 'paleturquoise': '#afeeee',
                'palevioletred': '#d87093', 'papayawhip': '#ffefd5', 'peachpuff': '#ffdab9', 'peru': '#cd853f',
                'wheat': '#f5deb3', 'white': '#ffffff', 'whitesmoke': '#f5f5f5', 'pink': '#ffc0cb', 'plum': '#dda0dd',
                'steelblue': '#4682b4', 'violet': '#ee82ee', 'powderblue': '#b0e0e6', 'purple': '#800080',
                'saddlebrown': '#8b4513', 'salmon': '#fa8072', 'sandybrown': '#f4a460', 'seagreen': '#2e8b57',
                'seashell': '#fff5ee', 'sienna': '#a0522d', 'silver': '#c0c0c0', 'skyblue': '#87ceeb',
                'slateblue': '#6a5acd', 'slategray': '#708090', 'snow': '#fffafa', 'springgreen': '#00ff7f',
                'tan': '#d2b48c', 'teal': '#008080', 'thistle': '#d8bfd8', 'tomato': '#ff6347', 'turquoise': '#40e0d0'
            };
            if (typeof colours[colour.toLowerCase()] !== 'undefined') {
                return colours[colour.toLowerCase()];
            }
            return '';
        };
        FormDesigner.prototype.getValue = function (value, type) {
            type = !type ? 'hex' : type.toLowerCase();
            if (value[0] === 'r') {
                var cValue = this.convertRgbToNumberArray(value);
                if (type === 'hex' || type === 'hexa') {
                    var hex = this.rgbToHex(cValue);
                    return type === 'hex' ? hex.slice(0, 7) : hex;
                }
                else {
                    if (type === 'hsv') {
                        return this.convertToHsvString(this.rgbToHsv.apply(this, cValue.slice(0, 3)));
                    }
                    else {
                        if (type === 'hsva') {
                            return this.convertToHsvString(this.rgbToHsv.apply(this, cValue));
                        }
                        else {
                            return 'null';
                        }
                    }
                }
            }
            else {
                if (value[0] === 'h') {
                    var cValue = this.hsvToRgb.apply(this, this.convertRgbToNumberArray(value));
                    if (type === 'rgba') {
                        return this.convertToRgbString(cValue);
                    }
                    else {
                        if (type === 'hex' || type === 'hexa') {
                            var hex = this.rgbToHex(cValue);
                            return type === 'hex' ? hex.slice(0, 7) : hex;
                        }
                        else {
                            if (type === 'rgb') {
                                return this.convertToRgbString(cValue.slice(0, 3));
                            }
                            else {
                                return 'null';
                            }
                        }
                    }
                }
                else {
                    value = this.roundValue(value);
                    var rgb = this.hexToRgb(value);
                    if (type === 'rgb' || type === 'hsv') {
                        rgb = rgb.slice(0, 3);
                    }
                    if (type === 'rgba' || type === 'rgb') {
                        return this.convertToRgbString(rgb);
                    }
                    else {
                        if (type === 'hsva' || type === 'hsv') {
                            return this.convertToHsvString(this.rgbToHsv.apply(this, rgb));
                        }
                        else {
                            if (type === 'hex') {
                                return value.slice(0, 7);
                            }
                            else {
                                if (type === 'a') {
                                    return rgb[3].toString();
                                }
                                else {
                                    return 'null';
                                }
                            }
                        }
                    }
                }
            }
        };
        FormDesigner.prototype.convertRgbToNumberArray = function (value) {
            return (value.slice(value.indexOf('(') + 1, value.indexOf(')'))).split(',').map(function (n, i) {
                return (i !== 3) ? parseInt(n, 10) : parseFloat(n);
            });
        };
        FormDesigner.prototype.convertToRgbString = function (rgb) {
            return rgb.length ? rgb.length === 4 ? 'rgba(' + rgb.join() + ')' : 'rgb(' + rgb.join() + ')' : '';
        };
        FormDesigner.prototype.convertToHsvString = function (hsv) {
            return hsv.length === 4 ? 'hsva(' + hsv.join() + ')' : 'hsv(' + hsv.join() + ')';
        };
        FormDesigner.prototype.roundValue = function (value) {
            if (!value) {
                return '';
            }
            if (value[0] !== '#') {
                value = '#' + value;
            }
            var len = value.length;
            if (len === 4) {
                value += 'f';
                len = 5;
            }
            if (len === 5) {
                var tempValue = '';
                for (var i = 1, len_1 = value.length; i < len_1; i++) {
                    tempValue += (value.charAt(i) + value.charAt(i));
                }
                value = '#' + tempValue;
                len = 9;
            }
            if (len === 7) {
                value += 'ff';
            }
            return value;
        };
        FormDesigner.prototype.hexToRgb = function (hex) {
            if (!hex) {
                return [];
            }
            hex = hex.trim();
            if (hex.length !== 9) {
                hex = this.roundValue(hex);
            }
            var opacity = Number((parseInt(hex.slice(-2), 16) / 255).toFixed(2));
            hex = hex.slice(1, 7);
            var bigInt = parseInt(hex, 16);
            var h = [];
            h.push((bigInt >> 16) & 255);
            h.push((bigInt >> 8) & 255);
            h.push(bigInt & 255);
            h.push(opacity);
            return h;
        };
        FormDesigner.prototype.rgbToHsv = function (r, g, b, opacity) {
            r /= 255;
            g /= 255;
            b /= 255;
            var max = Math.max(r, g, b);
            var min = Math.min(r, g, b);
            var h;
            var v = max;
            var d = max - min;
            var s = max === 0 ? 0 : d / max;
            if (max === min) {
                h = 0;
            }
            else {
                switch (max) {
                    case r:
                        h = (g - b) / d + (g < b ? 6 : 0);
                        break;
                    case g:
                        h = (b - r) / d + 2;
                        break;
                    case b:
                        h = (r - g) / d + 4;
                        break;
                }
                h /= 6;
            }
            var hsv = [Math.round(h * 360), Math.round(s * 1000) / 10, Math.round(v * 1000) / 10];
            if (!ej2_base_2.isNullOrUndefined(opacity)) {
                hsv.push(opacity);
            }
            return hsv;
        };
        FormDesigner.prototype.hsvToRgb = function (h, s, v, opacity) {
            var r;
            var g;
            var b;
            s /= 100;
            v /= 100;
            if (s === 0) {
                r = g = b = v;
                return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255), opacity];
            }
            h /= 60;
            var i = Math.floor(h);
            var f = h - i;
            var p = v * (1 - s);
            var q = v * (1 - s * f);
            var t = v * (1 - s * (1 - f));
            switch (i) {
                case 0:
                    r = v;
                    g = t;
                    b = p;
                    break;
                case 1:
                    r = q;
                    g = v;
                    b = p;
                    break;
                case 2:
                    r = p;
                    g = v;
                    b = t;
                    break;
                case 3:
                    r = p;
                    g = q;
                    b = v;
                    break;
                case 4:
                    r = t;
                    g = p;
                    b = v;
                    break;
                default:
                    r = v;
                    g = p;
                    b = q;
            }
            var rgb = [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];
            if (!ej2_base_2.isNullOrUndefined(opacity)) {
                rgb.push(opacity);
            }
            return rgb;
        };
        FormDesigner.prototype.rgbToHex = function (rgb) {
            return rgb.length ? ('#' + this.hex(rgb[0]) + this.hex(rgb[1]) + this.hex(rgb[2]) +
                (!ej2_base_2.isNullOrUndefined(rgb[3]) ? (rgb[3] !== 0 ? (Math.round(rgb[3] * 255) + 0x10000).toString(16).slice(-2) : '00') : '')) : '';
        };
        FormDesigner.prototype.updateCanvas = function (pageNumber, canvas) {
            if (ej2_base_2.isNullOrUndefined(canvas)) {
                canvas = this.pdfViewerBase.getAnnotationCanvas('_annotationCanvas_', pageNumber);
                var zoom = this.pdfViewerBase.getZoomFactor();
                var ratio = this.pdfViewerBase.getZoomRatio(zoom);
                if (canvas) {
                    var width = this.pdfViewerBase.pageSize[parseInt(pageNumber.toString(), 10)].width;
                    var height = this.pdfViewerBase.pageSize[parseInt(pageNumber.toString(), 10)].height;
                    canvas.width = width * ratio;
                    canvas.height = height * ratio;
                    canvas.style.width = width * zoom + 'px';
                    canvas.style.height = height * zoom + 'px';
                }
            }
            this.pdfViewer.drawing.refreshCanvasDiagramLayer(canvas, pageNumber);
        };
        FormDesigner.prototype.rerenderFormFields = function (pageIndex) {
            var _this = this;
            var zoomValue = this.pdfViewerBase.getZoomFactor();
            var data = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
            var signatureValueRender = false;
            if (data) {
                var formFieldsData = JSON.parse(data);
                if (formFieldsData[0] === '[') {
                    formFieldsData = JSON.parse(formFieldsData);
                }
                var textLayer = document.getElementById(this.pdfViewer.element.id + '_textLayer_' + pageIndex);
                var canvasElement = document.getElementById(this.pdfViewer.element.id + '_pageCanvas_' + pageIndex);
                if (formFieldsData !== null && canvasElement !== null && textLayer !== null) {
                    var _loop_1 = function (i) {
                        var currentData = formFieldsData[parseInt(i.toString(), 10)].FormField;
                        var isRadioButtonItem = void 0;
                        if (currentData) {
                            isRadioButtonItem = this_1.isRadioButton(currentData, pageIndex);
                        }
                        if (currentData.pageNumber === pageIndex + 1 || isRadioButtonItem) {
                            var domElementId = document.getElementById('form_field_' + currentData.id + '_html_element');
                            if (!domElementId) {
                                var signatureField = this_1.pdfViewer.nameTable[formFieldsData[parseInt(i.toString(), 10)].Key.split('_')[0]];
                                var element_1 = signatureField.wrapper.children[0];
                                var obj = this_1.pdfViewer.formFieldCollections.filter(function (field) { return currentData.id.split('_')[0] === field.id; });
                                if (element_1 && obj.length > 0 && obj[0].visibility === 'visible') {
                                    if (currentData.formFieldAnnotationType === 'RadioButton') {
                                        for (var j = 0; j < currentData.radiobuttonItem.length; j++) {
                                            signatureField = this_1.pdfViewer.nameTable[currentData.radiobuttonItem[parseInt(j.toString(), 10)].id.split('_')[0]];
                                            element_1 = signatureField.wrapper.children[0];
                                            currentData.radiobuttonItem[parseInt(j.toString(), 10)] =
                                                this_1.renderFormFieldsInZooming(element_1, currentData.radiobuttonItem[parseInt(j.toString(), 10)], signatureField, zoomValue);
                                            this_1.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].
                                                FormField.radiobuttonItem[parseInt(j.toString(), 10)].lineBound =
                                                currentData.radiobuttonItem[parseInt(j.toString(), 10)].lineBound;
                                            this_1.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].
                                                FormField.radiobuttonItem[parseInt(j.toString(), 10)].zoomValue = zoomValue;
                                        }
                                    }
                                    else {
                                        var filteredField = this_1.pdfViewerBase.formFieldCollection.filter(function (field) {
                                            return field.FormField.id === currentData.id;
                                        });
                                        if (currentData && currentData.value === '') {
                                            currentData.value = filteredField[0] ? filteredField[0].FormField.value : '';
                                            currentData.signatureType = filteredField[0] ? filteredField[0].FormField.signatureType : '';
                                        }
                                        if (!ej2_base_2.isNullOrUndefined(currentData)) {
                                            currentData.visibility = obj[0].visibility;
                                            filteredField[0].FormField.visibility = obj[0].visibility;
                                        }
                                        var zoomCurrentData = this_1.renderFormFieldsInZooming(element_1, currentData, signatureField, zoomValue);
                                        if (currentData.formFieldAnnotationType === 'SignatureField' || currentData.formFieldAnnotationType === 'InitialField') {
                                            var proxy_1 = this_1;
                                            formFieldsData.filter(function (item) {
                                                if (item.FormField.name === currentData.name && item.FormField.id !== currentData.id && !ej2_base_2.isNullOrUndefined(proxy_1.pdfViewer.nameTable[item.FormField.id]) && proxy_1.pdfViewer.nameTable[item.FormField.id].value !== '') {
                                                    currentData.value = proxy_1.pdfViewer.nameTable[item.FormField.id].value;
                                                    currentData.signatureType = item.FormField.signatureType === 'Text' ? 'Type' : item.FormField.signatureType;
                                                    if (currentData.value !== '') {
                                                        currentData.signatureBound = item.FormField.signatureBound;
                                                    }
                                                }
                                            });
                                            if ((ej2_base_2.isNullOrUndefined(proxy_1.pdfViewer.nameTable[currentData.id])
                                                || proxy_1.pdfViewer.nameTable[currentData.id].value === '') && currentData.value !== '') {
                                                if (this_1.pdfViewer.formFieldsModule) {
                                                    this_1.pdfViewer.formFieldsModule.drawSignature(currentData.signatureType, currentData.value, currentData);
                                                }
                                                signatureValueRender = true;
                                            }
                                        }
                                        currentData.lineBound = zoomCurrentData.lineBound;
                                        if (currentData.signatureBound) {
                                            currentData.signatureBound = zoomCurrentData.signatureBound;
                                            this_1.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.signatureBound =
                                                currentData.signatureBound;
                                            if ((currentData.formFieldAnnotationType === 'SignatureField' || currentData.formFieldAnnotationType === 'InitialField') && currentData.signatureType === 'Image' && signatureValueRender) {
                                                setTimeout(function () {
                                                    if (!ej2_base_2.isNullOrUndefined(_this.pdfViewer.nameTable[element_1.id.split('_')[0] + '_content'])) {
                                                        _this.pdfViewer.nameTable[element_1.id.split('_')[0] + '_content'].signatureBound = currentData.signatureBound;
                                                    }
                                                }, 10);
                                            }
                                            else {
                                                if (!ej2_base_2.isNullOrUndefined(this_1.pdfViewer.nameTable[element_1.id.split('_')[0] + '_content'])) {
                                                    this_1.pdfViewer.nameTable[element_1.id.split('_')[0] + '_content'].signatureBound = currentData.signatureBound;
                                                }
                                            }
                                        }
                                        this_1.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.lineBound =
                                            currentData.lineBound;
                                        this_1.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.zoomValue = zoomValue;
                                    }
                                }
                            }
                        }
                        if (this_1.pdfViewerBase.isFocusField && this_1.pdfViewerBase.focusField) {
                            var currentField = document.getElementById(this_1.pdfViewerBase.focusField.id);
                            if (currentField) {
                                if ((this_1.pdfViewerBase.focusField.type === 'SignatureField' || this_1.pdfViewerBase.focusField.type === 'InitialField') && this_1.pdfViewer.formDesignerModule) {
                                    currentField.parentElement.focus();
                                }
                                else {
                                    currentField.focus();
                                }
                                this_1.pdfViewerBase.isFocusField = false;
                                this_1.pdfViewerBase.focusField = [];
                            }
                        }
                    };
                    var this_1 = this;
                    for (var i = 0; i < formFieldsData.length; i++) {
                        _loop_1(i);
                    }
                    this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
                }
            }
        };
        FormDesigner.prototype.isRadioButton = function (currentData, currentPageIndex) {
            if (currentData && currentData.formFieldAnnotationType === 'RadioButton' &&
                Array.isArray(currentData.radiobuttonItem) &&
                currentData.radiobuttonItem.length > 0) {
                for (var i = 0; i < currentData.radiobuttonItem.length; i++) {
                    if (currentData.radiobuttonItem[parseInt(i.toString(), 10)].pageNumber === currentPageIndex + 1) {
                        return true;
                    }
                }
                return false;
            }
            else {
                return false;
            }
        };
        FormDesigner.prototype.renderFormFieldsInZooming = function (element, currentData, signatureField, zoomValue) {
            if (element) {
                var parentHtmlElementAttribute = {
                    'id': 'form_field_' + element.id + '_html_element',
                    'class': 'foreign-object'
                };
                var parentHtmlElement = this.createHtmlElement('div', parentHtmlElementAttribute);
                var HtmlElementAttribute = {
                    'id': element.id + '_html_element',
                    'class': 'foreign-object'
                };
                var htmlElement = this.createHtmlElement('div', HtmlElementAttribute);
                if (!ej2_base_2.isNullOrUndefined(currentData)) {
                    signatureField.visibility = currentData.visibility;
                }
                if (currentData.formFieldAnnotationType === 'SignatureField' || currentData.formFieldAnnotationType === 'InitialField') {
                    this.disableSignatureClickEvent = true;
                    signatureField.value = currentData.value;
                    signatureField.signatureType = currentData.signatureType;
                    signatureField.signatureBound = currentData.signatureBound;
                    element.template = htmlElement.appendChild(this.createSignatureDialog(this.pdfViewer, signatureField));
                    this.disableSignatureClickEvent = false;
                }
                else if (currentData.formFieldAnnotationType === 'DropdownList') {
                    element.template = htmlElement.appendChild(this.createDropDownList(element, signatureField));
                }
                else if (currentData.formFieldAnnotationType === 'ListBox') {
                    element.template = htmlElement.appendChild(this.createListBox(element, signatureField));
                }
                else {
                    element.template = htmlElement.appendChild(this.createInputElement(currentData.formFieldAnnotationType, signatureField));
                }
                var divElement = document.createElement('div');
                divElement.id = signatureField.id + '_designer_name';
                if (zoomValue > 0.5) {
                    divElement.style.fontSize = this.defaultFontSize + 'px';
                }
                else {
                    divElement.style.fontSize = '6px';
                }
                divElement.className = 'e-pv-show-designer-name';
                if (this.pdfViewer.designerMode) {
                    divElement.innerHTML = signatureField.name;
                    divElement.style.position = 'absolute';
                }
                else {
                    divElement.innerHTML = '';
                    divElement.style.position = 'initial';
                }
                htmlElement.appendChild(divElement);
                parentHtmlElement.appendChild(htmlElement);
                var textLayer = document.getElementById(this.pdfViewer.element.id + '_textLayer_' + (currentData.pageNumber - 1));
                if (textLayer) {
                    textLayer.appendChild(parentHtmlElement);
                }
                if (signatureField.formFieldAnnotationType === 'RadioButton') {
                    if (document.getElementsByClassName('e-pv-radiobtn-span').length > 0) {
                    }
                }
                var point = ej2_drawings_1.cornersPointsBeforeRotation(signatureField.wrapper.children[0]).topLeft;
                if (currentData.formFieldAnnotationType === 'Checkbox' && (ej2_base_1.Browser.isDevice)) {
                    var outerDivHeight = element.actualSize.height + this.increasedSize;
                    var outerDivWidth = element.actualSize.width + this.increasedSize;
                    var outerDivAttribute = {
                        'id': element.id + '_outer_div',
                        'className': 'e-pv-checkbox-outer-div'
                    };
                    var outerDiv = ej2_base_1.createElement('div', outerDivAttribute);
                    outerDiv.style.cssText = "height: " + outerDivHeight * zoomValue + "px;width: " + outerDivWidth * zoomValue + "px;\n                left: " + point.x * zoomValue + "px;top: " + point.y * zoomValue + "px;position: absolute;opacity: 1;";
                    outerDiv.appendChild(parentHtmlElement);
                    outerDiv.addEventListener('click', this.setCheckBoxState.bind(this));
                    textLayer.appendChild(outerDiv);
                    htmlElement.style.cssText = "height: " + element.actualSize.height * zoomValue + "px;\n                width: " + element.actualSize.width * zoomValue + "px;left: " + point.x * zoomValue + "px;top: " + point.y * zoomValue + "px;\n                transform: rotate(" + (element.rotateAngle + element.parentTransform) + "deg);\n                pointer-events: " + (this.pdfViewer.designerMode ? 'none' : 'all') + ";visibility: " + (element.visible ? 'visible' : 'hidden') + ";\n                opacity: " + element.style.opacity + ";";
                }
                else {
                    htmlElement.style.cssText = "height: " + element.actualSize.height * zoomValue + "px;\n                width: " + element.actualSize.width * zoomValue + "px;left: " + point.x * zoomValue + "px;top: " + point.y * zoomValue + "px;\n                position: absolute;transform: rotate(" + (element.rotateAngle + element.parentTransform) + "deg);\n                pointer-events: " + (this.pdfViewer.designerMode ? 'none' : 'all') + ";visibility: " + (element.visible ? 'visible' : 'hidden') + ";\n                opacity: " + element.style.opacity + ";";
                }
                currentData.lineBound = { X: point.x * zoomValue, Y: point.y * zoomValue, Width: element.actualSize.width *
                        zoomValue, Height: element.actualSize.height * zoomValue };
                if (currentData.signatureBound && signatureField.wrapper.children[1]) {
                    var signPoint = signatureField.wrapper.children[1].bounds;
                    currentData.signatureBound.x = signPoint.x * zoomValue;
                    currentData.signatureBound.y = signPoint.y * zoomValue;
                    currentData.signatureBound.width = signPoint.width * zoomValue;
                    currentData.signatureBound.height = signPoint.height * zoomValue;
                }
            }
            return currentData;
        };
        FormDesigner.prototype.updateFormFieldInitialSize = function (obj, formFieldAnnotationType) {
            var zoomValue = this.pdfViewerBase.getZoomFactor();
            switch (formFieldAnnotationType) {
                case 'Textbox':
                    obj.width = 200 * zoomValue;
                    obj.height = 24 * zoomValue;
                    break;
                case 'PasswordField':
                    obj.width = 200 * zoomValue;
                    obj.height = 24 * zoomValue;
                    break;
                case 'SignatureField':
                case 'InitialField':
                    obj.width = 200 * zoomValue;
                    obj.height = 63 * zoomValue;
                    break;
                case 'Checkbox':
                    obj.width = 20 * zoomValue;
                    obj.height = 20 * zoomValue;
                    break;
                case 'RadioButton':
                    obj.width = 20 * zoomValue;
                    obj.height = 20 * zoomValue;
                    break;
                case 'DropdownList':
                    obj.width = 200 * zoomValue;
                    obj.height = 24 * zoomValue;
                    break;
                case 'ListBox':
                    obj.width = 198 * zoomValue;
                    obj.height = 66 * zoomValue;
                    break;
            }
            return { width: obj.width, height: obj.height };
        };
        FormDesigner.prototype.updateHTMLElement = function (actualObject) {
            var element = actualObject.wrapper.children[0];
            var zoomValue = this.pdfViewerBase.getZoomFactor();
            if (element) {
                var htmlElement = document.getElementById(element.id + '_html_element');
                if (!ej2_base_2.isNullOrUndefined(htmlElement)) {
                    var point = ej2_drawings_1.cornersPointsBeforeRotation(actualObject.wrapper.children[0]).topLeft;
                    htmlElement.style.cssText = "height: " + element.actualSize.height * zoomValue + "px;\n                width: " + element.actualSize.width * zoomValue + "px;left: " + point.x * zoomValue + "px;top: " + point.y * zoomValue + "px;\n                position: absolute;transform: rotate(" + (element.rotateAngle + element.parentTransform) + "deg);\n                pointer-events: " + (this.pdfViewer.designerMode ? 'none' : 'all') + ";visibility: " + (element.visible ? 'visible' : 'hidden') + ";\n                opacity: " + element.style.opacity + ";";
                    var data = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
                    if (actualObject.formFieldAnnotationType === 'RadioButton') {
                        var labelContainer = htmlElement.firstElementChild.firstElementChild;
                        var spanElement = htmlElement.firstElementChild.firstElementChild.lastElementChild;
                        if (element.actualSize.width > element.actualSize.height) {
                            htmlElement.firstElementChild.style.display = 'inherit';
                            labelContainer.style.width = labelContainer.style.height = (element.actualSize.height * zoomValue) + 'px';
                            spanElement.style.width = spanElement.style.height = (element.actualSize.height / 2) + 'px';
                        }
                        else {
                            htmlElement.firstElementChild.style.display = 'flex';
                            labelContainer.style.width = labelContainer.style.height = (element.actualSize.width * zoomValue) + 'px';
                            spanElement.style.width = spanElement.style.height = (element.actualSize.width / 2) + 'px';
                        }
                        if (zoomValue < 1 && labelContainer.style.width <= 20 && labelContainer.style.height <= 20) {
                            spanElement.style.margin = Math.round(parseInt(labelContainer.style.width, 10) / 3.5) + 'px';
                        }
                        else {
                            spanElement.style.margin = Math.round(parseInt(labelContainer.style.width, 10) / 4) + 'px';
                        }
                    }
                    if (actualObject.formFieldAnnotationType === 'Checkbox') {
                        var minCheckboxWidth = 20;
                        var labelContainer = htmlElement.firstElementChild.firstElementChild;
                        var spanElement = htmlElement.firstElementChild.firstElementChild.lastElementChild.firstElementChild;
                        if (element.actualSize.width > element.actualSize.height) {
                            htmlElement.firstElementChild.style.display = 'inherit';
                            labelContainer.style.width = labelContainer.style.height = (element.actualSize.height * zoomValue) + 'px';
                            spanElement.style.width = ((element.actualSize.height / 5) * zoomValue) + 'px';
                            spanElement.style.height = ((element.actualSize.height / 2.5) * zoomValue) + 'px';
                            spanElement.style.left = ((element.actualSize.height / 2.5) * zoomValue) + 'px';
                            spanElement.style.top = ((element.actualSize.height / 5) * zoomValue) + 'px';
                        }
                        else {
                            htmlElement.firstElementChild.style.display = 'flex';
                            labelContainer.style.width = labelContainer.style.height = (element.actualSize.width * zoomValue) + 'px';
                            spanElement.style.width = ((element.actualSize.width / 5) * zoomValue) + 'px';
                            spanElement.style.height = ((element.actualSize.width / 2.5) * zoomValue) + 'px';
                            spanElement.style.left = ((element.actualSize.width / 2.5) * zoomValue) + 'px';
                            spanElement.style.top = ((element.actualSize.width / 5) * zoomValue) + 'px';
                        }
                        if (spanElement.className.indexOf('e-pv-cb-checked') !== -1) {
                            var checkboxWidth = parseInt(labelContainer.style.width, 10);
                            if (checkboxWidth > minCheckboxWidth) {
                                spanElement.style.borderWidth = '3px';
                            }
                            else if (checkboxWidth <= 15) {
                                spanElement.style.borderWidth = '1px';
                            }
                            else {
                                spanElement.style.borderWidth = '2px';
                            }
                        }
                    }
                    if (actualObject.formFieldAnnotationType === 'SignatureField' || actualObject.formFieldAnnotationType === 'InitialField') {
                        var signatureDiv = htmlElement.firstElementChild.firstElementChild;
                        var indicatorSpan = signatureDiv.nextElementSibling;
                        var bounds = this.getBounds(indicatorSpan);
                        var options = {
                            height: element.actualSize.height,
                            width: element.actualSize.width,
                            signatureIndicatorSettings: {
                                text: indicatorSpan.textContent,
                                width: bounds.width,
                                height: bounds.height
                            },
                            initialIndicatorSettings: {
                                text: indicatorSpan.textContent,
                                width: bounds.width,
                                height: bounds.height
                            }
                        };
                        this.updateSignatureandInitialIndicator(actualObject, options, signatureDiv);
                    }
                    var formFieldsData = JSON.parse(data);
                    for (var i = 0; i < formFieldsData.length; i++) {
                        if (formFieldsData[parseInt(i.toString(), 10)].FormField.formFieldAnnotationType === 'RadioButton') {
                            for (var j = 0; j < formFieldsData[parseInt(i.toString(), 10)].FormField.radiobuttonItem.length; j++) {
                                if (element.id === formFieldsData[parseInt(i.toString(), 10)].
                                    FormField.radiobuttonItem[parseInt(j.toString(), 10)].id) {
                                    this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].
                                        FormField.radiobuttonItem[parseInt(j.toString(), 10)].lineBound =
                                        { X: point.x * zoomValue, Y: point.y * zoomValue, Width: element.actualSize.width *
                                                zoomValue, Height: element.actualSize.height * zoomValue };
                                    this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].
                                        FormField.radiobuttonItem[parseInt(j.toString(), 10)].zoomValue = zoomValue;
                                    break;
                                }
                            }
                        }
                        else {
                            if (formFieldsData[parseInt(i.toString(), 10)].Key === element.id) {
                                formFieldsData[parseInt(i.toString(), 10)].FormField.lineBound =
                                    { X: point.x * zoomValue, Y: point.y * zoomValue, Width: element.actualSize.width *
                                            zoomValue, Height: element.actualSize.height * zoomValue };
                                if (formFieldsData[parseInt(i.toString(), 10)].FormField.signatureBound) {
                                    var x = (point.x * zoomValue) + (element.actualSize.width * zoomValue) / 2;
                                    x = x - formFieldsData[parseInt(i.toString(), 10)].FormField.signatureBound.width / 2;
                                    var y = (point.y * zoomValue) + (element.actualSize.height * zoomValue) / 2;
                                    y = y - formFieldsData[parseInt(i.toString(), 10)].FormField.signatureBound.height / 2;
                                    formFieldsData[parseInt(i.toString(), 10)].FormField.signatureBound.x = x;
                                    formFieldsData[parseInt(i.toString(), 10)].FormField.signatureBound.y = y;
                                    this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.signatureBound =
                                        formFieldsData[parseInt(i.toString(), 10)].FormField.signatureBound;
                                    this.pdfViewer.nameTable[element.id.split('_')[0] + '_content'].signatureBound = formFieldsData[parseInt(i.toString(), 10)].FormField.signatureBound;
                                }
                                this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.lineBound =
                                    formFieldsData[parseInt(i.toString(), 10)].FormField.lineBound;
                            }
                        }
                    }
                    this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
                }
            }
        };
        FormDesigner.prototype.getCheckboxRadioButtonBounds = function (drawingObject, bounds, isPrint) {
            var zoomValue = isPrint ? this.defaultZoomValue : this.pdfViewerBase.getZoomFactor();
            var width = 0;
            var height = 0;
            var display = '';
            if (bounds) {
                if (bounds.width > bounds.height) {
                    width = height = bounds.height * zoomValue;
                    display = 'inherit';
                }
                else {
                    width = height = bounds.width * zoomValue;
                    display = 'flex';
                }
            }
            else if (drawingObject) {
                if (drawingObject.bounds.width > drawingObject.bounds.height) {
                    width = height = drawingObject.bounds.height * zoomValue;
                    display = 'inherit';
                }
                else {
                    width = height = drawingObject.bounds.width * zoomValue;
                    display = 'flex';
                }
            }
            return { width: width, height: height, display: display };
        };
        FormDesigner.prototype.updateSessionFormFieldProperties = function (updatedFormFields) {
            var zoomValue = this.pdfViewerBase.getZoomFactor();
            var element = updatedFormFields.wrapper.children[0];
            var data = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
            var formFieldsData = JSON.parse(data);
            if (!ej2_base_2.isNullOrUndefined(element)) {
                for (var i = 0; i < formFieldsData.length; i++) {
                    if (formFieldsData[parseInt(i.toString(), 10)].FormField.formFieldAnnotationType === 'RadioButton') {
                        for (var j = 0; j < formFieldsData[parseInt(i.toString(), 10)].FormField.radiobuttonItem.length; j++) {
                            if (element.id === formFieldsData[parseInt(i.toString(), 10)].
                                FormField.radiobuttonItem[parseInt(j.toString(), 10)].id) {
                                var radioButtonItemUpdate = {
                                    id: element.id, lineBound: {
                                        X: element.bounds.x * zoomValue, Y: element.bounds.y * zoomValue,
                                        Width: element.bounds.width * zoomValue, Height: element.bounds.height * zoomValue
                                    },
                                    name: updatedFormFields.name, zoomValue: zoomValue, pageNumber: updatedFormFields.pageNumber,
                                    value: updatedFormFields.value, formFieldAnnotationType: updatedFormFields.formFieldAnnotationType,
                                    fontFamily: updatedFormFields.fontFamily, fontSize: updatedFormFields.fontSize,
                                    fontStyle: updatedFormFields.fontStyle,
                                    fontColor: this.getRgbCode(updatedFormFields.color),
                                    backgroundColor: this.getRgbCode(updatedFormFields.backgroundColor),
                                    borderColor: this.getRgbCode(updatedFormFields.borderColor),
                                    thickness: updatedFormFields.thickness, textAlign: updatedFormFields.alignment,
                                    isChecked: updatedFormFields.isChecked, isSelected: updatedFormFields.isSelected,
                                    isReadonly: updatedFormFields.isReadonly, visibility: updatedFormFields.visibility,
                                    maxLength: updatedFormFields.maxLength, isRequired: updatedFormFields.isRequired,
                                    isPrint: updatedFormFields.isPrint, rotation: 0, tooltip: updatedFormFields.tooltip,
                                    isMultiline: updatedFormFields.isMultiline, insertSpaces: updatedFormFields.insertSpaces,
                                    isTransparent: updatedFormFields.isTransparent,
                                    zIndex: updatedFormFields.zIndex, customData: updatedFormFields.customData
                                };
                                formFieldsData[parseInt(i.toString(), 10)].FormField.radiobuttonItem[parseInt(j.toString(), 10)] =
                                    radioButtonItemUpdate;
                                if (this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)] &&
                                    this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField &&
                                    this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].
                                        FormField.radiobuttonItem[parseInt(j.toString(), 10)]) {
                                    this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].
                                        FormField.radiobuttonItem[parseInt(j.toString(), 10)] = radioButtonItemUpdate;
                                    this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].
                                        FormField.tooltip = radioButtonItemUpdate.tooltip;
                                }
                                break;
                            }
                        }
                    }
                    else if (formFieldsData[parseInt(i.toString(), 10)].Key === element.id) {
                        var formDesignObj = {
                            id: element.id, lineBound: {
                                X: element.bounds.x * zoomValue, Y: element.bounds.y * zoomValue,
                                Width: element.bounds.width * zoomValue, Height: element.bounds.height * zoomValue
                            },
                            name: updatedFormFields.name, zoomValue: zoomValue, pageNumber: updatedFormFields.pageNumber,
                            value: updatedFormFields.value, formFieldAnnotationType: updatedFormFields.formFieldAnnotationType,
                            fontFamily: updatedFormFields.fontFamily, fontSize: updatedFormFields.fontSize,
                            fontStyle: updatedFormFields.fontStyle, fontColor: this.getRgbCode(updatedFormFields.color),
                            backgroundColor: this.getRgbCode(updatedFormFields.backgroundColor),
                            borderColor: this.getRgbCode(updatedFormFields.borderColor),
                            thickness: updatedFormFields.thickness, textAlign: updatedFormFields.alignment,
                            isChecked: updatedFormFields.isChecked, isSelected: updatedFormFields.isSelected,
                            isReadonly: updatedFormFields.isReadonly, font: {
                                isBold: updatedFormFields.font.isBold,
                                isItalic: updatedFormFields.font.isItalic, isStrikeout: updatedFormFields.font.isStrikeout,
                                isUnderline: updatedFormFields.font.isUnderline
                            }, selectedIndex: updatedFormFields.selectedIndex,
                            radiobuttonItem: null, option: updatedFormFields.options ? updatedFormFields.options : [],
                            visibility: updatedFormFields.visibility, maxLength: updatedFormFields.maxLength,
                            isRequired: updatedFormFields.isRequired, isPrint: updatedFormFields.isPrint, rotation: 0,
                            tooltip: updatedFormFields.tooltip,
                            isMultiline: updatedFormFields.isMultiline, insertSpaces: updatedFormFields.insertSpaces,
                            isTransparent: updatedFormFields.isTransparent, zIndex: updatedFormFields.zIndex,
                            customData: updatedFormFields.customData
                        };
                        if (formFieldsData[parseInt(i.toString(), 10)].FormField.formFieldAnnotationType === 'SignatureField' || formFieldsData[parseInt(i.toString(), 10)].FormField.formFieldAnnotationType === 'InitialField') {
                            var updatedSignatureFormFields = updatedFormFields;
                            var formDesignObj_1 = {
                                id: element.id, lineBound: {
                                    X: element.bounds.x * zoomValue, Y: element.bounds.y * zoomValue,
                                    Width: element.bounds.width * zoomValue, Height: element.bounds.height * zoomValue
                                },
                                name: updatedFormFields.name, zoomValue: zoomValue, pageNumber: updatedFormFields.pageNumber,
                                value: updatedFormFields.value, formFieldAnnotationType: updatedFormFields.formFieldAnnotationType,
                                fontFamily: updatedFormFields.fontFamily, fontSize: updatedFormFields.fontSize,
                                fontStyle: updatedFormFields.fontStyle, fontColor: this.getRgbCode(updatedFormFields.color),
                                backgroundColor: this.getRgbCode(updatedFormFields.backgroundColor),
                                borderColor: this.getRgbCode(updatedFormFields.borderColor), thickness: updatedFormFields.thickness,
                                textAlign: updatedFormFields.alignment, isChecked: updatedFormFields.isChecked,
                                isSelected: updatedFormFields.isSelected,
                                isReadonly: updatedFormFields.isReadonly, font: {
                                    isBold: updatedFormFields.font.isBold,
                                    isItalic: updatedFormFields.font.isItalic, isStrikeout: updatedFormFields.font.isStrikeout,
                                    isUnderline: updatedFormFields.font.isUnderline
                                }, selectedIndex: updatedFormFields.selectedIndex,
                                radiobuttonItem: null, option: updatedFormFields.options ? updatedFormFields.options : [],
                                visibility: updatedFormFields.visibility, maxLength: updatedFormFields.maxLength,
                                isRequired: updatedFormFields.isRequired, isPrint: updatedFormFields.isPrint,
                                rotation: 0, tooltip: updatedFormFields.tooltip,
                                signatureType: updatedFormFields.signatureType, signatureBound: updatedSignatureFormFields.signatureBound,
                                isMultiline: updatedFormFields.isMultiline, insertSpaces: updatedFormFields.insertSpaces,
                                isTransparent: updatedFormFields.isTransparent, zIndex: updatedFormFields.zIndex,
                                customData: updatedFormFields.customData
                            };
                            formFieldsData[parseInt(i.toString(), 10)].FormField = formDesignObj_1;
                            this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField = formDesignObj_1;
                        }
                        else {
                            formFieldsData[parseInt(i.toString(), 10)].FormField = formDesignObj;
                            this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField = formDesignObj;
                        }
                        break;
                    }
                }
            }
            if (this.pdfViewerBase.formFieldCollection.length > 0) {
                this.pdfViewerBase.enableFormFieldButton(true);
            }
            else {
                this.pdfViewerBase.enableFormFieldButton(false);
            }
            this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
        };
        FormDesigner.prototype.createSignatureDialog = function (commandHandler, signatureField, bounds, isPrint) {
            this.isInitialField = ej2_base_2.isNullOrUndefined(signatureField.isInitialField) ? false : signatureField.isInitialField;
            this.pdfViewerBase.isInitialField = this.isInitialField;
            this.pdfViewerBase.isInitialField = signatureField.isInitialField;
            var element = ej2_base_1.createElement('div');
            element.className = 'foreign-object';
            element.style.position = 'absolute';
            element.style.width = '100%';
            element.style.height = '100%';
            element.addEventListener('focus', this.focusFormFields.bind(this));
            element.addEventListener('blur', this.blurFormFields.bind(this));
            var divElement = ej2_base_1.createElement('div');
            divElement.style.width = '100%';
            divElement.style.height = '100%';
            divElement.style.position = 'absolute';
            divElement.style.backgroundColor = 'transparent';
            if (!ej2_base_2.isNullOrUndefined(signatureField.thickness)) {
                divElement.className = 'e-pdfviewer-signatureformfields-signature';
                divElement.style.border = (signatureField.thickness) + 'px solid #303030';
            }
            if (!ej2_base_2.isNullOrUndefined(signatureField.value) && signatureField.value !== '') {
                divElement.className = 'e-pdfviewer-signatureformfields-signature';
                divElement.style.pointerEvents = 'none';
            }
            else {
                divElement.className = 'e-pdfviewer-signatureformfields';
                divElement.style.pointerEvents = '';
            }
            divElement.id = signatureField.id;
            divElement.disabled = signatureField.isReadonly;
            element.appendChild(divElement);
            var signatureFieldSettings = this.pdfViewer.signatureFieldSettings;
            var initialFieldSettings = this.pdfViewer.initialFieldSettings;
            if (!signatureFieldSettings.signatureIndicatorSettings) {
                signatureFieldSettings.signatureIndicatorSettings = { opacity: 1, backgroundColor: 'orange', width: 19, height: 10, fontSize: 10, text: null, color: 'black' };
            }
            if (!signatureFieldSettings.signatureDialogSettings) {
                signatureFieldSettings.signatureDialogSettings =
                    { displayMode: types_1.DisplayMode.Draw | types_1.DisplayMode.Text | types_1.DisplayMode.Upload, hideSaveSignature: false };
            }
            if (!initialFieldSettings.initialIndicatorSettings) {
                initialFieldSettings.initialIndicatorSettings = { opacity: 1, backgroundColor: 'orange', width: 19, height: 10, fontSize: 10, text: null, color: 'black' };
            }
            if (!initialFieldSettings.initialDialogSettings) {
                initialFieldSettings.initialDialogSettings =
                    { displayMode: types_1.DisplayMode.Draw | types_1.DisplayMode.Text | types_1.DisplayMode.Upload, hideSaveSignature: false };
            }
            var indicatorSettings;
            if (signatureField.isInitialField) {
                indicatorSettings = signatureField.signatureIndicatorSettings ?
                    signatureField.signatureIndicatorSettings : initialFieldSettings.initialIndicatorSettings;
            }
            else {
                indicatorSettings = signatureField.signatureIndicatorSettings ?
                    signatureField.signatureIndicatorSettings : signatureFieldSettings.signatureIndicatorSettings;
            }
            var defaultWidth = this.pdfViewer.signatureFieldSettings.signatureIndicatorSettings.width ===
                19 ? (signatureField.isInitialField ? 30 : 25) : this.pdfViewer.signatureFieldSettings.signatureIndicatorSettings.width;
            var signatureFieldIndicatorWidth = indicatorSettings.width ? indicatorSettings.width :
                (signatureField.signatureIndicatorSettings && signatureField.signatureIndicatorSettings.width) ?
                    signatureField.signatureIndicatorSettings.width : defaultWidth;
            var defaultHeight = this.pdfViewer.signatureFieldSettings.signatureIndicatorSettings.height ===
                10 ? 13 : this.pdfViewer.signatureFieldSettings.signatureIndicatorSettings.height;
            var signatureFieldIndicatorHeight = indicatorSettings.height ? indicatorSettings.height :
                (signatureField.signatureIndicatorSettings && signatureField.signatureIndicatorSettings.height) ?
                    signatureField.signatureIndicatorSettings.height : defaultHeight;
            var signatureFieldIndicatorBG = indicatorSettings.backgroundColor ? (indicatorSettings.backgroundColor === 'orange' ? '#FFE48559' : indicatorSettings.backgroundColor) : (signatureField.signatureIndicatorSettings && signatureField.signatureIndicatorSettings.backgroundColor) ? signatureField.signatureIndicatorSettings.backgroundColor : '#FFE48559';
            var signatureFieldWidth = signatureField.bounds ? signatureField.bounds.width : bounds.width;
            var signatureFieldHeight = signatureField.bounds ? signatureField.bounds.height : bounds.height;
            var height = signatureFieldIndicatorHeight > signatureFieldHeight / 2 ? signatureFieldHeight / 2 :
                signatureFieldIndicatorHeight;
            var width = signatureFieldIndicatorWidth > signatureFieldWidth / 2 ? signatureFieldWidth / 2 :
                signatureFieldIndicatorWidth;
            var fontSize = 10;
            if (signatureField.signatureIndicatorSettings && signatureField.signatureIndicatorSettings.fontSize) {
                fontSize = signatureField.signatureIndicatorSettings.fontSize > height / 2 ? 10 :
                    signatureField.signatureIndicatorSettings.fontSize;
            }
            else {
                fontSize = this.pdfViewer.signatureFieldSettings.signatureIndicatorSettings.fontSize > height / 2 ?
                    10 : this.pdfViewer.signatureFieldSettings.signatureIndicatorSettings.fontSize;
            }
            var spanElement = ej2_base_1.createElement('span');
            if (!initialFieldSettings.initialIndicatorSettings) {
                initialFieldSettings.initialIndicatorSettings = { opacity: 1, backgroundColor: 'orange', width: 19, height: 10, fontSize: 10, text: null, color: 'black' };
            }
            if (!initialFieldSettings.initialDialogSettings) {
                initialFieldSettings.initialDialogSettings =
                    { displayMode: types_1.DisplayMode.Draw | types_1.DisplayMode.Text | types_1.DisplayMode.Upload, hideSaveSignature: false };
            }
            var fieldText = signatureField.signatureIndicatorSettings ? signatureField.signatureIndicatorSettings.text : null;
            if (signatureField.formFieldAnnotationType === 'InitialField') {
                spanElement.id = 'initialIcon_' + signatureField.pageIndex + '_' + this.setFormFieldIdIndex();
                spanElement.style.fontFamily = 'Helvetica';
                this.setIndicatorText(spanElement, fieldText, this.pdfViewer.initialFieldSettings.initialIndicatorSettings.text, 'Initial');
            }
            else {
                spanElement.style.height = '';
                spanElement.style.width = '';
                spanElement.id = 'signIcon_' + signatureField.pageIndex + '_' + this.setFormFieldIdIndex();
                spanElement.style.fontFamily = 'Helvetica';
                this.setIndicatorText(spanElement, fieldText, this.pdfViewer.signatureFieldSettings.signatureIndicatorSettings.text, 'Sign');
            }
            spanElement.style.overflow = 'hidden';
            spanElement.style.whiteSpace = 'nowrap';
            spanElement.style.padding = '2px 3px 2px 1px';
            spanElement.style.boxSizing = 'border-box';
            var zoomValue = this.pdfViewerBase.getZoomFactor();
            spanElement.style.textAlign = 'left';
            spanElement.style.fontSize = (fontSize * zoomValue) + 'px';
            var boundsOfSpan = this.getBounds(spanElement);
            spanElement.style.backgroundColor = signatureFieldIndicatorBG;
            spanElement.style.color = indicatorSettings.color;
            spanElement.style.opacity = indicatorSettings.opacity;
            spanElement.style.height = signatureFieldIndicatorHeight;
            spanElement.style.width = signatureFieldIndicatorWidth;
            spanElement.style.position = 'absolute';
            var widthNew = this.setHeightWidth(signatureFieldWidth, width, boundsOfSpan.width + fontSize, zoomValue);
            spanElement.style.width = widthNew + 'px';
            var heightNew = this.setHeightWidth(signatureFieldHeight, height, boundsOfSpan.height, zoomValue);
            spanElement.style.height = heightNew + 'px';
            if (zoomValue < 1 && fontSize <= 10 && fontSize > heightNew) {
                var heightValue = parseInt(spanElement.style.height, 10);
                spanElement.style.fontSize = (heightValue - this.signIndicatorPadding) < this.signIndicatorMinimunFontSize ? this.signIndicatorMinimunFontSize + 'px' : heightValue - this.signIndicatorPadding + 'px';
            }
            if (!isPrint) {
                element.appendChild(spanElement);
            }
            this.updateSignatureSettings(this.pdfViewer.initialFieldSettings, this.isInitialField);
            this.updateSignInitialFieldProperties(signatureField, signatureField.isInitialField, this.pdfViewer.isFormDesignerToolbarVisible, this.isSetFormFieldMode);
            if (!this.isDrawHelper && !ej2_base_2.isNullOrUndefined(signatureField.tooltip) && signatureField.tooltip !== '') {
                this.setToolTip(signatureField.tooltip, element.firstElementChild);
            }
            this.updateSignatureSettings(this.pdfViewer.signatureFieldSettings, this.isInitialField);
            this.updateSignatureFieldProperties(signatureField, element, isPrint);
            this.isDrawHelper = false;
            return element;
        };
        FormDesigner.prototype.setIndicatorText = function (spanElement, fieldText, indicatorText, defaultText) {
            spanElement.innerHTML = fieldText ? fieldText : indicatorText ? indicatorText : defaultText;
        };
        FormDesigner.prototype.getBounds = function (htmlElement) {
            var clonedElement = htmlElement.cloneNode(true);
            clonedElement.style.height = '';
            clonedElement.style.width = '';
            clonedElement.id = clonedElement.id + '_clonedElement';
            document.body.appendChild(clonedElement);
            var clone = document.getElementById(clonedElement.id);
            var bounds = clone.getBoundingClientRect();
            document.body.removeChild(clonedElement);
            return bounds;
        };
        FormDesigner.prototype.updateSignatureandInitialIndicator = function (formFieldObject, options, htmlElement) {
            if (htmlElement !== null) {
                var fieldBounds = htmlElement.getBoundingClientRect();
                var zoomValue = this.pdfViewerBase.getZoomFactor();
                var spanElement = htmlElement.nextElementSibling;
                var objIndicatorSettings = void 0;
                var indicatorSettings = void 0;
                if (formFieldObject.formFieldAnnotationType === 'SignatureField') {
                    objIndicatorSettings = formFieldObject.signatureIndicatorSettings;
                    indicatorSettings = options.signatureIndicatorSettings;
                }
                if (formFieldObject.formFieldAnnotationType === 'InitialField') {
                    objIndicatorSettings = formFieldObject.signatureIndicatorSettings ?
                        formFieldObject.signatureIndicatorSettings : this.pdfViewer.initialFieldSettings.initialIndicatorSettings;
                    indicatorSettings = options.initialIndicatorSettings;
                }
                spanElement.style.width = '';
                spanElement.style.height = '';
                if (indicatorSettings && objIndicatorSettings) {
                    if (indicatorSettings.text !== undefined) {
                        this.setIndicatorText(spanElement, indicatorSettings.text, indicatorSettings.text, 'Sign');
                        objIndicatorSettings.text = indicatorSettings.text;
                    }
                    if (indicatorSettings.fontSize) {
                        spanElement.style.fontSize = indicatorSettings.fontSize > formFieldObject.height / 2 ? 10 : indicatorSettings.fontSize * zoomValue + 'px';
                        objIndicatorSettings.fontSize = indicatorSettings.fontSize;
                    }
                    var bounds = this.getBounds(spanElement);
                    if (indicatorSettings.color) {
                        spanElement.style.color = indicatorSettings.color;
                        objIndicatorSettings.color = this.nameToHash(indicatorSettings.color);
                    }
                    if (indicatorSettings.backgroundColor) {
                        spanElement.style.backgroundColor = indicatorSettings.backgroundColor;
                        objIndicatorSettings.backgroundColor = this.nameToHash(indicatorSettings.backgroundColor);
                    }
                    if (!ej2_base_2.isNullOrUndefined(indicatorSettings.opacity)) {
                        spanElement.style.opacity = indicatorSettings.opacity;
                        objIndicatorSettings.opacity = indicatorSettings.opacity;
                    }
                    if (indicatorSettings.width || options.width || indicatorSettings.text) {
                        var width = this.setHeightWidth(fieldBounds.width, indicatorSettings.width, bounds.width
                            + formFieldObject.signatureIndicatorSettings.fontSize, zoomValue);
                        spanElement.style.width = width + 'px';
                        objIndicatorSettings.width = width;
                    }
                    if (indicatorSettings.height || options.height || indicatorSettings.text) {
                        var height = this.setHeightWidth(fieldBounds.height, indicatorSettings.height, bounds.height, zoomValue);
                        spanElement.style.height = height + 'px';
                        objIndicatorSettings.height = height;
                    }
                }
                this.updateSignatureFieldProperties(formFieldObject, htmlElement, formFieldObject.isPrint);
                if (formFieldObject.signatureIndicatorSettings && objIndicatorSettings) {
                    formFieldObject.signatureIndicatorSettings = objIndicatorSettings;
                }
                return formFieldObject;
            }
        };
        FormDesigner.prototype.setHeightWidth = function (fieldBound, indicatorBound, referenceBound, zoomValue) {
            var heightOrWidth;
            if (fieldBound / 2 > indicatorBound && referenceBound < indicatorBound) {
                heightOrWidth = indicatorBound * zoomValue;
            }
            else if (referenceBound <= fieldBound / 2) {
                heightOrWidth = referenceBound * zoomValue;
            }
            else {
                heightOrWidth = fieldBound / 2 * zoomValue;
            }
            return heightOrWidth;
        };
        FormDesigner.prototype.createDropDownList = function (dropdownElement, drawingObject, isPrint) {
            var element = ej2_base_1.createElement('div');
            element.className = 'foreign-object';
            element.style.position = 'absolute';
            element.style.width = '100%';
            element.style.height = '100%';
            element.style.backgroundColor = drawingObject.backgroundColor;
            element.style.visibility = drawingObject.visibility;
            var select = document.createElement('select');
            select.addEventListener('change', this.dropdownChange.bind(this));
            select.addEventListener('focus', this.focusFormFields.bind(this));
            select.addEventListener('blur', this.blurFormFields.bind(this));
            select.id = drawingObject.id;
            select.name = 'editabledropdown' + this.pdfViewerBase.activeElements.activePageID + dropdownElement.id;
            select.setAttribute('aria-label', 'editabledropdown' + this.pdfViewerBase.activeElements.activePageID + dropdownElement.id);
            select.className = 'e-pv-formfield-dropdown';
            select.style.width = '100%';
            select.style.height = '100%';
            select.style.position = 'absolute';
            this.updateDropDownFieldSettings(this.pdfViewer.DropdownFieldSettings);
            this.updateDropdownFieldSettingsProperties(drawingObject, this.pdfViewer.isFormDesignerToolbarVisible, this.isSetFormFieldMode);
            var dropDownChildren = drawingObject.options ? drawingObject.options : [];
            this.updateDropdownListProperties(drawingObject, select, isPrint);
            for (var j = 0; j < dropDownChildren.length; j++) {
                var option = document.createElement('option');
                option.className = 'e-pv-formfield-dropdown';
                option.value = dropDownChildren[parseInt(j.toString(), 10)].itemValue;
                option.text = dropDownChildren[parseInt(j.toString(), 10)].itemName;
                this.updateDropdownListProperties(drawingObject, option);
                select.appendChild(option);
            }
            if (ej2_base_2.isNullOrUndefined(drawingObject.selectedIndex) || drawingObject.selectedIndex.length === 0) {
                select.selectedIndex = -1;
            }
            else {
                select.selectedIndex = !ej2_base_2.isNullOrUndefined(drawingObject.selectedIndex) ? drawingObject.selectedIndex : 0;
            }
            element.appendChild(select);
            if (!this.isDrawHelper && !ej2_base_2.isNullOrUndefined(drawingObject.tooltip) && drawingObject.tooltip !== '') {
                this.setToolTip(drawingObject.tooltip, element.firstElementChild);
            }
            this.isDrawHelper = false;
            return element;
        };
        FormDesigner.prototype.createListBox = function (listBoxElement, drawingObject, isPrint) {
            var element = ej2_base_1.createElement('div');
            element.className = 'foreign-object';
            element.style.position = 'absolute';
            element.style.width = '100%';
            element.style.height = '100%';
            element.style.backgroundColor = drawingObject.backgroundColor;
            element.style.visibility = drawingObject.visibility;
            var select = document.createElement('select');
            select.addEventListener('click', this.listBoxChange.bind(this));
            select.addEventListener('focus', this.focusFormFields.bind(this));
            select.addEventListener('blur', this.blurFormFields.bind(this));
            select.id = drawingObject.id;
            select.name = 'editabledropdown' + this.pdfViewerBase.activeElements.activePageID + listBoxElement.id;
            select.setAttribute('aria-label', 'editabledropdown' + this.pdfViewerBase.activeElements.activePageID + listBoxElement.id);
            select.className = 'e-pv-formfield-listbox';
            select.style.width = '100%';
            select.style.height = '100%';
            select.style.position = 'absolute';
            select.multiple = true;
            this.updateListBoxFieldSettings(this.pdfViewer.listBoxFieldSettings);
            this.updatelistBoxFieldSettingsProperties(drawingObject, this.pdfViewer.isFormDesignerToolbarVisible, this.isSetFormFieldMode);
            var dropDownChildren = drawingObject.options ? drawingObject.options : [];
            this.updateListBoxProperties(drawingObject, select, isPrint);
            for (var j = 0; j < dropDownChildren.length; j++) {
                var option = document.createElement('option');
                option.className = 'e-pv-formfield-listbox';
                option.value = dropDownChildren[parseInt(j.toString(), 10)].itemValue;
                option.text = dropDownChildren[parseInt(j.toString(), 10)].itemName;
                if (!ej2_base_2.isNullOrUndefined(drawingObject.selectedIndex)) {
                    for (var k = 0; k < drawingObject.selectedIndex.length; k++) {
                        if (j === drawingObject.selectedIndex[parseInt(k.toString(), 10)]) {
                            option.selected = true;
                        }
                    }
                }
                select.appendChild(option);
            }
            element.appendChild(select);
            if (!this.isDrawHelper && !ej2_base_2.isNullOrUndefined(drawingObject.tooltip) && drawingObject.tooltip !== '') {
                this.setToolTip(drawingObject.tooltip, element.firstElementChild);
            }
            this.isDrawHelper = false;
            return element;
        };
        FormDesigner.prototype.createInputElement = function (formFieldAnnotationType, drawingObject, formFieldBounds, isPrint) {
            var zoomValue = this.pdfViewerBase.getZoomFactor();
            var element = ej2_base_1.createElement('div');
            element.className = 'foreign-object';
            element.style.position = 'absolute';
            element.style.width = '100%';
            element.style.height = '100%';
            var labelElement;
            var checkboxDiv;
            var innerSpan;
            var inputElement = ej2_base_1.createElement('input');
            var textArea = ej2_base_1.createElement('textarea');
            inputElement.id = drawingObject.id;
            inputElement.setAttribute('aria-label', this.pdfViewer.element.id + 'formfilldesigner');
            inputElement.style.position = 'absolute';
            this.updateTextFieldSettings(this.pdfViewer.textFieldSettings);
            if (formFieldAnnotationType === 'Textbox') {
                if (drawingObject.isMultiline) {
                    textArea = this.createTextAreaElement(inputElement.id);
                    this.updateTextFieldSettingProperties(drawingObject, this.pdfViewer.isFormDesignerToolbarVisible, this.isSetFormFieldMode);
                    this.updateTextboxProperties(drawingObject, textArea, isPrint);
                }
                else {
                    inputElement = this.createTextboxElement(inputElement.id);
                    this.updateTextFieldSettingProperties(drawingObject, this.pdfViewer.isFormDesignerToolbarVisible, this.isSetFormFieldMode);
                    this.updateTextboxProperties(drawingObject, inputElement, isPrint);
                }
            }
            else if (formFieldAnnotationType === 'Checkbox') {
                var zoomLevel = isPrint ? this.defaultZoomValue : this.pdfViewerBase.getZoomFactor();
                var minCheckboxWidth = 20;
                element.style.display = 'flex';
                element.style.alignItems = 'center';
                var bounds = this.getCheckboxRadioButtonBounds(drawingObject, formFieldBounds, isPrint);
                element.style.display = bounds.display;
                labelElement = ej2_base_1.createElement('label', { className: 'e-pv-checkbox-container' });
                labelElement.style.width = drawingObject.bounds ? (drawingObject.bounds.width * zoomLevel) + 'px' : bounds.width + 'px';
                labelElement.style.height = drawingObject.bounds ? (drawingObject.bounds.height * zoomLevel) + 'px' : bounds.height + 'px';
                if (this.isDrawHelper) {
                    labelElement.style.cursor = 'crosshair';
                }
                else {
                    labelElement.style.cursor = 'pointer';
                }
                checkboxDiv = ej2_base_1.createElement('div', { className: 'e-pv-checkbox-div' });
                if (!ej2_base_1.Browser.isDevice) {
                    checkboxDiv.addEventListener('click', this.setCheckBoxState.bind(this));
                    checkboxDiv.addEventListener('focus', this.focusFormFields.bind(this));
                    checkboxDiv.addEventListener('blur', this.blurFormFields.bind(this));
                }
                checkboxDiv.id = drawingObject.id + '_input';
                if (drawingObject.isChecked) {
                    innerSpan = ej2_base_1.createElement('span', { className: 'e-pv-checkbox-span e-pv-cb-checked' });
                }
                else {
                    innerSpan = ej2_base_1.createElement('span', { className: 'e-pv-checkbox-span e-pv-cb-unchecked' });
                }
                innerSpan.id = drawingObject.id + '_input_span';
                labelElement.id = drawingObject.id + '_input_label';
                innerSpan.style.width = (bounds.width / 5) + 'px';
                innerSpan.style.height = (bounds.height / 2.5) + 'px';
                innerSpan.style.left = (bounds.width / 2.5) + 'px';
                innerSpan.style.top = (bounds.height / 5) + 'px';
                if (innerSpan.className.indexOf('e-pv-cb-checked') !== -1) {
                    var checkboxWidth = parseInt(labelElement.style.width, 10);
                    if (checkboxWidth > minCheckboxWidth) {
                        innerSpan.style.borderWidth = '3px';
                    }
                    else if (checkboxWidth <= 15) {
                        innerSpan.style.borderWidth = '1px';
                    }
                    else {
                        innerSpan.style.borderWidth = '2px';
                    }
                }
                if (isPrint) {
                    checkboxDiv.style.backgroundColor = 'rgb(218, 234, 247)';
                    checkboxDiv.style.border = '1px solid #303030';
                    checkboxDiv.style.visibility = 'visible';
                    checkboxDiv.style.height = '100%';
                    checkboxDiv.style.width = '100%';
                    checkboxDiv.style.position = 'absolute';
                    if (innerSpan.className.indexOf('e-pv-cb-checked') !== -1) {
                        innerSpan.style.border = 'solid #303030';
                        innerSpan.style.position = 'absolute';
                        innerSpan.style.borderLeft = 'transparent';
                        innerSpan.style.borderTop = 'transparent';
                        innerSpan.style.transform = 'rotate(45deg)';
                        var checkboxWidth = parseInt(labelElement.style.width, 10);
                        if (checkboxWidth > minCheckboxWidth) {
                            innerSpan.style.borderWidth = '3px';
                        }
                        else if (checkboxWidth <= 15) {
                            innerSpan.style.borderWidth = '1px';
                        }
                        else {
                            innerSpan.style.borderWidth = '2px';
                        }
                    }
                }
                inputElement.type = 'checkbox';
                inputElement.style.margin = '0px';
                inputElement.style.width = bounds.width + 'px';
                inputElement.style.height = bounds.height + 'px';
                this.updateCheckBoxFieldSettings(this.pdfViewer.checkBoxFieldSettings);
                if (!isPrint) {
                    this.updateCheckBoxFieldSettingsProperties(drawingObject, this.pdfViewer.isFormDesignerToolbarVisible, this.isSetFormFieldMode);
                }
                this.updateCheckboxProperties(drawingObject, checkboxDiv);
                inputElement.appendChild(labelElement);
                labelElement.appendChild(checkboxDiv);
                checkboxDiv.appendChild(innerSpan);
                if (isPrint) {
                    inputElement.style.outlineWidth = drawingObject.thickness + 'px';
                    inputElement.style.outlineColor = drawingObject.borderColor;
                    inputElement.style.outlineStyle = 'solid';
                    inputElement.style.background = drawingObject.backgroundColor;
                }
            }
            else if (formFieldAnnotationType === 'PasswordField') {
                inputElement.type = 'password';
                inputElement.className = 'e-pv-formfield-input';
                inputElement.style.width = '100%';
                inputElement.style.height = '100%';
                inputElement.style.borderStyle = 'solid';
                inputElement.addEventListener('click', this.inputElementClick.bind(this));
                inputElement.addEventListener('focus', this.focusFormFields.bind(this));
                inputElement.addEventListener('blur', this.blurFormFields.bind(this));
                inputElement.addEventListener('change', this.getTextboxValue.bind(this));
                this.updatePasswordFieldSettings(this.pdfViewer.passwordFieldSettings);
                this.updatePasswordFieldSettingProperties(drawingObject, this.pdfViewer.isFormDesignerToolbarVisible, this.isSetFormFieldMode);
                this.updatePasswordFieldProperties(drawingObject, inputElement, isPrint);
            }
            else {
                element.style.display = 'flex';
                element.style.alignItems = 'center';
                var bounds = this.getCheckboxRadioButtonBounds(drawingObject, formFieldBounds, isPrint);
                element.style.display = bounds.display;
                labelElement = ej2_base_1.createElement('label', { className: 'e-pv-radiobtn-container' });
                labelElement.style.width = bounds.width + 'px';
                labelElement.style.height = bounds.height + 'px';
                labelElement.style.display = 'table';
                labelElement.style.verticalAlign = 'middle';
                labelElement.style.borderWidth = drawingObject.thickness + 'px';
                labelElement.style.boxShadow = drawingObject.borderColor + ' 0px 0px 0px ' + drawingObject.thickness + 'px';
                labelElement.style.borderRadius = '50%';
                labelElement.style.visibility = drawingObject.visibility;
                if (this.isDrawHelper) {
                    labelElement.style.cursor = 'crosshair';
                }
                else {
                    labelElement.style.cursor = 'pointer';
                }
                labelElement.style.background = drawingObject.backgroundColor;
                innerSpan = ej2_base_1.createElement('span', { className: 'e-pv-radiobtn-span' });
                innerSpan.id = drawingObject.id + '_input_span';
                innerSpan.style.width = Math.floor(bounds.width / 2) + 'px';
                innerSpan.style.height = Math.floor(bounds.height / 2) + 'px';
                if (zoomValue < 1 && bounds.width <= 20 && bounds.height <= 20) {
                    innerSpan.style.margin = Math.round(parseInt(labelElement.style.width, 10) / 3.5) + 'px';
                }
                else {
                    innerSpan.style.margin = Math.round(parseInt(labelElement.style.width, 10) / 4) + 'px';
                }
                labelElement.addEventListener('click', this.setRadioButtonState.bind(this));
                labelElement.id = drawingObject.id + '_input_label';
                inputElement.type = 'radio';
                if (!isPrint) {
                    inputElement.className = 'e-pv-radio-btn';
                }
                inputElement.style.margin = '0px';
                inputElement.addEventListener('click', function (event) {
                    event.stopPropagation();
                });
                inputElement.addEventListener('focus', this.focusFormFields.bind(this));
                inputElement.addEventListener('blur', this.blurFormFields.bind(this));
                inputElement.style.width = bounds.width + 'px';
                inputElement.style.height = bounds.height + 'px';
                this.updateRadioButtonFieldSettings(this.pdfViewer.radioButtonFieldSettings);
                this.updateRadioButtonFieldSettingProperties(drawingObject, this.pdfViewer.isFormDesignerToolbarVisible, this.isSetFormFieldMode);
                this.updateRadioButtonProperties(drawingObject, inputElement, labelElement);
                labelElement.appendChild(inputElement);
                labelElement.appendChild(innerSpan);
                if (drawingObject.isRequired) {
                    labelElement.style.boxShadow = 'red 0px 0px 0px ' + drawingObject.thickness + 'px';
                }
            }
            if ((formFieldAnnotationType === 'Checkbox' || formFieldAnnotationType === 'RadioButton') && !isPrint) {
                element.appendChild(labelElement);
            }
            else if (formFieldAnnotationType === 'Checkbox' && isPrint) {
                element.appendChild(labelElement);
            }
            else {
                if (drawingObject.isMultiline) {
                    element.appendChild(textArea);
                }
                else {
                    element.appendChild(inputElement);
                }
            }
            if (!this.isDrawHelper && !ej2_base_2.isNullOrUndefined(drawingObject.tooltip) && drawingObject.tooltip !== '') {
                if (formFieldAnnotationType === 'RadioButton') {
                    this.setToolTip(drawingObject.tooltip, labelElement);
                }
                else if (formFieldAnnotationType === 'Textbox' || formFieldAnnotationType === 'PasswordField') {
                    this.setToolTip(drawingObject.tooltip, element.firstElementChild);
                }
                else if (formFieldAnnotationType === 'Checkbox') {
                    this.setToolTip(drawingObject.tooltip, element.firstElementChild.lastElementChild);
                }
            }
            this.isDrawHelper = false;
            return element;
        };
        FormDesigner.prototype.listBoxChange = function (event) {
            var data = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
            var formFieldsData = JSON.parse(data);
            var targetField = null;
            var _loop_2 = function (i) {
                if (formFieldsData[parseInt(i.toString(), 10)].Key.split('_')[0] === event.currentTarget.id.split('_')[0] ||
                    this_2.pdfViewer.nameTable[event.currentTarget.id.split('_')[0]].name === formFieldsData[parseInt(i.toString(), 10)].FormField.name) {
                    if (formFieldsData[parseInt(i.toString(), 10)].Key.split('_')[0] !== event.currentTarget.id.split('_')[0]) {
                        var inputElement = document.getElementById((formFieldsData[parseInt(i.toString(), 10)].Key.split('_')[0] + '_content_html_element')).firstElementChild.firstElementChild;
                        for (var k = 0; k < event.currentTarget.options.length; k++) {
                            inputElement.options[parseInt(k.toString(), 10)].selected =
                                event.currentTarget.options[parseInt(k.toString(), 10)].selected;
                        }
                    }
                    formFieldsData[parseInt(i.toString(), 10)].FormField.selectedIndex = [];
                    var oldValues = this_2.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.selectedIndex;
                    for (var j = 0; j < event.currentTarget.selectedOptions.length; j++) {
                        var selectIndex = event.currentTarget.selectedOptions[parseInt(j.toString(), 10)].index;
                        var oldValueIndex = 0;
                        if (this_2.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.selectedIndex &&
                            this_2.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.selectedIndex.length !== 0) {
                            if (this_2.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.selectedIndex[0] >= 0) {
                                oldValueIndex = this_2.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].
                                    FormField.selectedIndex.pop();
                            }
                            this_2.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.selectedIndex.push(oldValueIndex);
                        }
                        var oldValue = formFieldsData[parseInt(i.toString(), 10)].FormField.
                            option[parseInt(oldValueIndex.toString(), 10)].itemValue;
                        formFieldsData[parseInt(i.toString(), 10)].FormField.selectedIndex.push(selectIndex);
                        this_2.pdfViewer.nameTable[formFieldsData[parseInt(i.toString(), 10)].Key.split('_')[0]].selectedIndex = formFieldsData[parseInt(i.toString(), 10)].FormField.selectedIndex;
                        this_2.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.selectedIndex =
                            formFieldsData[parseInt(i.toString(), 10)].FormField.selectedIndex;
                        var newValue = formFieldsData[parseInt(i.toString(), 10)].FormField.
                            option[parseInt(selectIndex.toString(), 10)].itemValue;
                        this_2.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.value = newValue;
                        this_2.updateFormFieldCollections(this_2.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField);
                        targetField = this_2.pdfViewer.formFieldCollections[this_2.pdfViewer.formFieldCollections.findIndex(function (el) { return (el.id + '_content' === formFieldsData[parseInt(i.toString(), 10)].FormField.id); })];
                        this_2.pdfViewer.fireFormFieldPropertiesChangeEvent('formFieldPropertiesChange', formFieldsData[parseInt(i.toString(), 10)].FormField, this_2.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.pageNumber, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, oldValue, newValue);
                    }
                    if (this_2.pdfViewer.annotation) {
                        this_2.pdfViewer.annotation.addAction(this_2.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.pageNumber, null, this_2.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField, 'FormField Value Change', '', oldValues, this_2.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.selectedIndex);
                    }
                }
            };
            var this_2 = this;
            for (var i = 0; i < formFieldsData.length; i++) {
                _loop_2(i);
            }
            this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
            this.updateFormFieldSessions(targetField);
        };
        FormDesigner.prototype.dropdownChange = function (event) {
            var data = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
            var formFieldsData = JSON.parse(data);
            var targetField = null;
            var _loop_3 = function (i) {
                if (formFieldsData[parseInt(i.toString(), 10)].Key.split('_')[0] === event.target.id.split('_')[0] ||
                    this_3.pdfViewer.nameTable[event.target.id.split('_')[0]].name === formFieldsData[parseInt(i.toString(), 10)].FormField.name) {
                    this_3.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.selectedIndex = [];
                    var selectIndex = document.getElementById(event.currentTarget.id).selectedIndex;
                    var oldValueIndex = 0;
                    if (formFieldsData[parseInt(i.toString(), 10)].FormField.selectedIndex.length !== 0) {
                        oldValueIndex = formFieldsData[parseInt(i.toString(), 10)].FormField.selectedIndex.pop();
                        formFieldsData[parseInt(i.toString(), 10)].FormField.selectedIndex.push(oldValueIndex);
                    }
                    var oldValue = oldValueIndex !== -1 ? formFieldsData[parseInt(i.toString(), 10)].FormField.
                        option[parseInt(oldValueIndex.toString(), 10)].itemValue : 0;
                    this_3.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.selectedIndex.push(selectIndex);
                    formFieldsData[parseInt(i.toString(), 10)].FormField.selectedIndex =
                        this_3.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.selectedIndex;
                    this_3.pdfViewer.nameTable[formFieldsData[parseInt(i.toString(), 10)].Key.split('_')[0]].selectedIndex = this_3.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.selectedIndex;
                    var newValue = formFieldsData[parseInt(i.toString(), 10)].
                        FormField.option[parseInt(selectIndex.toString(), 10)].itemValue;
                    this_3.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.value = newValue;
                    if (formFieldsData[parseInt(i.toString(), 10)].Key.split('_')[0] !== event.target.id.split('_')[0]) {
                        var inputElement = document.getElementById((formFieldsData[parseInt(i.toString(), 10)].Key.split('_')[0] + '_content_html_element')).firstElementChild.firstElementChild;
                        inputElement.selectedIndex = selectIndex;
                    }
                    this_3.updateFormFieldCollections(this_3.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField);
                    targetField = this_3.pdfViewer.formFieldCollections[this_3.pdfViewer.formFieldCollections.findIndex(function (el) { return (el.id + '_content' === formFieldsData[parseInt(i.toString(), 10)].FormField.id); })];
                    this_3.pdfViewer.fireFormFieldPropertiesChangeEvent('formFieldPropertiesChange', formFieldsData[parseInt(i.toString(), 10)].FormField, this_3.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.pageNumber, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, oldValue, newValue);
                    if (this_3.pdfViewer.annotation) {
                        this_3.pdfViewer.annotation.addAction(this_3.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.pageNumber, null, this_3.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField, 'FormField Value Change', '', oldValueIndex, selectIndex);
                    }
                }
            };
            var this_3 = this;
            for (var i = 0; i < formFieldsData.length; i++) {
                _loop_3(i);
            }
            this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
            this.updateFormFieldSessions(targetField);
        };
        FormDesigner.prototype.setCheckBoxState = function (event) {
            if ((ej2_base_1.Browser.isDevice) ? (event.target.classList.contains('') || event.target.classList.contains('e-pv-checkbox-outer-div') || event.target.classList.contains('e-pv-checkbox-div')) && event.currentTarget.classList.contains('e-pv-checkbox-outer-div') && !this.pdfViewer.designerMode : !this.pdfViewer.designerMode) {
                var minCheckboxWidth = 20;
                var isChecked = false;
                var checkTarget = void 0;
                var targetField = null;
                if (ej2_base_1.Browser.isDevice) {
                    checkTarget = document.getElementById(event.target.id.split('_')[0] + '_input');
                }
                else {
                    checkTarget = event.target;
                }
                if (event.target.id !== 'undefined_input' && !this.pdfViewer.nameTable[event.target.id.split('_')[0]].isReadonly && !this.pdfViewer.designerMode) {
                    if (checkTarget && checkTarget.firstElementChild && checkTarget.firstElementChild.className === 'e-pv-checkbox-span e-pv-cb-checked') {
                        checkTarget.firstElementChild.classList.remove('e-pv-cb-checked');
                        checkTarget.firstElementChild.classList.add('e-pv-checkbox-span', 'e-pv-cb-unchecked');
                        isChecked = false;
                    }
                    else if (checkTarget.className === 'e-pv-checkbox-span e-pv-cb-checked') {
                        checkTarget.classList.remove('e-pv-cb-checked');
                        checkTarget.classList.add('e-pv-checkbox-span', 'e-pv-cb-unchecked');
                        isChecked = false;
                    }
                    else {
                        checkTarget.firstElementChild.classList.remove('e-pv-cb-unchecked');
                        checkTarget.firstElementChild.classList.add('e-pv-checkbox-span', 'e-pv-cb-checked');
                        isChecked = true;
                    }
                    var data = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
                    if (isChecked) {
                        if (checkTarget.firstElementChild.className.indexOf('e-pv-cb-checked') !== -1) {
                            var checkboxWidth = parseInt(event.target.parentElement.style.width, 10);
                            if (checkboxWidth > minCheckboxWidth) {
                                checkTarget.firstElementChild.style.borderWidth = '3px';
                            }
                            else if (checkboxWidth <= 15) {
                                checkTarget.firstElementChild.style.borderWidth = '1px';
                            }
                            else {
                                checkTarget.firstElementChild.style.borderWidth = '2px';
                            }
                        }
                    }
                    var formFieldsData_1 = JSON.parse(data);
                    var _loop_4 = function (i) {
                        if (formFieldsData_1[parseInt(i.toString(), 10)].Key.split('_')[0] === event.target.id.split('_')[0] ||
                            this_4.pdfViewer.nameTable[event.target.id.split('_')[0]].name === formFieldsData_1[parseInt(i.toString(), 10)].FormField.name) {
                            this_4.pdfViewer.nameTable[formFieldsData_1[parseInt(i.toString(), 10)].Key.split('_')[0]].isChecked = isChecked;
                            var oldValue = this_4.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.isChecked;
                            formFieldsData_1[parseInt(i.toString(), 10)].FormField.isChecked = isChecked;
                            this_4.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.isChecked =
                                formFieldsData_1[parseInt(i.toString(), 10)].FormField.isChecked;
                            if (formFieldsData_1[parseInt(i.toString(), 10)].Key.split('_')[0] !== event.target.id.split('_')[0]) {
                                var checkboxElement = document.getElementById(formFieldsData_1[parseInt(i.toString(), 10)].Key.split('_')[0] + '_input').firstElementChild;
                                if (isChecked) {
                                    if (checkboxElement.classList.contains('e-pv-cb-unchecked')) {
                                        checkboxElement.classList.remove('e-pv-cb-unchecked');
                                    }
                                    checkboxElement.classList.add('e-pv-cb-checked');
                                }
                                else {
                                    if (checkboxElement.classList.contains('e-pv-cb-checked')) {
                                        checkboxElement.classList.remove('e-pv-cb-checked');
                                    }
                                    checkboxElement.classList.add('e-pv-cb-unchecked');
                                }
                            }
                            this_4.updateFormFieldCollections(this_4.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField);
                            targetField = this_4.pdfViewer.formFieldCollections[this_4.pdfViewer.formFieldCollections.findIndex(function (el) { return (el.id + '_content' === formFieldsData_1[parseInt(i.toString(), 10)].FormField.id); })];
                            this_4.pdfViewer.fireFormFieldPropertiesChangeEvent('formFieldPropertiesChange', formFieldsData_1[parseInt(i.toString(), 10)].FormField, this_4.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.pageNumber, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, oldValue, isChecked);
                            if (this_4.pdfViewer.annotation) {
                                this_4.pdfViewer.annotation.addAction(this_4.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.pageNumber, null, this_4.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField, 'FormField Value Change', '', oldValue, isChecked);
                            }
                        }
                    };
                    var this_4 = this;
                    for (var i = 0; i < formFieldsData_1.length; i++) {
                        _loop_4(i);
                    }
                    this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
                    this.updateFormFieldSessions(targetField);
                }
            }
        };
        FormDesigner.prototype.setCheckedValue = function (element, isChecked) {
            if (isChecked) {
                element.firstElementChild.classList.remove('e-pv-cb-unchecked');
                element.firstElementChild.classList.add('e-pv-checkbox-span', 'e-pv-cb-checked');
            }
            else {
                element.firstElementChild.classList.remove('e-pv-cb-checked');
                element.firstElementChild.classList.add('e-pv-checkbox-span', 'e-pv-cb-unchecked');
            }
        };
        FormDesigner.prototype.setRadioButtonState = function (event) {
            var _this = this;
            var storedData = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
            var formFieldsData = JSON.parse(storedData || '[]');
            var clickedKey = (event.currentTarget && event.currentTarget.id || '').split('_')[0];
            var viewer = this.pdfViewer;
            var base = this.pdfViewerBase;
            var targetField = null;
            var clicked = null;
            var getElement = function (id) {
                var cut = id.indexOf('_');
                var baseId = cut > -1 ? id.substring(0, cut) : id;
                return document.getElementById(baseId);
            };
            var fireChangeEvent = function (formField, page) {
                viewer.fireFormFieldPropertiesChangeEvent('formFieldPropertiesChange', formField, page, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true);
            };
            var updateForm = function (item) { return _this.updateFormFieldCollections(item); };
            formFieldsData.forEach(function (data, index) {
                var formField = data.FormField;
                var radioItems = formField.radiobuttonItem;
                if (!radioItems) {
                    return;
                }
                var localClickedItem = radioItems.find(function (it) { return it.id.split('_')[0] === clickedKey; });
                if (!clicked && localClickedItem) {
                    clicked = { name: localClickedItem.name, value: localClickedItem.value };
                }
                var undoElements = [];
                var redoElements = [];
                var groupIndex = viewer.formFieldCollections.findIndex(function (el) { return el.id + '_content' === formField.id; });
                var clickedFieldIndex = viewer.formFieldCollections.findIndex(function (el) {
                    return el.id === (localClickedItem ? localClickedItem.id : undefined) ||
                        el.id === clickedKey ||
                        el.id + '_content' === formField.id;
                });
                var clickedIsUnison = clickedFieldIndex > -1 &&
                    !!viewer.formFieldCollections[clickedFieldIndex].isUnisonSelected;
                if (clickedIsUnison && localClickedItem) {
                    radioItems.forEach(function (item, j) {
                        var itemKey = item.id.split('_')[0];
                        var itemFcIndex = viewer.formFieldCollections.findIndex(function (el) {
                            return el.id === item.id ||
                                el.id === itemKey ||
                                el.id + '_content' === item.id;
                        });
                        var itemIsUnison = itemFcIndex > -1 &&
                            !!viewer.formFieldCollections[itemFcIndex].isUnisonSelected;
                        var itemNameEntry = viewer.nameTable[itemKey];
                        if (!itemNameEntry || itemNameEntry.isReadonly) {
                            return;
                        }
                        var formCollectionItem = base.formFieldCollection[index].FormField.radiobuttonItem[j];
                        var element = getElement(item.id);
                        var sameGroup = item.name === localClickedItem.name;
                        if (itemIsUnison && sameGroup && item.value === localClickedItem.value) {
                            var previouslySelectedA = formCollectionItem.isSelected;
                            if (!previouslySelectedA) {
                                undoElements.push(formCollectionItem);
                            }
                            itemNameEntry.isSelected = true;
                            item.isSelected = true;
                            if (element) {
                                element.checked = true;
                            }
                            formCollectionItem.isSelected = true;
                            fireChangeEvent(formField, formField.pageNumber);
                            updateForm(formCollectionItem);
                        }
                        else if (itemIsUnison && sameGroup && item.value !== localClickedItem.value) {
                            var previouslySelectedB = formCollectionItem.isSelected;
                            if (previouslySelectedB) {
                                redoElements.push(formCollectionItem);
                            }
                            itemNameEntry.isSelected = false;
                            item.isSelected = false;
                            if (element) {
                                element.checked = false;
                            }
                            formCollectionItem.isSelected = false;
                            fireChangeEvent(formField, formField.pageNumber);
                            updateForm(formCollectionItem);
                        }
                    });
                    if ((undoElements.length || redoElements.length) && viewer.annotation) {
                        viewer.annotation.addAction(formField.pageNumber, null, base.formFieldCollection[index].FormField, 'FormField Value Change', '', undoElements, redoElements);
                    }
                    if (groupIndex > -1) {
                        targetField = viewer.formFieldCollections[groupIndex];
                    }
                    return;
                }
                var clickedEntry = viewer.nameTable[clickedKey];
                radioItems.forEach(function (item, j) {
                    var itemKey = item.id.split('_')[0];
                    var isClicked = itemKey === clickedKey;
                    var itemEntry = viewer.nameTable[itemKey];
                    if (!itemEntry) {
                        return;
                    }
                    var formCollectionItem = base.formFieldCollection[index].FormField.radiobuttonItem[j];
                    var element = getElement(item.id);
                    if (isClicked) {
                        if (!clicked) {
                            clicked = { name: item.name, value: item.value };
                        }
                        if (!itemEntry.isReadonly) {
                            var previouslySelected = formCollectionItem.isSelected;
                            itemEntry.isSelected = true;
                            item.isSelected = true;
                            if (element) {
                                element.checked = true;
                            }
                            if (!previouslySelected) {
                                undoElements.push(formCollectionItem);
                            }
                            formCollectionItem.isSelected = true;
                            fireChangeEvent(formField, formField.pageNumber);
                        }
                    }
                    else {
                        if (clickedEntry && clickedEntry.name === item.name) {
                            var previouslySelected2 = formCollectionItem.isSelected;
                            itemEntry.isSelected = false;
                            item.isSelected = false;
                            if (element) {
                                element.checked = false;
                            }
                            if (previouslySelected2) {
                                redoElements.push(formCollectionItem);
                            }
                            formCollectionItem.isSelected = false;
                            fireChangeEvent(formField, formField.pageNumber);
                        }
                    }
                    updateForm(formCollectionItem);
                    var idx = viewer.formFieldCollections.findIndex(function (el) { return el.id + '_content' === formField.id; });
                    if (idx > -1) {
                        targetField = viewer.formFieldCollections[idx];
                    }
                });
                if ((undoElements.length || redoElements.length) && viewer.annotation) {
                    viewer.annotation.addAction(formField.pageNumber, null, base.formFieldCollection[index].FormField, 'FormField Value Change', '', undoElements, redoElements);
                }
            });
            base.setItemInSessionStorage(base.formFieldCollection, '_formDesigner');
            this.updateFormFieldSessions(targetField);
            if (clicked) {
                this.radioButtonState(clicked);
            }
            var radioFields = this.pdfViewer.formFieldCollections.filter(function (item) { return item.type === 'RadioButton'; });
            var firstPart = event.target.id.split('_')[0];
            var currentItem = this.pdfViewer.formFieldCollections.filter(function (item) { return item.type === 'RadioButton' && item.id === firstPart; });
            for (var k = 0; k < radioFields.length; k++) {
                if (radioFields[k].name === currentItem[0].name) {
                    if (radioFields[k].value === currentItem[0].value) {
                        radioFields[k].isSelected = currentItem[0].isSelected;
                        radioFields[k].isUnisonSelected = currentItem[0].isUnisonSelected;
                    }
                    else {
                        radioFields[k].isSelected = false;
                    }
                }
            }
        };
        FormDesigner.prototype.radioButtonState = function (clickedItem, value, formFields) {
            var formFieldsData = JSON.parse(this.pdfViewerBase.getItemFromSessionStorage('_formfields') || '[]');
            var targetName = clickedItem.name;
            var targetValue = clickedItem.value;
            if (!targetName) {
                return;
            }
            formFieldsData.forEach(function (field) {
                if (!field) {
                    return;
                }
                var btn = field;
                var btnName = btn.ActualFieldName;
                var btnValue = btn.Value;
                var isUnison = btn.IsUnisonSelected === true || btn.isUnisonSelected === true;
                if (isUnison && btnName === targetName) {
                    if (btnValue === targetValue) {
                        btn.Selected = true;
                    }
                    else {
                        btn.Selected = false;
                    }
                    if (!ej2_base_2.isNullOrUndefined(value)) {
                        btn.Selected = value;
                    }
                }
            });
            this.pdfViewerBase.setItemInSessionStorage(formFieldsData, '_formfields');
            if (formFields) {
                for (var i = 0; i < formFields.length; i++) {
                    if (formFields[i].FormField.formFieldAnnotationType === 'RadioButton') {
                        for (var j = 0; j < formFields[i].FormField.radiobuttonItem.length; j++) {
                            if (formFields[i].FormField.radiobuttonItem[j].name === targetName &&
                                formFields[i].FormField.radiobuttonItem[j].value === targetValue) {
                                var formFieldModel = this.getFormField(formFields[i].FormField.radiobuttonItem[j].id.split('_')[0]);
                                var inputElement = void 0;
                                if (document.getElementById(formFields[i].FormField.radiobuttonItem[j].id.split('_')[0] + '_content_html_element')) {
                                    inputElement = document.getElementById(formFields[i].FormField.radiobuttonItem[j].id.split('_')[0] + '_content_html_element').firstElementChild.firstElementChild;
                                }
                                var index = this.getFormFiledIndex(formFields[i].FormField.radiobuttonItem[j].id.split('_')[0]);
                                if (formFields[i].FormField.radiobuttonItem[j].name === targetName &&
                                    formFields[i].FormField.radiobuttonItem[j].value === targetValue && inputElement &&
                                    formFields[i].FormField.radiobuttonItem[j].isUnisonSelected === true) {
                                    formFieldModel.isSelected = value;
                                    this.updateIsSelectedPropertyChange(formFieldModel, inputElement.firstElementChild, true, index, formFields);
                                }
                            }
                        }
                    }
                }
            }
        };
        FormDesigner.prototype.getTextboxValue = function (event) {
            var data = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
            var formFieldsData = JSON.parse(data);
            var targetField = null;
            var _loop_5 = function (i) {
                if (formFieldsData[parseInt(i.toString(), 10)].Key.split('_')[0] === event.target.id.split('_')[0] ||
                    this_5.pdfViewer.nameTable[event.target.id.split('_')[0]].name === formFieldsData[parseInt(i.toString(), 10)].FormField.name) {
                    var oldValue = this_5.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.value;
                    formFieldsData[parseInt(i.toString(), 10)].FormField.value = event.target.value;
                    if (this_5.pdfViewer.enableHtmlSanitizer) {
                        formFieldsData[parseInt(i.toString(), 10)].FormField.value =
                            ej2_base_2.SanitizeHtmlHelper.sanitize(formFieldsData[parseInt(i.toString(), 10)].FormField.value);
                    }
                    this_5.pdfViewer.nameTable[formFieldsData[parseInt(i.toString(), 10)].Key.split('_')[0]].value = formFieldsData[parseInt(i.toString(), 10)].FormField.value;
                    this_5.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.value =
                        formFieldsData[parseInt(i.toString(), 10)].FormField.value;
                    if (formFieldsData[parseInt(i.toString(), 10)].Key.split('_')[0] !== event.target.id.split('_')[0]) {
                        var element = document.getElementById(formFieldsData[parseInt(i.toString(), 10)].Key.split('_')[0] + '_content_html_element');
                        if (element && element.firstElementChild && element.firstElementChild.firstElementChild) {
                            var inputElement = element.firstElementChild.firstElementChild;
                            inputElement.value = formFieldsData[parseInt(i.toString(), 10)].FormField.value;
                        }
                    }
                    this_5.updateFormFieldCollections(this_5.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField);
                    targetField = this_5.pdfViewer.formFieldCollections[this_5.pdfViewer.formFieldCollections.findIndex(function (el) { return (el.id + '_content' === formFieldsData[parseInt(i.toString(), 10)].FormField.id); })];
                    this_5.pdfViewer.fireFormFieldPropertiesChangeEvent('formFieldPropertiesChange', this_5.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField, this_5.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.pageNumber, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, oldValue, event.target.value);
                    if (this_5.pdfViewer.annotation) {
                        this_5.pdfViewer.annotation.addAction(this_5.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.pageNumber, null, this_5.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField, 'FormField Value Change', '', oldValue, event.target.value);
                    }
                }
            };
            var this_5 = this;
            for (var i = 0; i < formFieldsData.length; i++) {
                _loop_5(i);
            }
            this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
            this.updateFormFieldSessions(targetField);
        };
        FormDesigner.prototype.inputElementClick = function (event) {
            event.target.focus();
        };
        FormDesigner.prototype.updateFormFieldSessions = function (field) {
            var fieldData = this.pdfViewerBase.getItemFromSessionStorage('_formfields');
            var formFieldsDatas = JSON.parse(fieldData);
            if (!ej2_base_2.isNullOrUndefined(formFieldsDatas) && !ej2_base_2.isNullOrUndefined(field)) {
                for (var x = 0; x < formFieldsDatas.length; x++) {
                    if (formFieldsDatas[parseInt(x.toString(), 10)].ActualFieldName === field.name) {
                        if (field.type === 'Textbox' || field.type === 'PasswordField') {
                            formFieldsDatas[parseInt(x.toString(), 10)].Value = field.value;
                        }
                        else if (field.type === 'Checkbox') {
                            formFieldsDatas[parseInt(x.toString(), 10)].Selected = field.isChecked;
                        }
                        else if (field.type === 'RadioButton') {
                            formFieldsDatas[parseInt(x.toString(), 10)].Selected = field.isSelected;
                        }
                        else if (field.type === 'DropdownList') {
                            formFieldsDatas[parseInt(x.toString(), 10)].Value = field.value;
                        }
                        else if (field.type === 'ListBox') {
                            formFieldsDatas[parseInt(x.toString(), 10)].Value = field.value;
                        }
                    }
                }
                this.pdfViewerBase.setItemInSessionStorage(formFieldsDatas, '_formfields');
            }
        };
        FormDesigner.prototype.focusFormFields = function (event) {
            var currentTarget = event.target;
            if (currentTarget || currentTarget.className === 'e-pv-checkbox-outer-div') {
                var colorBorder = (currentTarget.style.borderColor === 'transparent' ? '#000000' : currentTarget.style.borderColor);
                currentTarget.style.boxShadow = '0 0 5px ' + colorBorder;
            }
            if (currentTarget && (currentTarget.className === 'e-pv-radiobtn-container' || currentTarget.className === 'e-pv-radio-btn' || currentTarget.className === 'e-pv-radiobtn-span') && currentTarget.style.borderColor === 'transparent') {
                var colorBorder = (currentTarget.style.borderColor === 'transparent' ? '#000000' : currentTarget.style.borderColor);
                currentTarget.parentElement.style.boxShadow = '0px 0px 5px ' + colorBorder;
            }
            if (currentTarget && (currentTarget.className === 'e-pv-radiobtn-container' || currentTarget.className === 'e-pv-radio-btn' || currentTarget.className === 'e-pv-radiobtn-span')) {
                currentTarget.parentElement.style.boxShadow = currentTarget.style.borderColor + '0px 0px 5px ' + currentTarget.style.borderWidth;
            }
        };
        FormDesigner.prototype.blurFormFields = function (event) {
            var currentTarget = event.target;
            currentTarget.style.boxShadow = '';
            if (currentTarget.type === 'radio' && currentTarget.style.borderColor === 'transparent') {
                var colorBorder = (currentTarget.style.borderColor === 'transparent' ? '#000000' : currentTarget.style.borderColor);
                currentTarget.parentElement.style.boxShadow = '0px 0px 0px ' + colorBorder;
            }
            if (currentTarget.type === 'radio') {
                currentTarget.parentElement.style.boxShadow = currentTarget.style.borderColor + '0px 0px 0px ' + currentTarget.style.borderWidth;
            }
        };
        FormDesigner.prototype.setTextBoxFontStyle = function (fontStyle) {
            return { isBold: (fontStyle & types_1.FontStyle.Bold) === types_1.FontStyle.Bold,
                isItalic: (fontStyle & types_1.FontStyle.Italic) === types_1.FontStyle.Italic,
                isStrikeout: (fontStyle & types_1.FontStyle.Strikethrough) === types_1.FontStyle.Strikethrough,
                isUnderline: (fontStyle & types_1.FontStyle.Underline) === types_1.FontStyle.Underline };
        };
        FormDesigner.prototype.addFormField = function (formFieldType, options, isCollection, id) {
            var HTMLElement = this.addField(formFieldType, options, isCollection, id, true);
            return HTMLElement;
        };
        FormDesigner.prototype.addField = function (formFieldType, options, isCollection, id, isAddedProgrammatically) {
            var obj = {
                thickness: 1, bounds: { x: options.bounds.X, y: options.bounds.Y, width: options.bounds.Width, height: options.bounds.Height },
                fontFamily: !ej2_base_2.isNullOrUndefined(options.fontFamily) ? options.fontFamily : 'Helvetica', fontSize: !ej2_base_2.isNullOrUndefined(options.fontSize) ? options.fontSize : 10,
                color: !ej2_base_2.isNullOrUndefined(options.color) ? options.color : 'black', backgroundColor: !ej2_base_2.isNullOrUndefined(options.backgroundColor) ? options.backgroundColor : '#daeaf7ff',
                alignment: !ej2_base_2.isNullOrUndefined(options.alignment) ? options.alignment : 'left', isReadonly: options.isReadOnly ? options.isReadOnly : false, rotateAngle: options.rotateAngle ? options.rotateAngle : options.rotationAngle, isTransparent: options.isTransparent, insertSpaces: options.insertSpaces, isChecked: options.isChecked, isMultiline: options.isMultiline, isSelected: options.isSelected, options: options.options, selectedIndex: options.selectedIndex, signatureIndicatorSettings: options.signatureIndicatorSettings, signatureType: options.signatureType, zIndex: options.zIndex
            };
            obj.customData = !ej2_base_2.isNullOrUndefined(options.customData) ? options.customData : '';
            obj.fontStyle = !ej2_base_2.isNullOrUndefined(options.fontStyle) ? options.fontStyle : 'None';
            obj.visibility = !ej2_base_2.isNullOrUndefined(options.visibility) ? options.visibility : 'visible';
            obj.value = !ej2_base_2.isNullOrUndefined(options.value) ? options.value : '';
            obj.isRequired = options.isRequired ? options.isRequired : false;
            obj.isPrint = options.isPrint ? options.isPrint : true;
            obj.pageNumber = !ej2_base_2.isNullOrUndefined(options.pageNumber) ? options.pageNumber : this.pdfViewerBase.currentPageNumber;
            obj.pageIndex = obj.pageNumber - 1;
            obj.font = options.font;
            obj.id = id;
            if (isCollection || ej2_base_2.isNullOrUndefined(isCollection)) {
                this.setFormFieldIndex();
            }
            switch (formFieldType) {
                case 'Textbox':
                    obj.formFieldAnnotationType = formFieldType;
                    obj.isMultiline = options.isMultiline;
                    obj.name = !ej2_base_2.isNullOrUndefined(options.name) ? options.name : 'Textbox' + this.formFieldIndex;
                    obj.insertSpaces = options.insertSpaces;
                    obj.maxLength = options.maxLength;
                    obj.thickness = !ej2_base_2.isNullOrUndefined(options.thickness) ? options.thickness : 1;
                    obj.borderColor = !ej2_base_2.isNullOrUndefined(options.borderColor) ? options.borderColor : '#303030';
                    if (options.font) {
                        obj.font = options.font;
                    }
                    else if (this.pdfViewer.textFieldSettings.fontStyle) {
                        obj.font = this.setTextBoxFontStyle(this.pdfViewer.textFieldSettings.fontStyle);
                    }
                    if (!ej2_base_2.isNullOrUndefined(options.value) || !ej2_base_2.isNullOrUndefined(obj.value)) {
                        var maxLen = obj.maxLength;
                        var val = !ej2_base_2.isNullOrUndefined(options.value) ? options.value : obj.value;
                        obj.value = (!ej2_base_2.isNullOrUndefined(maxLen) && maxLen > 0) ? val.substring(0, maxLen) : val;
                    }
                    break;
                case 'Password':
                    obj.formFieldAnnotationType = 'PasswordField';
                    obj.name = !ej2_base_2.isNullOrUndefined(options.name) ? options.name : 'Password' + this.formFieldIndex;
                    obj.maxLength = options.maxLength;
                    obj.thickness = !ej2_base_2.isNullOrUndefined(options.thickness) ?
                        options.thickness : 1;
                    obj.borderColor = !ej2_base_2.isNullOrUndefined(options.borderColor) ? options.borderColor : '#303030';
                    if (!ej2_base_2.isNullOrUndefined(options.value) || !ej2_base_2.isNullOrUndefined(obj.value)) {
                        var maxLenPwd = obj.maxLength;
                        var pwdVal = !ej2_base_2.isNullOrUndefined(options.value) ? options.value : obj.value;
                        obj.value = (!ej2_base_2.isNullOrUndefined(maxLenPwd) && maxLenPwd > 0) ? pwdVal.substring(0, maxLenPwd) : pwdVal;
                    }
                    break;
                case 'DropDown':
                    obj.formFieldAnnotationType = 'DropdownList';
                    obj.name = !ej2_base_2.isNullOrUndefined(options.name) ? options.name : 'Dropdown' + this.formFieldIndex;
                    obj.options = options.options ? options.options : [];
                    for (var i = 0; i < this.pdfViewer.formFieldCollection.length; i++) {
                        var formField = this.pdfViewer.formFieldCollection[parseInt(i.toString(), 10)];
                        if (formField.formFieldAnnotationType === 'DropdownList' && formField.name === obj.name) {
                            obj.options = formField.options;
                            break;
                        }
                    }
                    obj.selectedIndex = !ej2_base_2.isNullOrUndefined(options.selectedIndex) ? options.selectedIndex : [0];
                    obj.thickness = !ej2_base_2.isNullOrUndefined(options.thickness) ?
                        options.thickness : 1;
                    obj.borderColor = !ej2_base_2.isNullOrUndefined(options.borderColor) ? options.borderColor : '#303030';
                    if (options.font) {
                        obj.font = options.font;
                    }
                    else if (this.pdfViewer.DropdownFieldSettings.fontStyle) {
                        obj.font = this.setTextBoxFontStyle(this.pdfViewer.DropdownFieldSettings.fontStyle);
                    }
                    break;
                case 'ListBox':
                    obj.formFieldAnnotationType = formFieldType;
                    obj.name = !ej2_base_2.isNullOrUndefined(options.name) ? options.name : 'List Box' + this.formFieldIndex;
                    obj.options = options.options ? options.options : [];
                    for (var i = 0; i < this.pdfViewer.formFieldCollection.length; i++) {
                        var formField = this.pdfViewer.formFieldCollection[parseInt(i.toString(), 10)];
                        if (formField.formFieldAnnotationType === formFieldType && formField.name === obj.name) {
                            obj.options = formField.options;
                            break;
                        }
                    }
                    obj.selectedIndex = options.selectedIndex;
                    obj.thickness = !ej2_base_2.isNullOrUndefined(options.thickness) ?
                        options.thickness : 1;
                    obj.borderColor = !ej2_base_2.isNullOrUndefined(options.borderColor) ? options.borderColor : '#303030';
                    if (options.font) {
                        obj.font = options.font;
                    }
                    else if (this.pdfViewer.listBoxFieldSettings.fontStyle) {
                        obj.font = this.setTextBoxFontStyle(this.pdfViewer.listBoxFieldSettings.fontStyle);
                    }
                    break;
                case 'CheckBox':
                    obj.formFieldAnnotationType = 'Checkbox';
                    obj.bounds = { x: options.bounds.X, y: options.bounds.Y, width: options.bounds.Width, height: options.bounds.Height };
                    obj.backgroundColor = !ej2_base_2.isNullOrUndefined(options.backgroundColor) ? options.backgroundColor : '#daeaf7ff';
                    obj.isReadonly = options.isReadOnly ? options.isReadOnly : false;
                    obj.name = !ej2_base_2.isNullOrUndefined(options.name) ? options.name : 'Check Box' + this.formFieldIndex;
                    obj.isChecked = options.isChecked ? options.isChecked : false;
                    obj.visibility = options.visibility ? options.visibility : 'visible';
                    obj.isRequired = options.isRequired ? options.isRequired : false;
                    obj.thickness = !ej2_base_2.isNullOrUndefined(options.thickness) ?
                        options.thickness : 1;
                    obj.borderColor = !ej2_base_2.isNullOrUndefined(options.borderColor) ? options.borderColor : '#303030';
                    break;
                case 'RadioButton':
                    obj.formFieldAnnotationType = formFieldType;
                    obj.bounds = { x: options.bounds.X, y: options.bounds.Y, width: options.bounds.Width, height: options.bounds.Height };
                    obj.backgroundColor = !ej2_base_2.isNullOrUndefined(options.backgroundColor) ? options.backgroundColor : '#daeaf7ff';
                    obj.isReadonly = options.isReadOnly ? options.isReadOnly : false;
                    obj.name = !ej2_base_2.isNullOrUndefined(options.name) ? options.name : 'Radio Button' + this.formFieldIndex;
                    obj.isSelected = options.isSelected ? options.isSelected : false;
                    obj.visibility = options.visibility ? options.visibility : 'visible';
                    obj.isRequired = options.isRequired ? options.isRequired : false;
                    obj.thickness = !ej2_base_2.isNullOrUndefined(options.thickness) ?
                        options.thickness : 1;
                    obj.borderColor = !ej2_base_2.isNullOrUndefined(options.borderColor) ? options.borderColor : '#303030';
                    obj.isUnisonSelected = options.isUnisonSelected;
                    break;
                case 'SignatureField': {
                    obj.formFieldAnnotationType = formFieldType;
                    obj.bounds = { x: options.bounds.X, y: options.bounds.Y, width: options.bounds.Width, height: options.bounds.Height };
                    obj.isReadonly = this.pdfViewer.signatureFieldSettings.isReadOnly ? this.pdfViewer.signatureFieldSettings.isReadOnly :
                        (options.isReadOnly ? options.isReadOnly : false);
                    obj.backgroundColor = !ej2_base_2.isNullOrUndefined(options.backgroundColor) ?
                        pdfviewer_utlis_1.PdfViewerUtils.setTransparencyToHex(this.colorNametoHashValue(options.backgroundColor)) : obj.isReadonly ? 'trasnparent' : '#daeaf7ff';
                    obj.borderColor = !ej2_base_2.isNullOrUndefined(options.borderColor) ?
                        options.borderColor : '#303030';
                    obj.fontSize = !ej2_base_2.isNullOrUndefined(options.fontSize) ?
                        options.fontSize : 10;
                    obj.fontStyle = !ej2_base_2.isNullOrUndefined(options.fontStyle) ? options.fontStyle : 'None';
                    obj.name = !ej2_base_2.isNullOrUndefined(options.name) ? options.name : 'Signature' + this.formFieldIndex;
                    obj.isRequired = options.isRequired ? options.isRequired : false;
                    obj.thickness = !ej2_base_2.isNullOrUndefined(options.thickness) ? options.thickness : 1;
                    var indicatorSettings = options.signatureIndicatorSettings ?
                        options.signatureIndicatorSettings :
                        options.initialIndicatorSettings;
                    obj.signatureIndicatorSettings = indicatorSettings ? { opacity: indicatorSettings.opacity ? indicatorSettings.opacity : 1,
                        backgroundColor: indicatorSettings.backgroundColor ? indicatorSettings.backgroundColor : 'orange',
                        width: indicatorSettings.width ? indicatorSettings.width : 19,
                        height: indicatorSettings.height ? indicatorSettings.height : 10, fontSize: indicatorSettings.fontSize ?
                            indicatorSettings.fontSize : 10,
                        text: indicatorSettings.text ? indicatorSettings.text : null, color: indicatorSettings.color ? indicatorSettings.color : 'black'
                    } : null;
                    break;
                }
                case 'InitialField': {
                    obj.formFieldAnnotationType = formFieldType;
                    obj.bounds = { x: options.bounds.X, y: options.bounds.Y, width: options.bounds.Width, height: options.bounds.Height };
                    obj.isReadonly = this.pdfViewer.initialFieldSettings.isReadOnly ?
                        this.pdfViewer.initialFieldSettings.isReadOnly : (options.isReadOnly ? options.isReadOnly : false);
                    obj.backgroundColor = !ej2_base_2.isNullOrUndefined(options.backgroundColor) ?
                        pdfviewer_utlis_1.PdfViewerUtils.setTransparencyToHex(this.colorNametoHashValue(options.backgroundColor)) : obj.isReadonly ? 'trasnparent' :
                        '#daeaf7ff';
                    obj.borderColor = !ej2_base_2.isNullOrUndefined(options.borderColor) ?
                        options.borderColor : '#303030';
                    obj.fontSize = !ej2_base_2.isNullOrUndefined(options.fontSize) ?
                        options.fontSize : 10;
                    obj.thickness = !ej2_base_2.isNullOrUndefined(options.thickness) ? options.thickness : 1;
                    obj.fontStyle = !ej2_base_2.isNullOrUndefined(options.fontStyle) ? options.fontStyle : 'None';
                    obj.name = !ej2_base_2.isNullOrUndefined(options.name) ? options.name : 'Initial' + this.formFieldIndex;
                    obj.isRequired = options.isRequired ? options.isRequired : false;
                    obj.isInitialField = true;
                    var indicatorSettingsInitial = options.initialIndicatorSettings ?
                        options.initialIndicatorSettings :
                        options.signatureIndicatorSettings;
                    obj.signatureIndicatorSettings = indicatorSettingsInitial ? {
                        opacity: indicatorSettingsInitial.opacity ?
                            indicatorSettingsInitial.opacity : 1,
                        backgroundColor: indicatorSettingsInitial.backgroundColor ? indicatorSettingsInitial.backgroundColor : 'orange',
                        width: indicatorSettingsInitial.width ? indicatorSettingsInitial.width : 19,
                        height: indicatorSettingsInitial.height ? indicatorSettingsInitial.height : 10,
                        fontSize: indicatorSettingsInitial.fontSize ? indicatorSettingsInitial.fontSize : 10,
                        text: indicatorSettingsInitial.text ? indicatorSettingsInitial.text : null, color: indicatorSettingsInitial.color ? indicatorSettingsInitial.color : 'black'
                    } : null;
                    break;
                }
            }
            obj.tooltip = !ej2_base_2.isNullOrUndefined(options.tooltip) ? options.tooltip : '';
            this.setFormFieldIndex();
            var HTMLElement = null;
            if (isCollection) {
                this.addFieldCollection(obj);
            }
            else {
                HTMLElement = this.drawFormField(obj, isAddedProgrammatically);
            }
            return HTMLElement;
        };
        FormDesigner.prototype.addFieldCollection = function (node) {
            var formField = {
                id: ej2_drawings_1.randomId(), name: node.name, value: node.value,
                type: node.formFieldAnnotationType, isReadOnly: node.isReadonly, fontFamily: node.fontFamily,
                fontSize: node.fontSize, fontStyle: node.fontStyle, color: node.color,
                backgroundColor: node.backgroundColor, isMultiline: node.isMultiline,
                alignment: node.alignment, visibility: node.visibility,
                maxLength: node.maxLength, isRequired: node.isRequired,
                isPrint: node.isPrint, isSelected: node.isSelected,
                insertSpaces: node.insertSpaces, isChecked: node.isChecked,
                tooltip: node.tooltip, bounds: node.bounds, thickness: node.thickness,
                pageIndex: node.pageIndex, borderColor: node.borderColor,
                signatureIndicatorSettings: node.signatureIndicatorSettings,
                rotateAngle: node.rotateAngle, isTransparent: node.isTransparent,
                options: node.options, selectedIndex: node.selectedIndex,
                signatureType: node.signatureType, zIndex: node.zIndex,
                pageNumber: node.pageNumber, customData: node.customData
            };
            if (this.pdfViewer.isClearCollections) {
                this.pdfViewer.formFieldCollections = [];
            }
            this.pdfViewer.formFieldCollections.push(formField);
        };
        FormDesigner.prototype.drawFormField = function (obj, isAddedProgrammatically, action) {
            var node = this.pdfViewer.add(obj);
            var index = this.pdfViewer.formFieldCollections.findIndex(function (el) { return el.id === node.id; });
            var data;
            if (index > -1) {
                data = this.pdfViewer.formFieldCollections[parseInt(index.toString(), 10)];
                if (this.isFormFieldUpdated) {
                    this.updateNodeBasedOnCollections(node, data);
                }
            }
            var formFieldIndex = this.pdfViewer.formFieldCollection.findIndex(function (el) { return el.id === node.id; });
            if (formFieldIndex < 0) {
                this.pdfViewer.formFieldCollection.push(node);
            }
            else if (formFieldIndex > -1) {
                this.pdfViewer.formFieldCollection[parseInt(formFieldIndex.toString(), 10)] = node;
            }
            var formField = {
                id: node.id, name: node.name, value: node.value,
                type: node.formFieldAnnotationType, isReadOnly: node.isReadonly, fontFamily: node.fontFamily,
                fontSize: node.fontSize, fontStyle: node.fontStyle, color: node.color,
                backgroundColor: node.backgroundColor, isMultiline: node.isMultiline,
                alignment: node.alignment, visibility: node.visibility,
                maxLength: node.maxLength, isRequired: node.isRequired,
                isPrint: node.isPrint, isSelected: node.isSelected,
                isChecked: node.isChecked, tooltip: node.tooltip,
                bounds: node.bounds, pageIndex: node.pageIndex, thickness: node.thickness,
                borderColor: node.borderColor,
                signatureIndicatorSettings: node.signatureIndicatorSettings,
                insertSpaces: node.insertSpaces, rotateAngle: node.rotateAngle,
                isTransparent: node.isTransparent, options: node.options,
                selectedIndex: node.selectedIndex, signatureType: node.signatureType,
                zIndex: node.zIndex, pageNumber: node.pageNumber,
                customData: node.customData,
                isUnisonSelected: node.isUnisonSelected
            };
            if (index > -1) {
                this.pdfViewer.formFieldCollections[parseInt(index.toString(), 10)] = formField;
            }
            else {
                this.pdfViewer.formFieldCollections.push(formField);
            }
            var HTMLElement = this.drawHTMLContent(node.formFieldAnnotationType, node.wrapper.children[0], node, obj.pageNumber - 1, this.pdfViewer, null, isAddedProgrammatically, action);
            return HTMLElement;
        };
        FormDesigner.prototype.updateNodeBasedOnCollections = function (node, data) {
            node.name = data.name;
            node.value = data.value;
            node.isReadonly = data.isReadOnly;
            node.fontFamily = data.fontFamily;
            node.fontSize = data.fontSize;
            node.fontStyle = data.fontStyle.toString();
            node.color = data.color;
            node.backgroundColor = data.backgroundColor;
            node.alignment = data.alignment;
            node.visibility = data.visibility;
            node.maxLength = data.maxLength;
            node.isRequired = data.isRequired;
            node.isPrint = data.isPrint;
            node.isSelected = data.isSelected;
            node.isChecked = data.isChecked;
            node.tooltip = data.tooltip;
            node.thickness = data.thickness;
            node.borderColor = data.borderColor;
            node.customData = data.customData;
        };
        FormDesigner.prototype.setFormFieldMode = function (formFieldType, options) {
            if (this.pdfViewer.selectedItems && !ej2_base_2.isNullOrUndefined(this.pdfViewer.selectedItems.annotations) &&
                this.pdfViewer.selectedItems.annotations.length > 0 && this.pdfViewerBase.activeElements &&
                !ej2_base_2.isNullOrUndefined(this.pdfViewerBase.activeElements.activePageID)) {
                this.pdfViewer.clearSelection(this.pdfViewerBase.activeElements.activePageID);
            }
            var formFieldElement = document.getElementById('FormField_helper_html_element');
            if (this.pdfViewer.isFormDesignerToolbarVisible && formFieldElement) {
                formFieldElement.remove();
            }
            this.isAddFormFieldUi = true;
            switch (formFieldType) {
                case 'Textbox':
                    this.activateTextboxElement(formFieldType);
                    this.isSetFormFieldMode = true;
                    break;
                case 'Password': {
                    var passwordType = 'PasswordField';
                    this.activatePasswordField(passwordType);
                    this.isSetFormFieldMode = true;
                    break;
                }
                case 'CheckBox': {
                    var checkboxType = 'Checkbox';
                    this.activateCheckboxElement(checkboxType);
                    this.isSetFormFieldMode = true;
                    break;
                }
                case 'RadioButton':
                    this.activateRadioButtonElement(formFieldType);
                    this.isSetFormFieldMode = true;
                    break;
                case 'DropDown': {
                    var dropdownType = 'DropdownList';
                    this.activateDropDownListElement(dropdownType, options);
                    this.isSetFormFieldMode = true;
                    break;
                }
                case 'ListBox':
                    this.activateListboxElement(formFieldType, options);
                    this.isSetFormFieldMode = true;
                    break;
                case 'SignatureField':
                case 'InitialField':
                    this.activateSignatureBoxElement(formFieldType);
                    this.isSetFormFieldMode = true;
            }
        };
        FormDesigner.prototype.resetFormField = function (formFieldId) {
            var formField = this.getFormField(formFieldId);
            if (formField) {
                switch (formField.formFieldAnnotationType) {
                    case 'Textbox':
                        this.resetTextboxProperties(formField);
                        break;
                    case 'PasswordField':
                        this.resetPasswordProperties(formField);
                        break;
                    case 'Checkbox':
                        this.resetCheckboxProperties(formField);
                        break;
                    case 'RadioButton':
                        this.resetRadioButtonProperties(formField);
                        break;
                    case 'DropdownList':
                        this.resetDropdownListProperties(formField);
                        break;
                    case 'ListBox':
                        this.resetListBoxProperties(formField);
                        break;
                    case 'SignatureField':
                    case 'InitialField':
                        this.resetSignatureTextboxProperties(formField);
                        break;
                }
                this.updateSessionFormFieldProperties(formField);
            }
        };
        FormDesigner.prototype.selectFormField = function (formFieldId) {
            var formField = this.getFormField(formFieldId);
            if (formField) {
                this.isProgrammaticSelection = true;
                this.pdfViewer.select([formField.id]);
                this.isProgrammaticSelection = false;
            }
        };
        FormDesigner.prototype.updateFormField = function (formFieldId, options) {
            var formField = this.getFormField(formFieldId);
            this.isFormFieldUpdated = true;
            var selectedItem = this.pdfViewer.selectedItems.formFields[0];
            if (formField) {
                if (!formField.isReadonly || (!ej2_base_2.isNullOrUndefined(options.isReadOnly) && !options.isReadOnly)) {
                    switch (formField.formFieldAnnotationType) {
                        case 'Textbox':
                        case 'PasswordField':
                        case 'DropdownList':
                        case 'ListBox':
                        case 'SignatureField':
                        case 'InitialField': {
                            var inputElement = document.getElementById(formField.id + '_content_html_element');
                            if (inputElement) {
                                inputElement = inputElement.firstElementChild.firstElementChild;
                                this.isAddFormFieldProgrammatically = true;
                                this.formFieldPropertyChange(formField, options, inputElement, selectedItem);
                            }
                            else {
                                this.updateFormFieldsInCollections(formFieldId, options);
                                this.updateDesignerSession(formFieldId, options);
                                this.rerenderFormFields(formFieldId.pageIndex);
                            }
                            break;
                        }
                        case 'RadioButton': {
                            var radioButtonDivDivElement = document.getElementById(formField.id + '_content_html_element');
                            if (radioButtonDivDivElement) {
                                radioButtonDivDivElement = radioButtonDivDivElement.firstElementChild.firstElementChild.firstElementChild;
                                this.formFieldPropertyChange(formField, options, radioButtonDivDivElement);
                            }
                            else {
                                this.updateFormFieldsInCollections(formFieldId, options);
                                this.updateDesignerSession(formFieldId, options);
                            }
                            break;
                        }
                        case 'Checkbox': {
                            var checkboxDivElement = document.getElementById(formField.id + '_content_html_element');
                            if (checkboxDivElement) {
                                checkboxDivElement = checkboxDivElement.firstElementChild.firstElementChild.lastElementChild;
                                this.formFieldPropertyChange(formField, options, checkboxDivElement);
                            }
                            else {
                                this.updateFormFieldsInCollections(formFieldId, options);
                                this.updateDesignerSession(formFieldId, options);
                            }
                            break;
                        }
                    }
                }
            }
            else {
                this.updateFormFieldsInCollections(formFieldId, options);
                this.updateFormFieldsInFieldsSession(formFieldId, options);
            }
            this.isFormFieldUpdated = false;
        };
        FormDesigner.prototype.updateDesignerSession = function (formFieldId, options) {
            var fieldId = (typeof formFieldId === 'object') ? formFieldId.id : formFieldId;
            var actualObject = this.pdfViewer.nameTable["" + fieldId];
            var bound = actualObject.bounds;
            var wrapper = actualObject.wrapper.children[0];
            var type = actualObject.formFieldAnnotationType;
            var isEdited = false;
            if (!ej2_base_2.isNullOrUndefined(options.customData) && actualObject.customData !== options.customData) {
                actualObject.customData = options.customData;
                isEdited = true;
            }
            if (!ej2_base_2.isNullOrUndefined(options.name) && actualObject.name !== options.name) {
                actualObject.name = options.name;
                isEdited = true;
            }
            if (!ej2_base_2.isNullOrUndefined(options.borderColor) && actualObject.borderColor !== options.borderColor) {
                actualObject.borderColor = options.borderColor;
                isEdited = true;
            }
            if (!ej2_base_2.isNullOrUndefined(options.backgroundColor) && actualObject.backgroundColor !== options.backgroundColor) {
                actualObject.backgroundColor = options.backgroundColor;
                isEdited = true;
            }
            if (!ej2_base_2.isNullOrUndefined(options.value) && actualObject.value !== options.value) {
                actualObject.value = options.value;
                isEdited = true;
            }
            if (!ej2_base_2.isNullOrUndefined(options.isChecked) && actualObject.Selected !== options.isChecked) {
                actualObject.Selected = options.isChecked;
                isEdited = true;
            }
            if (!ej2_base_2.isNullOrUndefined(options.bounds) && actualObject.bounds.properties !== options.bounds) {
                var _a = options.bounds, X = _a.X, Y = _a.Y, Width = _a.Width, Height = _a.Height;
                var updatedBounds = { x: X, y: Y, width: Width, height: Height };
                if (actualObject.bounds.x !== updatedBounds.x ||
                    actualObject.bounds.y !== updatedBounds.y ||
                    actualObject.bounds.width !== updatedBounds.width ||
                    actualObject.bounds.height !== updatedBounds.height) {
                    actualObject.bounds = updatedBounds;
                }
                updatedBounds.x = updatedBounds.x + updatedBounds.width * 0.5;
                updatedBounds.y = updatedBounds.y + updatedBounds.height * 0.5;
                options.bounds = updatedBounds;
                this.pdfViewer.drawing.nodePropertyChange(actualObject, options);
                isEdited = true;
            }
            if (isEdited) {
                this.pdfViewerBase.updateDocumentEditedProperty(isEdited);
            }
            this.updateFormDesignerFieldInSessionStorage(bound, wrapper, type, actualObject);
        };
        FormDesigner.prototype.updateFormFieldsInFieldsSession = function (formFieldId, options) {
            var fieldsData = this.pdfViewerBase.getItemFromSessionStorage('_formfields');
            var isEdited = false;
            if (!ej2_base_2.isNullOrUndefined(fieldsData)) {
                var data = JSON.parse(fieldsData);
                var formFieldCollection = this.pdfViewer.formFieldCollections;
                if (typeof formFieldId !== 'object') {
                    for (var i = 0; i < formFieldCollection.length; i++) {
                        var currentData = formFieldCollection[parseInt(i.toString(), 10)];
                        if (currentData.id === formFieldId) {
                            formFieldId = currentData;
                        }
                    }
                }
                for (var x = 0; x < data.length; x++) {
                    if (data["" + x].FieldName === formFieldId.name) {
                        if (!ej2_base_2.isNullOrUndefined(options.customData) && data["" + x].CustomData !== options.customData) {
                            data["" + x].CustomData = options.customData;
                            isEdited = true;
                        }
                        if (!ej2_base_2.isNullOrUndefined(options.backgroundColor) && data["" + x].BackColor !== options.backgroundColor) {
                            var rgbaObj = this.getRgbCode(options.backgroundColor);
                            var rgbaValue = { R: rgbaObj.r, G: rgbaObj.g, B: rgbaObj.b, A: rgbaObj.a };
                            data["" + x].BackColor = rgbaValue;
                            isEdited = true;
                        }
                        if (!ej2_base_2.isNullOrUndefined(options.borderColor) && data["" + x].BorderColor !== options.borderColor) {
                            data["" + x].BorderColor = this.getRgbCode(options.borderColor);
                            isEdited = true;
                        }
                        if (!ej2_base_2.isNullOrUndefined(options.name) && data["" + x].Name !== options.name) {
                            data["" + x].Name = options.name;
                            isEdited = true;
                        }
                        if (!ej2_base_2.isNullOrUndefined(options.value) && (formFieldId.type === 'PasswordField' || formFieldId.type === 'Textbox')
                            && data["" + x].Text !== options.value) {
                            data["" + x].Text = options.value;
                            isEdited = true;
                        }
                        if (!ej2_base_2.isNullOrUndefined(options.value) && formFieldId.type !== 'PasswordField' && formFieldId.type !== 'Textbox'
                            && data["" + x].Value !== options.value) {
                            data["" + x].Value = options.value;
                            isEdited = true;
                        }
                        if (!ej2_base_2.isNullOrUndefined(options.isChecked) && data["" + x].Selected !== options.isChecked) {
                            data["" + x].Selected = options.isChecked;
                            isEdited = true;
                        }
                        if (!ej2_base_2.isNullOrUndefined(options.bounds)) {
                            var lineBounds = {
                                X: this.pdfViewer.formFieldsModule.ConvertPointToPixel(data['' + x].LineBounds.X),
                                Y: this.pdfViewer.formFieldsModule.ConvertPointToPixel(data['' + x].LineBounds.Y),
                                Width: this.pdfViewer.formFieldsModule.ConvertPointToPixel(data['' + x].LineBounds.Width),
                                Height: this.pdfViewer.formFieldsModule.ConvertPointToPixel(data['' + x].LineBounds.Height)
                            };
                            if (JSON.stringify(lineBounds) !== JSON.stringify(options.bounds)) {
                                var newLineBounds = {
                                    X: pdfviewer_utlis_1.PdfViewerUtils.convertPixelToPoint(options.bounds.X),
                                    Y: pdfviewer_utlis_1.PdfViewerUtils.convertPixelToPoint(options.bounds.Y),
                                    Width: pdfviewer_utlis_1.PdfViewerUtils.convertPixelToPoint(options.bounds.Width),
                                    Height: pdfviewer_utlis_1.PdfViewerUtils.convertPixelToPoint(options.bounds.Height)
                                };
                                data['' + x].LineBounds = newLineBounds;
                            }
                            isEdited = true;
                        }
                    }
                }
                if (isEdited) {
                    this.pdfViewerBase.updateDocumentEditedProperty(isEdited);
                }
                this.pdfViewerBase.setItemInSessionStorage(data, '_formfields');
            }
        };
        FormDesigner.prototype.updateFormFieldsInCollections = function (formFieldId, options) {
            var formFieldCollection = this.pdfViewer.formFieldCollections;
            var _loop_6 = function (i) {
                var currentData = formFieldCollection[parseInt(i.toString(), 10)];
                var fieldId = (typeof formFieldId === 'object') ? formFieldId.id : formFieldId;
                if (currentData.id === fieldId) {
                    this_6.updateFormFieldData(currentData, options);
                    var formFieldIndex = this_6.pdfViewer.formFieldCollections.findIndex(function (el) { return el.id === fieldId; });
                    this_6.pdfViewer.formFieldCollections[parseInt(formFieldIndex.toString(), 10)] = currentData;
                }
            };
            var this_6 = this;
            for (var i = 0; i < formFieldCollection.length; i++) {
                _loop_6(i);
            }
        };
        FormDesigner.prototype.updateFormFieldData = function (currentData, options) {
            if (options.name && currentData.name !== options.name) {
                currentData.name = options.name;
            }
            if (options.bounds) {
                var _a = options.bounds, X = _a.X, Y = _a.Y, Width = _a.Width, Height = _a.Height;
                var updatedBounds = { x: X, y: Y, width: Width, height: Height };
                if (currentData.bounds.x !== updatedBounds.x ||
                    currentData.bounds.y !== updatedBounds.y ||
                    currentData.bounds.width !== updatedBounds.width ||
                    currentData.bounds.height !== updatedBounds.height) {
                    currentData.bounds = updatedBounds;
                }
            }
            if (currentData.type !== 'SignatureField' || currentData.type !== 'InitialField') {
                if (options.thickness && currentData.thickness !== options.thickness) {
                    currentData.thickness = options.thickness;
                }
                if (options.borderColor) {
                    var borderColor = this.colorNametoHashValue(options.borderColor);
                    if (currentData.borderColor !== borderColor) {
                        currentData.borderColor = borderColor;
                    }
                }
            }
            if (options.backgroundColor) {
                var backColor = this.colorNametoHashValue(options.backgroundColor);
                if (currentData.backgroundColor !== backColor) {
                    currentData.backgroundColor = backColor;
                    var id = currentData.id;
                    if (!ej2_base_2.isNullOrUndefined(this.pdfViewer.nameTable["" + id])) {
                        this.pdfViewer.nameTable["" + id].backgroundColor = backColor;
                    }
                }
            }
            if (!ej2_base_2.isNullOrUndefined(options.customData) && currentData.customData !== options.customData) {
                currentData.customData = options.customData;
            }
            if (!ej2_base_2.isNullOrUndefined(options.isReadOnly) && currentData.isReadonly !== options.isReadOnly) {
                currentData.isReadOnly = options.isReadOnly;
            }
            if (!ej2_base_2.isNullOrUndefined(options.isRequired) && currentData.isRequired !== options.isRequired) {
                currentData.isRequired = options.isRequired;
            }
            if (!ej2_base_2.isNullOrUndefined(options.isPrint) && currentData.isPrint !== options.isPrint) {
                currentData.isPrint = options.isPrint;
            }
            if (options.visibility && currentData.visibility !== options.visibility) {
                currentData.visibility = options.visibility;
            }
            if (options.tooltip && currentData.tooltip !== options.tooltip) {
                currentData.tooltip = options.tooltip;
            }
            if (currentData.type === 'Checkbox' && (!ej2_base_2.isNullOrUndefined(options.isChecked) && currentData.isChecked !== options.isChecked)) {
                currentData.isChecked = options.isChecked;
            }
            if (currentData.type === 'RadioButton' && (!ej2_base_2.isNullOrUndefined(options.isSelected) && currentData.isSelected !== options.isSelected)) {
                currentData.isSelected = options.isSelected;
            }
            if ((currentData.type === 'DropdownList' || currentData.type === 'ListBox') && options.options) {
                currentData.options = options.options;
            }
            if (currentData.type === 'Textbox' || currentData.type === 'SignatureField' || currentData.type === 'InitialField' ||
                currentData.type === 'DropdownList' || currentData.type === 'ListBox' ||
                currentData.type === 'PasswordField') {
                if (options.value && currentData.value !== options.value) {
                    currentData.value = options.value;
                }
                if (options.fontSize && currentData.fontSize !== options.fontSize) {
                    currentData.fontSize = options.fontSize;
                }
                if (options.color) {
                    var color = this.colorNametoHashValue(options.color);
                    if (currentData.color !== color) {
                        currentData.color = color;
                    }
                }
                if (currentData.type !== 'SignatureField') {
                    if (options.alignment && currentData.alignment !== options.alignment) {
                        currentData.alignment = options.alignment;
                    }
                    if (options.maxLength && currentData.maxLength !== options.maxLength) {
                        currentData.maxLength = options.maxLength;
                    }
                }
                if (currentData.type !== 'PasswordField') {
                    if (options.fontFamily && currentData.fontFamily !== options.fontFamily) {
                        currentData.fontFamily = options.fontFamily;
                    }
                    if (options.fontStyle && currentData.fontStyle !== options.fontStyle) {
                        currentData.fontStyle = options.fontStyle;
                    }
                }
            }
        };
        FormDesigner.prototype.formFieldPropertyChange = function (formFieldObject, options, htmlElement, selectedItem) {
            var isValueChanged = false;
            var isFontFamilyChanged = false;
            var isFontSizeChanged = false;
            var isFontStyleChanged = false;
            var isColorChanged = false;
            var isBackgroundColorChanged = false;
            var isBorderColorChanged = false;
            var isBorderWidthChanged = false;
            var isAlignmentChanged = false;
            var isReadOnlyChanged = false;
            var isVisibilityChanged = false;
            var isMaxLengthChanged = false;
            var isRequiredChanged = false;
            var isPrintChanged = false;
            var isToolTipChanged = false;
            var isCustomDataChanged = false;
            var isNameChanged = false;
            var isBoundsChanged = false;
            var oldValue;
            var newValue;
            var zoomValue = this.pdfViewerBase.getZoomFactor();
            if (options.name) {
                if (formFieldObject.name !== options.name) {
                    isNameChanged = true;
                }
                formFieldObject.name = options.name;
                var designerName = document.getElementById(formFieldObject.id + '_designer_name');
                designerName.innerHTML = formFieldObject.name;
                designerName.style.fontSize = formFieldObject.fontSize ? (formFieldObject.fontSize * zoomValue) + 'px' : (10 * zoomValue) + 'px';
                htmlElement.name = options.name;
                this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].name = formFieldObject.name;
                if (isNameChanged) {
                    this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, oldValue, newValue, isNameChanged);
                }
            }
            if (formFieldObject.formFieldAnnotationType) {
                if (!ej2_base_2.isNullOrUndefined(options.thickness)) {
                    if (formFieldObject.thickness !== options.thickness) {
                        isBorderWidthChanged = true;
                        oldValue = formFieldObject.thickness;
                        newValue = options.thickness;
                    }
                    htmlElement.style.borderWidth = options.thickness.toString() + 'px';
                    formFieldObject.thickness = options.thickness;
                    this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].thickness = options.thickness;
                    if (isBorderWidthChanged) {
                        this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, false, false, false, false, false, false, false, isBorderWidthChanged, false, false, false, false, false, false, false, false, oldValue, newValue);
                    }
                }
                if (options.borderColor) {
                    var borderColor = this.colorNametoHashValue(options.borderColor);
                    if (formFieldObject.borderColor !== borderColor) {
                        isBorderColorChanged = true;
                        oldValue = formFieldObject.borderColor;
                        newValue = borderColor;
                    }
                    formFieldObject.borderColor = borderColor;
                    htmlElement.style.borderColor = borderColor;
                    if (formFieldObject.formFieldAnnotationType === 'RadioButton') {
                        htmlElement.parentElement.style.boxShadow = borderColor + ' 0px 0px 0px ' + formFieldObject.thickness + 'px';
                        this.setToolTip(options.tooltip, htmlElement.parentElement);
                    }
                    this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].borderColor = borderColor;
                    if (isBorderColorChanged) {
                        this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, false, false, false, false, false, false, isBorderColorChanged, false, false, false, false, false, false, false, false, false, oldValue, newValue);
                    }
                }
            }
            if (options.backgroundColor) {
                var backColor = this.colorNametoHashValue(options.backgroundColor);
                backColor = formFieldObject.formFieldAnnotationType === 'SignatureField' || formFieldObject.formFieldAnnotationType ===
                    'InitialField' ? pdfviewer_utlis_1.PdfViewerUtils.setTransparencyToHex(backColor) : pdfviewer_utlis_1.PdfViewerUtils.removeAlphaValueFromHex(backColor);
                if (formFieldObject.backgroundColor !== backColor) {
                    isBackgroundColorChanged = true;
                    oldValue = formFieldObject.backgroundColor;
                    newValue = backColor;
                }
                formFieldObject.backgroundColor = backColor;
                if (formFieldObject.formFieldAnnotationType === 'SignatureField' || formFieldObject.formFieldAnnotationType === 'InitialField') {
                    htmlElement.parentElement.style.background = backColor;
                }
                else {
                    htmlElement.style.background = backColor;
                }
                if (formFieldObject.formFieldAnnotationType === 'RadioButton') {
                    htmlElement.parentElement.style.background = formFieldObject.backgroundColor;
                }
                this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].backgroundColor = backColor;
                if (isBackgroundColorChanged) {
                    this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, false, false, false, false, false, isBackgroundColorChanged, false, false, false, false, false, false, false, false, false, false, oldValue, newValue);
                }
            }
            if (options.bounds) {
                var formBounds = formFieldObject.bounds;
                var optionBounds = options.bounds;
                if (formBounds.x !== optionBounds.X ||
                    formBounds.y !== optionBounds.Y ||
                    formBounds.width !== optionBounds.Width ||
                    formBounds.height !== optionBounds.Height) {
                    isBoundsChanged = true;
                }
                options.bounds.X = options.bounds.X + options.bounds.Width * 0.5;
                options.bounds.Y = options.bounds.Y + options.bounds.Height * 0.5;
                formFieldObject.bounds = { x: options.bounds.X, y: options.bounds.Y, width: options.bounds.Width,
                    height: options.bounds.Height };
                var formField_1 = this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]];
                formField_1.bounds = { x: options.bounds.X, y: options.bounds.Y, width: options.bounds.Width, height: options.bounds.Height };
                formField_1.wrapper.bounds = new ej2_drawings_1.Rect(options.bounds.X, options.bounds.Y, options.bounds.Width, options.bounds.Height);
                this.pdfViewer.drawing.nodePropertyChange(formField_1, {
                    bounds: {
                        x: formField_1.wrapper.bounds.x, y: formField_1.wrapper.bounds.y,
                        width: formField_1.wrapper.bounds.width, height: formField_1.wrapper.bounds.height
                    }
                });
                var element = formField_1.wrapper.children[0];
                var point = ej2_drawings_1.cornersPointsBeforeRotation(formField_1.wrapper.children[0]).topLeft;
                var hEment = document.getElementById(element.id + '_html_element');
                if (!ej2_base_2.isNullOrUndefined(hEment)) {
                    hEment.style.cssText = "height: " + element.actualSize.height * zoomValue + "px;\n                width: " + element.actualSize.width * zoomValue + "px;left: " + point.x * zoomValue + "px;top: " + point.y * zoomValue + "px;\n                position: absolute;transform: rotate(" + (element.rotateAngle + element.parentTransform) + "deg);\n                pointer-events: " + (this.pdfViewer.designerMode ? 'none' : 'all') + ";visibility: " + (element.visible ? 'visible' : 'hidden') + ";\n                opacity: " + element.style.opacity + ";";
                }
                this.isFormFieldSizeUpdated = true;
                this.pdfViewer.select([formFieldObject.id]);
                if (formField_1.formFieldAnnotationType === 'RadioButton' || formField_1.formFieldAnnotationType === 'Checkbox') {
                    this.updateHTMLElement(formFieldObject);
                }
            }
            if (!ej2_base_2.isNullOrUndefined(options.isRequired)) {
                if (formFieldObject.isRequired !== options.isRequired) {
                    isRequiredChanged = true;
                    oldValue = formFieldObject.isRequired;
                    newValue = options.isRequired;
                }
                formFieldObject.isRequired = options.isRequired;
                this.setRequiredToElement(formFieldObject, htmlElement, options.isRequired);
                this.setRequiredToFormField(formFieldObject, options.isRequired);
                this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].isRequired = options.isRequired;
                if (isRequiredChanged) {
                    this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, false, false, false, false, false, false, false, false, false, false, false, false, isRequiredChanged, false, false, false, oldValue, newValue);
                }
            }
            if (options.visibility) {
                if (formFieldObject.visibility !== options.visibility) {
                    isVisibilityChanged = true;
                    oldValue = formFieldObject.visibility;
                    newValue = options.visibility;
                }
                formFieldObject.visibility = options.visibility;
                htmlElement.style.visibility = options.visibility;
                if (formFieldObject.formFieldAnnotationType === 'RadioButton' || formFieldObject.formFieldAnnotationType === 'ListBox' ||
                    formFieldObject.formFieldAnnotationType === 'DropdownList') {
                    htmlElement.parentElement.style.visibility = formFieldObject.visibility;
                }
                if (formFieldObject.formFieldAnnotationType === 'SignatureField' || formFieldObject.formFieldAnnotationType === 'InitialField') {
                    htmlElement.parentElement.style.visibility = formFieldObject.visibility;
                    var annotation = this.pdfViewer.nameTable[formFieldObject.id.split('_')[0] + '_content'];
                    var data = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
                    var formFieldsData = JSON.parse(data);
                    var index = this.getFormFiledIndex(formFieldObject.id.split('_')[0]);
                    if (formFieldObject.visibility === 'hidden') {
                        if (annotation) {
                            this.hideSignatureValue(formFieldObject, annotation, index, formFieldsData);
                        }
                    }
                    else {
                        if (annotation) {
                            this.showSignatureValue(formFieldObject, oldValue, annotation, index, formFieldsData);
                        }
                    }
                }
                this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].visibility = options.visibility;
                if (isVisibilityChanged) {
                    this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, false, false, false, false, false, false, false, false, false, false, isVisibilityChanged, false, false, false, false, false, oldValue, newValue);
                }
            }
            if (!ej2_base_2.isNullOrUndefined(options.isPrint)) {
                if (formFieldObject.isPrint !== options.isPrint) {
                    isPrintChanged = true;
                    oldValue = formFieldObject.isPrint;
                    newValue = options.isPrint;
                }
                formFieldObject.isPrint = options.isPrint;
                this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].isPrint = options.isPrint;
                if (isPrintChanged) {
                    this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, false, false, false, false, false, false, false, false, false, false, false, false, false, isPrintChanged, false, false, oldValue, newValue);
                }
            }
            if (!ej2_base_2.isNullOrUndefined(options.tooltip)) {
                if (formFieldObject.tooltip !== options.tooltip) {
                    isToolTipChanged = true;
                    oldValue = formFieldObject.tooltip;
                    newValue = options.tooltip;
                }
                formFieldObject.tooltip = options.tooltip;
                if (!ej2_base_2.isNullOrUndefined(options.tooltip)) {
                    if (formFieldObject.formFieldAnnotationType === 'RadioButton') {
                        this.setToolTip(options.tooltip, htmlElement.parentElement);
                    }
                    else {
                        this.setToolTip(options.tooltip, htmlElement);
                    }
                }
                this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].tooltip = options.tooltip;
                if (isToolTipChanged) {
                    this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, false, false, false, false, false, false, false, false, false, false, false, false, false, false, isToolTipChanged, false, oldValue, newValue);
                }
            }
            if (!ej2_base_2.isNullOrUndefined(options.customData)) {
                if (formFieldObject.customData !== options.customData) {
                    isCustomDataChanged = true;
                    oldValue = formFieldObject.customData;
                    newValue = options.customData;
                }
                formFieldObject.customData = options.customData;
                this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].customData = options.customData;
                if (isCustomDataChanged) {
                    this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, isCustomDataChanged, oldValue, newValue);
                }
            }
            if ((formFieldObject.formFieldAnnotationType === 'Checkbox') && ((!ej2_base_2.isNullOrUndefined(options.isChecked)) || options.isChecked || options.value)) {
                if (!ej2_base_2.isNullOrUndefined(options.isChecked) && formFieldObject.isChecked !==
                    this.checkboxCheckedState) {
                    isValueChanged = true;
                    oldValue = formFieldObject.isChecked;
                    newValue = options.isChecked;
                }
                formFieldObject.isChecked = options.isChecked;
                htmlElement.checked = options.isChecked;
                this.setCheckedValue(htmlElement, options.isChecked);
                this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].isChecked = options.isChecked;
                if (options.value || options.isChecked) {
                    if (formFieldObject.value !== options.value) {
                        isValueChanged = true;
                        oldValue = formFieldObject.value;
                        newValue = options.value;
                    }
                    formFieldObject.value = options.value;
                    this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].value = options.value;
                    if (isValueChanged) {
                        this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, isValueChanged, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, oldValue, newValue);
                    }
                }
            }
            if (formFieldObject.formFieldAnnotationType === 'RadioButton' && ((!ej2_base_2.isNullOrUndefined(options.isSelected)) || options.isSelected || options.value)) {
                if (!ej2_base_2.isNullOrUndefined(options.isSelected) && formFieldObject.isSelected !==
                    options.isSelected) {
                    isValueChanged = true;
                    oldValue = formFieldObject.isSelected;
                    newValue = this.checkboxCheckedState;
                }
                formFieldObject.isSelected = options.isSelected;
                htmlElement.checked = options.isSelected;
                this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].isSelected = options.isSelected;
                if (options.value || options.isSelected) {
                    if (formFieldObject.value !== options.value) {
                        isValueChanged = true;
                        oldValue = formFieldObject.value;
                        newValue = options.value;
                    }
                    formFieldObject.value = options.value;
                    this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].value = options.value;
                    if (isValueChanged) {
                        this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, isValueChanged, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, oldValue, newValue);
                    }
                }
            }
            if (formFieldObject.formFieldAnnotationType === 'DropdownList' || formFieldObject.formFieldAnnotationType === 'ListBox') {
                if (options.options) {
                    formFieldObject.options = options.options;
                    formFieldObject.selectedIndex = [];
                    formFieldObject.selectedIndex.push(0);
                    this.updateDropDownListDataSource(formFieldObject, htmlElement);
                    this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].options = formFieldObject.options;
                }
            }
            if (formFieldObject.formFieldAnnotationType === 'Textbox' || formFieldObject.formFieldAnnotationType === 'SignatureField' || formFieldObject.formFieldAnnotationType === 'InitialField' ||
                formFieldObject.formFieldAnnotationType === 'DropdownList' || formFieldObject.formFieldAnnotationType === 'ListBox'
                || formFieldObject.formFieldAnnotationType === 'PasswordField') {
                if (options.value || options.isMultiline) {
                    if (!ej2_base_2.isNullOrUndefined(options.value) && formFieldObject.value !==
                        options.value) {
                        isValueChanged = true;
                        oldValue = formFieldObject.value;
                        newValue = options.value;
                    }
                    formFieldObject.value = options.value ? options.value : formFieldObject.value;
                    if (formFieldObject.formFieldAnnotationType === 'Textbox' && options.isMultiline) {
                        this.addMultilineTextbox(formFieldObject, 'e-pv-formfield-input', true);
                        this.multilineCheckboxCheckedState = true;
                        if (document.getElementById(formFieldObject.id + '_content_html_element')) {
                            this.updateTextboxFormDesignerProperties(formFieldObject);
                        }
                        else {
                            this.updateFormFieldPropertiesInCollections(formFieldObject);
                        }
                    }
                    if (!ej2_base_2.isNullOrUndefined(options.isMultiline) && formFieldObject.isMultiline !==
                        options.isMultiline) {
                        isValueChanged = true;
                        formFieldObject.isMultiline = options.isMultiline;
                    }
                    if (!(formFieldObject.formFieldAnnotationType === 'DropdownList' || formFieldObject.formFieldAnnotationType === 'ListBox') && !ej2_base_2.isNullOrUndefined(options.value)) {
                        htmlElement.value = options.value;
                    }
                    else if (formFieldObject.formFieldAnnotationType === 'DropdownList' || formFieldObject.formFieldAnnotationType === 'ListBox') {
                        formFieldObject.selectedIndex = [];
                        for (var i = 0; i < htmlElement.options.length; i++) {
                            if (htmlElement.options[parseInt(i.toString(), 10)].text === options.value) {
                                htmlElement.options.selectedIndex = i;
                                formFieldObject.selectedIndex.push(i);
                            }
                        }
                        if (!ej2_base_2.isNullOrUndefined(options.selectedIndex) && formFieldObject.selectedIndex !==
                            options.selectedIndex) {
                            formFieldObject.selectedIndex = options.selectedIndex;
                            htmlElement.options.selectedIndex = options.selectedIndex;
                        }
                    }
                    this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].value = options.value ? options.value : formFieldObject.value;
                    if (isValueChanged) {
                        this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, isValueChanged, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, oldValue, newValue);
                    }
                }
                else if (!ej2_base_2.isNullOrUndefined(options) &&
                    !ej2_base_2.isNullOrUndefined(options.isMultiline) && !options.isMultiline) {
                    this.renderTextbox(selectedItem);
                    this.multilineCheckboxCheckedState = true;
                    if (document.getElementById(selectedItem.id + '_content_html_element')) {
                        this.updateTextboxFormDesignerProperties(selectedItem);
                    }
                    else {
                        this.updateFormFieldPropertiesInCollections(selectedItem);
                    }
                }
                if (options.fontSize) {
                    if (formFieldObject.fontSize !== options.fontSize) {
                        isFontSizeChanged = true;
                        oldValue = formFieldObject.fontSize;
                        newValue = options.fontSize;
                    }
                    formFieldObject.fontSize = options.fontSize;
                    htmlElement.style.fontSize = (options.fontSize * zoomValue) + 'px';
                    this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].fontSize = options.fontSize;
                    if (isFontSizeChanged) {
                        this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, false, false, isFontSizeChanged, false, false, false, false, false, false, false, false, false, false, false, false, false, oldValue, newValue);
                    }
                }
                if (options.color) {
                    var color = this.colorNametoHashValue(options.color);
                    if (formFieldObject.color !== color) {
                        isColorChanged = true;
                        oldValue = formFieldObject.color;
                        newValue = color;
                    }
                    formFieldObject.color = color;
                    htmlElement.style.color = color;
                    this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].color = color;
                    if (isColorChanged) {
                        this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, false, false, false, false, isColorChanged, false, false, false, false, false, false, false, false, false, false, false, oldValue, newValue);
                    }
                }
                if (formFieldObject.formFieldAnnotationType !== 'SignatureField') {
                    if (options.alignment) {
                        if (formFieldObject.alignment !== options.alignment) {
                            isAlignmentChanged = true;
                            oldValue = formFieldObject.alignment;
                            newValue = options.alignment;
                        }
                        formFieldObject.alignment = options.alignment;
                        htmlElement.style.textAlign = options.alignment;
                        this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].alignment = options.alignment;
                        if (isAlignmentChanged) {
                            this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, false, false, false, false, false, false, false, false, isAlignmentChanged, false, false, false, false, false, false, false, oldValue, newValue);
                        }
                    }
                    if (options.maxLength) {
                        if (formFieldObject.maxLength !== options.maxLength) {
                            isMaxLengthChanged = true;
                            oldValue = formFieldObject.maxLength;
                            newValue = options.maxLength;
                        }
                        formFieldObject.maxLength = options.maxLength;
                        htmlElement.maxLength = options.maxLength;
                        this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].maxLength = options.maxLength;
                        if (isMaxLengthChanged) {
                            this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, false, false, false, false, false, false, false, false, false, false, false, isMaxLengthChanged, false, false, false, false, oldValue, newValue);
                        }
                    }
                }
                if (formFieldObject.formFieldAnnotationType !== 'PasswordField') {
                    if (options.fontFamily) {
                        if (formFieldObject.fontFamily !== options.fontFamily) {
                            isFontFamilyChanged = true;
                            oldValue = formFieldObject.fontFamily;
                            newValue = options.fontFamily;
                        }
                        formFieldObject.fontFamily = options.fontFamily;
                        htmlElement.style.fontFamily = options.fontFamily;
                        this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].fontFamily = options.fontFamily;
                        if (isFontFamilyChanged) {
                            this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, false, isFontFamilyChanged, false, false, false, false, false, false, false, false, false, false, false, false, false, false, oldValue, newValue);
                        }
                    }
                    var oldFontStyle = '';
                    var newFontStyle = '';
                    if (!ej2_base_2.isNullOrUndefined(options.fontStyle)) {
                        oldFontStyle += formFieldObject.font.isBold ? 'Bold' + ', ' : '';
                        oldFontStyle += formFieldObject.font.isItalic ? 'Italic' + ', ' : '';
                        oldFontStyle += formFieldObject.font.isStrikeout ? 'Strikethrough' + ', ' : '';
                        oldFontStyle += formFieldObject.font.isUnderline ? 'Underline' + ', ' : '';
                        if ((!ej2_base_2.isNullOrUndefined(options.fontStyle)) && (options.fontStyle === types_1.FontStyle.None)) {
                            htmlElement.style.fontWeight = '';
                            htmlElement.style.fontStyle = '';
                            formFieldObject.fontStyle = '';
                            htmlElement.style.textDecoration = '';
                            formFieldObject.font.isBold = false;
                            formFieldObject.font.isItalic = false;
                            formFieldObject.font.isUnderline = false;
                            formFieldObject.font.isStrikeout = false;
                            this.setDropdownFontStyleValue(htmlElement, 'none', '');
                            this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].font.isBold = false;
                            this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].font.isItalic = false;
                            this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].font.isUnderline = false;
                            this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].font.isStrikeout = false;
                            newFontStyle = '';
                        }
                        else {
                            if ((options.fontStyle & types_1.FontStyle.Bold) !== 0) {
                                htmlElement.style.fontWeight = 'bold';
                                formFieldObject.fontStyle = 'Bold';
                                formFieldObject.font.isBold = true;
                                this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].font.isBold = true;
                                this.setDropdownFontStyleValue(htmlElement, 'bold', 'bold');
                            }
                            newFontStyle += formFieldObject.font.isBold ? 'Bold' + ', ' : '';
                            if ((options.fontStyle & types_1.FontStyle.Italic) !== 0) {
                                htmlElement.style.fontStyle = 'italic';
                                formFieldObject.fontStyle = 'Italic';
                                formFieldObject.font.isItalic = true;
                                this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].font.isItalic = true;
                            }
                            newFontStyle += formFieldObject.font.isItalic ? 'Italic' + ', ' : '';
                            if ((options.fontStyle & types_1.FontStyle.Strikethrough) !== 0) {
                                htmlElement.style.textDecoration = 'line-through';
                                formFieldObject.font.isStrikeout = true;
                                formFieldObject.fontStyle = 'Strikethrough';
                                this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].font.isStrikeout = true;
                            }
                            newFontStyle += formFieldObject.font.isStrikeout ? 'Strikethrough' + ', ' : '';
                            if ((options.fontStyle & types_1.FontStyle.Underline) !== 0) {
                                htmlElement.style.textDecoration = 'underline';
                                formFieldObject.fontStyle = 'Underline';
                                formFieldObject.font.isUnderline = true;
                                this.pdfViewer.nameTable[formFieldObject.id.split('_')[0]].font.isUnderline = true;
                            }
                            newFontStyle += formFieldObject.font.isUnderline ? 'Underline' + ', ' : '';
                        }
                        isFontStyleChanged = true;
                        if (isFontStyleChanged) {
                            this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, false, false, false, isFontStyleChanged, false, false, false, false, false, false, false, false, false, false, false, false, oldFontStyle, newFontStyle);
                        }
                    }
                }
            }
            if (!ej2_base_2.isNullOrUndefined(options.isReadOnly)) {
                if (formFieldObject.isReadonly !== options.isReadOnly) {
                    isReadOnlyChanged = true;
                    oldValue = formFieldObject.isReadonly;
                    newValue = options.isReadOnly;
                }
                formFieldObject.isReadonly = options.isReadOnly;
                this.setReadOnlyProperty(formFieldObject, htmlElement);
                if (formFieldObject.formFieldAnnotationType === 'RadioButton') {
                    htmlElement.parentElement.style.pointerEvents = options.isReadOnly ? 'none' : 'auto';
                    var data = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
                    var formFieldsData = JSON.parse(data);
                    for (var i = 0; i < formFieldsData.length; i++) {
                        if (formFieldsData[parseInt(i.toString(), 10)].FormField.id.split('_')[0] === formFieldObject.id) {
                            for (var j = 0; j < formFieldsData[parseInt(i.toString(), 10)].FormField.radiobuttonItem.length; j++) {
                                var radiobuttonItem = formFieldsData[parseInt(i.toString(), 10)].FormField.
                                    radiobuttonItem[parseInt(j.toString(), 10)];
                                var currentElement = document.getElementById(radiobuttonItem.id + '_html_element').firstElementChild.firstElementChild.firstElementChild;
                                currentElement.parentElement.style.pointerEvents = options.isReadOnly ? 'none' : 'auto';
                                radiobuttonItem.isReadonly = formFieldObject.isReadonly;
                                this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.
                                    radiobuttonItem[parseInt(j.toString(), 10)].isReadonly = formFieldObject.isReadonly;
                                this.setReadOnlyProperty(radiobuttonItem, currentElement);
                                this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.
                                    radiobuttonItem[parseInt(j.toString(), 10)].backgroundColor = typeof radiobuttonItem.backgroundColor
                                    !== 'object' ? this.getRgbCode(radiobuttonItem.backgroundColor) :
                                    radiobuttonItem.backgroundColor;
                            }
                            formFieldsData[parseInt(i.toString(), 10)].FormField.isReadonly = formFieldObject.isReadonly;
                            this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.isReadonly =
                                formFieldObject.isReadonly;
                        }
                    }
                }
                else {
                    htmlElement.style.pointerEvents = options.isReadOnly ? (options.isMultiline ? 'auto' : 'none') : 'auto';
                }
                if (isReadOnlyChanged) {
                    this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', formFieldObject, false, false, false, false, false, false, false, false, false, isReadOnlyChanged, false, false, false, false, false, false, oldValue, newValue);
                }
            }
            if ((formFieldObject.formFieldAnnotationType === 'SignatureField' && options.signatureIndicatorSettings) || (formFieldObject.formFieldAnnotationType === 'InitialField' && options.initialIndicatorSettings)) {
                formFieldObject = this.updateSignatureandInitialIndicator(formFieldObject, options, htmlElement);
            }
            this.updateSessionFormFieldProperties(formFieldObject);
            var formField = {
                id: formFieldObject.id, name: formFieldObject.name,
                value: formFieldObject.value,
                type: formFieldObject.formFieldAnnotationType, isReadOnly: formFieldObject.isReadonly,
                fontFamily: formFieldObject.fontFamily,
                fontSize: formFieldObject.fontSize, fontStyle: formFieldObject.fontStyle,
                color: formFieldObject.color,
                backgroundColor: formFieldObject.backgroundColor,
                alignment: formFieldObject.alignment,
                visibility: formFieldObject.visibility,
                maxLength: formFieldObject.maxLength,
                isRequired: formFieldObject.isRequired,
                isPrint: formFieldObject.isPrint, tooltip: formFieldObject.tooltip,
                bounds: formFieldObject.bounds, thickness: formFieldObject.thickness,
                borderColor: formFieldObject.borderColor, pageIndex: formFieldObject.pageIndex,
                insertSpaces: formFieldObject.insertSpaces,
                isTransparent: formFieldObject.isTransparent,
                options: formFieldObject.options,
                pageNumber: formFieldObject.pageNumber,
                rotateAngle: formFieldObject.rotateAngle,
                selectedIndex: formFieldObject.selectedIndex,
                signatureIndicatorSettings: formFieldObject.signatureIndicatorSettings,
                signatureType: formFieldObject.signatureType, zIndex: formFieldObject.zIndex,
                isChecked: formFieldObject.isChecked,
                isMultiline: formFieldObject.isMultiline,
                isSelected: formFieldObject.isSelected,
                customData: formFieldObject.customData
            };
            this.pdfViewer.formFieldCollections[this.pdfViewer.formFieldCollections.findIndex(function (el) { return el.id === formField.id; })] = formField;
            this.pdfViewer.formFieldCollection[this.pdfViewer.formFieldCollection.
                findIndex(function (el) { return el.id === formField.id; })] = formFieldObject;
            if (isValueChanged || isFontFamilyChanged || isFontSizeChanged || isFontStyleChanged || isColorChanged ||
                isBackgroundColorChanged || isBorderColorChanged || isBorderWidthChanged || isAlignmentChanged || isReadOnlyChanged
                || isVisibilityChanged || isRequiredChanged || isPrintChanged || isToolTipChanged || isCustomDataChanged ||
                isNameChanged || isMaxLengthChanged || isBoundsChanged) {
                this.pdfViewerBase.updateDocumentEditedProperty(true);
            }
        };
        FormDesigner.prototype.colorNametoHashValue = function (colorString) {
            var colorCode = colorString;
            if (!colorCode.match(/#([a-z0-9]+)/gi) && !colorCode.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/)) {
                colorCode = this.nameToHash(colorCode);
            }
            return colorCode !== '' ? colorCode : colorString;
        };
        FormDesigner.prototype.getFormField = function (formFieldId) {
            var formField;
            var formFieldCollectionObject;
            if (typeof formFieldId === 'object') {
                formFieldCollectionObject = this.getAnnotationsFromAnnotationCollections(formFieldId.id);
                if (formFieldCollectionObject) {
                    formField = this.pdfViewer.nameTable[formFieldCollectionObject.id];
                }
            }
            if (typeof formFieldId === 'string') {
                formFieldCollectionObject = this.getAnnotationsFromAnnotationCollections(formFieldId);
                if (formFieldCollectionObject) {
                    formField = this.pdfViewer.nameTable[formFieldCollectionObject.id];
                }
            }
            return formField;
        };
        FormDesigner.prototype.resetTextboxProperties = function (obj) {
            var inputElement = document.getElementById(obj.id + '_content_html_element').firstElementChild.firstElementChild;
            if (inputElement) {
                obj.name = 'textboxField';
                obj.value = '';
                obj.fontFamily = 'Helvetica';
                obj.fontSize = 10;
                obj.fontStyle = 'None';
                obj.color = 'black';
                obj.backgroundColor = '#daeaf7ff';
                obj.alignment = 'left';
                obj.visibility = 'visible';
                obj.isReadonly = false;
                obj.isRequired = false;
                obj.tooltip = '';
                obj.isPrint = true;
                obj.borderColor = '#303030';
                obj.thickness = 1;
                obj.maxLength = 0;
                this.updateTextboxProperties(obj, inputElement);
            }
        };
        FormDesigner.prototype.resetPasswordProperties = function (obj) {
            var inputElement = document.getElementById(obj.id + '_content_html_element').firstElementChild.firstElementChild;
            if (inputElement) {
                obj.name = 'passswordField';
                obj.value = '';
                obj.fontFamily = 'Helvetica';
                obj.fontSize = 10;
                obj.fontStyle = 'None';
                obj.color = 'black';
                obj.backgroundColor = '#daeaf7ff';
                obj.alignment = 'left';
                obj.visibility = 'visible';
                obj.isReadonly = false;
                obj.isRequired = false;
                obj.tooltip = '';
                obj.isPrint = true;
                obj.borderColor = '#303030';
                obj.thickness = 1;
                obj.maxLength = 0;
                this.updatePasswordFieldProperties(obj, inputElement);
            }
        };
        FormDesigner.prototype.resetCheckboxProperties = function (obj) {
            var inputElement = document.getElementById(obj.id + '_content_html_element').firstElementChild.firstElementChild;
            if (inputElement) {
                obj.name = 'checkboxField';
                obj.isChecked = false;
                obj.backgroundColor = '#daeaf7ff';
                obj.visibility = 'visible';
                obj.isReadonly = false;
                obj.isRequired = false;
                obj.tooltip = '';
                obj.isPrint = true;
                obj.borderColor = '#303030';
                obj.thickness = 1;
                this.updateCheckboxProperties(obj, inputElement);
            }
        };
        FormDesigner.prototype.resetRadioButtonProperties = function (obj) {
            var inputElement = document.getElementById(obj.id + '_content_html_element').firstElementChild.firstElementChild;
            if (inputElement) {
                obj.name = 'RadioButtonField';
                obj.isSelected = false;
                obj.backgroundColor = '#daeaf7ff';
                obj.visibility = 'visible';
                obj.isReadonly = false;
                obj.isRequired = false;
                obj.tooltip = '';
                obj.isPrint = true;
                obj.borderColor = '#303030';
                obj.thickness = 1;
                this.updateRadioButtonProperties(obj, inputElement);
            }
        };
        FormDesigner.prototype.resetDropdownListProperties = function (obj) {
            var inputElement = document.getElementById(obj.id + '_content_html_element').firstElementChild.firstElementChild;
            if (inputElement) {
                obj.name = 'dropDownField';
                obj.value = '';
                obj.fontFamily = 'Helvetica';
                obj.fontSize = 10;
                obj.fontStyle = 'None';
                obj.color = 'black';
                obj.backgroundColor = '#daeaf7ff';
                obj.alignment = 'left';
                obj.visibility = 'visible';
                obj.isReadonly = false;
                obj.isRequired = false;
                obj.tooltip = '';
                obj.isPrint = true;
                obj.borderColor = '#303030';
                obj.thickness = 1;
                obj.options = [];
                this.updateDropdownListProperties(obj, inputElement);
                if (obj.options) {
                    this.updateDropDownListDataSource(obj, inputElement);
                }
            }
        };
        FormDesigner.prototype.resetListBoxProperties = function (obj) {
            var inputElement = document.getElementById(obj.id + '_content_html_element').firstElementChild.firstElementChild;
            if (inputElement) {
                obj.name = 'listBoxField';
                obj.value = '';
                obj.fontFamily = 'Helvetica';
                obj.fontSize = 10;
                obj.fontStyle = 'None';
                obj.color = 'black';
                obj.backgroundColor = '#daeaf7ff';
                obj.alignment = 'left';
                obj.visibility = 'visible';
                obj.isReadonly = false;
                obj.isRequired = false;
                obj.tooltip = '';
                obj.isPrint = true;
                obj.borderColor = '#303030';
                obj.thickness = 1;
                obj.options = [];
                this.updateListBoxProperties(obj, inputElement);
                if (obj.options) {
                    this.updateDropDownListDataSource(obj, inputElement);
                }
            }
        };
        FormDesigner.prototype.resetSignatureTextboxProperties = function (obj) {
            var inputElement = document.getElementById(obj.id + '_content_html_element').firstElementChild.firstElementChild;
            if (inputElement) {
                obj.name = 'signatureField';
                obj.value = '';
                obj.fontFamily = 'Helvetica';
                obj.fontSize = 10;
                obj.fontStyle = 'None';
                obj.color = 'black';
                obj.backgroundColor = '#daeaf7ff';
                obj.isRequired = false;
                obj.isReadonly = false;
                obj.tooltip = '';
                obj.isPrint = true;
                obj.visibility = 'visible';
                this.updateSignatureFieldProperties(obj, inputElement);
            }
        };
        FormDesigner.prototype.deleteFormField = function (formFieldId, addAction) {
            if (addAction === void 0) { addAction = true; }
            var formField = this.getFormField(formFieldId);
            if (ej2_base_2.isNullOrUndefined(formField) && formFieldId) {
                var data = this.pdfViewerBase.getItemFromSessionStorage('_formfields');
                var FormfieldsData = JSON.parse(data);
                this.pdfViewer.formFieldCollection =
                    this.pdfViewer.formFieldCollection.filter(function (field) { return formFieldId.id !== field.id; });
                for (var i = 0; i < this.pdfViewer.formFieldCollections.length; i++) {
                    if (formFieldId.id === this.pdfViewer.formFieldCollections[parseInt(i.toString(), 10)].id) {
                        for (var j = 0; j < FormfieldsData.length; j++) {
                            if (formFieldId.name === FormfieldsData[parseInt(j.toString(), 10)].FieldName) {
                                FormfieldsData.splice(j, 1);
                                var field = this.pdfViewer.formFieldCollections[parseInt(j.toString(), 10)];
                                this.pdfViewer.formFieldCollections.splice(i, 1);
                                var stringify = JSON.stringify(FormfieldsData);
                                this.pdfViewerBase.sessionStorageManager.setItem(this.pdfViewerBase.documentId + '_formfields', stringify);
                                this.pdfViewer.fireFormFieldRemoveEvent('formFieldRemove', field, field.pageIndex);
                                if (addAction && this.pdfViewer.annotation) {
                                    this.pdfViewer.annotation.addAction(field.pageIndex, null, field, 'Delete', '', field, field);
                                }
                            }
                        }
                    }
                }
            }
            if (formField) {
                this.clearSelection(formFieldId);
                this.pdfViewer.remove(formField);
                this.pdfViewer.renderDrawing();
                if (!ej2_base_2.isNullOrUndefined(this.pdfViewer.toolbar) && !ej2_base_2.isNullOrUndefined(this.pdfViewer.toolbar.formDesignerToolbarModule)) {
                    this.pdfViewer.toolbar.formDesignerToolbarModule.showHideDeleteIcon(false);
                }
                if (this.pdfViewerBase.formFieldCollection.length > 0) {
                    this.pdfViewerBase.enableFormFieldButton(true);
                }
                else {
                    this.pdfViewerBase.enableFormFieldButton(false);
                }
                if (addAction && this.pdfViewer.annotation) {
                    this.pdfViewer.annotation.addAction(this.pdfViewerBase.currentPageNumber, null, formField, 'Delete', '', formField, formField);
                }
            }
        };
        FormDesigner.prototype.clearSelection = function (formFieldId) {
            var formField;
            var formFieldCollectionObject;
            if (typeof formFieldId === 'object') {
                formFieldCollectionObject = this.getAnnotationsFromAnnotationCollections(formFieldId.id);
                formField = this.pdfViewer.nameTable[formFieldCollectionObject.id];
            }
            if (typeof formFieldId === 'string') {
                formFieldCollectionObject = this.getAnnotationsFromAnnotationCollections(formFieldId);
                formField = this.pdfViewer.nameTable[formFieldCollectionObject.id];
            }
            if (formField && (this.pdfViewer.selectedItems && !ej2_base_2.isNullOrUndefined(this.pdfViewer.selectedItems.
                properties.formFields) && this.pdfViewer.selectedItems.properties.formFields.length > 0 &&
                this.pdfViewer.selectedItems.properties.formFields[0].id === formField.id)) {
                var pageId = !ej2_base_2.isNullOrUndefined(this.pdfViewerBase.activeElements.activePageID) ?
                    this.pdfViewerBase.activeElements.activePageID : formField.pageIndex;
                this.pdfViewer.clearSelection(pageId);
            }
        };
        FormDesigner.prototype.setMode = function (mode) {
            if (mode && mode.indexOf('designer') !== -1) {
                this.enableDisableFormFieldsInteraction(true);
                this.pdfViewerBase.disableTextSelectionMode();
            }
            else {
                this.enableDisableFormFieldsInteraction(false);
                this.pdfViewer.toolbarModule.updateInteractionItems();
            }
        };
        FormDesigner.prototype.enableDisableFormFieldsInteraction = function (enableDesignerMode) {
            var collections = this.pdfViewer.formFieldCollection;
            if (collections && collections.length > 0) {
                for (var i = 0; i < collections.length; i++) {
                    var element = document.getElementById(collections[parseInt(i.toString(), 10)].id + '_content_html_element');
                    var designerName = document.getElementById(collections[parseInt(i.toString(), 10)].id + '_designer_name');
                    if (element) {
                        if (enableDesignerMode) {
                            this.pdfViewer.designerMode = true;
                            element.style.pointerEvents = 'none';
                            designerName.innerHTML = collections[parseInt(i.toString(), 10)].name;
                            var zoomValue = this.pdfViewerBase.getZoomFactor();
                            designerName.style.fontSize = this.defaultFontSize + 'px';
                            designerName.style.position = 'absolute';
                            switch (collections[parseInt(i.toString(), 10)].formFieldAnnotationType) {
                                case 'Textbox':
                                case 'PasswordField':
                                case 'DropdownList':
                                case 'ListBox':
                                case 'SignatureField':
                                case 'InitialField':
                                case 'RadioButton': {
                                    var inputElement = document.getElementById(collections[parseInt(i.toString(), 10)].id + '_content_html_element').firstElementChild.firstElementChild;
                                    inputElement.style.pointerEvents = 'none';
                                    break;
                                }
                                case 'Checkbox': {
                                    var checkboxDivElement = document.getElementById(collections[parseInt(i.toString(), 10)].id + '_content_html_element').firstElementChild.firstElementChild.lastElementChild;
                                    checkboxDivElement.style.pointerEvents = 'none';
                                    break;
                                }
                            }
                        }
                        else {
                            this.pdfViewer.designerMode = false;
                            element.style.pointerEvents = 'all';
                            designerName.innerHTML = '';
                            designerName.style.position = 'initial';
                            if (collections[parseInt(i.toString(), 10)].formFieldAnnotationType === 'RadioButton') {
                                this.updateRadioButtonDesignerProperties(collections[parseInt(i.toString(), 10)], true);
                            }
                            if (collections[parseInt(i.toString(), 10)].formFieldAnnotationType === 'Checkbox') {
                                this.updateCheckboxFormDesignerProperties(collections[parseInt(i.toString(), 10)], true);
                            }
                            switch (collections[parseInt(i.toString(), 10)].formFieldAnnotationType) {
                                case 'Textbox':
                                case 'PasswordField':
                                case 'DropdownList':
                                case 'ListBox':
                                case 'SignatureField':
                                case 'InitialField':
                                case 'RadioButton': {
                                    var inputElement = document.getElementById(collections[parseInt(i.toString(), 10)].id + '_content_html_element').firstElementChild.firstElementChild;
                                    inputElement.style.pointerEvents = collections[parseInt(i.toString(), 10)].isReadonly ? (collections[parseInt(i.toString(), 10)].isMultiline ? 'auto' : 'none') : 'auto';
                                    break;
                                }
                                case 'Checkbox': {
                                    var checkboxDivElement = document.getElementById(collections[parseInt(i.toString(), 10)].id + '_content_html_element').firstElementChild.firstElementChild.lastElementChild;
                                    checkboxDivElement.style.pointerEvents = collections[parseInt(i.toString(), 10)].isReadonly ? (collections[parseInt(i.toString(), 10)].isMultiline ? 'auto' : 'none') : 'auto';
                                    break;
                                }
                            }
                            this.pdfViewer.clearSelection(collections[parseInt(i.toString(), 10)].pageIndex);
                        }
                    }
                }
            }
        };
        FormDesigner.prototype.getAnnotationsFromAnnotationCollections = function (annotationId) {
            var collections = this.pdfViewer.formFieldCollection;
            if (collections && annotationId) {
                for (var i = 0; i < collections.length; i++) {
                    if (collections[parseInt(i.toString(), 10)].id === annotationId) {
                        return collections[parseInt(i.toString(), 10)];
                    }
                }
            }
        };
        FormDesigner.prototype.updateSignatureValue = function (formFieldId) {
            for (var i = 0; i < this.pdfViewerBase.formFieldCollection.length; i++) {
                if (formFieldId === this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.id) {
                    this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.value = '';
                    this.pdfViewer.nameTable[this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.id.split('_')[0]].value = '';
                    this.pdfViewer.nameTable[this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.id].value = '';
                    this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.signatureType = '';
                    this.pdfViewer.nameTable[this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.id.split('_')[0]].signatureType = '';
                    this.pdfViewer.nameTable[this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.id].signatureType = '';
                }
            }
        };
        FormDesigner.prototype.removeFieldsFromAnnotationCollections = function (annotationId, fieldName) {
            var data = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
            var formFieldsData = JSON.parse(data);
            var sessiondata = this.pdfViewerBase.getItemFromSessionStorage('_formfields');
            var sessionformFields;
            if (!ej2_base_2.isNullOrUndefined(sessiondata)) {
                sessionformFields = JSON.parse(sessiondata);
            }
            for (var i = 0; i < formFieldsData.length; i++) {
                if (formFieldsData[parseInt(i.toString(), 10)].Key.split('_')[0] === annotationId) {
                    formFieldsData.splice(i, 1);
                    this.pdfViewerBase.formFieldCollection.splice(i, 1);
                    break;
                }
            }
            if (!ej2_base_2.isNullOrUndefined(sessionformFields)) {
                for (var i = 0; i < sessionformFields.length; i++) {
                    if (sessionformFields[parseInt(i.toString(), 10)].FieldName === fieldName) {
                        sessionformFields.splice(parseInt(i.toString(), 10), 1);
                        sessionStorage.setItem(this.pdfViewerBase.documentId + '_formfields', JSON.stringify(sessionformFields));
                        break;
                    }
                }
            }
            this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
            var storeObject = this.pdfViewer.annotationsCollection.get(this.pdfViewerBase.documentId + '_annotations_shape');
            if (storeObject) {
                var index = this.pdfViewer.annotationModule.getPageCollection(storeObject, this.pdfViewerBase.currentPageNumber - 1);
                if (index != null && storeObject[parseInt(index.toString(), 10)]) {
                    for (var m = 0; m < storeObject[parseInt(index.toString(), 10)].annotations.length; m++) {
                        if (annotationId === storeObject[parseInt(index.toString(), 10)].annotations[parseInt(m.toString(), 10)].id) {
                            storeObject[parseInt(index.toString(), 10)].annotations.splice(m, 1);
                            break;
                        }
                    }
                    this.pdfViewer.annotationsCollection.set(this.pdfViewerBase.documentId + '_annotations_shape', storeObject);
                }
            }
            var collections = this.pdfViewer.formFieldCollection;
            if (collections && annotationId) {
                for (var i = 0; i < collections.length; i++) {
                    if (collections[parseInt(i.toString(), 10)].formFieldId === annotationId) {
                        this.pdfViewer.formFieldCollection.splice(i, 1);
                    }
                }
            }
        };
        FormDesigner.prototype.setFormFieldIndex = function () {
            if (this.pdfViewer.formFieldCollections.length > 0) {
                var lastFormField = this.pdfViewer.formFieldCollections[this.pdfViewer.formFieldCollections.length - 1];
                var lastFormFieldIndex = lastFormField && lastFormField.name ? (!isNaN(parseInt(lastFormField.name.match(/\d+/), 10)) ?
                    parseInt(lastFormField.name.match(/\d+/), 10) : this.pdfViewer.formFieldCollections.length) : null;
                if (this.isAddFormFieldUi) {
                    this.formFieldIndex = this.formFieldIndex > this.pdfViewer.formFieldCollections.length ?
                        lastFormFieldIndex + 1 : this.pdfViewer.formFieldCollections.length + 1;
                }
                else {
                    this.formFieldIndex = isNaN(lastFormFieldIndex) ? this.formFieldIndex + 1 : lastFormFieldIndex + 1;
                }
            }
            else {
                this.formFieldIndex++;
            }
            return this.formFieldIndex;
        };
        FormDesigner.prototype.setFormFieldIdIndex = function () {
            this.formFieldIdIndex = this.formFieldIdIndex + 1;
            return this.formFieldIdIndex;
        };
        FormDesigner.prototype.activateTextboxElement = function (formFieldType) {
            this.pdfViewer.drawingObject = {
                formFieldAnnotationType: formFieldType,
                name: 'Textbox' + this.setFormFieldIndex(), value: '', fontFamily: 'Helvetica', fontSize: this.defaultFontSize, fontStyle: 'None', color: 'black',
                backgroundColor: '#daeaf7ff', thickness: 1, borderColor: '#303030', alignment: 'left', isReadonly: false, visibility: 'visible', isRequired: false, isPrint: true, rotateAngle: 0, tooltip: '', customData: '', font: { isItalic: false, isBold: false, isStrikeout: false, isUnderline: false }
            };
            this.pdfViewer.tool = 'DrawTool';
        };
        FormDesigner.prototype.activatePasswordField = function (formFieldType) {
            this.pdfViewer.drawingObject = {
                formFieldAnnotationType: formFieldType,
                name: 'Password' + this.setFormFieldIndex(), value: '', fontFamily: 'Helvetica', fontSize: this.defaultFontSize, fontStyle: 'None', color: 'black',
                alignment: 'left', backgroundColor: '#daeaf7ff', thickness: 1, borderColor: '#303030', isReadonly: false, visibility: 'visible', isRequired: false, isPrint: true, rotateAngle: 0, tooltip: '', customData: '', font: { isItalic: false, isBold: false, isStrikeout: false, isUnderline: false }
            };
            this.pdfViewer.tool = 'DrawTool';
        };
        FormDesigner.prototype.activateCheckboxElement = function (formFieldType) {
            this.pdfViewer.drawingObject = {
                formFieldAnnotationType: formFieldType,
                name: 'Check Box' + this.setFormFieldIndex(), isChecked: false, fontSize: this.defaultFontSize, backgroundColor: '#daeaf7ff', color: 'black', thickness: 1, borderColor: '#303030', isReadonly: false, visibility: 'visible', isPrint: true, rotateAngle: 0, tooltip: '', customData: ''
            };
            this.pdfViewer.tool = 'DrawTool';
        };
        FormDesigner.prototype.activateRadioButtonElement = function (formFieldType) {
            this.pdfViewer.drawingObject = {
                formFieldAnnotationType: formFieldType,
                name: 'Radio Button' + this.setFormFieldIndex(), isSelected: false, fontSize: this.defaultFontSize, backgroundColor: '#daeaf7ff', color: 'black', thickness: 1, borderColor: '#303030', isReadonly: false, visibility: 'visible', isPrint: true, rotateAngle: 0, tooltip: '', customData: ''
            };
            this.pdfViewer.tool = 'DrawTool';
        };
        FormDesigner.prototype.activateDropDownListElement = function (formFieldType, dropDownOptions) {
            this.pdfViewer.drawingObject = {
                formFieldAnnotationType: formFieldType,
                name: 'Dropdown' + this.setFormFieldIndex(), fontFamily: 'Helvetica', fontSize: this.defaultFontSize, fontStyle: 'None', color: 'black', backgroundColor: '#daeaf7ff', thickness: 1, borderColor: '#303030',
                alignment: 'left', isReadonly: false, visibility: 'visible', isRequired: false, isPrint: true, rotateAngle: 0, tooltip: '', customData: '',
                options: dropDownOptions, isMultiSelect: false, font: { isItalic: false, isBold: false, isStrikeout: false, isUnderline: false }
            };
            this.pdfViewer.tool = 'DrawTool';
        };
        FormDesigner.prototype.activateListboxElement = function (formFieldType, listBoxOptions) {
            this.pdfViewer.drawingObject = {
                formFieldAnnotationType: formFieldType,
                name: 'List Box' + this.setFormFieldIndex(), fontFamily: 'Helvetica', fontSize: this.defaultFontSize, fontStyle: 'None', color: 'black', backgroundColor: '#daeaf7ff', thickness: 1, borderColor: '#303030',
                alignment: 'left', isReadonly: false, visibility: 'visible', isRequired: false, isPrint: true, rotateAngle: 0, tooltip: '', customData: '',
                options: listBoxOptions, isMultiSelect: true, font: { isItalic: false, isBold: false, isStrikeout: false, isUnderline: false }
            };
            this.pdfViewer.tool = 'DrawTool';
        };
        FormDesigner.prototype.activateSignatureBoxElement = function (formFieldType) {
            var propertyValues = { opacity: 1, backgroundColor: 'rgba(255, 228, 133, 0.35)', width: 19, height: 10, fontSize: this.defaultFontSize, text: null, color: 'black' };
            switch (formFieldType) {
                case 'SignatureField':
                    if (!ej2_base_2.isNullOrUndefined(this.pdfViewer.signatureFieldSettings.signatureIndicatorSettings)) {
                        propertyValues = this.pdfViewer.signatureFieldSettings.signatureIndicatorSettings;
                    }
                    break;
                case 'InitialField':
                    if (!ej2_base_2.isNullOrUndefined(this.pdfViewer.initialFieldSettings.initialIndicatorSettings)) {
                        propertyValues = this.pdfViewer.initialFieldSettings.initialIndicatorSettings;
                    }
                    break;
                default:
                    break;
            }
            this.pdfViewer.drawingObject = {
                formFieldAnnotationType: formFieldType,
                name: formFieldType === 'InitialField' || this.pdfViewer.isInitialFieldToolbarSelection ? 'Initial' + this.setFormFieldIndex() : 'Signature' + this.setFormFieldIndex(), fontFamily: 'Helvetica', fontSize: this.defaultFontSize, fontStyle: 'None', color: 'black', backgroundColor: '#daeaf7ff', alignment: 'left',
                isReadonly: false, visibility: 'visible', isRequired: false, isPrint: true, rotateAngle: 0, tooltip: '', customData: '', font: { isItalic: false, isBold: false, isStrikeout: false, isUnderline: false },
                isInitialField: formFieldType === 'InitialField' || this.pdfViewer.isInitialFieldToolbarSelection, signatureIndicatorSettings: { opacity: propertyValues.opacity, backgroundColor: propertyValues.backgroundColor, width: propertyValues.width, height: propertyValues.height, fontSize: propertyValues.fontSize, text: propertyValues.text, color: propertyValues.color }
            };
            this.pdfViewer.tool = 'DrawTool';
        };
        FormDesigner.prototype.updateTextboxProperties = function (obj, inputElement, isPrint) {
            var fillColor = '#daeaf7ff';
            inputElement.name = obj.name ? obj.name : 'Textbox' + this.setFormFieldIndex();
            inputElement.value = obj.value ? obj.value : '';
            var zoomValue = isPrint ? this.defaultZoomValue : this.pdfViewerBase.getZoomFactor();
            if (obj.insertSpaces) {
                var font = ((obj.bounds.width * zoomValue / obj.maxLength) - (obj.fontSize * zoomValue / 2)) - (0.6 * zoomValue);
                inputElement.style.letterSpacing = '' + font + 'px';
                inputElement.style.fontFamily = 'monospace';
                inputElement.style.paddingLeft = (font / 2) + 'px';
            }
            else {
                inputElement.style.fontFamily = obj.fontFamily ? obj.fontFamily : 'Helvetica';
            }
            inputElement.style.fontSize = obj.fontSize ? (obj.fontSize * zoomValue) + 'px' : (10 * zoomValue) + 'px';
            if (obj.font.isBold) {
                inputElement.style.fontWeight = 'bold';
            }
            if (obj.font.isItalic) {
                inputElement.style.fontStyle = 'italic';
            }
            if (obj.font.isUnderline && obj.font.isStrikeout) {
                inputElement.style.textDecoration = 'underline line-through';
            }
            else if (obj.font.isStrikeout) {
                inputElement.style.textDecoration = 'line-through';
            }
            else if (obj.font.isUnderline) {
                inputElement.style.textDecoration = 'underline';
            }
            if (obj.isTransparent && obj.borderColor === '#ffffffff') {
                inputElement.style.backgroundColor = 'transparent';
                inputElement.style.borderColor = 'transparent';
            }
            else {
                inputElement.style.backgroundColor = obj.backgroundColor ? obj.backgroundColor : '#daeaf7ff';
                inputElement.style.borderColor = obj.borderColor ? obj.borderColor : '#303030';
            }
            inputElement.style.color = obj.color ? obj.color : 'black';
            inputElement.style.borderWidth = !ej2_base_2.isNullOrUndefined(obj.thickness) ? obj.thickness + 'px' : '1px';
            inputElement.style.textAlign = obj.alignment ? obj.alignment.toLowerCase() : 'left';
            inputElement.style.direction = this.pdfViewer.enableRtl ? 'rtl' : '';
            inputElement.style.visibility = obj.visibility ? obj.visibility : 'visible';
            inputElement.style.pointerEvents = obj.isReadonly ? (obj.isMultiline ? 'default' : 'none') : 'default';
            inputElement.style.resize = obj.isMultiline && !this.pdfViewer.isFormDesignerToolbarVisible ? 'none' : 'default';
            if (obj.isReadonly) {
                inputElement.disabled = true;
                inputElement.style.cursor = 'default';
                inputElement.style.backgroundColor = obj.backgroundColor !== fillColor ? obj.backgroundColor : 'transparent';
            }
            if (obj.isRequired) {
                inputElement.required = true;
                inputElement.style.border = '1px solid red';
                inputElement.style.borderWidth = !ej2_base_2.isNullOrUndefined(obj.thickness) ? obj.thickness + 'px' : '1px';
            }
            if (!ej2_base_2.isNullOrUndefined(obj.maxLength)) {
                inputElement.maxLength = obj.maxLength === 0 ? 524288 : obj.maxLength;
            }
            inputElement.tabIndex = this.formFieldIndex;
            inputElement.setAttribute('aria-label', this.pdfViewer.element.id + 'formfilldesigner');
        };
        FormDesigner.prototype.updatePasswordFieldProperties = function (obj, inputElement, isPrint) {
            var fillColor = '#daeaf7ff';
            inputElement.name = obj.name ? obj.name : 'Password' + this.setFormFieldIndex();
            inputElement.value = obj.value ? obj.value : '';
            inputElement.style.fontFamily = obj.fontFamily ? obj.fontFamily : 'Helvetica';
            var zoomValue = isPrint ? this.defaultZoomValue : this.pdfViewerBase.getZoomFactor();
            inputElement.style.fontSize = obj.fontSize ? (obj.fontSize * zoomValue) + 'px' : (10 * zoomValue) + 'px';
            if (obj.font.isBold) {
                inputElement.style.fontWeight = 'bold';
            }
            if (obj.font.isItalic) {
                inputElement.style.fontStyle = 'italic';
            }
            if (obj.font.isStrikeout) {
                inputElement.style.textDecoration = 'line-through';
            }
            if (obj.font.isUnderline) {
                inputElement.style.textDecoration = 'underline';
            }
            inputElement.style.borderWidth = !ej2_base_2.isNullOrUndefined(obj.thickness) ? obj.thickness + 'px' : '1px';
            inputElement.style.color = obj.color ? obj.color : 'black';
            inputElement.style.backgroundColor = obj.backgroundColor ? obj.backgroundColor : '#daeaf7ff';
            inputElement.style.borderColor = obj.borderColor ? obj.borderColor : '#303030';
            inputElement.style.textAlign = obj.alignment ? obj.alignment.toLowerCase() : 'left';
            inputElement.style.direction = this.pdfViewer.enableRtl ? 'rtl' : '';
            inputElement.style.visibility = obj.visibility ? obj.visibility : 'visible';
            inputElement.style.pointerEvents = obj.isReadonly ? 'none' : 'default';
            if (obj.isReadonly) {
                inputElement.disabled = true;
                inputElement.style.cursor = 'default';
                inputElement.style.backgroundColor = obj.backgroundColor !== fillColor ? obj.backgroundColor : 'transparent';
            }
            if (obj.isRequired) {
                inputElement.required = true;
                inputElement.style.border = '1px solid red';
                inputElement.style.borderWidth = !ej2_base_2.isNullOrUndefined(obj.thickness) ? obj.thickness + 'px' : '1px';
            }
            if (!ej2_base_2.isNullOrUndefined(obj.maxLength)) {
                inputElement.maxLength = obj.maxLength === 0 ? 524288 : obj.maxLength;
            }
            inputElement.tabIndex = this.formFieldIndex;
        };
        FormDesigner.prototype.updateCheckboxProperties = function (obj, inputElement) {
            var fillColor = '#daeaf7ff';
            inputElement.name = obj.name ? obj.name : 'Check Box' + this.setFormFieldIndex();
            inputElement.checked = obj.isChecked ? true : false;
            if (obj.isTransparent && obj.borderColor === '#ffffffff') {
                inputElement.style.backgroundColor = 'transparent';
                inputElement.style.borderColor = 'transparent';
            }
            else {
                inputElement.style.backgroundColor = obj.backgroundColor ? obj.backgroundColor : '#daeaf7ff';
                inputElement.style.borderColor = obj.borderColor ? obj.borderColor : '#303030';
            }
            inputElement.style.visibility = obj.visibility ? obj.visibility : 'visible';
            inputElement.style.pointerEvents = obj.isReadonly ? 'none' : 'default';
            inputElement.style.borderWidth = !ej2_base_2.isNullOrUndefined(obj.thickness) ? obj.thickness + 'px' : '1px';
            if (obj.isReadonly) {
                inputElement.disabled = true;
                inputElement.style.cursor = 'default';
                inputElement.style.backgroundColor = obj.backgroundColor !== fillColor ? obj.backgroundColor : 'transparent';
            }
            if (obj.isRequired) {
                inputElement.required = true;
                inputElement.style.border = '1px solid red';
                inputElement.style.borderWidth = !ej2_base_2.isNullOrUndefined(obj.thickness) ? obj.thickness + 'px' : '1px';
            }
            inputElement.tabIndex = this.formFieldIndex;
        };
        FormDesigner.prototype.updateRadioButtonProperties = function (obj, inputElement, labelElement) {
            var fillColor = '#daeaf7ff';
            inputElement.checked = obj.isSelected ? true : false;
            inputElement.style.backgroundColor = obj.backgroundColor ? obj.backgroundColor : '#daeaf7ff';
            inputElement.style.borderColor = obj.borderColor ? obj.borderColor : '#303030';
            inputElement.style.visibility = obj.visibility ? obj.visibility : 'visible';
            if (!ej2_base_2.isNullOrUndefined(labelElement)) {
                labelElement.style.pointerEvents = obj.isReadonly ? 'none' : 'default';
            }
            else {
                inputElement.style.pointerEvents = obj.isReadonly ? 'none' : 'default';
            }
            inputElement.style.borderWidth = !ej2_base_2.isNullOrUndefined(obj.thickness) ? obj.thickness + 'px' : '1px';
            if (obj.isReadonly) {
                inputElement.disabled = true;
                inputElement.style.cursor = 'default';
                inputElement.style.backgroundColor = obj.backgroundColor !== fillColor ? obj.backgroundColor : 'transparent';
            }
            if (obj.isRequired) {
                inputElement.required = true;
                inputElement.style.border = '1px solid red';
                inputElement.style.borderWidth = !ej2_base_2.isNullOrUndefined(obj.thickness) ? obj.thickness + 'px' : '1px';
            }
            inputElement.tabIndex = this.formFieldIndex;
        };
        FormDesigner.prototype.updateDropdownListProperties = function (obj, inputElement, isPrint) {
            var fillColor = '#daeaf7ff';
            inputElement.name = obj.name ? obj.name : 'Dropdown' + this.setFormFieldIndex();
            inputElement.value = obj.value ? obj.value : '';
            inputElement.style.fontFamily = obj.fontFamily ? obj.fontFamily : 'Helvetica';
            var zoomValue = isPrint ? this.defaultZoomValue : this.pdfViewerBase.getZoomFactor();
            inputElement.style.fontSize = obj.fontSize ? (obj.fontSize * zoomValue) + 'px' : (10 * zoomValue) + 'px';
            if (obj.font.isBold) {
                inputElement.style.fontWeight = 'bold';
            }
            if (obj.font.isItalic) {
                inputElement.style.fontStyle = 'italic';
            }
            if (obj.font.isStrikeout) {
                inputElement.style.textDecoration = 'line-through';
            }
            if (obj.font.isUnderline) {
                inputElement.style.textDecoration = 'underline';
            }
            inputElement.style.borderWidth = !ej2_base_2.isNullOrUndefined(obj.thickness) ? obj.thickness + 'px' : '1px';
            inputElement.style.color = obj.color ? obj.color : 'black';
            inputElement.style.backgroundColor = obj.backgroundColor ? obj.backgroundColor : '#daeaf7ff';
            inputElement.style.borderColor = obj.borderColor ? obj.borderColor : '#303030';
            inputElement.style.textAlign = obj.alignment ? obj.alignment.toLowerCase() : 'left';
            inputElement.style.visibility = obj.visibility ? obj.visibility : 'visible';
            inputElement.style.pointerEvents = obj.isReadonly ? 'none' : 'default';
            if (obj.isReadonly) {
                inputElement.disabled = true;
                inputElement.style.cursor = 'default';
                inputElement.style.backgroundColor = obj.backgroundColor !== fillColor ? obj.backgroundColor : 'transparent';
            }
            if (obj.isRequired) {
                inputElement.required = true;
                inputElement.style.border = '1px solid red';
                inputElement.style.borderWidth = !ej2_base_2.isNullOrUndefined(obj.thickness) ? obj.thickness + 'px' : '1px';
            }
            inputElement.tabIndex = this.formFieldIndex;
        };
        FormDesigner.prototype.updateListBoxProperties = function (obj, inputElement, isPrint) {
            var fillColor = '#daeaf7ff';
            inputElement.name = obj.name ? obj.name : 'List Box' + this.setFormFieldIndex();
            inputElement.value = obj.value ? obj.value : '';
            inputElement.style.fontFamily = obj.fontFamily ? obj.fontFamily : 'Helvetica';
            var zoomValue = isPrint ? this.defaultZoomValue : this.pdfViewerBase.getZoomFactor();
            inputElement.style.fontSize = obj.fontSize ? (obj.fontSize * zoomValue) + 'px' : (10 * zoomValue) + 'px';
            if (obj.font.isBold) {
                inputElement.style.fontWeight = 'bold';
            }
            if (obj.font.isItalic) {
                inputElement.style.fontStyle = 'italic';
            }
            if (obj.font.isStrikeout) {
                inputElement.style.textDecoration = 'line-through';
            }
            if (obj.font.isUnderline) {
                inputElement.style.textDecoration = 'underline';
            }
            inputElement.style.color = obj.color ? obj.color : 'black';
            inputElement.style.backgroundColor = obj.backgroundColor ? obj.backgroundColor : '#daeaf7ff';
            inputElement.style.borderColor = obj.borderColor ? obj.borderColor : '#303030';
            inputElement.style.textAlign = obj.alignment ? obj.alignment.toLowerCase() : 'left';
            inputElement.style.visibility = obj.visibility ? obj.visibility : 'visible';
            inputElement.style.pointerEvents = obj.isReadonly ? 'none' : 'default';
            inputElement.style.borderWidth = !ej2_base_2.isNullOrUndefined(obj.thickness) ? obj.thickness + 'px' : '1px';
            if (obj.isReadonly) {
                inputElement.disabled = true;
                inputElement.style.cursor = 'default';
                inputElement.style.backgroundColor = obj.backgroundColor !== fillColor ? obj.backgroundColor : 'transparent';
            }
            if (obj.isRequired) {
                inputElement.required = true;
                inputElement.style.border = '1px solid red';
                inputElement.style.borderWidth = !ej2_base_2.isNullOrUndefined(obj.thickness) ? obj.thickness + 'px' : '1px';
            }
            inputElement.tabIndex = this.formFieldIndex;
        };
        FormDesigner.prototype.updateSignatureFieldProperties = function (obj, inputElement, isPrint) {
            inputElement.name = obj.name ? obj.name : 'Signature' + this.setFormFieldIndex();
            inputElement.value = obj.value ? obj.value : '';
            inputElement.style.fontFamily = obj.fontFamily ? obj.fontFamily : 'Helvetica';
            inputElement.style.visibility = obj.visibility ? obj.visibility : 'visible';
            var zoomValue = this.pdfViewerBase.getZoomFactor();
            inputElement.style.fontSize = obj.fontSize ? (obj.fontSize * zoomValue) + 'px' : (10 * zoomValue) + 'px';
            if (obj.font.isBold) {
                inputElement.style.fontWeight = 'bold';
            }
            if (obj.font.isItalic) {
                inputElement.style.fontStyle = 'italic';
            }
            if (obj.font.isStrikeout) {
                inputElement.style.textDecoration = 'line-through';
            }
            if (obj.font.isUnderline) {
                inputElement.style.textDecoration = 'underline';
            }
            inputElement.style.color = obj.color ? obj.color : 'black';
            inputElement.style.borderWidth = !ej2_base_2.isNullOrUndefined(obj.thickness) ? obj.thickness + 'px' : '1px';
            var background = obj.backgroundColor ? obj.backgroundColor : '#FFE48559';
            background = pdfviewer_utlis_1.PdfViewerUtils.setTransparencyToHex(background);
            if (obj.isTransparent && obj.borderColor === '#ffffffff') {
                inputElement.style.backgroundColor = 'transparent';
                inputElement.style.borderColor = 'transparent';
                if (inputElement.firstElementChild) {
                    inputElement.firstElementChild.style.borderColor = 'transparent';
                }
            }
            else {
                inputElement.style.backgroundColor = isPrint ? 'transparent' : background;
                inputElement.style.borderColor = obj.borderColor ? obj.borderColor : '#303030';
                if (inputElement.firstElementChild) {
                    inputElement.firstElementChild.style.borderColor = obj.borderColor ? obj.borderColor : '#303030';
                }
            }
            inputElement.style.pointerEvents = obj.isReadonly ? 'none' : 'default';
            if (obj.isReadonly) {
                if (!ej2_base_2.isNullOrUndefined(inputElement.firstElementChild)) {
                    inputElement.firstElementChild.disabled = true;
                }
                inputElement.style.cursor = 'default';
            }
            if (obj.isRequired) {
                inputElement.required = true;
                if (inputElement.firstElementChild) {
                    var thickness = (obj.thickness > 0) ? obj.thickness : 1;
                    inputElement.firstElementChild.style.border = thickness + 'px solid red';
                }
                else {
                    inputElement.style.border = '1px solid red';
                }
                inputElement.style.borderWidth = obj.thickness ? obj.thickness + 'px' : '1px';
            }
            inputElement.tabIndex = this.formFieldIndex;
        };
        FormDesigner.prototype.createHtmlElement = function (elementType, attribute) {
            var element = ej2_base_1.createElement(elementType);
            this.setAttributeHtml(element, attribute);
            return element;
        };
        FormDesigner.prototype.setAttributeHtml = function (element, attributes) {
            var keys = Object.keys(attributes);
            for (var i = 0; i < keys.length; i++) {
                if (keys[parseInt(i.toString(), 10)] !== 'style') {
                    element.setAttribute(keys[parseInt(i.toString(), 10)], attributes[keys[parseInt(i.toString(), 10)]]);
                }
                else {
                    this.applyStyleAgainstCsp(element, attributes[keys[parseInt(i.toString(), 10)]]);
                }
            }
        };
        FormDesigner.prototype.applyStyleAgainstCsp = function (svg, attributes) {
            var keys = attributes.split(';');
            for (var i = 0; i < keys.length; i++) {
                var attribute = keys[parseInt(i.toString(), 10)].split(':');
                if (attribute.length === 2) {
                    svg.style[attribute[0].trim()] = attribute[1].trim();
                }
            }
        };
        FormDesigner.prototype.getFieldBounds = function (bound, pageIndex) {
            var pageDetails = this.pdfViewerBase.pageSize[parseInt(pageIndex.toString(), 10)];
            bound = { X: bound.X ? bound.X : bound.x, Y: bound.Y ? bound.Y : bound.y, Width: bound.Width ? bound.Width : bound.width,
                Height: bound.Height ? bound.Height : bound.height };
            var bounds;
            if (pageDetails) {
                switch (pageDetails.rotation) {
                    case 0:
                        bounds = bound;
                        break;
                    case 1:
                        bounds = { X: bound.Y - (bound.Width / 2 - bound.Height / 2), Y: pageDetails.width - bound.X - bound.Height -
                                (bound.Width / 2 - bound.Height / 2), Width: bound.Width, Height: bound.Height };
                        break;
                    case 2:
                        bounds = { X: pageDetails.width - bound.X - bound.Width, Y: pageDetails.height - bound.Y - bound.Height,
                            Width: bound.Width, Height: bound.Height };
                        break;
                    case 3:
                        bounds = { X: (pageDetails.height - bound.Y - bound.Width + (bound.Width / 2 - bound.Height / 2)),
                            Y: bound.X + (bound.Width / 2 - bound.Height / 2), Width: bound.Height, Height: bound.Width };
                        break;
                }
            }
            if (!bounds) {
                bounds = bound;
            }
            return bounds;
        };
        FormDesigner.prototype.downloadFormDesigner = function () {
            var data = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
            if (this.pdfViewer.formFieldCollections.length === 0) {
                data = '[]';
            }
            if (data || (this.pdfViewer.formDesignerModule && this.pdfViewer.formFieldCollections.length > 0)) {
                var formFieldsData = !ej2_base_2.isNullOrUndefined(data) ? JSON.parse(data) : [];
                this.updateMissingFormFields(formFieldsData);
                var _loop_7 = function (i) {
                    var currentData = formFieldsData[parseInt(i.toString(), 10)].FormField;
                    if (!ej2_base_2.isNullOrUndefined(currentData)) {
                        if ((currentData.formFieldAnnotationType === 'SignatureField' || currentData.formFieldAnnotationType === 'InitialField') && (ej2_base_2.isNullOrUndefined(currentData.signatureBound))) {
                            var filteredField = this_7.pdfViewer.formFieldCollections.filter(function (field) {
                                return field.id === currentData.id.split('_')[0];
                            });
                            if (ej2_base_2.isNullOrUndefined(filteredField)) {
                                filteredField = this_7.pdfViewer.formFieldCollections.filter(function (field) {
                                    return field.id === currentData.id.replace(/_content$/, '');
                                });
                            }
                            if (!ej2_base_2.isNullOrUndefined(currentData.signatureType) && currentData.signatureType === '') {
                                currentData.signatureType = filteredField[0].signatureType;
                            }
                            if (!ej2_base_2.isNullOrUndefined(currentData.value) && currentData.value === '') {
                                currentData.value = filteredField[0].value;
                            }
                            if (currentData.signatureType === 'Image') {
                                var imageUrl = (currentData.value.toString()).split(',')[1];
                                var image = new ej2_pdf_1.PdfBitmap(imageUrl);
                                var boundsObjects = {
                                    x: currentData.lineBound.X, y: currentData.lineBound.Y,
                                    width: currentData.lineBound.Width, height: currentData.lineBound.Height
                                };
                                if (this_7.pdfViewer.signatureFitMode === 'Default') {
                                    var padding = Math.min(boundsObjects.height / this_7.pdfViewer.formFieldsModule.paddingDifferenceValue, boundsObjects.width / this_7.pdfViewer.formFieldsModule.paddingDifferenceValue);
                                    var maxHeight = boundsObjects.height - padding;
                                    var maxWidth = boundsObjects.width - padding;
                                    var imageWidth = image.width;
                                    var imageHeight = image.height;
                                    var beforeWidth = boundsObjects.width;
                                    var beforeHeight = boundsObjects.height;
                                    var ratio = Math.min(maxWidth / imageWidth, maxHeight / imageHeight);
                                    boundsObjects.width = imageWidth * ratio;
                                    boundsObjects.height = imageHeight * ratio;
                                    boundsObjects.x = boundsObjects.x + (beforeWidth - boundsObjects.width) / 2;
                                    boundsObjects.y = boundsObjects.y + (beforeHeight - boundsObjects.height) / 2;
                                }
                                currentData.signatureBound = boundsObjects;
                                image = null;
                            }
                            else if (currentData.signatureType === 'Path') {
                                var boundsObjects = {
                                    x: currentData.lineBound.X, y: currentData.lineBound.Y,
                                    width: currentData.lineBound.Width, height: currentData.lineBound.Height
                                };
                                if (this_7.pdfViewer.signatureFitMode === 'Default') {
                                    var zoomvalue = this_7.pdfViewerBase.getZoomFactor();
                                    currentData.LineBounds = { X: pdfviewer_utlis_1.PdfViewerUtils.convertPixelToPoint(currentData.lineBound.X),
                                        Y: pdfviewer_utlis_1.PdfViewerUtils.convertPixelToPoint(currentData.lineBound.Y),
                                        Width: pdfviewer_utlis_1.PdfViewerUtils.convertPixelToPoint(currentData.lineBound.Width),
                                        Height: pdfviewer_utlis_1.PdfViewerUtils.convertPixelToPoint(currentData.lineBound.Height) };
                                    if (typeof filteredField[0].value === 'string' && filteredField[0].value.trim().startsWith('[')) {
                                        filteredField[0].value = this_7.pdfViewerBase.signatureValue(filteredField[0].value);
                                    }
                                    var signatureBounds = this_7.pdfViewerBase.signatureModule.
                                        updateSignatureAspectRatio(filteredField[0].value, false, null, currentData);
                                    if (this_7.pdfViewer.formFieldsModule) {
                                        boundsObjects = this_7.pdfViewer.formFieldsModule.
                                            getSignBounds(i, currentData.rotation, currentData.pageNumber, zoomvalue, currentData.lineBound.X, currentData.lineBound.Y, signatureBounds.width, signatureBounds.height, true);
                                    }
                                    boundsObjects.x = boundsObjects.x + signatureBounds.left;
                                    boundsObjects.y = boundsObjects.y + signatureBounds.top;
                                }
                                currentData.signatureBound = boundsObjects;
                                var collectionData = ej2_drawings_1.processPathData(filteredField[0].value);
                                var csData = ej2_drawings_1.splitArrayCollection(collectionData);
                                currentData.value = JSON.stringify(csData);
                            }
                            else if (currentData.signatureType === 'Type' || currentData.signatureType === 'Text') {
                                var zoomvalue = this_7.pdfViewerBase.getZoomFactor();
                                if (this_7.pdfViewer.formFieldsModule) {
                                    var bounds = this_7.pdfViewer.formFieldsModule.
                                        getSignBounds(i, currentData.rotation, currentData.pageNumber, zoomvalue, currentData.lineBound.X, currentData.lineBound.Y, currentData.lineBound.Width, currentData.lineBound.Height);
                                    if (this_7.pdfViewer.signatureFitMode === 'Default') {
                                        bounds = this_7.pdfViewer.formFieldsModule.getDefaultBoundsforSign(bounds);
                                    }
                                    currentData.signatureBound = bounds;
                                    currentData.signatureType = 'Text';
                                    var fontSize = bounds.height / this_7.pdfViewer.formFieldsModule.signatureFontSizeConstent;
                                    var textWidth = this_7.pdfViewer.viewerBase.
                                        getTextWidth(currentData.value, fontSize, currentData.fontFamily);
                                    var widthRatio = 1;
                                    if (textWidth > bounds.width) {
                                        widthRatio = bounds.width / textWidth;
                                    }
                                    currentData.fontSize = this_7.pdfViewer.viewerBase.getFontSize(Math.floor((fontSize * widthRatio)));
                                }
                            }
                        }
                    }
                    currentData.Multiline = currentData.isMultiline;
                    if (currentData.isRequired) {
                        if (currentData.formFieldAnnotationType === 'Textbox' || currentData.formFieldAnnotationType === 'PasswordField' || currentData.Multiline) {
                            if (currentData.value === null || currentData.value === '') {
                                this_7.pdfViewerBase.validateForm = true;
                                this_7.pdfViewerBase.nonFillableFields[currentData.name] = currentData.value;
                            }
                            else {
                                delete (this_7.pdfViewerBase.nonFillableFields[currentData.name]);
                            }
                        }
                        else if (currentData.formFieldAnnotationType === 'RadioButton') {
                            if (currentData.radiobuttonItem) {
                                var isSelected = false;
                                for (var j = 0; j < currentData.radiobuttonItem.length; j++) {
                                    if (currentData.radiobuttonItem[parseInt(j.toString(), 10)].isSelected) {
                                        isSelected = true;
                                        break;
                                    }
                                }
                                if (!isSelected) {
                                    this_7.pdfViewerBase.validateForm = true;
                                    this_7.pdfViewerBase.nonFillableFields[currentData.name] = isSelected;
                                }
                                else {
                                    delete (this_7.pdfViewerBase.nonFillableFields[currentData.name]);
                                }
                            }
                        }
                        else if (currentData.formFieldAnnotationType === 'Checkbox') {
                            if (currentData.isChecked === false) {
                                this_7.pdfViewerBase.validateForm = true;
                                this_7.pdfViewerBase.nonFillableFields[currentData.name] = currentData.isChecked;
                            }
                            else {
                                delete (this_7.pdfViewerBase.nonFillableFields[currentData.name]);
                            }
                        }
                        else if (currentData.formFieldAnnotationType === 'DropdownList' || currentData.formFieldAnnotationType === 'ListBox') {
                            if (ej2_base_2.isNullOrUndefined(currentData.selectedIndex) || currentData.selectedIndex.length === 0) {
                                this_7.pdfViewerBase.validateForm = true;
                                this_7.pdfViewerBase.nonFillableFields[currentData.name] = currentData.selectedIndex;
                            }
                            else {
                                delete (this_7.pdfViewerBase.nonFillableFields[currentData.name]);
                            }
                        }
                        else if (currentData.formFieldAnnotationType === 'SignatureField' || currentData.formFieldAnnotationType === 'InitialField') {
                            if (currentData.value === null || currentData.value === '') {
                                this_7.pdfViewerBase.validateForm = true;
                                this_7.pdfViewerBase.nonFillableFields[currentData.name] = currentData.value;
                            }
                            else {
                                delete (this_7.pdfViewerBase.nonFillableFields[currentData.name]);
                            }
                        }
                    }
                    if (currentData) {
                        if (currentData.formFieldAnnotationType === 'SignatureField' || currentData.formFieldAnnotationType === 'InitialField') {
                            if (currentData.signatureType === 'Text' && !this_7.pdfViewerBase.signatureModule.checkDefaultFont(currentData.fontFamily)) {
                                this_7.getTextToImage(currentData);
                            }
                            if (this_7.pdfViewerBase.clientSideRendering && currentData.signatureType === 'Image') {
                                formFieldsData[parseInt(i.toString(), 10)].FormField.signatureBound =
                                    this_7.getBoundsForSignatureImage(formFieldsData[parseInt(i.toString(), 10)].FormField.signatureBound, formFieldsData[parseInt(i.toString(), 10)].FormField.pageNumber - 1);
                            }
                        }
                    }
                };
                var this_7 = this;
                for (var i = 0; i < formFieldsData.length; i++) {
                    _loop_7(i);
                }
                return (JSON.stringify(formFieldsData));
            }
            else {
                return null;
            }
        };
        FormDesigner.prototype.getBoundsForSignatureImage = function (bound, pageIndex) {
            var pageDetails = this.pdfViewerBase.pageSize[parseInt(pageIndex.toString(), 10)];
            if (pageDetails) {
                if (pageDetails.rotation === 1) {
                    return { x: bound.x + bound.width - bound.height, y: bound.y, width: bound.height, height: bound.width };
                }
                else if (pageDetails.rotation === 3) {
                    return { x: bound.x, y: bound.y - bound.width + bound.height, width: bound.height, height: bound.width };
                }
                else {
                    return bound;
                }
            }
            else {
                return bound;
            }
        };
        FormDesigner.prototype.updateMissingFormFields = function (formFieldsData) {
            var _this = this;
            if (formFieldsData && formFieldsData.length !== this.pdfViewer.formFieldCollections.length) {
                var formFieldNotContains = this.pdfViewer.formFieldCollections.filter(function (_a) {
                    var id1 = _a.id;
                    return !_this.pdfViewer.formFieldCollection.some(function (_a) {
                        var id2 = _a.id;
                        return id2 === id1;
                    });
                });
                var _loop_8 = function (k) {
                    var items = this_8.pdfViewer.formDesignerModule.loadedFormFieldValue(formFieldNotContains[parseInt(k.toString(), 10)]);
                    if (items.formFieldAnnotationType === 'RadioButton') {
                        if (formFieldNotContains[parseInt(k.toString(), 10)].isUnisonSelected) {
                            var unison = formFieldNotContains[parseInt(k.toString(), 10)].isUnisonSelected;
                            items.radiobuttonItem[0].isUnisonSelected = unison;
                        }
                        var index = formFieldsData.findIndex(function (field) { return field.FormField.name === items.name; });
                        if (index && index >= 0) {
                            formFieldsData[parseInt(index.toString(), 10)].FormField.radiobuttonItem.push(items);
                        }
                        else {
                            formFieldsData.push({ Key: items.id + '_content', FormField: items });
                        }
                    }
                    else {
                        formFieldsData.push({ Key: items.id + '_content', FormField: items });
                    }
                };
                var this_8 = this;
                for (var k = 0; k < formFieldNotContains.length; k++) {
                    _loop_8(k);
                }
            }
        };
        FormDesigner.prototype.getTextToImage = function (currentData) {
            var signTypeCanvas = ej2_base_1.createElement('canvas');
            signTypeCanvas.width = currentData.lineBound.Width / this.pdfViewerBase.getZoomFactor() || 150;
            signTypeCanvas.height = currentData.lineBound.Height / this.pdfViewerBase.getZoomFactor() || currentData.fontSize * 2;
            var canvasContext = signTypeCanvas.getContext('2d');
            var x = signTypeCanvas.width / 2;
            var y = (signTypeCanvas.height / 2) + currentData.fontSize / 2 - 10;
            canvasContext.textAlign = 'center';
            canvasContext.font = currentData.fontSize + 'px ' + currentData.fontFamily;
            canvasContext.fillText(currentData.value, x, y);
            currentData.value = JSON.stringify(signTypeCanvas.toDataURL('image/png'));
            currentData.signatureType = 'Image';
        };
        FormDesigner.prototype.loadedFormFieldValue = function (currentData) {
            var backgroundColor = !ej2_base_2.isNullOrUndefined(currentData.backgroundColor) ? this.getRgbCode(currentData.backgroundColor) : null;
            var bounds = currentData.bounds;
            var backColor = currentData.backgroundColor ? { r: backgroundColor.r, g: backgroundColor.g,
                b: backgroundColor.b, a: backgroundColor.a } : { r: 218, g: 234, b: 247, a: 100 };
            var fontColor = this.hexToRgb(currentData.color);
            var foreColor = currentData.color ? { r: fontColor[0], g: fontColor[1], b: fontColor[2], a: 100 } :
                { r: 0, g: 0, b: 0, a: 100 };
            var borderColor = this.hexToRgb(currentData.borderColor);
            var borderRGB = currentData.borderColor ? { r: borderColor[0], g: borderColor[1], b: borderColor[2], a: 100 } :
                { r: 48, g: 48, b: 48, a: 100 };
            var value;
            var options = [];
            var dropListoptions = [];
            var selectedIndex = [];
            var finalSignBounds;
            var signType = '';
            this.data = this.pdfViewerBase.getItemFromSessionStorage('_formfields');
            if (!ej2_base_2.isNullOrUndefined(this.data)) {
                this.formFieldsData = JSON.parse(this.data);
                if ((currentData.type === 'DropdownList' || currentData.type === 'ListBox')) {
                    var dropListData = this.formFieldsData.filter(function (fieldData) { return (currentData.name === fieldData.FieldName); });
                    if (dropListData.length > 0) {
                        dropListoptions = dropListData[0].TextList;
                        if (!ej2_base_2.isNullOrUndefined(dropListData[0].selectedIndex)) {
                            selectedIndex.push(dropListData[0].selectedIndex);
                        }
                        else {
                            selectedIndex.push(dropListData[0].SelectedList[0]);
                        }
                        for (var i = 0; i < dropListoptions.length; i++) {
                            options.push({ itemName: dropListoptions[parseInt(i.toString(), 10)],
                                itemValue: dropListoptions[parseInt(i.toString(), 10)] });
                        }
                    }
                }
                if ((currentData.type === 'InitialField' || currentData.type === 'SignatureField')) {
                    this.formFieldsData = JSON.parse(this.data);
                    if (this.formFieldsData[0] === '[') {
                        this.formFieldsData = JSON.parse(this.formFieldsData);
                    }
                    var signData_1 = this.formFieldsData.filter(function (signfieldName) { return (currentData.name === signfieldName.FieldName); });
                    if (signData_1.length > 0) {
                        var boundsData = this.formFieldsData.filter(function (datafieldName) { return (datafieldName.Name === 'ink' || datafieldName.Name === 'SignatureField' || datafieldName.Name === 'SignatureImage' || datafieldName.Name === 'SignatureText') && (signData_1[0].FieldName === datafieldName.FieldName.split('_')[0]); });
                        for (var i = 0; i < boundsData.length; i++) {
                            if ((signData_1[0].FieldName !== boundsData[parseInt(i.toString(), 10)].FieldName)) {
                                value = boundsData[parseInt(i.toString(), 10)].Value;
                                currentData.fontFamily = boundsData[parseInt(i.toString(), 10)].FontFamily;
                                currentData.fontSize = boundsData[parseInt(i.toString(), 10)].FontSize;
                                if (!signData_1.Bounds) {
                                    var signBounds = boundsData[parseInt(i.toString(), 10)].LineBounds;
                                    var currentLeft = void 0;
                                    var currentTop = void 0;
                                    var currentWidth = void 0;
                                    var currentHeight = void 0;
                                    var currentPage = parseFloat(boundsData[parseInt(i.toString(), 10)].PageIndex);
                                    if (signBounds.x || signBounds.y || signBounds.width || signBounds.height) {
                                        currentLeft = signBounds.x;
                                        currentTop = signBounds.y;
                                        currentWidth = signBounds.width;
                                        currentHeight = signBounds.height;
                                    }
                                    else {
                                        if (this.pdfViewer.formFieldsModule) {
                                            currentLeft = this.pdfViewer.formFieldsModule.ConvertPointToPixel(signBounds.X);
                                            currentTop = this.pdfViewer.formFieldsModule.ConvertPointToPixel(signBounds.Y);
                                            currentWidth = this.pdfViewer.formFieldsModule.ConvertPointToPixel(signBounds.Width);
                                            currentHeight = this.pdfViewer.formFieldsModule.ConvertPointToPixel(signBounds.Height);
                                        }
                                    }
                                    var bound = { left: currentLeft, top: currentTop, width: currentWidth, height: currentHeight };
                                    if (this.pdfViewer.formFieldsModule) {
                                        finalSignBounds = this.pdfViewer.formFieldsModule.updateSignatureBounds(bound, currentPage, false);
                                    }
                                }
                                if (boundsData[parseInt(i.toString(), 10)].Name === 'SignatureImage') {
                                    signType = 'Image';
                                }
                                if (boundsData[parseInt(i.toString(), 10)].Name === 'ink') {
                                    signType = 'Path';
                                }
                                if (boundsData[parseInt(i.toString(), 10)].Name === 'SignatureText') {
                                    signType = 'Text';
                                }
                                if (signType === 'Path') {
                                    var collectionData = ej2_drawings_1.processPathData(boundsData[parseInt(i.toString(), 10)].Value);
                                    var csData = ej2_drawings_1.splitArrayCollection(collectionData);
                                    value = JSON.stringify(csData);
                                }
                                break;
                            }
                        }
                    }
                }
            }
            var fieldProperties = {
                lineBound: { X: bounds.x, Y: bounds.y, Width: bounds.width, Height: bounds.height },
                pageNumber: parseFloat(currentData.pageIndex) + 1, name: currentData.name, tooltip: currentData.tooltip,
                value: value ? value : currentData.value, radiobuttonItem: [],
                signatureType: currentData.signatureType ? currentData.signatureType : signType, id: currentData.id,
                insertSpaces: currentData.insertSpaces ? currentData.insertSpaces : false,
                isChecked: currentData.isChecked ? currentData.isChecked : false,
                isPrint: currentData.isPrint ? currentData.isPrint : false,
                isSelected: currentData.isSelected ? currentData.isSelected : false, fontFamily: currentData.fontFamily,
                fontStyle: currentData.fontStyle, backgroundColor: backColor, fontColor: foreColor, borderColor: borderRGB,
                thickness: currentData.thickness,
                fontSize: currentData.fontSize, isMultiline: currentData.isMultiline ? currentData.isMultiline : false,
                rotation: currentData.rotateAngle, isReadOnly: currentData.isReadOnly ? currentData.isReadOnly : false,
                isRequired: currentData.isRequired ? currentData.isRequired : false, textAlign: currentData.alignment,
                formFieldAnnotationType: currentData.type,
                zoomValue: 1, option: options, maxLength: currentData.maxLength ? currentData.maxLength : 0,
                visibility: currentData.visibility, font: { isItalic: false, isBold: false, isStrikeout: false, isUnderline: false },
                customData: currentData.customData
            };
            if (finalSignBounds) {
                fieldProperties.signatureBound = finalSignBounds;
            }
            if (selectedIndex.length > 0) {
                fieldProperties.selectedIndex = selectedIndex;
            }
            if (currentData.type === 'RadioButton') {
                var field = {
                    lineBound: { X: bounds.x, Y: bounds.y, Width: bounds.width, Height: bounds.height },
                    pageNumber: parseFloat(currentData.pageIndex) + 1, name: currentData.name, tooltip: currentData.tooltip,
                    value: currentData.value, signatureType: currentData.signatureType ? currentData.signatureType : '', id: currentData.id,
                    isChecked: currentData.isChecked ? currentData.isChecked : false, isSelected: currentData.isSelected ?
                        currentData.isSelected : false,
                    fontFamily: currentData.fontFamily, fontStyle: currentData.fontStyle, backgroundColor: backColor,
                    fontColor: foreColor, borderColor: borderRGB, thickness: currentData.thickness, fontSize: currentData.fontSize, rotation: 0,
                    isReadOnly: currentData.isReadOnly ? currentData.isReadOnly : false, isRequired: currentData.isRequired ?
                        currentData.isRequired : false,
                    isPrint: currentData.isPrint ? currentData.isPrint : false,
                    textAlign: currentData.alignment, formFieldAnnotationType: currentData.type, zoomValue: 1,
                    maxLength: currentData.maxLength ? currentData.maxLength : 0, visibility: currentData.visibility,
                    font: { isItalic: false, isBold: false, isStrikeout: false, isUnderline: false },
                    customData: currentData.customData
                };
                fieldProperties.radiobuttonItem.push(field);
            }
            else {
                fieldProperties.radiobuttonItem = [];
            }
            return fieldProperties;
        };
        FormDesigner.prototype.createAnnotationLayer = function (pageDiv, pageWidth, pageHeight, pageNumber, displayMode) {
            var canvas = this.pdfViewerBase.getElement('_annotationCanvas_' + pageNumber);
            if (canvas) {
                this.updateAnnotationCanvas(canvas, pageWidth, pageHeight, pageNumber);
                return canvas;
            }
            else {
                var annotationCanvas = ej2_base_1.createElement('canvas', { id: this.pdfViewer.element.id + '_annotationCanvas_' + pageNumber, className: 'e-pv-annotation-canvas' });
                this.updateAnnotationCanvas(annotationCanvas, pageWidth, pageHeight, pageNumber);
                pageDiv.appendChild(annotationCanvas);
                return annotationCanvas;
            }
        };
        FormDesigner.prototype.resizeAnnotations = function (width, height, pageNumber) {
            var canvas = this.pdfViewerBase.getAnnotationCanvas('_annotationCanvas_', pageNumber);
            if (canvas) {
                canvas.style.width = width + 'px';
                canvas.style.height = height + 'px';
                this.pdfViewerBase.applyElementStyles(canvas, pageNumber);
            }
        };
        FormDesigner.prototype.getEventPageNumber = function (event) {
            var eventTarget = event.target;
            if (eventTarget.classList.contains('e-pv-hyperlink')) {
                eventTarget = eventTarget.parentElement;
            }
            else if (eventTarget.parentElement.classList.contains('foreign-object') || (eventTarget.parentElement.classList.contains('e-pv-radiobtn-container'))) {
                eventTarget = eventTarget.closest('.e-pv-text-layer');
            }
            var pageString = eventTarget.id.split('_text_')[1] || eventTarget.id.split('_textLayer_')[1] || eventTarget.id.split('_annotationCanvas_')[1] || eventTarget.id.split('_pageDiv_')[1];
            if (isNaN(pageString)) {
                event = this.pdfViewerBase.annotationEvent;
                if (event) {
                    eventTarget = event.target;
                    pageString = eventTarget.id.split('_text_')[1] || eventTarget.id.split('_textLayer_')[1] || eventTarget.id.split('_annotationCanvas_')[1] || eventTarget.id.split('_pageDiv_')[1];
                }
            }
            return parseInt(pageString, 10);
        };
        FormDesigner.prototype.getPropertyPanelHeaderContent = function (formFieldType) {
            switch (formFieldType) {
                case 'Textbox':
                    return this.pdfViewer.localeObj.getConstant('Textbox');
                case 'PasswordField':
                    return this.pdfViewer.localeObj.getConstant('Password');
                case 'Checkbox':
                    return this.pdfViewer.localeObj.getConstant('Check Box');
                case 'RadioButton':
                    return this.pdfViewer.localeObj.getConstant('Radio Button');
                case 'DropdownList':
                    return this.pdfViewer.localeObj.getConstant('Dropdown');
                case 'ListBox':
                    return this.pdfViewer.localeObj.getConstant('List Box');
                case 'InitialField':
                    return this.pdfViewer.localeObj.getConstant('Initial');
                case 'SignatureField':
                    return this.pdfViewer.localeObj.getConstant('Signature');
            }
        };
        FormDesigner.prototype.createPropertiesWindow = function () {
            var _this = this;
            var elementID = this.pdfViewer.element.id;
            var propertyWinMinHeight;
            var dialogDiv = ej2_base_1.createElement('div', { id: elementID + '_properties_window', className: 'e-pv-properties-form-field-window' });
            var appearanceTab = this.createAppearanceTab();
            this.pdfViewerBase.pageContainer.appendChild(dialogDiv);
            if (this.pdfViewer.selectedItems.formFields[0].formFieldAnnotationType !== 'DropdownList' && this.pdfViewer.selectedItems.formFields[0].formFieldAnnotationType !== 'ListBox') {
                propertyWinMinHeight = '430px';
            }
            else {
                propertyWinMinHeight = '505px';
            }
            this.propertiesDialog = new ej2_popups_1.Dialog({
                showCloseIcon: true, closeOnEscape: false, isModal: true, header: '<div class="e-pv-form-field-property-header"> ' + this.getPropertyPanelHeaderContent(this.pdfViewer.selectedItems.formFields[0].formFieldAnnotationType) + ' ' + this.pdfViewer.localeObj.getConstant('Properties') + '</div>',
                minHeight: propertyWinMinHeight, target: this.pdfViewer.element, content: appearanceTab, beforeOpen: function () {
                    _this.isPropertyDialogOpen = true;
                }, allowDragging: true, close: function () {
                    _this.destroyPropertiesWindow();
                    _this.isPropertyDialogOpen = false;
                }
            });
            if (!ej2_base_1.Browser.isDevice || this.pdfViewer.enableDesktopMode) {
                this.propertiesDialog.buttons = [
                    { buttonModel: { content: this.pdfViewer.localeObj.getConstant('Cancel') }, click: this.onCancelClicked.bind(this) },
                    { buttonModel: { content: this.pdfViewer.localeObj.getConstant('OK'), isPrimary: true }, click: this.onOkClicked.bind(this) }
                ];
            }
            else {
                this.propertiesDialog.buttons = [
                    { buttonModel: { content: this.pdfViewer.localeObj.getConstant('Cancel') }, click: this.onCancelClicked.bind(this) },
                    { buttonModel: { content: this.pdfViewer.localeObj.getConstant('OK'), isPrimary: true }, click: this.onOkClicked.bind(this) }
                ];
            }
            if (this.pdfViewer.enableRtl) {
                this.propertiesDialog.enableRtl = true;
            }
            var propertySpliterBottom = ej2_base_1.createElement('div');
            propertySpliterBottom.className = 'e-pv-properties-bottom-spliter';
            dialogDiv.appendChild(propertySpliterBottom);
            this.propertiesDialog.appendTo(dialogDiv);
        };
        FormDesigner.prototype.onOkClicked = function (args) {
            var selectedItem = this.pdfViewer.selectedItems.formFields[0];
            var clonedItem = drawing_util_1.cloneObject(selectedItem);
            this.isAddFormFieldProgrammatically = false;
            if (selectedItem) {
                switch (selectedItem.formFieldAnnotationType) {
                    case 'Textbox':
                    case 'PasswordField': {
                        if (this.formFieldMultiline && this.formFieldMultiline.checked && selectedItem.formFieldAnnotationType === 'Textbox' && this.multilineCheckboxCheckedState) {
                            this.renderMultilineText(selectedItem);
                        }
                        else if (selectedItem.formFieldAnnotationType === 'Textbox' && this.multilineCheckboxCheckedState) {
                            this.renderTextbox(selectedItem);
                        }
                        if (selectedItem.formFieldAnnotationType === 'PasswordField') {
                            this.updateTextboxFormDesignerProperties(selectedItem);
                        }
                        if (selectedItem.formFieldAnnotationType === 'Textbox') {
                            var textboxCollection = this.checkTextboxName(selectedItem);
                            if (textboxCollection && textboxCollection.length > 0) {
                                for (var i = 0; i < textboxCollection.length; i++) {
                                    var item = textboxCollection[parseInt(i.toString(), 10)];
                                    if (item.id === selectedItem.id) {
                                        if (selectedItem.isMultiline) {
                                            this.renderMultilineText(item);
                                        }
                                        else {
                                            this.renderTextbox(item);
                                        }
                                        if (document.getElementById(item.id + '_content_html_element')) {
                                            this.updateTextboxFormDesignerProperties(item);
                                        }
                                        else {
                                            this.updateFormFieldPropertiesInCollections(item);
                                        }
                                    }
                                }
                            }
                        }
                        this.multilineCheckboxCheckedState = false;
                        var point = ej2_drawings_1.cornersPointsBeforeRotation(selectedItem.wrapper.children[0]).topLeft;
                        this.updateFormDesignerFieldInSessionStorage(point, selectedItem.wrapper.children[0], selectedItem.formFieldAnnotationType, selectedItem);
                        break;
                    }
                    case 'Checkbox': {
                        this.updateCheckboxFormDesignerProperties(selectedItem, false);
                        var point1 = ej2_drawings_1.cornersPointsBeforeRotation(selectedItem.wrapper.children[0]).topLeft;
                        this.updateFormDesignerFieldInSessionStorage(point1, selectedItem.wrapper.children[0], selectedItem.formFieldAnnotationType, selectedItem);
                        break;
                    }
                    case 'RadioButton': {
                        this.updateRadioButtonDesignerProperties(selectedItem, false);
                        var point2 = ej2_drawings_1.cornersPointsBeforeRotation(selectedItem.wrapper.children[0]).topLeft;
                        this.updateFormDesignerFieldInSessionStorage(point2, selectedItem.wrapper.children[0], selectedItem.formFieldAnnotationType, selectedItem);
                        break;
                    }
                    case 'SignatureField':
                    case 'InitialField': {
                        this.updateSignatureTextboxProperties(selectedItem);
                        var point3 = ej2_drawings_1.cornersPointsBeforeRotation(selectedItem.wrapper.children[0]).topLeft;
                        this.updateFormDesignerFieldInSessionStorage(point3, selectedItem.wrapper.children[0], selectedItem.formFieldAnnotationType, selectedItem);
                        break;
                    }
                    case 'DropdownList': {
                        this.updateDropdownFormDesignerProperties(selectedItem);
                        var point4 = ej2_drawings_1.cornersPointsBeforeRotation(selectedItem.wrapper.children[0]).topLeft;
                        this.updateFormDesignerFieldInSessionStorage(point4, selectedItem.wrapper.children[0], selectedItem.formFieldAnnotationType, selectedItem);
                        break;
                    }
                    case 'ListBox': {
                        this.updateListBoxFormDesignerProperties(selectedItem);
                        var point5 = ej2_drawings_1.cornersPointsBeforeRotation(selectedItem.wrapper.children[0]).topLeft;
                        this.updateFormDesignerFieldInSessionStorage(point5, selectedItem.wrapper.children[0], selectedItem.formFieldAnnotationType, selectedItem);
                        break;
                    }
                }
                this.updateFormFieldCollections(selectedItem);
                var cloneChangedNode = drawing_util_1.cloneObject(selectedItem);
                if (this.pdfViewer.annotation) {
                    this.pdfViewer.annotation.addAction(this.pdfViewerBase.currentPageNumber, null, selectedItem, 'FormDesigner Properties Change', '', clonedItem, cloneChangedNode);
                }
            }
            this.propertiesDialog.hide();
        };
        FormDesigner.prototype.updateFormFieldPropertiesInCollections = function (item) {
            var formFieldCollection = this.pdfViewer.formFieldCollections;
            for (var i = 0; i < formFieldCollection.length; i++) {
                var currentData = formFieldCollection[parseInt(i.toString(), 10)];
                if (currentData.id === item.id && currentData.name === item.name) {
                    if (this.formFieldName && this.formFieldName.value) {
                        currentData.name = this.formFieldName.value;
                    }
                    if (this.formFieldValue && (item.value !== this.formFieldValue.value)) {
                        currentData.value = this.formFieldValue.value;
                    }
                    if (this.formFieldAlign && (item.alignment !== this.formFieldAlign)) {
                        currentData.alignment = this.formFieldAlign;
                    }
                    if (this.formFieldPrinting && (item.isPrint !== this.formFieldPrinting.checked)) {
                        currentData.isPrint = this.formFieldPrinting.checked;
                    }
                    if (this.formFieldTooltip && (item.tooltip !== this.formFieldTooltip.value)) {
                        currentData.tooltip = this.formFieldTooltip.value;
                    }
                    if (this.formFieldVisibility && (item.visibility !== this.formFieldVisibility.value)) {
                        currentData.visibility = this.formFieldVisibility;
                    }
                    if (this.formFieldFontFamily && this.formFieldFontFamily.value) {
                        currentData.fontFamily = this.formFieldFontFamily.value;
                    }
                    if (this.formFieldFontSize && this.formFieldFontSize.value) {
                        currentData.fontSize = parseInt(this.formFieldFontSize.value.toString(), 10);
                    }
                    if (this.fontColorValue && (item.color !== this.fontColorValue)) {
                        currentData.color = this.fontColorValue;
                    }
                    if (this.backgroundColorValue && (item.backgroundColor !== this.backgroundColorValue)) {
                        currentData.backgroundColor = this.backgroundColorValue;
                    }
                    if (this.borderColorValue && (item.borderColor !== this.borderColorValue)) {
                        currentData.borderColor = this.borderColorValue;
                    }
                    if (this.formFieldBorderWidth && item.thickness !== parseInt(this.formFieldBorderWidth, 10)) {
                        currentData.thickness = parseInt(this.formFieldBorderWidth, 10);
                    }
                    if (this.formFieldReadOnly && (item.isReadonly !== this.formFieldReadOnly.checked)) {
                        currentData.isReadOnly = this.formFieldReadOnly.checked;
                    }
                    if (this.formFieldRequired && (item.isRequired !== this.formFieldRequired.checked)) {
                        currentData.isRequired = this.formFieldRequired.checked;
                    }
                    if (i !== 0 && i < this.pdfViewer.formFieldCollection.length) {
                        currentData.fontStyle = this.pdfViewer.formFieldCollection[i - 1].fontStyle;
                    }
                    else {
                        currentData.fontStyle = this.pdfViewer.formFieldCollection[i + 1].fontStyle;
                    }
                    var formFieldIndex = this.pdfViewer.formFieldCollections.findIndex(function (el) { return el.id === item.id; });
                    this.pdfViewer.formFieldCollections[parseInt(formFieldIndex.toString(), 10)] = currentData;
                }
            }
        };
        FormDesigner.prototype.checkTextboxName = function (selectedItem) {
            var textboxObjectCollection = [];
            for (var i = 0; i < this.pdfViewer.formFieldCollection.length; i++) {
                var item = this.pdfViewer.formFieldCollection[parseInt(i.toString(), 10)];
                if (item.name === selectedItem.name && item.formFieldAnnotationType === 'Textbox') {
                    textboxObjectCollection.push(item);
                }
            }
            return textboxObjectCollection;
        };
        FormDesigner.prototype.renderMultilineText = function (selectedItem, isUndoRedo) {
            if (isUndoRedo) {
                this.reRenderMultilineTextbox(selectedItem, 'e-pv-formfield-input');
            }
            else {
                this.addMultilineTextbox(selectedItem, 'e-pv-formfield-input', true);
            }
        };
        FormDesigner.prototype.renderTextbox = function (selectedItem, isUndoRedo) {
            if (isUndoRedo) {
                this.reRenderMultilineTextbox(selectedItem, 'e-pv-formfield-textarea');
            }
            else {
                this.addMultilineTextbox(selectedItem, 'e-pv-formfield-textarea', false);
            }
        };
        FormDesigner.prototype.addMultilineTextbox = function (selectedItem, className, isMultiline) {
            var wrapperElement = selectedItem.wrapper.children[0];
            selectedItem.isMultiline = isMultiline;
            if (document.getElementById(wrapperElement.id + '_html_element')) {
                var htmlElement = document.getElementById(wrapperElement.id + '_html_element').children[0];
                var textAreaId = htmlElement.children[0].id;
                document.getElementById(htmlElement.children[0].id).remove();
                if (className.indexOf('e-pv-formfield-textarea') !== -1) {
                    var inputElement = this.createTextboxElement(textAreaId);
                    inputElement.style.backgroundColor = selectedItem.backgroundColor;
                    wrapperElement.template = htmlElement.appendChild(inputElement);
                }
                else {
                    var textArea = this.createTextAreaElement(textAreaId);
                    textArea.style.backgroundColor = selectedItem.backgroundColor;
                    textArea.value = selectedItem.value;
                    wrapperElement.template = htmlElement.appendChild(textArea);
                }
                var index = this.getFormFiledIndex(selectedItem.id.split('_')[0]);
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.isMultiline = selectedItem.isMultiline;
                this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].isMultiline = selectedItem.isMultiline;
            }
        };
        FormDesigner.prototype.reRenderMultilineTextbox = function (selectedItem, className) {
            var wrapperElement = document.getElementById(selectedItem.id + '_content_html_element');
            if (wrapperElement) {
                var textareaElement = wrapperElement.firstElementChild.firstElementChild;
                var textareaId = textareaElement.id;
                textareaElement.remove();
                if (className.indexOf('e-pv-formfield-textarea') !== -1) {
                    var textboxElement = this.createTextboxElement(textareaId);
                    wrapperElement.firstElementChild.appendChild(textboxElement);
                }
                else {
                    var textboxElement = this.createTextAreaElement(textareaId);
                    wrapperElement.firstElementChild.appendChild(textboxElement);
                }
            }
        };
        FormDesigner.prototype.createTextAreaElement = function (id) {
            var textArea = ej2_base_1.createElement('textarea');
            textArea.id = id;
            textArea.className = 'e-pv-formfield-textarea';
            textArea.style.width = '100%';
            textArea.style.height = '100%';
            textArea.style.borderStyle = 'solid';
            textArea.addEventListener('click', this.inputElementClick.bind(this));
            textArea.addEventListener('change', this.getTextboxValue.bind(this));
            return textArea;
        };
        FormDesigner.prototype.createTextboxElement = function (id) {
            var inputElement = ej2_base_1.createElement('input');
            inputElement.id = id;
            inputElement.type = 'text';
            inputElement.className = 'e-pv-formfield-input';
            inputElement.autocomplete = this.pdfViewer.enableAutoComplete ? 'on' : 'off';
            inputElement.style.width = '100%';
            inputElement.style.height = '100%';
            inputElement.style.position = 'absolute';
            inputElement.style.borderStyle = 'solid';
            inputElement.addEventListener('click', this.inputElementClick.bind(this));
            inputElement.addEventListener('change', this.getTextboxValue.bind(this));
            inputElement.addEventListener('focus', this.focusFormFields.bind(this));
            inputElement.addEventListener('blur', this.blurFormFields.bind(this));
            return inputElement;
        };
        FormDesigner.prototype.updateFormFieldCollections = function (formFieldObject) {
            var formField = {
                id: formFieldObject.id.split('_')[0], name: formFieldObject.name, value: formFieldObject.value,
                type: formFieldObject.type ? formFieldObject.type :
                    formFieldObject.formFieldAnnotationType, isReadOnly: formFieldObject.isReadonly,
                fontFamily: formFieldObject.fontFamily, isMultiline: formFieldObject.isMultiline,
                fontSize: formFieldObject.fontSize, fontStyle: formFieldObject.fontStyle, color: formFieldObject.color ? formFieldObject.color : this.getRgbToHex(formFieldObject.fontColor), backgroundColor: typeof formFieldObject.backgroundColor === 'string' ? formFieldObject.backgroundColor : this.getRgbToHex(formFieldObject.backgroundColor),
                alignment: formFieldObject.alignment ?
                    formFieldObject.alignment : formFieldObject.textAlign,
                visibility: formFieldObject.visibility,
                maxLength: formFieldObject.maxLength,
                isRequired: formFieldObject.isRequired,
                isPrint: formFieldObject.isPrint, isSelected: formFieldObject.isSelected, isChecked: formFieldObject.isChecked,
                tooltip: formFieldObject.tooltip,
                bounds: formFieldObject.bounds ? formFieldObject.bounds : formFieldObject.lineBound,
                thickness: formFieldObject.thickness,
                borderColor: typeof formFieldObject.borderColor === 'string' ?
                    formFieldObject.borderColor :
                    this.getRgbToHex(formFieldObject.borderColor),
                pageIndex: !ej2_base_2.isNullOrUndefined(formFieldObject.pageNumber) ? formFieldObject.pageNumber - 1 : formFieldObject.pageIndex,
                insertSpaces: formFieldObject.insertSpaces,
                isTransparent: formFieldObject.isTransparent ?
                    formFieldObject.isTransparent : false,
                options: formFieldObject.option ? formFieldObject.option :
                    formFieldObject.options, pageNumber: formFieldObject.pageNumber,
                rotateAngle: !ej2_base_2.isNullOrUndefined(formFieldObject.rotateAngle) ?
                    formFieldObject.rotateAngle : formFieldObject.rotation,
                selectedIndex: formFieldObject.selectedIndex,
                signatureIndicatorSettings: formFieldObject.signatureIndicatorSettings,
                signatureType: formFieldObject.signatureType,
                zIndex: formFieldObject.zIndex,
                customData: formFieldObject.customData,
                isUnisonSelected: formFieldObject.isUnisonSelected
            };
            this.pdfViewer.formFieldCollections[this.pdfViewer.formFieldCollections.findIndex(function (el) { return el.id === formField.id; })] = formField;
        };
        FormDesigner.prototype.getRgbToHex = function (color) {
            return ('#' + this.hex(color.r) + this.hex(color.g) + this.hex(color.b));
        };
        FormDesigner.prototype.updateDropdownFormDesignerProperties = function (selectedItem, isUndoRedo) {
            var dropdownElement = document.getElementById(selectedItem.id + '_content_html_element').firstElementChild.firstElementChild;
            if (this.pdfViewer.designerMode || isUndoRedo) {
                var data = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
                var formFieldsData_2 = JSON.parse(data);
                var index_1 = this.getFormFiledIndex(selectedItem.id.split('_')[0]);
                selectedItem.options = this.createDropdownDataSource(selectedItem);
                this.updateDropDownListDataSource(selectedItem, dropdownElement);
                selectedItem.selectedIndex = [];
                if (index_1 > -1) {
                    formFieldsData_2[parseInt(index_1.toString(), 10)].FormField.option = selectedItem.options;
                    this.pdfViewerBase.formFieldCollection[parseInt(index_1.toString(), 10)].FormField.option = selectedItem.options;
                    if (!ej2_base_2.isNullOrUndefined(selectedItem.options) && selectedItem.options.length > 0) {
                        if (formFieldsData_2[parseInt(index_1.toString(), 10)] &&
                            formFieldsData_2[parseInt(index_1.toString(), 10)].FormField.value) {
                            var selectedIndex = selectedItem.options.findIndex(function (x) {
                                return x.itemValue === formFieldsData_2[parseInt(index_1.toString(), 10)].FormField.value;
                            });
                            selectedItem.selectedIndex.push(selectedIndex);
                        }
                        else {
                            selectedItem.selectedIndex.push(0);
                        }
                    }
                }
                this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].options = selectedItem.options;
                if ((this.formFieldName && this.formFieldName.value) || isUndoRedo) {
                    this.updateNamePropertyChange(selectedItem, dropdownElement, isUndoRedo, index_1, formFieldsData_2);
                }
                if (this.formFieldValue && formFieldsData_2[parseInt(index_1.toString(), 10)] &&
                    formFieldsData_2[parseInt(index_1.toString(), 10)].FormField.value || isUndoRedo) {
                    this.updateValuePropertyChange(selectedItem, dropdownElement, isUndoRedo, index_1, formFieldsData_2);
                }
                if (this.formFieldPrinting || isUndoRedo) {
                    this.updateIsPrintPropertyChange(selectedItem, isUndoRedo, index_1, formFieldsData_2);
                }
                if ((this.formFieldTooltip) || isUndoRedo) {
                    this.updateTooltipPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_1, formFieldsData_2);
                }
                if (this.formFieldVisibility || isUndoRedo) {
                    this.updateVisibilityPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_1, formFieldsData_2);
                }
                if ((this.formFieldFontFamily && this.formFieldFontFamily.value) || isUndoRedo) {
                    this.updateFontFamilyPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_1, formFieldsData_2);
                }
                if ((this.formFieldFontSize && this.formFieldFontSize.value) || isUndoRedo) {
                    this.updateFontSizePropertyChange(selectedItem, dropdownElement, isUndoRedo, index_1, formFieldsData_2);
                }
                this.updateFontStylePropertyChange(selectedItem, dropdownElement, isUndoRedo, index_1, formFieldsData_2);
                if (this.formFieldAlign || isUndoRedo) {
                    this.updateAlignmentPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_1, formFieldsData_2);
                }
                if (this.fontColorValue || isUndoRedo) {
                    this.updateColorPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_1, formFieldsData_2);
                }
                if (this.backgroundColorValue || isUndoRedo) {
                    this.updateBackgroundColorPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_1, formFieldsData_2);
                }
                if (this.borderColorValue || isUndoRedo) {
                    this.updateBorderColorPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_1, formFieldsData_2);
                }
                if (!ej2_base_2.isNullOrUndefined(this.formFieldBorderWidth) || isUndoRedo) {
                    this.updateBorderThicknessPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_1, formFieldsData_2);
                }
                if (this.formFieldReadOnly || isUndoRedo) {
                    this.updateIsReadOnlyPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_1, formFieldsData_2);
                }
                if (this.formFieldRequired || isUndoRedo) {
                    this.updateIsRequiredPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_1, formFieldsData_2);
                }
            }
            if (isUndoRedo) {
                this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
            }
        };
        FormDesigner.prototype.updateListBoxFormDesignerProperties = function (selectedItem, isUndoRedo) {
            var dropdownElement = document.getElementById(selectedItem.id + '_content_html_element').firstElementChild.firstElementChild;
            if (this.pdfViewer.designerMode || isUndoRedo) {
                var data = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
                var formFieldsData_3 = JSON.parse(data);
                var index_2 = this.getFormFiledIndex(selectedItem.id.split('_')[0]);
                selectedItem.options = this.createDropdownDataSource(selectedItem);
                this.updateDropDownListDataSource(selectedItem, dropdownElement);
                selectedItem.selectedIndex = [];
                if (index_2 > -1) {
                    formFieldsData_3[parseInt(index_2.toString(), 10)].FormField.option = selectedItem.options;
                    this.pdfViewerBase.formFieldCollection[parseInt(index_2.toString(), 10)].FormField.option = selectedItem.options;
                    if (!ej2_base_2.isNullOrUndefined(selectedItem.options) && selectedItem.options.length > 0) {
                        if (formFieldsData_3[parseInt(index_2.toString(), 10)] && formFieldsData_3[parseInt(index_2.toString(), 10)].FormField.value) {
                            selectedItem.selectedIndex.push(selectedItem.options.findIndex(function (x) {
                                return x.itemValue === formFieldsData_3[parseInt(index_2.toString(), 10)].FormField.value;
                            }));
                        }
                        else {
                            selectedItem.selectedIndex.push(0);
                        }
                    }
                }
                this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].options = selectedItem.options;
                if ((this.formFieldName && this.formFieldName.value) || isUndoRedo) {
                    this.updateNamePropertyChange(selectedItem, dropdownElement, isUndoRedo, index_2, formFieldsData_3);
                }
                if (this.formFieldPrinting || isUndoRedo) {
                    this.updateIsPrintPropertyChange(selectedItem, isUndoRedo, index_2, formFieldsData_3);
                }
                if ((this.formFieldTooltip) || isUndoRedo) {
                    this.updateTooltipPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_2, formFieldsData_3);
                }
                if (this.formFieldVisibility || isUndoRedo) {
                    this.updateVisibilityPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_2, formFieldsData_3);
                }
                if ((this.formFieldFontFamily && this.formFieldFontFamily.value) || isUndoRedo) {
                    this.updateFontFamilyPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_2, formFieldsData_3);
                }
                if ((this.formFieldFontSize && this.formFieldFontSize.value) || isUndoRedo) {
                    this.updateFontSizePropertyChange(selectedItem, dropdownElement, isUndoRedo, index_2, formFieldsData_3);
                }
                this.updateFontStylePropertyChange(selectedItem, dropdownElement, isUndoRedo, index_2, formFieldsData_3);
                if (this.formFieldAlign || isUndoRedo) {
                    this.updateAlignmentPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_2, formFieldsData_3);
                }
                if (this.fontColorValue || isUndoRedo) {
                    this.updateColorPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_2, formFieldsData_3);
                }
                if (this.backgroundColorValue || isUndoRedo) {
                    this.updateBackgroundColorPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_2, formFieldsData_3);
                }
                if (this.borderColorValue || isUndoRedo) {
                    this.updateBorderColorPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_2, formFieldsData_3);
                }
                if (!ej2_base_2.isNullOrUndefined(this.formFieldBorderWidth) || isUndoRedo) {
                    this.updateBorderThicknessPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_2, formFieldsData_3);
                }
                if (this.formFieldReadOnly || isUndoRedo) {
                    this.updateIsReadOnlyPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_2, formFieldsData_3);
                }
                if (this.formFieldRequired || isUndoRedo) {
                    this.updateIsRequiredPropertyChange(selectedItem, dropdownElement, isUndoRedo, index_2, formFieldsData_3);
                }
            }
            if (isUndoRedo) {
                this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
            }
        };
        FormDesigner.prototype.updateDropDownListDataSource = function (selectedItem, dropdownElement) {
            while (dropdownElement.firstChild) {
                dropdownElement.firstChild.remove();
            }
            for (var j = 0; j < selectedItem.options.length; j++) {
                var option = document.createElement('option');
                option.className = 'e-pv-formfield-dropdown';
                option.value = selectedItem.options[parseInt(j.toString(), 10)].itemValue;
                option.text = selectedItem.options[parseInt(j.toString(), 10)].itemName;
                dropdownElement.appendChild(option);
            }
        };
        FormDesigner.prototype.createDropdownDataSource = function (selectedItem) {
            var ulItem = document.getElementById(this.pdfViewer.element.id + '_ul_list_item');
            this.formFieldListItemDataSource = [];
            if (ulItem && ulItem.children && ulItem.children.length > 0) {
                for (var i = 0; i < ulItem.children.length; i++) {
                    var liItem = ulItem.children[parseInt(i.toString(), 10)];
                    var name_1 = (liItem.textContent || '').trim();
                    var value = (liItem.getAttribute('data-value') || name_1).trim();
                    this.formFieldListItemDataSource.push({ itemName: name_1, itemValue: value });
                }
            }
            else if (selectedItem && selectedItem.options.length > 0) {
                this.formFieldListItemDataSource = selectedItem.options;
            }
            return this.formFieldListItemDataSource;
        };
        FormDesigner.prototype.updateSignatureTextboxProperties = function (selectedItem, isUndoRedo) {
            var inputElement = document.getElementById(selectedItem.id + '_content_html_element').firstElementChild.firstElementChild;
            var data = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
            var formFieldsData = JSON.parse(data);
            var index = this.getFormFiledIndex(selectedItem.id.split('_')[0]);
            if (this.pdfViewer.designerMode || isUndoRedo) {
                if ((this.formFieldName && this.formFieldName.value) || isUndoRedo) {
                    this.updateNamePropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
                if (this.formFieldPrinting || isUndoRedo) {
                    this.updateIsPrintPropertyChange(selectedItem, isUndoRedo, index, formFieldsData);
                }
                if ((this.formFieldTooltip) || isUndoRedo) {
                    this.updateTooltipPropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
                if (!ej2_base_2.isNullOrUndefined(this.formFieldBorderWidth) || isUndoRedo) {
                    this.updateBorderThicknessPropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
                if (this.formFieldVisibility || isUndoRedo) {
                    this.updateVisibilityPropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
                if (this.formFieldReadOnly || isUndoRedo) {
                    this.updateIsReadOnlyPropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
                if (this.formFieldRequired || isUndoRedo) {
                    this.updateIsRequiredPropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
            }
            if (isUndoRedo) {
                this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
            }
        };
        FormDesigner.prototype.updateCheckboxFormDesignerProperties = function (selectedItem, updateValue, isUndoRedo) {
            var checkBoxElement = document.getElementById(selectedItem.id + '_content_html_element').firstElementChild.firstElementChild.lastElementChild;
            var data = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
            var formFieldsData = JSON.parse(data);
            var index = this.getFormFiledIndex(selectedItem.id.split('_')[0]);
            if ((this.formFieldName && this.formFieldName.value) || isUndoRedo) {
                this.updateNamePropertyChange(selectedItem, checkBoxElement, isUndoRedo, index, formFieldsData);
            }
            if (this.formFieldValue || isUndoRedo) {
                this.updateValuePropertyChange(selectedItem, checkBoxElement, isUndoRedo, index, formFieldsData, updateValue);
            }
            if (this.backgroundColorValue || isUndoRedo) {
                this.updateBackgroundColorPropertyChange(selectedItem, checkBoxElement, isUndoRedo, index, formFieldsData);
            }
            if (this.borderColorValue || isUndoRedo) {
                this.updateBorderColorPropertyChange(selectedItem, checkBoxElement, isUndoRedo, index, formFieldsData);
            }
            if (!ej2_base_2.isNullOrUndefined(this.formFieldBorderWidth) || isUndoRedo) {
                this.updateBorderThicknessPropertyChange(selectedItem, checkBoxElement, isUndoRedo, index, formFieldsData);
            }
            if (this.formFieldChecked) {
                this.checkboxCheckedState = this.formFieldChecked.checked;
            }
            if (this.formFieldPrinting || isUndoRedo) {
                this.updateIsPrintPropertyChange(selectedItem, isUndoRedo, index, formFieldsData);
            }
            if ((this.formFieldTooltip) || isUndoRedo) {
                this.updateTooltipPropertyChange(selectedItem, checkBoxElement, isUndoRedo, index, formFieldsData);
            }
            if (this.formFieldVisibility || isUndoRedo) {
                this.updateVisibilityPropertyChange(selectedItem, checkBoxElement, isUndoRedo, index, formFieldsData);
            }
            if (!ej2_base_2.isNullOrUndefined(this.checkboxCheckedState) || isUndoRedo) {
                this.updateIsCheckedPropertyChange(selectedItem, checkBoxElement, isUndoRedo, index, formFieldsData);
            }
            if ((this.pdfViewer.designerMode && this.borderColorValue) || isUndoRedo) {
                this.updateBorderColorPropertyChange(selectedItem, checkBoxElement, isUndoRedo, index, formFieldsData);
            }
            if ((this.pdfViewer.designerMode && this.formFieldBorderWidth) || isUndoRedo) {
                this.updateBorderThicknessPropertyChange(selectedItem, checkBoxElement, isUndoRedo, index, formFieldsData);
            }
            if (this.formFieldReadOnly || isUndoRedo) {
                this.updateIsReadOnlyPropertyChange(selectedItem, checkBoxElement, isUndoRedo, index, formFieldsData);
            }
            if (this.formFieldRequired || isUndoRedo) {
                this.updateIsRequiredPropertyChange(selectedItem, checkBoxElement, isUndoRedo, index, formFieldsData);
            }
            if (isUndoRedo) {
                this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
            }
        };
        FormDesigner.prototype.updateRadioButtonDesignerProperties = function (selectedItem, updateValue, isUndoRedo) {
            var radioButton = document.getElementById(selectedItem.id + '_content_html_element').firstElementChild.firstElementChild.firstElementChild;
            var data = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
            var formFieldsData = JSON.parse(data);
            var index = this.getFormFiledIndex(selectedItem.id.split('_')[0]);
            if ((this.formFieldName && this.formFieldName.value) || isUndoRedo) {
                this.updateNamePropertyChange(selectedItem, radioButton, isUndoRedo, index, formFieldsData);
            }
            if (this.formFieldValue || isUndoRedo) {
                this.updateValuePropertyChange(selectedItem, radioButton, isUndoRedo, index, formFieldsData, updateValue);
            }
            if (this.formFieldChecked) {
                this.checkboxCheckedState = this.formFieldChecked.checked;
            }
            if (this.formFieldPrinting || isUndoRedo) {
                this.updateIsPrintPropertyChange(selectedItem, isUndoRedo, index, formFieldsData);
            }
            if ((this.formFieldTooltip) || isUndoRedo) {
                this.updateTooltipPropertyChange(selectedItem, radioButton, isUndoRedo, index, formFieldsData);
            }
            if (this.formFieldVisibility || isUndoRedo) {
                this.updateVisibilityPropertyChange(selectedItem, radioButton, isUndoRedo, index, formFieldsData);
            }
            if ((this.pdfViewer.designerMode && !ej2_base_2.isNullOrUndefined(this.formFieldBorderWidth)) || isUndoRedo) {
                this.updateBorderThicknessPropertyChange(selectedItem, radioButton, isUndoRedo, index, formFieldsData);
            }
            if (this.backgroundColorValue || isUndoRedo) {
                this.updateBackgroundColorPropertyChange(selectedItem, radioButton, isUndoRedo, index, formFieldsData);
            }
            if (this.borderColorValue || isUndoRedo) {
                this.updateBorderColorPropertyChange(selectedItem, radioButton, isUndoRedo, index, formFieldsData);
            }
            if (!ej2_base_2.isNullOrUndefined(this.checkboxCheckedState) || isUndoRedo) {
                this.updateIsSelectedPropertyChange(selectedItem, radioButton, isUndoRedo, index, formFieldsData);
            }
            if (this.formFieldReadOnly || isUndoRedo) {
                this.updateIsReadOnlyPropertyChange(selectedItem, radioButton, isUndoRedo, index, formFieldsData);
            }
            if (this.formFieldRequired || isUndoRedo) {
                this.updateIsRequiredPropertyChange(selectedItem, radioButton, isUndoRedo, index, formFieldsData);
            }
            if (isUndoRedo) {
                var formField = this.pdfViewer.nameTable[selectedItem.id.split('_')[0]];
                var point2 = ej2_drawings_1.cornersPointsBeforeRotation(formField.wrapper.children[0]).topLeft;
                this.updateFormDesignerFieldInSessionStorage(point2, formField.wrapper.children[0], formField.formFieldAnnotationType, formField);
            }
        };
        FormDesigner.prototype.updateTextboxFormDesignerProperties = function (selectedItem, isUndoRedo) {
            var inputElement = document.getElementById(selectedItem.id + '_content_html_element').firstElementChild.firstElementChild;
            var isMaxLengthChanged = false;
            var oldValue;
            var newValue;
            var data = this.pdfViewerBase.getItemFromSessionStorage('_formDesigner');
            var formFieldsData = JSON.parse(data);
            var index = this.getFormFiledIndex(selectedItem.id.split('_')[0]);
            if (this.pdfViewer.designerMode || isUndoRedo || this.isAddFormFieldProgrammatically) {
                if ((this.formFieldName && this.formFieldName.value) || isUndoRedo) {
                    this.updateNamePropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
                if (this.isAddFormFieldProgrammatically ? selectedItem.value : this.formFieldValue || isUndoRedo) {
                    this.updateValuePropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
                if (this.formFieldPrinting || isUndoRedo) {
                    this.updateIsPrintPropertyChange(selectedItem, isUndoRedo, index, formFieldsData);
                }
                if ((this.formFieldTooltip) || isUndoRedo) {
                    this.updateTooltipPropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
                if (this.formFieldVisibility || isUndoRedo) {
                    this.updateVisibilityPropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
                if ((this.isAddFormFieldProgrammatically ? selectedItem.fontFamily : this.formFieldFontFamily &&
                    this.formFieldFontFamily.value) || isUndoRedo) {
                    this.updateFontFamilyPropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
                if ((this.isAddFormFieldProgrammatically ? selectedItem.fontSize : this.formFieldFontSize &&
                    this.formFieldFontSize.value) || isUndoRedo) {
                    this.updateFontSizePropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
                this.updateFontStylePropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                if (this.formFieldAlign || isUndoRedo || this.multilineCheckboxCheckedState) {
                    this.updateAlignmentPropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
                if (this.maxLengthItem || isUndoRedo) {
                    if (this.maxLengthItem && (selectedItem.maxLength !== this.maxLengthItem.value)) {
                        isMaxLengthChanged = true;
                        oldValue = selectedItem.maxLength;
                        newValue = this.maxLengthItem.value;
                    }
                    if (!ej2_base_2.isNullOrUndefined(this.maxLengthItem)) {
                        var maxLength = this.maxLengthItem.value === 0 ? 524288 : this.maxLengthItem.value;
                        if (isUndoRedo && selectedItem.maxLength !== 0) {
                            inputElement.maxLength = selectedItem.maxLength;
                        }
                        else {
                            inputElement.maxLength = maxLength;
                            selectedItem.maxLength = this.maxLengthItem.value;
                        }
                        var currentValue = selectedItem.value;
                        if (inputElement.maxLength > 0 && currentValue && currentValue.length > inputElement.maxLength) {
                            var newValue_1 = currentValue.substring(0, inputElement.maxLength);
                            inputElement.value = newValue_1;
                            selectedItem.value = newValue_1;
                        }
                    }
                    if (index > -1) {
                        formFieldsData[parseInt(index.toString(), 10)].FormField.maxLength = selectedItem.maxLength;
                        this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.maxLength = selectedItem.maxLength;
                    }
                    this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].maxLength = selectedItem.maxLength;
                    if (isMaxLengthChanged) {
                        this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, false, false, false, false, false, false, false, false, false, false, false, isMaxLengthChanged, false, false, false, false, oldValue, newValue);
                    }
                }
                if (this.fontColorValue || isUndoRedo || this.multilineCheckboxCheckedState) {
                    this.updateColorPropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
                if (this.backgroundColorValue || isUndoRedo || this.multilineCheckboxCheckedState) {
                    this.updateBackgroundColorPropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
                if (this.borderColorValue || isUndoRedo || this.multilineCheckboxCheckedState) {
                    this.updateBorderColorPropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
                if (!ej2_base_2.isNullOrUndefined(this.formFieldBorderWidth) || isUndoRedo) {
                    this.updateBorderThicknessPropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
                if (this.formFieldReadOnly || isUndoRedo) {
                    this.updateIsReadOnlyPropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
                if (this.isAddFormFieldProgrammatically || this.formFieldRequired || isUndoRedo) {
                    this.updateIsRequiredPropertyChange(selectedItem, inputElement, isUndoRedo, index, formFieldsData);
                }
            }
            if (!this.pdfViewer.designerMode) {
                if (this.formFieldVisibility && this.formFieldVisibility.value) {
                    selectedItem.visibility = this.formFieldVisibility.value;
                    var visibleItem = document.getElementById(selectedItem.id + '_content_html_element').firstElementChild.firstElementChild;
                    visibleItem.style.visibility = selectedItem.visibility;
                }
            }
            this.updateFormFieldCollections(selectedItem);
            if (isUndoRedo) {
                this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
            }
        };
        FormDesigner.prototype.updateIsCheckedPropertyChange = function (selectedItem, element, isUndoRedo, index, formFieldsData) {
            if (this.pdfViewer.designerMode || isUndoRedo) {
                var isValueChanged = false;
                var oldValue = void 0;
                var newValue = void 0;
                if (selectedItem.isChecked !== this.checkboxCheckedState) {
                    isValueChanged = true;
                    oldValue = selectedItem.isChecked;
                    newValue = this.checkboxCheckedState;
                }
                if (!isUndoRedo) {
                    selectedItem.isChecked = this.checkboxCheckedState;
                }
                if (index > -1) {
                    formFieldsData[parseInt(index.toString(), 10)].FormField.isChecked = selectedItem.isChecked;
                    this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.isChecked = selectedItem.isChecked;
                }
                this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].isChecked = selectedItem.isChecked;
                if (isValueChanged) {
                    this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, isValueChanged, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, oldValue, newValue);
                }
            }
            if (!this.pdfViewer.designerMode || isUndoRedo) {
                var checkboxElement = document.getElementById(selectedItem.id + '_input').firstElementChild;
                if (selectedItem.isChecked) {
                    if (checkboxElement.classList.contains('e-pv-cb-unchecked')) {
                        checkboxElement.classList.remove('e-pv-cb-unchecked');
                    }
                    checkboxElement.classList.add('e-pv-cb-checked');
                }
                else {
                    if (checkboxElement.classList.contains('e-pv-cb-checked')) {
                        checkboxElement.classList.remove('e-pv-cb-checked');
                    }
                    checkboxElement.classList.add('e-pv-cb-unchecked');
                }
            }
        };
        FormDesigner.prototype.updateIsSelectedPropertyChange = function (selectedItem, element, isUndoRedo, index, formFieldsData) {
            if (this.pdfViewer.designerMode || isUndoRedo) {
                var isValueChanged = false;
                var oldValue = void 0;
                var newValue = void 0;
                if (selectedItem.isSelected !== this.checkboxCheckedState) {
                    isValueChanged = true;
                    oldValue = selectedItem.isSelected;
                    newValue = this.checkboxCheckedState;
                }
                if (!isUndoRedo) {
                    selectedItem.isSelected = this.checkboxCheckedState;
                }
                if (index > -1) {
                    formFieldsData[parseInt(index.toString(), 10)].FormField.isSelected = selectedItem.isSelected;
                    for (var i = 0; i < formFieldsData[parseInt(index.toString(), 10)].FormField.radiobuttonItem.length; i++) {
                        if (formFieldsData[parseInt(index.toString(), 10)].FormField.radiobuttonItem[parseInt(i.toString(), 10)].id.split('_')[0] === selectedItem.id.split('_')[0]) {
                            formFieldsData[parseInt(index.toString(), 10)].
                                FormField.radiobuttonItem[parseInt(i.toString(), 10)].isSelected = selectedItem.isSelected;
                            this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].
                                FormField.radiobuttonItem[parseInt(i.toString(), 10)].isSelected = selectedItem.isSelected;
                        }
                    }
                }
                this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].isSelected = selectedItem.isSelected;
                if (isValueChanged) {
                    this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, isValueChanged, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, oldValue, newValue);
                }
            }
            if (!this.pdfViewer.designerMode || isUndoRedo) {
                element.checked = selectedItem.isSelected;
                if (index > -1) {
                    formFieldsData[parseInt(index.toString(), 10)].FormField.isSelected = selectedItem.isSelected;
                    this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.isSelected = selectedItem.isSelected;
                    for (var i = 0; i < formFieldsData[parseInt(index.toString(), 10)].FormField.radiobuttonItem.length; i++) {
                        if (formFieldsData[parseInt(index.toString(), 10)].FormField.radiobuttonItem[parseInt(i.toString(), 10)].id.split('_')[0] === selectedItem.id.split('_')[0]) {
                            formFieldsData[parseInt(index.toString(), 10)].FormField.
                                radiobuttonItem[parseInt(i.toString(), 10)].isSelected = selectedItem.isSelected;
                            this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].
                                FormField.radiobuttonItem[parseInt(i.toString(), 10)].isSelected = selectedItem.isSelected;
                        }
                    }
                }
                this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
                this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].isSelected = selectedItem.isSelected;
            }
        };
        FormDesigner.prototype.updateValuePropertyChange = function (selectedItem, element, isUndoRedo, index, formFieldsData, updateValue) {
            var isValueChanged = false;
            var oldValue;
            var newValue;
            if (selectedItem.formFieldAnnotationType !== 'DropdownList' && this.formFieldValue && (selectedItem.value !== this.formFieldValue.value)) {
                isValueChanged = true;
                oldValue = selectedItem.value;
                newValue = this.formFieldValue.value;
            }
            else if (selectedItem.formFieldAnnotationType === 'DropdownList' && this.formFieldValue && (selectedItem.value !== formFieldsData[parseInt(index.toString(), 10)].FormField.value)) {
                isValueChanged = true;
                oldValue = selectedItem.value;
                newValue = formFieldsData[parseInt(index.toString(), 10)].FormField.value;
            }
            if (isUndoRedo) {
                element.value = selectedItem.value;
            }
            else {
                if (updateValue) {
                    isValueChanged = false;
                }
                else if (!this.isAddFormFieldProgrammatically) {
                    if (selectedItem.formFieldAnnotationType === 'DropdownList') {
                        selectedItem.value = formFieldsData[parseInt(index.toString(), 10)].FormField.value;
                    }
                    else {
                        selectedItem.value = this.formFieldValue ? this.formFieldValue.value : selectedItem.value;
                    }
                    if (selectedItem.formFieldAnnotationType === 'DropdownList') {
                        element.value = formFieldsData[parseInt(index.toString(), 10)].FormField.value;
                    }
                    else {
                        element.value = this.formFieldValue ? this.formFieldValue.value : selectedItem.value;
                    }
                }
                else {
                    if (selectedItem.formFieldAnnotationType === 'DropdownList') {
                        selectedItem.value = formFieldsData[parseInt(index.toString(), 10)].FormField.value;
                    }
                    if (selectedItem.formFieldAnnotationType === 'DropdownList') {
                        element.value = formFieldsData[parseInt(index.toString(), 10)].FormField.value;
                    }
                    else {
                        element.value = selectedItem.value;
                    }
                }
            }
            if (index > -1) {
                formFieldsData[parseInt(index.toString(), 10)].FormField.value = selectedItem.value;
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.value = selectedItem.value;
            }
            this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].value = selectedItem.value;
            if (isValueChanged) {
                this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, isValueChanged, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, oldValue, newValue);
            }
        };
        FormDesigner.prototype.updateFontStylePropertyChange = function (selectedItem, element, isUndoRedo, index, formFieldsData) {
            var isFontStyleChanged = false;
            var oldValue = '';
            var newValue = '';
            var result = this.updateFontStyle(element, selectedItem, isUndoRedo, index, formFieldsData);
            isFontStyleChanged = result[0];
            oldValue = result[1];
            newValue = result[2];
            if (index > -1) {
                formFieldsData[parseInt(index.toString(), 10)].FormField.fontStyle = selectedItem.fontStyle;
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.fontStyle = selectedItem.fontStyle;
            }
            this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].fontStyle = selectedItem.fontStyle;
            if (isFontStyleChanged) {
                this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, false, false, false, isFontStyleChanged, false, false, false, false, false, false, false, false, false, false, false, false, oldValue, newValue);
            }
        };
        FormDesigner.prototype.updateBorderThicknessPropertyChange = function (selectedItem, element, isUndoRedo, index, formFieldsData) {
            var isBorderWidthChanged = false;
            var oldValue;
            var newValue;
            var borderWidth = parseInt(this.formFieldBorderWidth, 10);
            if (selectedItem.thickness !== borderWidth) {
                isBorderWidthChanged = true;
                oldValue = selectedItem.thickness;
                newValue = borderWidth ? borderWidth : selectedItem.thickness;
            }
            if (isUndoRedo) {
                element.style.borderWidth = selectedItem.thickness.toString();
            }
            else {
                element.style.borderWidth = this.formFieldBorderWidth ? this.formFieldBorderWidth + 'px' : selectedItem.thickness + 'px';
                selectedItem.thickness = borderWidth;
            }
            if (index > -1) {
                formFieldsData[parseInt(index.toString(), 10)].FormField.thickness = selectedItem.thickness;
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.thickness = selectedItem.thickness;
            }
            this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].thickness = selectedItem.thickness;
            if (isBorderWidthChanged) {
                this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, false, false, false, false, false, false, false, isBorderWidthChanged, false, false, false, false, false, false, false, false, oldValue, newValue);
            }
        };
        FormDesigner.prototype.updateBorderColorPropertyChange = function (selectedItem, element, isUndoRedo, index, formFieldsData) {
            var isBorderColorChanged = false;
            var oldValue;
            var newValue;
            if (selectedItem.borderColor !== this.borderColorValue) {
                isBorderColorChanged = true;
                oldValue = selectedItem.borderColor;
                newValue = this.borderColorValue ? this.borderColorValue : selectedItem.borderColor;
            }
            if (this.pdfViewer.enableHtmlSanitizer && this.borderColorValue) {
                this.borderColorValue = ej2_base_2.SanitizeHtmlHelper.sanitize(this.borderColorValue);
            }
            if (isUndoRedo) {
                element.style.borderColor = selectedItem.borderColor;
            }
            else {
                element.style.borderColor = this.borderColorValue ? this.borderColorValue : selectedItem.borderColor;
                selectedItem.borderColor = this.borderColorValue ? this.borderColorValue : selectedItem.borderColor;
            }
            if (selectedItem.formFieldAnnotationType === 'RadioButton') {
                element.parentElement.style.boxShadow = this.borderColorValue + ' 0px 0px 0px ' + selectedItem.thickness + 'px';
            }
            if (index > -1) {
                formFieldsData[parseInt(index.toString(), 10)].FormField.borderColor = this.getRgbCode(selectedItem.borderColor);
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.borderColor =
                    this.getRgbCode(selectedItem.borderColor);
            }
            this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].borderColor = selectedItem.borderColor;
            if (isBorderColorChanged) {
                this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, false, false, false, false, false, false, isBorderColorChanged, false, false, false, false, false, false, false, false, false, oldValue, newValue);
            }
        };
        FormDesigner.prototype.updateBackgroundColorPropertyChange = function (selectedItem, element, isUndoRedo, index, formFieldsData) {
            var isBackgroundColorChanged = false;
            var oldValue;
            var newValue;
            if (selectedItem.backgroundColor !== this.backgroundColorValue) {
                isBackgroundColorChanged = true;
                oldValue = selectedItem.backgroundColor;
                newValue = this.backgroundColorValue ? this.backgroundColorValue : selectedItem.backgroundColor;
            }
            if (this.pdfViewer.enableHtmlSanitizer && this.backgroundColorValue) {
                this.backgroundColorValue = ej2_base_2.SanitizeHtmlHelper.sanitize(this.backgroundColorValue);
            }
            if (isUndoRedo) {
                if (selectedItem.formFieldAnnotationType === 'RadioButton') {
                    element.parentElement.style.background = selectedItem.backgroundColor;
                }
                else {
                    element.style.background = selectedItem.backgroundColor;
                }
            }
            else {
                if (selectedItem.formFieldAnnotationType === 'RadioButton') {
                    element.parentElement.style.background = this.backgroundColorValue ?
                        this.backgroundColorValue : selectedItem.backgroundColor;
                }
                else {
                    element.style.background = this.backgroundColorValue ? this.backgroundColorValue : selectedItem.backgroundColor;
                }
                selectedItem.backgroundColor = this.backgroundColorValue ? this.backgroundColorValue : selectedItem.backgroundColor;
            }
            if (index > -1) {
                formFieldsData[parseInt(index.toString(), 10)].FormField.backgroundColor = this.getRgbCode(selectedItem.backgroundColor);
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.backgroundColor =
                    this.getRgbCode(selectedItem.backgroundColor);
            }
            this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].backgroundColor = selectedItem.backgroundColor;
            if (isBackgroundColorChanged) {
                this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, false, false, false, false, false, isBackgroundColorChanged, false, false, false, false, false, false, false, false, false, false, oldValue, newValue);
            }
        };
        FormDesigner.prototype.updateColorPropertyChange = function (selectedItem, element, isUndoRedo, index, formFieldsData) {
            var isColorChanged = false;
            var oldValue;
            var newValue;
            if (selectedItem.color !== this.fontColorValue) {
                isColorChanged = true;
                oldValue = selectedItem.color;
                newValue = this.fontColorValue ? this.fontColorValue : selectedItem.color;
            }
            if (this.pdfViewer.enableHtmlSanitizer && this.fontColorValue) {
                this.fontColorValue = ej2_base_2.SanitizeHtmlHelper.sanitize(this.fontColorValue);
            }
            if (isUndoRedo) {
                element.style.color = selectedItem.color;
            }
            else {
                element.style.color = this.fontColorValue ? this.fontColorValue : selectedItem.color;
                selectedItem.color = this.fontColorValue ? this.fontColorValue : selectedItem.color;
            }
            if (index > -1) {
                formFieldsData[parseInt(index.toString(), 10)].FormField.color = this.getRgbCode(selectedItem.color);
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.color = this.getRgbCode(selectedItem.color);
            }
            this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].color = selectedItem.color;
            if (isColorChanged) {
                this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, false, false, false, false, isColorChanged, false, false, false, false, false, false, false, false, false, false, false, oldValue, newValue);
            }
        };
        FormDesigner.prototype.updateAlignmentPropertyChange = function (selectedItem, element, isUndoRedo, index, formFieldsData) {
            var isAlignmentChanged = false;
            var oldValue;
            var newValue;
            if (selectedItem.alignment !== this.formFieldAlign) {
                isAlignmentChanged = true;
                oldValue = selectedItem.alignment;
                newValue = this.formFieldAlign ? this.formFieldAlign : selectedItem.alignment;
            }
            if (isUndoRedo) {
                element.style.textAlign = selectedItem.alignment;
                if ((selectedItem.formFieldAnnotationType === 'ListBox' || selectedItem.formFieldAnnotationType === 'DropdownList') && element.children.length > 0) {
                    element.style.textAlignLast = selectedItem.alignment;
                    for (var i = 0; i < element.children.length; i++) {
                        var dropDownChild = element.children[parseInt(i.toString(), 10)];
                        dropDownChild.style.textAlignLast = selectedItem.alignment;
                        dropDownChild.style.textAlign = selectedItem.alignment;
                    }
                }
            }
            else {
                element.style.textAlign = this.formFieldAlign ? this.formFieldAlign : selectedItem.alignment;
                selectedItem.alignment = this.formFieldAlign ? this.formFieldAlign : selectedItem.alignment;
                if ((selectedItem.formFieldAnnotationType === 'ListBox' || selectedItem.formFieldAnnotationType === 'DropdownList') && element.children.length > 0) {
                    element.style.textAlignLast = this.formFieldAlign ? this.formFieldAlign : selectedItem.alignment;
                    for (var i = 0; i < element.children.length; i++) {
                        var dropDownChild = element.children[parseInt(i.toString(), 10)];
                        dropDownChild.style.textAlignLast = this.formFieldAlign ? this.formFieldAlign : selectedItem.alignment;
                        dropDownChild.style.textAlign = this.formFieldAlign ? this.formFieldAlign : selectedItem.alignment;
                    }
                }
            }
            if (index > -1) {
                formFieldsData[parseInt(index.toString(), 10)].FormField.alignment = selectedItem.alignment;
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.alignment = selectedItem.alignment;
            }
            this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].alignment = selectedItem.alignment;
            if (isAlignmentChanged) {
                this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, false, false, false, false, false, false, false, false, isAlignmentChanged, false, false, false, false, false, false, false, oldValue, newValue);
            }
        };
        FormDesigner.prototype.updateFontSizePropertyChange = function (selectedItem, element, isUndoRedo, index, formFieldsData) {
            var isFontSizeChanged = false;
            var oldValue;
            var newValue;
            var zoomValue = this.pdfViewerBase.getZoomFactor();
            var fontSize = this.formFieldFontSize ? parseInt(this.formFieldFontSize.value.toString(), 10) :
                (selectedItem && selectedItem.fontSize) ? parseInt(selectedItem.fontSize.toString(), 10) : 10;
            var selectedFontSize = parseInt(selectedItem.fontSize, 10);
            if (selectedFontSize !== fontSize) {
                isFontSizeChanged = true;
                oldValue = selectedItem.fontSize;
                newValue = fontSize;
            }
            if (isUndoRedo) {
                element.style.fontSize = (selectedItem.fontSize * zoomValue) + 'px'.toString();
            }
            else {
                selectedItem.fontSize = fontSize;
                element.style.fontSize = this.formFieldFontSize ? (parseInt(this.formFieldFontSize.value.toString(), 10) + 'px') : parseInt(selectedItem.fontSize.toString(), 10) + 'px';
            }
            if (index > -1) {
                formFieldsData[parseInt(index.toString(), 10)].FormField.fontSize = selectedItem.fontSize;
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.fontSize = selectedItem.fontSize;
            }
            this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].fontSize = selectedItem.fontSize;
            if (isFontSizeChanged) {
                this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, false, false, isFontSizeChanged, false, false, false, false, false, false, false, false, false, false, false, false, false, oldValue, newValue);
            }
        };
        FormDesigner.prototype.updateFontFamilyPropertyChange = function (selectedItem, element, isUndoRedo, index, formFieldsData) {
            var isFontFamilyChanged = false;
            var oldValue;
            var newValue;
            var fontFamily = this.pdfViewer.enableHtmlSanitizer ? ej2_base_2.SanitizeHtmlHelper.sanitize(this.formFieldFontFamily ? this.formFieldFontFamily.value.toString() : '') : (this.formFieldFontFamily ? this.formFieldFontFamily.value.toString() : '');
            if (selectedItem.fontFamily !== fontFamily) {
                isFontFamilyChanged = true;
                oldValue = selectedItem.fontFamily;
                newValue = fontFamily;
            }
            if (isUndoRedo) {
                element.style.fontFamily = selectedItem.fontFamily;
            }
            else if (fontFamily === '') {
                fontFamily = selectedItem.fontFamily;
                element.style.fontFamily = fontFamily;
            }
            else {
                selectedItem.fontFamily = fontFamily;
                element.style.fontFamily = fontFamily;
            }
            if (index > -1) {
                formFieldsData[parseInt(index.toString(), 10)].FormField.fontFamily = selectedItem.fontFamily;
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.fontFamily = selectedItem.fontFamily;
            }
            this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].fontFamily = selectedItem.fontFamily;
            if (isFontFamilyChanged) {
                this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, false, isFontFamilyChanged, false, false, false, false, false, false, false, false, false, false, false, false, false, false, oldValue, newValue);
            }
        };
        FormDesigner.prototype.updateVisibilityPropertyChange = function (selectedItem, element, isUndoRedo, index, formFieldsData) {
            var isVisibilityChanged = false;
            var oldValue;
            var newValue;
            if (this.formFieldVisibility && (selectedItem.visibility !== this.formFieldVisibility.value)) {
                isVisibilityChanged = true;
                oldValue = selectedItem.visibility;
                newValue = this.formFieldVisibility.value;
            }
            if (!isUndoRedo) {
                selectedItem.visibility = this.formFieldVisibility.value;
            }
            element.style.visibility = selectedItem.visibility;
            if (selectedItem.formFieldAnnotationType === 'RadioButton' || selectedItem.formFieldAnnotationType === 'ListBox' ||
                selectedItem.formFieldAnnotationType === 'DropdownList') {
                element.parentElement.style.visibility = selectedItem.visibility;
            }
            if (selectedItem.formFieldAnnotationType === 'SignatureField' || selectedItem.formFieldAnnotationType === 'InitialField') {
                var signElement = document.getElementById(selectedItem.id + '_content_html_element').firstElementChild.children[1];
                signElement.style.visibility = selectedItem.visibility;
                signElement.parentElement.style.visibility = selectedItem.visibility;
                var annotation = this.pdfViewer.nameTable[selectedItem.id.split('_')[0] + '_content'];
                if (selectedItem.visibility === 'hidden') {
                    if (annotation) {
                        this.hideSignatureValue(selectedItem, annotation, index, formFieldsData);
                    }
                }
                else {
                    if (annotation) {
                        this.showSignatureValue(selectedItem, oldValue, annotation, index, formFieldsData);
                    }
                }
            }
            if (index > -1) {
                formFieldsData[parseInt(index.toString(), 10)].FormField.visibility = selectedItem.visibility;
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.visibility = selectedItem.visibility;
            }
            this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].visibility = selectedItem.visibility;
            if (isVisibilityChanged) {
                this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
                this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, false, false, false, false, false, false, false, false, false, false, isVisibilityChanged, false, false, false, false, false, oldValue, newValue);
            }
        };
        FormDesigner.prototype.hideSignatureValue = function (selectedItem, annotation, index, formFieldsData) {
            selectedItem.wrapper.children.splice(selectedItem.wrapper.children.indexOf(annotation.wrapper.children[0]), 1);
            this.pdfViewer.remove(annotation);
            this.pdfViewer.renderDrawing();
        };
        FormDesigner.prototype.showSignatureValue = function (selectedItem, oldValue, annotation, index, formFieldsData) {
            if (annotation.shapeAnnotationType === 'SignatureText') {
                selectedItem.value = annotation.data;
                selectedItem.signatureType = 'Text';
                formFieldsData[parseInt(index.toString(), 10)].FormField.signatureType = 'Text';
                formFieldsData[parseInt(index.toString(), 10)].FormField.value = annotation.data;
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.value = annotation.data;
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.signatureType = 'Text';
            }
            else if (annotation.shapeAnnotationType === 'SignatureImage') {
                selectedItem.value = annotation.data;
                selectedItem.signatureType = 'Image';
                formFieldsData[parseInt(index.toString(), 10)].FormField.signatureType = 'Image';
                formFieldsData[parseInt(index.toString(), 10)].FormField.value = annotation.data;
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.value = annotation.data;
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.signatureType = 'Image';
            }
            else {
                formFieldsData[parseInt(index.toString(), 10)].FormField.signatureType = 'Path';
                selectedItem.signatureType = 'Path';
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.signatureType = 'Path';
                var collectionData = ej2_drawings_1.processPathData(annotation.data);
                var csData = ej2_drawings_1.splitArrayCollection(collectionData);
                selectedItem.value = JSON.stringify(csData);
                formFieldsData[parseInt(index.toString(), 10)].FormField.value = JSON.stringify(csData);
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.value = JSON.stringify(csData);
            }
            selectedItem.signatureBound = annotation.signatureBound;
            if (oldValue === 'hidden') {
                this.pdfViewer.add(annotation);
                selectedItem.wrapper.children.push(annotation.wrapper);
                var canvass = this.pdfViewerBase.getAnnotationCanvas('_annotationCanvas_', selectedItem.pageIndex);
                this.pdfViewer.renderDrawing(canvass, selectedItem.pageIndex);
            }
            this.pdfViewer.renderDrawing();
        };
        FormDesigner.prototype.updateTooltipPropertyChange = function (selectedItem, element, isUndoRedo, index, formFieldsData) {
            var isToolTipChanged = false;
            var oldValue;
            var newValue;
            if (this.formFieldTooltip && (selectedItem.tooltip !== this.formFieldTooltip.value)) {
                isToolTipChanged = true;
                oldValue = selectedItem.tooltip;
                newValue = this.formFieldTooltip.value;
            }
            if (this.pdfViewer.enableHtmlSanitizer && !ej2_base_2.isNullOrUndefined(this.formFieldTooltip) && this.formFieldTooltip.value) {
                this.formFieldTooltip.value = ej2_base_2.SanitizeHtmlHelper.sanitize(this.formFieldTooltip.value);
            }
            if (isUndoRedo) {
                this.formFieldTooltip = new ej2_inputs_1.TextBox();
                this.formFieldTooltip.value = selectedItem.tooltip;
            }
            else {
                selectedItem.tooltip = this.formFieldTooltip ? this.formFieldTooltip.value : selectedItem.tooltip;
            }
            if (index > -1) {
                formFieldsData[parseInt(index.toString(), 10)].FormField.tooltip = selectedItem.tooltip;
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.tooltip = selectedItem.tooltip;
            }
            this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].tooltip = this.formFieldTooltip.value;
            if (!ej2_base_2.isNullOrUndefined(this.formFieldTooltip.value) && this.formFieldTooltip.value !== '') {
                this.setToolTip(this.formFieldTooltip.value, selectedItem.formFieldAnnotationType === 'RadioButton' ? element.parentElement : element);
            }
            if (isToolTipChanged) {
                this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
                this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, false, false, false, false, false, false, false, false, false, false, false, false, false, false, isToolTipChanged, false, oldValue, newValue);
            }
        };
        FormDesigner.prototype.updateNamePropertyChange = function (selectedItem, element, isUndoRedo, index, formFieldsData) {
            var designerName = document.getElementById(selectedItem.id + '_designer_name');
            var zoomValue = this.pdfViewerBase.getZoomFactor();
            if (this.pdfViewer.enableHtmlSanitizer && !ej2_base_2.isNullOrUndefined(this.formFieldName) && this.formFieldName.value) {
                this.formFieldName.value = ej2_base_2.SanitizeHtmlHelper.sanitize(this.formFieldName.value);
            }
            designerName.style.fontSize = this.defaultFontSize + 'px';
            if (isUndoRedo) {
                designerName.innerHTML = selectedItem.name;
            }
            else {
                selectedItem.name = this.formFieldName ? this.formFieldName.value : selectedItem.name;
                designerName.innerHTML = selectedItem.name;
            }
            if (index > -1) {
                var oldValue = void 0;
                var newValue = void 0;
                var optionsLength = selectedItem.options.length;
                oldValue = optionsLength > 1 ? selectedItem.options.slice(0, optionsLength - 1) : '';
                newValue = selectedItem.options[optionsLength - 1];
                if ((formFieldsData[parseInt(index.toString(), 10)].FormField.formFieldAnnotationType === 'DropdownList' || formFieldsData[parseInt(index.toString(), 10)].FormField.formFieldAnnotationType === 'ListBox') && (formFieldsData[parseInt(index.toString(), 10)].FormField.name === selectedItem.name) && formFieldsData[parseInt(index.toString(), 10)].FormField.option.length > 0) {
                    this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, oldValue, newValue, true, formFieldsData[parseInt(index.toString(), 10)].FormField.name);
                }
                if (this.formFieldName && (selectedItem.name !== formFieldsData[parseInt(index.toString(), 10)].FormField.name)) {
                    oldValue = formFieldsData[parseInt(index.toString(), 10)].FormField.name;
                    newValue = selectedItem.name;
                }
                if (formFieldsData[parseInt(index.toString(), 10)].FormField.name !== selectedItem.name) {
                    this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, oldValue, newValue, true, formFieldsData[parseInt(index.toString(), 10)].FormField.name);
                }
                formFieldsData[parseInt(index.toString(), 10)].FormField.name = selectedItem.name;
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.name = selectedItem.name;
            }
            element.name = selectedItem.name;
            this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].name = selectedItem.name;
            if (selectedItem.formFieldAnnotationType === 'DropdownList' || selectedItem.formFieldAnnotationType === 'ListBox') {
                for (var i = 0; i < this.pdfViewer.formFieldCollection.length; i++) {
                    var formField = this.pdfViewer.formFieldCollection[parseInt(i.toString(), 10)];
                    if ((formField.formFieldAnnotationType === 'DropdownList' || formField.formFieldAnnotationType === 'ListBox') && formField.name === selectedItem.name && formField.id !== selectedItem.id) {
                        selectedItem.options = formField.options;
                        this.updateDropDownListDataSource(selectedItem, element);
                        break;
                    }
                }
            }
        };
        FormDesigner.prototype.setReadOnlyProperty = function (selectedItem, element) {
            this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].isReadonly = selectedItem.isReadonly;
            this.setReadOnlyToElement(selectedItem, element, selectedItem.isReadonly);
            this.setReadOnlyToFormField(selectedItem, selectedItem.isReadonly);
        };
        FormDesigner.prototype.updateIsReadOnlyPropertyChange = function (selectedItem, element, isUndoRedo, index, formFieldsData) {
            var isReadOnlyChanged = false;
            var oldValue;
            var newValue;
            if (this.formFieldReadOnly && (selectedItem.isReadonly !== this.formFieldReadOnly.checked)) {
                isReadOnlyChanged = true;
                oldValue = selectedItem.isReadonly;
                newValue = this.formFieldReadOnly.checked;
            }
            if (isUndoRedo) {
                this.formFieldReadOnly = new ej2_buttons_1.CheckBox();
                this.formFieldReadOnly.checked = selectedItem.isReadonly;
            }
            else {
                selectedItem.isReadonly = this.formFieldReadOnly.checked;
            }
            if (index > -1) {
                formFieldsData[parseInt(index.toString(), 10)].FormField.isReadonly = selectedItem.isReadonly;
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.isReadonly = selectedItem.isReadonly;
                if (this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.radiobuttonItem) {
                    for (var i = 0; i < this.pdfViewerBase.
                        formFieldCollection[parseInt(index.toString(), 10)].FormField.radiobuttonItem.length; i++) {
                        this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].
                            FormField.radiobuttonItem[parseInt(i.toString(), 10)].isReadonly = selectedItem.isReadonly;
                        this.pdfViewer.nameTable[this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.radiobuttonItem[parseInt(i.toString(), 10)].id.split('_')[0]].isReadonly = selectedItem.isReadonly;
                        var currentElement = document.getElementById(this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.radiobuttonItem[parseInt(i.toString(), 10)].id.split('_')[0]);
                        var currentItem = this.pdfViewerBase.
                            formFieldCollection[parseInt(index.toString(), 10)].FormField.radiobuttonItem[parseInt(i.toString(), 10)];
                        this.setReadOnlyProperty(currentItem, currentElement);
                        if (isReadOnlyChanged) {
                            this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].
                                FormField.radiobuttonItem[parseInt(i.toString(), 10)].backgroundColor =
                                typeof (currentItem.backgroundColor) === 'string' ? this.getRgbCode(currentItem.backgroundColor) : currentItem.backgroundColor;
                        }
                    }
                    this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
                }
            }
            if (isReadOnlyChanged) {
                this.setReadOnlyProperty(selectedItem, element);
                this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
                this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, false, false, false, false, false, false, false, false, false, isReadOnlyChanged, false, false, false, false, false, false, oldValue, newValue);
            }
        };
        FormDesigner.prototype.updateIsRequiredPropertyChange = function (selectedItem, element, isUndoRedo, index, formFieldsData) {
            var isRequiredChanged = false;
            var oldValue;
            var newValue;
            if (this.formFieldRequired && (selectedItem.isRequired !== this.formFieldRequired.checked)) {
                isRequiredChanged = true;
                oldValue = selectedItem.isRequired;
                newValue = this.formFieldRequired.checked;
            }
            if (isUndoRedo) {
                this.formFieldRequired = new ej2_buttons_1.CheckBox();
                this.formFieldRequired.checked = selectedItem.isRequired;
            }
            else {
                selectedItem.isRequired = this.formFieldRequired ? this.formFieldRequired.checked : selectedItem.isRequired;
            }
            if (index > -1) {
                formFieldsData[parseInt(index.toString(), 10)].FormField.isRequired = selectedItem.isRequired;
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.isRequired = selectedItem.isRequired;
                if (this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.radiobuttonItem) {
                    for (var i = 0; i < this.pdfViewerBase.
                        formFieldCollection[parseInt(index.toString(), 10)].FormField.radiobuttonItem.length; i++) {
                        this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].
                            FormField.radiobuttonItem[parseInt(i.toString(), 10)].isRequired = selectedItem.isRequired;
                        this.pdfViewer.nameTable[this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.radiobuttonItem[parseInt(i.toString(), 10)].id.split('_')[0]].isRequired = selectedItem.isRequired;
                    }
                    this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
                }
            }
            this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].isRequired = selectedItem.isRequired;
            this.setRequiredToElement(selectedItem, element, selectedItem.isRequired);
            this.setRequiredToFormField(selectedItem, selectedItem.isRequired);
            if (isRequiredChanged) {
                this.pdfViewerBase.setItemInSessionStorage(this.pdfViewerBase.formFieldCollection, '_formDesigner');
                this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, false, false, false, false, false, false, false, false, false, false, false, false, isRequiredChanged, false, false, false, oldValue, newValue);
            }
        };
        FormDesigner.prototype.updateIsPrintPropertyChange = function (selectedItem, isUndoRedo, index, formFieldsData) {
            var isPrintChanged = false;
            var oldValue;
            var newValue;
            if (this.formFieldPrinting && (selectedItem.isPrint !== this.formFieldPrinting.checked)) {
                isPrintChanged = true;
                oldValue = selectedItem.isPrint;
                newValue = this.formFieldPrinting.checked;
            }
            if (isUndoRedo) {
                this.formFieldPrinting = new ej2_buttons_1.CheckBox();
                this.formFieldPrinting.checked = selectedItem.isPrint;
            }
            else {
                selectedItem.isPrint = this.formFieldPrinting.checked;
            }
            if (index > -1) {
                formFieldsData[parseInt(index.toString(), 10)].FormField.isPrint = selectedItem.isPrint;
                this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.isPrint = selectedItem.isPrint;
            }
            this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].isPrint = selectedItem.isPrint;
            if (isPrintChanged) {
                this.updateFormFieldPropertiesChanges('formFieldPropertiesChange', selectedItem, false, false, false, false, false, false, false, false, false, false, false, false, false, isPrintChanged, false, false, oldValue, newValue);
            }
        };
        FormDesigner.prototype.getFormFiledIndex = function (id) {
            if (this.pdfViewerBase.formFieldCollection == null || this.pdfViewerBase.formFieldCollection.length === 0) {
                return -1;
            }
            var index = this.pdfViewerBase.formFieldCollection.findIndex(function (el) { return el.Key.split('_')[0] === id; });
            if (index > -1) {
                return index;
            }
            else {
                for (var i = 0; i < this.pdfViewerBase.formFieldCollection.length; i++) {
                    if (this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.formFieldAnnotationType === 'RadioButton' && this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.radiobuttonItem) {
                        for (var k = 0; k < this.pdfViewerBase.
                            formFieldCollection[parseInt(i.toString(), 10)].FormField.radiobuttonItem.length; k++) {
                            if (this.pdfViewerBase.formFieldCollection[parseInt(i.toString(), 10)].FormField.
                                radiobuttonItem[parseInt(k.toString(), 10)].id.split('_')[0] === id) {
                                return i;
                            }
                        }
                    }
                }
            }
            return -1;
        };
        FormDesigner.prototype.updateFontStyle = function (inputElement, selectedItem, isUndoRedo, index, formFieldsData) {
            var isFontStyleChanged = false;
            var oldValue = '';
            var newValue = '';
            if (this.formFieldBold) {
                if (selectedItem.fontStyle !== 'Bold') {
                    isFontStyleChanged = true;
                    oldValue += selectedItem.font.isBold ? 'Bold' + ', ' : '';
                }
                if (isUndoRedo) {
                    if (selectedItem.font.isBold) {
                        this.setFontStyleValues(selectedItem, 'Bold', this.formFieldBold, inputElement, true, 'bold', index, formFieldsData);
                    }
                    else {
                        this.setFontStyleValues(selectedItem, 'None', this.formFieldBold, inputElement, false, '', index, formFieldsData);
                    }
                }
                else if (this.formFieldBold === 'bold') {
                    this.setFontStyleValues(selectedItem, 'Bold', this.formFieldBold, inputElement, true, 'bold', index, formFieldsData);
                }
                else {
                    this.setFontStyleValues(selectedItem, 'None', 'bold', inputElement, false, '', index, formFieldsData);
                }
            }
            else if (selectedItem.font.isBold) {
                this.setFontStyleValues(selectedItem, 'None', 'bold', inputElement, false, '', index, formFieldsData);
            }
            newValue += selectedItem.font.isBold ? 'Bold' + ', ' : '';
            if (this.formFieldItalic) {
                if (selectedItem.fontStyle !== 'Italic') {
                    isFontStyleChanged = true;
                    oldValue += selectedItem.font.isItalic ? 'Italic' + ', ' : '';
                }
                if (isUndoRedo) {
                    if (selectedItem.font.isItalic) {
                        this.setFontStyleValues(selectedItem, 'Italic', this.formFieldItalic, inputElement, true, 'italic', index, formFieldsData);
                    }
                    else {
                        this.setFontStyleValues(selectedItem, 'None', this.formFieldItalic, inputElement, false, '', index, formFieldsData);
                    }
                }
                else if (this.formFieldItalic === 'italic') {
                    this.setFontStyleValues(selectedItem, 'Italic', this.formFieldItalic, inputElement, true, 'italic', index, formFieldsData);
                }
                else {
                    this.setFontStyleValues(selectedItem, 'None', 'italic', inputElement, false, '', index, formFieldsData);
                }
            }
            else if (selectedItem.font.isItalic) {
                this.setFontStyleValues(selectedItem, 'None', 'italic', inputElement, false, '', index, formFieldsData);
            }
            newValue += selectedItem.font.isItalic ? 'Italic' + ', ' : '';
            if (this.formFieldUnderline) {
                if (selectedItem.fontStyle !== 'Underline') {
                    isFontStyleChanged = true;
                    oldValue += selectedItem.font.isUnderline ? 'Underline' + ', ' : '';
                }
                if (isUndoRedo) {
                    if (selectedItem.font.isUnderline) {
                        this.setFontStyleValues(selectedItem, 'Underline', this.formFieldUnderline, inputElement, true, 'underline', index, formFieldsData);
                    }
                    else {
                        this.setFontStyleValues(selectedItem, 'None', this.formFieldUnderline, inputElement, false, '', index, formFieldsData);
                    }
                }
                else if (this.formFieldUnderline === 'underline') {
                    this.setFontStyleValues(selectedItem, 'Underline', this.formFieldUnderline, inputElement, true, 'underline', index, formFieldsData);
                }
                else {
                    this.setFontStyleValues(selectedItem, 'None', 'underline', inputElement, false, '', index, formFieldsData);
                }
            }
            else if (selectedItem.font.isUnderline) {
                this.setFontStyleValues(selectedItem, 'None', 'underline', inputElement, false, '', index, formFieldsData);
            }
            newValue += selectedItem.font.isUnderline ? 'Underline' + ', ' : '';
            if (this.formFieldStrikeOut) {
                if (selectedItem.fontStyle !== 'Strikethrough') {
                    isFontStyleChanged = true;
                    oldValue += selectedItem.font.isStrikeout ? 'Strikethrough' + ', ' : '';
                }
                if (isUndoRedo) {
                    if (selectedItem.font.isStrikeout) {
                        this.setFontStyleValues(selectedItem, 'Strikethrough', this.formFieldStrikeOut, inputElement, true, 'line-through', index, formFieldsData);
                    }
                    else {
                        this.setFontStyleValues(selectedItem, 'None', this.formFieldStrikeOut, inputElement, false, '', index, formFieldsData);
                    }
                }
                else if (this.formFieldStrikeOut === 'line-through') {
                    this.setFontStyleValues(selectedItem, 'Strikethrough', this.formFieldStrikeOut, inputElement, true, 'line-through', index, formFieldsData);
                }
                else {
                    this.setFontStyleValues(selectedItem, 'None', 'line-through', inputElement, false, '', index, formFieldsData);
                }
            }
            else if (selectedItem.font.isStrikeout) {
                this.setFontStyleValues(selectedItem, 'None', 'line-through', inputElement, false, '', index, formFieldsData);
            }
            newValue += selectedItem.font.isStrikeout ? 'Strikethrough' + ', ' : '';
            if (oldValue === newValue) {
                isFontStyleChanged = false;
            }
            return [isFontStyleChanged, oldValue, newValue];
        };
        FormDesigner.prototype.setFontStyleValues = function (selectedItem, selectedItemFontStyle, fontStyleType, inputElement, isFontStyleEnabled, fontStyleValue, index, formFieldsData) {
            if (fontStyleType === 'bold') {
                selectedItem.fontStyle = selectedItemFontStyle;
                selectedItem.font.isBold = isFontStyleEnabled;
                inputElement.style.fontWeight = fontStyleValue;
                this.setDropdownFontStyleValue(inputElement, fontStyleType, fontStyleValue);
                if (index > -1) {
                    formFieldsData[parseInt(index.toString(), 10)].FormField.font.isBold = isFontStyleEnabled;
                    this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.font.isBold = isFontStyleEnabled;
                }
                this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].font.isBold = isFontStyleEnabled;
            }
            else if (fontStyleType === 'italic') {
                inputElement.style.fontStyle = fontStyleValue;
                this.setDropdownFontStyleValue(inputElement, fontStyleType, fontStyleValue);
                selectedItem.fontStyle = selectedItemFontStyle;
                selectedItem.font.isItalic = isFontStyleEnabled;
                if (index > -1) {
                    formFieldsData[parseInt(index.toString(), 10)].FormField.font.isItalic = isFontStyleEnabled;
                    this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.font.isItalic = isFontStyleEnabled;
                }
                this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].font.isItalic = isFontStyleEnabled;
            }
            else if (fontStyleType === 'underline') {
                this.setDropdownFontStyleValue(inputElement, fontStyleType, fontStyleValue);
                inputElement.style.textDecoration = fontStyleValue;
                selectedItem.fontStyle = selectedItemFontStyle;
                selectedItem.font.isUnderline = isFontStyleEnabled;
                if (index > -1) {
                    formFieldsData[parseInt(index.toString(), 10)].FormField.font.isUnderline = isFontStyleEnabled;
                    this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.font.isUnderline = isFontStyleEnabled;
                }
                this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].font.isUnderline = isFontStyleEnabled;
            }
            else if (fontStyleType === 'line-through') {
                this.setDropdownFontStyleValue(inputElement, fontStyleType, fontStyleValue);
                if (!(this.formFieldUnderline === 'underline') || (this.formFieldUnderline === 'underline' && isFontStyleEnabled)) {
                    inputElement.style.textDecoration = fontStyleValue;
                }
                selectedItem.fontStyle = selectedItemFontStyle;
                selectedItem.font.isStrikeout = isFontStyleEnabled;
                if (index > -1) {
                    formFieldsData[parseInt(index.toString(), 10)].FormField.font.isStrikeout = isFontStyleEnabled;
                    this.pdfViewerBase.formFieldCollection[parseInt(index.toString(), 10)].FormField.font.isStrikeout = isFontStyleEnabled;
                }
                this.pdfViewer.nameTable[selectedItem.id.split('_')[0]].font.isStrikeout = isFontStyleEnabled;
            }
        };
        FormDesigner.prototype.setDropdownFontStyleValue = function (dropdownElement, fontStyleType, value) {
            if (dropdownElement.length > 0) {
                for (var i = 0; i < dropdownElement.length; i++) {
                    if (fontStyleType === 'bold') {
                        dropdownElement[parseInt(i.toString(), 10)].style.fontWeight = value;
                    }
                    else if (fontStyleType === 'italic') {
                        dropdownElement[parseInt(i.toString(), 10)].style.fontStyle = value;
                    }
                    else if (fontStyleType === 'underline') {
                        dropdownElement[parseInt(i.toString(), 10)].style.textDecoration = value;
                    }
                    else if (fontStyleType === 'line-through') {
                        dropdownElement[parseInt(i.toString(), 10)].style.textDecoration = value;
                    }
                    else if (fontStyleType === 'none') {
                        dropdownElement[parseInt(i.toString(), 10)].style.fontWeight = value;
                    }
                }
            }
        };
        FormDesigner.prototype.updateFormFieldPropertiesChanges = function (name, selectedItem, isValueChanged, isFontFamilyChanged, isFontSizeChanged, isFontStyleChanged, isColorChanged, isBackgroundColorChanged, isBorderColorChanged, isBorderWidthChanged, isAlignmentChanged, isReadOnlyChanged, isVisibilityChanged, isMaxLengthChanged, isRequiredChanged, isPrintChanged, isToolTipChanged, isCustomDataChanged, oldValue, newValue, isNamechanged, previousName) {
            var field = {
                name: selectedItem.name, id: selectedItem.id, value: selectedItem.value,
                fontFamily: selectedItem.fontFamily, fontSize: selectedItem.fontSize,
                fontStyle: selectedItem.fontStyle,
                color: selectedItem.color, backgroundColor: selectedItem.backgroundColor,
                alignment: selectedItem.alignment, isReadonly: selectedItem.isReadonly,
                visibility: selectedItem.visibility,
                maxLength: selectedItem.maxLength, isRequired: selectedItem.isRequired,
                isPrint: selectedItem.isPrint, rotation: selectedItem.rotateAngle,
                tooltip: selectedItem.tooltip, options: selectedItem.options,
                isChecked: selectedItem.isChecked, isSelected: selectedItem.isSelected,
                previousName: previousName, currentName: selectedItem.name, customData: selectedItem.customData
            };
            this.pdfViewer.fireFormFieldPropertiesChangeEvent('formFieldPropertiesChange', field, selectedItem.pageIndex, isValueChanged, isFontFamilyChanged, isFontSizeChanged, isFontStyleChanged, isColorChanged, isBackgroundColorChanged, isBorderColorChanged, isBorderWidthChanged, isAlignmentChanged, isReadOnlyChanged, isVisibilityChanged, isMaxLengthChanged, isRequiredChanged, isPrintChanged, isToolTipChanged, isCustomDataChanged, oldValue, newValue, isNamechanged);
        };
        FormDesigner.prototype.onCancelClicked = function (args) {
            this.propertiesDialog.hide();
        };
        FormDesigner.prototype.select = function (e) {
            if (e.isSwiped) {
                e.cancel = true;
            }
        };
        FormDesigner.prototype.createAppearanceTab = function () {
            var elementID = this.pdfViewer.element.id;
            var appearanceDiv = ej2_base_1.createElement('div', { id: elementID + '_properties_appearance' });
            if (this.pdfViewer.selectedItems.formFields[0].formFieldAnnotationType !== 'DropdownList' && this.pdfViewer.selectedItems.formFields[0].formFieldAnnotationType !== 'ListBox') {
                appearanceDiv.style.height = '260px';
            }
            else {
                appearanceDiv.style.height = '336px';
            }
            var propertySpliter = ej2_base_1.createElement('div');
            propertySpliter.className = 'e-pv-properties-header-spliter';
            appearanceDiv.appendChild(propertySpliter);
            var tabContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-tab-style-prop' });
            appearanceDiv.appendChild(tabContainer);
            if (this.pdfViewer.selectedItems && (this.pdfViewer.selectedItems.formFields[0].formFieldAnnotationType === 'ListBox' || this.pdfViewer.selectedItems.formFields[0].formFieldAnnotationType === 'DropdownList')) {
                this.tabControl = new ej2_navigations_1.Tab({
                    items: [
                        {
                            header: { 'text': '<div class="e-pv-form-field-property-header-general"> ' + this.pdfViewer.localeObj.getConstant('General') + '</div>' }, content: this.createGeneralProperties()
                        },
                        {
                            header: { 'text': '<div class="e-pv-form-field-property-header-general"> ' + this.pdfViewer.localeObj.getConstant('Appearance') + '</div>' }, content: this.createAppearanceProperties()
                        },
                        {
                            header: { 'text': '<div class="e-pv-form-field-property-header-general"> ' + this.pdfViewer.localeObj.getConstant('Options') + '</div>' }, content: this.createOptionProperties()
                        }
                    ],
                    selecting: this.select
                }, tabContainer);
            }
            else if (this.pdfViewer.selectedItems && (this.pdfViewer.selectedItems.formFields[0].formFieldAnnotationType === 'SignatureField' || this.pdfViewer.selectedItems.formFields[0].formFieldAnnotationType === 'InitialField')) {
                this.tabControl = new ej2_navigations_1.Tab({
                    items: [
                        {
                            header: { 'text': '<div class="e-pv-form-field-property-header-general"> ' + this.pdfViewer.localeObj.getConstant('General') + '</div>' }, content: this.createGeneralProperties()
                        }
                    ],
                    selecting: this.select
                }, tabContainer);
            }
            else {
                this.tabControl = new ej2_navigations_1.Tab({
                    items: [
                        {
                            header: { 'text': '<div class="e-pv-form-field-property-header-general"> ' + this.pdfViewer.localeObj.getConstant('General') + '</div>' }, content: this.createGeneralProperties()
                        },
                        {
                            header: { 'text': '<div class="e-pv-form-field-property-header-general"> ' + this.pdfViewer.localeObj.getConstant('Appearance') + '</div>' }, content: this.createAppearanceProperties()
                        }
                    ],
                    selecting: this.select
                }, tabContainer);
            }
            tabContainer.children[1].style.height = '100%';
            return appearanceDiv;
        };
        FormDesigner.prototype.createGeneralProperties = function () {
            var selectedItem = this.pdfViewer.selectedItems.formFields ?
                this.pdfViewer.selectedItems.formFields[0] : null;
            var visibilityItems = ['visible', 'hidden'];
            var elementID = this.pdfViewer.element.id;
            var generalPropertiesDiv = ej2_base_1.createElement('div', { id: elementID + '_general_prop_appearance' });
            var textStyleContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-text-edit-prop' });
            generalPropertiesDiv.appendChild(textStyleContainer);
            var formFieldNameMainDiv = ej2_base_1.createElement('div', { className: 'e-pv-properties-form-field-name-main-div' });
            var formFieldNameDiv = ej2_base_1.createElement('div', { className: 'e-pv-properties-name-edit-prop' });
            var formFieldNameContainer = ej2_base_1.createElement('input', { className: 'e-pv-properties-name-edit-input e-input' });
            formFieldNameDiv.appendChild(formFieldNameContainer);
            formFieldNameMainDiv.appendChild(formFieldNameDiv);
            this.formFieldName = new ej2_inputs_1.TextBox({ type: 'text', floatLabelType: 'Always', placeholder: this.pdfViewer.localeObj.getConstant('Name'), value: selectedItem.name, cssClass: 'e-pv-properties-formfield-name' }, formFieldNameContainer);
            textStyleContainer.appendChild(formFieldNameMainDiv);
            var formFieldTooltipMainDiv = ej2_base_1.createElement('div', { className: 'e-pv-properties-form-field-tooltip-main-div' });
            var formFieldTooltipDiv = ej2_base_1.createElement('div', { className: 'e-pv-properties-tooltip-edit-prop' });
            var formFieldTooltipContainer = ej2_base_1.createElement('input', { className: 'e-pv-properties-tooltip-prop-input e-input' });
            formFieldTooltipDiv.appendChild(formFieldTooltipContainer);
            formFieldTooltipMainDiv.appendChild(formFieldTooltipDiv);
            this.formFieldTooltip = new ej2_inputs_1.TextBox({ type: 'text', floatLabelType: 'Always', placeholder: this.pdfViewer.localeObj.getConstant('Tooltip'), value: selectedItem.tooltip, cssClass: 'e-pv-properties-formfield-tooltip' }, formFieldTooltipContainer);
            textStyleContainer.appendChild(formFieldTooltipMainDiv);
            var visibilityContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-visibility-style-prop' });
            generalPropertiesDiv.appendChild(visibilityContainer);
            var formFieldValueMainDiv = ej2_base_1.createElement('div', { className: 'e-pv-properties-form-field-value-main-div' });
            var formFieldValueDiv = ej2_base_1.createElement('div', { className: 'e-pv-properties-value-edit-prop' });
            var formFieldValueContainer = ej2_base_1.createElement('input', { className: 'e-pv-properties-value-input e-input' });
            formFieldValueDiv.appendChild(formFieldValueContainer);
            formFieldValueMainDiv.appendChild(formFieldValueDiv);
            if (this.pdfViewer.selectedItems.formFields[0].formFieldAnnotationType === 'PasswordField') {
                this.formFieldValue = new ej2_inputs_1.TextBox({ type: 'password', floatLabelType: 'Always', placeholder: this.pdfViewer.localeObj.getConstant('Value'), value: selectedItem.value, cssClass: 'e-pv-properties-formfield-value' }, formFieldValueContainer);
            }
            else {
                this.formFieldValue = new ej2_inputs_1.TextBox({ type: 'text', floatLabelType: 'Always', placeholder: this.pdfViewer.localeObj.getConstant('Value'), value: selectedItem.value, cssClass: 'e-pv-properties-formfield-value' }, formFieldValueContainer);
            }
            if (this.pdfViewer.selectedItems.formFields[0].formFieldAnnotationType !== 'Textbox' && this.pdfViewer.selectedItems.formFields[0].formFieldAnnotationType !== 'PasswordField' && this.pdfViewer.selectedItems.formFields[0].formFieldAnnotationType !== 'RadioButton' && this.pdfViewer.selectedItems.formFields[0].formFieldAnnotationType !== 'Checkbox') {
                this.formFieldValue.enabled = false;
                this.formFieldValue.value = '';
            }
            visibilityContainer.appendChild(formFieldValueMainDiv);
            var formFieldVisibilityMainDiv = ej2_base_1.createElement('div', { className: 'e-pv-properties-form-field-visibility-main-div' });
            var formFieldVisibilityDiv = ej2_base_1.createElement('div', { className: 'e-pv-properties-visibility-edit-prop' });
            var formFieldVisibilityContainer = ej2_base_1.createElement('input', { className: 'e-pv-properties-formfield-visibility' });
            formFieldVisibilityDiv.appendChild(formFieldVisibilityContainer);
            formFieldVisibilityMainDiv.appendChild(formFieldVisibilityDiv);
            var selectedIndex = selectedItem.visibility === 'visible' ? 0 : 1;
            this.formFieldVisibility = new ej2_dropdowns_1.DropDownList({ dataSource: visibilityItems, floatLabelType: 'Always', index: selectedIndex, value: selectedItem.visibility, placeholder: this.pdfViewer.localeObj.getConstant('Form Field Visibility'), cssClass: 'e-pv-properties-formfield-visibility' }, formFieldVisibilityContainer);
            visibilityContainer.appendChild(formFieldVisibilityMainDiv);
            var checkboxMainDiv = ej2_base_1.createElement('div', { className: 'e-pv-properties-checkbox-main-div-prop' });
            var readOnly = ej2_base_1.createElement('input', { className: 'e-pv-properties-checkbox-readonly-input e-input' });
            checkboxMainDiv.appendChild(readOnly);
            this.formFieldReadOnly = new ej2_buttons_1.CheckBox({ label: this.pdfViewer.localeObj.getConstant('Read Only'), checked: selectedItem.isReadonly, cssClass: 'e-pv-properties-form-field-checkbox' }, readOnly);
            if (this.pdfViewer.selectedItems.formFields[0].formFieldAnnotationType === 'Checkbox' || this.pdfViewer.selectedItems.formFields[0].formFieldAnnotationType === 'RadioButton') {
                var checkedState = ej2_base_1.createElement('input', { className: 'e-pv-properties-checkbox-checked-input e-input' });
                checkboxMainDiv.appendChild(checkedState);
                this.formFieldChecked = new ej2_buttons_1.CheckBox({ label: this.pdfViewer.localeObj.getConstant('Checked'), cssClass: 'e-pv-properties-form-field-checkbox', checked: selectedItem.isChecked || selectedItem.isSelected, change: this.checkBoxChange.bind(this) }, checkedState);
            }
            var required = ej2_base_1.createElement('input', { className: 'e-pv-properties-checkbox-required-input e-input' });
            checkboxMainDiv.appendChild(required);
            this.formFieldRequired = new ej2_buttons_1.CheckBox({ label: this.pdfViewer.localeObj.getConstant('Required'), checked: selectedItem.isRequired, cssClass: 'e-pv-properties-form-field-checkbox' }, required);
            var showPrinting = ej2_base_1.createElement('input', { className: 'e-pv-properties-checkbox-printing-input e-input' });
            checkboxMainDiv.appendChild(showPrinting);
            this.formFieldPrinting = new ej2_buttons_1.CheckBox({ label: this.pdfViewer.localeObj.getConstant('Show Printing'), checked: selectedItem.isPrint, cssClass: 'e-pv-properties-form-field-checkbox' }, showPrinting);
            if (selectedItem.formFieldAnnotationType === 'Textbox') {
                var multilineTextbox = ej2_base_1.createElement('input', { className: 'e-pv-properties-checkbox-multiline-input e-input' });
                checkboxMainDiv.appendChild(multilineTextbox);
                this.formFieldMultiline = new ej2_buttons_1.CheckBox({ label: this.pdfViewer.localeObj.getConstant('Multiline'), checked: selectedItem.isMultiline, cssClass: 'e-pv-properties-form-field-checkbox', change: this.multilineCheckboxChange.bind(this) }, multilineTextbox);
            }
            generalPropertiesDiv.appendChild(checkboxMainDiv);
            return generalPropertiesDiv;
        };
        FormDesigner.prototype.checkBoxChange = function (args) {
            this.checkboxCheckedState = args.checked;
        };
        FormDesigner.prototype.multilineCheckboxChange = function (args) {
            this.multilineCheckboxCheckedState = true;
        };
        FormDesigner.prototype.setToolTip = function (tooltipContent, targetElement) {
            var tooltip = new ej2_popups_1.Tooltip({
                content: ej2_base_1.initializeCSPTemplate(function () { return tooltipContent; })
            });
            var isTextInput = targetElement && (targetElement.tagName === 'INPUT' || targetElement.tagName === 'TEXTAREA');
            targetElement = isTextInput && targetElement.parentElement ? targetElement.parentElement : targetElement;
            tooltip.appendTo(targetElement);
            tooltip.beforeOpen = this.tooltipBeforeOpen.bind(this);
            this.formFieldTooltips.push(tooltip);
        };
        FormDesigner.prototype.tooltipBeforeOpen = function (args) {
            var currentFormField = this.pdfViewer.nameTable[args.target.id.split('_')[0] !== '' ? args.target.id.split('_')[0] : !ej2_base_2.isNullOrUndefined(args.target.firstElementChild) ? args.target.firstElementChild.id.split('_')[0] : ''];
            if (!ej2_base_2.isNullOrUndefined(currentFormField)) {
                args.element.children[0].innerHTML = currentFormField.tooltip;
                if (args.element.children[0].innerHTML !== '') {
                    args.element.style.display = 'block';
                }
                else {
                    args.element.style.display = 'none';
                }
            }
        };
        FormDesigner.prototype.createAppearanceProperties = function () {
            var selectedItem = this.pdfViewer.selectedItems.formFields ?
                this.pdfViewer.selectedItems.formFields[0] : null;
            var fontFamilyItems = ['Helvetica', 'Courier', 'Times New Roman', 'Symbol', 'ZapfDingbats'];
            var fontSizeItems = ['6px', '8px', '10px', '12px', '14px', '16px', '18px', '20px', '24px', '28px', '32px', '36px', '40px'];
            var selectedFontSize = selectedItem.fontSize + 'px';
            if (fontSizeItems.indexOf(selectedFontSize) === -1) {
                fontSizeItems.push(selectedFontSize);
                fontSizeItems.sort(function (a, b) { return parseInt(a, 10) - parseInt(b, 10); });
            }
            var elementID = this.pdfViewer.element.id;
            var appearancePropertiesDiv = ej2_base_1.createElement('div', { id: elementID + '_formatting_text_prop_appearance' });
            var formatTextStyleContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-format-text-style-prop' });
            appearancePropertiesDiv.appendChild(formatTextStyleContainer);
            this.createLabelElement(this.pdfViewer.localeObj.getConstant('Formatting'), formatTextStyleContainer, true, 'e-pv-properties-formfield-label', elementID + '_properties_formfield_formatting');
            var fontItemsContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-font-items-container' });
            var fontFamilyDropdownContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-font-family-container' });
            var formatdropdownContainer = ej2_base_1.createElement('input', { className: 'e-pv-properties-format-font-family-prop' });
            fontFamilyDropdownContainer.appendChild(formatdropdownContainer);
            fontItemsContainer.appendChild(fontFamilyDropdownContainer);
            var textFont;
            if (this.pdfViewer.pdfRenderer) {
                textFont = this.pdfViewer.pdfRenderer.FallbackFontCollection;
            }
            var isDefaultFont = this.getFontFamily(selectedItem.fontFamily);
            if (!isDefaultFont && !ej2_base_2.isNullOrUndefined(textFont) && Object.keys(textFont).length > 0) {
                fontFamilyItems.push(selectedItem.fontFamily);
            }
            var fontFamily;
            if (fontFamilyItems.indexOf(selectedItem.fontFamily) !== -1) {
                fontFamily = selectedItem.fontFamily;
            }
            this.formFieldFontFamily = new ej2_dropdowns_1.DropDownList({ dataSource: fontFamilyItems, value: fontFamily || 'Helvetica', cssClass: 'e-pv-properties-formfield-fontfamily' }, formatdropdownContainer);
            this.setToolTip(this.pdfViewer.localeObj.getConstant('Font family'), fontFamilyDropdownContainer);
            var fontSizeContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-font-size-container' });
            var fontSizeDropdownContainer = ej2_base_1.createElement('input', { className: 'e-pv-properties-format-font-family-prop' });
            fontSizeContainer.appendChild(fontSizeDropdownContainer);
            fontItemsContainer.appendChild(fontSizeContainer);
            this.formFieldFontSize = new ej2_dropdowns_1.DropDownList({ dataSource: fontSizeItems, value: selectedItem.fontSize + 'px', cssClass: 'e-pv-properties-formfield-fontsize' }, fontSizeDropdownContainer);
            this.setToolTip(this.pdfViewer.localeObj.getConstant('Font size'), fontSizeContainer);
            var fontStyleContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-form-field-font-style' });
            fontStyleContainer.onclick = this.fontStyleClicked.bind(this);
            fontStyleContainer.appendChild(this.addClassFontItem('_formField_bold', 'e-pv-bold-icon', selectedItem.font.isBold));
            fontStyleContainer.appendChild(this.addClassFontItem('_formField_italic', 'e-pv-italic-icon', selectedItem.font.isItalic));
            fontStyleContainer.appendChild(this.addClassFontItem('_formField_underline_textinput', 'e-pv-underlinetext-icon', selectedItem.font.isUnderline));
            fontStyleContainer.appendChild(this.addClassFontItem('_formField_strikeout', 'e-pv-strikeout-icon', selectedItem.font.isStrikeout));
            fontItemsContainer.appendChild(fontStyleContainer);
            this.getFontStyle(selectedItem.font);
            appearancePropertiesDiv.appendChild(fontItemsContainer);
            var fontColorContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-font-color-container' });
            var fontAlignContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-form-field-font-align' });
            fontAlignContainer.onclick = this.fontAlignClicked.bind(this);
            var alignment = selectedItem.alignment.toLowerCase();
            fontAlignContainer.appendChild(this.addClassFontItem('_formField_left_align', 'e-pv-left-align-icon', alignment === 'left' ? true : false));
            fontAlignContainer.appendChild(this.addClassFontItem('_formField_center_align', 'e-pv-center-align-icon', alignment === 'center' ? true : false));
            fontAlignContainer.appendChild(this.addClassFontItem('_formField_right_align', 'e-pv-right-align-icon', alignment === 'right' ? true : false));
            this.getAlignment(alignment);
            fontColorContainer.appendChild(fontAlignContainer);
            this.fontColorElement = ej2_base_1.createElement('div', { className: 'e-pv-formfield-textcolor-icon', id: this.pdfViewer.element.id + 'formField_textColor' });
            this.fontColorElement.setAttribute('role', 'combobox');
            this.fontColorPalette = this.createColorPicker(this.fontColorElement.id, selectedItem.color);
            if (selectedItem.color !== 'black') {
                this.fontColorValue = selectedItem.color;
            }
            else {
                this.fontColorValue = null;
            }
            this.fontColorPalette.change = this.onFontColorChange.bind(this);
            this.fontColorDropDown = this.createDropDownButton(this.fontColorElement, 'e-pv-annotation-textcolor-icon', this.fontColorPalette.element.parentElement);
            fontColorContainer.appendChild(this.fontColorElement);
            this.setToolTip(this.pdfViewer.localeObj.getConstant('Font color'), this.fontColorDropDown.element);
            this.updateColorInIcon(this.fontColorElement, this.pdfViewer.selectedItems.formFields[0].color);
            if (selectedItem.formFieldAnnotationType === 'Checkbox' || selectedItem.formFieldAnnotationType === 'RadioButton') {
                this.fontColorPalette.disabled = true;
                this.fontColorDropDown.disabled = true;
                this.fontColorElement.style.pointerEvents = 'none';
                this.fontColorElement.style.opacity = '0.5';
                fontAlignContainer.style.pointerEvents = 'none';
                fontAlignContainer.style.opacity = '0.5';
                this.formFieldFontSize.enabled = false;
                this.formFieldFontFamily.enabled = false;
                fontFamilyDropdownContainer.style.pointerEvents = 'none';
                fontSizeContainer.style.pointerEvents = 'none';
                fontStyleContainer.style.pointerEvents = 'none';
                fontStyleContainer.style.opacity = '0.5';
            }
            var maxLengthGroup = ej2_base_1.createElement('div', { className: 'e-pv-formfield-maxlength-group', id: this.pdfViewer.element.id + 'formField_maxlength_group' });
            var maxLengthContainer = ej2_base_1.createElement('div', { className: 'e-pv-formfield-maxlength-icon', id: this.pdfViewer.element.id + 'formField_maxlength' });
            maxLengthGroup.appendChild(maxLengthContainer);
            this.createLabelElement(this.pdfViewer.localeObj.getConstant('Max Length'), maxLengthContainer, true, 'e-pv-properties-formfield-label', elementID + '_properties_formfield_maxlength');
            var maxLengthDropdownContainer = ej2_base_1.createElement('div', { className: 'e-pv-formfield-maxlength', id: this.pdfViewer.element.id + 'formField_maxlength_container' });
            var maxLengthItemDropdown = ej2_base_1.createElement('input', { className: 'e-pv-formfield-maxlength-input e-input' });
            maxLengthItemDropdown.setAttribute('aria-label', 'Max Length');
            maxLengthDropdownContainer.appendChild(maxLengthItemDropdown);
            maxLengthGroup.appendChild(maxLengthDropdownContainer);
            this.maxLengthItem = new ej2_inputs_1.NumericTextBox({ format: 'n', value: selectedItem.maxLength !== 0 ? selectedItem.maxLength : 0, min: 0 }, maxLengthItemDropdown);
            fontColorContainer.appendChild(maxLengthGroup);
            this.setToolTip(this.pdfViewer.localeObj.getConstant('Max Length'), this.maxLengthItem.element);
            if (selectedItem.formFieldAnnotationType !== 'Textbox' && selectedItem.formFieldAnnotationType !== 'PasswordField') {
                this.maxLengthItem.enabled = false;
                maxLengthContainer.style.pointerEvents = 'none';
            }
            appearancePropertiesDiv.appendChild(fontColorContainer);
            var colorContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-color-container-style-prop' });
            var backgroundColorContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-fill-color-style-prop' });
            appearancePropertiesDiv.appendChild(backgroundColorContainer);
            this.createLabelElement(this.pdfViewer.localeObj.getConstant('Fill'), backgroundColorContainer, true, 'e-pv-properties-formfield-label', elementID + '_properties_formfield_fontcolor');
            this.colorDropDownElement = ej2_base_1.createElement('div', { className: 'e-pv-formfield-fontcolor-icon', id: this.pdfViewer.element.id + 'formField_fontColor' });
            this.colorDropDownElement.setAttribute('role', 'combobox');
            this.colorPalette = this.createColorPicker(this.colorDropDownElement.id, selectedItem.backgroundColor);
            this.colorPalette.change = this.onColorPickerChange.bind(this);
            this.colorDropDown = this.createDropDownButton(this.colorDropDownElement, 'e-pv-annotation-color-icon', this.colorPalette.element.parentElement);
            this.setToolTip(this.pdfViewer.localeObj.getConstant('Fill Color'), this.colorDropDown.element);
            backgroundColorContainer.appendChild(this.colorDropDownElement);
            colorContainer.appendChild(backgroundColorContainer);
            this.updateColorInIcon(this.colorDropDownElement, this.pdfViewer.selectedItems.formFields[0].backgroundColor);
            var strokeColorContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-stroke-color-style-prop' });
            this.createLabelElement(this.pdfViewer.localeObj.getConstant('Border'), strokeColorContainer, true, 'e-pv-properties-formfield-label', elementID + '_properties_formfield_strokecolor');
            this.strokeDropDownElement = ej2_base_1.createElement('div', { className: 'e-pv-formfield-strokecolor-icon', id: this.pdfViewer.element.id + 'formField_strokeColor' });
            this.strokeDropDownElement.setAttribute('role', 'combobox');
            this.strokeColorPicker = this.createColorPicker(this.strokeDropDownElement.id, selectedItem.borderColor);
            this.strokeColorPicker.change = this.onStrokePickerChange.bind(this);
            this.strokeDropDown = this.createDropDownButton(this.strokeDropDownElement, 'e-pv-annotation-stroke-icon', this.strokeColorPicker.element.parentElement);
            this.setToolTip(this.pdfViewer.localeObj.getConstant('Border Color'), this.strokeDropDown.element);
            strokeColorContainer.appendChild(this.strokeDropDownElement);
            colorContainer.appendChild(strokeColorContainer);
            this.updateColorInIcon(this.strokeDropDownElement, this.pdfViewer.selectedItems.formFields[0].borderColor);
            var strokeThicknessContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-stroke-thickness-style-prop' });
            this.createLabelElement(this.pdfViewer.localeObj.getConstant('Thickness'), strokeThicknessContainer, true, 'e-pv-properties-formfield-label', elementID + '_properties_formfield_strokethickness');
            this.thicknessElement = ej2_base_1.createElement('div', { className: 'e-pv-formfield-strokethickness-icon', id: this.pdfViewer.element.id + 'formField_strokethickness' });
            this.thicknessElement.setAttribute('role', 'combobox');
            var thicknessContainer = this.createThicknessSlider(this.thicknessElement.id);
            this.thicknessDropDown = this.createDropDownButton(this.thicknessElement, 'e-pv-annotation-thickness-icon', thicknessContainer);
            this.thicknessDropDown.beforeOpen = this.thicknessDropDownBeforeOpen.bind(this);
            this.setToolTip(this.pdfViewer.localeObj.getConstant('Thickness'), this.thicknessDropDown.element);
            this.thicknessSlider.change = this.thicknessChange.bind(this);
            this.thicknessSlider.changed = this.thicknessChange.bind(this);
            strokeThicknessContainer.appendChild(this.thicknessElement);
            colorContainer.appendChild(strokeThicknessContainer);
            appearancePropertiesDiv.appendChild(colorContainer);
            return appearancePropertiesDiv;
        };
        FormDesigner.prototype.thicknessChange = function (args) {
            if (this.pdfViewer.selectedItems.formFields.length === 1) {
                this.formFieldBorderWidth = args.value;
                this.updateThicknessIndicator();
            }
        };
        FormDesigner.prototype.thicknessDropDownBeforeOpen = function () {
            if (this.pdfViewer.selectedItems.formFields.length === 1) {
                this.formFieldBorderWidth = this.pdfViewer.selectedItems.formFields[0].thickness.toString();
                this.thicknessSlider.value = this.pdfViewer.selectedItems.formFields[0].thickness;
            }
            this.updateThicknessIndicator();
        };
        FormDesigner.prototype.updateThicknessIndicator = function () {
            this.thicknessIndicator.textContent = this.thicknessSlider.value + ' pt';
        };
        FormDesigner.prototype.createOptionProperties = function () {
            var _this = this;
            var elementID = this.pdfViewer.element.id;
            var optionPropertiesDiv = ej2_base_1.createElement('div', { id: elementID + '_option_prop_appearance' });
            var listItemAddContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-form-field-list-add-div' });
            var formFieldListItemMainDiv = ej2_base_1.createElement('div', { className: 'e-pv-properties-form-field-list-item-main-div' });
            this.createLabelElement(this.pdfViewer.localeObj.getConstant('List Item'), formFieldListItemMainDiv, true, 'e-pv-properties-formfield-label', elementID + '_properties_formfield_listitem');
            var formFieldListItemDiv = ej2_base_1.createElement('div', { className: 'e-pv-properties-list-item-edit-prop' });
            var formFieldListItemContainer = ej2_base_1.createElement('input', { className: 'e-pv-properties-list-item-input e-input' });
            formFieldListItemContainer.setAttribute('aria-label', 'Item Name');
            formFieldListItemContainer.addEventListener('keyup', function (args) {
                _this.formFieldAddButton.disabled = true;
                var nameText = args.target.value;
                _this.formFieldListItemName.value = nameText;
                if (_this.formFieldExportValueBox) {
                    _this.formFieldExportValueBox.value = nameText;
                }
                if (nameText) {
                    if (_this.formFieldListItemCollection.length > 0) {
                        var exists = false;
                        for (var i = 0; i < _this.formFieldListItemCollection.length; i++) {
                            if (_this.formFieldListItemCollection[i] === nameText) {
                                exists = true;
                                break;
                            }
                        }
                        _this.formFieldAddButton.disabled = exists;
                    }
                    else {
                        _this.formFieldAddButton.disabled = false;
                    }
                }
            });
            formFieldListItemDiv.appendChild(formFieldListItemContainer);
            formFieldListItemMainDiv.appendChild(formFieldListItemDiv);
            this.formFieldListItemName = new ej2_inputs_1.TextBox({ type: 'text', cssClass: 'e-pv-properties-formfield-listitem' }, formFieldListItemContainer);
            listItemAddContainer.appendChild(formFieldListItemMainDiv);
            optionPropertiesDiv.appendChild(listItemAddContainer);
            var buttonDiv = ej2_base_1.createElement('div', { className: 'e-pv-properties-form-field-list-btn-div' });
            var buttonAddInput = ej2_base_1.createElement('button', { className: 'e-btn' });
            buttonAddInput.addEventListener('click', this.addListItemOnClick.bind(this));
            buttonDiv.appendChild(buttonAddInput);
            this.formFieldAddButton = new ej2_buttons_1.Button({ content: this.pdfViewer.localeObj.getConstant('Add'), disabled: true, cssClass: 'e-pv-properties-dropdown-btn' }, buttonAddInput);
            listItemAddContainer.appendChild(buttonDiv);
            var exportValueContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-form-field-export-value-div' });
            var formFieldexportValueMainDiv = ej2_base_1.createElement('div', { className: 'e-pv-properties-form-field-export-value-main-div' });
            this.createLabelElement(this.pdfViewer.localeObj.getConstant('Export Value'), formFieldexportValueMainDiv, true, 'e-pv-properties-formfield-label', elementID + '_properties_formfield_exportValue');
            var formFieldExportItemDiv = ej2_base_1.createElement('div', { className: 'e-pv-properties-export-value-edit-prop' });
            var formFieldExportItemContainer = ej2_base_1.createElement('input', { className: 'e-pv-properties-export-value-input e-input' });
            formFieldExportItemContainer.setAttribute('aria-label', 'Item Value');
            formFieldExportItemDiv.appendChild(formFieldExportItemContainer);
            formFieldexportValueMainDiv.appendChild(formFieldExportItemDiv);
            this.formFieldExportValueBox = new ej2_inputs_1.TextBox({ type: 'text', cssClass: 'e-pv-properties-formfield-exportvalue' }, formFieldExportItemContainer);
            exportValueContainer.appendChild(formFieldexportValueMainDiv);
            optionPropertiesDiv.appendChild(exportValueContainer);
            var dropdownListItemContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-form-field-option-dropdown-list-div' });
            var formFieldDropdownListMainDiv = ej2_base_1.createElement('div', { className: 'e-pv-properties-form-field-option-dropdown-list-item-div' });
            var selectedElement = this.pdfViewer.selectedItems.formFields[0];
            if (selectedElement.formFieldAnnotationType === 'DropdownList') {
                this.createLabelElement(this.pdfViewer.localeObj.getConstant('Dropdown Item List'), formFieldDropdownListMainDiv, true, 'e-pv-properties-formfield-label', elementID + '_properties_formfield_dropdown_listitem');
            }
            else {
                this.createLabelElement(this.pdfViewer.localeObj.getConstant('List Box Item List'), formFieldDropdownListMainDiv, true, 'e-pv-properties-formfield-label', elementID + '_properties_formfield_dropdown_listitem');
            }
            dropdownListItemContainer.appendChild(formFieldDropdownListMainDiv);
            var btnTextAreaContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-form-field-btn-textarea-container' });
            var textAreaContainer = ej2_base_1.createElement('div', { className: 'e-pv-properties-formfield-textarea', styles: 'width:300px;height:123px;border:1px solid #E0E0E0;margin-right:15px;overflow:auto' });
            var listElement = ej2_base_1.createElement('ul', { id: this.pdfViewer.element.id + '_ul_list_item', className: 'e-pv-form-designer-ul-list-items' });
            var listCount = this.createListElement(listElement);
            textAreaContainer.appendChild(listElement);
            btnTextAreaContainer.appendChild(textAreaContainer);
            var buttonGroup = ej2_base_1.createElement('div', { className: 'e-pv-properties-form-field-group-btn-div' });
            var deleteButtonDiv = ej2_base_1.createElement('div', { className: 'e-pv-properties-form-field-delete-btn-div' });
            var buttonDeleteInput = ej2_base_1.createElement('button', { className: 'e-btn' });
            buttonDeleteInput.addEventListener('click', this.deleteListItem.bind(this));
            deleteButtonDiv.appendChild(buttonDeleteInput);
            this.formFieldDeleteButton = new ej2_buttons_1.Button({ content: this.pdfViewer.localeObj.getConstant('Delete Item'), disabled: listCount > 0 ? false : true, cssClass: 'e-pv-properties-dropdown-btn' }, buttonDeleteInput);
            buttonGroup.appendChild(deleteButtonDiv);
            var upButtonDiv = ej2_base_1.createElement('div', { className: 'e-pv-properties-form-field-up-btn-div' });
            var buttonUpInput = ej2_base_1.createElement('button', { className: 'e-btn' });
            buttonUpInput.addEventListener('click', this.moveUpListItem.bind(this));
            upButtonDiv.appendChild(buttonUpInput);
            this.formFieldUpButton = new ej2_buttons_1.Button({ content: this.pdfViewer.localeObj.getConstant('Up'), disabled: listCount > 1 ? false : true, cssClass: 'e-pv-properties-dropdown-btn' }, buttonUpInput);
            buttonGroup.appendChild(upButtonDiv);
            var downButtonDiv = ej2_base_1.createElement('div', { className: 'e-pv-properties-form-field-down-btn-div' });
            var buttonDownInput = ej2_base_1.createElement('button', { className: 'e-btn' });
            buttonDownInput.addEventListener('click', this.moveDownListItem.bind(this));
            downButtonDiv.appendChild(buttonDownInput);
            this.formFieldDownButton = new ej2_buttons_1.Button({ content: this.pdfViewer.localeObj.getConstant('Down'), disabled: true, cssClass: 'e-pv-properties-dropdown-btn' }, buttonDownInput);
            buttonGroup.appendChild(downButtonDiv);
            btnTextAreaContainer.appendChild(buttonGroup);
            dropdownListItemContainer.appendChild(btnTextAreaContainer);
            optionPropertiesDiv.appendChild(dropdownListItemContainer);
            return optionPropertiesDiv;
        };
        FormDesigner.prototype.addListItemOnClick = function () {
            var itemName = (this.formFieldListItemName && this.formFieldListItemName.value || '').trim();
            var itemValue = (this.formFieldExportValueBox && this.formFieldExportValueBox.value || itemName).trim();
            if (!itemName) {
                return;
            }
            this.formFieldListItemCollection.push(itemName);
            var ulElement = document.getElementById(this.pdfViewer.element.id + '_ul_list_item');
            if (ulElement.children && ulElement.children.length > 0) {
                for (var i = 0; i < ulElement.children.length; i++) {
                    var element = ulElement.children[parseInt(i.toString(), 10)];
                    if (element.classList.contains('e-pv-li-select')) {
                        element.classList.remove('e-pv-li-select');
                    }
                }
            }
            var createLiElement = ej2_base_1.createElement('li', { className: 'e-pv-formfield-li-element' });
            createLiElement.addEventListener('click', this.listItemOnClick.bind(this));
            createLiElement.innerHTML = itemName;
            createLiElement.setAttribute('data-value', itemValue);
            createLiElement.classList.add('e-pv-li-select');
            ulElement.appendChild(createLiElement);
            this.formFieldDeleteButton.disabled = false;
            this.formFieldAddButton.disabled = true;
            if (createLiElement.previousElementSibling) {
                this.formFieldUpButton.disabled = false;
            }
            if (!createLiElement.nextElementSibling) {
                this.formFieldDownButton.disabled = true;
            }
        };
        FormDesigner.prototype.listItemOnClick = function (args) {
            var ulElement = document.getElementById(this.pdfViewer.element.id + '_ul_list_item');
            if (ulElement.children && ulElement.children.length > 0) {
                for (var i = 0; i < ulElement.children.length; i++) {
                    var element = ulElement.children[parseInt(i.toString(), 10)];
                    if (element.classList.contains('e-pv-li-select')) {
                        element.classList.remove('e-pv-li-select');
                    }
                }
            }
            if (args.target) {
                args.target.classList.add('e-pv-li-select');
            }
            if (args.target.nextElementSibling) {
                this.formFieldDownButton.disabled = false;
            }
            else {
                this.formFieldDownButton.disabled = true;
            }
            if (args.target.previousElementSibling) {
                this.formFieldUpButton.disabled = false;
            }
            else {
                this.formFieldUpButton.disabled = true;
            }
        };
        FormDesigner.prototype.deleteListItem = function () {
            var ulElement = document.getElementById(this.pdfViewer.element.id + '_ul_list_item');
            if (ulElement.children && ulElement.children.length > 0) {
                for (var i = 0; i < ulElement.children.length; i++) {
                    var element = ulElement.children[parseInt(i.toString(), 10)];
                    if (element.classList.contains('e-pv-li-select')) {
                        element.classList.remove('e-pv-li-select');
                        this.formFieldListItemCollection.splice(i, 1);
                        if (element.previousElementSibling) {
                            element.previousElementSibling.classList.add('e-pv-li-select');
                            if (!element.previousElementSibling.previousElementSibling) {
                                this.formFieldUpButton.disabled = true;
                            }
                        }
                        else if (element.nextElementSibling) {
                            element.nextElementSibling.classList.add('e-pv-li-select');
                            if (!element.nextElementSibling.nextElementSibling) {
                                this.formFieldDownButton.disabled = true;
                            }
                        }
                        element.remove();
                    }
                }
            }
            if (ulElement.children && ulElement.children.length === 0) {
                this.formFieldDeleteButton.disabled = true;
                this.formFieldUpButton.disabled = true;
                this.formFieldDownButton.disabled = true;
            }
            if (ulElement.children && ulElement.children.length === 1) {
                this.formFieldDeleteButton.disabled = false;
                this.formFieldUpButton.disabled = true;
                this.formFieldDownButton.disabled = true;
            }
        };
        FormDesigner.prototype.moveUpListItem = function () {
            var ulElement = document.getElementById(this.pdfViewer.element.id + '_ul_list_item');
            if (ulElement.children && ulElement.children.length > 0) {
                for (var i = 0; i < ulElement.children.length; i++) {
                    var element = ulElement.children[parseInt(i.toString(), 10)];
                    if (element.classList.contains('e-pv-li-select')) {
                        if (element.previousElementSibling) {
                            element.parentNode.insertBefore(element, element.previousElementSibling);
                            if (!element.previousElementSibling) {
                                this.formFieldUpButton.disabled = true;
                            }
                        }
                        else {
                            this.formFieldUpButton.disabled = true;
                        }
                        if (element.nextElementSibling) {
                            this.formFieldDownButton.disabled = false;
                        }
                    }
                }
            }
        };
        FormDesigner.prototype.moveDownListItem = function () {
            var element;
            var ulElement = document.getElementById(this.pdfViewer.element.id + '_ul_list_item');
            if (ulElement.children && ulElement.children.length > 0) {
                for (var i = 0; i < ulElement.children.length; i++) {
                    element = ulElement.children[parseInt(i.toString(), 10)];
                    if (element.classList.contains('e-pv-li-select')) {
                        if (element.nextElementSibling) {
                            element.parentNode.insertBefore(element.nextElementSibling, element);
                            break;
                        }
                        else {
                            this.formFieldDownButton.disabled = true;
                        }
                    }
                }
            }
            if (!element.nextElementSibling) {
                this.formFieldDownButton.disabled = true;
            }
            if (element.previousElementSibling) {
                this.formFieldUpButton.disabled = false;
            }
        };
        FormDesigner.prototype.createListElement = function (ulElement) {
            var selectedElement = this.pdfViewer.selectedItems.formFields[0];
            if (selectedElement) {
                if (selectedElement.options && selectedElement.options.length > 0) {
                    for (var i = 0; i < selectedElement.options.length; i++) {
                        var opt = selectedElement.options[parseInt(i.toString(), 10)];
                        var createLiElement = ej2_base_1.createElement('li', { className: 'e-pv-formfield-li-element' });
                        createLiElement.addEventListener('click', this.listItemOnClick.bind(this));
                        createLiElement.addEventListener('focus', this.focusFormFields.bind(this));
                        createLiElement.addEventListener('blur', this.blurFormFields.bind(this));
                        createLiElement.innerHTML = opt.itemName;
                        createLiElement.setAttribute('data-value', opt.itemValue);
                        ulElement.appendChild(createLiElement);
                    }
                    ulElement.children[ulElement.children.length - 1].classList.add('e-pv-li-select');
                }
            }
            return ulElement.children.length;
        };
        FormDesigner.prototype.createThicknessSlider = function (idString) {
            var outerContainer = ej2_base_1.createElement('div', { className: 'e-pv-annotation-thickness-popup-container' });
            document.body.appendChild(outerContainer);
            var label = ej2_base_1.createElement('span', { id: idString + '_label', className: 'e-pv-annotation-thickness-label' });
            label.textContent = this.pdfViewer.localeObj.getConstant('Line Thickness');
            var sliderElement = ej2_base_1.createElement('div', { id: idString + '_slider' });
            this.thicknessSlider = new ej2_inputs_1.Slider({ type: 'MinRange', cssClass: 'e-pv-annotation-thickness-slider', max: 12, min: 0 });
            this.thicknessIndicator = ej2_base_1.createElement('div', { id: idString + '_thickness_indicator', className: 'e-pv-annotation-thickness-indicator' });
            this.thicknessIndicator.textContent = '0 pt';
            if (!this.pdfViewer.enableRtl) {
                outerContainer.appendChild(label);
                outerContainer.appendChild(sliderElement);
                this.thicknessSlider.appendTo(sliderElement);
                outerContainer.appendChild(this.thicknessIndicator);
            }
            else {
                outerContainer.appendChild(this.thicknessIndicator);
                outerContainer.appendChild(sliderElement);
                this.thicknessSlider.enableRtl = true;
                this.thicknessSlider.appendTo(sliderElement);
                outerContainer.appendChild(label);
            }
            this.thicknessSlider.element.parentElement.classList.add('e-pv-annotation-thickness-slider-container');
            return outerContainer;
        };
        FormDesigner.prototype.createColorPicker = function (idString, color) {
            var inputElement = ej2_base_1.createElement('input', { id: idString + '_target' });
            document.body.appendChild(inputElement);
            var colorPicker = new ej2_inputs_1.ColorPicker({
                inline: true, mode: 'Palette', cssClass: 'e-show-value', enableOpacity: false,
                value: color, showButtons: false, modeSwitcher: false
            });
            if (this.pdfViewer.enableRtl) {
                colorPicker.enableRtl = true;
            }
            colorPicker.appendTo(inputElement);
            return colorPicker;
        };
        FormDesigner.prototype.fontStyleClicked = function (args) {
            if (args.target) {
                if (args.target.id.indexOf('formField_bold') !== -1) {
                    var item = (args.target.id.indexOf('formField_bold_div') !== -1) ? args.target : args.target.parentElement;
                    if (item.classList.contains('e-pv-li-select')) {
                        this.isBold = true;
                    }
                    this.isBold = !this.isBold;
                    if (this.isBold) {
                        this.formFieldBold = 'bold';
                        item.classList.add('e-pv-li-select');
                    }
                    else {
                        this.formFieldBold = 'normal';
                        item.classList.remove('e-pv-li-select');
                    }
                }
                else if (args.target.id.indexOf('formField_italic') !== -1) {
                    var item = (args.target.id.indexOf('formField_italic_div') !== -1) ? args.target : args.target.parentElement;
                    if (item.classList.contains('e-pv-li-select')) {
                        this.isItalic = true;
                    }
                    this.isItalic = !this.isItalic;
                    if (this.isItalic) {
                        this.formFieldItalic = 'italic';
                        item.classList.add('e-pv-li-select');
                    }
                    else {
                        this.formFieldItalic = 'normal';
                        item.classList.remove('e-pv-li-select');
                    }
                }
                else if (args.target.id.indexOf('formField_underline') !== -1) {
                    var item = (args.target.id.indexOf('formField_underline_textinput_div') !== -1) ? args.target : args.target.parentElement;
                    if (item.classList.contains('e-pv-li-select')) {
                        this.isUnderline = true;
                    }
                    this.isUnderline = !this.isUnderline;
                    if (this.isUnderline) {
                        this.formFieldUnderline = 'underline';
                        this.isStrikeThrough = false;
                        item.classList.add('e-pv-li-select');
                    }
                    else {
                        this.formFieldUnderline = 'none';
                        item.classList.remove('e-pv-li-select');
                    }
                }
                else if (args.target.id.indexOf('formField_strikeout') !== -1) {
                    var item = (args.target.id.indexOf('formField_strikeout_div') !== -1) ? args.target : args.target.parentElement;
                    if (item.classList.contains('e-pv-li-select')) {
                        this.isStrikeThrough = true;
                    }
                    this.isStrikeThrough = !this.isStrikeThrough;
                    if (this.isStrikeThrough) {
                        this.formFieldStrikeOut = 'line-through';
                        this.isUnderline = false;
                        item.classList.add('e-pv-li-select');
                    }
                    else {
                        this.formFieldStrikeOut = 'none';
                        item.classList.remove('e-pv-li-select');
                    }
                }
            }
        };
        FormDesigner.prototype.clearFontAlignIconSelection = function (currentElement) {
            for (var i = 0; i < currentElement.children.length; i++) {
                if (currentElement.children[parseInt(i.toString(), 10)].classList.contains('e-pv-li-select')) {
                    currentElement.children[parseInt(i.toString(), 10)].classList.remove('e-pv-li-select');
                }
            }
        };
        FormDesigner.prototype.fontAlignClicked = function (args) {
            if (args.target) {
                args.target.classList.remove('e-pv-li-select');
                if (args.target.id.indexOf('_formField_left_align') !== -1) {
                    var item = (args.target.id.indexOf('_formField_left_align_div') !== -1) ? args.target : args.target.parentElement;
                    this.formFieldAlign = 'left';
                    this.clearFontAlignIconSelection(args.currentTarget);
                    item.classList.add('e-pv-li-select');
                }
                else if (args.target.id.indexOf('_formField_right_align') !== -1) {
                    var item = (args.target.id.indexOf('_formField_right_align_div') !== -1) ? args.target : args.target.parentElement;
                    this.formFieldAlign = 'right';
                    this.clearFontAlignIconSelection(args.currentTarget);
                    item.classList.add('e-pv-li-select');
                }
                else {
                    var item = (args.target.id.indexOf('_formField_center_align_div') !== -1) ? args.target : args.target.parentElement;
                    this.formFieldAlign = 'center';
                    this.clearFontAlignIconSelection(args.currentTarget);
                    item.classList.add('e-pv-li-select');
                }
            }
        };
        FormDesigner.prototype.onFontColorChange = function (args) {
            this.fontColorValue = (args.currentValue.hex === '') ? '#ffffff00' : args.currentValue.hex;
            this.updateColorInIcon(this.fontColorElement, this.fontColorValue);
            this.fontColorDropDown.toggle();
        };
        FormDesigner.prototype.onColorPickerChange = function (args) {
            this.backgroundColorValue = (args.currentValue.hex === '') ? '#ffffff00' : args.currentValue.hex;
            this.updateColorInIcon(this.colorDropDownElement, this.backgroundColorValue);
            this.colorDropDown.toggle();
        };
        FormDesigner.prototype.updateColorInIcon = function (element, color) {
            element.childNodes[0].style.borderBottomColor = color;
        };
        FormDesigner.prototype.onStrokePickerChange = function (args) {
            this.borderColorValue = (args.currentValue.hex === '') ? '#ffffff00' : args.currentValue.hex;
            this.updateColorInIcon(this.strokeDropDownElement, this.borderColorValue);
            this.strokeDropDown.toggle();
        };
        FormDesigner.prototype.createDropDownButton = function (element, iconClass, target) {
            var popup = document.getElementById(target.id + '-popup');
            if (popup) {
                popup.remove();
            }
            var dropDownButton = new ej2_splitbuttons_1.DropDownButton({ iconCss: iconClass + ' e-pv-icon', target: target });
            if (this.pdfViewer.enableRtl) {
                dropDownButton.enableRtl = true;
            }
            dropDownButton.appendTo(element);
            return dropDownButton;
        };
        FormDesigner.prototype.addClassFontItem = function (idString, className, isSelectedStyle) {
            var element = ej2_base_1.createElement('div', { id: this.pdfViewer.element.id + idString + '_div' });
            element.classList.add(className + '-div');
            var spanElement = ej2_base_1.createElement('span', { id: this.pdfViewer.element.id + idString + '_span' });
            spanElement.classList.add(className);
            spanElement.classList.add('e-pv-icon');
            switch (className) {
                case 'e-pv-bold-icon':
                    this.setToolTip(this.pdfViewer.localeObj.getConstant('Bold'), element);
                    break;
                case 'e-pv-italic-icon':
                    this.setToolTip(this.pdfViewer.localeObj.getConstant('Italic'), element);
                    break;
                case 'e-pv-underlinetext-icon':
                    this.setToolTip(this.pdfViewer.localeObj.getConstant('Underlines'), element);
                    break;
                case 'e-pv-strikeout-icon':
                    this.setToolTip(this.pdfViewer.localeObj.getConstant('Strikethroughs'), element);
                    break;
                case 'e-pv-left-align-icon':
                    this.setToolTip(this.pdfViewer.localeObj.getConstant('Align left'), element);
                    break;
                case 'e-pv-center-align-icon':
                    this.setToolTip(this.pdfViewer.localeObj.getConstant('Center'), element);
                    break;
                case 'e-pv-right-align-icon':
                    this.setToolTip(this.pdfViewer.localeObj.getConstant('Align right'), element);
                    break;
            }
            if (isSelectedStyle) {
                element.classList.add('e-pv-li-select');
            }
            element.appendChild(spanElement);
            return element;
        };
        FormDesigner.prototype.createLabelElement = function (labelText, parentElement, isLabelNeeded, className, idString) {
            var container = ej2_base_1.createElement('div', { id: idString + '_container', className: className + '-container' });
            var label = null;
            if (isLabelNeeded) {
                label = ej2_base_1.createElement('div', { id: idString + '_label', className: className });
                label.textContent = labelText;
                container.appendChild(label);
            }
            parentElement.appendChild(label);
        };
        FormDesigner.prototype.setReadOnlyToFormField = function (selectedItem, isReadOnly) {
            for (var i = 0; i < this.pdfViewer.formFieldCollection.length; i++) {
                var formField = this.pdfViewer.formFieldCollection[parseInt(i.toString(), 10)];
                if (formField.formFieldAnnotationType === selectedItem.formFieldAnnotationType &&
                    formField.name === selectedItem.name && formField.id === selectedItem.id) {
                    formField.isReadonly = isReadOnly;
                    switch (formField.formFieldAnnotationType) {
                        case 'Textbox':
                        case 'PasswordField':
                        case 'DropdownList':
                        case 'ListBox':
                        case 'SignatureField':
                        case 'InitialField':
                        case 'RadioButton': {
                            var inputElement = document.getElementById(formField.id + '_content_html_element').firstElementChild.firstElementChild;
                            this.setReadOnlyToElement(formField, inputElement, isReadOnly);
                            break;
                        }
                        case 'Checkbox': {
                            var checkboxDivElement = document.getElementById(formField.id + '_content_html_element').firstElementChild.firstElementChild.lastElementChild;
                            this.setReadOnlyToElement(formField, checkboxDivElement, isReadOnly);
                            break;
                        }
                    }
                }
            }
        };
        FormDesigner.prototype.getFormDesignerSignField = function (signatureFieldCollection) {
            var collectiondata = this.pdfViewer.formFieldCollections;
            var dataCollection;
            for (var i = 0; i < collectiondata.length; i++) {
                dataCollection = collectiondata[parseInt(i.toString(), 10)].type;
                if (dataCollection === 'SignatureField' || dataCollection === 'InitialField') {
                    signatureFieldCollection.push(collectiondata[parseInt(i.toString(), 10)]);
                }
            }
            return signatureFieldCollection;
        };
        FormDesigner.prototype.setRequiredToFormField = function (selectedItem, isRequired) {
            for (var i = 0; i < this.pdfViewer.formFieldCollection.length; i++) {
                var formField = this.pdfViewer.formFieldCollection[parseInt(i.toString(), 10)];
                if (formField.formFieldAnnotationType === selectedItem.formFieldAnnotationType &&
                    formField.name === selectedItem.name && formField.id === selectedItem.id) {
                    formField.isRequired = isRequired;
                    switch (formField.formFieldAnnotationType) {
                        case 'Textbox':
                        case 'PasswordField':
                        case 'DropdownList':
                        case 'SignatureField':
                        case 'InitialField': {
                            var inputElement = document.getElementById(formField.id + '_content_html_element').firstElementChild.firstElementChild;
                            this.setRequiredToElement(formField, inputElement, isRequired);
                            break;
                        }
                        case 'RadioButton': {
                            var radioButtonDivDivElement = document.getElementById(formField.id + '_content_html_element').firstElementChild.firstElementChild.firstElementChild;
                            this.setRequiredToElement(formField, radioButtonDivDivElement, isRequired);
                            this.updateFormFieldCollections(formField);
                            break;
                        }
                        case 'Checkbox': {
                            var checkboxDivElement = document.getElementById(formField.id + '_content_html_element').firstElementChild.firstElementChild.lastElementChild;
                            this.setRequiredToElement(formField, checkboxDivElement, isRequired);
                            break;
                        }
                        default:
                            break;
                    }
                }
            }
        };
        FormDesigner.prototype.isTransparentBackground = function (backgroundColor) {
            if (typeof (backgroundColor) === 'object') {
                backgroundColor = JSON.stringify(backgroundColor);
            }
            return backgroundColor === '#00000000' || backgroundColor === 'transparent' || backgroundColor === 'rgba(0,0,0,0)' || backgroundColor === '{"r":0,"g":0,"b":0,"a":0}';
        };
        FormDesigner.prototype.setReadOnlyToElement = function (selectedItem, inputElement, isReadOnly) {
            var fillColor = '#daeaf7ff';
            var color = { r: 218, g: 234, b: 247, a: 100 };
            if (selectedItem.formFieldAnnotationType === 'DropdownList' || selectedItem.formFieldAnnotationType === 'ListBox') {
                inputElement.parentElement.style.backgroundColor = inputElement.style.backgroundColor;
            }
            if (!isReadOnly && inputElement.disabled) {
                inputElement.disabled = false;
            }
            if (isReadOnly) {
                if (selectedItem.formFieldAnnotationType === 'RadioButton') {
                    inputElement.parentElement.style.cursor = 'default';
                }
                else if (selectedItem.formFieldAnnotationType === 'SignatureField' || selectedItem.formFieldAnnotationType === 'InitialField') {
                    var thickness = !ej2_base_2.isNullOrUndefined(selectedItem.thickness) ? 1 : selectedItem.thickness;
                    inputElement.parentElement.style.borderWidth = thickness;
                }
                else {
                    inputElement.style.cursor = 'default';
                }
            }
            if (isReadOnly && this.isAddFormFieldProgrammatically) {
                this.previousBackgroundColor = selectedItem.backgroundColor;
            }
            if (selectedItem.formFieldAnnotationType === 'RadioButton') {
                inputElement.style.backgroundColor = selectedItem.isReadonly ? ((selectedItem.backgroundColor !== fillColor &&
                    JSON.stringify(selectedItem.backgroundColor) !== JSON.stringify(color)) ? selectedItem.backgroundColor : 'transparent') :
                    (this.isTransparentBackground(selectedItem.backgroundColor) ? fillColor : selectedItem.backgroundColor);
            }
            else if (selectedItem.formFieldAnnotationType === 'SignatureField' || selectedItem.formFieldAnnotationType === 'InitialField') {
                if (!ej2_base_2.isNullOrUndefined(selectedItem) && selectedItem.value === '') {
                    var background = selectedItem.backgroundColor ? selectedItem.backgroundColor : '#FFE48559';
                    inputElement.parentElement.style.backgroundColor = isReadOnly ?
                        background : pdfviewer_utlis_1.PdfViewerUtils.setTransparencyToHex(background);
                }
            }
            else {
                inputElement.style.backgroundColor = selectedItem.isReadonly ? (selectedItem.backgroundColor !== fillColor ? selectedItem.backgroundColor : 'transparent') : (this.isTransparentBackground(selectedItem.backgroundColor) ? fillColor : (selectedItem.backgroundColor !== this.previousBackgroundColor) ? selectedItem.backgroundColor : this.previousBackgroundColor);
            }
            selectedItem.backgroundColor = selectedItem.isReadonly ?
                ((selectedItem.backgroundColor !== fillColor && JSON.stringify(selectedItem.backgroundColor) !== JSON.stringify(color)) ? selectedItem.backgroundColor : 'transparent') :
                (this.isTransparentBackground(selectedItem.backgroundColor) ?
                    fillColor : (selectedItem.backgroundColor !== this.previousBackgroundColor) ?
                    selectedItem.backgroundColor : this.previousBackgroundColor);
        };
        FormDesigner.prototype.setRequiredToElement = function (selectedItem, inputElement, isRequired) {
            if (isRequired) {
                inputElement.required = true;
                inputElement.style.border = '1px solid red';
                if (selectedItem.formFieldAnnotationType === 'RadioButton') {
                    var thickness = selectedItem.thickness === 0 ? 1 : selectedItem.thickness;
                    inputElement.parentElement.style.boxShadow = 'red 0px 0px 0px ' + thickness + 'px';
                }
                else if (selectedItem.formFieldAnnotationType === 'SignatureField' || selectedItem.formFieldAnnotationType === 'InitialField') {
                    var thickness = (selectedItem.thickness > 0) ? selectedItem.thickness : 1;
                    inputElement.style.border = thickness + 'px solid red';
                }
            }
            else {
                inputElement.required = false;
                if (selectedItem.formFieldAnnotationType === 'SignatureField' || selectedItem.formFieldAnnotationType === 'InitialField') {
                    inputElement.style.borderWidth = selectedItem.thickness;
                }
                else {
                    inputElement.style.borderWidth = selectedItem.thickness + 'px';
                }
                inputElement.style.borderColor = selectedItem.borderColor;
                if (selectedItem.formFieldAnnotationType === 'RadioButton') {
                    inputElement.parentElement.style.boxShadow = selectedItem.borderColor + ' 0px 0px 0px ' + selectedItem.thickness + 'px';
                }
            }
        };
        FormDesigner.prototype.destroyPropertiesWindow = function () {
            this.formFieldListItemCollection = [];
            this.formFieldListItemDataSource = [];
            this.formFieldFontFamily = null;
            this.formFieldFontSize = null;
            this.formFieldAlign = null;
            this.fontColorValue = null;
            this.backgroundColorValue = null;
            this.borderColorValue = null;
            this.formFieldBorderWidth = null;
            this.formFieldName = null;
            this.formFieldChecked = null;
            this.formFieldReadOnly = null;
            this.formFieldRequired = null;
            this.formFieldTooltip = null;
            this.formFieldPrinting = null;
            this.formFieldMultiline = null;
            this.formFieldVisibility = null;
            if (this.strokeColorPicker) {
                this.strokeColorPicker.destroy();
                this.strokeColorPicker = null;
            }
            if (this.strokeDropDown) {
                this.strokeDropDown.destroy();
                this.strokeDropDown = null;
            }
            if (this.strokeDropDownElement) {
                this.strokeDropDownElement = null;
            }
            if (this.colorDropDownElement) {
                this.colorDropDownElement = null;
            }
            if (this.colorPalette) {
                this.colorPalette.destroy();
                this.colorPalette = null;
            }
            if (this.colorDropDown) {
                this.colorDropDown.destroy();
                this.colorDropDown = null;
            }
            if (this.thicknessElement) {
                this.thicknessElement = null;
            }
            if (this.thicknessDropDown) {
                this.thicknessDropDown.destroy();
                this.thicknessDropDown = null;
            }
            if (this.fontColorDropDown) {
                this.fontColorDropDown.destroy();
                this.fontColorDropDown = null;
            }
            if (this.fontColorPalette) {
                this.fontColorPalette.destroy();
                this.fontColorPalette = null;
            }
            if (this.maxLengthItem) {
                this.maxLengthItem.destroy();
                this.maxLengthItem = null;
            }
            var dialogElement = this.pdfViewerBase.getElement('_properties_window');
            if (dialogElement) {
                dialogElement.parentElement.removeChild(dialogElement);
            }
        };
        FormDesigner.prototype.destroy = function () {
            this.destroyPropertiesWindow();
            if (this.formFieldTooltips != null) {
                for (var i = 0; i < this.formFieldTooltips.length; i++) {
                    this.formFieldTooltips[parseInt(i.toString(), 10)].destroy();
                }
                this.formFieldTooltips = [];
            }
        };
        FormDesigner.prototype.hex = function (x) {
            return ('0' + x.toString(16)).slice(-2);
        };
        FormDesigner.prototype.getModuleName = function () {
            return 'FormDesigner';
        };
        FormDesigner.prototype.updateAnnotationCanvas = function (canvas, pageWidth, pageHeight, pageNumber) {
            var ratio = this.pdfViewerBase.getZoomRatio();
            canvas.width = pageWidth * ratio;
            canvas.height = pageHeight * ratio;
            canvas.style.width = pageWidth + 'px';
            canvas.style.height = pageHeight + 'px';
            canvas.style.position = 'absolute';
            canvas.style.zIndex = '1';
            this.pdfViewerBase.applyElementStyles(canvas, pageNumber);
        };
        FormDesigner.prototype.getFontFamily = function (fontFamily) {
            var fontFamilyNames = ['Helvetica', 'Courier', 'Times New Roman', 'Symbol', 'ZapfDingbats'];
            return fontFamilyNames.indexOf(fontFamily) > -1 ? true : false;
        };
        FormDesigner.prototype.updateTextFieldSettingProperties = function (drawingObject, isFormDesignerToolbarVisible, isSetFormFieldMode) {
            var textFieldSettings = this.pdfViewer.textFieldSettings;
            if (!ej2_base_2.isNullOrUndefined(textFieldSettings.isReadOnly) && this.textFieldPropertyChanged.isReadOnlyChanged &&
                textFieldSettings.isReadOnly !== false) {
                drawingObject.isReadonly = textFieldSettings.isReadOnly;
            }
            if (!ej2_base_2.isNullOrUndefined(textFieldSettings.isRequired) && this.textFieldPropertyChanged.isRequiredChanged &&
                textFieldSettings.isRequired !== false) {
                drawingObject.isRequired = textFieldSettings.isRequired;
            }
            if (textFieldSettings.value && this.textFieldPropertyChanged.isValueChanged) {
                var newValue = textFieldSettings.value;
                var max = (!ej2_base_2.isNullOrUndefined(textFieldSettings.maxLength) && textFieldSettings.maxLength !== 0)
                    ? textFieldSettings.maxLength
                    : 0;
                var finalValue = (max > 0 && newValue && newValue.length > max)
                    ? newValue.substring(0, max)
                    : newValue;
                drawingObject.value = this.pdfViewer.enableHtmlSanitizer
                    ? ej2_base_2.SanitizeHtmlHelper.sanitize(finalValue)
                    : finalValue;
            }
            if ((textFieldSettings.backgroundColor && textFieldSettings.backgroundColor !== 'white') && this.textFieldPropertyChanged.isBackgroundColorChanged) {
                drawingObject.backgroundColor = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(textFieldSettings.backgroundColor) : textFieldSettings.backgroundColor;
            }
            if ((textFieldSettings.borderColor && textFieldSettings.borderColor !== 'black') && this.textFieldPropertyChanged.isBorderColorChanged) {
                drawingObject.borderColor = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(textFieldSettings.borderColor) : textFieldSettings.borderColor;
            }
            if ((textFieldSettings.alignment && textFieldSettings.alignment !== 'Left') && this.textFieldPropertyChanged.isAlignmentChanged) {
                drawingObject.alignment = textFieldSettings.alignment;
            }
            if ((textFieldSettings.color && textFieldSettings.color !== 'black') &&
                this.textFieldPropertyChanged.isColorChanged) {
                drawingObject.color = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(textFieldSettings.color) : textFieldSettings.color;
            }
            if ((textFieldSettings.fontFamily && textFieldSettings.fontFamily !== 'Helvetica') && this.textFieldPropertyChanged.isFontFamilyChanged) {
                drawingObject.fontFamily = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(textFieldSettings.fontFamily) : textFieldSettings.fontFamily;
            }
            if ((textFieldSettings.fontSize && textFieldSettings.fontSize !== 10) && this.textFieldPropertyChanged.isFontSizeChanged) {
                drawingObject.fontSize = textFieldSettings.fontSize;
            }
            if (textFieldSettings.fontStyle && this.textFieldPropertyChanged.isFontStyleChanged) {
                drawingObject.fontStyle = this.getFontStyleName(textFieldSettings.fontStyle, drawingObject);
            }
            if (textFieldSettings.name && this.textFieldPropertyChanged.isNameChanged) {
                drawingObject.name = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(textFieldSettings.name) : textFieldSettings.name;
            }
            if (textFieldSettings.tooltip && this.textFieldPropertyChanged.isToolTipChanged) {
                drawingObject.tooltip = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(textFieldSettings.tooltip) : textFieldSettings.tooltip;
            }
            if ((textFieldSettings.thickness && textFieldSettings.thickness !== 1) && this.textFieldPropertyChanged.isThicknessChanged) {
                drawingObject.thickness = textFieldSettings.thickness;
            }
            if (textFieldSettings.maxLength && this.textFieldPropertyChanged.isMaxLengthChanged && textFieldSettings.maxLength !== 0) {
                drawingObject.maxLength = textFieldSettings.maxLength;
            }
            if (textFieldSettings.visibility && this.textFieldPropertyChanged.isVisibilityChanged && textFieldSettings.visibility !== 'visible') {
                drawingObject.visibility = textFieldSettings.visibility;
            }
            if (!ej2_base_2.isNullOrUndefined(textFieldSettings.isPrint) && this.textFieldPropertyChanged.isPrintChanged) {
                drawingObject.isPrint = textFieldSettings.isPrint;
            }
            if (!ej2_base_2.isNullOrUndefined(textFieldSettings.isMultiline) && this.textFieldPropertyChanged.isMultilineChanged &&
                textFieldSettings.isMultiline !== false) {
                drawingObject.isMultiline = textFieldSettings.isMultiline;
            }
            if (!ej2_base_2.isNullOrUndefined(textFieldSettings.customData) && this.textFieldPropertyChanged.isCustomDataChanged &&
                textFieldSettings.customData !== '') {
                drawingObject.customData = textFieldSettings.customData;
            }
        };
        FormDesigner.prototype.updatePasswordFieldSettingProperties = function (drawingObject, isFormDesignerToolbarVisible, isSetFormFieldMode) {
            var passwordFieldSettings = this.pdfViewer.passwordFieldSettings;
            if (!ej2_base_2.isNullOrUndefined(passwordFieldSettings.isReadOnly) && this.passwordFieldPropertyChanged.isReadOnlyChanged &&
                passwordFieldSettings.isReadOnly !== false) {
                drawingObject.isReadonly = passwordFieldSettings.isReadOnly;
            }
            if (!ej2_base_2.isNullOrUndefined(passwordFieldSettings.isRequired) && this.passwordFieldPropertyChanged.isRequiredChanged &&
                passwordFieldSettings.isRequired !== false) {
                drawingObject.isRequired = passwordFieldSettings.isRequired;
            }
            if (passwordFieldSettings.value && this.passwordFieldPropertyChanged.isValueChanged) {
                var newValue = passwordFieldSettings.value;
                var max = (!ej2_base_2.isNullOrUndefined(passwordFieldSettings.maxLength) && passwordFieldSettings.maxLength !== 0)
                    ? passwordFieldSettings.maxLength
                    : 0;
                if (max > 0 && newValue && newValue.length > max) {
                    drawingObject.value = newValue.substring(0, max);
                }
                else {
                    drawingObject.value = newValue;
                }
            }
            if ((passwordFieldSettings.backgroundColor && passwordFieldSettings.backgroundColor !== 'white') && this.passwordFieldPropertyChanged.isBackgroundColorChanged) {
                drawingObject.backgroundColor = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(passwordFieldSettings.backgroundColor) : passwordFieldSettings.backgroundColor;
            }
            if ((passwordFieldSettings.borderColor && passwordFieldSettings.borderColor !== 'black') && this.passwordFieldPropertyChanged.isBorderColorChanged) {
                drawingObject.borderColor = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(passwordFieldSettings.borderColor) : passwordFieldSettings.borderColor;
            }
            if ((passwordFieldSettings.alignment && passwordFieldSettings.alignment !== 'Left') && this.passwordFieldPropertyChanged.isAlignmentChanged) {
                drawingObject.alignment = passwordFieldSettings.alignment;
            }
            if ((passwordFieldSettings.color && passwordFieldSettings.color !== 'black') && this.passwordFieldPropertyChanged.isColorChanged) {
                drawingObject.color = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(passwordFieldSettings.color) : passwordFieldSettings.color;
            }
            if ((passwordFieldSettings.fontFamily && passwordFieldSettings.fontFamily !== 'Helvetica') && this.passwordFieldPropertyChanged.isFontFamilyChanged) {
                drawingObject.fontFamily = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(passwordFieldSettings.fontFamily) : passwordFieldSettings.fontFamily;
            }
            if ((passwordFieldSettings.fontSize && passwordFieldSettings.fontSize !== 10) &&
                this.passwordFieldPropertyChanged.isFontSizeChanged) {
                drawingObject.fontSize = passwordFieldSettings.fontSize;
            }
            if (passwordFieldSettings.fontStyle && this.passwordFieldPropertyChanged.isFontStyleChanged) {
                drawingObject.fontStyle = this.getFontStyleName(passwordFieldSettings.fontStyle, drawingObject);
            }
            if (passwordFieldSettings.name && this.passwordFieldPropertyChanged.isNameChanged) {
                drawingObject.name = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(passwordFieldSettings.name) : passwordFieldSettings.name;
            }
            if (passwordFieldSettings.tooltip && this.passwordFieldPropertyChanged.isToolTipChanged) {
                drawingObject.tooltip = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(passwordFieldSettings.tooltip) : passwordFieldSettings.tooltip;
            }
            if ((passwordFieldSettings.thickness && passwordFieldSettings.thickness !== 1) &&
                this.passwordFieldPropertyChanged.isThicknessChanged) {
                drawingObject.thickness = passwordFieldSettings.thickness;
            }
            if (passwordFieldSettings.maxLength && this.passwordFieldPropertyChanged.isMaxLengthChanged &&
                passwordFieldSettings.maxLength !== 0) {
                drawingObject.maxLength = passwordFieldSettings.maxLength;
            }
            if (passwordFieldSettings.visibility && this.passwordFieldPropertyChanged.isVisibilityChanged &&
                passwordFieldSettings.visibility !== 'visible') {
                drawingObject.visibility = passwordFieldSettings.visibility;
            }
            if (!ej2_base_2.isNullOrUndefined(passwordFieldSettings.isPrint) && this.passwordFieldPropertyChanged.isPrintChanged) {
                drawingObject.isPrint = passwordFieldSettings.isPrint;
            }
            if (!ej2_base_2.isNullOrUndefined(passwordFieldSettings.customData) && this.passwordFieldPropertyChanged.isCustomDataChanged &&
                passwordFieldSettings.customData !== '') {
                drawingObject.customData = passwordFieldSettings.customData;
            }
        };
        FormDesigner.prototype.updateCheckBoxFieldSettingsProperties = function (drawingObject, isFormDesignerToolbarVisible, isSetFormFieldMode) {
            var checkBoxFieldSettings = this.pdfViewer.checkBoxFieldSettings;
            if (!ej2_base_2.isNullOrUndefined(checkBoxFieldSettings.isReadOnly) && this.checkBoxFieldPropertyChanged.isReadOnlyChanged &&
                checkBoxFieldSettings.isReadOnly !== false) {
                drawingObject.isReadonly = checkBoxFieldSettings.isReadOnly;
            }
            if (!ej2_base_2.isNullOrUndefined(checkBoxFieldSettings.isRequired) && this.checkBoxFieldPropertyChanged.isRequiredChanged &&
                checkBoxFieldSettings.isRequired !== false) {
                drawingObject.isRequired = checkBoxFieldSettings.isRequired;
            }
            if (checkBoxFieldSettings.value && this.checkBoxFieldPropertyChanged.isValueChanged) {
                drawingObject.value = checkBoxFieldSettings.value;
            }
            if ((checkBoxFieldSettings.backgroundColor && checkBoxFieldSettings.backgroundColor !== 'white') && this.checkBoxFieldPropertyChanged.isBackgroundColorChanged) {
                drawingObject.backgroundColor = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(checkBoxFieldSettings.backgroundColor) : checkBoxFieldSettings.backgroundColor;
            }
            if ((checkBoxFieldSettings.borderColor && checkBoxFieldSettings.borderColor !== 'black') && this.checkBoxFieldPropertyChanged.isBorderColorChanged) {
                drawingObject.borderColor = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(checkBoxFieldSettings.borderColor) : checkBoxFieldSettings.borderColor;
            }
            if (checkBoxFieldSettings.name && this.checkBoxFieldPropertyChanged.isNameChanged) {
                drawingObject.name = ej2_base_2.SanitizeHtmlHelper.sanitize(checkBoxFieldSettings.name);
            }
            if (checkBoxFieldSettings.tooltip && this.checkBoxFieldPropertyChanged.isToolTipChanged) {
                drawingObject.tooltip = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(checkBoxFieldSettings.tooltip) : checkBoxFieldSettings.tooltip;
            }
            if ((checkBoxFieldSettings.thickness && checkBoxFieldSettings.thickness !== 1) &&
                this.checkBoxFieldPropertyChanged.isThicknessChanged) {
                drawingObject.thickness = checkBoxFieldSettings.thickness;
            }
            if (checkBoxFieldSettings.visibility && this.checkBoxFieldPropertyChanged.isVisibilityChanged &&
                checkBoxFieldSettings.visibility !== 'visible') {
                drawingObject.visibility = checkBoxFieldSettings.visibility;
            }
            if (!ej2_base_2.isNullOrUndefined(checkBoxFieldSettings.isPrint) && this.checkBoxFieldPropertyChanged.isPrintChanged) {
                drawingObject.isPrint = checkBoxFieldSettings.isPrint;
            }
            if (!ej2_base_2.isNullOrUndefined(checkBoxFieldSettings.isChecked) && this.checkBoxFieldPropertyChanged.isCheckedChanged &&
                checkBoxFieldSettings.isChecked !== false) {
                drawingObject.isChecked = checkBoxFieldSettings.isChecked;
            }
            if (!ej2_base_2.isNullOrUndefined(checkBoxFieldSettings.customData) && this.checkBoxFieldPropertyChanged.isCustomDataChanged &&
                checkBoxFieldSettings.customData !== '') {
                drawingObject.customData = checkBoxFieldSettings.customData;
            }
        };
        FormDesigner.prototype.updateRadioButtonFieldSettingProperties = function (drawingObject, isFormDesignerToolbarVisible, isSetFormFieldMode) {
            var radioButtonFieldSettings = this.pdfViewer.radioButtonFieldSettings;
            if (!ej2_base_2.isNullOrUndefined(radioButtonFieldSettings.isReadOnly) && this.radioButtonFieldPropertyChanged.isReadOnlyChanged &&
                radioButtonFieldSettings.isReadOnly !== false) {
                drawingObject.isReadonly = radioButtonFieldSettings.isReadOnly;
            }
            if (!ej2_base_2.isNullOrUndefined(radioButtonFieldSettings.isRequired) && this.radioButtonFieldPropertyChanged.isRequiredChanged &&
                radioButtonFieldSettings.isRequired !== false) {
                drawingObject.isRequired = radioButtonFieldSettings.isRequired;
            }
            if (radioButtonFieldSettings.value && this.radioButtonFieldPropertyChanged.isValueChanged) {
                drawingObject.value = radioButtonFieldSettings.value;
            }
            if ((radioButtonFieldSettings.backgroundColor && radioButtonFieldSettings.backgroundColor !== 'white') &&
                this.radioButtonFieldPropertyChanged.isBackgroundColorChanged) {
                drawingObject.backgroundColor = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(radioButtonFieldSettings.backgroundColor) : radioButtonFieldSettings.backgroundColor;
            }
            if ((radioButtonFieldSettings.borderColor && radioButtonFieldSettings.borderColor !== 'black') &&
                this.radioButtonFieldPropertyChanged.isBorderColorChanged) {
                drawingObject.borderColor = this.pdfViewer.enableHtmlSanitizer ? ej2_base_2.SanitizeHtmlHelper.
                    sanitize(radioButtonFieldSettings.borderColor) : radioButtonFieldSettings.borderColor;
            }
            if (radioButtonFieldSettings.name && this.radioButtonFieldPropertyChanged.isNameChanged) {
                drawingObject.name = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(radioButtonFieldSettings.name) : radioButtonFieldSettings.name;
            }
            if (radioButtonFieldSettings.tooltip && this.radioButtonFieldPropertyChanged.isToolTipChanged) {
                drawingObject.tooltip = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(radioButtonFieldSettings.tooltip) : radioButtonFieldSettings.tooltip;
            }
            if ((radioButtonFieldSettings.thickness && radioButtonFieldSettings.thickness !== 1) &&
                this.radioButtonFieldPropertyChanged.isThicknessChanged) {
                drawingObject.thickness = radioButtonFieldSettings.thickness;
            }
            if (radioButtonFieldSettings.visibility && this.radioButtonFieldPropertyChanged.isVisibilityChanged &&
                radioButtonFieldSettings.visibility !== 'visible') {
                drawingObject.visibility = radioButtonFieldSettings.visibility;
            }
            if (!ej2_base_2.isNullOrUndefined(radioButtonFieldSettings.isPrint) && this.radioButtonFieldPropertyChanged.isPrintChanged) {
                drawingObject.isPrint = radioButtonFieldSettings.isPrint;
            }
            if (!ej2_base_2.isNullOrUndefined(radioButtonFieldSettings.isSelected) && this.radioButtonFieldPropertyChanged.isSelectedChanged &&
                radioButtonFieldSettings.isSelected !== false) {
                drawingObject.isSelected = radioButtonFieldSettings.isSelected;
            }
            if (!ej2_base_2.isNullOrUndefined(radioButtonFieldSettings.customData) && this.radioButtonFieldPropertyChanged.isCustomDataChanged &&
                radioButtonFieldSettings.customData !== '') {
                drawingObject.customData = radioButtonFieldSettings.customData;
            }
        };
        FormDesigner.prototype.updateDropdownFieldSettingsProperties = function (drawingObject, isFormDesignerToolbarVisible, isSetFormFieldMode) {
            var dropdownFieldSettings = this.pdfViewer.DropdownFieldSettings;
            if (!ej2_base_2.isNullOrUndefined(dropdownFieldSettings.isReadOnly) && this.dropdownFieldPropertyChanged.isReadOnlyChanged &&
                dropdownFieldSettings.isReadOnly !== false) {
                drawingObject.isReadonly = dropdownFieldSettings.isReadOnly;
            }
            if (!ej2_base_2.isNullOrUndefined(dropdownFieldSettings.isRequired) && this.dropdownFieldPropertyChanged.isRequiredChanged &&
                dropdownFieldSettings.isRequired !== false) {
                drawingObject.isRequired = dropdownFieldSettings.isRequired;
            }
            if ((dropdownFieldSettings.backgroundColor && dropdownFieldSettings.backgroundColor !== 'white') && this.dropdownFieldPropertyChanged.isBackgroundColorChanged) {
                drawingObject.backgroundColor = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(dropdownFieldSettings.backgroundColor) : dropdownFieldSettings.backgroundColor;
            }
            if ((dropdownFieldSettings.borderColor && dropdownFieldSettings.borderColor !== 'black') && this.dropdownFieldPropertyChanged.isBorderColorChanged) {
                drawingObject.borderColor = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(dropdownFieldSettings.borderColor) : dropdownFieldSettings.borderColor;
            }
            if ((dropdownFieldSettings.alignment && dropdownFieldSettings.alignment !== 'Left') && this.dropdownFieldPropertyChanged.isAlignmentChanged) {
                drawingObject.alignment = dropdownFieldSettings.alignment;
            }
            if ((dropdownFieldSettings.color && dropdownFieldSettings.color !== 'black') && this.dropdownFieldPropertyChanged.isColorChanged) {
                drawingObject.color = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(dropdownFieldSettings.color) : dropdownFieldSettings.color;
            }
            if ((dropdownFieldSettings.fontFamily && dropdownFieldSettings.fontFamily !== 'Helvetica') && this.dropdownFieldPropertyChanged.isFontFamilyChanged) {
                drawingObject.fontFamily = ej2_base_2.SanitizeHtmlHelper.sanitize(dropdownFieldSettings.fontFamily);
            }
            if ((dropdownFieldSettings.fontSize && dropdownFieldSettings.fontSize !== 10) &&
                this.dropdownFieldPropertyChanged.isFontSizeChanged) {
                drawingObject.fontSize = dropdownFieldSettings.fontSize;
            }
            if (dropdownFieldSettings.fontStyle && this.dropdownFieldPropertyChanged.isFontStyleChanged) {
                drawingObject.fontStyle = this.getFontStyleName(dropdownFieldSettings.fontStyle, drawingObject);
            }
            if (dropdownFieldSettings.name && this.dropdownFieldPropertyChanged.isNameChanged) {
                drawingObject.name = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(dropdownFieldSettings.name) : dropdownFieldSettings.name;
            }
            if (dropdownFieldSettings.tooltip && this.dropdownFieldPropertyChanged.isToolTipChanged) {
                drawingObject.tooltip = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(dropdownFieldSettings.tooltip) : dropdownFieldSettings.tooltip;
            }
            if ((dropdownFieldSettings && dropdownFieldSettings.thickness !== 1) && this.dropdownFieldPropertyChanged.isThicknessChanged) {
                drawingObject.thickness = dropdownFieldSettings.thickness;
            }
            if (dropdownFieldSettings.visibility && this.dropdownFieldPropertyChanged.isVisibilityChanged &&
                dropdownFieldSettings.visibility !== 'visible') {
                drawingObject.visibility = dropdownFieldSettings.visibility;
            }
            if (!ej2_base_2.isNullOrUndefined(dropdownFieldSettings.isPrint) && this.dropdownFieldPropertyChanged.isPrintChanged) {
                drawingObject.isPrint = dropdownFieldSettings.isPrint;
            }
            if (dropdownFieldSettings.options && dropdownFieldSettings.options.length > 0) {
                if (ej2_base_2.isNullOrUndefined(drawingObject.selectedIndex)) {
                    drawingObject.selectedIndex = [0];
                }
                if (this.dropdownFieldPropertyChanged.isOptionChanged) {
                    drawingObject.options = drawingObject.options && drawingObject.options.length > 0 ?
                        drawingObject.options : dropdownFieldSettings.options;
                }
            }
            if (!ej2_base_2.isNullOrUndefined(dropdownFieldSettings.customData) && this.dropdownFieldPropertyChanged.isCustomDataChanged &&
                dropdownFieldSettings.customData !== '') {
                drawingObject.customData = dropdownFieldSettings.customData;
            }
        };
        FormDesigner.prototype.updatelistBoxFieldSettingsProperties = function (drawingObject, isFormDesignerToolbarVisible, isSetFormFieldMode) {
            var listBoxFieldSettings = this.pdfViewer.listBoxFieldSettings;
            if (!ej2_base_2.isNullOrUndefined(listBoxFieldSettings.isReadOnly) && this.listBoxFieldPropertyChanged.isReadOnlyChanged &&
                listBoxFieldSettings.isReadOnly !== false) {
                drawingObject.isReadonly = listBoxFieldSettings.isReadOnly;
            }
            if (!ej2_base_2.isNullOrUndefined(listBoxFieldSettings.isRequired) && this.listBoxFieldPropertyChanged.isRequiredChanged &&
                listBoxFieldSettings.isRequired !== false) {
                drawingObject.isRequired = listBoxFieldSettings.isRequired;
            }
            if ((listBoxFieldSettings.backgroundColor && listBoxFieldSettings.backgroundColor !== 'white') && this.listBoxFieldPropertyChanged.isBackgroundColorChanged) {
                drawingObject.backgroundColor = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(listBoxFieldSettings.backgroundColor) : listBoxFieldSettings.backgroundColor;
            }
            if ((listBoxFieldSettings.borderColor && listBoxFieldSettings.borderColor !== 'black') && this.listBoxFieldPropertyChanged.isBorderColorChanged) {
                drawingObject.borderColor = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(listBoxFieldSettings.borderColor) : listBoxFieldSettings.borderColor;
            }
            if ((listBoxFieldSettings.alignment && listBoxFieldSettings.alignment !== 'Left') && this.listBoxFieldPropertyChanged.isAlignmentChanged) {
                drawingObject.alignment = listBoxFieldSettings.alignment;
            }
            if ((listBoxFieldSettings.color && listBoxFieldSettings.color !== 'black') && this.listBoxFieldPropertyChanged.isColorChanged) {
                drawingObject.color = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(listBoxFieldSettings.color) : listBoxFieldSettings.color;
            }
            if ((listBoxFieldSettings.fontFamily && listBoxFieldSettings.fontFamily !== 'Helvetica') && this.listBoxFieldPropertyChanged.isFontFamilyChanged) {
                drawingObject.fontFamily = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(listBoxFieldSettings.fontFamily) : listBoxFieldSettings.fontFamily;
            }
            if ((listBoxFieldSettings.fontSize && listBoxFieldSettings.fontSize !== 10) && this.listBoxFieldPropertyChanged.isFontSizeChanged) {
                drawingObject.fontSize = listBoxFieldSettings.fontSize;
            }
            if (listBoxFieldSettings.fontStyle && this.listBoxFieldPropertyChanged.isFontStyleChanged) {
                drawingObject.fontStyle = this.getFontStyleName(listBoxFieldSettings.fontStyle, drawingObject);
            }
            if (listBoxFieldSettings.name && this.listBoxFieldPropertyChanged.isNameChanged) {
                drawingObject.name = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(listBoxFieldSettings.name) : listBoxFieldSettings.name;
            }
            if (listBoxFieldSettings.tooltip && this.listBoxFieldPropertyChanged.isToolTipChanged) {
                drawingObject.tooltip = this.pdfViewer.enableHtmlSanitizer ?
                    ej2_base_2.SanitizeHtmlHelper.sanitize(listBoxFieldSettings.tooltip) : listBoxFieldSettings.tooltip;
            }
            if ((listBoxFieldSettings.thickness && listBoxFieldSettings.thickness !== 1) &&
                this.listBoxFieldPropertyChanged.isThicknessChanged) {
                drawingObject.thickness = listBoxFieldSettings.thickness;
            }
            if (listBoxFieldSettings.visibility && this.listBoxFieldPropertyChanged.isVisibilityChanged &&
                listBoxFieldSettings.visibility !== 'visible') {
                drawingObject.visibility = listBoxFieldSettings.visibility;
            }
            if (!ej2_base_2.isNullOrUndefined(listBoxFieldSettings.isPrint) && this.listBoxFieldPropertyChanged.isPrintChanged) {
                drawingObject.isPrint = listBoxFieldSettings.isPrint;
            }
            if (listBoxFieldSettings.options && listBoxFieldSettings.options.length > 0) {
                if (ej2_base_2.isNullOrUndefined(drawingObject.selectedIndex)) {
                    drawingObject.selectedIndex = [0];
                }
                if (this.listBoxFieldPropertyChanged.isOptionChanged) {
                    drawingObject.options = drawingObject.options && drawingObject.options.length > 0 ?
                        drawingObject.options : listBoxFieldSettings.options;
                }
            }
            if (!ej2_base_2.isNullOrUndefined(listBoxFieldSettings.customData) && this.listBoxFieldPropertyChanged.isCustomDataChanged &&
                listBoxFieldSettings.customData !== '') {
                drawingObject.customData = listBoxFieldSettings.customData;
            }
        };
        FormDesigner.prototype.updateSignInitialFieldProperties = function (signatureField, isInitialField, isFormDesignerToolbarVisible, isSetFormFieldMode) {
            var initialFieldSettings = this.pdfViewer.initialFieldSettings;
            var signatureFieldSettings = this.pdfViewer.signatureFieldSettings;
            if (isInitialField) {
                if (!ej2_base_2.isNullOrUndefined(initialFieldSettings.isReadOnly) && this.initialFieldPropertyChanged.isReadOnlyChanged &&
                    initialFieldSettings.isReadOnly !== false) {
                    signatureField.isReadonly = initialFieldSettings.isReadOnly;
                }
                if (!ej2_base_2.isNullOrUndefined(initialFieldSettings.isRequired) &&
                    this.initialFieldPropertyChanged.isRequiredChanged && !this.pdfViewer.magnificationModule.isFormFieldPageZoomed &&
                    initialFieldSettings.isRequired !== false) {
                    signatureField.isRequired = initialFieldSettings.isRequired;
                }
                if (initialFieldSettings.visibility && this.initialFieldPropertyChanged.isVisibilityChanged &&
                    !this.pdfViewer.magnificationModule.isFormFieldPageZoomed && initialFieldSettings.visibility !== 'visible') {
                    signatureField.visibility = initialFieldSettings.visibility;
                }
                if (initialFieldSettings.tooltip && this.initialFieldPropertyChanged.isTooltipChanged &&
                    !this.pdfViewer.magnificationModule.isFormFieldPageZoomed) {
                    signatureField.tooltip = this.pdfViewer.enableHtmlSanitizer ?
                        ej2_base_2.SanitizeHtmlHelper.sanitize(initialFieldSettings.tooltip) : initialFieldSettings.tooltip;
                }
                if ((!ej2_base_2.isNullOrUndefined(initialFieldSettings.thickness) && isSetFormFieldMode === true) &&
                    this.initialFieldPropertyChanged.isThicknessChanged) {
                    signatureField.thickness = initialFieldSettings.thickness;
                }
                if (initialFieldSettings.name && this.initialFieldPropertyChanged.isNameChanged &&
                    !this.pdfViewer.magnificationModule.isFormFieldPageZoomed) {
                    signatureField.name = this.pdfViewer.enableHtmlSanitizer ?
                        ej2_base_2.SanitizeHtmlHelper.sanitize(initialFieldSettings.name) : initialFieldSettings.name;
                }
                if (!ej2_base_2.isNullOrUndefined(initialFieldSettings.isPrint) &&
                    this.initialFieldPropertyChanged.isPrintChanged && !this.pdfViewer.magnificationModule.isFormFieldPageZoomed) {
                    signatureField.isPrint = initialFieldSettings.isPrint;
                }
                if (!ej2_base_2.isNullOrUndefined(initialFieldSettings.customData) && this.initialFieldPropertyChanged.isCustomDataChanged &&
                    initialFieldSettings.customData !== '') {
                    signatureField.customData = initialFieldSettings.customData;
                }
            }
            else {
                if (!ej2_base_2.isNullOrUndefined(signatureFieldSettings.isReadOnly) && this.signatureFieldPropertyChanged.isReadOnlyChanged &&
                    signatureFieldSettings.isReadOnly !== false) {
                    signatureField.isReadonly = signatureFieldSettings.isReadOnly;
                }
                if (!ej2_base_2.isNullOrUndefined(signatureFieldSettings.isRequired) &&
                    this.signatureFieldPropertyChanged.isRequiredChanged && !this.pdfViewer.magnificationModule.isFormFieldPageZoomed &&
                    signatureFieldSettings.isRequired !== false) {
                    signatureField.isRequired = signatureFieldSettings.isRequired;
                }
                if (signatureFieldSettings.visibility && this.signatureFieldPropertyChanged.isVisibilityChanged &&
                    !this.pdfViewer.magnificationModule.isFormFieldPageZoomed && signatureFieldSettings.visibility !== 'visible') {
                    signatureField.visibility = signatureFieldSettings.visibility;
                }
                if (signatureFieldSettings.tooltip && this.signatureFieldPropertyChanged.isTooltipChanged &&
                    !this.pdfViewer.magnificationModule.isFormFieldPageZoomed) {
                    signatureField.tooltip = this.pdfViewer.enableHtmlSanitizer ?
                        ej2_base_2.SanitizeHtmlHelper.sanitize(signatureFieldSettings.tooltip) : signatureFieldSettings.tooltip;
                }
                if ((!ej2_base_2.isNullOrUndefined(signatureFieldSettings.thickness) && isSetFormFieldMode === true) &&
                    this.signatureFieldPropertyChanged.isThicknessChanged) {
                    signatureField.thickness = signatureFieldSettings.thickness;
                }
                if (signatureFieldSettings.name && this.signatureFieldPropertyChanged.isNameChanged &&
                    !this.pdfViewer.magnificationModule.isFormFieldPageZoomed) {
                    signatureField.name = this.pdfViewer.enableHtmlSanitizer ?
                        ej2_base_2.SanitizeHtmlHelper.sanitize(signatureFieldSettings.name) : signatureFieldSettings.name;
                }
                if (!ej2_base_2.isNullOrUndefined(signatureFieldSettings.isPrint) && this.signatureFieldPropertyChanged.isPrintChanged &&
                    !this.pdfViewer.magnificationModule.isFormFieldPageZoomed) {
                    signatureField.isPrint = signatureFieldSettings.isPrint;
                }
                if (!ej2_base_2.isNullOrUndefined(signatureFieldSettings.customData) && this.signatureFieldPropertyChanged.isCustomDataChanged &&
                    signatureFieldSettings.customData !== '') {
                    signatureField.customData = signatureFieldSettings.customData;
                }
            }
        };
        FormDesigner.prototype.updateSignatureSettings = function (newSignatureFieldSettings, isInitialField) {
            isInitialField = !ej2_base_2.isNullOrUndefined(isInitialField) ? isInitialField : false;
            if (isInitialField) {
                this.initialFieldPropertyChanged.isReadOnlyChanged = !ej2_base_2.isNullOrUndefined(newSignatureFieldSettings.isReadOnly);
                this.initialFieldPropertyChanged.isRequiredChanged = !ej2_base_2.isNullOrUndefined(newSignatureFieldSettings.isRequired);
                this.initialFieldPropertyChanged.isVisibilityChanged = !ej2_base_2.isNullOrUndefined(newSignatureFieldSettings.visibility);
                this.initialFieldPropertyChanged.isTooltipChanged = !ej2_base_2.isNullOrUndefined(newSignatureFieldSettings.tooltip);
                this.initialFieldPropertyChanged.isNameChanged = !ej2_base_2.isNullOrUndefined(newSignatureFieldSettings.name);
                this.initialFieldPropertyChanged.isPrintChanged = !ej2_base_2.isNullOrUndefined(newSignatureFieldSettings.isPrint);
                this.initialFieldPropertyChanged.isThicknessChanged = !ej2_base_2.isNullOrUndefined(newSignatureFieldSettings.thickness);
                this.initialFieldPropertyChanged.isCustomDataChanged = !ej2_base_2.isNullOrUndefined(newSignatureFieldSettings.customData);
            }
            else {
                this.signatureFieldPropertyChanged.isReadOnlyChanged = !ej2_base_2.isNullOrUndefined(newSignatureFieldSettings.isReadOnly);
                this.signatureFieldPropertyChanged.isRequiredChanged = !ej2_base_2.isNullOrUndefined(newSignatureFieldSettings.isRequired);
                this.signatureFieldPropertyChanged.isVisibilityChanged = !ej2_base_2.isNullOrUndefined(newSignatureFieldSettings.visibility);
                this.signatureFieldPropertyChanged.isTooltipChanged = !ej2_base_2.isNullOrUndefined(newSignatureFieldSettings.tooltip);
                this.signatureFieldPropertyChanged.isNameChanged = !ej2_base_2.isNullOrUndefined(newSignatureFieldSettings.name);
                this.signatureFieldPropertyChanged.isPrintChanged = !ej2_base_2.isNullOrUndefined(newSignatureFieldSettings.isPrint);
                this.signatureFieldPropertyChanged.isThicknessChanged = !ej2_base_2.isNullOrUndefined(newSignatureFieldSettings.thickness);
                this.signatureFieldPropertyChanged.isCustomDataChanged = !ej2_base_2.isNullOrUndefined(newSignatureFieldSettings.customData);
            }
        };
        FormDesigner.prototype.updateTextFieldSettings = function (textFieldSettings) {
            this.textFieldPropertyChanged.isReadOnlyChanged = !ej2_base_2.isNullOrUndefined(textFieldSettings.isReadOnly);
            this.textFieldPropertyChanged.isRequiredChanged = !ej2_base_2.isNullOrUndefined(textFieldSettings.isRequired);
            this.textFieldPropertyChanged.isValueChanged = !ej2_base_2.isNullOrUndefined(textFieldSettings.value);
            this.textFieldPropertyChanged.isBackgroundColorChanged = !ej2_base_2.isNullOrUndefined(textFieldSettings.backgroundColor);
            this.textFieldPropertyChanged.isBorderColorChanged = !ej2_base_2.isNullOrUndefined(textFieldSettings.borderColor);
            this.textFieldPropertyChanged.isAlignmentChanged = !ej2_base_2.isNullOrUndefined(textFieldSettings.alignment);
            this.textFieldPropertyChanged.isColorChanged = !ej2_base_2.isNullOrUndefined(textFieldSettings.color);
            this.textFieldPropertyChanged.isFontFamilyChanged = !ej2_base_2.isNullOrUndefined(textFieldSettings.fontFamily);
            this.textFieldPropertyChanged.isFontSizeChanged = !ej2_base_2.isNullOrUndefined(textFieldSettings.fontSize);
            this.textFieldPropertyChanged.isFontStyleChanged = !ej2_base_2.isNullOrUndefined(textFieldSettings.fontStyle);
            this.textFieldPropertyChanged.isNameChanged = !ej2_base_2.isNullOrUndefined(textFieldSettings.name);
            this.textFieldPropertyChanged.isToolTipChanged = !ej2_base_2.isNullOrUndefined(textFieldSettings.tooltip);
            this.textFieldPropertyChanged.isThicknessChanged = !ej2_base_2.isNullOrUndefined(textFieldSettings.thickness);
            this.textFieldPropertyChanged.isMaxLengthChanged = !ej2_base_2.isNullOrUndefined(textFieldSettings.maxLength);
            this.textFieldPropertyChanged.isVisibilityChanged = !ej2_base_2.isNullOrUndefined(textFieldSettings.visibility);
            this.textFieldPropertyChanged.isPrintChanged = !ej2_base_2.isNullOrUndefined(textFieldSettings.isPrint);
            this.textFieldPropertyChanged.isMultilineChanged = !ej2_base_2.isNullOrUndefined(textFieldSettings.isMultiline);
            this.textFieldPropertyChanged.isCustomDataChanged = !ej2_base_2.isNullOrUndefined(textFieldSettings.customData);
        };
        FormDesigner.prototype.updatePasswordFieldSettings = function (passwordFieldSettings) {
            this.passwordFieldPropertyChanged.isReadOnlyChanged = !ej2_base_2.isNullOrUndefined(passwordFieldSettings.isReadOnly);
            this.passwordFieldPropertyChanged.isRequiredChanged = !ej2_base_2.isNullOrUndefined(passwordFieldSettings.isRequired);
            this.passwordFieldPropertyChanged.isValueChanged = !ej2_base_2.isNullOrUndefined(passwordFieldSettings.value);
            this.passwordFieldPropertyChanged.isBackgroundColorChanged = !ej2_base_2.isNullOrUndefined(passwordFieldSettings.backgroundColor);
            this.passwordFieldPropertyChanged.isBorderColorChanged = !ej2_base_2.isNullOrUndefined(passwordFieldSettings.borderColor);
            this.passwordFieldPropertyChanged.isAlignmentChanged = !ej2_base_2.isNullOrUndefined(passwordFieldSettings.alignment);
            this.passwordFieldPropertyChanged.isColorChanged = !ej2_base_2.isNullOrUndefined(passwordFieldSettings.color);
            this.passwordFieldPropertyChanged.isFontFamilyChanged = !ej2_base_2.isNullOrUndefined(passwordFieldSettings.fontFamily);
            this.passwordFieldPropertyChanged.isFontSizeChanged = !ej2_base_2.isNullOrUndefined(passwordFieldSettings.fontSize);
            this.passwordFieldPropertyChanged.isFontStyleChanged = !ej2_base_2.isNullOrUndefined(passwordFieldSettings.fontStyle);
            this.passwordFieldPropertyChanged.isNameChanged = !ej2_base_2.isNullOrUndefined(passwordFieldSettings.name);
            this.passwordFieldPropertyChanged.isToolTipChanged = !ej2_base_2.isNullOrUndefined(passwordFieldSettings.tooltip);
            this.passwordFieldPropertyChanged.isThicknessChanged = !ej2_base_2.isNullOrUndefined(passwordFieldSettings.thickness);
            this.passwordFieldPropertyChanged.isMaxLengthChanged = !ej2_base_2.isNullOrUndefined(passwordFieldSettings.maxLength);
            this.passwordFieldPropertyChanged.isVisibilityChanged = !ej2_base_2.isNullOrUndefined(passwordFieldSettings.visibility);
            this.passwordFieldPropertyChanged.isPrintChanged = !ej2_base_2.isNullOrUndefined(passwordFieldSettings.isPrint);
            this.passwordFieldPropertyChanged.isCustomDataChanged = !ej2_base_2.isNullOrUndefined(passwordFieldSettings.customData);
        };
        FormDesigner.prototype.updateCheckBoxFieldSettings = function (checkBoxFieldSettings) {
            this.checkBoxFieldPropertyChanged.isReadOnlyChanged = !ej2_base_2.isNullOrUndefined(checkBoxFieldSettings.isReadOnly);
            this.checkBoxFieldPropertyChanged.isRequiredChanged = !ej2_base_2.isNullOrUndefined(checkBoxFieldSettings.isRequired);
            this.checkBoxFieldPropertyChanged.isBackgroundColorChanged = !ej2_base_2.isNullOrUndefined(checkBoxFieldSettings.backgroundColor);
            this.checkBoxFieldPropertyChanged.isBorderColorChanged = !ej2_base_2.isNullOrUndefined(checkBoxFieldSettings.borderColor);
            this.checkBoxFieldPropertyChanged.isNameChanged = !ej2_base_2.isNullOrUndefined(checkBoxFieldSettings.name);
            this.checkBoxFieldPropertyChanged.isValueChanged = !ej2_base_2.isNullOrUndefined(checkBoxFieldSettings.value);
            this.checkBoxFieldPropertyChanged.isToolTipChanged = !ej2_base_2.isNullOrUndefined(checkBoxFieldSettings.tooltip);
            this.checkBoxFieldPropertyChanged.isThicknessChanged = !ej2_base_2.isNullOrUndefined(checkBoxFieldSettings.thickness);
            this.checkBoxFieldPropertyChanged.isVisibilityChanged = !ej2_base_2.isNullOrUndefined(checkBoxFieldSettings.visibility);
            this.checkBoxFieldPropertyChanged.isPrintChanged = !ej2_base_2.isNullOrUndefined(checkBoxFieldSettings.isPrint);
            this.checkBoxFieldPropertyChanged.isCheckedChanged = !ej2_base_2.isNullOrUndefined(checkBoxFieldSettings.isChecked);
            this.checkBoxFieldPropertyChanged.isCustomDataChanged = !ej2_base_2.isNullOrUndefined(checkBoxFieldSettings.customData);
        };
        FormDesigner.prototype.updateRadioButtonFieldSettings = function (radioButtonFieldSettings) {
            this.radioButtonFieldPropertyChanged.isReadOnlyChanged = !ej2_base_2.isNullOrUndefined(radioButtonFieldSettings.isReadOnly);
            this.radioButtonFieldPropertyChanged.isRequiredChanged = !ej2_base_2.isNullOrUndefined(radioButtonFieldSettings.isRequired);
            this.radioButtonFieldPropertyChanged.isBackgroundColorChanged = !ej2_base_2.isNullOrUndefined(radioButtonFieldSettings.backgroundColor);
            this.radioButtonFieldPropertyChanged.isBorderColorChanged = !ej2_base_2.isNullOrUndefined(radioButtonFieldSettings.borderColor);
            this.radioButtonFieldPropertyChanged.isNameChanged = !ej2_base_2.isNullOrUndefined(radioButtonFieldSettings.name);
            this.radioButtonFieldPropertyChanged.isValueChanged = !ej2_base_2.isNullOrUndefined(radioButtonFieldSettings.value);
            this.radioButtonFieldPropertyChanged.isToolTipChanged = !ej2_base_2.isNullOrUndefined(radioButtonFieldSettings.tooltip);
            this.radioButtonFieldPropertyChanged.isThicknessChanged = !ej2_base_2.isNullOrUndefined(radioButtonFieldSettings.thickness);
            this.radioButtonFieldPropertyChanged.isVisibilityChanged = !ej2_base_2.isNullOrUndefined(radioButtonFieldSettings.visibility);
            this.radioButtonFieldPropertyChanged.isPrintChanged = !ej2_base_2.isNullOrUndefined(radioButtonFieldSettings.isPrint);
            this.radioButtonFieldPropertyChanged.isSelectedChanged = !ej2_base_2.isNullOrUndefined(radioButtonFieldSettings.isSelected);
            this.radioButtonFieldPropertyChanged.isCustomDataChanged = !ej2_base_2.isNullOrUndefined(radioButtonFieldSettings.customData);
        };
        FormDesigner.prototype.updateDropDownFieldSettings = function (dropdownFieldSettings) {
            this.dropdownFieldPropertyChanged.isReadOnlyChanged = !ej2_base_2.isNullOrUndefined(dropdownFieldSettings.isReadOnly);
            this.dropdownFieldPropertyChanged.isRequiredChanged = !ej2_base_2.isNullOrUndefined(dropdownFieldSettings.isRequired);
            this.dropdownFieldPropertyChanged.isValueChanged = !ej2_base_2.isNullOrUndefined(dropdownFieldSettings.value);
            this.dropdownFieldPropertyChanged.isBackgroundColorChanged = !ej2_base_2.isNullOrUndefined(dropdownFieldSettings.backgroundColor);
            this.dropdownFieldPropertyChanged.isBorderColorChanged = !ej2_base_2.isNullOrUndefined(dropdownFieldSettings.borderColor);
            this.dropdownFieldPropertyChanged.isAlignmentChanged = !ej2_base_2.isNullOrUndefined(dropdownFieldSettings.alignment);
            this.dropdownFieldPropertyChanged.isColorChanged = !ej2_base_2.isNullOrUndefined(dropdownFieldSettings.color);
            this.dropdownFieldPropertyChanged.isFontFamilyChanged = !ej2_base_2.isNullOrUndefined(dropdownFieldSettings.fontFamily);
            this.dropdownFieldPropertyChanged.isFontSizeChanged = !ej2_base_2.isNullOrUndefined(dropdownFieldSettings.fontSize);
            this.dropdownFieldPropertyChanged.isFontStyleChanged = !ej2_base_2.isNullOrUndefined(dropdownFieldSettings.fontStyle);
            this.dropdownFieldPropertyChanged.isNameChanged = !ej2_base_2.isNullOrUndefined(dropdownFieldSettings.name);
            this.dropdownFieldPropertyChanged.isToolTipChanged = !ej2_base_2.isNullOrUndefined(dropdownFieldSettings.tooltip);
            this.dropdownFieldPropertyChanged.isThicknessChanged = !ej2_base_2.isNullOrUndefined(dropdownFieldSettings.thickness);
            this.dropdownFieldPropertyChanged.isVisibilityChanged = !ej2_base_2.isNullOrUndefined(dropdownFieldSettings.visibility);
            this.dropdownFieldPropertyChanged.isPrintChanged = !ej2_base_2.isNullOrUndefined(dropdownFieldSettings.isPrint);
            this.dropdownFieldPropertyChanged.isOptionChanged = !ej2_base_2.isNullOrUndefined(dropdownFieldSettings.options);
            this.dropdownFieldPropertyChanged.isCustomDataChanged = !ej2_base_2.isNullOrUndefined(dropdownFieldSettings.customData);
        };
        FormDesigner.prototype.updateListBoxFieldSettings = function (listBoxFieldSettings) {
            this.listBoxFieldPropertyChanged.isReadOnlyChanged = !ej2_base_2.isNullOrUndefined(listBoxFieldSettings.isReadOnly);
            this.listBoxFieldPropertyChanged.isRequiredChanged = !ej2_base_2.isNullOrUndefined(listBoxFieldSettings.isRequired);
            this.listBoxFieldPropertyChanged.isBackgroundColorChanged = !ej2_base_2.isNullOrUndefined(listBoxFieldSettings.backgroundColor);
            this.listBoxFieldPropertyChanged.isBorderColorChanged = !ej2_base_2.isNullOrUndefined(listBoxFieldSettings.borderColor);
            this.listBoxFieldPropertyChanged.isAlignmentChanged = !ej2_base_2.isNullOrUndefined(listBoxFieldSettings.alignment);
            this.listBoxFieldPropertyChanged.isColorChanged = !ej2_base_2.isNullOrUndefined(listBoxFieldSettings.color);
            this.listBoxFieldPropertyChanged.isFontFamilyChanged = !ej2_base_2.isNullOrUndefined(listBoxFieldSettings.fontFamily);
            this.listBoxFieldPropertyChanged.isFontSizeChanged = !ej2_base_2.isNullOrUndefined(listBoxFieldSettings.fontSize);
            this.listBoxFieldPropertyChanged.isFontStyleChanged = !ej2_base_2.isNullOrUndefined(listBoxFieldSettings.fontStyle);
            this.listBoxFieldPropertyChanged.isNameChanged = !ej2_base_2.isNullOrUndefined(listBoxFieldSettings.name);
            this.listBoxFieldPropertyChanged.isToolTipChanged = !ej2_base_2.isNullOrUndefined(listBoxFieldSettings.tooltip);
            this.listBoxFieldPropertyChanged.isThicknessChanged = !ej2_base_2.isNullOrUndefined(listBoxFieldSettings.thickness);
            this.listBoxFieldPropertyChanged.isVisibilityChanged = !ej2_base_2.isNullOrUndefined(listBoxFieldSettings.visibility);
            this.listBoxFieldPropertyChanged.isPrintChanged = !ej2_base_2.isNullOrUndefined(listBoxFieldSettings.isPrint);
            this.listBoxFieldPropertyChanged.isOptionChanged = !ej2_base_2.isNullOrUndefined(listBoxFieldSettings.options);
            this.listBoxFieldPropertyChanged.isCustomDataChanged = !ej2_base_2.isNullOrUndefined(listBoxFieldSettings.customData);
        };
        FormDesigner.prototype.getFontStyleName = function (fontStyle, drawingObject) {
            var fontStyleName = 'None';
            if (fontStyle === 1) {
                drawingObject.font.isBold = true;
                fontStyleName = 'Bold';
            }
            if (fontStyle === 2) {
                drawingObject.font.isItalic = true;
                fontStyleName = 'Italic';
            }
            if (fontStyle === 3) {
                drawingObject.font.isBold = true;
                drawingObject.font.isItalic = true;
                fontStyleName = 'Bold Italic';
            }
            if (fontStyle === 4) {
                drawingObject.font.isUnderline = true;
                fontStyleName = 'Underline';
            }
            if (fontStyle === 5) {
                drawingObject.font.isBold = true;
                drawingObject.font.isUnderline = true;
                fontStyleName = 'Bold Underline';
            }
            if (fontStyle === 6) {
                drawingObject.font.isUnderline = true;
                drawingObject.font.isItalic = true;
                fontStyleName = 'Underline Italic';
            }
            if (fontStyle === 7) {
                drawingObject.font.isBold = true;
                drawingObject.font.isItalic = true;
                drawingObject.font.isUnderline = true;
                fontStyleName = 'Bold Italic Underline';
            }
            if (fontStyle === 8) {
                drawingObject.font.isStrikeout = true;
                fontStyleName = 'Strikethrough';
            }
            if (fontStyle === 9) {
                drawingObject.font.isBold = true;
                drawingObject.font.isStrikeout = true;
                fontStyleName = 'Bold Strikethrough';
            }
            if (fontStyle === 10) {
                drawingObject.font.isItalic = true;
                drawingObject.font.isStrikeout = true;
                fontStyleName = 'Italic Strikethrough';
            }
            if (fontStyle === 11) {
                drawingObject.font.isBold = true;
                drawingObject.font.isItalic = true;
                drawingObject.font.isStrikeout = true;
                fontStyleName = 'Bold Italic Strikethrough';
            }
            if (fontStyle === 12) {
                drawingObject.font.isUnderline = true;
                drawingObject.font.isStrikeout = true;
                fontStyleName = 'Underline Strikethrough';
            }
            if (fontStyle === 13) {
                drawingObject.font.isBold = true;
                drawingObject.font.isUnderline = true;
                drawingObject.font.isStrikeout = true;
                fontStyleName = 'Bold Underline Strikethrough';
            }
            if (fontStyle === 14) {
                drawingObject.font.isItalic = true;
                drawingObject.font.isUnderline = true;
                drawingObject.font.isStrikeout = true;
                fontStyleName = 'Italic Underline Strikethrough';
            }
            if (fontStyle === 15) {
                drawingObject.font.isBold = true;
                drawingObject.font.isItalic = true;
                drawingObject.font.isUnderline = true;
                drawingObject.font.isStrikeout = true;
                fontStyleName = 'Bold Italic Underline Strikethrough';
            }
            return fontStyleName;
        };
        FormDesigner.prototype.getAlignment = function (alignment) {
            var align;
            if (alignment === 'left') {
                align = 'left';
            }
            else if (alignment === 'right') {
                align = 'right';
            }
            else if (alignment === 'center') {
                align = 'center';
            }
            this.formFieldAlign = align;
        };
        FormDesigner.prototype.getFontStyle = function (font) {
            if (font.isBold) {
                this.formFieldBold = 'bold';
            }
            else {
                this.formFieldBold = 'normal';
            }
            if (font.isItalic) {
                this.formFieldItalic = 'italic';
            }
            else {
                this.formFieldItalic = 'normal';
            }
            if (font.isUnderline) {
                this.formFieldUnderline = 'underline';
            }
            else {
                this.formFieldUnderline = 'none';
            }
            if (font.isStrikeout) {
                this.formFieldStrikeOut = 'line-through';
            }
            else {
                this.formFieldStrikeOut = 'none';
            }
        };
        return FormDesigner;
    }());
    exports.FormDesigner = FormDesigner;
});