...
|
...
|
@@ -2,137 +2,137 @@ |
|
|
* 评论及登录插件
|
|
|
* author:liuyue
|
|
|
* date:2015-01-07
|
|
|
*/
|
|
|
*/
|
|
|
var $ = require("jquery"),
|
|
|
validate = require("./validate"),
|
|
|
box = require("./box"),
|
|
|
tools = require("yoho-tools"),
|
|
|
tips = require("./tips");
|
|
|
mustache = require("mustache");
|
|
|
validate = require("./validate"),
|
|
|
box = require("./box"),
|
|
|
tools = require("yoho-tools"),
|
|
|
tips = require("./tips");
|
|
|
mustache = require("mustache");
|
|
|
require("./login");
|
|
|
|
|
|
(function(global, undefined) {
|
|
|
|
|
|
var Comment = function(element, options) {
|
|
|
this.options = options;
|
|
|
this.$element = $(element);
|
|
|
//this.$loginBox = $(this.options.loginbox).appendTo("body");
|
|
|
this.init();
|
|
|
};
|
|
|
|
|
|
|
|
|
Comment.DEFAULTS = {
|
|
|
cid: '',
|
|
|
commentPageUrl: '/writer/default/comment',
|
|
|
publishUrl: '/writer/default/publish',
|
|
|
deleteUrl: '/writer/default/delete',
|
|
|
commentNum: $(".comment-num"),
|
|
|
commentItemTpl: '<li class="clearfix">'+
|
|
|
'<div class="userimg">'+
|
|
|
'<img src="\{{userimg}}" alt="">'+
|
|
|
'<i class="\{{partnerType}}"></i>'+
|
|
|
'</div>'+
|
|
|
'<div class="userinfo">'+
|
|
|
'<h6>\{{username}}</h6> '+
|
|
|
'<p class="comment-text">\{{content}}</p>'+
|
|
|
'\{{# isSelf}}'+
|
|
|
'<a class="delete-comment" href="javascript:;" pid="{{id}}"></a>'+
|
|
|
'\{{/ isSelf}} '+
|
|
|
'</div>'+
|
|
|
'</li>',
|
|
|
thirdLogin: false,
|
|
|
isEdit: false,
|
|
|
isMobile: false,
|
|
|
login: ''
|
|
|
};
|
|
|
|
|
|
|
|
|
Comment.prototype = {
|
|
|
constructor: Comment,
|
|
|
|
|
|
init:function() {
|
|
|
// 组件的创建主函数。
|
|
|
this._creat();
|
|
|
},
|
|
|
|
|
|
// 主函数,主要是创建节点,绑定事件。
|
|
|
_creat: function() {
|
|
|
if ($(".comments-list").size() > 0 || $(".comment-textarea").size() > 0) return;
|
|
|
// 创建节点
|
|
|
this._creatCommentDom();
|
|
|
|
|
|
this._creatThirdLogin();
|
|
|
|
|
|
// 绑定事件
|
|
|
this._bindEvent();
|
|
|
},
|
|
|
|
|
|
_creatCommentDom:function() {
|
|
|
var that = this;
|
|
|
//var id = {id:this.options.cid};
|
|
|
$.ajax({
|
|
|
type:'GET',
|
|
|
url:YohoConfig.mainUrl + this.options.commentPageUrl,
|
|
|
var Comment = function(element, options) {
|
|
|
this.options = options;
|
|
|
this.$element = $(element);
|
|
|
//this.$loginBox = $(this.options.loginbox).appendTo("body");
|
|
|
this.init();
|
|
|
};
|
|
|
|
|
|
|
|
|
Comment.DEFAULTS = {
|
|
|
cid: '',
|
|
|
commentPageUrl: '/writer/default/comment',
|
|
|
publishUrl: '/writer/default/publish',
|
|
|
deleteUrl: '/writer/default/delete',
|
|
|
commentNum: $(".comment-num"),
|
|
|
commentItemTpl: '<li class="clearfix">' +
|
|
|
'<div class="userimg">' +
|
|
|
'<img src="\{{userimg}}" alt="">' +
|
|
|
'<i class="\{{partnerType}}"></i>' +
|
|
|
'</div>' +
|
|
|
'<div class="userinfo">' +
|
|
|
'<h6>\{{username}}</h6> ' +
|
|
|
'<p class="comment-text">\{{content}}</p>' +
|
|
|
'\{{# isSelf}}' +
|
|
|
'<a class="delete-comment" href="javascript:;" pid="{{id}}"></a>' +
|
|
|
'\{{/ isSelf}} ' +
|
|
|
'</div>' +
|
|
|
'</li>',
|
|
|
thirdLogin: false,
|
|
|
isEdit: false,
|
|
|
isMobile: false,
|
|
|
login: ''
|
|
|
};
|
|
|
|
|
|
|
|
|
Comment.prototype = {
|
|
|
constructor: Comment,
|
|
|
|
|
|
init: function() {
|
|
|
// 组件的创建主函数。
|
|
|
this._creat();
|
|
|
},
|
|
|
|
|
|
// 主函数,主要是创建节点,绑定事件。
|
|
|
_creat: function() {
|
|
|
if ($(".comments-list").size() > 0 || $(".comment-textarea").size() > 0) return;
|
|
|
// 创建节点
|
|
|
this._creatCommentDom();
|
|
|
|
|
|
this._creatThirdLogin();
|
|
|
|
|
|
// 绑定事件
|
|
|
this._bindEvent();
|
|
|
},
|
|
|
|
|
|
_creatCommentDom: function() {
|
|
|
var that = this;
|
|
|
//var id = {id:this.options.cid};
|
|
|
$.ajax({
|
|
|
type: 'GET',
|
|
|
url: YohoConfig.mainUrl + this.options.commentPageUrl,
|
|
|
/*data: id,
|
|
|
dataType:'json',*/
|
|
|
success:function(response) {
|
|
|
var data = response.data, //返回数据的data
|
|
|
viewMoreNum = data.total - 5, //评论总数-5,除显示评论剩下的评论数量
|
|
|
moreString = viewMoreNum + '', //剩余评论数量转为字符串
|
|
|
moreFirstnum = moreString.slice(0,1), //评论数量的首数字
|
|
|
commentTpl = $('#comment-tpl').html(), //引入评论html模板
|
|
|
commentPage, //分页数据
|
|
|
commentHtml, //用数据渲染后的html
|
|
|
commentData; //评论数据
|
|
|
|
|
|
|
|
|
if(data.length === 0) return;
|
|
|
|
|
|
commentData = {
|
|
|
comment: data.comment
|
|
|
};
|
|
|
|
|
|
//评论多于五条,渲染more节点
|
|
|
if (viewMoreNum > 0) {
|
|
|
commentData = {
|
|
|
comment: data.comment,
|
|
|
more: {
|
|
|
moreNum : viewMoreNum
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//如果分页数据不为空和undefined,渲染分页
|
|
|
if ($.trim(data.page) !== '' || typeof(data.page) === 'undefined' || !!data.page) {
|
|
|
success: function(response) {
|
|
|
var data = response.data, //返回数据的data
|
|
|
viewMoreNum = data.total - 5, //评论总数-5,除显示评论剩下的评论数量
|
|
|
moreString = viewMoreNum + '', //剩余评论数量转为字符串
|
|
|
moreFirstnum = moreString.slice(0, 1), //评论数量的首数字
|
|
|
commentTpl = $('#comment-tpl').html(), //引入评论html模板
|
|
|
commentPage, //分页数据
|
|
|
commentHtml, //用数据渲染后的html
|
|
|
commentData; //评论数据
|
|
|
|
|
|
|
|
|
if (data.length === 0) return;
|
|
|
|
|
|
commentData = {
|
|
|
comment: data.comment
|
|
|
};
|
|
|
|
|
|
//评论多于五条,渲染more节点
|
|
|
if (viewMoreNum > 0) {
|
|
|
commentData = {
|
|
|
comment: data.comment,
|
|
|
more: {
|
|
|
moreNum: viewMoreNum
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//如果分页数据不为空和undefined,渲染分页
|
|
|
if ($.trim(data.page) !== '' || typeof(data.page) === 'undefined' || !!data.page) {
|
|
|
commentPage = data.page;
|
|
|
commentData = {
|
|
|
comment: data.comment,
|
|
|
more: {
|
|
|
moreNum : viewMoreNum
|
|
|
},
|
|
|
page: commentPage
|
|
|
}
|
|
|
}
|
|
|
commentData = {
|
|
|
comment: data.comment,
|
|
|
more: {
|
|
|
moreNum: viewMoreNum
|
|
|
},
|
|
|
page: commentPage
|
|
|
}
|
|
|
}
|
|
|
commentHtml = mustache.render(commentTpl, commentData, {
|
|
|
html: commentPage
|
|
|
});
|
|
|
that.$element.prepend($(commentHtml));
|
|
|
|
|
|
//5条后的评论隐藏
|
|
|
that.$element.find("li").eq(4).nextAll().hide(); //5条后的评论隐藏
|
|
|
//评论总数上千显示k+,上万显示w+
|
|
|
if (moreString.length === 4) {
|
|
|
$(".view-more").find("span").text(moreFirstnum + 'k+');
|
|
|
} else if (moreString.length === 5) {
|
|
|
$(".view-more").find("span").text(moreFirstnum + 'w+');
|
|
|
}
|
|
|
that.$element.prepend($(commentHtml));
|
|
|
|
|
|
//5条后的评论隐藏
|
|
|
that.$element.find("li").eq(4).nextAll().hide(); //5条后的评论隐藏
|
|
|
//评论总数上千显示k+,上万显示w+
|
|
|
if (moreString.length === 4) {
|
|
|
$(".view-more").find("span").text(moreFirstnum + 'k+');
|
|
|
} else if (moreString.length === 5) {
|
|
|
$(".view-more").find("span").text(moreFirstnum + 'w+');
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
});
|
|
|
},
|
|
|
|
|
|
|
|
|
//创建评论文本域
|
|
|
/*_creatTextareaDom:function(){
|
|
|
//创建评论文本域
|
|
|
/*_creatTextareaDom:function(){
|
|
|
data = this.options.login;
|
|
|
var textarea = $('<div class="comment-textarea"><textarea placeholder="'+tips.getTips("textareaPlaceholder")+'" cid='+this.options.cid+'></textarea></div>'),
|
|
|
loginarea = $('<div class="login-status clearfix">\n\
|
...
|
...
|
@@ -160,51 +160,51 @@ require("./login"); |
|
|
|
|
|
},*/
|
|
|
|
|
|
//创建第三方登录
|
|
|
_creatThirdLogin:function(){
|
|
|
var thirdLoginTpl = $("#third-login-tpl").html();
|
|
|
//创建第三方登录
|
|
|
_creatThirdLogin: function() {
|
|
|
var thirdLoginTpl = $("#third-login-tpl").html();
|
|
|
|
|
|
if (this.options.thirdLogin === true) {
|
|
|
$(thirdLoginTpl).appendTo(this.$element);
|
|
|
//this.$element.html(thirdLoginTpl);
|
|
|
}
|
|
|
},
|
|
|
|
|
|
//事件绑定
|
|
|
_bindEvent: function() {
|
|
|
var that = this;
|
|
|
//查看更多评论
|
|
|
this.$element.on("click.comment", ".view-more", function() {
|
|
|
that.$element.find("li").show(); //显示第一页后五条
|
|
|
that.$element.find(".comment-pager-content").show(); //显示分页按钮
|
|
|
that.$element.find(".view-more").remove(); //移除view more
|
|
|
});
|
|
|
|
|
|
if (this.options.thirdLogin === true) {
|
|
|
$(thirdLoginTpl).appendTo(this.$element);
|
|
|
//this.$element.html(thirdLoginTpl);
|
|
|
}
|
|
|
},
|
|
|
|
|
|
//事件绑定
|
|
|
_bindEvent: function(){
|
|
|
var that = this;
|
|
|
//查看更多评论
|
|
|
this.$element.on("click.comment",".view-more",function() {
|
|
|
that.$element.find("li").show(); //显示第一页后五条
|
|
|
that.$element.find(".comment-pager-content").show(); //显示分页按钮
|
|
|
that.$element.find(".view-more").remove(); //移除view more
|
|
|
});
|
|
|
|
|
|
//弹出登录框
|
|
|
/*$(this).login();
|
|
|
//弹出登录框
|
|
|
/*$(this).login();
|
|
|
this.$element.on("click.login",".publish-btn",function() {
|
|
|
if(that.options.isFeedback) return;
|
|
|
$(this).login("loginBoxAnimate");
|
|
|
});*/
|
|
|
|
|
|
//显示删除按钮
|
|
|
if (this.options.isMobile) {
|
|
|
this.$element.find(".delete-comment").show();
|
|
|
} else {
|
|
|
this.$element.on("mouseenter","li",function() {
|
|
|
$(this).find(".delete-comment").show();
|
|
|
}).on("mouseleave","li",function(){
|
|
|
$(this).find(".delete-comment").hide();
|
|
|
});
|
|
|
}
|
|
|
|
|
|
|
|
|
//发表评论
|
|
|
this.$element.on("click.publish",".publish-btn",function() {
|
|
|
var $textarea = that.$element.find("textarea"),
|
|
|
nameInput = that.$element.find(".name-input"),
|
|
|
//显示删除按钮
|
|
|
if (this.options.isMobile) {
|
|
|
this.$element.find(".delete-comment").show();
|
|
|
} else {
|
|
|
this.$element.on("mouseenter", "li", function() {
|
|
|
$(this).find(".delete-comment").show();
|
|
|
}).on("mouseleave", "li", function() {
|
|
|
$(this).find(".delete-comment").hide();
|
|
|
});
|
|
|
}
|
|
|
|
|
|
|
|
|
//发表评论
|
|
|
this.$element.on("click.publish", ".publish-btn", function() {
|
|
|
var $textarea = that.$element.find("textarea"),
|
|
|
nameInput = that.$element.find(".name-input"),
|
|
|
emailInput = that.$element.find(".email-input"),
|
|
|
comment = $textarea.val(),
|
|
|
comment = $textarea.val(),
|
|
|
cid,
|
|
|
data,
|
|
|
commentsNum,
|
...
|
...
|
@@ -216,7 +216,7 @@ require("./login"); |
|
|
if (!tools.IYOHO_isUserName(nameInput.val())) {
|
|
|
box.alert(tips.getTips("commentUncompleted"), 5, function() {
|
|
|
nameInput.focus();
|
|
|
});
|
|
|
});
|
|
|
return false;
|
|
|
};
|
|
|
|
...
|
...
|
@@ -224,7 +224,7 @@ require("./login"); |
|
|
if (emailInput.val() !== '' && !tools.IYOHO_isEmail(emailInput.val())) {
|
|
|
box.alert(tips.getTips("commentUncompleted"), 5, function() {
|
|
|
emailInput.focus();
|
|
|
});
|
|
|
});
|
|
|
return false;
|
|
|
};
|
|
|
|
...
|
...
|
@@ -232,61 +232,66 @@ require("./login"); |
|
|
if (typeof(comment) === 'undefined' || $.trim(comment) === '') {
|
|
|
box.alert(tips.getTips("commentUncompleted"), 5, function() {
|
|
|
$textarea.focus();
|
|
|
});
|
|
|
});
|
|
|
return false;
|
|
|
};
|
|
|
|
|
|
if (comment.length > 100) {
|
|
|
box.alert(tips.getTips("commentToMuch"), 5);
|
|
|
return false;
|
|
|
};
|
|
|
|
|
|
cid = that.$element.attr('cid');
|
|
|
if (!cid) {
|
|
|
return false;
|
|
|
};
|
|
|
if (comment.length > 100) {
|
|
|
box.alert(tips.getTips("commentToMuch"), 5);
|
|
|
return false;
|
|
|
};
|
|
|
|
|
|
data = {id:cid,comment:comment,sync:'222',title:'111'};
|
|
|
cid = that.$element.attr('cid');
|
|
|
if (!cid) {
|
|
|
return false;
|
|
|
};
|
|
|
|
|
|
$.ajax({
|
|
|
type: 'GET',
|
|
|
url: YohoConfig.mainUrl + that.options.publishUrl,
|
|
|
success: function(response) {
|
|
|
if (response.code === '800000') {
|
|
|
box.alert(tips.getTips("relogin"), 5);
|
|
|
that.$element.login("setLogout");
|
|
|
return false;
|
|
|
};
|
|
|
data = {
|
|
|
id: cid,
|
|
|
comment: comment,
|
|
|
sync: '222',
|
|
|
title: '111'
|
|
|
};
|
|
|
|
|
|
if (response.status && response.data) {
|
|
|
var $commentsList = $(".comments-list");
|
|
|
publishHtml = mustache.render(that.options.commentItemTpl, response.data);
|
|
|
$.ajax({
|
|
|
type: 'GET',
|
|
|
url: YohoConfig.mainUrl + that.options.publishUrl,
|
|
|
success: function(response) {
|
|
|
if (response.code === '800000') {
|
|
|
box.alert(tips.getTips("relogin"), 5);
|
|
|
that.$element.login("setLogout");
|
|
|
return false;
|
|
|
};
|
|
|
|
|
|
if ($commentsList .find("li").size() === 0){
|
|
|
$commentsList.html(publishHtml);
|
|
|
if (response.status && response.data) {
|
|
|
var $commentsList = $(".comments-list");
|
|
|
publishHtml = mustache.render(that.options.commentItemTpl, response.data);
|
|
|
|
|
|
if ($commentsList.find("li").size() === 0) {
|
|
|
$commentsList.html(publishHtml);
|
|
|
} else {
|
|
|
$commentsList.find("li").eq(0).before(publishHtml);
|
|
|
}
|
|
|
|
|
|
box.alert(tips.getTips("publishSuccess"), 5);
|
|
|
$(".comment-textarea textarea").val('');
|
|
|
|
|
|
commentsNum = 1;
|
|
|
if (!!parseInt(that.options.commentNum.eq(0).text())) {
|
|
|
commentsNum = parseInt(that.options.commentNum.eq(0).text()) + 1;
|
|
|
};
|
|
|
that.options.commentNum.text(commentsNum);
|
|
|
} else if (900000 === response.code) {
|
|
|
box.alert(tips.getTips("notSameContent"), 5);
|
|
|
} else {
|
|
|
$commentsList.find("li").eq(0).before(publishHtml);
|
|
|
box.alert(tips.getTips("systemBus"), 5);
|
|
|
}
|
|
|
|
|
|
box.alert(tips.getTips("publishSuccess"), 5);
|
|
|
$(".comment-textarea textarea").val('');
|
|
|
|
|
|
commentsNum = 1;
|
|
|
if(!!parseInt(that.options.commentNum.eq(0).text())){
|
|
|
commentsNum = parseInt(that.options.commentNum.eq(0).text())+1;
|
|
|
};
|
|
|
that.options.commentNum.text(commentsNum);
|
|
|
} else if (900000 === response.code) {
|
|
|
box.alert(tips.getTips("notSameContent"), 5);
|
|
|
} else {
|
|
|
box.alert(tips.getTips("systemBus"), 5);
|
|
|
publishHtml = mustache.render(that.options.commentItemTpl, response.data);
|
|
|
that.$element.find(".comments-list").prepend(publishHtml);
|
|
|
}
|
|
|
|
|
|
publishHtml = mustache.render(that.options.commentItemTpl, response.data);
|
|
|
that.$element.find(".comments-list").prepend(publishHtml);
|
|
|
}
|
|
|
})
|
|
|
/*$.ajax({
|
|
|
})
|
|
|
/*$.ajax({
|
|
|
type:'POST',
|
|
|
url:YohoConfig.mainUrl + that.options.publishUrl,
|
|
|
data: data,
|
...
|
...
|
@@ -351,109 +356,105 @@ require("./login"); |
|
|
}
|
|
|
}
|
|
|
}); */
|
|
|
});
|
|
|
});
|
|
|
|
|
|
//评论翻页
|
|
|
this.$element.on("click.commentPage",".pager-item",function(){
|
|
|
var url = $(this).attr("href"),
|
|
|
this.$element.on("click.commentPage", ".pager-item", function() {
|
|
|
var url = $(this).attr("href"),
|
|
|
pageHtml,
|
|
|
pageIcon,
|
|
|
commentListTop;
|
|
|
$.ajax({
|
|
|
type: 'GET',
|
|
|
$.ajax({
|
|
|
type: 'GET',
|
|
|
url: url,
|
|
|
success: function(response) {
|
|
|
|
|
|
$(".comments-list").empty();
|
|
|
pageHtml = mustache.render(that.options.commentItemTpl, response.data.comment);
|
|
|
|
|
|
$(".comments-list").empty();
|
|
|
pageHtml = mustache.render(that.options.commentItemTpl, response.data.comment);
|
|
|
$(".comments-list").html(pageHtml);
|
|
|
|
|
|
pageIcon = $('<div class="channel-index-pager">'+response.data.page+'</div>');
|
|
|
$(".comment-pager-content").html(pageIcon);
|
|
|
pageIcon = $('<div class="channel-index-pager">' + response.data.page + '</div>');
|
|
|
$(".comment-pager-content").html(pageIcon);
|
|
|
|
|
|
commentListTop = $(".comments-list").offset().top - $("#minEnterprise").outerHeight();
|
|
|
$(window).scrollTop(commentListTop);
|
|
|
commentListTop = $(".comments-list").offset().top - $("#minEnterprise").outerHeight();
|
|
|
$(window).scrollTop(commentListTop);
|
|
|
}
|
|
|
});
|
|
|
|
|
|
return false;
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
//删除评论
|
|
|
this.$element.on("click.deleteComment",".delete-comment",function(){
|
|
|
var _this = $(this);
|
|
|
var id = _this.attr('pid');
|
|
|
var deleteTip = tips.getTips("deleteComment");
|
|
|
if(that.options.isFeedback){
|
|
|
deleteTip = tips.getTips("deleteFeedback");
|
|
|
}else if(that.options.isEdit){
|
|
|
deleteTip = tips.getTips("deleteEdit");
|
|
|
}
|
|
|
box.confirm(deleteTip, function()
|
|
|
{
|
|
|
$.ajax
|
|
|
({
|
|
|
type:'POST',
|
|
|
url:YohoConfig.mainUrl+that.options.deleteUrl,
|
|
|
data:'id='+id,
|
|
|
dataType:'json',
|
|
|
success:function(response)
|
|
|
{
|
|
|
if (response.status)
|
|
|
{
|
|
|
_this.parents("li").remove();
|
|
|
var comments = parseInt($(".comment-num").eq(0).text())-1;
|
|
|
if(comments > 0){
|
|
|
that.options.commentNum.text(comments);
|
|
|
}else{
|
|
|
that.options.commentNum.html('<img src="'+YohoConfig.resUrl+'boysweb/assets/images/mobile/comment-mobile.png">');
|
|
|
$(".comment-num.zero").text(0);
|
|
|
$(".comment-num.edit-comment").text('留言');
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
});
|
|
|
});
|
|
|
|
|
|
$(".third-login-box").on("click","a",function(){
|
|
|
var _this = $(this);
|
|
|
if (!_this.attr('ref')) return;
|
|
|
window.open(_this.attr('ref'), "","width=760,height=650,top=300,left=300");
|
|
|
return false;
|
|
|
})
|
|
|
$(".third-login-box").on("click","a.yoho",function(){
|
|
|
$(this).login("loginBoxAnimate");
|
|
|
})
|
|
|
},
|
|
|
|
|
|
publishComment:function(){
|
|
|
var textareaVal = $(".comment-textarea").find("textarea").val();
|
|
|
if (!!!textareaVal || $.trim(textareaVal) === '') return;
|
|
|
if(this.options.isFeedback) return;
|
|
|
$(".publish-btn").trigger("click.publish");
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
|
|
});
|
|
|
|
|
|
function Plugin(option, _relatedTarget) {
|
|
|
return this.each(function() {
|
|
|
var $this = $(this);
|
|
|
var data = $this.data('yoho.Comment');
|
|
|
var options = $.extend({}, Comment.DEFAULTS, $this.data(), typeof option == 'object' && option);
|
|
|
// 如果没有初始化,则初始化该对象,并且把该对象绑定到此元素的yoho.PicSilder属性下。
|
|
|
if (!data) $this.data('yoho.Comment', (data = new Comment(this, options)));
|
|
|
|
|
|
// 如果传递的options是一个字符串,则表示调用改对象的原型方法。
|
|
|
if (typeof option == 'string') data[option](_relatedTarget);
|
|
|
});
|
|
|
};
|
|
|
|
|
|
//删除评论
|
|
|
this.$element.on("click.deleteComment", ".delete-comment", function() {
|
|
|
var _this = $(this);
|
|
|
var id = _this.attr('pid');
|
|
|
var deleteTip = tips.getTips("deleteComment");
|
|
|
if (that.options.isFeedback) {
|
|
|
deleteTip = tips.getTips("deleteFeedback");
|
|
|
} else if (that.options.isEdit) {
|
|
|
deleteTip = tips.getTips("deleteEdit");
|
|
|
}
|
|
|
box.confirm(deleteTip, function() {
|
|
|
$.ajax({
|
|
|
type: 'POST',
|
|
|
url: YohoConfig.mainUrl + that.options.deleteUrl,
|
|
|
data: 'id=' + id,
|
|
|
dataType: 'json',
|
|
|
success: function(response) {
|
|
|
if (response.status) {
|
|
|
_this.parents("li").remove();
|
|
|
var comments = parseInt($(".comment-num").eq(0).text()) - 1;
|
|
|
if (comments > 0) {
|
|
|
that.options.commentNum.text(comments);
|
|
|
} else {
|
|
|
that.options.commentNum.html('<img src="' + YohoConfig.resUrl + 'boysweb/assets/images/mobile/comment-mobile.png">');
|
|
|
$(".comment-num.zero").text(0);
|
|
|
$(".comment-num.edit-comment").text('留言');
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
});
|
|
|
|
|
|
$.fn.comment = Plugin;
|
|
|
$.fn.comment.Constructor = Comment;
|
|
|
$(".third-login-box").on("click", "a", function() {
|
|
|
var _this = $(this);
|
|
|
if (!_this.attr('ref')) return;
|
|
|
window.open(_this.attr('ref'), "", "width=760,height=650,top=300,left=300");
|
|
|
return false;
|
|
|
})
|
|
|
$(".third-login-box").on("click", "a.yoho", function() {
|
|
|
$(this).login("loginBoxAnimate");
|
|
|
})
|
|
|
},
|
|
|
|
|
|
publishComment: function() {
|
|
|
var textareaVal = $(".comment-textarea").find("textarea").val();
|
|
|
if (!!!textareaVal || $.trim(textareaVal) === '') return;
|
|
|
if (this.options.isFeedback) return;
|
|
|
$(".publish-btn").trigger("click.publish");
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
function Plugin(option, _relatedTarget) {
|
|
|
return this.each(function() {
|
|
|
var $this = $(this);
|
|
|
var data = $this.data('yoho.Comment');
|
|
|
var options = $.extend({}, Comment.DEFAULTS, $this.data(), typeof option == 'object' && option);
|
|
|
// 如果没有初始化,则初始化该对象,并且把该对象绑定到此元素的yoho.PicSilder属性下。
|
|
|
if (!data) $this.data('yoho.Comment', (data = new Comment(this, options)));
|
|
|
|
|
|
// 如果传递的options是一个字符串,则表示调用改对象的原型方法。
|
|
|
if (typeof option == 'string') data[option](_relatedTarget);
|
|
|
});
|
|
|
};
|
|
|
|
|
|
|
|
|
$.fn.comment = Plugin;
|
|
|
$.fn.comment.Constructor = Comment;
|
|
|
|
|
|
})(this); |
|
|
\ No newline at end of file |
...
|
...
|
|