mirror of
https://github.com/nkanaev/yarr.git
synced 2025-09-14 02:10:04 +00:00
basic nav functionality
This commit is contained in:
@@ -1 +1,52 @@
|
||||
console.log("hello")
|
||||
'use strict';
|
||||
|
||||
var FILTERS = [
|
||||
{'title': 'All', 'value': 'all', 'icon': 'circle-full'},
|
||||
{'title': 'Unread', 'value': 'unread', 'icon': 'circle'},
|
||||
{'title': 'Starred', 'value': 'starred', 'icon': 'star'},
|
||||
]
|
||||
|
||||
|
||||
new Vue({
|
||||
el: '#app',
|
||||
data: function() {
|
||||
return {
|
||||
'filters': FILTERS,
|
||||
'filterSelected': 'all',
|
||||
'folders': [
|
||||
{'id': 1, 'title': 'Tech', 'is_expanded': false},
|
||||
{'id': 2, 'title': 'News', 'is_expanded': true},
|
||||
],
|
||||
'feeds': [
|
||||
{'id': '1', 'title': 'news.ycombinator.com', 'folder_id': 1},
|
||||
{'id': '2', 'title': '/r/programming', 'folder_id': 1},
|
||||
{'id': '3', 'title': 'BBC', 'folder_id': 2},
|
||||
{'id': '4', 'title': 'The Guardian', 'folder_id': 2},
|
||||
{'id': '5', 'title': 'Random Stuff', 'folder_id': null},
|
||||
],
|
||||
'feedSelected': null,
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
foldersWithFeeds: function() {
|
||||
var feedsByFolders = this.feeds.reduce(function(folders, feed) {
|
||||
if (!folders[feed.folder_id])
|
||||
folders[feed.folder_id] = [feed]
|
||||
else
|
||||
folders[feed.folder_id].push(feed)
|
||||
return folders
|
||||
}, {})
|
||||
var folders = this.folders.slice().map(function(folder) {
|
||||
folder.feeds = feedsByFolders[folder.id]
|
||||
return folder
|
||||
})
|
||||
folders.push({id: null, feeds: feedsByFolders[null]})
|
||||
return folders
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
toggleFolderExpanded: function(folder) {
|
||||
folder.is_expanded = !folder.is_expanded
|
||||
}
|
||||
}
|
||||
})
|
||||
|
Reference in New Issue
Block a user