From 69affa8a2ecdc914e32a215f362e67f3f8bb0541 Mon Sep 17 00:00:00 2001 From: yutao <283765470@qq.com> Date: Mon, 25 May 2015 15:19:42 +0800 Subject: [PATCH 01/17] ... --- app/views/boards/_form_project.html.erb | 6 +- app/views/boards/_project_new_topic.html.erb | 2 +- app/views/boards/_project_show.html.erb | 169 +++++++++++-------- 3 files changed, 100 insertions(+), 77 deletions(-) diff --git a/app/views/boards/_form_project.html.erb b/app/views/boards/_form_project.html.erb index 5cf20a993..58bb5501c 100644 --- a/app/views/boards/_form_project.html.erb +++ b/app/views/boards/_form_project.html.erb @@ -81,7 +81,11 @@ <% end %>
-

+ <% if replying%> +

+ <% else %> +

+ <%end %>
  • diff --git a/app/views/boards/_project_new_topic.html.erb b/app/views/boards/_project_new_topic.html.erb index 05304e978..d7c8972fc 100644 --- a/app/views/boards/_project_new_topic.html.erb +++ b/app/views/boards/_project_new_topic.html.erb @@ -1,4 +1,4 @@ -<%= form_for @message, :url =>{:controller=>'messages',:action => 'new', :board_id => @board.id, :is_board => 'true'},:nhname=>'form', :html => {:multipart => true, :id => 'message-form', :name=>'message-form'} do |f| %> +<%= form_for @message, :url =>{:controller=>'messages',:action => 'new', :board_id => @board.id, :is_board => 'true'},:html => {:nhname=>'form', :multipart => true, :id => 'message-form', :name=>'message-form'} do |f| %> <%= render :partial => 'form_project', :locals => {:f => f, :topic => @message} %>
  • diff --git a/app/views/boards/_project_show.html.erb b/app/views/boards/_project_show.html.erb index ae8dd5ed2..dc1cff634 100644 --- a/app/views/boards/_project_show.html.erb +++ b/app/views/boards/_project_show.html.erb @@ -31,72 +31,73 @@

    讨论区共有<%= @topic_count %>个帖子

    <% if @topics.any? %> <% @topics.each do |topic| %> -
    -
    - <%= link_to image_tag(url_to_avatar(topic.author), :width=>"42",:height=>"42"), user_path(topic.author),:class =>'talkmain_pic fl' %> -
    - <% author = topic.author.to_s + ":" %> - <%= link_to author, user_path(topic.author), :class =>"talkmain_name fl " %> -

      <%= h(topic.subject) %>

    - <% if topic.editable_by?(User.current) %> - <%= l(:button_edit) %> - <% end %> - <%= link_to( - l(:button_delete), - {:controller =>'messages',:action => 'destroy', :id => topic.id, :board_id => topic.board_id, :is_board=>'true'}, - :method => :post, - :data => {:confirm => l(:text_are_you_sure)}, - :class => 'talk_edit fr', - :style => ' margin-right: 10px;' - ) if topic.destroyable_by?(User.current) %> - <% if topic.sticky? %> - <%= l(:label_board_sticky)%> - <% end %> -
    -
    -
    - <%= topic.content.html_safe %> -
    -
    - - <%= link_to_attachments_course topic, :author => false %> - <%= l(:label_activity_time)%>:  <%= format_time topic.created_on %> -
    - <% if User.current.logged? %> - <%= toggle_link l(:button_reply), "reply" + topic.id.to_s, :focus => "about_newtalk#{topic.id}",:class => ' c_dblue fr' %> - <% end %> -
    -
    - -
    -
    - -
    - <% reply = Message.new(:subject => "RE: #{@message.subject}")%> - <% if !topic.locked? && authorize_for('messages', 'reply') %> - -
    - - <% end %> -
    - +
    + <%= link_to image_tag(url_to_avatar(topic.author), :width=>"42",:height=>"42"), user_path(topic.author),:class =>'talkmain_pic fl' %> +
    + <% author = topic.author.to_s + ":" %> + <%= link_to author, user_path(topic.author), :class =>"talkmain_name fl " %> +

      <%= h(topic.subject) %>

    +
    + <% if topic.editable_by?(User.current) %> + <%= l(:button_edit) %> + <% end %> + <%= link_to( + l(:button_delete), + {:controller =>'messages',:action => 'destroy', :id => topic.id, :board_id => topic.board_id, :is_board=>'true'}, + :method => :post, + :data => {:confirm => l(:text_are_you_sure)}, + :class => 'talk_edit fr', + :style => ' margin-right: 10px;' + ) if topic.destroyable_by?(User.current) %> + <% if topic.sticky? %> + <%= l(:label_board_sticky)%> + <% end %> +
    +
    +
    +
    + <%= topic.content.html_safe %> +
    +
    + + <%= link_to_attachments_course topic, :author => false %> + <%= l(:label_activity_time)%>:  <%= format_time topic.created_on %> +
    + <% if User.current.logged? %> + <%= l(:button_reply) %> + <% end %> +
    + +
    +
    + <% reply = Message.new(:subject => "RE: #{@message.subject}")%> + <% if !topic.locked? && authorize_for('messages', 'reply') %> + +
    + + <% end %> +
    +
    +
    <% end %> <% end %> @@ -130,7 +131,8 @@ function nh_init_board(params){ params.showbtn.click(function(){//发帖/编辑/回复按钮的click if(params.textarea.data('init') == undefined){ - var editor = params.kindutil.create(params.textarea, {//初始化编辑器 + //初始化编辑器 + var editor = params.kindutil.create(params.textarea, { resizeType : 1, allowPreviewEmoticons : false, allowImageUpload : false, @@ -138,7 +140,8 @@ width:"565px", items : [] }); - params.submitbtn.click(function(){//提交按钮click + //表单提交 + params.form.submit(function(){ var is_checked = nh_check_field({ subject:params.inputsubject, subjectmsg:params.subjectmsg, @@ -148,14 +151,29 @@ if(is_checked){ alert('submit'); params.textarea.html(editor.html()); -// params.form.submit(); + return false; +// return true; + } + return false; + }); + //提交按钮click + params.submitbtn.click(function(){ + params.form.submit(); + }); + //取消按钮click + params.cancelbtn.click(function(){ + params.about_talk.toggle();//显示/隐藏编辑区 + if(params.about_talk.is(':hidden')){//隐藏时reset表单数据 + params.form[0].reset(); + editor.html(params.textarea.html()); + params.subjectmsg.hide(); + params.contentmsg.hide(); + }else{ + if(params.type=='reply'){editor.focus();}//有bug 页面不跟着跳 + else params.inputsubject.focus(); } }); - params.cancelbtn.click(function(){//取消按钮click - params.about_talk.toggle();//显示/隐藏编辑区 - params.inputsubject.focus(); - }); - params.textarea.data('init','1') + params.textarea.data('init','1');//标记为已经初始化 } params.cancelbtn.click();//显示/隐藏编辑区 }); @@ -178,10 +196,11 @@ form:$("form[nhname='form']",about_talk) }); }); - $("div[ecname='container_board_reply']").each(function(){ + $("div[mhname='container_board_reply']").each(function(){ var container = $(this); var about_talk = $("div[nhname='about_talk_reply']",container); nh_init_board({ + type:'reply', kindutil:K, showbtn:$("a[nhname='showbtn_reply']",container), about_talk:about_talk, From 4244c69b4670775aaafec09dbdebeb6679f11336 Mon Sep 17 00:00:00 2001 From: yutao <283765470@qq.com> Date: Tue, 26 May 2015 14:18:42 +0800 Subject: [PATCH 02/17] ... --- app/views/boards/_form_project.html.erb | 6 +- app/views/boards/_project_show.html.erb | 178 ++++++++++++++++++++---- 2 files changed, 153 insertions(+), 31 deletions(-) diff --git a/app/views/boards/_form_project.html.erb b/app/views/boards/_form_project.html.erb index 58bb5501c..ca23193b4 100644 --- a/app/views/boards/_form_project.html.erb +++ b/app/views/boards/_form_project.html.erb @@ -15,7 +15,7 @@ <% replying ||= false %> <% extra_option = replying ? { readonly: true} : { maxlength: 200 } %> <% if replying %> -
  • +
  • <%= f.text_field :subject, { size: 60, id: "message_subject#{f.object.id}",:class=>"talk_input w585", :nhname=>'inputsubject' }.merge(extra_option) %> @@ -47,11 +47,11 @@
  • -
    +
    <% unless replying %> <% end %> - <%= text_area :quote,:quote,:style => 'display:none' %> + <%= text_area :quote,:quote,:style => 'display:none',:nhname=>"quote_input" %>
    <% if replying%> diff --git a/app/views/boards/_project_show.html.erb b/app/views/boards/_project_show.html.erb index dc1cff634..b0fd4049f 100644 --- a/app/views/boards/_project_show.html.erb +++ b/app/views/boards/_project_show.html.erb @@ -79,7 +79,7 @@
    - <% reply = Message.new(:subject => "RE: #{@message.subject}")%> + <% reply = Message.new(:subject => "RE: #{topic.subject}")%> <% if !topic.locked? && authorize_for('messages', 'reply') %>
    @@ -97,39 +97,107 @@ <% end %>
    + <% replies_all = topic.children.includes(:author, :attachments, {:board => :project}). + reorder("#{Message.table_name}.id asc").all %> + <% unless replies_all.empty? %> +
    + +
    + <%if topic.replies_count>2 %> +
    + 展开回复(<%= topic.replies_count.to_s%>) +
    + <% end %> + <% end %> <% end %> + <% else %> +

    <%= l(:label_no_data) %>

    + <% end %> + + + +<%# other_formats_links do |f| %> + <%#= f.link_to 'Atom', :url => {:key => User.current.rss_key} %> +<%# end %> + <% html_title @board.name %> + <% content_for :header_tags do %> + <%= auto_discovery_link_tag(:atom, {:format => 'atom', :key => User.current.rss_key}, :title => "#{@project}: #{@board}") %> <% end %> +
    @@ -59,7 +62,7 @@ <%= topic.content.html_safe %>
    -
    <%= l(:button_cancel)%> <%= l(:label_memo_create)%> @@ -161,6 +165,9 @@
    + \ No newline at end of file From dc557f7826eb05b5c94d06e1691ccb6e438b06e9 Mon Sep 17 00:00:00 2001 From: yutao <283765470@qq.com> Date: Wed, 27 May 2015 09:04:39 +0800 Subject: [PATCH 06/17] ... --- app/views/boards/_project_show.html.erb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/views/boards/_project_show.html.erb b/app/views/boards/_project_show.html.erb index fd685f168..738d9ac63 100644 --- a/app/views/boards/_project_show.html.erb +++ b/app/views/boards/_project_show.html.erb @@ -104,7 +104,7 @@ <% replies_all = topic.children.includes(:author, :attachments, {:board => :project}). reorder("#{Message.table_name}.id asc").all %> <% unless replies_all.empty? %> -
    +
      <% replies_all_i = 0 %> <% replies_all.each do |message| %> @@ -294,6 +294,7 @@ $(".talkmain_box").each(function(){ var target = $("li[nhname='reply_rec']",$(this)); var btn = $("a[nhname='reply_ex_btn']",$(this)); + var jumpobj = $("div[nhname='nh_reply_div']",$(this)); btn.click(function(){ if($(this).data('init')=='0'){ $(this).data('init',1); @@ -305,6 +306,8 @@ target.hide(); target.eq(0).show(); target.eq(1).show(); + $("#nhjump").attr('href','#'+jumpobj.attr('id')); + $("#nhjump")[0].click(); } }); }); From 94c7c68b7f639c1545ebc775419628207ba7bf67 Mon Sep 17 00:00:00 2001 From: yutao <283765470@qq.com> Date: Wed, 27 May 2015 14:42:36 +0800 Subject: [PATCH 07/17] ... --- app/views/boards/_course_new.html.erb | 7 +- app/views/boards/_course_show.html.erb | 352 +++++++++++++----------- app/views/boards/_form_course.html.erb | 19 +- app/views/boards/_project_show.html.erb | 129 +-------- app/views/boards/show.html.erb | 217 +++++++++++---- 5 files changed, 382 insertions(+), 342 deletions(-) diff --git a/app/views/boards/_course_new.html.erb b/app/views/boards/_course_new.html.erb index 10f23d4f2..61c774a95 100644 --- a/app/views/boards/_course_new.html.erb +++ b/app/views/boards/_course_new.html.erb @@ -1,9 +1,10 @@ -<%= form_for @message, :url =>{:controller=>'messages',:action => 'new', :board_id => @board.id, :is_board => 'true'}, :html => {:multipart => true, :id => 'message-form'} do |f| %> +<%= form_for @message, :url =>{:controller=>'messages',:action => 'new', :board_id => @board.id, :is_board => 'true'}, :html => {:nhname=>'form',:multipart => true, :id => 'message-form'} do |f| %> <%= render :partial => 'form_course', :locals => {:f => f, :topic => @message} %>
    • - <%= l(:button_cancel) %> - +
      +
      <%= l(:button_cancel) %> + <%= l(:button_submit)%>
      diff --git a/app/views/boards/_course_show.html.erb b/app/views/boards/_course_show.html.erb index d7eb7c215..fc3c38aad 100644 --- a/app/views/boards/_course_show.html.erb +++ b/app/views/boards/_course_show.html.erb @@ -1,26 +1,27 @@ +
      +
      +

      + <% if User.current.language == "zh"%> + <%= h @board.name %> + <% else %> + <%= l(:project_module_boards) %> + <% end %> - - -
      -

      - <% if User.current.language == "zh"%> - <%= h @board.name %> - <% else %> - <%= l(:project_module_boards) %> - <% end %> - -

      - <%= l(:label_message_new) %> +

      + <%= l(:label_message_new) %> +
      +
      +
      +
      +
        + <%= render :partial => 'course_new' %> +
      +
      +
      -
      -
      -
        - <%= render :partial => 'course_new' %> -
      -
      <% if !User.current.logged?%>
      @@ -32,7 +33,7 @@

      讨论区共有<%= @topic_count %>个帖子

      <% if @topics.any? %> <% @topics.each do |topic| %> -
      +
      <%= link_to image_tag(url_to_avatar(topic.author), :width=>"42",:height=>"42"), user_path(topic.author),:class =>'talkmain_pic fl' %>
      <% author = topic.author.to_s + ":" %> @@ -40,7 +41,7 @@

        <%= h(topic.subject) %>

      <% if topic.course_editable_by?(User.current) %> - <%= l(:button_edit) %> <% end %> @@ -81,105 +82,118 @@ <%= l(:label_activity_time)%>:  <%= format_time topic.created_on %>
      - <%= toggle_link l(:button_reply), "reply" + topic.id.to_s, :focus => 'message_content',:class => ' c_dblue fr' %> + <%= l(:button_reply) %>
      - -
      - -
      - <% reply = Message.new(:subject => "RE: #{@message.subject}")%> - <% if !topic.locked? && authorize_for('messages', 'reply') %> - -
      -
    • + <% end %> +
    +
    + + <%if replies_all.first %> + + <% end %> + <% end %> +
    +
    + -
  • - <% end %> - - - <%if replies_all.first %> -
    展开回复(<%= topic.replies_count.to_s%>)
    - <% end %> - <% end %> - <% end %> <% else %>

    <%= l(:label_no_data) %>

    @@ -197,58 +211,80 @@ <%= auto_discovery_link_tag(:atom, {:format => 'atom', :key => User.current.rss_key}, :title => "#{@course}: #{@board}") %> <% end %> +
    \ No newline at end of file diff --git a/app/views/boards/_form_course.html.erb b/app/views/boards/_form_course.html.erb index cfef18f93..65e750b57 100644 --- a/app/views/boards/_form_course.html.erb +++ b/app/views/boards/_form_course.html.erb @@ -5,19 +5,19 @@
  • - <%= f.text_field :subject, { size: 60, id: "message_subject",:class=>"talk_input w585", :aa=>"subject" }.merge(extra_option) %> + <%= f.text_field :subject, { size: 60, id: "message_subject",:class=>"talk_input w585", :nhname=>'inputsubject' }.merge(extra_option) %> -

    +

  • <% else %>
  • - <%= f.text_field :subject, { size: 60, id: "message_subject#{f.object.id}", onkeyup: "regexSubject('#{f.object.id}');",:class=>"talk_input w585", :aa=>"subject" }.merge(extra_option) %> + <%= f.text_field :subject, { size: 60, id: "message_subject#{f.object.id}", onkeyup: "regexSubject('#{f.object.id}');",:class=>"talk_input w585", :nhname=>'inputsubject' }.merge(extra_option) %> -

    +

  • <% end %>
  • @@ -34,11 +34,11 @@
  • -
    +
    <% unless replying %> <% end %> - <%= text_area :quote,:quote,:style => 'display:none' %> + <%= text_area :quote,:quote,:style => 'display:none',:nhname=>"quote_input" %>
    <% if replying%> @@ -46,13 +46,14 @@ :width => '89%', :height => 300, :id => "message_content#{f.object.id}", - :aa => 'content', + :nhname => 'textarea', :onkeyup => "regexContent('#{f.object.id}');", :class => 'talk_text fl', :placeholder => "最多3000个汉字(或6000个英文字符)", :maxlength => 5000 %> <% else %> + <%= f.text_area :content, :width => '90%', :height => 300, @@ -61,14 +62,14 @@ :id => "message_content#{f.object.id}", :onkeyup => "regexContent('#{f.object.id}');", :class => 'talk_text fl', - :aa => 'content', + :nhname => 'textarea', :placeholder => "最多3000个汉字(或6000个英文字符)", :maxlength => 5000 %> <% end %>
    -

    +

  • diff --git a/app/views/boards/_project_show.html.erb b/app/views/boards/_project_show.html.erb index 738d9ac63..d6332a029 100644 --- a/app/views/boards/_project_show.html.erb +++ b/app/views/boards/_project_show.html.erb @@ -90,7 +90,7 @@ <%= form_for reply, :as => :reply, :url => {:controller=>'messages',:action => 'reply', :id => topic.id, :board_id => topic.board_id, :is_board => 'true'}, :html => {:nhname=>"form",:multipart => true, :id => 'message_form' + topic.id.to_s, :name=>'message-form'} do |f| %> <%= render :partial => 'form_project', :locals => {:f => f, :replying => true} %> -
    +
    <%= l(:button_cancel)%> <%= l(:button_submit)%> @@ -115,6 +115,7 @@ <%= link_to_user_header message.author,false,:class => 'fl c_orange ' %>

    <%= textAreailizable message,:content,:attachments => message.attachments %>

    +
    <%= format_time(message.created_on) %> <%= link_to( @@ -165,131 +166,7 @@
    - - - <% if @project %> @@ -73,3 +30,171 @@ function show_newtalk1(id) <% elsif @course %> <%= render :partial => 'course_show', locals: {course: @course} %> <% end %> + + + \ No newline at end of file From cd38e9aa7009f13a415ead66120039d82c7ac803 Mon Sep 17 00:00:00 2001 From: yutao <283765470@qq.com> Date: Wed, 27 May 2015 15:50:31 +0800 Subject: [PATCH 08/17] ... --- app/views/boards/_course_show.html.erb | 63 ++++++------------------- app/views/boards/_project_show.html.erb | 2 +- app/views/boards/show.html.erb | 10 ++-- 3 files changed, 23 insertions(+), 52 deletions(-) diff --git a/app/views/boards/_course_show.html.erb b/app/views/boards/_course_show.html.erb index fc3c38aad..ddf6a532d 100644 --- a/app/views/boards/_course_show.html.erb +++ b/app/views/boards/_course_show.html.erb @@ -8,12 +8,14 @@ <% end %> - <%= l(:label_message_new) %> + <% if User.current.logged? %> + <%= l(:label_message_new) %> + <% end %>
    -
    + <% end %> - <% replies_all = topic.children. - includes(:author, :attachments, {:board => :project}). - reorder("#{Message.table_name}.created_on DESC").offset(2). - all %> - <% replies_show = topic.children. - includes(:author, :attachments, {:board => :project}). - reorder("#{Message.table_name}.created_on DESC").limit(2). - all %> - <% unless replies_show.empty? %> - <% reply_count = 0 %> -
    + <% replies_all = topic.children.includes(:author, :attachments, {:board => :project}). + reorder("#{Message.table_name}.created_on DESC").all %> + <% unless replies_all.empty? %> + <% replies_all_i = 0 %> +
      - <% replies_show.each do |message| %> - -
    • + <% replies_all.each do |message| %> + <% replies_all_i=replies_all_i+1 %> +
    • <%= link_to image_tag(url_to_avatar(message.author), :width => '34',:height => '34'), user_path(message.author), :class =>'Msg_pic' %>
      <%= link_to_user_header message.author,false,:class => 'fl c_orange ' %> @@ -157,37 +153,8 @@ <% end %>
    - - <%if replies_all.first %> - + <%if topic.replies_count>2 %> + <% end %> <% end %>
    diff --git a/app/views/boards/_project_show.html.erb b/app/views/boards/_project_show.html.erb index d6332a029..d20119a6c 100644 --- a/app/views/boards/_project_show.html.erb +++ b/app/views/boards/_project_show.html.erb @@ -102,7 +102,7 @@
    <% replies_all = topic.children.includes(:author, :attachments, {:board => :project}). - reorder("#{Message.table_name}.id asc").all %> + reorder("#{Message.table_name}.id desc").all %> <% unless replies_all.empty? %>
      diff --git a/app/views/boards/show.html.erb b/app/views/boards/show.html.erb index 3d20fd411..bb3faf28f 100644 --- a/app/views/boards/show.html.erb +++ b/app/views/boards/show.html.erb @@ -1,5 +1,8 @@ +<%= javascript_include_tag "/assets/kindeditor/kindeditor-min" %> <% if @project %> <%= render :partial => 'project_show', locals: {project: @project} %> @@ -147,9 +148,9 @@ function nh_init_board(params){ textarea:params.textarea }); if(is_checked){ -// alert('submit'); -// return false; - return true; + //return true 居然不提交 fuck your sister + $(this)[0].submit(); +// return true; } return false; }); From 709c026910a8274026b3b0ac007a8d20fd05cd5b Mon Sep 17 00:00:00 2001 From: yutao <283765470@qq.com> Date: Thu, 28 May 2015 15:48:52 +0800 Subject: [PATCH 12/17] ... --- app/views/boards/_course_show.html.erb | 4 ++-- app/views/boards/_project_show.html.erb | 2 +- app/views/boards/show.html.erb | 13 ++++++++----- public/images/public_icon.png | Bin 4987 -> 11734 bytes 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/app/views/boards/_course_show.html.erb b/app/views/boards/_course_show.html.erb index 889e82350..0b0e95b21 100644 --- a/app/views/boards/_course_show.html.erb +++ b/app/views/boards/_course_show.html.erb @@ -132,8 +132,8 @@
      <%= link_to_user_header message.author,false,:class => 'fl c_orange ' %>
      -

      <%= textAreailizable message,:content,:attachments => message.attachments %>

      - +
      <%= textAreailizable message,:content,:attachments => message.attachments %>
      +
      <%= format_time(message.created_on) %> <%= link_to( diff --git a/app/views/boards/_project_show.html.erb b/app/views/boards/_project_show.html.erb index 48b3d6ccf..a8dc4ad1a 100644 --- a/app/views/boards/_project_show.html.erb +++ b/app/views/boards/_project_show.html.erb @@ -120,7 +120,7 @@
      <%= link_to_user_header message.author,false,:class => 'fl c_orange ' %>
      -

      <%= textAreailizable message,:content,:attachments => message.attachments %>

      +
      <%= textAreailizable message,:content,:attachments => message.attachments %>

      <%= format_time(message.created_on) %> diff --git a/app/views/boards/show.html.erb b/app/views/boards/show.html.erb index 8bc4cc7af..69300ec4b 100644 --- a/app/views/boards/show.html.erb +++ b/app/views/boards/show.html.erb @@ -1,7 +1,10 @@