yavsc/Yavsc/wwwroot/js/comment.min.js

1 line
3.6 KiB
JavaScript

7 years ago
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){t.widget("psc.blogcomment",{options:{apictrlr:null,authorId:null,authorName:null,omob:"#ffe08030",omof:"#501208",bgc:"#fff",fgc:"#000",lang:"fr-FR",allowCoc:!0},editable:!1,editting:!1,hideBtn:null,delBtn:null,cmtInput:null,cmtBtn:null,ctlBtn:null,collapsed:!1,subCmts:null,_create:function(){var e=this;this.element.addClass("blogcomment");var o=new Date(this.element.data("date")),n=this.element.data("username");this.editable=this.element.data("allow-edit"),this.element.prepend('<div class="commentmeta"><div class="avatar"><img src="/Avatars/'+n+'.xs.png" class="smalltofhol" />'+n+'</div><div class="cmtdatetime">'+o.toLocaleDateString(this.options.lang)+" "+o.toLocaleTimeString(this.options.lang)+"</div></div>"),this.element.on("mouseenter",this.onMouseEnter),this.element.on("mouseleave",this.onMouseLeave),this.ctlBtn=t('<button class="btn glyphicon-collapse-down"></button>').on("click",function(t){e.toggleCollapse(e,t)}).appendTo(e.element)},toggleCollapse:function(e,o){e.collapsed=!e.collapsed,e.collapsed?(t(e.ctlBtn).removeClass("glyphicon-collapse-down"),t(e.ctlBtn).addClass("glyphicon-collapse-up")):(t(e.ctlBtn).removeClass("glyphicon-collapse-up"),t(e.ctlBtn).addClass("glyphicon-collapse-down")),e.editable&&e.toggleEdit(e,o),e.options.allowCoc&&e.toggleComment(e,o)},toggleEdit:function(e,o){e.delBtn?(e.delBtn.remove(),e.delBtn=null):(e.delBtn=t('<button class="btn btn-warning">Supprimer</button>'),e.delBtn.on("click",function(t){e.doDeleteComment(e,t)}).appendTo(e.element))},toggleComment:function(e,o){e.cmtBtn?(e.cmtInput.remove(),e.cmtBtn.remove(),e.cmtBtn=null):(e.subCmts||(e.subCmts=t(e.element).children("div.subcomments"),0==e.subCmts.length&&(e.subCmts=t("<div></div>").addClass("subcomments"),e.subCmts.appendTo(e.element))),e.cmtInput=t('<input type="text" placeholder="Votre réponse"/>'),e.cmtInput.appendTo(e.element),e.cmtBtn=t('<button class="btn btn-default">Répondre</button>'),e.cmtBtn.on("click",function(t){e.doCoC(e,t)}).appendTo(e.element))},onMouseEnter:function(){t(this).animate({backgroundColor:t.psc.blogcomment.prototype.options.omob,color:t.psc.blogcomment.prototype.options.omof},400)},onMouseLeave:function(){t(this).animate({backgroundColor:t.psc.blogcomment.prototype.options.bgc,color:t.psc.blogcomment.prototype.options.fgc},400)},doDeleteComment:function(e,o){var n=t(e.element).data("id"),l=e.options.apictrlr;t.ajax({async:!0,cache:!1,type:"POST",method:"DELETE",error:function(e,o){t('span.field-validation-valid[data-valmsg-for="Content"]').html("Une erreur est survenue : "+e.status+"<br/>").focus()},success:function(t){e.element.remove()},url:l+"/"+n})},doCoC:function(e,o){var n=t("#cmtBtn").data("receiverid"),l=e.cmtInput.val(),a=t(e.element).data("id"),s={Content:l,PostId:n,ParentId:a,AuthorId:e.options.authorId};t.ajax({async:!0,cache:!1,type:"POST",method:"POST",contentType:"application/json",data:JSON.stringify(s),error:function(e,o){console.log("err"),console.log(e),console.log(o),t('span.field-validation-valid[data-valmsg-for="Content"]').html("Une erreur est survenue : "+e.status+"<br/><code><pre>"+e.responseText+"</pre></code>")},success:function(o){var n=o.Content;e.cmtInput.val(""),t('span.field-validation-valid[data-valmsg-for="Content"]').empty();var l=htmlize(n);t('<div data-type="blogcomment" data-id="'+o.Id+'" data-allow-edit="True" data-date="'+o.DateCreated+'" data-username="'+e.options.authorName+'">'+l+"</div>").blogcomment().appendTo(e.subCmts)},url:e.options.apictrlr})}}),t(document).ready(function(){t("[data-type='blogcomment']").blogcomment()})}(jQuery);