Added CSS for index search fields and revised regex for author search
This commit is contained in:
@@ -88,5 +88,45 @@ $(function() {
|
||||
}], {
|
||||
debounce: 300
|
||||
});
|
||||
$('.md_editor .field_container_user .editor_field').textcomplete([{
|
||||
// match up to 2 words (everything except some special characters)
|
||||
// each word can have up to 16 characters (up to 32 total)
|
||||
// words must be separated by a single space
|
||||
match: /(^|\s)(([^!"§$%&\/()=?.,;+*@\s]{1,16} ?){0,1}[^!"§$%&\/()=?.,;+*@\s]{1,16})$/,
|
||||
search: function (text, callback, match) {
|
||||
console.log("Searching " + text);
|
||||
text = text.toLowerCase();
|
||||
$.ajax("/users/suggestions", {
|
||||
type: "post",
|
||||
data: {name: text},
|
||||
dataType: "json",
|
||||
headers: {
|
||||
"X-CSRF-Token": $('meta[name="csrf-token"]').attr("content")
|
||||
},
|
||||
success: function(data) {
|
||||
callback(data);
|
||||
},
|
||||
error: function(xhr, status, err) {
|
||||
console.error(err);
|
||||
callback([]);
|
||||
}
|
||||
});
|
||||
},
|
||||
template: function(user) {
|
||||
var name = user[0];
|
||||
var ign = user[1];
|
||||
if (name != ign) {
|
||||
return name + " <small>(" + ign + ")</small>";
|
||||
} else {
|
||||
return ign;
|
||||
}
|
||||
},
|
||||
cache: true,
|
||||
replace: function (word) {
|
||||
return "$1" + word[1] + " ";
|
||||
}
|
||||
}], {
|
||||
debounce: 300
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
@@ -489,6 +489,10 @@ blockquote p {
|
||||
padding: 4em 1em 1em;
|
||||
}
|
||||
}
|
||||
.field_container_user {
|
||||
.editor_field {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ul.dropdown-menu {
|
||||
@@ -1043,3 +1047,20 @@ nav.pagination {
|
||||
border-radius: 0.2em;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
.searchfield {
|
||||
margin:0px;
|
||||
height:40px;
|
||||
display: inline-block;
|
||||
|
||||
.btn {
|
||||
margin: 4px 1px 0 0;
|
||||
padding: 6px;
|
||||
cursor: default;
|
||||
color: #fff;
|
||||
border: none;
|
||||
font-size: 12px;
|
||||
line-height: normal;
|
||||
background: #4096ee;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,49 +1,51 @@
|
||||
<%= link_to "Forums", forums_path %> →
|
||||
<% if params.to_hash.slice("label", "title", "content", "author", "reply").size > 0 %>
|
||||
<% params_list = params.to_hash %>
|
||||
<% if params_list.any? %>
|
||||
<%= link_to "All Threads", forumthreads_path %> → Search Results
|
||||
<% else %>
|
||||
<%= "All Threads" %>
|
||||
<% end %>
|
||||
<% params_list = params.to_hash.slice("id", "query", "label", "title", "content", "author", "reply") %>
|
||||
<h1>
|
||||
<% if params[:id] %>
|
||||
<% text = "forum '#{Forum.find(params[:id]).name}'" %>
|
||||
<% else %>
|
||||
<% text = "all threads" %>
|
||||
<% end %>
|
||||
<% if params_list.size > 0 %>
|
||||
<%= title "Search results in #{text} (#{@threads.length})" %>
|
||||
<% else %>
|
||||
<% if params[:id] %>
|
||||
<%= title "All threads in #{text}" %>
|
||||
<% else %>
|
||||
<%= title "All Threads" %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<%
|
||||
if params[:id]
|
||||
text = "forum '#{Forum.find(params[:id]).name}'"
|
||||
if params_list.any?
|
||||
text = "Search results in #{text} (#{@threads.length})"
|
||||
else
|
||||
text = text.capitalize
|
||||
end
|
||||
elsif params_list.any?
|
||||
text = "Search results (#{@threads.length})"
|
||||
else
|
||||
text = "All threads"
|
||||
end
|
||||
%>
|
||||
<%= title text %>
|
||||
<br>
|
||||
<%= link_to "Advanced Search", search_forumthreads_path(params_list), class: "btn right blue" %>
|
||||
<% if params_list.size > 0 && params[:id] %>
|
||||
<%= link_to "Show All Threads", forumthreads_path(params_list.except("id")), class: "btn right blue" %>
|
||||
<% elsif params_list.size > 0 && !params[:id] %>
|
||||
<%= link_to "Show All Threads", forumthreads_path, class: "btn right blue" %>
|
||||
<% if params_list.any? %>
|
||||
<% if params[:id] %>
|
||||
<%= link_to "Show All Threads", forumthreads_path(params_list.except("id")), class: "btn right blue" %>
|
||||
<% else %>
|
||||
<%= link_to "Show All Threads", forumthreads_path, class: "btn right blue" %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% if params[:id] %>
|
||||
<%= link_to "Go to Forum", forum_path(params[:id]), class: "btn right blue" %>
|
||||
<% end %>
|
||||
</h1>
|
||||
<br>
|
||||
<%= form_tag({controller: "forumthreads", action: "search_redirect"}, method: :post, style: "margin:0px;height:40px") do %>
|
||||
<%= text_field_tag "query", nil, placeholder: "Search...", style: "margin:0px;height:40px;width:300px" %>
|
||||
<% params.each do |key, value| %>
|
||||
<%= hidden_field_tag key, params[key] if params[key] && params[key] != params[:query] %>
|
||||
<div class="searchfield">
|
||||
<%= form_tag({controller: "forumthreads", action: "index"}, method: :get, enforce_utf8: nil) do %>
|
||||
<%= text_field_tag "query", params[:query], placeholder: "Search...", style: "width:300px" %>
|
||||
<% params_list.compact.except("query").each do |key, value| %>
|
||||
<%= hidden_field_tag key, params[key] %>
|
||||
<% end %>
|
||||
<%= submit_tag "Go", class: "searchfield btn", style: "width:40px", name: nil %>
|
||||
<% end %>
|
||||
<%= submit_tag "Go", class: "btn blue", style: "margin:0px;height:40px;width:40px" %>
|
||||
<% end %>
|
||||
</div>
|
||||
</h1>
|
||||
<div id="forum_groups">
|
||||
<% counter = 0 %>
|
||||
<% @threads.each do |thread| %>
|
||||
<% counter += 1 %>
|
||||
<div class="item-group with-avatar" id="thread-<%= thread.id %>">
|
||||
<div class="header">
|
||||
<%= link_to(thread.author.avatar(64), thread.author, title: thread.author.ign) %>
|
||||
@@ -77,7 +79,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% if counter == 0 %>
|
||||
<% if @threads.empty? %>
|
||||
<br>
|
||||
<h3>No results found</h3>
|
||||
<% end %>
|
||||
<%= paginate @threads %>
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
<%= form_tag({controller: "users", action: "search_redirect"}, method: :post, style: "margin:0px;height:40px") do %>
|
||||
<%= text_field_tag "search", nil, placeholder: "Search for a user", style: "margin:0px;height:40px;width:300px" %>
|
||||
<%= submit_tag "Go", class: "btn blue", style: "margin:0px;height:40px;width:40px" %>
|
||||
<%= hidden_field_tag "role", params[:role] %>
|
||||
<% end %>
|
||||
|
||||
<div class="searchfield">
|
||||
<%= form_tag({controller: "users", action: "index"}, method: :get, enforce_utf8: false) do %>
|
||||
<%= text_field_tag "search", params[:search], placeholder: "Search for a user", style: "width:300px" %>
|
||||
<%= submit_tag "Go", class: "searchfield btn", style: "width:40px", name: nil %>
|
||||
<%= hidden_field_tag "role", params[:role] if params[:role] %>
|
||||
<%= hidden_field_tag "badge", params[:badge] if params[:badge]%>
|
||||
<% end %>
|
||||
</div>
|
||||
<h1>
|
||||
<%
|
||||
if params[:role] && !params[:badge]
|
||||
@@ -19,11 +21,10 @@
|
||||
%>
|
||||
<%= title text %>
|
||||
<% if params[:search] %>
|
||||
(<%= @users.select {|u| u.name.downcase.include?(params[:search].downcase) || u.ign.downcase.include?(params[:search].downcase) }.size %>)
|
||||
(<%= @users.total_count %>)
|
||||
<% else %>
|
||||
(<%= @count %>)
|
||||
<% end %>
|
||||
|
||||
</h1>
|
||||
<%= link_to "show all", users_path if params[:role] || params[:badge] %>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user