2018-10-16 16:28:42 +00:00
$ ( document ) . ready ( function ( ) {
$ . ajax ( {
2018-10-17 11:56:22 +00:00
url : "/blog/getComments" ,
2018-10-16 16:28:42 +00:00
data : {
url : window . location . pathname
} ,
beforeSend : function ( ) {
$ ( "#comment-list" ) . html ( "<h2><i class='fa fa-cog fa-spin'></i> Loading Comments</h2>" ) ;
} ,
success : function ( data ) {
console . log ( data ) ;
$ ( "#comment-list" ) . html ( data ) ;
} ,
error : function ( ) {
$ ( "#comment-list" ) . html ( "<div class='alert alert-danger' role='alert'><b>Error!</b> Couldn't load the comments for this posts caused by an unkown error! Please try again later or contact the admin for help.</div>" ) ;
}
} ) ;
$ ( '.blog .info-box' ) . each ( ( el ) => {
console . log ( el ) ;
} ) ;
} ) ;
$ ( '#commentForm' ) . submit ( function ( event ) {
event . preventDefault ( ) ;
addComment ( ) ;
} ) ;
var addComment = function ( ) {
if ( $ ( '#commentField' ) . val ( ) !== '' ) {
var comment = $ ( '#commentField' ) . val ( ) ;
comment . replace ( "\n" , "<br>" ) ;
var item ;
$ . ajax ( {
2018-10-17 11:56:22 +00:00
url : "/blog/comment" ,
2018-10-16 16:28:42 +00:00
method : 'POST' ,
data : {
url : window . location . pathname ,
comment : comment
} ,
beforeSend : function ( ) {
var date = new Date ( ) ;
date = date . getDate ( ) + '.' + date . getMonth ( ) + '.' + date . getYear ( ) + ' ' + date . getHours ( ) + ':' + date . getMinutes ( ) + ' Uhr' ;
item = $ ( `
< li >
< div class = "well comment-well" >
< div class = "d-inline-block mr-2" >
< div class = "image-placeholder" >
< / d i v >
< / d i v >
< div class = "d-inline-block mr-2" >
< h3 >
< small >
von Dir / $ { date }
< / s m a l l >
< / h 3 >
< p class = "comment" > $ { comment } < / p >
< / d i v >
< div class = "loading-container d-inline-block" >
< i class = "fa fa-cog fa-spin" > < / i >
< / d i v >
< / d i v >
< / l i >
` );
$ ( '#comment-list' ) . prepend ( item ) ;
$ ( '#commentField' ) . attr ( 'disabled' , '' ) ;
$ ( '#addComment' ) . attr ( 'disabled' , '' ) ;
} ,
success : function ( data ) {
console . log ( data ) ;
if ( data . type === 'success' ) {
$ ( '#commentField' ) . val ( '' ) ;
$ ( '#notice-container' ) . html ( '<div class="alert alert-success" role="alert">Dein Kommentar wurde <b>erfolgreich</b> gesendet!</div>' ) ;
$ ( '.loading-container' , item ) . css ( 'background-color' , '#28b62c' ) ;
$ ( '.loading-container i' , item )
. removeClass ( 'fa-cog' ) . removeClass ( 'fa-spin' )
. addClass ( 'fa-check' ) . css ( 'color' , '#fff' ) ;
$ ( '.content h3 small' , item ) . hide ( )
. html ( ` von <a href="/user/ ${ data . content . username } " target="_blank"> ${ data . content . displayname } </a> / ${ data . content . date } ` ) . fadeIn ( ) ;
$ ( '.loading-container' , item ) . delay ( 2000 ) . fadeOut ( 2000 ) ;
$ ( '.comment-well' , item ) . prepend ( ` <img src=" ${ data . content . profilePic } " style="display:none"> ` ) ;
$ ( '.comment-well img' , item ) . fadeIn ( 2000 ) ;
$ ( '.image-placeholder' , item ) . remove ( ) ;
wait ( 8000 ) ;
$ ( '.content' , item ) . removeClass ( 'small' ) ;
$ ( '.comment-count' ) . text ( parseInt ( $ ( '.comment-count' ) . text ( ) ) + 1 ) ;
} else {
}
} ,
error : function ( data ) {
console . log ( data ) ;
$ ( '#notice-container' ) . html ( '<div class="alert alert-danger" role="alert"><b>Error:</b> Comment couldn\'t be sent caused by an unkown error! Please try again later or contact the admin to get help!</div>' )
$ ( 'div.loading-container' , item ) . css ( 'background-color' , '#ff4136' ) ;
$ ( 'div.loading-container i' , item ) . removeClass ( 'fa-cog' ) . removeClass ( 'fa-spin' ) . addClass ( 'fa-exclamation' ) . css ( "color" , '#fff' ) ;
$ ( item ) . delay ( 3000 ) . fadeOut ( 2000 ) ;
} ,
complete : function ( ) {
$ ( '#commentField' ) . removeAttr ( 'disabled' ) ;
$ ( '#addComment' ) . html ( 'Kommentar senden' ) . removeAttr ( 'disabled' ) ;
}
} ) ;
}
} ;
function wait ( ms ) {
var start = new Date ( ) . getTime ( ) ;
var end = start ;
while ( end < start + ms ) {
end = new Date ( ) . getTime ( ) ;
}
}
function likeDislike ( postID ) {
$ . ajax ( {
type : "POST" ,
2018-10-17 11:56:22 +00:00
url : "/blog/like" ,
2018-10-16 16:28:42 +00:00
data : {
postID : postID
} ,
success : function ( data ) {
if ( data == "no-user" ) {
$ ( '#loginModal' ) . modal ( 'show' ) ;
} else {
data = data . split ( ":" ) ;
$ ( '.like-toggle-icon' ) . toggleClass ( '-checked' ) ;
$ ( '.like-count' ) . text ( data [ 1 ] ) ;
}
}
} ) ;
} ;