Merge branch 'szzh' into develop
This commit is contained in:
commit
a2e35917a1
|
@ -153,6 +153,7 @@ class BoardsController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@page = params[:page] ? params[:page].to_i + 1 : 0
|
||||||
@message = Message.new(:board => @board)
|
@message = Message.new(:board => @board)
|
||||||
#modify by nwb
|
#modify by nwb
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
|
|
|
@ -24,7 +24,7 @@ class FilesController < ApplicationController
|
||||||
before_filter :auth_login1, :only => [:index]
|
before_filter :auth_login1, :only => [:index]
|
||||||
before_filter :logged_user_by_apptoken,:only => [:index]
|
before_filter :logged_user_by_apptoken,:only => [:index]
|
||||||
before_filter :find_project_by_project_id#, :except => [:getattachtype]
|
before_filter :find_project_by_project_id#, :except => [:getattachtype]
|
||||||
before_filter :authorize, :except => [:create,:getattachtype,:quote_resource_show,:search,:searchone4reload,:search_project,:quote_resource_show_project,:search_tag_attachment]
|
before_filter :authorize, :except => [:create,:getattachtype,:quote_resource_show,:search,:searchone4reload,:search_project,:quote_resource_show_project,:search_tag_attachment,:subfield_upload_file,:search_org_subfield_tag_attachment,:search_tag_attachment,:quote_resource_show_org_subfield,:find_org_subfield_attache,:search_files_in_subfield]
|
||||||
|
|
||||||
helper :sort
|
helper :sort
|
||||||
include SortHelper
|
include SortHelper
|
||||||
|
|
|
@ -2727,6 +2727,10 @@ int main(int argc, char** argv){
|
||||||
opt = {enable_at: false, prettify: false, init_activity: false}.merge default_opt
|
opt = {enable_at: false, prettify: false, init_activity: false}.merge default_opt
|
||||||
ss = ''
|
ss = ''
|
||||||
|
|
||||||
|
unless Setting.at_enabled?
|
||||||
|
opt[:enable_at] = false
|
||||||
|
end
|
||||||
|
|
||||||
ss += javascript_include_tag("/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg')
|
ss += javascript_include_tag("/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg')
|
||||||
if opt[:enable_at]
|
if opt[:enable_at]
|
||||||
ss += javascript_include_tag('/assets/kindeditor/at/jquery.caret.min.js', '/assets/kindeditor/at/jquery.atwho.js', '/assets/kindeditor/at/config.js')
|
ss += javascript_include_tag('/assets/kindeditor/at/jquery.caret.min.js', '/assets/kindeditor/at/jquery.atwho.js', '/assets/kindeditor/at/config.js')
|
||||||
|
|
|
@ -31,4 +31,5 @@
|
||||||
<%= render :partial => 'course_new', :locals => {:f => f, :topic => @message, :edit_mode => false, :course => @board.course} %>
|
<%= render :partial => 'course_new', :locals => {:f => f, :topic => @message, :edit_mode => false, :course => @board.course} %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%= render :partial=> 'course_show_detail',:locals =>{:topics => @topics, :page => 0} %></div>
|
<%= render :partial=> 'course_show_detail',:locals =>{:topics => @topics, :page => 0} %>
|
||||||
|
</div>
|
||||||
|
|
|
@ -34,7 +34,11 @@
|
||||||
<% if @homework.homework_type == 3 %>
|
<% if @homework.homework_type == 3 %>
|
||||||
<span id="min_num_member" style="display: none"><%=@homework.homework_detail_group.min_num %></span>
|
<span id="min_num_member" style="display: none"><%=@homework.homework_detail_group.min_num %></span>
|
||||||
<span id="max_num_member" style="display: none"><%=@homework.homework_detail_group.max_num %></span>
|
<span id="max_num_member" style="display: none"><%=@homework.homework_detail_group.max_num %></span>
|
||||||
<%=hidden_field_tag 'group_member_ids', params[:group_member_ids], :value=>User.current.id %>
|
<% str = User.current.id.to_s%>
|
||||||
|
<% @work.student_work_projects.where("is_leader = ?", 0).each do |pro| %>
|
||||||
|
<% str += ','+pro.user_id.to_s %>
|
||||||
|
<% end %>
|
||||||
|
<%=hidden_field_tag 'group_member_ids', params[:group_member_ids], :value=>str %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<div>
|
<div>
|
||||||
<input type="text" name="student_work[name]" id="student_work_name" placeholder="请简洁的概括作品的功能或特性" class="InputBox W700" maxlength="200" onkeyup="regexStudentWorkName();" value="<%= @work.name%>">
|
<input type="text" name="student_work[name]" id="student_work_name" placeholder="请简洁的概括作品的功能或特性" class="InputBox W700" maxlength="200" onkeyup="regexStudentWorkName();" value="<%= @work.name%>">
|
||||||
|
|
|
@ -26,14 +26,18 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
<div class="calendar_div fl mr10">
|
<div class="calendar_div fl mr10">
|
||||||
<input type="text" name="homework_common[end_time]" id="homework_end_time" placeholder="截止日期" class="InputBox fl W120 calendar_input" readonly="readonly" value="<%= homework.end_time%>" >
|
<input type="text" name="homework_common[end_time]" id="homework_end_time" placeholder="截止日期" class="InputBox fl W120 calendar_input" readonly="readonly" value="<%= homework.end_time%>" >
|
||||||
<%= calendar_for('homework_end_time')%>
|
<% if homework.homework_detail_manual.comment_status.to_i < 3 %>
|
||||||
|
<%= calendar_for('homework_end_time')%>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<% if edit_mode %>
|
<% if edit_mode %>
|
||||||
<label class="fl c_grey f14" style="margin-top: 4px;">发布日期(可选):</label>
|
<label class="fl c_grey f14" style="margin-top: 4px;">发布日期(可选):</label>
|
||||||
<% end %>
|
<% end %>
|
||||||
<div class="calendar_div fl">
|
<div class="calendar_div fl">
|
||||||
<input type="text" name="homework_common[publish_time]" id="homework_publish_time" placeholder="发布日期(可选)" class="InputBox fl W120 calendar_input" readonly="readonly" value="<%= homework.publish_time%>" >
|
<input type="text" name="homework_common[publish_time]" id="homework_publish_time" placeholder="发布日期(可选)" class="InputBox fl W120 calendar_input" readonly="readonly" value="<%= homework.publish_time%>" >
|
||||||
<%= calendar_for('homework_publish_time')%>
|
<% if homework.homework_detail_manual.comment_status.to_i == 0 %>
|
||||||
|
<%= calendar_for('homework_publish_time')%>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<%= content_for(:header_tags) do %>
|
<%= content_for(:header_tags) do %>
|
||||||
<%= import_ke(enable_at: false, prettify: false, init_activity: true) %>
|
<%= import_ke(enable_at: false, prettify: false, init_activity: false) %>
|
||||||
<%= javascript_include_tag "user" %>
|
<%= javascript_include_tag "init_KindEditor","user" %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
|
|
|
@ -148,6 +148,10 @@
|
||||||
$("#resources_list").mousedown(function(e) {
|
$("#resources_list").mousedown(function(e) {
|
||||||
//如果是右键的话
|
//如果是右键的话
|
||||||
if (3 == e.which) {
|
if (3 == e.which) {
|
||||||
|
if( $("#res_name").length != 0 || $("#ajax-indicator").is(":hidden") == false){ //其他ajax在执行的时候阻止操作
|
||||||
|
e.preventDefault();
|
||||||
|
return ;
|
||||||
|
}
|
||||||
document.oncontextmenu = function() {return false;}
|
document.oncontextmenu = function() {return false;}
|
||||||
pageX = e.clientX;
|
pageX = e.clientX;
|
||||||
pageY = e.clientY;
|
pageY = e.clientY;
|
||||||
|
@ -195,6 +199,9 @@
|
||||||
//隐藏右键菜单
|
//隐藏右键菜单
|
||||||
//e.preventDefault();
|
//e.preventDefault();
|
||||||
$("#contextMenu").hide();
|
$("#contextMenu").hide();
|
||||||
|
if( $("#ajax-indicator").is(":hidden") == false && $("#res_name").length != 0 ){ //其他ajax在执行的时候或者res_name仍然存在阻止操作
|
||||||
|
return ;
|
||||||
|
}
|
||||||
document.oncontextmenu = function() {return true;}
|
document.oncontextmenu = function() {return true;}
|
||||||
//如果当前行为空,那么要将当前行的拿到
|
//如果当前行为空,那么要将当前行的拿到
|
||||||
var ele;
|
var ele;
|
||||||
|
@ -363,7 +370,8 @@
|
||||||
res_link = line.children().eq(1).html();
|
res_link = line.children().eq(1).html();
|
||||||
line.children().eq(1).html(
|
line.children().eq(1).html(
|
||||||
'<input name="res_name" id="res_name" ' +
|
'<input name="res_name" id="res_name" ' +
|
||||||
'style="height: 2em;line-height: 2em;overflow: hidden;" onblur="restore();" onkeypress="if(event.keyCode==13){event.preventDefault();this.blur();}" ' +
|
'style="height: 2em;line-height: 2em;overflow: hidden;" onblur="restore();" ' +
|
||||||
|
' onkeypress="if(event.keyCode==13){event.preventDefault();this.blur();}" ' +
|
||||||
'value="'+res_name+
|
'value="'+res_name+
|
||||||
'"/> <input type="hidden" id ="res_id" name="res_id" value="'+id+'"/>');
|
'"/> <input type="hidden" id ="res_id" name="res_id" value="'+id+'"/>');
|
||||||
$("#res_name").focus();
|
$("#res_name").focus();
|
||||||
|
@ -401,7 +409,7 @@
|
||||||
type:'get',
|
type:'get',
|
||||||
success:function (data)
|
success:function (data)
|
||||||
{
|
{
|
||||||
if (data != 'fail') {//修改成功,那么将链接恢复,并且将链接的显示内容改变。链接可以不变
|
if (data != 'fail' && name != undefined && name != 'undefined') {//修改成功,那么将链接恢复,并且将链接的显示内容改变。链接可以不变
|
||||||
last_line.children().eq(1).html(res_link);
|
last_line.children().eq(1).html(res_link);
|
||||||
last_line.children().eq(1).children().attr('title', name);
|
last_line.children().eq(1).children().attr('title', name);
|
||||||
last_line.children().eq(1).children().attr('href', data);
|
last_line.children().eq(1).children().attr('href', data);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<%= form_tag(words_create_reply_path, :remote => true) do %>
|
<%= form_tag(words_create_reply_path, :remote => true,:id=>"form_#{journal.id}") do %>
|
||||||
<%= text_area_tag 'user_notes', "", :class => 'w520 h50 mb5',
|
<%= text_area_tag 'user_notes', "", :class => 'w520 h50 mb5',
|
||||||
:style => "resize: none;overflow: hidden;",:rows => 4,
|
:style => "resize: none;overflow: hidden;",:rows => 4,
|
||||||
:placeholder => l(:label_feedback_respond_content)#,
|
:placeholder => l(:label_feedback_respond_content)#,
|
||||||
|
@ -13,6 +13,20 @@
|
||||||
|
|
||||||
<div class="fl" style="padding-top:5px;" nhname="toolbar_container"></div>
|
<div class="fl" style="padding-top:5px;" nhname="toolbar_container"></div>
|
||||||
<%= submit_tag l(:button_feedback_respond), :name => nil ,
|
<%= submit_tag l(:button_feedback_respond), :name => nil ,
|
||||||
:class => "reply_btn"%>
|
:class => "reply_btn" ,:onclick=>"form_sub_#{ journal.id}($(this),event)"%>
|
||||||
<input nhname="cancel_btn" type="button" style="display:none;"/>
|
<input nhname="cancel_btn" type="button" style="display:none;"/>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<script>
|
||||||
|
var flag_<%= journal.id %> = false;
|
||||||
|
function form_sub_<%= journal.id%>(dom,event){
|
||||||
|
if(flag_<%= journal.id %> == true){
|
||||||
|
//dom.attr('disabled','disabled');
|
||||||
|
return;
|
||||||
|
}else{
|
||||||
|
//dom.removeAttr('disabled');
|
||||||
|
}
|
||||||
|
flag_<%= journal.id %> = true;
|
||||||
|
$("#form_<%= journal.id%>").submit();
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
|
@ -279,3 +279,5 @@ plugin_redmine_ckeditor:
|
||||||
toolbar_can_collapse: '0'
|
toolbar_can_collapse: '0'
|
||||||
toolbar_location: top
|
toolbar_location: top
|
||||||
toolbar: Source,ShowBlocks,--,Undo,Redo,-,Find,Replace,--,Bold,Italic,Underline,Strike,-,Subscript,Superscript,-,NumberedList,BulletedList,-,Outdent,Indent,Blockquote,-,JustifyLeft,JustifyCenter,JustifyRight,JustifyBlock,-,Link,Unlink,-,richImage,Table,HorizontalRule,/,Styles,Format,Font,FontSize,-,TextColor,BGColor
|
toolbar: Source,ShowBlocks,--,Undo,Redo,-,Find,Replace,--,Bold,Italic,Underline,Strike,-,Subscript,Superscript,-,NumberedList,BulletedList,-,Outdent,Indent,Blockquote,-,JustifyLeft,JustifyCenter,JustifyRight,JustifyBlock,-,Link,Unlink,-,richImage,Table,HorizontalRule,/,Styles,Format,Font,FontSize,-,TextColor,BGColor
|
||||||
|
at_enabled:
|
||||||
|
default: 1
|
||||||
|
|
|
@ -10,10 +10,11 @@ var enableAt = function(_editor) {
|
||||||
var ifr = editor.edit.iframe[0];
|
var ifr = editor.edit.iframe[0];
|
||||||
var doc = ifr.contentDocument || iframe.contentWindow.document;
|
var doc = ifr.contentDocument || iframe.contentWindow.document;
|
||||||
var ifrBody = doc.body;
|
var ifrBody = doc.body;
|
||||||
ifrBody.contentEditable = true;
|
//ifrBody.contentEditable = false;
|
||||||
|
$(ifrBody).attr('enable_at', 'true');
|
||||||
console.log("enable at");
|
console.log("enable at");
|
||||||
|
|
||||||
$.fn.atwho.debug = true;
|
//$.fn.atwho.debug = true;
|
||||||
|
|
||||||
|
|
||||||
var names = [];
|
var names = [];
|
||||||
|
@ -40,7 +41,23 @@ var enableAt = function(_editor) {
|
||||||
limit: 200
|
limit: 200
|
||||||
};
|
};
|
||||||
|
|
||||||
$inputor = $(ifrBody).atwho(at_config);
|
console.log(_editor.options);
|
||||||
$inputor.caret('pos', 47);
|
|
||||||
$inputor.focus().atwho('run');
|
var input = $(ifrBody);
|
||||||
|
|
||||||
|
_editor.options.enable_at = (function(){
|
||||||
|
var first = true;
|
||||||
|
return function(){
|
||||||
|
if(first){
|
||||||
|
input.atwho(at_config);
|
||||||
|
first = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
|
||||||
|
//$(ifrBody).atwho(at_config);
|
||||||
|
|
||||||
|
|
||||||
|
//$inputor.caret('pos', 47);
|
||||||
|
//$inputor.focus().atwho('run');
|
||||||
};
|
};
|
||||||
|
|
|
@ -97,7 +97,7 @@ App = (function() {
|
||||||
|
|
||||||
App.prototype.reg = function(flag, setting) {
|
App.prototype.reg = function(flag, setting) {
|
||||||
var base, controller;
|
var base, controller;
|
||||||
controller = (base = this.controllers)[flag] || (base[flag] = this.$inputor.is('[contentEditable]') ? new EditableController(this, flag) : new TextareaController(this, flag));
|
controller = (base = this.controllers)[flag] || (base[flag] = this.$inputor.is('[enable_at]') ? new EditableController(this, flag) : new TextareaController(this, flag));
|
||||||
if (setting.alias) {
|
if (setting.alias) {
|
||||||
this.aliasMaps[setting.alias] = flag;
|
this.aliasMaps[setting.alias] = flag;
|
||||||
}
|
}
|
||||||
|
@ -1110,7 +1110,7 @@ $.fn.atwho = function(method) {
|
||||||
var _args, result;
|
var _args, result;
|
||||||
_args = arguments;
|
_args = arguments;
|
||||||
result = null;
|
result = null;
|
||||||
this.filter('textarea, input, [contenteditable=""], [contenteditable=true]').each(function() {
|
this.filter('textarea, input, [contenteditable=""], [contenteditable=true], [enable_at=true]').each(function() {
|
||||||
var $this, app;
|
var $this, app;
|
||||||
if (!(app = ($this = $(this)).data("atwho"))) {
|
if (!(app = ($this = $(this)).data("atwho"))) {
|
||||||
$this.data('atwho', (app = new App(this)));
|
$this.data('atwho', (app = new App(this)));
|
||||||
|
|
|
@ -4730,6 +4730,9 @@ function _bindTabEvent() {
|
||||||
function _bindFocusEvent() {
|
function _bindFocusEvent() {
|
||||||
var self = this;
|
var self = this;
|
||||||
K(self.edit.textarea[0], self.edit.win).focus(function(e) {
|
K(self.edit.textarea[0], self.edit.win).focus(function(e) {
|
||||||
|
if(typeof self.options.enable_at === 'function'){
|
||||||
|
self.options.enable_at();
|
||||||
|
}
|
||||||
if (self.afterFocus) {
|
if (self.afterFocus) {
|
||||||
self.afterFocus.call(self, e);
|
self.afterFocus.call(self, e);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue