mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +00:00
Adding preference for changing days of unreads. Need to kick off a re-counter on preference change.
This commit is contained in:
parent
6ec1d762b7
commit
0baaa951b9
6 changed files with 79 additions and 4 deletions
|
@ -34,7 +34,7 @@ from paypal.standard.forms import PayPalPaymentsForm
|
|||
|
||||
SINGLE_FIELD_PREFS = ('timezone','feed_pane_size','hide_mobile','send_emails',
|
||||
'hide_getting_started', 'has_setup_feeds', 'has_found_friends',
|
||||
'has_trained_intelligence')
|
||||
'has_trained_intelligence', 'days_of_unread')
|
||||
SPECIAL_PREFERENCES = ('old_password', 'new_password', 'autofollow_friends', 'dashboard_date',)
|
||||
|
||||
@ajax_login_required
|
||||
|
|
|
@ -10546,6 +10546,14 @@ form.opml_import_form input {
|
|||
-webkit-box-shadow:2px 2px 0 #D0D0D0;
|
||||
box-shadow:2px 2px 0 #D0D0D0;
|
||||
}
|
||||
.NB-modal-preferences .NB-preference-daysofunread .NB-tangle-daysofunread-control {
|
||||
margin-top: 4px;
|
||||
margin-left: 32px;
|
||||
width: 300px;
|
||||
}
|
||||
.NB-modal-preferences .NB-preference-daysofunread .NB-preference-options label {
|
||||
float: none;
|
||||
}
|
||||
.NB-modal-preferences .NB-preference-readstorydelay .NB-tangle-readstorydelay,
|
||||
.NB-modal-preferences .NB-preference-slider {
|
||||
display: inline-block;
|
||||
|
|
|
@ -48,6 +48,28 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
]),
|
||||
$.make('form', { className: 'NB-preferences-form' }, [
|
||||
$.make('div', { className: 'NB-tab NB-tab-general NB-active' }, [
|
||||
$.make('div', { className: 'NB-preference NB-preference-daysofunread' }, [
|
||||
$.make('div', { className: 'NB-preference-options' }, [
|
||||
$.make('div', [
|
||||
$.make('input', { id: 'NB-preference-daysofunread-1', type: 'radio', name: 'days_of_unread', value: 9999 }),
|
||||
$.make('label', { 'for': 'NB-preference-daysofunread-1' }, [
|
||||
'Manually mark every story as read'
|
||||
])
|
||||
]),
|
||||
$.make('div', [
|
||||
$.make('input', { id: 'NB-preference-daysofunread-2', type: 'radio', name: 'days_of_unread', value: 0 }),
|
||||
$.make('label', { 'for': 'NB-preference-daysofunread-2', className: 'NB-preference-daysofunread-slider-label' }, [
|
||||
'Mark stories as read after',
|
||||
$.make('span', { className: 'NB-tangle-daysofunread-control NB-preference-slider', 'data-var': 'arrow' }),
|
||||
$.make('span', { className: 'NB-tangle-daysofunread' }, NEWSBLUR.Preferences.days_of_unread + ' days'),
|
||||
$.make('input', { name: 'daysofunread_input', value: NEWSBLUR.Preferences.days_of_unread, type: 'hidden' })
|
||||
])
|
||||
])
|
||||
]),
|
||||
$.make('div', { className: 'NB-preference-label'}, [
|
||||
'Days of unreads'
|
||||
])
|
||||
]),
|
||||
$.make('div', { className: 'NB-preference' }, [
|
||||
$.make('div', { className: 'NB-preference-options' }, [
|
||||
$.make('div', [
|
||||
|
@ -1105,6 +1127,12 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
return false;
|
||||
}
|
||||
});
|
||||
$('input[name=days_of_unread]', $modal).each(function() {
|
||||
if ($(this).val() == ""+NEWSBLUR.Preferences.days_of_unread) {
|
||||
$(this).prop('checked', true);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
$('input[name=read_story_delay]', $modal).each(function() {
|
||||
if ($(this).val() == ""+NEWSBLUR.Preferences.read_story_delay) {
|
||||
$(this).prop('checked', true);
|
||||
|
@ -1207,6 +1235,14 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
$('input#NB-preference-story-share-'+share_name, $modal).prop('checked', NEWSBLUR.Preferences[share]);
|
||||
});
|
||||
|
||||
$(".NB-tangle-daysofunread-control", $modal).slider({
|
||||
range: 'min',
|
||||
min: 1,
|
||||
max: 365,
|
||||
step: 1,
|
||||
value: NEWSBLUR.Preferences.days_of_unread,
|
||||
slide: _.bind(this.slide_days_of_unread_slider, this)
|
||||
});
|
||||
$(".NB-tangle-readstorydelay", $modal).slider({
|
||||
range: 'min',
|
||||
min: 1,
|
||||
|
@ -1233,12 +1269,34 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
slide: _.bind(this.slide_space_scroll_spacing_slider, this),
|
||||
disabled: !NEWSBLUR.Globals.is_premium
|
||||
});
|
||||
this.slide_days_of_unread_slider();
|
||||
this.slide_read_story_delay_slider();
|
||||
this.slide_arrow_scroll_spacing_slider();
|
||||
this.slide_space_scroll_spacing_slider();
|
||||
},
|
||||
|
||||
slide_read_story_delay_slider: function(e, ui) {
|
||||
slide_days_of_unread_slider: function(e, ui) {
|
||||
var value = (ui && ui.value) ||
|
||||
(NEWSBLUR.Preferences.days_of_unread);
|
||||
if (NEWSBLUR.Preferences.days_of_unread <= 365 || ui) {
|
||||
$(".NB-tangle-daysofunread", this.$modal).text(value == 1 ? value + ' day' : value + ' days');
|
||||
$("input[name=daysofunread_input]", this.$modal).val(value);
|
||||
$("#NB-preference-daysofunread-2", this.$modal).prop('checked', true).val(value);
|
||||
if (ui) {
|
||||
this.enable_save();
|
||||
}
|
||||
} else {
|
||||
$("#NB-preference-daysofunread-1", this.$modal).prop('checked', true).val(value);
|
||||
|
||||
var default_days_of_unread = NEWSBLUR.Globals.default_days_of_unread;
|
||||
$(".NB-tangle-daysofunread", this.$modal).text(default_days_of_unread + ' days');
|
||||
$("input[name=daysofunread_input]", this.$modal).val(default_days_of_unread);
|
||||
$("#NB-preference-daysofunread-2", this.$modal).val(default_days_of_unread);
|
||||
$(".NB-tangle-daysofunread-control", this.$modal).slider('value', default_days_of_unread);
|
||||
}
|
||||
},
|
||||
|
||||
slide_read_story_delay_slider: function (e, ui) {
|
||||
var value = (ui && ui.value) ||
|
||||
(NEWSBLUR.Preferences.read_story_delay > 0 ? NEWSBLUR.Preferences.read_story_delay : 1);
|
||||
$(".NB-tangle-seconds", this.$modal).text(value == 1 ? value + ' second.' : value + ' seconds.');
|
||||
|
@ -1324,6 +1382,9 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
if (self.original_preferences['ssl'] != form['ssl']) {
|
||||
NEWSBLUR.reader.check_and_load_ssl();
|
||||
}
|
||||
if (self.original_preferences['days_of_unreads'] != form['days_of_unreads']) {
|
||||
NEWSBLUR.reader.force_feeds_refresh();
|
||||
}
|
||||
self.close();
|
||||
});
|
||||
},
|
||||
|
|
|
@ -20,7 +20,7 @@ SESSION_COOKIE_DOMAIN = 'localhost'
|
|||
|
||||
DOCKERBUILD = True
|
||||
DEBUG = False
|
||||
# DEBUG = True
|
||||
DEBUG = True
|
||||
|
||||
# DEBUG_ASSETS controls JS/CSS asset packaging. Turning this off requires you to run
|
||||
# `./manage.py collectstatic` first. Turn this on for development so you can see
|
||||
|
|
|
@ -30,7 +30,8 @@
|
|||
{% if user.pk %}'user_id' : {{ user.pk }},{% endif %}
|
||||
'email' : "{{ user.email|safe }}",
|
||||
'MEDIA_URL' : "{{ MEDIA_URL }}",
|
||||
'debug' : {{ debug|yesno:"true,false" }}
|
||||
'debug' : {{ debug|yesno:"true,false" }},
|
||||
'default_days_of_unread' : {% settings_value "DAYS_OF_UNREAD" %}
|
||||
};
|
||||
NEWSBLUR.Flags = {
|
||||
};
|
||||
|
@ -80,6 +81,7 @@
|
|||
'story_line_spacing' : 'm',
|
||||
'hide_public_comments' : false,
|
||||
'story_button_placement' : "right",
|
||||
'days_of_unread' : {{ user_profile.days_of_unread }},
|
||||
'timezone' : "{{ user_profile.timezone }}",
|
||||
'title_counts' : true,
|
||||
'show_global_shared_stories': true,
|
||||
|
|
|
@ -213,6 +213,10 @@ def commify(n):
|
|||
out += '.' + cents
|
||||
return out
|
||||
|
||||
@register.simple_tag
|
||||
def settings_value(name):
|
||||
return getattr(settings, name, "")
|
||||
|
||||
@register.filter
|
||||
def smooth_timedelta(timedeltaobj):
|
||||
"""Convert a datetime.timedelta object into Days, Hours, Minutes, Seconds."""
|
||||
|
|
Loading…
Add table
Reference in a new issue