diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index 2834ad61e..922b42745 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -360,7 +360,11 @@ Danbooru.Note = { var $note_box = Danbooru.Note.Box.find(id); var text = $textarea.val(); $note_body.data("original-body", text); - Danbooru.Note.Body.set_text($note_body, text); + Danbooru.Note.Body.set_text($note_body, "Loading..."); + $.get("/note_previews.json", {body: text}).success(function(data) { + Danbooru.Note.Body.set_text($note_body, data.body); + $note_body.show(); + }); $this.dialog("close"); if (id.match(/\d/)) { @@ -386,8 +390,11 @@ Danbooru.Note = { var id = $this.data("id"); var $note_body = Danbooru.Note.Body.find(id); var text = $textarea.val(); - Danbooru.Note.Body.set_text($note_body, text); - $note_body.show(); + Danbooru.Note.Body.set_text($note_body, "Loading..."); + $.get("/note_previews.json", {body: text}).success(function(data) { + Danbooru.Note.Body.set_text($note_body, data.body); + $note_body.show(); + }); }, cancel: function() { diff --git a/app/controllers/dmails_controller.rb b/app/controllers/dmails_controller.rb index 9b9e5cfc3..30759c3c5 100644 --- a/app/controllers/dmails_controller.rb +++ b/app/controllers/dmails_controller.rb @@ -14,6 +14,7 @@ class DmailsController < ApplicationController end def index + cookies[:dmail_folder] = params[:folder] @search = Dmail.visible.search(params[:search]) @dmails = @search.order("dmails.created_at desc").paginate(params[:page]) respond_with(@dmails) do |format| diff --git a/app/controllers/note_previews_controller.rb b/app/controllers/note_previews_controller.rb new file mode 100644 index 000000000..81c464689 --- /dev/null +++ b/app/controllers/note_previews_controller.rb @@ -0,0 +1,12 @@ +class NotePreviewsController < ApplicationController + respond_to :json + + def show + @body = DText.sanitize(params[:body].to_s) + respond_with(@body) do |format| + format.json do + render :json => {:body => @body}.to_json + end + end + end +end diff --git a/app/helpers/dmails_helper.rb b/app/helpers/dmails_helper.rb index 3583e9cf4..869a21820 100644 --- a/app/helpers/dmails_helper.rb +++ b/app/helpers/dmails_helper.rb @@ -1,2 +1,12 @@ module DmailsHelper + def dmails_current_folder_path + case cookies[:dmail_folder] + when "sent" + dmails_path(:search => {:owner_id => CurrentUser.id, :from_id => CurrentUser.id}, :folder => "sent") + when "all" + dmails_path(:search => {:owner_id => CurrentUser.id}, :folder => "all") + else + dmails_path(:search => {:owner_id => CurrentUser.id, :to_id => CurrentUser.id}, :folder => "received") + end + end end diff --git a/app/logical/post_sets/post.rb b/app/logical/post_sets/post.rb index 216194cc2..21db554ca 100644 --- a/app/logical/post_sets/post.rb +++ b/app/logical/post_sets/post.rb @@ -69,6 +69,10 @@ module PostSets tag_string =~ /\*/ end + def is_empty_search? + posts.count == 0 + end + def current_page [page.to_i, 1].max end diff --git a/app/presenters/post_set_presenters/post.rb b/app/presenters/post_set_presenters/post.rb index c24c9c7dc..6ebe62790 100644 --- a/app/presenters/post_set_presenters/post.rb +++ b/app/presenters/post_set_presenters/post.rb @@ -9,7 +9,9 @@ module PostSetPresenters end def related_tags - if post_set.is_pattern_search? + if post_set.is_empty_search? + suggested_tags + elsif post_set.is_pattern_search? pattern_tags elsif post_set.is_tag_subscription? post_set.tag_subscription_tags @@ -39,6 +41,12 @@ module PostSetPresenters Tag.name_matches(post_set.tag_string).all(:select => "name", :limit => Danbooru.config.tag_query_limit, :order => "post_count DESC").map(&:name) end + def suggested_tags + if post_set.tag_string.length >= 3 + Tag.name_matches("*#{post_set.tag_string}*").where("post_count > 0").all(:select => "name", :limit => Danbooru.config.tag_query_limit, :order => "post_count DESC").map(&:name) + end + end + def related_tags_for_group RelatedTagCalculator.calculate_from_sample_to_array(post_set.tag_string).map(&:first) end diff --git a/app/views/artists/_secondary_links.html.erb b/app/views/artists/_secondary_links.html.erb index fe6245524..0afb0fb1a 100644 --- a/app/views/artists/_secondary_links.html.erb +++ b/app/views/artists/_secondary_links.html.erb @@ -7,7 +7,7 @@