Project

xhr_flash

0.0
No commit activity in last 3 years
No release in over 3 years
Flash object management in AJAX requests
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

~> 3.1
 Project Readme

XHR-Flash

This gem is intended to simplify flash object presentation when an AJAX request was done. Its work is very simple. Explained below:

  1. Controller detects is an AJAX request is made
  2. If flash object exists, then it's serialized into response attributes
  3. Flash object is discarded
  4. The client browser will be capable of render the message by mean of some javascript.

Installation

Add this line to your application's Gemfile:

gem 'xhr_flash'

And then execute:

$ bundle

Or install it yourself as:

$ gem install xhr_flash

Usage

Include xhr_flash javascript

Add the following to your app/assets/javascript/application.js

//= require "jquery.xhrflash"

Select the flash message container where you want to display them.

For example, if you want all messages to appear into a div with class messages, do this:

$(function(){
  $('.messages').xhrflash();
})
...
<div class="messages"></div>

Generated markup

XHR-Flash JQuery plugin, by default, renders the next html code:

<div class="messages">
  <div class="alert alert-success">All went right</div>
  <div class="alert alert-error">Oops!, something was wrong</div>
</div>

Yes, you can customize it a bit. You can pass the following parameters to xhrflash:

  • msgs: It accepts a list of expected kind of messages to be displayed later. e.g.:

      $('.messages').xhrflash({msgs : ['Notice', 'Errors']}); // It only allow X-Flash-Notice and X-Flash-Errors to be displayed in the container.
    
  • tag: Instead of divs, we can change the tag to wrap the messages.

  • class: By default each message has alert and alert-... classes. It can be coustomized as well.

  • timeout: Messages are visible for 5 seconds. You can specify another value here (in milliseconds).

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Bitdeli Badge