nodeclub/views/topic/index.html
2014-04-21 22:32:58 +08:00

287 lines
9.6 KiB
HTML

<div id='sidebar'>
<div class='panel'>
<div class='header'>
<span class='col_fade'>作者</span>
</div>
<div class='inner'>
<%- partial('user/card', { object: topic.author, as: 'user' }) %>
</div>
</div>
<div class='panel'>
<div class='header'>
<span class='col_fade'>作者其它话题</span>
</div>
<div class='inner'>
<% if (locals.author_other_topics && author_other_topics.length > 0) { %>
<ul class='unstyled'>
<%- partial('topic/small', { collection: author_other_topics, as: 'topic' }) %>
</ul>
<% } else { %>
<p></p>
<% } %>
</div>
</div>
<div class='panel'>
<div class='header'>
<span class='col_fade'>无人回复的话题</span>
</div>
<div class='inner'>
<% if (locals.no_reply_topics && no_reply_topics.length > 0) { %>
<ul class='unstyled'>
<%- partial('topic/small', { collection: no_reply_topics, as: 'topic' }) %>
</ul>
<% } else { %>
<p></p>
<% } %>
</div>
</div>
</div>
<div id='content'>
<div class='panel'>
<div class='header'>
<span class="topic_full_title">
<% if (topic.top) { %>
<span class='put_top'>置顶</span>
<% } %>
<%= topic.title %>
</span>
<div class="changes">
<div>
发布于 <%= topic.friendly_create_at %>,
<%= topic.visit_count %> 次浏览
</div>
<% if (topic.friendly_create_at != topic.friendly_update_at) { %>
<div>
最后一次编辑是 <%= topic.friendly_update_at %>
</div>
<% } %>
</div>
<% if (locals.current_user) { %>
<div id="manage_topic">
<% if (current_user.is_admin) { %>
<% if (topic.top) { %>
<a href='/topic/<%= topic._id %>/top/0'>
<img class='user_icon'
src='<%- config.site_static_host %>/public/images/star_fav_icon&16.png'
title='取消置顶' />
</a>
<% } else { %>
<a href='/topic/<%= topic._id %>/top/1'>
<img class='user_icon'
src='<%- config.site_static_host %>/public/images/star_fav_empty_icon&16.png'
title='置顶' />
</a>
<% } %>
<a href='/topic/<%= topic._id %>/edit'>
<img
class='user_icon'
src='<%- config.site_static_host %>/public/images/doc_edit_icon&16.png'
title='编辑' /></a>
<a href='javascript:;'
data-id="<%= topic._id %>"
class='delete_topic_btn'><img class='user_icon'
src='<%- config.site_static_host %>/public/images/trash_icon&16.png'
title='删除' /></a>
<% } else { %>
<% if (current_user._id == topic.author_id) { %>
<a href='/topic/<%= topic._id %>/edit'>
<img class='user_icon'
src='<%- config.site_static_host %>/public/images/doc_edit_icon&16.png'
title='编辑' /></a>
<% } %>
<% } %>
</div>
<% } %>
</div>
<div class='inner topic'>
<div class='topic_content'>
<%- markdown(topic.content) %>
</div>
<% if (topic.tags.length > 0) { %>
<div class="tags">
<span class='col_fade'>标签:</span>
<%- partial('tag/tag_in_topic',{ collection: topic.tags, as: 'tag' }) %>
</div>
<% } %>
<div class="action">
<button class='btn btn-success' id='share_weibo_btn'
onclick="((function(s,d,e,r,l,p,t,z,c){var f='http://v.t.sina.com.cn/share/share.php?appkey=<%= config.weibo_key %>',u=z||d.location,p=['&url=',e(u),'&title=',e(t||d.title),'&source=',e(r),'&sourceUrl=',e(l),'&content=',c||'gb2312','&pic=',e(p||'')].join('');function a(){if(!window.open([f,p].join(''),'mb',['toolbar=0,status=0,resizable=1,width=440,height=430,left=',(s.width-440)/2,',top=',(s.height-430)/2].join('')))u.href=[f,p].join('');};if(/Firefox/.test(navigator.userAgent))setTimeout(a,0);else a();})(screen,document,encodeURIComponent,'','','','分享来自<%= config.name %>的话题:<%= topic.title %>','',''));"
>分享到微博</button>
<% if (locals.current_user) { %>
<% if (!topic.in_collection) { %>
<button class='btn btn-success' id='collect_btn' action='collect'>加入收藏</button>
<% } else { %>
<button class='btn' id='collect_btn' action='de_collect'>取消收藏</button>
<% } %>
<% } %>
</div>
</div>
</div>
<% if (topic.replies && topic.replies.length > 0) { %>
<div class='panel'>
<div class='header'>
<span class='col_fade'><%= topic.replies.length %> 回复</span>
</div>
<%- partial('reply/reply', topic.replies) %>
</div>
<% } %>
<% if (locals.current_user && locals.topic) { %>
<div class='panel'>
<div class='header'>
<span class='col_fade'>添加回复</span>
</div>
<div class='inner reply'>
<form id='reply_form' action='/<%= topic._id %>/reply' method='post'>
<div class='markdown_editor in_editor'>
<div class='markdown_in_editor'>
<textarea class='editor' name='r_content' rows='8'></textarea>
<div class='editor_buttons'>
<button class='btn action_preview'>预览</button>
<button class='btn btn-primary' type="submit">回复</button>
</div>
</div>
<div class='markdown_in_preview'>
<div class='preview'></div>
<div class='editor_buttons'>
<button class='btn action_modify'>修改</button>
<button class='btn btn-primary' type="submit">回复</button>
</div>
</div>
</div>
<input type='hidden' name='_csrf' id="_csrf" value='<%= csrf %>' />
</form>
</div>
</div>
<% } %>
</div>
<% if (locals.current_user && locals.topic) { %>
<!-- ajaxupload -->
<!-- markdown editor -->
<%- Loader('/public/topic_edit.min.js')
.js('/public/libs/ajax-upload/ajaxupload.js')
.js('/public/libs/marked.js')
.js('/public/javascripts/markdown_editor.js')
.done(assets, config.site_static_host, config.mini_assets)
%>
<script>
$(document).ready(function () {
$('.reply2_btn').click(function () {
var $btn = $(this);
var parent = $btn.parents('.reply_area');
var editorWrap = parent.find('.reply2_form');
parent.find('.reply2_area').prepend(editorWrap);
var textarea = editorWrap.find('textarea.editor');
textarea.val('');
editorWrap.show('fast', function() {
textarea.focus();
});
});
$('.reply2_at_btn').click(function () {
var $btn = $(this);
var editorWrap = $btn.parents('.reply2_area').find('.reply2_form');
$btn.parents('.reply2_item').after(editorWrap);
var textarea = editorWrap.find('textarea.editor');
var user = $btn.parents('.cell').find('.reply_author').html();
editorWrap.show('fast', function() {
textarea.focus();
if (textarea.val().indexOf('@' + user) < 0) {
textarea.val('@' + user + ' ');
}
});
});
$('#collect_btn').click(function(){
var $me = $(this);
var action = $me.attr('action');
var data = {
topic_id: '<%= topic._id %>',
_csrf: '<%= csrf %>'
};
$.post('/topic/' + action, data, function(data) {
if (data.status === 'success') {
if (action == 'collect') {
$me.html('取消收藏');
$me.attr('action','de_collect');
} else {
$me.html('加入收藏');
$me.attr('action','collect');
}
$me.toggleClass('btn-success');
}
}, 'json');
});
$('.delete_reply_btn, .delete_reply2_btn').live('click', function() {
var $me = $(this);
if (confirm('确定要删除此回复吗?')) {
var reply_id = null;
if ($me.hasClass('delete_reply_btn')) {
reply_id = $me.parents('.reply_item').attr('reply_id');
}
if ($me.hasClass('delete_reply2_btn')) {
reply_id = $me.parents('.reply2_item').attr('reply_id');
}
var data = {
reply_id: reply_id,
_csrf: "<%- csrf %>"
};
$.post('/reply/' + reply_id + '/delete', data, function (data) {
if (data.status === 'success') {
if($me.hasClass('delete_reply_btn')){
$me.parents('.reply_item').remove();
}
if($me.hasClass('delete_reply2_btn')){
$me.parents('.reply2_item').remove();
}
}
}, 'json');
}
return false;
});
$('.delete_topic_btn').click(function () {
var topicId = $(this).data('id');
if (topicId && confirm('确定要删除此话题吗?')) {
$.post('/topic/' + topicId + '/delete', { _csrf: $('#_csrf').val() }, function (result) {
if (!result.success) {
alert(result.message);
} else {
location.href = '/';
}
});
}
return false;
});
var submit_btn;
$('textarea').each(function(){
$(this).focus(function(){
var parent = $(this).parent().parent().parent().parent();
var btn = parent.find('button');
if(btn.html() == '回复'){
submit_btn = btn;
}
});
});
});
</script>
<% } %>
<%- Loader('/public/fancebox.min.js', '/public/libs/fancybox/fancebox.min.css')
.css('/public/libs/fancybox/jquery.fancybox-1.3.4.css')
.js('/public/libs/fancybox/jquery.fancybox-1.3.4.pack.js')
.js('/public/javascripts/topic.js')
.done(assets, config.site_static_host, config.mini_assets)
%>