Fixed flash messages reappearing

This commit is contained in:
Dan Elbert 2016-01-14 11:16:05 -06:00
parent 8989a2848a
commit 8743b32a49
3 changed files with 23 additions and 19 deletions

View File

@ -32,3 +32,15 @@ function flashMessage(flashType, message) {
$flashDiv.hide({effect: "fade", duration: 1000});
}, 5000);
}
$(document).on("ready page:load", function() {
$("#flashHolder").find("div").each(function(idx, div) {
var $div = $(div);
var type = $div.attr("class");
var message = $div.html();
$div.remove();
flashMessage(type, message);
});
});

View File

@ -1,4 +1,8 @@
#flashHolder {
display: none;
}
#flashContainer {
position: fixed;
width: 100%;

View File

@ -1,22 +1,10 @@
<div id="flashContainer"></div>
<% unless flash.empty? %>
<div id="flashHolder">
<% flash.each do |type, values| %>
<% Array.wrap(values).each do |value| %>
<div class="<%= type %>"><%= value %></div>
<% end %>
<% end %>
</div>
<script type="text/javascript">
$(document).on("ready page:load", function() {
<%=
calls = []
flash.each do |key, value|
if value.respond_to? 'each'
value.each { |sub_value| calls << "flashMessage('#{j(key.to_s)}', '#{j(sub_value.to_s)}');" }
else
calls << "flashMessage('#{j(key.to_s)}', '#{j(value.to_s)}');"
end
end
raw(calls.join('\n'))
%>
});
</script>
<% end %>