forked from cory/tildefriends
		
	Better tag enumerating.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4349 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
		@@ -259,17 +259,17 @@ class TfElement extends LitElement {
 | 
			
		||||
		let start = new Date();
 | 
			
		||||
		this.tags = await tfrpc.rpc.query(`
 | 
			
		||||
			WITH
 | 
			
		||||
				recent AS (SELECT content FROM messages
 | 
			
		||||
				recent AS (SELECT id, content FROM messages
 | 
			
		||||
					WHERE messages.timestamp > ? AND json_extract(content, '$.type') = 'post'
 | 
			
		||||
					ORDER BY timestamp DESC LIMIT 1024),
 | 
			
		||||
				recent_channels AS (SELECT '#' || json_extract(content, '$.channel') AS tag
 | 
			
		||||
				recent_channels AS (SELECT recent.id, '#' || json_extract(content, '$.channel') AS tag
 | 
			
		||||
					FROM recent
 | 
			
		||||
					WHERE json_extract(content, '$.channel') IS NOT NULL),
 | 
			
		||||
				recent_mentions AS (SELECT json_extract(mention.value, '$.link') AS tag
 | 
			
		||||
				recent_mentions AS (SELECT recent.id, json_extract(mention.value, '$.link') AS tag
 | 
			
		||||
					FROM recent, json_each(recent.content, '$.mentions') AS mention
 | 
			
		||||
					WHERE json_valid(mention.value) AND tag LIKE '#%'),
 | 
			
		||||
				combined AS (SELECT tag FROM recent_channels UNION ALL SELECT tag FROM recent_mentions)
 | 
			
		||||
			SELECT tag, COUNT(*) AS count FROM combined GROUP BY tag ORDER BY count DESC LIMIT 10
 | 
			
		||||
				combined AS (SELECT id, tag FROM recent_channels UNION ALL SELECT id, tag FROM recent_mentions)
 | 
			
		||||
			SELECT tag, COUNT(*) AS count FROM combined GROUP BY id, tag ORDER BY count DESC LIMIT 10
 | 
			
		||||
		`, [new Date() - 7 * 24 * 60 * 60 * 1000]);
 | 
			
		||||
		console.log('tags took', (new Date() - start) / 1000.0, 'seconds');
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -119,7 +119,7 @@ class TodoListElement extends LitElement {
 | 
			
		||||
		} else {
 | 
			
		||||
			return html`
 | 
			
		||||
				<div><input type="checkbox" ?checked=${item.x} @change=${x => self.handle_check(x, item)}></input>
 | 
			
		||||
				<span @click=${x => self.editing = index}>${item.text}</span>
 | 
			
		||||
				<span @click=${x => self.editing = index}>${item.text || '(empty)'}</span>
 | 
			
		||||
			`;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user