mirror of https://github.com/nextcloud/bookmarks
65 lines
1.8 KiB
JavaScript
65 lines
1.8 KiB
JavaScript
import Backbone from 'backbone';
|
|
|
|
const Marionette = Backbone.Marionette;
|
|
const Radio = Backbone.Radio;
|
|
|
|
export default Marionette.AppRouter.extend({
|
|
controller: {
|
|
index: function() {
|
|
setTimeout(function() {
|
|
Backbone.history.navigate('all', { trigger: true });
|
|
}, 1);
|
|
},
|
|
all: function() {
|
|
this.app.bookmarks.setFetchQuery({});
|
|
this.app.bookmarks.fetchPage();
|
|
Radio.channel('nav').trigger('navigate', 'all');
|
|
},
|
|
favorites: function() {
|
|
Radio.channel('nav').trigger('navigate', 'favorites');
|
|
},
|
|
shared: function() {
|
|
this.app.bookmarks.setFetchQuery({});
|
|
this.app.bookmarks.fetchPage();
|
|
Radio.channel('nav').trigger('navigate', 'shared');
|
|
},
|
|
tags: function(tagString) {
|
|
var tags = tagString ? tagString.split(',') : [];
|
|
this.app.bookmarks.setFetchQuery({ tags: tags, conjunction: 'and' });
|
|
this.app.bookmarks.fetchPage();
|
|
Radio.channel('nav').trigger('navigate', 'tags', tags);
|
|
},
|
|
folder: function(folderId) {
|
|
this.app.bookmarks.setFetchQuery({ folder: folderId });
|
|
this.app.bookmarks.fetchPage();
|
|
Radio.channel('nav').trigger('navigate', 'folder', folderId);
|
|
},
|
|
search: function(query) {
|
|
this.app.bookmarks.setFetchQuery({
|
|
search: decodeURIComponent(query).split(' '),
|
|
conjunction: 'and'
|
|
});
|
|
this.app.bookmarks.fetchPage();
|
|
Radio.channel('nav').trigger('navigate', 'search', query);
|
|
},
|
|
untagged: function() {
|
|
this.app.bookmarks.setFetchQuery({ untagged: true });
|
|
this.app.bookmarks.fetchPage();
|
|
Radio.channel('nav').trigger('navigate', 'untagged');
|
|
}
|
|
},
|
|
appRoutes: {
|
|
'': 'index',
|
|
all: 'all',
|
|
favorites: 'favorites',
|
|
shared: 'shared',
|
|
'tags(/*tags)': 'tags',
|
|
'folder/:folderId': 'folder',
|
|
'search/:query': 'search',
|
|
untagged: 'untagged'
|
|
},
|
|
initialize: function(options) {
|
|
this.controller.app = options.app;
|
|
}
|
|
});
|