forked from MapComplete/MapComplete
		
	Fix wiki downloading
This commit is contained in:
		
							parent
							
								
									41582ec6a2
								
							
						
					
					
						commit
						bac8823bda
					
				
					 1 changed files with 11 additions and 9 deletions
				
			
		
							
								
								
									
										18
									
								
								index.ts
									
										
									
									
									
								
							
							
						
						
									
										18
									
								
								index.ts
									
										
									
									
									
								
							|  | @ -74,18 +74,20 @@ if (layoutFromBase64.startsWith("wiki:")) { | ||||||
| 
 | 
 | ||||||
|     $.ajax({ |     $.ajax({ | ||||||
|         url: url, |         url: url, | ||||||
|         dataType: 'xml', |  | ||||||
|         success: function (data) { |         success: function (data) { | ||||||
|             const layoutJson = data.querySelector('[id="bodyContent"]') |             // Hacky McHackFace has been working here. This probably break in the future
 | ||||||
|                 .querySelector('[class="mw-parser-output"]') |             const startTrigger = "<div class=\"mw-parser-output\">"; | ||||||
|                 .children[0] |             const start = data.indexOf(startTrigger); | ||||||
|                 .firstChild.textContent; |             data = data.substr(start,  | ||||||
|  |                 data.indexOf("<div class=\"printfooter\">") - start) | ||||||
|  |             data = data.substr(0, data.lastIndexOf("</p>")) | ||||||
|  |             data = data.substr(startTrigger.length + 3); | ||||||
|  |              | ||||||
|             try { |             try { | ||||||
|                 console.log("DOWNLOADED:",layoutJson); |                 const parsed = JSON.parse(data); | ||||||
|                 const parsed = JSON.parse(layoutJson); |  | ||||||
|                 parsed["id"] = layoutFromBase64 |                 parsed["id"] = layoutFromBase64 | ||||||
|                 const layout = new LayoutConfig(parsed); |                 const layout = new LayoutConfig(parsed); | ||||||
|                 InitUiElements.InitAll(layout, layoutFromBase64, testing, layoutFromBase64, btoa(layoutJson)); |                 InitUiElements.InitAll(layout, layoutFromBase64, testing, layoutFromBase64, btoa(data)); | ||||||
|             } catch (e) { |             } catch (e) { | ||||||
|                 new FixedUiElement(`<a href="${cleanUrl}">${themeName}</a> is invalid:<br/>${e}`) |                 new FixedUiElement(`<a href="${cleanUrl}">${themeName}</a> is invalid:<br/>${e}`) | ||||||
|                     .SetClass("clickable") |                     .SetClass("clickable") | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue