mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-09-18 21:50:56 +00:00
Making tags uniform across the site. Also beginning the final modal: Add feed.
This commit is contained in:
parent
adeab1652a
commit
1366f5e750
7 changed files with 145 additions and 90 deletions
|
@ -120,7 +120,11 @@ def get_classifiers_for_user(user, feed, classifier_feeds=None, classifier_autho
|
||||||
classifier_tags = ClassifierTag.objects.filter(user=user, feed=feed)
|
classifier_tags = ClassifierTag.objects.filter(user=user, feed=feed)
|
||||||
|
|
||||||
payload = {
|
payload = {
|
||||||
'feeds': dict([(f.id, f.score) for f in classifier_feeds]),
|
'feeds': dict((f.feed.feed_link, {
|
||||||
|
'feed_title': f.feed.feed_title,
|
||||||
|
'feed_link': f.feed.feed_link,
|
||||||
|
'score': f.score
|
||||||
|
}) for f in classifier_feeds),
|
||||||
'authors': dict([(a.author.author_name, a.score) for a in classifier_authors]),
|
'authors': dict([(a.author.author_name, a.score) for a in classifier_authors]),
|
||||||
'titles': dict([(t.title, t.score) for t in classifier_titles]),
|
'titles': dict([(t.title, t.score) for t in classifier_titles]),
|
||||||
'tags': dict([(t.tag.name, t.score) for t in classifier_tags]),
|
'tags': dict([(t.tag.name, t.score) for t in classifier_tags]),
|
||||||
|
|
|
@ -76,8 +76,8 @@ def save_classifier_publisher(request):
|
||||||
message = 'OK'
|
message = 'OK'
|
||||||
payload = {}
|
payload = {}
|
||||||
|
|
||||||
def _save_classifier(opinions, ContentCls, ClassifierCls, content_type, post_content_field):
|
def _save_classifier(ClassifierCls, content_type, ContentCls=None, post_content_field=None):
|
||||||
for opinion, score in opinions.items():
|
for opinion, score in {'like_'+content_type: 1, 'dislike_'+content_type: -2}.items():
|
||||||
if opinion in post:
|
if opinion in post:
|
||||||
post_contents = post.getlist(opinion)
|
post_contents = post.getlist(opinion)
|
||||||
for post_content in post_contents:
|
for post_content in post_contents:
|
||||||
|
@ -88,26 +88,27 @@ def save_classifier_publisher(request):
|
||||||
'score': score
|
'score': score
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ContentCls:
|
if content_type in ('author', 'tag'):
|
||||||
# Can't use post_content. lookup content and refer to that. Authors, Tags.
|
# Use content to lookup object. Authors, Tags.
|
||||||
content_dict = {
|
content_dict = {
|
||||||
post_content_field: post_content,
|
post_content_field: post_content,
|
||||||
'feed': feed
|
'feed': feed
|
||||||
}
|
}
|
||||||
content = ContentCls.objects.get(**content_dict)
|
content = ContentCls.objects.get(**content_dict)
|
||||||
classifier_dict.update({content_type: content})
|
classifier_dict.update({content_type: content})
|
||||||
elif content_type:
|
elif content_type in ('title',):
|
||||||
# Skip content lookup and just use content directly. Titles.
|
# Skip content lookup and just use content directly. Titles.
|
||||||
classifier_dict.update({content_type: post_content})
|
classifier_dict.update({content_type: post_content})
|
||||||
|
|
||||||
classifier, _ = ClassifierCls.objects.get_or_create(**classifier_dict)
|
classifier, _ = ClassifierCls.objects.get_or_create(**classifier_dict)
|
||||||
if classifier.score != score:
|
if classifier.score != score:
|
||||||
classifier.score = score
|
classifier.score = score
|
||||||
classifier.save()
|
classifier.save()
|
||||||
|
|
||||||
_save_classifier({'like_author': 1, 'dislike_author': -1}, StoryAuthor, ClassifierAuthor, 'author', 'author_name')
|
_save_classifier(ClassifierAuthor, 'author', StoryAuthor, 'author_name')
|
||||||
_save_classifier({'like_tag': 1, 'dislike_tag': -1}, Tag, ClassifierTag, 'tag', 'name')
|
_save_classifier(ClassifierTag, 'tag', Tag, 'name')
|
||||||
_save_classifier({'like_title': 1, 'dislike_title': -1}, None, ClassifierTitle, 'title', None)
|
_save_classifier(ClassifierTitle, 'title')
|
||||||
_save_classifier({'like_publisher': 1, 'dislike_publisher': -1}, None, ClassifierFeed, None, None)
|
_save_classifier(ClassifierFeed, 'publisher')
|
||||||
|
|
||||||
response = dict(code=code, message=message, payload=payload)
|
response = dict(code=code, message=message, payload=payload)
|
||||||
return response
|
return response
|
||||||
|
|
|
@ -31,8 +31,11 @@ SINGLE_DAY = 60*60*24
|
||||||
|
|
||||||
@never_cache
|
@never_cache
|
||||||
def index(request):
|
def index(request):
|
||||||
print "User: %s" % request.user
|
if request.method == "POST":
|
||||||
form = AuthenticationForm(request.POST)
|
form = AuthenticationForm(request.POST)
|
||||||
|
else:
|
||||||
|
form = AuthenticationForm()
|
||||||
|
|
||||||
return render_to_response('reader/feeds.xhtml', {'form': form},
|
return render_to_response('reader/feeds.xhtml', {'form': form},
|
||||||
context_instance=RequestContext(request))
|
context_instance=RequestContext(request))
|
||||||
|
|
||||||
|
|
|
@ -1007,13 +1007,12 @@ form.opml_import_form input {
|
||||||
}
|
}
|
||||||
|
|
||||||
.NB-modal .NB-modal-field {
|
.NB-modal .NB-modal-field {
|
||||||
margin: 0 0 0 24px;
|
margin: 0;
|
||||||
position: relative;
|
position: relative;
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
||||||
.NB-modal .NB-modal-field h5 {
|
.NB-modal .NB-modal-field h5 {
|
||||||
margin-left: -24px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.NB-modal .NB-modal-field input[type=text] {
|
.NB-modal .NB-modal-field input[type=text] {
|
||||||
|
@ -1022,7 +1021,7 @@ form.opml_import_form input {
|
||||||
}
|
}
|
||||||
|
|
||||||
.NB-modal .NB-modal-field input[type=checkbox] {
|
.NB-modal .NB-modal-field input[type=checkbox] {
|
||||||
margin: 4px 0 0 -20px;
|
margin: 4px 0 0 0px;
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1070,7 +1069,6 @@ form.opml_import_form input {
|
||||||
}
|
}
|
||||||
|
|
||||||
.NB-classifier .NB-publisher .NB-classifier-authors {
|
.NB-classifier .NB-publisher .NB-classifier-authors {
|
||||||
margin-left: -24px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.NB-classifier .NB-publisher .NB-classifier-authors .NB-classifier-author {
|
.NB-classifier .NB-publisher .NB-classifier-authors .NB-classifier-author {
|
||||||
|
@ -1091,6 +1089,10 @@ form.opml_import_form input {
|
||||||
margin: 2px 6px 6px 0;
|
margin: 2px 6px 6px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.NB-classifier .NB-classifier-tag-container .NB-classifier {
|
||||||
|
margin: 0 2px 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
.NB-classifier .NB-classifier-tag {
|
.NB-classifier .NB-classifier-tag {
|
||||||
background-color: #E0E0FF;
|
background-color: #E0E0FF;
|
||||||
padding: 2px 6px 2px 0px;
|
padding: 2px 6px 2px 0px;
|
||||||
|
@ -1110,10 +1112,6 @@ form.opml_import_form input {
|
||||||
margin: 0 6px 0 2px;
|
margin: 0 6px 0 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.NB-classifier .NB-classifier-tags {
|
|
||||||
margin-left: -24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.NB-classifier .NB-modal-title .NB-classifier-like {
|
.NB-classifier .NB-modal-title .NB-classifier-like {
|
||||||
color: #3D931B;
|
color: #3D931B;
|
||||||
}
|
}
|
||||||
|
@ -1126,6 +1124,10 @@ form.opml_import_form input {
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.NB-classifiers {
|
||||||
|
margin-left: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
/* ======================= */
|
/* ======================= */
|
||||||
/* = Intelligence Slider = */
|
/* = Intelligence Slider = */
|
||||||
/* ======================= */
|
/* ======================= */
|
||||||
|
@ -1201,41 +1203,6 @@ form.opml_import_form input {
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
||||||
.NB-manage .NB-classifier {
|
|
||||||
white-space: nowrap;
|
|
||||||
float: left;
|
|
||||||
display: block;
|
|
||||||
margin: 2px 6px 6px 0;
|
|
||||||
cursor: pointer;
|
|
||||||
padding: 2px 6px 2px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.NB-manage .NB-classifier input[type=checkbox] {
|
|
||||||
margin: 0px 4px 0px;
|
|
||||||
float: none;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.NB-manage .NB-classifier label {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.NB-manage .NB-classifier.NB-classifier-tag {
|
|
||||||
background-color: #E0E0FF;
|
|
||||||
}
|
|
||||||
|
|
||||||
.NB-manage .NB-classifier.NB-classifier-title {
|
|
||||||
background-color: yellow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.NB-manage .NB-classifier.NB-classifier-author {
|
|
||||||
background-color: orange;
|
|
||||||
}
|
|
||||||
|
|
||||||
.NB-manage .NB-classifier.NB-classifier-publisher {
|
|
||||||
background-color: purple;
|
|
||||||
}
|
|
||||||
|
|
||||||
.NB-manage .NB-classifier-empty {
|
.NB-manage .NB-classifier-empty {
|
||||||
margin: 0 0 0 12px;
|
margin: 0 0 0 12px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
@ -1302,3 +1269,62 @@ form.opml_import_form input {
|
||||||
color: #DBDBDB;
|
color: #DBDBDB;
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* =================== */
|
||||||
|
/* = Classifier Tags = */
|
||||||
|
/* =================== */
|
||||||
|
|
||||||
|
.NB-classifiers {
|
||||||
|
clear: both;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.NB-classifiers ::-moz-selection {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.NB-classifiers ::selection {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.NB-classifiers .NB-classifier {
|
||||||
|
white-space: nowrap;
|
||||||
|
float: left;
|
||||||
|
display: block;
|
||||||
|
margin: 2px 6px 6px 0;
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 2px 9px 2px 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.NB-classifiers .NB-classifier input[type=checkbox] {
|
||||||
|
margin: 0px 4px 0px;
|
||||||
|
float: none;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.NB-classifiers .NB-classifier label {
|
||||||
|
cursor: pointer;
|
||||||
|
color: black;
|
||||||
|
text-shadow: 1px 1px 0 #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.NB-classifiers .NB-classifier.NB-classifier-tag {
|
||||||
|
background-color: #FFA200;
|
||||||
|
}
|
||||||
|
|
||||||
|
.NB-classifiers .NB-classifier.NB-classifier-title {
|
||||||
|
background-color: #FF7940;
|
||||||
|
}
|
||||||
|
|
||||||
|
.NB-classifiers .NB-classifier.NB-classifier-author {
|
||||||
|
background-color: #60D6A7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.NB-classifiers .NB-classifier.NB-classifier-publisher {
|
||||||
|
background-color: #6a93d4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.NB-classifiers .NB-classifier.NB-classifier-facet-disabled {
|
||||||
|
background-color: white;
|
||||||
|
}
|
|
@ -23,7 +23,16 @@ NEWSBLUR.ReaderAddFeed.prototype = {
|
||||||
$.make('form', { method: 'post', enctype: 'multipart/form-data', className: 'NB-add-form' }, [
|
$.make('form', { method: 'post', enctype: 'multipart/form-data', className: 'NB-add-form' }, [
|
||||||
$.make('div', { className: 'NB-add-field' }, [
|
$.make('div', { className: 'NB-add-field' }, [
|
||||||
$.make('h5', 'Search for a publisher'),
|
$.make('h5', 'Search for a publisher'),
|
||||||
|
$.make('div', { className: 'NB-add-fields' }, [
|
||||||
|
$.make('div', [
|
||||||
|
$.make('label', { 'for': 'NB-add-url' }, 'URL: '),
|
||||||
|
$.make('input', { id: 'NB-add-url', name: 'url' })
|
||||||
|
])
|
||||||
|
]),
|
||||||
$.make('h5', 'Import from Google Reader'),
|
$.make('h5', 'Import from Google Reader'),
|
||||||
|
$.make('div', { className: 'NB-add-fields' }, [
|
||||||
|
$.make('div', { className: 'NB-disabled' }, 'Google Reader integration coming in the next few months.')
|
||||||
|
]),
|
||||||
$.make('h5', 'Upload OPML (from Google Reader)'),
|
$.make('h5', 'Upload OPML (from Google Reader)'),
|
||||||
$.make('input', { type: 'file', name: 'file', id: 'opml_file_input' }),
|
$.make('input', { type: 'file', name: 'file', id: 'opml_file_input' }),
|
||||||
$.make('input', { type: 'submit', className: 'NB-add-opml-button', value: 'Upload OPML File' }).click(function(e) {
|
$.make('input', { type: 'submit', className: 'NB-add-opml-button', value: 'Upload OPML File' }).click(function(e) {
|
||||||
|
|
|
@ -63,7 +63,7 @@ var classifier = {
|
||||||
for (var fa in this.feed_authors) {
|
for (var fa in this.feed_authors) {
|
||||||
var feed_author = this.feed_authors[fa];
|
var feed_author = this.feed_authors[fa];
|
||||||
if (feed_author[0]) {
|
if (feed_author[0]) {
|
||||||
var $author = $.make('span', { className: 'NB-classifier-author' }, [
|
var $author = $.make('span', { className: 'NB-classifier-author NB-classifier' }, [
|
||||||
$.make('input', { type: 'checkbox', name: 'author', value: feed_author[0], id: 'classifier_author_'+fa }),
|
$.make('input', { type: 'checkbox', name: 'author', value: feed_author[0], id: 'classifier_author_'+fa }),
|
||||||
$.make('label', { 'for': 'classifier_author_'+fa }, feed_author[0])
|
$.make('label', { 'for': 'classifier_author_'+fa }, feed_author[0])
|
||||||
]);
|
]);
|
||||||
|
@ -77,7 +77,7 @@ var classifier = {
|
||||||
var tag = this.feed_tags[t];
|
var tag = this.feed_tags[t];
|
||||||
var checked = (tag[0] in this.model.classifiers.tags) ? 'checked' : 'false';
|
var checked = (tag[0] in this.model.classifiers.tags) ? 'checked' : 'false';
|
||||||
var $tag = $.make('span', { className: 'NB-classifier-tag-container' }, [
|
var $tag = $.make('span', { className: 'NB-classifier-tag-container' }, [
|
||||||
$.make('span', { className: 'NB-classifier-tag' }, [
|
$.make('span', { className: 'NB-classifier-tag NB-classifier' }, [
|
||||||
$.make('input', { type: 'checkbox', name: 'tag', value: tag[0], id: 'classifier_tag_'+t, checked: checked }),
|
$.make('input', { type: 'checkbox', name: 'tag', value: tag[0], id: 'classifier_tag_'+t, checked: checked }),
|
||||||
$.make('label', { 'for': 'classifier_tag_'+t }, [
|
$.make('label', { 'for': 'classifier_tag_'+t }, [
|
||||||
$.make('b', tag[0])
|
$.make('b', tag[0])
|
||||||
|
@ -95,21 +95,25 @@ var classifier = {
|
||||||
this.$classifier = $.make('div', { className: 'NB-classifier NB-modal' }, [
|
this.$classifier = $.make('div', { className: 'NB-classifier NB-modal' }, [
|
||||||
$.make('h2', { className: 'NB-modal-title' }),
|
$.make('h2', { className: 'NB-modal-title' }),
|
||||||
$.make('form', { method: 'post', className: 'NB-publisher' }, [
|
$.make('form', { method: 'post', className: 'NB-publisher' }, [
|
||||||
($feed_authors.length && $.make('div', { className: 'NB-modal-field' }, [
|
($feed_authors.length && $.make('div', { className: 'NB-modal-field NB-classifiers' }, [
|
||||||
$.make('h5', 'Authors'),
|
$.make('h5', 'Authors'),
|
||||||
$.make('div', { className: 'NB-classifier-authors' }, $feed_authors)
|
$.make('div', { className: 'NB-classifier-authors NB-classifiers' }, $feed_authors)
|
||||||
])),
|
])),
|
||||||
($feed_tags.length && $.make('div', { className: 'NB-modal-field' }, [
|
($feed_tags.length && $.make('div', { className: 'NB-modal-field' }, [
|
||||||
$.make('h5', 'Categories & Tags'),
|
$.make('h5', 'Categories & Tags'),
|
||||||
$.make('div', { className: 'NB-classifier-tags' }, $feed_tags)
|
$.make('div', { className: 'NB-classifier-tags NB-classifiers' }, $feed_tags)
|
||||||
])),
|
])),
|
||||||
$.make('div', { className: 'NB-modal-field' }, [
|
$.make('div', { className: 'NB-modal-field NB-classifiers' }, [
|
||||||
$.make('h5', 'Everything by This Publisher'),
|
$.make('h5', 'Everything by This Publisher'),
|
||||||
|
$.make('div', { className: 'NB-classifiers' }, [
|
||||||
|
$.make('div', { className: 'NB-classifier NB-classifier-publisher' }, [
|
||||||
$.make('input', { type: 'checkbox', name: 'facet', value: 'publisher', id: 'classifier_publisher' }),
|
$.make('input', { type: 'checkbox', name: 'facet', value: 'publisher', id: 'classifier_publisher' }),
|
||||||
$.make('label', { 'for': 'classifier_publisher' }, [
|
$.make('label', { 'for': 'classifier_publisher' }, [
|
||||||
$.make('img', { className: 'feed_favicon', src: this.google_favicon_url + feed.feed_link }),
|
$.make('img', { className: 'feed_favicon', src: this.google_favicon_url + feed.feed_link }),
|
||||||
$.make('span', { className: 'feed_title' }, feed.feed_title)
|
$.make('span', { className: 'feed_title' }, feed.feed_title)
|
||||||
])
|
])
|
||||||
|
])
|
||||||
|
])
|
||||||
]),
|
]),
|
||||||
$.make('div', { className: 'NB-modal-submit' }, [
|
$.make('div', { className: 'NB-modal-submit' }, [
|
||||||
$.make('input', { name: 'score', value: this.score, type: 'hidden' }),
|
$.make('input', { name: 'score', value: this.score, type: 'hidden' }),
|
||||||
|
@ -151,13 +155,11 @@ var classifier = {
|
||||||
if (tag in this.model.classifiers.tags && this.model.classifiers.tags[tag] == this.score) {
|
if (tag in this.model.classifiers.tags && this.model.classifiers.tags[tag] == this.score) {
|
||||||
input_attrs['checked'] = 'checked';
|
input_attrs['checked'] = 'checked';
|
||||||
}
|
}
|
||||||
var $tag = $.make('span', { className: 'NB-classifier-tag-container' }, [
|
var $tag = $.make('span', { className: 'NB-classifier-tag-container NB-classifier NB-classifier-tag' }, [
|
||||||
$.make('span', { className: 'NB-classifier-tag' }, [
|
|
||||||
$.make('input', input_attrs),
|
$.make('input', input_attrs),
|
||||||
$.make('label', { 'for': 'classifier_tag_'+t }, [
|
$.make('label', { 'for': 'classifier_tag_'+t }, [
|
||||||
$.make('b', tag)
|
$.make('b', tag)
|
||||||
])
|
])
|
||||||
])
|
|
||||||
]);
|
]);
|
||||||
$story_tags.push($tag);
|
$story_tags.push($tag);
|
||||||
}
|
}
|
||||||
|
@ -175,6 +177,7 @@ var classifier = {
|
||||||
$.make('form', { method: 'post' }, [
|
$.make('form', { method: 'post' }, [
|
||||||
(story.story_title && $.make('div', { className: 'NB-modal-field' }, [
|
(story.story_title && $.make('div', { className: 'NB-modal-field' }, [
|
||||||
$.make('h5', 'Story Title'),
|
$.make('h5', 'Story Title'),
|
||||||
|
$.make('div', { className: 'NB-classifiers' }, [
|
||||||
$.make('input', { type: 'checkbox', name: 'facet', value: 'title', id: 'classifier_title' }),
|
$.make('input', { type: 'checkbox', name: 'facet', value: 'title', id: 'classifier_title' }),
|
||||||
$.make('input', { type: 'text', value: story.story_title, className: 'NB-classifier-title-highlight' }),
|
$.make('input', { type: 'text', value: story.story_title, className: 'NB-classifier-title-highlight' }),
|
||||||
$.make('label', { 'for': 'classifier_title' }, [
|
$.make('label', { 'for': 'classifier_title' }, [
|
||||||
|
@ -184,25 +187,34 @@ var classifier = {
|
||||||
$.make('input', { name: 'title', value: '', type: 'hidden', className: 'NB-classifier-title-hidden' })
|
$.make('input', { name: 'title', value: '', type: 'hidden', className: 'NB-classifier-title-hidden' })
|
||||||
])
|
])
|
||||||
])
|
])
|
||||||
|
])
|
||||||
])),
|
])),
|
||||||
(story.story_authors && $.make('div', { className: 'NB-modal-field' }, [
|
(story.story_authors && $.make('div', { className: 'NB-modal-field' }, [
|
||||||
$.make('h5', 'Story Author'),
|
$.make('h5', 'Story Author'),
|
||||||
|
$.make('div', { className: 'NB-classifiers' }, [
|
||||||
|
$.make('div', { className: 'NB-classifier NB-classifier-author' }, [
|
||||||
$story_author,
|
$story_author,
|
||||||
$.make('label', { 'for': 'classifier_author' }, [
|
$.make('label', { 'for': 'classifier_author' }, [
|
||||||
$.make('b', story.story_authors)
|
$.make('b', story.story_authors)
|
||||||
])
|
])
|
||||||
|
])
|
||||||
|
])
|
||||||
])),
|
])),
|
||||||
($story_tags.length && $.make('div', { className: 'NB-modal-field' }, [
|
($story_tags.length && $.make('div', { className: 'NB-modal-field' }, [
|
||||||
$.make('h5', 'Story Categories & Tags'),
|
$.make('h5', 'Story Categories & Tags'),
|
||||||
$.make('div', { className: 'NB-classifier-tags' }, $story_tags)
|
$.make('div', { className: 'NB-classifier-tags NB-classifiers' }, $story_tags)
|
||||||
])),
|
])),
|
||||||
$.make('div', { className: 'NB-modal-field' }, [
|
$.make('div', { className: 'NB-modal-field' }, [
|
||||||
$.make('h5', 'Everything by This Publisher'),
|
$.make('h5', 'Everything by This Publisher'),
|
||||||
|
$.make('div', { className: 'NB-classifiers' }, [
|
||||||
|
$.make('div', { className: 'NB-classifier NB-classifier-publisher' }, [
|
||||||
$.make('input', { type: 'checkbox', name: 'facet', value: 'publisher', id: 'classifier_publisher' }),
|
$.make('input', { type: 'checkbox', name: 'facet', value: 'publisher', id: 'classifier_publisher' }),
|
||||||
$.make('label', { 'for': 'classifier_publisher' }, [
|
$.make('label', { 'for': 'classifier_publisher' }, [
|
||||||
$.make('img', { className: 'feed_favicon', src: this.google_favicon_url + feed.feed_link }),
|
$.make('img', { className: 'feed_favicon', src: this.google_favicon_url + feed.feed_link }),
|
||||||
$.make('span', { className: 'feed_title' }, feed.feed_title)
|
$.make('span', { className: 'feed_title' }, feed.feed_title)
|
||||||
])
|
])
|
||||||
|
])
|
||||||
|
])
|
||||||
]),
|
]),
|
||||||
$.make('div', { className: 'NB-modal-submit' }, [
|
$.make('div', { className: 'NB-modal-submit' }, [
|
||||||
$.make('input', { name: 'score', value: this.score, type: 'hidden' }),
|
$.make('input', { name: 'score', value: this.score, type: 'hidden' }),
|
||||||
|
@ -246,7 +258,7 @@ var classifier = {
|
||||||
},
|
},
|
||||||
'onShow': function(dialog) {
|
'onShow': function(dialog) {
|
||||||
$('#simplemodal-container').corner('6px').css({'width': 600, 'height': height});
|
$('#simplemodal-container').corner('6px').css({'width': 600, 'height': height});
|
||||||
$('.NB-classifier-tag', self.$classifier).corner('4px');
|
$('.NB-classifier', self.$classifier).corner('14px');
|
||||||
},
|
},
|
||||||
'onClose': function(dialog) {
|
'onClose': function(dialog) {
|
||||||
dialog.data.hide().empty().remove();
|
dialog.data.hide().empty().remove();
|
||||||
|
|
|
@ -139,8 +139,8 @@ NEWSBLUR.ReaderManageFeed.prototype = {
|
||||||
// Publisher
|
// Publisher
|
||||||
var $publishers = $.make('div', { className: 'NB-classifiers NB-classifier-publishers'});
|
var $publishers = $.make('div', { className: 'NB-classifiers NB-classifier-publishers'});
|
||||||
for (var p in classifiers.feeds) {
|
for (var p in classifiers.feeds) {
|
||||||
if (classifiers.feeds[p] == score) {
|
if (classifiers.feeds[p].score == score) {
|
||||||
var $publisher = this.make_tag(p, i++, opinion);
|
var $publisher = this.make_publisher(classifiers.feeds[p], i++, opinion);
|
||||||
$publishers.append($publisher);
|
$publishers.append($publisher);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -232,7 +232,7 @@ NEWSBLUR.ReaderManageFeed.prototype = {
|
||||||
var $classifiers_dislikes = this.make_classifiers(classifiers.payload, -1);
|
var $classifiers_dislikes = this.make_classifiers(classifiers.payload, -1);
|
||||||
$dislikes.empty().append($classifiers_dislikes);
|
$dislikes.empty().append($classifiers_dislikes);
|
||||||
|
|
||||||
$('.NB-classifier', this.$manage).corner('4px');
|
$('.NB-classifier', this.$manage).corner('14px');
|
||||||
},
|
},
|
||||||
|
|
||||||
open_modal: function() {
|
open_modal: function() {
|
||||||
|
|
Loading…
Add table
Reference in a new issue