mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +00:00
Brokenly building a submenu when what I need is a menu sidebar.
This commit is contained in:
parent
3244af13c4
commit
8a4e182085
6 changed files with 99 additions and 21 deletions
|
@ -148,6 +148,7 @@ class Feed(models.Model):
|
||||||
'num_subscribers': self.num_subscribers,
|
'num_subscribers': self.num_subscribers,
|
||||||
'updated': relative_timesince(self.last_update),
|
'updated': relative_timesince(self.last_update),
|
||||||
'updated_seconds_ago': seconds_timesince(self.last_update),
|
'updated_seconds_ago': seconds_timesince(self.last_update),
|
||||||
|
'last_story_date': self.last_story_date,
|
||||||
'min_to_decay': self.min_to_decay,
|
'min_to_decay': self.min_to_decay,
|
||||||
'subs': self.num_subscribers,
|
'subs': self.num_subscribers,
|
||||||
'is_push': self.is_push,
|
'is_push': self.is_push,
|
||||||
|
|
|
@ -14,6 +14,8 @@
|
||||||
-webkit-box-shadow: 8px 8px 15px #505050;
|
-webkit-box-shadow: 8px 8px 15px #505050;
|
||||||
box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 2px, rgba(255, 255, 255, 0.4) 0px 0px 300px 0px;
|
box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 2px, rgba(255, 255, 255, 0.4) 0px 0px 300px 0px;
|
||||||
border: 1px solid rgba(5, 5, 5,.6);
|
border: 1px solid rgba(5, 5, 5,.6);
|
||||||
|
min-height: 300px;
|
||||||
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* =================== */
|
/* =================== */
|
||||||
|
|
|
@ -6017,6 +6017,8 @@ form.opml_import_form input {
|
||||||
}
|
}
|
||||||
.NB-menu-manage .NB-menu-manage-confirm .NB-add-folders {
|
.NB-menu-manage .NB-menu-manage-confirm .NB-add-folders {
|
||||||
float: left;
|
float: left;
|
||||||
|
max-height: 84px;
|
||||||
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
.NB-menu-manage .NB-menu-manage-story-share-confirm .NB-sideoption-share {
|
.NB-menu-manage .NB-menu-manage-story-share-confirm .NB-sideoption-share {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
@ -10362,6 +10364,15 @@ form.opml_import_form input {
|
||||||
.NB-module-search .NB-module-search-results {
|
.NB-module-search .NB-module-search-results {
|
||||||
padding: 12px;
|
padding: 12px;
|
||||||
}
|
}
|
||||||
|
.NB-module-search .NB-friends-search-badges-empty {
|
||||||
|
clear: both;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 100;
|
||||||
|
}
|
||||||
|
.NB-module-search .NB-friends-search-badges-empty .NB-raquo {
|
||||||
|
float: left;
|
||||||
|
padding: 2px 6px;
|
||||||
|
}
|
||||||
|
|
||||||
.NB-module-search-input.NB-active input {
|
.NB-module-search-input.NB-active input {
|
||||||
background: white url('/media/embed/reader/clos.gif') no-repeat right 4px;
|
background: white url('/media/embed/reader/clos.gif') no-repeat right 4px;
|
||||||
|
|
|
@ -2356,7 +2356,7 @@
|
||||||
$gettingstarted.animate({
|
$gettingstarted.animate({
|
||||||
'opacity': 0
|
'opacity': 0
|
||||||
}, {
|
}, {
|
||||||
'duration': 500,
|
'duration': 380,
|
||||||
'complete': function() {
|
'complete': function() {
|
||||||
$gettingstarted.slideUp(350);
|
$gettingstarted.slideUp(350);
|
||||||
}
|
}
|
||||||
|
@ -2831,13 +2831,13 @@
|
||||||
]),
|
]),
|
||||||
$.make('li', { className: 'NB-menu-item NB-menu-manage-move NB-menu-manage-feed-move' }, [
|
$.make('li', { className: 'NB-menu-item NB-menu-manage-move NB-menu-manage-feed-move' }, [
|
||||||
$.make('div', { className: 'NB-menu-manage-image' }),
|
$.make('div', { className: 'NB-menu-manage-image' }),
|
||||||
$.make('div', { className: 'NB-menu-manage-title' }, 'Move to folder')
|
$.make('div', { className: 'NB-menu-manage-title' }, 'Change folders')
|
||||||
]),
|
]),
|
||||||
$.make('li', { className: 'NB-menu-subitem NB-menu-manage-confirm NB-menu-manage-feed-move-confirm NB-modal-submit' }, [
|
$.make('li', { className: 'NB-menu-subitem NB-menu-manage-confirm NB-menu-manage-feed-move-confirm NB-modal-submit' }, [
|
||||||
$.make('div', { className: 'NB-menu-manage-confirm-position'}, [
|
$.make('div', { className: 'NB-menu-manage-confirm-position'}, [
|
||||||
$.make('div', { className: 'NB-menu-manage-move-save NB-menu-manage-feed-move-save NB-modal-submit-green NB-modal-submit-button' }, 'Save'),
|
$.make('div', { className: 'NB-menu-manage-move-save NB-menu-manage-feed-move-save NB-modal-submit-green NB-modal-submit-button' }, 'Save'),
|
||||||
$.make('div', { className: 'NB-menu-manage-image' }),
|
$.make('div', { className: 'NB-menu-manage-image' }),
|
||||||
$.make('div', { className: 'NB-add-folders' }, NEWSBLUR.utils.make_folders())
|
$.make('div', { className: 'NB-add-folders' })
|
||||||
])
|
])
|
||||||
]),
|
]),
|
||||||
$.make('li', { className: 'NB-menu-item NB-menu-manage-rename NB-menu-manage-feed-rename' }, [
|
$.make('li', { className: 'NB-menu-item NB-menu-manage-rename NB-menu-manage-feed-rename' }, [
|
||||||
|
@ -3460,51 +3460,104 @@
|
||||||
var $move = $('.NB-menu-manage-feed-move,.NB-menu-manage-folder-move');
|
var $move = $('.NB-menu-manage-feed-move,.NB-menu-manage-folder-move');
|
||||||
var $confirm = $('.NB-menu-manage-feed-move-confirm,.NB-menu-manage-folder-move-confirm');
|
var $confirm = $('.NB-menu-manage-feed-move-confirm,.NB-menu-manage-folder-move-confirm');
|
||||||
var $position = $('.NB-menu-manage-confirm-position', $confirm);
|
var $position = $('.NB-menu-manage-confirm-position', $confirm);
|
||||||
|
var $add = $(".NB-add-folders", $confirm);
|
||||||
var $select = $('select', $confirm);
|
var $select = $('select', $confirm);
|
||||||
|
|
||||||
if (_.isNumber(feed_id)) {
|
if (_.isNumber(feed_id)) {
|
||||||
var feed = this.model.get_feed(feed_id);
|
var feed = this.model.get_feed(feed_id);
|
||||||
var feed_view = feed.get_view($feed, true);
|
var feed_view = feed.get_view($feed, true);
|
||||||
var in_folder = feed_view.options.folder_title;
|
var in_folder = feed_view.options.folder_title;
|
||||||
|
var $folders = this.make_folders_multiselect(feed);
|
||||||
|
$add.html($folders);
|
||||||
} else {
|
} else {
|
||||||
folder_view = NEWSBLUR.assets.folders.get_view($feed) ||
|
folder_view = NEWSBLUR.assets.folders.get_view($feed) ||
|
||||||
this.active_folder.folder_view;
|
this.active_folder.folder_view;
|
||||||
var in_folder = folder_view.collection.options.title;
|
var in_folder = folder_view.collection.options.title;
|
||||||
}
|
}
|
||||||
|
|
||||||
$move.addClass('NB-menu-manage-feed-move-cancel');
|
$move.addClass('NB-menu-manage-feed-move-cancel');
|
||||||
$('.NB-menu-manage-title', $move).text('Cancel move');
|
$('.NB-menu-manage-title', $move).text('Cancel move');
|
||||||
$position.css('position', 'relative');
|
$position.css('position', 'relative');
|
||||||
var height = $confirm.height();
|
var height = $confirm.height();
|
||||||
$position.css('position', 'absolute');
|
$position.css('position', 'absolute');
|
||||||
$confirm.css({'height': 0, 'display': 'block'}).animate({'height': height}, {
|
$confirm.css({'height': 0, 'display': 'block'}).animate({'height': height}, {
|
||||||
'duration': 500,
|
'duration': 380,
|
||||||
'easing': 'easeOutQuart'
|
'easing': 'easeOutQuart'
|
||||||
});
|
});
|
||||||
$('select', $confirm).focus().select();
|
|
||||||
this.flags['showing_confirm_input_on_manage_menu'] = true;
|
this.flags['showing_confirm_input_on_manage_menu'] = true;
|
||||||
|
|
||||||
|
if (!_.isNumber(feed_id)) {
|
||||||
|
$('select', $confirm).focus().select();
|
||||||
|
$('option', $select).each(function() {
|
||||||
|
if ($(this).attr('value') == in_folder) {
|
||||||
|
$(this).attr('selected', 'selected');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
make_folders_multiselect: function(feed) {
|
||||||
|
var folders = NEWSBLUR.assets.get_folders();
|
||||||
|
var in_folders = _.pluck(_.pluck(NEWSBLUR.assets.active_feed.folders, 'options'), 'title');
|
||||||
|
var $options = $.make('div', { className: 'NB-folders' });
|
||||||
|
var $option = this.make_folder_selectable('Top Level', '', 0, _.any(in_folders, function(folder) {
|
||||||
|
return !folder;
|
||||||
|
}));
|
||||||
|
$options.append($option);
|
||||||
|
|
||||||
|
$options = this.make_folders_multiselect_options($options, folders, 0, in_folders);
|
||||||
|
|
||||||
$('option', $select).each(function() {
|
return $options;
|
||||||
if ($(this).attr('value') == in_folder) {
|
},
|
||||||
$(this).attr('selected', 'selected');
|
|
||||||
return false;
|
make_folders_multiselect_options: function($options, items, depth, in_folders) {
|
||||||
|
var self = this;
|
||||||
|
items.each(function(item) {
|
||||||
|
if (item.is_folder()) {
|
||||||
|
var title = item.get('folder_title');
|
||||||
|
var $option = self.make_folder_selectable(title, title, _.contains(in_folders, title));
|
||||||
|
$options.append($option);
|
||||||
|
$options = self.make_folders_multiselect_options($options, item.folders, depth+1, in_folders);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return $options;
|
||||||
|
},
|
||||||
|
|
||||||
|
make_folder_selectable: function(folder_title, folder_value, depth, selected) {
|
||||||
|
return $.make('div', {
|
||||||
|
className: "NB-folder-option " + (selected ? "NB-folder-option-active" : ""),
|
||||||
|
style: 'padding-left: ' + depth*12 + 'px;'
|
||||||
|
}, [
|
||||||
|
$.make('div', { className: 'NB-icon' }),
|
||||||
|
$.make('div', { className: 'NB-folder-option-title' }, folder_title)
|
||||||
|
]).data('folder', folder_value);
|
||||||
},
|
},
|
||||||
|
|
||||||
hide_confirm_move_menu_item: function(moved) {
|
hide_confirm_move_menu_item: function(moved) {
|
||||||
var $move = $('.NB-menu-manage-feed-move,.NB-menu-manage-folder-move');
|
var $move_folder = $('.NB-menu-manage-folder-move');
|
||||||
var $confirm = $('.NB-menu-manage-feed-move-confirm,.NB-menu-manage-folder-move-confirm');
|
var $move_feed = $('.NB-menu-manage-feed-move');
|
||||||
|
var $confirm_folder = $('.NB-menu-manage-folder-move-confirm');
|
||||||
|
var $confirm_feed = $('.NB-menu-manage-feed-move-confirm');
|
||||||
|
|
||||||
$move.removeClass('NB-menu-manage-feed-move-cancel');
|
$move_folder.removeClass('NB-menu-manage-feed-move-cancel');
|
||||||
var text = 'Move to folder';
|
$move_feed.removeClass('NB-menu-manage-feed-move-cancel');
|
||||||
|
var text_folder = 'Move to folder';
|
||||||
|
var text_feed = 'Change folders';
|
||||||
if (moved) {
|
if (moved) {
|
||||||
text = 'Moved';
|
text_folder = 'Moved';
|
||||||
$move.addClass('NB-active');
|
text_feed = 'Moved';
|
||||||
|
$move_folder.addClass('NB-active');
|
||||||
|
$move_feed.addClass('NB-active');
|
||||||
} else {
|
} else {
|
||||||
$move.removeClass('NB-active');
|
$move_folder.removeClass('NB-active');
|
||||||
|
$move_feed.removeClass('NB-active');
|
||||||
}
|
}
|
||||||
$('.NB-menu-manage-title', $move).text(text);
|
$('.NB-menu-manage-title', $move_folder).text(text_folder);
|
||||||
$confirm.slideUp(500);
|
$('.NB-menu-manage-title', $move_feed).text(text_feed);
|
||||||
|
$confirm_feed.slideUp(500);
|
||||||
|
$confirm_folder.slideUp(500);
|
||||||
this.flags['showing_confirm_input_on_manage_menu'] = false;
|
this.flags['showing_confirm_input_on_manage_menu'] = false;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -3564,7 +3617,7 @@
|
||||||
var height = $confirm.height();
|
var height = $confirm.height();
|
||||||
$position.css('position', 'absolute');
|
$position.css('position', 'absolute');
|
||||||
$confirm.css({'height': 0, 'display': 'block'}).animate({'height': height}, {
|
$confirm.css({'height': 0, 'display': 'block'}).animate({'height': height}, {
|
||||||
'duration': 500,
|
'duration': 380,
|
||||||
'easing': 'easeOutQuart'
|
'easing': 'easeOutQuart'
|
||||||
});
|
});
|
||||||
$('input', $confirm).focus().select();
|
$('input', $confirm).focus().select();
|
||||||
|
@ -3642,7 +3695,7 @@
|
||||||
var height = $story_share.height();
|
var height = $story_share.height();
|
||||||
$position.css('position', 'absolute');
|
$position.css('position', 'absolute');
|
||||||
$confirm.css({'height': 0, 'display': 'block'}).animate({'height': height}, {
|
$confirm.css({'height': 0, 'display': 'block'}).animate({'height': height}, {
|
||||||
'duration': 500,
|
'duration': 380,
|
||||||
'easing': 'easeOutQuart'
|
'easing': 'easeOutQuart'
|
||||||
});
|
});
|
||||||
$('textarea', $confirm).focus().select();
|
$('textarea', $confirm).focus().select();
|
||||||
|
|
|
@ -5,6 +5,7 @@ NEWSBLUR.ReaderAccount = function(options) {
|
||||||
'change_password': false,
|
'change_password': false,
|
||||||
'onOpen': _.bind(function() {
|
'onOpen': _.bind(function() {
|
||||||
this.animate_fields();
|
this.animate_fields();
|
||||||
|
$(window).trigger('resize.simplemodal');
|
||||||
}, this)
|
}, this)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
10
media/js/newsblur/views/menu_sidebar.js
Normal file
10
media/js/newsblur/views/menu_sidebar.js
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
NEWSBLUR.Views.MenuSidebar = Backbone.View.extend({
|
||||||
|
|
||||||
|
className: "NB-menu-sidebar",
|
||||||
|
|
||||||
|
render: function() {
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
Loading…
Add table
Reference in a new issue