Move apps/cory/ => apps/. Going to change import and export to support this.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4163 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
		
							
								
								
									
										70
									
								
								apps/db/app.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								apps/db/app.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,70 @@ | ||||
| async function database_list() { | ||||
| 	var dbs = await databases(); | ||||
| 	var doc = `<!DOCTYPE html> | ||||
| <html> | ||||
| <body style="background: #888"> | ||||
| <h1>Databases</h1> | ||||
| <ul id="dbs"></ul> | ||||
| </body> | ||||
| <script> | ||||
| 	function populate_dbs(id, dbs) { | ||||
| 		var list = document.getElementById(id); | ||||
| 		for (let db of dbs) { | ||||
| 			var li = list.appendChild(document.createElement('li')); | ||||
| 			var a = document.createElement('a'); | ||||
| 			a.innerText = db; | ||||
| 			a.href = './#' + db; | ||||
| 			a.target = '_top'; | ||||
| 			li.appendChild(a); | ||||
| 		} | ||||
| 	} | ||||
| 	populate_dbs('dbs', ${JSON.stringify(dbs)}); | ||||
| </script> | ||||
| </html>` | ||||
| 	app.setDocument(doc); | ||||
| } | ||||
|  | ||||
| async function key_list(db) { | ||||
| 	let keys = await db.getAll(); | ||||
| 	let object = {}; | ||||
| 	for (let key of keys) { | ||||
| 		object[key] = await db.get(key); | ||||
| 	} | ||||
| 	let doc = `<!DOCTYPE html> | ||||
| <html> | ||||
| <body style="background: #888"> | ||||
| <a href="#" target="_top">back</a> | ||||
| <h1>Keys</h1> | ||||
| <ul id="keys"></ul> | ||||
| </body> | ||||
| <script> | ||||
| 	function populate_dbs(id, keys) { | ||||
| 		var list = document.getElementById(id); | ||||
| 		for (let [key, value] of Object.entries(keys)) { | ||||
| 			var li = list.appendChild(document.createElement('li')); | ||||
| 			li.innerText = key + ' = ' + value; | ||||
| 		} | ||||
| 	} | ||||
| 	populate_dbs('keys', ${JSON.stringify(object)}); | ||||
| </script> | ||||
| </html>` | ||||
| 	app.setDocument(doc); | ||||
| } | ||||
|  | ||||
| core.register('message', async function(message) { | ||||
| 	if (message.event == 'hashChange') { | ||||
| 		let hash = message.hash.substring(1); | ||||
| 		if (hash.startsWith(':shared:')) { | ||||
| 			let parts = hash.split(':'); | ||||
| 			let packageName = parts[3]; | ||||
| 			let key = parts.slice(4).join(':'); | ||||
| 			key_list(await my_shared_database(packageName, key)); | ||||
| 		} else if (hash.length) { | ||||
| 			key_list(await database(hash.split(':').slice(1).join(':'))); | ||||
| 		} else { | ||||
| 			database_list(); | ||||
| 		} | ||||
| 	} | ||||
| }); | ||||
|  | ||||
| database_list(); | ||||
		Reference in New Issue
	
	Block a user