freeCodeCamp/views/stories/news-nav.jade

64 lines
3.0 KiB
Plaintext

a.btn.btn-primary.btn-big.btn-block(href='/stories/submit' class="#{ page === 'hot' ? '' : 'hidden' }") Submit a link
a.btn.btn-success.btn-big.btn-block(href='/stories/hot' class="#{ (page === 'show' || page === 'submit' || page === 'storySubmission') ? '' : 'hidden' }") Show all Links
.spacer
.input-group(class="#{ page === 'hot' ? '' : 'hidden' }")
input#searchArea.big-text-field.field-responsive.form-control(type='text', placeholder='Search our links', autofocus)
span.input-group-btn
button#searchbutton.btn.btn-big.btn-primary.btn-responsive(type='button') Search
.spacer
#search-results
.spacer
#story-list
ul#stories
script.
$('#searchArea').keypress(function (event) {
if (event.keyCode === 13 || event.which === 13) {
executeSearch();
$('#searchArea').focus();
event.preventDefault();
}
});
$('#searchbutton').on('click', function () {
executeSearch();
});
function executeSearch() {
$('#stories').empty();
var searchTerm = $('#searchArea').val();
var getLinkedName = function getLinkedName(name) {
return name.toLowerCase().replace(/\s/g, '-');
}
$.post('/stories/search',
{
data: {
searchValue: searchTerm
}
})
.fail(function (xhr, textStatus, errorThrown) {
})
.done(function (data, textStatus, xhr) {
for (var i = 0; i < data.length; i++) {
var div = document.createElement('div');
var linkedName = getLinkedName(data[i].storyLink);
var rank = data[i].rank;
$(div).html(
"<div class='row text-left'>" +
"<div class='col-xs-4 col-sm-2 col-md-1'>" +
"<a href='" + data[i].link + "' target='_blank'>" +
"<img src='" + data[i].author.picture + "' class='img-responsive mobile-story-image'/>" +
"</div>" +
"<div class='col-xs-8 col-sm-10 col-md-11 text-center'>" +
"<div class='story-headline'>" +
"<a href='/stories/" + linkedName + "'>"
+ data[i].storyLink +
"</a><br>" +
"</div>" +
"Posted " +
moment(data[i].timePosted).fromNow() +
" by <a href='/" + data[i].author.username + "'>@" + data[i].author.username + "</a> " +
"</div>" +
"</div>")
$(div).appendTo($('#search-results'));
}
});
}