Skip to content

Commit

Permalink
Add search in archive
Browse files Browse the repository at this point in the history
  • Loading branch information
endenwer committed Apr 4, 2016
1 parent ee27122 commit 74e9f22
Show file tree
Hide file tree
Showing 6 changed files with 76 additions and 5 deletions.
1 change: 1 addition & 0 deletions app/views/issues/_chat_telegram_assets.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
<%= stylesheet_link_tag 'style', :plugin => 'redmine_chat_telegram' %>
<%= stylesheet_link_tag 'jquery.datetimepicker', :plugin => 'redmine_chat_telegram' %>
<%= javascript_include_tag 'jquery.datetimepicker.full.min', :plugin => 'redmine_chat_telegram' %>
<%= javascript_include_tag 'fuse.min', :plugin => 'redmine_chat_telegram' %>
<% end %>
2 changes: 1 addition & 1 deletion app/views/telegram_messages/_message.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<span><%= message.message %></div>
</div>
<% else %>
<div class="telegram-message" data-sent-at=<%= message.sent_at.to_i %>>
<div class="telegram-message" id="telegram_message_<%= message.id %>" data-sent-at=<%= message.sent_at.to_i %>>
<%= check_box_tag 'telegram_message_ids[]', message.id, false, class: "telegram-message-checkbox" %>
<time><%= format_time message.sent_at, false %></time>
<div class="telegram-author-photo <%= "user-bgcolor-#{color_number_for_user(message.user_id)}" %>">
Expand Down
13 changes: 10 additions & 3 deletions app/views/telegram_messages/_modal_window.html.erb
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
<div class="archive-date-picker">
<span>Перейти к дате:</span>
<input id="datetimepicker" type="text" placeholder="выберите дату">
<div class="archive-top">
<div class="archive-datetimepicker">
<span>Перейти к дате:</span>
<input id="datetimepicker" type="text" placeholder="выберите дату">
</div>
<div class="archive-search">
<span>Поиск:</span>
<input size="38" id="telegram-search-input" type="text" data-messages="<%= @telegram_messages.to_json %>" placeholder="введите строку для поиска">
</div>
<div style="clear: both;"></div>
<hr>
</div>
<%= render partial: 'archive_form'%>
Expand Down
32 changes: 32 additions & 0 deletions app/views/telegram_messages/index.js.erb
Original file line number Diff line number Diff line change
Expand Up @@ -67,3 +67,35 @@ $(".telegram-message").hover(function(){
$(this).find(".telegram-message-checkbox").css("visibility", "hidden");
}
})


// Search
var messages = $("#telegram-search-input").data("messages")

var searchOptions = {
caseSensitive: false,
tokenize: true,
threshold: 0.0,
location: 0,
distance: 10000,
maxPatternLength: 32,
keys: ["message"]
};

var fuse = new Fuse(messages, searchOptions);

$("#telegram-search-input").keyup(function(event){
query = event.target.value
console.log(query)
if (query){
$(".archive-form").children().hide()
matchedMessages = fuse.search(query)
matchedMessages.forEach(function(message){
if (!message['is_system']){
$("#telegram_message_" + message.id).show()
}
})
} else {
$(".archive-form").children().show()
}
})
20 changes: 20 additions & 0 deletions assets/javascripts/fuse.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 12 additions & 1 deletion assets/stylesheets/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,21 @@
overflow: auto;
}

.archive-date-picker{
.archive-top{
height: 40px;
}

.archive-datetimepicker{
float:left;
}

.archive-search{
float:right;
}

.archive-submit-button{
float:right;
}

.telegram-message{
padding: 15px 0px;
Expand Down

0 comments on commit 74e9f22

Please sign in to comment.