48 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
| <html lang="en">
 | |
| 	<head>
 | |
| 		<meta charset="utf-8" />
 | |
| 		<meta name="viewport" content="width=device-width, initial-scale=1" />
 | |
| 		<title>nuVistA</title>
 | |
| 		<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1/dist/css/bootstrap.min.css" />
 | |
| 		<link rel="stylesheet" type="text/css" href="/table-sticky.css" />
 | |
| 		<link rel="stylesheet" type="text/css" href="/userstyle.css" />
 | |
| 		<link rel="icon" href="/icon.svg" type="image/svg+xml" />
 | |
| 	</head>
 | |
| 	<body><div id='root'></div></body>
 | |
| 	<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue@3.2"></script>
 | |
| 	<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue-router@4"></script>
 | |
| 	<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/bootstrap@5.1/dist/js/bootstrap.min.js"></script>
 | |
| 	<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue3-sfc-loader/dist/vue3-sfc-loader.js"></script>
 | |
| 	<script type="text/javascript">
 | |
| 		var loadModule = window['vue3-sfc-loader'].loadModule;
 | |
| 		var options = {
 | |
| 			moduleCache: {
 | |
| 				vue: Vue
 | |
| 			},
 | |
| 			async getFile(url) {
 | |
| 				const res = await fetch(url);
 | |
| 				if(res.ok) return {
 | |
| 					getContentData: asBinary => asBinary ? res.arrayBuffer() : res.text(),
 | |
| 				}
 | |
| 				else throw Object.assign(new Error(res.statusText + ' ' + url), { res });
 | |
| 			},
 | |
| 			addStyle(textContent) {
 | |
| 				const style = Object.assign(document.createElement('style'), { textContent });
 | |
| 				const ref = document.head.getElementsByTagName('style')[0] || null;
 | |
| 				document.head.insertBefore(style, ref);
 | |
| 			},
 | |
| 		};
 | |
| 		var secret = window.location.hash.substring(1);
 | |
| 		var app = Vue.createApp({
 | |
| 			components: {
 | |
| 				'app': Vue.defineAsyncComponent(function() { return loadModule('/App.vue', options); })
 | |
| 			},
 | |
| 			data: function() { return { secret: secret }; },
 | |
| 			template: '<app :secret="secret"></app>'
 | |
| 		});
 | |
| 		app.use(VueRouter.createRouter({ history: VueRouter.createWebHistory(), routes: [] }));
 | |
| 		app.mount('#root');
 | |
| 	</script>
 | |
| </html>
 |