TurboGears extension providing enhanced flash message display functions.
Project description
This package provides an enhanced version of the turbogears.flash() function, giving your users much nicer-looking message boxes that can change their appearance based on the status of the message. With JavaScript enabled, messages can fade out after a timeout or be dismissed by the user with a mouse-click.
This is accomplished by encoding the message with JSON and decoding it again in the template of the target page. This is handled completely automatic and the programmer can just use the functional interface, e.g. fancyflash.error("Duh!").
Additionally, you can display messages with a simple JavaScript function call, for example when processing the results of an AJAX call in your callback function for loadJSONDoc.
For more information see the source of the fancyflash package, the epydoc-generated API documentation and the FancyFlashExample application.
Installation
To install TurboFancyFlash from the Cheeseshop use easy_install:
[sudo] easy_install TurboFancyFlash
This requires the setuptools package to be installed. If you have not done so already, download the ez_setup.py script and run it to install setuptools.
Usage
Controller (controllers.py):
# Import TurboGears from turbogears import controllers, expose, redirect, validate, validators # Import fancyflash package import fancyflash as ff # Set the default timeout for message box display ff.set_default_flash_timeout(5) # Let FancyFlashWidget be included on every page ff.register_flash_widget() class FlashTestController(controllers.Controller): @expose('templates.welcome') def index(self, timeout=0): return {} @expose() def info(self): ff.info("Hello TurboGears!") redirect('/') @expose() @validate(validators=dict(timeout=validators.Int)) def success(self, timeout=0, tg_errors=None): ff.success("Hello TurboGears!", timeout) redirect('/') @expose() @validate(validators=dict(status=validators.String)) def message(self, status="info", tg_errors=None): ff.statusmessage("Hello TurboGears!", status) redirect('/')
Master template (master.kid):
<div id="main_content"> <div py:replace="tg_fancyflashwidget(tg_flash)">Status message appears here</div> <div py:replace="[item.text]+item[:]"/> ... </div>
Acknowledgments
The idea for this widget is based on a blog post by Lee McFadden:
Todo
Test in IE
Test opacity in Safari
If I have time:
Add argument for dialog position (implement by writing CSS dynamically).
Round boxes for non-Gecko browsers
Add AJAX widget, which displays result of loadJSONDoc as fancy status message.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file TurboFancyFlash-0.1a.zip
.
File metadata
- Download URL: TurboFancyFlash-0.1a.zip
- Upload date:
- Size: 164.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09631471ec35ff3cc39e89b3a7909819c6da74db40f922e27b3d61d9c2f82bfc |
|
MD5 | 8efe6ea626674300cade7a3327d2ff42 |
|
BLAKE2b-256 | d8092b5cb053d6de9b8e75412e5c1339c00e17dfea034c714e033a9c15a2ebea |
File details
Details for the file TurboFancyFlash-0.1a.tar.bz2
.
File metadata
- Download URL: TurboFancyFlash-0.1a.tar.bz2
- Upload date:
- Size: 107.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5522ba217fa75d0b5360b8233b38a0e893109fb2385c6fb27ac670b9d73dd758 |
|
MD5 | 06154314582b180f1afcf18387cf7d2a |
|
BLAKE2b-256 | 47188b7ea771eaedc449710d280b1e834d18c1901eafd4a062636067b5586147 |
File details
Details for the file TurboFancyFlash-0.1a-py2.5.egg
.
File metadata
- Download URL: TurboFancyFlash-0.1a-py2.5.egg
- Upload date:
- Size: 94.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc86e27a62e96985f8393dcfd74d154286d3b7cc8b4b67021398501fde8b51d0 |
|
MD5 | 3822fe1c6ecf7b79d9526d4df03eca22 |
|
BLAKE2b-256 | ffd3e3bb108fcda00aee40b427df016f4c0cf66522f4df20bc93013655184851 |