Merge "API: Use message-per-value for apihelp-query+blocks-param-prop"
[lhc/web/wiklou.git] / maintenance / jsduck / eg-iframe.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title>MediaWiki Code Example</title>
6 <script>
7 /**
8 * Basic log console for the example iframe in documentation pages.
9 */
10 var log = ( function () {
11 var pre;
12 return function () {
13 var str, i, len, line;
14 if ( !pre ) {
15 pre = document.createElement( 'pre' );
16 pre.className = 'mw-jsduck-log';
17 ( document.body || document.documentElement ).appendChild( pre );
18 }
19 str = [];
20 for ( i = 0, len = arguments.length; i < len; i++ ) {
21 str.push( String( arguments[ i ] ) );
22 }
23 line = document.createElement( 'div' );
24 line.className = 'mw-jsduck-log-line';
25 line.appendChild(
26 document.createTextNode( str.join( ' , ' ) + '\n' )
27 );
28 pre.appendChild( line );
29 };
30 }() );
31
32 window.onerror = function ( error, filePath, linerNr ) {
33 log( error + '\n' + filePath + ':' + linerNr );
34 };
35 </script>
36 <script>
37 function startUp() {
38 mw.config = new mw.Map();
39 }
40 </script>
41 <script src="modules/lib/jquery/jquery.js"></script>
42 <script src="modules/lib/phpjs-sha1/sha1.js"></script>
43 <script src="modules/src/mediawiki/mediawiki.js"></script>
44 <script src="modules/src/mediawiki/mediawiki.errorLogger.js"></script>
45 <script src="modules/src/mediawiki/mediawiki.startUp.js"></script>
46 <style>
47 .mw-jsduck-log {
48 position: relative;
49 min-height: 3em;
50 margin-top: 2em;
51 background: #f7f7f7;
52 border: 1px solid #e4e4e4;
53 }
54
55 .mw-jsduck-log::after {
56 position: absolute;
57 bottom: 100%;
58 right: -1px;
59 padding: 0.5em;
60 background: #fff;
61 border: 1px solid #e4e4e4;
62 border-bottom: 0;
63 border-radius: 0.5em 0.5em 0 0;
64 font: normal 0.5em sans-serif;
65 content: 'console';
66 }
67
68 .mw-jsduck-log-line {
69 padding: 0.2em 0.5em;
70 white-space: pre-wrap;
71 }
72
73 .mw-jsduck-log-line:nth-child(odd) {
74 background: #fff;
75 }
76 </style>
77 </head>
78 <body>
79 <script>
80 if ( window.mw ) {
81 mw.log = log;
82 }
83
84 window.onerror = function ( error, filePath, linerNr ) {
85 log( filePath + ':' + linerNr );
86 };
87
88 /**
89 * Method called by jsduck to execute the example code.
90 */
91 function loadInlineExample( code, options, callback ) {
92 try {
93 eval( code );
94 callback && callback( true );
95 } catch ( e ) {
96 log( 'Uncaught ' + e );
97 callback && callback( false, e );
98 throw e;
99 }
100 }
101 </script>
102 </body>
103 </html>