Deployed 91a7ae76 to 6.0 with MkDocs 1.4.2 and mike 1.1.2
[GitHub/WoltLab/woltlab.github.io.git] / 6.0 / migration / wsc55 / javascript / index.html
CommitLineData
9aa5da67
WG
1
2<!doctype html>
3<html lang="en" class="no-js">
4 <head>
5
6 <meta charset="utf-8">
7 <meta name="viewport" content="width=device-width,initial-scale=1">
8
9
10
11 <link rel="canonical" href="https://docs.woltlab.com/6.0/migration/wsc55/javascript/">
12
e02609d6
WG
13
14 <link rel="prev" href="../php/">
15
16
17 <link rel="next" href="../templates/">
18
9aa5da67 19 <link rel="icon" href="../../../assets/default.favicon.ico">
51b70eee 20 <meta name="generator" content="mkdocs-1.4.2, mkdocs-material-9.0.9">
9aa5da67
WG
21
22
23
24 <title>TypeScript and JavaScript - WoltLab Suite Documentation</title>
25
26
27
51b70eee 28 <link rel="stylesheet" href="../../../assets/stylesheets/main.0d440cfe.min.css">
9aa5da67
WG
29
30
9dcab59a 31 <link rel="stylesheet" href="../../../assets/stylesheets/palette.2505c338.min.css">
9aa5da67
WG
32
33
7f9945cf 34
9aa5da67
WG
35
36
37
38
39
40
41 <link rel="stylesheet" href="../../../stylesheets/extra.css">
42
a06fd3b1 43 <script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
9aa5da67
WG
44
45
46
47
48
7f9945cf 49
9aa5da67
WG
50 </head>
51
52
53
54
55
56
57
0fabd353 58 <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="teal" data-md-color-accent="">
9aa5da67
WG
59
60
61
62 <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
63 <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
64 <label class="md-overlay" for="__drawer"></label>
65 <div data-md-component="skip">
66
67
68 <a href="#migrating-from-woltlab-suite-55-typescript-and-javascript" class="md-skip">
69 Skip to content
70 </a>
71
72 </div>
73 <div data-md-component="announce">
74
75 <aside class="md-banner">
76 <div class="md-banner__inner md-grid md-typeset">
77
a06fd3b1 78
9aa5da67
WG
79 <a href="https://www.woltlab.com">Back to <strong>woltlab.com</strong></a>
80
81 </div>
a06fd3b1 82
9aa5da67
WG
83 </aside>
84
85 </div>
86
87 <div data-md-component="outdated" hidden>
a06fd3b1 88
9aa5da67
WG
89 </div>
90
91
92
93
94<header class="md-header" data-md-component="header">
95 <nav class="md-header__inner md-grid" aria-label="Header">
96 <a href="../../.." title="WoltLab Suite Documentation" class="md-header__button md-logo" aria-label="WoltLab Suite Documentation" data-md-component="logo">
97
98 <img src="../../../assets/logo.png" alt="logo">
99
100 </a>
101 <label class="md-header__button md-icon" for="__drawer">
102 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
103 </label>
104 <div class="md-header__title" data-md-component="header-title">
105 <div class="md-header__ellipsis">
106 <div class="md-header__topic">
107 <span class="md-ellipsis">
108 WoltLab Suite Documentation
109 </span>
110 </div>
111 <div class="md-header__topic" data-md-component="header-topic">
112 <span class="md-ellipsis">
113
114 TypeScript and JavaScript
115
116 </span>
117 </div>
118 </div>
119 </div>
120
121
122
123 <label class="md-header__button md-icon" for="__search">
124 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
125 </label>
126 <div class="md-search" data-md-component="search" role="dialog">
127 <label class="md-search__overlay" for="__search"></label>
128 <div class="md-search__inner" role="search">
129 <form class="md-search__form" name="search">
130 <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
131 <label class="md-search__icon md-icon" for="__search">
132 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
133 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
134 </label>
135 <nav class="md-search__options" aria-label="Search">
136
7f9945cf 137 <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
9aa5da67
WG
138 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
139 </button>
140 </nav>
141
142 </form>
143 <div class="md-search__output">
144 <div class="md-search__scrollwrap" data-md-scrollfix>
145 <div class="md-search-result" data-md-component="search-result">
146 <div class="md-search-result__meta">
147 Initializing search
148 </div>
7b2c751c 149 <ol class="md-search-result__list" role="presentation"></ol>
9aa5da67
WG
150 </div>
151 </div>
152 </div>
153 </div>
154</div>
155
156
157 <div class="md-header__source">
158 <a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
159 <div class="md-source__icon md-icon">
160
9dcab59a 161 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
9aa5da67
WG
162 </div>
163 <div class="md-source__repository">
164 GitHub
165 </div>
166</a>
167 </div>
168
169 </nav>
170
171</header>
172
173 <div class="md-container" data-md-component="container">
174
175
176
177
178
179
180 <main class="md-main" data-md-component="main">
181 <div class="md-main__inner md-grid">
182
183
184
185 <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
186 <div class="md-sidebar__scrollwrap">
187 <div class="md-sidebar__inner">
188
189
190
191<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
192 <label class="md-nav__title" for="__drawer">
193 <a href="../../.." title="WoltLab Suite Documentation" class="md-nav__button md-logo" aria-label="WoltLab Suite Documentation" data-md-component="logo">
194
195 <img src="../../../assets/logo.png" alt="logo">
196
197 </a>
198 WoltLab Suite Documentation
199 </label>
200
201 <div class="md-nav__source">
202 <a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
203 <div class="md-source__icon md-icon">
204
9dcab59a 205 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
9aa5da67
WG
206 </div>
207 <div class="md-source__repository">
208 GitHub
209 </div>
210</a>
211 </div>
212
213 <ul class="md-nav__list" data-md-scrollfix>
214
215
216
217
218
219
220
221
222 <li class="md-nav__item">
223 <a href="../../../getting-started/" class="md-nav__link">
224 Getting Started
225 </a>
226 </li>
227
228
229
230
231
232
233
234
235
236
237
238 <li class="md-nav__item md-nav__item--nested">
239
240
9aa5da67
WG
241
242
51b70eee 243 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
e02609d6 244
9aa5da67
WG
245
246
51b70eee 247 <label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
9aa5da67
WG
248 PHP API
249 <span class="md-nav__icon md-icon"></span>
250 </label>
251
51b70eee 252 <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
9aa5da67
WG
253 <label class="md-nav__title" for="__nav_2">
254 <span class="md-nav__icon md-icon"></span>
255 PHP API
256 </label>
257 <ul class="md-nav__list" data-md-scrollfix>
258
259
260
261
262
263
264 <li class="md-nav__item">
265 <a href="../../../php/pages/" class="md-nav__link">
266 Pages
267 </a>
268 </li>
269
270
271
272
273
274
275
276
277
278 <li class="md-nav__item">
279 <a href="../../../php/database-objects/" class="md-nav__link">
280 Database Objects
281 </a>
282 </li>
283
284
285
286
287
288
289
290
291
292 <li class="md-nav__item">
293 <a href="../../../php/database-access/" class="md-nav__link">
294 Database Access
295 </a>
296 </li>
297
298
299
300
301
302
303
304
305
306 <li class="md-nav__item">
307 <a href="../../../php/exceptions/" class="md-nav__link">
308 Exceptions
309 </a>
310 </li>
311
312
313
314
315
316
317
318
319
320
321 <li class="md-nav__item md-nav__item--nested">
322
323
9aa5da67
WG
324
325
51b70eee 326 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5" >
e02609d6 327
9aa5da67
WG
328
329
51b70eee 330 <label class="md-nav__link" for="__nav_2_5" id="__nav_2_5_label" tabindex="0">
9aa5da67
WG
331 API
332 <span class="md-nav__icon md-icon"></span>
333 </label>
334
51b70eee 335 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_5_label" aria-expanded="false">
9aa5da67
WG
336 <label class="md-nav__title" for="__nav_2_5">
337 <span class="md-nav__icon md-icon"></span>
338 API
339 </label>
340 <ul class="md-nav__list" data-md-scrollfix>
341
342
343
344
345
346
347
348 <li class="md-nav__item md-nav__item--nested">
349
350
9aa5da67
WG
351
352
51b70eee 353 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5_1" >
9aa5da67
WG
354
355
e02609d6 356
51b70eee 357 <label class="md-nav__link" for="__nav_2_5_1" id="__nav_2_5_1_label" tabindex="0">
9aa5da67
WG
358 Caches
359 <span class="md-nav__icon md-icon"></span>
360 </label>
361
51b70eee 362 <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_5_1_label" aria-expanded="false">
9aa5da67
WG
363 <label class="md-nav__title" for="__nav_2_5_1">
364 <span class="md-nav__icon md-icon"></span>
365 Caches
366 </label>
367 <ul class="md-nav__list" data-md-scrollfix>
368
369
370
371
372
373
374 <li class="md-nav__item">
375 <a href="../../../php/api/caches/" class="md-nav__link">
376 Overview
377 </a>
378 </li>
379
380
381
382
383
384
385
386
387
388 <li class="md-nav__item">
389 <a href="../../../php/api/caches_persistent-caches/" class="md-nav__link">
390 Persistent Caches
391 </a>
392 </li>
393
394
395
396
397
398
399
400
401
402 <li class="md-nav__item">
403 <a href="../../../php/api/caches_runtime-caches/" class="md-nav__link">
404 Runtime Caches
405 </a>
406 </li>
407
408
409
410
411 </ul>
412 </nav>
413 </li>
414
415
416
417
418
419
420
421
422
423 <li class="md-nav__item">
424 <a href="../../../php/api/comments/" class="md-nav__link">
425 Comments
426 </a>
427 </li>
428
429
430
431
432
433
434
435
436
437 <li class="md-nav__item">
438 <a href="../../../php/api/cronjobs/" class="md-nav__link">
439 Cronjobs
440 </a>
441 </li>
442
443
444
445
446
447
448
449
450
451 <li class="md-nav__item">
452 <a href="../../../php/api/events/" class="md-nav__link">
453 Events
454 </a>
455 </li>
456
457
458
459
460
461
462
463
464
465
466 <li class="md-nav__item md-nav__item--nested">
467
468
9aa5da67
WG
469
470
51b70eee 471 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5_5" >
e02609d6 472
9aa5da67
WG
473
474
51b70eee 475 <label class="md-nav__link" for="__nav_2_5_5" id="__nav_2_5_5_label" tabindex="0">
9aa5da67
WG
476 Form Builder
477 <span class="md-nav__icon md-icon"></span>
478 </label>
479
51b70eee 480 <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_5_5_label" aria-expanded="false">
9aa5da67
WG
481 <label class="md-nav__title" for="__nav_2_5_5">
482 <span class="md-nav__icon md-icon"></span>
483 Form Builder
484 </label>
485 <ul class="md-nav__list" data-md-scrollfix>
486
487
488
489
490
491
492 <li class="md-nav__item">
493 <a href="../../../php/api/form_builder/overview/" class="md-nav__link">
494 Overview
495 </a>
496 </li>
497
498
499
500
501
502
503
504
505
506 <li class="md-nav__item">
507 <a href="../../../php/api/form_builder/structure/" class="md-nav__link">
508 Structure
509 </a>
510 </li>
511
512
513
514
515
516
517
518
519
520 <li class="md-nav__item">
521 <a href="../../../php/api/form_builder/form_fields/" class="md-nav__link">
522 Fields
523 </a>
524 </li>
525
526
527
528
529
530
531
532
533
534 <li class="md-nav__item">
535 <a href="../../../php/api/form_builder/validation_data/" class="md-nav__link">
536 Validation and Data
537 </a>
538 </li>
539
540
541
542
543
544
545
546
547
548 <li class="md-nav__item">
549 <a href="../../../php/api/form_builder/dependencies/" class="md-nav__link">
550 Dependencies
551 </a>
552 </li>
553
554
555
556
557 </ul>
558 </nav>
559 </li>
560
561
562
563
564
565
566
567
568
569 <li class="md-nav__item">
570 <a href="../../../php/api/package_installation_plugins/" class="md-nav__link">
571 Package Installation Plugins
572 </a>
573 </li>
574
575
576
577
578
579
580
581
582
583 <li class="md-nav__item">
584 <a href="../../../php/api/user_activity_points/" class="md-nav__link">
585 User Activity Points
586 </a>
587 </li>
588
589
590
591
592
593
594
595
596
597 <li class="md-nav__item">
598 <a href="../../../php/api/user_notifications/" class="md-nav__link">
599 User Notifications
600 </a>
601 </li>
602
603
604
605
606
607
608
609
610
611 <li class="md-nav__item">
612 <a href="../../../php/api/sitemaps/" class="md-nav__link">
613 Sitemaps
614 </a>
615 </li>
616
617
618
619
620 </ul>
621 </nav>
622 </li>
623
624
625
626
627
628
629
630
631
632 <li class="md-nav__item">
633 <a href="../../../php/code-style/" class="md-nav__link">
634 Code Style
635 </a>
636 </li>
637
638
639
640
641
642
643
644
645
646 <li class="md-nav__item">
647 <a href="../../../php/apps/" class="md-nav__link">
648 Apps
649 </a>
650 </li>
651
652
653
654
655
656
657
658
659
660 <li class="md-nav__item">
661 <a href="../../../php/gdpr/" class="md-nav__link">
662 GDPR
663 </a>
664 </li>
665
666
667
668
669 </ul>
670 </nav>
671 </li>
672
673
674
675
676
677
678
679
680
681
682
683 <li class="md-nav__item md-nav__item--nested">
684
685
9aa5da67
WG
686
687
51b70eee 688 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
e02609d6 689
9aa5da67
WG
690
691
51b70eee 692 <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
9aa5da67
WG
693 Languages, Templates & CSS
694 <span class="md-nav__icon md-icon"></span>
695 </label>
696
51b70eee 697 <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
9aa5da67
WG
698 <label class="md-nav__title" for="__nav_3">
699 <span class="md-nav__icon md-icon"></span>
700 Languages, Templates & CSS
701 </label>
702 <ul class="md-nav__list" data-md-scrollfix>
703
704
705
706
707
708
709 <li class="md-nav__item">
710 <a href="../../../view/languages/" class="md-nav__link">
711 Languages
712 </a>
713 </li>
714
715
716
717
718
719
720
721
722
723 <li class="md-nav__item">
724 <a href="../../../view/templates/" class="md-nav__link">
725 Templates
726 </a>
727 </li>
728
729
730
731
732
733
734
735
736
737 <li class="md-nav__item">
738 <a href="../../../view/template-plugins/" class="md-nav__link">
739 Template Plugins
740 </a>
741 </li>
742
743
744
745
746
747
748
749
750
751 <li class="md-nav__item">
752 <a href="../../../view/css/" class="md-nav__link">
753 CSS
754 </a>
755 </li>
756
757
758
759
760 </ul>
761 </nav>
762 </li>
763
764
765
766
767
768
769
770
771
772
773
774 <li class="md-nav__item md-nav__item--nested">
775
776
9aa5da67
WG
777
778
51b70eee 779 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
9aa5da67
WG
780
781
e02609d6 782
51b70eee 783 <label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
9aa5da67
WG
784 TypeScript and JavaScript API
785 <span class="md-nav__icon md-icon"></span>
786 </label>
787
51b70eee 788 <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
9aa5da67
WG
789 <label class="md-nav__title" for="__nav_4">
790 <span class="md-nav__icon md-icon"></span>
791 TypeScript and JavaScript API
792 </label>
793 <ul class="md-nav__list" data-md-scrollfix>
794
795
796
797
798
799
800 <li class="md-nav__item">
801 <a href="../../../javascript/general-usage/" class="md-nav__link">
802 General Usage
803 </a>
804 </li>
805
806
807
808
809
810
811
812
813
814 <li class="md-nav__item">
815 <a href="../../../javascript/typescript/" class="md-nav__link">
816 TypeScript
817 </a>
818 </li>
819
820
821
822
823
824
825
826
827
828
829 <li class="md-nav__item md-nav__item--nested">
830
831
9aa5da67
WG
832
833
51b70eee 834 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3" >
e02609d6 835
9aa5da67
WG
836
837
51b70eee 838 <label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
9f399714
WG
839 Components
840 <span class="md-nav__icon md-icon"></span>
841 </label>
842
51b70eee 843 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
9f399714
WG
844 <label class="md-nav__title" for="__nav_4_3">
845 <span class="md-nav__icon md-icon"></span>
846 Components
847 </label>
848 <ul class="md-nav__list" data-md-scrollfix>
849
850
851
852
853
854
855 <li class="md-nav__item">
856 <a href="../../../javascript/components_confirmation/" class="md-nav__link">
857 Confirmation
858 </a>
859 </li>
860
861
862
863
864
865
866
867
868
869 <li class="md-nav__item">
870 <a href="../../../javascript/components_dialog/" class="md-nav__link">
871 Dialog
872 </a>
873 </li>
874
875
876
877
f2d0508c
WG
878
879
880
881
882
816a45a9
WG
883 <li class="md-nav__item">
884 <a href="../../../javascript/components_google_maps/" class="md-nav__link">
885 Google Maps
886 </a>
887 </li>
888
889
890
891
892
893
894
895
896
f2d0508c
WG
897 <li class="md-nav__item">
898 <a href="../../../javascript/components_pagination/" class="md-nav__link">
899 Pagination
900 </a>
901 </li>
902
903
904
905
9f399714
WG
906 </ul>
907 </nav>
908 </li>
909
910
911
912
913
914
915
916
917
918
919 <li class="md-nav__item md-nav__item--nested">
920
921
9f399714
WG
922
923
51b70eee 924 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4" >
e02609d6 925
9f399714
WG
926
927
51b70eee 928 <label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
9aa5da67
WG
929 New API
930 <span class="md-nav__icon md-icon"></span>
931 </label>
932
51b70eee 933 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
9f399714 934 <label class="md-nav__title" for="__nav_4_4">
9aa5da67
WG
935 <span class="md-nav__icon md-icon"></span>
936 New API
937 </label>
938 <ul class="md-nav__list" data-md-scrollfix>
939
940
941
942
943
944
945 <li class="md-nav__item">
946 <a href="../../../javascript/new-api_writing-a-module/" class="md-nav__link">
947 Writing a module
948 </a>
949 </li>
950
951
952
953
954
955
956
957
958
9aa5da67
WG
959 <li class="md-nav__item">
960 <a href="../../../javascript/new-api_core/" class="md-nav__link">
961 Core Functions
962 </a>
963 </li>
964
965
966
967
968
969
970
971
972
973 <li class="md-nav__item">
974 <a href="../../../javascript/new-api_dom/" class="md-nav__link">
975 DOM
976 </a>
977 </li>
978
979
980
981
982
983
984
985
986
987 <li class="md-nav__item">
988 <a href="../../../javascript/new-api_events/" class="md-nav__link">
989 Event Handling
990 </a>
991 </li>
992
993
994
995
996
997
998
999
1000
1001 <li class="md-nav__item">
1002 <a href="../../../javascript/new-api_ajax/" class="md-nav__link">
1003 Ajax
1004 </a>
1005 </li>
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015 <li class="md-nav__item">
1016 <a href="../../../javascript/new-api_dialogs/" class="md-nav__link">
1017 Dialogs
1018 </a>
1019 </li>
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029 <li class="md-nav__item">
1030 <a href="../../../javascript/new-api_browser/" class="md-nav__link">
1031 Browser and Screen Sizes
1032 </a>
1033 </li>
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043 <li class="md-nav__item">
1044 <a href="../../../javascript/new-api_ui/" class="md-nav__link">
1045 User Interface
1046 </a>
1047 </li>
1048
1049
1050
1051
1052 </ul>
1053 </nav>
1054 </li>
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064 <li class="md-nav__item">
1065 <a href="../../../javascript/legacy-api/" class="md-nav__link">
1066 Legacy API
1067 </a>
1068 </li>
1069
1070
1071
1072
1073
1074
1075
1076
1077
9aa5da67
WG
1078 <li class="md-nav__item">
1079 <a href="../../../javascript/code-snippets/" class="md-nav__link">
1080 Code Snippets
1081 </a>
1082 </li>
1083
1084
1085
1086
1087 </ul>
1088 </nav>
1089 </li>
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101 <li class="md-nav__item md-nav__item--nested">
1102
1103
9aa5da67
WG
1104
1105
51b70eee 1106 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
9aa5da67
WG
1107
1108
e02609d6 1109
51b70eee 1110 <label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
9aa5da67
WG
1111 Package Components
1112 <span class="md-nav__icon md-icon"></span>
1113 </label>
1114
51b70eee 1115 <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
9aa5da67
WG
1116 <label class="md-nav__title" for="__nav_5">
1117 <span class="md-nav__icon md-icon"></span>
1118 Package Components
1119 </label>
1120 <ul class="md-nav__list" data-md-scrollfix>
1121
1122
1123
1124
1125
1126
1127 <li class="md-nav__item">
1128 <a href="../../../package/package-xml/" class="md-nav__link">
1129 package.xml
1130 </a>
1131 </li>
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142 <li class="md-nav__item md-nav__item--nested">
1143
1144
9aa5da67
WG
1145
1146
51b70eee 1147 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_2" >
e02609d6 1148
9aa5da67
WG
1149
1150
51b70eee 1151 <label class="md-nav__link" for="__nav_5_2" id="__nav_5_2_label" tabindex="0">
9aa5da67
WG
1152 PIPs
1153 <span class="md-nav__icon md-icon"></span>
1154 </label>
1155
51b70eee 1156 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_2_label" aria-expanded="false">
9aa5da67
WG
1157 <label class="md-nav__title" for="__nav_5_2">
1158 <span class="md-nav__icon md-icon"></span>
1159 PIPs
1160 </label>
1161 <ul class="md-nav__list" data-md-scrollfix>
1162
1163
1164
1165
1166
1167
1168 <li class="md-nav__item">
1169 <a href="../../../package/pip/" class="md-nav__link">
1170 Overview
1171 </a>
1172 </li>
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182 <li class="md-nav__item">
1183 <a href="../../../package/pip/acl-option/" class="md-nav__link">
1184 aclOption
1185 </a>
1186 </li>
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196 <li class="md-nav__item">
1197 <a href="../../../package/pip/acp-menu/" class="md-nav__link">
1198 acpMenu
1199 </a>
1200 </li>
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210 <li class="md-nav__item">
1211 <a href="../../../package/pip/acp-search-provider/" class="md-nav__link">
1212 acpSearchProvider
1213 </a>
1214 </li>
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224 <li class="md-nav__item">
1225 <a href="../../../package/pip/acp-template/" class="md-nav__link">
1226 acpTemplate
1227 </a>
1228 </li>
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238 <li class="md-nav__item">
1239 <a href="../../../package/pip/acp-template-delete/" class="md-nav__link">
1240 acpTemplateDelete
1241 </a>
1242 </li>
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252 <li class="md-nav__item">
1253 <a href="../../../package/pip/bbcode/" class="md-nav__link">
1254 bbcode
1255 </a>
1256 </li>
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266 <li class="md-nav__item">
1267 <a href="../../../package/pip/box/" class="md-nav__link">
1268 box
1269 </a>
1270 </li>
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280 <li class="md-nav__item">
1281 <a href="../../../package/pip/clipboard-action/" class="md-nav__link">
1282 clipboardAction
1283 </a>
1284 </li>
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294 <li class="md-nav__item">
1295 <a href="../../../package/pip/core-object/" class="md-nav__link">
1296 coreObject
1297 </a>
1298 </li>
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308 <li class="md-nav__item">
1309 <a href="../../../package/pip/cronjob/" class="md-nav__link">
1310 cronjob
1311 </a>
1312 </li>
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322 <li class="md-nav__item">
1323 <a href="../../../package/pip/database/" class="md-nav__link">
1324 database
1325 </a>
1326 </li>
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336 <li class="md-nav__item">
1337 <a href="../../../package/pip/event-listener/" class="md-nav__link">
1338 eventListener
1339 </a>
1340 </li>
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350 <li class="md-nav__item">
1351 <a href="../../../package/pip/file/" class="md-nav__link">
1352 file
1353 </a>
1354 </li>
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364 <li class="md-nav__item">
1365 <a href="../../../package/pip/file-delete/" class="md-nav__link">
1366 fileDelete
1367 </a>
1368 </li>
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378 <li class="md-nav__item">
1379 <a href="../../../package/pip/language/" class="md-nav__link">
1380 language
1381 </a>
1382 </li>
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392 <li class="md-nav__item">
1393 <a href="../../../package/pip/media-provider/" class="md-nav__link">
1394 mediaProvider
1395 </a>
1396 </li>
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406 <li class="md-nav__item">
1407 <a href="../../../package/pip/menu/" class="md-nav__link">
1408 menu
1409 </a>
1410 </li>
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420 <li class="md-nav__item">
1421 <a href="../../../package/pip/menu-item/" class="md-nav__link">
1422 menuItem
1423 </a>
1424 </li>
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434 <li class="md-nav__item">
1435 <a href="../../../package/pip/object-type/" class="md-nav__link">
1436 objectType
1437 </a>
1438 </li>
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448 <li class="md-nav__item">
1449 <a href="../../../package/pip/object-type-definition/" class="md-nav__link">
1450 objectTypeDefinition
1451 </a>
1452 </li>
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462 <li class="md-nav__item">
1463 <a href="../../../package/pip/option/" class="md-nav__link">
1464 option
1465 </a>
1466 </li>
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476 <li class="md-nav__item">
1477 <a href="../../../package/pip/page/" class="md-nav__link">
1478 page
1479 </a>
1480 </li>
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490 <li class="md-nav__item">
1491 <a href="../../../package/pip/pip/" class="md-nav__link">
1492 pip
1493 </a>
1494 </li>
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504 <li class="md-nav__item">
1505 <a href="../../../package/pip/script/" class="md-nav__link">
1506 script
1507 </a>
1508 </li>
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518 <li class="md-nav__item">
1519 <a href="../../../package/pip/smiley/" class="md-nav__link">
1520 smiley
1521 </a>
1522 </li>
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532 <li class="md-nav__item">
1533 <a href="../../../package/pip/sql/" class="md-nav__link">
1534 sql
1535 </a>
1536 </li>
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546 <li class="md-nav__item">
1547 <a href="../../../package/pip/style/" class="md-nav__link">
1548 style
1549 </a>
1550 </li>
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560 <li class="md-nav__item">
1561 <a href="../../../package/pip/template/" class="md-nav__link">
1562 template
1563 </a>
1564 </li>
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574 <li class="md-nav__item">
1575 <a href="../../../package/pip/template-delete/" class="md-nav__link">
1576 templateDelete
1577 </a>
1578 </li>
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588 <li class="md-nav__item">
1589 <a href="../../../package/pip/template-listener/" class="md-nav__link">
1590 templateListener
1591 </a>
1592 </li>
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602 <li class="md-nav__item">
1603 <a href="../../../package/pip/user-group-option/" class="md-nav__link">
1604 userGroupOption
1605 </a>
1606 </li>
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616 <li class="md-nav__item">
1617 <a href="../../../package/pip/user-menu/" class="md-nav__link">
1618 userMenu
1619 </a>
1620 </li>
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630 <li class="md-nav__item">
1631 <a href="../../../package/pip/user-notification-event/" class="md-nav__link">
1632 userNotificationEvent
1633 </a>
1634 </li>
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644 <li class="md-nav__item">
1645 <a href="../../../package/pip/user-option/" class="md-nav__link">
1646 userOption
1647 </a>
1648 </li>
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658 <li class="md-nav__item">
1659 <a href="../../../package/pip/user-profile-menu/" class="md-nav__link">
1660 userProfileMenu
1661 </a>
1662 </li>
1663
1664
1665
1666
1667 </ul>
1668 </nav>
1669 </li>
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679 <li class="md-nav__item">
1680 <a href="../../../package/database-php-api/" class="md-nav__link">
1681 Database PHP API
1682 </a>
1683 </li>
1684
1685
1686
1687
1688 </ul>
1689 </nav>
1690 </li>
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
1705
1706
9aa5da67
WG
1707
1708
51b70eee 1709 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
e02609d6 1710
9aa5da67
WG
1711
1712
51b70eee 1713 <label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
9aa5da67
WG
1714 Migration
1715 <span class="md-nav__icon md-icon"></span>
1716 </label>
1717
51b70eee 1718 <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
9aa5da67
WG
1719 <label class="md-nav__title" for="__nav_6">
1720 <span class="md-nav__icon md-icon"></span>
1721 Migration
1722 </label>
1723 <ul class="md-nav__list" data-md-scrollfix>
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
1734
1735
9aa5da67
WG
1736
1737
51b70eee 1738 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_1" checked>
9aa5da67
WG
1739
1740
e02609d6 1741
51b70eee 1742 <label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
9aa5da67
WG
1743 From WoltLab Suite 5.5
1744 <span class="md-nav__icon md-icon"></span>
1745 </label>
1746
51b70eee 1747 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="true">
9aa5da67
WG
1748 <label class="md-nav__title" for="__nav_6_1">
1749 <span class="md-nav__icon md-icon"></span>
1750 From WoltLab Suite 5.5
1751 </label>
1752 <ul class="md-nav__list" data-md-scrollfix>
1753
1754
1755
1756
1757
1758
1759 <li class="md-nav__item">
1760 <a href="../php/" class="md-nav__link">
1761 PHP API
1762 </a>
1763 </li>
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775 <li class="md-nav__item md-nav__item--active">
1776
51b70eee 1777 <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
9aa5da67
WG
1778
1779
1780
1781
1782
1783 <label class="md-nav__link md-nav__link--active" for="__toc">
1784 TypeScript and JavaScript
1785 <span class="md-nav__icon md-icon"></span>
1786 </label>
1787
1788 <a href="./" class="md-nav__link md-nav__link--active">
1789 TypeScript and JavaScript
1790 </a>
1791
1792
1793
1794<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1795
1796
1797
1798
1799
1800
1801 <label class="md-nav__title" for="__toc">
1802 <span class="md-nav__icon md-icon"></span>
1803 Table of contents
1804 </label>
1805 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1806
1807 <li class="md-nav__item">
1808 <a href="#minimum-requirements" class="md-nav__link">
1809 Minimum requirements
1810 </a>
1811
b2915b65
WG
1812</li>
1813
1814 <li class="md-nav__item">
1815 <a href="#subscribe-button-wcfuserobjectwatchsubscribe" class="md-nav__link">
1816 Subscribe Button (WCF.User.ObjectWatch.Subscribe)
1817 </a>
1818
1441d84b
WG
1819</li>
1820
1821 <li class="md-nav__item">
1822 <a href="#support-for-legacy-inheritance" class="md-nav__link">
1823 Support for Legacy Inheritance
1824 </a>
1825
9aa5da67
WG
1826</li>
1827
1828 </ul>
1829
1830</nav>
1831
1832 </li>
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842 <li class="md-nav__item">
1843 <a href="../templates/" class="md-nav__link">
1844 Templates
1845 </a>
1846 </li>
1847
1848
1849
1850
1851
1852
1853
1854
1855
024038ef
WG
1856 <li class="md-nav__item">
1857 <a href="../icons/" class="md-nav__link">
1858 Icons
1859 </a>
1860 </li>
1861
1862
1863
1864
1865
1866
1867
1868
1869
6d611e8a
WG
1870 <li class="md-nav__item">
1871 <a href="../dialogs/" class="md-nav__link">
1872 Dialogs
1873 </a>
1874 </li>
1875
1876
1877
1878
1879
1880
1881
1882
1883
9aa5da67
WG
1884 <li class="md-nav__item">
1885 <a href="../libraries/" class="md-nav__link">
1886 Third Party Libraries
1887 </a>
1888 </li>
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898 <li class="md-nav__item">
1899 <a href="../deprecations_removals/" class="md-nav__link">
1900 Deprecations and Removals
1901 </a>
1902 </li>
1903
1904
1905
1906
1907 </ul>
1908 </nav>
1909 </li>
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920 <li class="md-nav__item md-nav__item--nested">
1921
1922
9aa5da67
WG
1923
1924
51b70eee 1925 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2" >
e02609d6 1926
9aa5da67
WG
1927
1928
51b70eee 1929 <label class="md-nav__link" for="__nav_6_2" id="__nav_6_2_label" tabindex="0">
9aa5da67
WG
1930 From WoltLab Suite 5.4
1931 <span class="md-nav__icon md-icon"></span>
1932 </label>
1933
51b70eee 1934 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_2_label" aria-expanded="false">
9aa5da67
WG
1935 <label class="md-nav__title" for="__nav_6_2">
1936 <span class="md-nav__icon md-icon"></span>
1937 From WoltLab Suite 5.4
1938 </label>
1939 <ul class="md-nav__list" data-md-scrollfix>
1940
1941
1942
1943
1944
1945
1946 <li class="md-nav__item">
1947 <a href="../../wsc54/php/" class="md-nav__link">
1948 PHP API
1949 </a>
1950 </li>
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960 <li class="md-nav__item">
1961 <a href="../../wsc54/javascript/" class="md-nav__link">
1962 TypeScript and JavaScript
1963 </a>
1964 </li>
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974 <li class="md-nav__item">
1975 <a href="../../wsc54/templates/" class="md-nav__link">
1976 Templates
1977 </a>
1978 </li>
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988 <li class="md-nav__item">
1989 <a href="../../wsc54/libraries/" class="md-nav__link">
1990 Third Party Libraries
1991 </a>
1992 </li>
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002 <li class="md-nav__item">
2003 <a href="../../wsc54/deprecations_removals/" class="md-nav__link">
2004 Deprecations and Removals
2005 </a>
2006 </li>
2007
2008
2009
2010
2011 </ul>
2012 </nav>
2013 </li>
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024 <li class="md-nav__item md-nav__item--nested">
2025
2026
9aa5da67
WG
2027
2028
51b70eee 2029 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_3" >
e02609d6 2030
9aa5da67
WG
2031
2032
51b70eee 2033 <label class="md-nav__link" for="__nav_6_3" id="__nav_6_3_label" tabindex="0">
9aa5da67
WG
2034 From WoltLab Suite 5.3
2035 <span class="md-nav__icon md-icon"></span>
2036 </label>
2037
51b70eee 2038 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_3_label" aria-expanded="false">
9aa5da67
WG
2039 <label class="md-nav__title" for="__nav_6_3">
2040 <span class="md-nav__icon md-icon"></span>
2041 From WoltLab Suite 5.3
2042 </label>
2043 <ul class="md-nav__list" data-md-scrollfix>
2044
2045
2046
2047
2048
2049
2050 <li class="md-nav__item">
2051 <a href="../../wsc53/php/" class="md-nav__link">
2052 PHP API
2053 </a>
2054 </li>
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064 <li class="md-nav__item">
2065 <a href="../../wsc53/session/" class="md-nav__link">
2066 Session Handling and Authentication
2067 </a>
2068 </li>
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078 <li class="md-nav__item">
2079 <a href="../../wsc53/javascript/" class="md-nav__link">
2080 TypeScript and JavaScript
2081 </a>
2082 </li>
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092 <li class="md-nav__item">
2093 <a href="../../wsc53/templates/" class="md-nav__link">
2094 Templates
2095 </a>
2096 </li>
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106 <li class="md-nav__item">
2107 <a href="../../wsc53/libraries/" class="md-nav__link">
2108 Third Party Libraries
2109 </a>
2110 </li>
2111
2112
2113
2114
2115 </ul>
2116 </nav>
2117 </li>
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128 <li class="md-nav__item md-nav__item--nested">
2129
2130
9aa5da67
WG
2131
2132
51b70eee 2133 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_4" >
9aa5da67
WG
2134
2135
e02609d6 2136
51b70eee 2137 <label class="md-nav__link" for="__nav_6_4" id="__nav_6_4_label" tabindex="0">
9aa5da67
WG
2138 From WoltLab Suite 5.2
2139 <span class="md-nav__icon md-icon"></span>
2140 </label>
2141
51b70eee 2142 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_4_label" aria-expanded="false">
9aa5da67
WG
2143 <label class="md-nav__title" for="__nav_6_4">
2144 <span class="md-nav__icon md-icon"></span>
2145 From WoltLab Suite 5.2
2146 </label>
2147 <ul class="md-nav__list" data-md-scrollfix>
2148
2149
2150
2151
2152
2153
2154 <li class="md-nav__item">
2155 <a href="../../wsc52/php/" class="md-nav__link">
2156 PHP API
2157 </a>
2158 </li>
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168 <li class="md-nav__item">
2169 <a href="../../wsc52/templates/" class="md-nav__link">
2170 Templates and Languages
2171 </a>
2172 </li>
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182 <li class="md-nav__item">
2183 <a href="../../wsc52/libraries/" class="md-nav__link">
2184 Third Party Libraries
2185 </a>
2186 </li>
2187
2188
2189
2190
2191 </ul>
2192 </nav>
2193 </li>
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204 <li class="md-nav__item md-nav__item--nested">
2205
2206
9aa5da67
WG
2207
2208
51b70eee 2209 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_5" >
e02609d6 2210
9aa5da67
WG
2211
2212
51b70eee 2213 <label class="md-nav__link" for="__nav_6_5" id="__nav_6_5_label" tabindex="0">
9aa5da67
WG
2214 From WoltLab Suite 3.1
2215 <span class="md-nav__icon md-icon"></span>
2216 </label>
2217
51b70eee 2218 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_5_label" aria-expanded="false">
9aa5da67
WG
2219 <label class="md-nav__title" for="__nav_6_5">
2220 <span class="md-nav__icon md-icon"></span>
2221 From WoltLab Suite 3.1
2222 </label>
2223 <ul class="md-nav__list" data-md-scrollfix>
2224
2225
2226
2227
2228
2229
2230 <li class="md-nav__item">
2231 <a href="../../wsc31/php/" class="md-nav__link">
2232 PHP API
2233 </a>
2234 </li>
2235
2236
2237
2238
2239 </ul>
2240 </nav>
2241 </li>
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252 <li class="md-nav__item md-nav__item--nested">
2253
2254
9aa5da67
WG
2255
2256
51b70eee 2257 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_6" >
e02609d6 2258
9aa5da67
WG
2259
2260
51b70eee 2261 <label class="md-nav__link" for="__nav_6_6" id="__nav_6_6_label" tabindex="0">
9aa5da67
WG
2262 From WoltLab Suite 3.0
2263 <span class="md-nav__icon md-icon"></span>
2264 </label>
2265
51b70eee 2266 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_6_label" aria-expanded="false">
9aa5da67
WG
2267 <label class="md-nav__title" for="__nav_6_6">
2268 <span class="md-nav__icon md-icon"></span>
2269 From WoltLab Suite 3.0
2270 </label>
2271 <ul class="md-nav__list" data-md-scrollfix>
2272
2273
2274
2275
2276
2277
2278 <li class="md-nav__item">
2279 <a href="../../wsc30/php/" class="md-nav__link">
2280 PHP API
2281 </a>
2282 </li>
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292 <li class="md-nav__item">
2293 <a href="../../wsc30/javascript/" class="md-nav__link">
2294 JavaScript API
2295 </a>
2296 </li>
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306 <li class="md-nav__item">
2307 <a href="../../wsc30/templates/" class="md-nav__link">
2308 Templates
2309 </a>
2310 </li>
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320 <li class="md-nav__item">
2321 <a href="../../wsc30/css/" class="md-nav__link">
2322 CSS
2323 </a>
2324 </li>
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334 <li class="md-nav__item">
2335 <a href="../../wsc30/package/" class="md-nav__link">
2336 Package Components
2337 </a>
2338 </li>
2339
2340
2341
2342
2343 </ul>
2344 </nav>
2345 </li>
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356 <li class="md-nav__item md-nav__item--nested">
2357
2358
9aa5da67
WG
2359
2360
51b70eee 2361 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_7" >
9aa5da67
WG
2362
2363
e02609d6 2364
51b70eee 2365 <label class="md-nav__link" for="__nav_6_7" id="__nav_6_7_label" tabindex="0">
9aa5da67
WG
2366 From WCF 2.1
2367 <span class="md-nav__icon md-icon"></span>
2368 </label>
2369
51b70eee 2370 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_7_label" aria-expanded="false">
9aa5da67
WG
2371 <label class="md-nav__title" for="__nav_6_7">
2372 <span class="md-nav__icon md-icon"></span>
2373 From WCF 2.1
2374 </label>
2375 <ul class="md-nav__list" data-md-scrollfix>
2376
2377
2378
2379
2380
2381
2382 <li class="md-nav__item">
2383 <a href="../../wcf21/php/" class="md-nav__link">
2384 PHP API
2385 </a>
2386 </li>
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396 <li class="md-nav__item">
2397 <a href="../../wcf21/templates/" class="md-nav__link">
2398 Templates
2399 </a>
2400 </li>
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410 <li class="md-nav__item">
2411 <a href="../../wcf21/css/" class="md-nav__link">
2412 CSS
2413 </a>
2414 </li>
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424 <li class="md-nav__item">
2425 <a href="../../wcf21/package/" class="md-nav__link">
2426 Package Components
2427 </a>
2428 </li>
2429
2430
2431
2432
2433 </ul>
2434 </nav>
2435 </li>
2436
2437
2438
2439
2440 </ul>
2441 </nav>
2442 </li>
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454 <li class="md-nav__item md-nav__item--nested">
2455
2456
9aa5da67
WG
2457
2458
51b70eee 2459 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
e02609d6 2460
9aa5da67
WG
2461
2462
51b70eee 2463 <label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
9aa5da67
WG
2464 Tutorials
2465 <span class="md-nav__icon md-icon"></span>
2466 </label>
2467
51b70eee 2468 <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
9aa5da67
WG
2469 <label class="md-nav__title" for="__nav_7">
2470 <span class="md-nav__icon md-icon"></span>
2471 Tutorials
2472 </label>
2473 <ul class="md-nav__list" data-md-scrollfix>
2474
2475
2476
2477
2478
2479
2480
2481 <li class="md-nav__item md-nav__item--nested">
2482
2483
9aa5da67
WG
2484
2485
51b70eee 2486 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7_1" >
9aa5da67
WG
2487
2488
e02609d6 2489
51b70eee 2490 <label class="md-nav__link" for="__nav_7_1" id="__nav_7_1_label" tabindex="0">
9aa5da67
WG
2491 Tutorial Series
2492 <span class="md-nav__icon md-icon"></span>
2493 </label>
2494
51b70eee 2495 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_7_1_label" aria-expanded="false">
9aa5da67
WG
2496 <label class="md-nav__title" for="__nav_7_1">
2497 <span class="md-nav__icon md-icon"></span>
2498 Tutorial Series
2499 </label>
2500 <ul class="md-nav__list" data-md-scrollfix>
2501
2502
2503
2504
2505
2506
2507 <li class="md-nav__item">
2508 <a href="../../../tutorial/series/overview/" class="md-nav__link">
2509 Overview
2510 </a>
2511 </li>
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521 <li class="md-nav__item">
2522 <a href="../../../tutorial/series/part_1/" class="md-nav__link">
2523 Part 1
2524 </a>
2525 </li>
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535 <li class="md-nav__item">
2536 <a href="../../../tutorial/series/part_2/" class="md-nav__link">
2537 Part 2
2538 </a>
2539 </li>
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549 <li class="md-nav__item">
2550 <a href="../../../tutorial/series/part_3/" class="md-nav__link">
2551 Part 3
2552 </a>
2553 </li>
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563 <li class="md-nav__item">
2564 <a href="../../../tutorial/series/part_4/" class="md-nav__link">
2565 Part 4
2566 </a>
2567 </li>
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577 <li class="md-nav__item">
2578 <a href="../../../tutorial/series/part_5/" class="md-nav__link">
2579 Part 5
2580 </a>
2581 </li>
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591 <li class="md-nav__item">
2592 <a href="../../../tutorial/series/part_6/" class="md-nav__link">
2593 Part 6
2594 </a>
2595 </li>
2596
2597
2598
2599
2600 </ul>
2601 </nav>
2602 </li>
2603
2604
2605
2606
2607 </ul>
2608 </nav>
2609 </li>
2610
2611
2612
2613 </ul>
2614</nav>
2615 </div>
2616 </div>
2617 </div>
2618
2619
2620
2621 <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
2622 <div class="md-sidebar__scrollwrap">
2623 <div class="md-sidebar__inner">
2624
2625
2626<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2627
2628
2629
2630
2631
2632
2633 <label class="md-nav__title" for="__toc">
2634 <span class="md-nav__icon md-icon"></span>
2635 Table of contents
2636 </label>
2637 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
2638
2639 <li class="md-nav__item">
2640 <a href="#minimum-requirements" class="md-nav__link">
2641 Minimum requirements
2642 </a>
2643
b2915b65
WG
2644</li>
2645
2646 <li class="md-nav__item">
2647 <a href="#subscribe-button-wcfuserobjectwatchsubscribe" class="md-nav__link">
2648 Subscribe Button (WCF.User.ObjectWatch.Subscribe)
2649 </a>
2650
1441d84b
WG
2651</li>
2652
2653 <li class="md-nav__item">
2654 <a href="#support-for-legacy-inheritance" class="md-nav__link">
2655 Support for Legacy Inheritance
2656 </a>
2657
9aa5da67
WG
2658</li>
2659
2660 </ul>
2661
2662</nav>
2663 </div>
2664 </div>
2665 </div>
2666
2667
7f9945cf
WG
2668
2669 <div class="md-content" data-md-component="content">
2670 <article class="md-content__inner md-typeset">
9aa5da67 2671
7f9945cf
WG
2672
2673
e02609d6
WG
2674
2675
2676
9aa5da67
WG
2677
2678
9aa5da67
WG
2679<h1 id="migrating-from-woltlab-suite-55-typescript-and-javascript">Migrating from WoltLab Suite 5.5 - TypeScript and JavaScript<a class="headerlink" href="#migrating-from-woltlab-suite-55-typescript-and-javascript" title="Permanent link">#</a></h1>
2680<h2 id="minimum-requirements">Minimum requirements<a class="headerlink" href="#minimum-requirements" title="Permanent link">#</a></h2>
03ec4110 2681<p>The ECMAScript target version has been increased to ES2022 from es2017.</p>
b2915b65
WG
2682<h2 id="subscribe-button-wcfuserobjectwatchsubscribe">Subscribe Button (WCF.User.ObjectWatch.Subscribe)<a class="headerlink" href="#subscribe-button-wcfuserobjectwatchsubscribe" title="Permanent link">#</a></h2>
2683<p>We have replaced the old jQuery-based <code>WCF.User.ObjectWatch.Subscribe</code> with a more modern replacement <code>WoltLabSuite/Core/Ui/User/ObjectWatch</code>.</p>
2684<p>The new implementation comes with a ready-to-use template (<code>__userObjectWatchButton</code>) for use within <code>contentInteractionButtons</code>:
c708394c 2685<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="cp">{</span><span class="nf">include</span> <span class="na">file</span><span class="o">=</span><span class="s1">&#39;__userObjectWatchButton&#39;</span> <span class="na">isSubscribed</span><span class="o">=</span><span class="nv">$isSubscribed</span> <span class="na">objectType</span><span class="o">=</span><span class="s1">&#39;foo.bar&#39;</span> <span class="na">objectID</span><span class="o">=</span><span class="nv">$id</span><span class="cp">}</span>
b2915b65
WG
2686</code></pre></div></td></tr></table></div></p>
2687<p>See <a href="https://github.com/WoltLab/WCF/pull/4962/">WoltLab/WCF#4962</a> for details.</p>
1441d84b
WG
2688<h2 id="support-for-legacy-inheritance">Support for Legacy Inheritance<a class="headerlink" href="#support-for-legacy-inheritance" title="Permanent link">#</a></h2>
2689<p>The migration from JavaScript to TypeScript was a breaking change because the previous prototype based inheritance was incompatible with ES6 classes.
2690<code>Core.enableLegacyInheritance()</code> was added in an effort to emulate the previous behavior to aid in the migration process.</p>
2691<p>This workaround was unstable at best and was designed as a temporary solution only.
2692<a href="https://github.com/WoltLab/WCF/pull/5041">WoltLab/WCF#5041</a> removed the legacy inheritance, requiring all depending implementations to migrate to ES6 classes.</p>
9aa5da67
WG
2693
2694 <hr>
2695<div class="md-source-file">
2696 <small>
2697
2698 Last update:
1441d84b 2699 2022-10-13
9aa5da67
WG
2700
2701 </small>
2702</div>
2703
a06fd3b1
WG
2704
2705
2706
7f9945cf
WG
2707
2708
2709 </article>
2710 </div>
2711
2712
9aa5da67
WG
2713 </div>
2714
2715 </main>
2716
2717 <footer class="md-footer">
2718
9aa5da67
WG
2719 <div class="md-footer-meta md-typeset">
2720 <div class="md-footer-meta__inner md-grid">
2721 <div class="md-copyright">
2722
2723 <div class="md-copyright__highlight">
2724 Copyright © 2020 WoltLab GmbH
2725 </div>
2726
2727
2728 Made with
2729 <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2730 Material for MkDocs
2731 </a>
2732
2733</div>
2734
2735 <div class="md-copyright">
2736 <a href="https://www.woltlab.com/legal-notice/">Legal Notice</a>
2737 <a href="https://www.woltlab.com/privacy-policy/">Privacy Policy</a>
2738</div>
2739
2740 </div>
2741 </div>
2742</footer>
2743
2744 </div>
2745 <div class="md-dialog" data-md-component="dialog">
2746 <div class="md-dialog__inner md-typeset"></div>
2747 </div>
a06fd3b1 2748
51b70eee 2749 <script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tracking"], "search": "../../../assets/javascripts/workers/search.db81ec45.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
9aa5da67
WG
2750
2751
51b70eee 2752 <script src="../../../assets/javascripts/bundle.a00a7c5e.min.js"></script>
9aa5da67
WG
2753
2754
2755 </body>
2756</html>