4242 var md ;
4343 var snippet ;
4444 var editor ;
45+ var log ;
4546
4647
4748 async function init ( ) {
5253 await load ( ) ;
5354
5455
55- snippet = mod [ 'snippet-html-console' ] ;
56- editor = mod [ 'web-editor' ] ;
56+ snippet = mod [ 'snippet-html-console' ] ;
57+ editor = mod [ 'web-editor' ] ;
58+ log = mod [ 'log-mod' ] ;
59+
5760
5861 await mod . auto ( ) ;
5962
6669
6770 async function load ( ) {
6871
69- txt = await fetch ( 'readme.md' ) . then ( res => res . text ( ) ) ;
72+ var { error, txt} = await get ( 'https://libs.ext-code.com/html/web-console/readme.md' ) ;
73+
74+ if ( error ) {
75+ md_txt = error ;
76+ } else {
77+ md_txt = txt ;
78+ }
7079
7180 } //load
7281
@@ -151,12 +160,15 @@ <h3>
151160 </ div >
152161
153162
163+ < log-mod component > </ log-mod >
164+
154165 </ body >
155166
156167 < script >
157168
158169
159- var txt ;
170+ var md_txt ;
171+ var cache ;
160172
161173
162174 //:
165177 async function initdom ( ) {
166178 debug ( 'initdom' ) ;
167179
168- var html = md . render ( txt ) ;
180+ var html = md . render ( md_txt ) ;
169181 $ ( '#readme' ) . innerHTML = html ;
170182
171183
193205
194206 var c = 0 ;
195207 var node = e . node ;
196-
197208 while ( node . parent ) {
198209
199210 c ++ ;
@@ -210,13 +221,18 @@ <h3>
210221 var par = e . node . parent . title ;
211222 var file = e . node . title ;
212223 console . log ( d , par , file ) ;
224+ var txt ;
213225 switch ( par ) {
214226
215- case 'source' : show . source ( file ) ; break ;
216- case 'examples' : show . example ( file ) ; break ;
227+ case 'source' : txt = show . source ( file ) ; break ;
228+ case 'examples' : txt = show . example ( file ) ; break ;
217229
218230 } //switch
219231
232+ if ( ! txt ) return ;
233+
234+ editor . setvalue ( txt ) ;
235+
220236 } //show
221237
222238
@@ -233,22 +249,52 @@ <h3>
233249 url += `${ file } /web-console-${ file } .html` ;
234250 }
235251
236- var { error, txt} = await get ( url ) ;
237- if ( error ) return ;
238-
239- editor . setvalue ( txt ) ;
252+ var { txt} = await get ( url ) ;
253+ return txt ;
240254
241255 } //source
242256
243257
244258 show . example = async function ( file ) {
259+
260+ var url = 'https://libs.ext-code.com/html/web-console/test/' + file ;
261+ var { txt} = await get ( url ) ;
262+ return txt ;
263+
245264 } //example
246265
247266
248267 async function get ( url ) {
249268
250- var txt = await fetch ( url ) . then ( res => res . text ( ) ) ;
269+ if ( cache [ url ] ) {
270+ return { txt :cache [ url ] } ;
271+ }
272+
273+ var err ;
274+ try {
275+
276+ var res = await fetch ( url ) ;
277+
278+ } //try
279+ catch ( err2 ) {
280+
281+ err = err2 ;
282+
283+ } //catch
284+ if ( err ) {
285+ var error = err . toString ( ) ;
286+ log . red ( error ) ;
287+ return { error} ;
288+ }
289+ if ( ! res . ok ) {
290+ var error = await res . text ( ) ;
291+ log . red ( error ) ;
292+ return { error} ;
293+ }
294+
295+ var txt = await res . text ( ) ;
251296 return { txt} ;
297+
252298 } //get
253299
254300
275321 title : 'examples' ,
276322 expanded :true ,
277323 children :[
278- { title :'simple example' }
324+ { title :'web-console-v2.0-test-1.html' } ,
325+ { title :'web-console-v2.0-test-2.html' }
279326 ]
280327 } ,
281328
0 commit comments