涡轮齿轮延长提供增强的闪光信息显示功能。
TurboFancyFlash的Python项目详细描述
此包提供了^{tt1}的增强版本$ 功能,为用户提供更美观的消息框,可以更改 它们的外观基于消息的状态。启用了JavaScript, 消息可以在超时后淡出,也可以由用户使用 鼠标单击
这是通过使用JSON编码消息并在 目标页的模板。这是完全自动操作的 程序员可以只使用功能接口,例如。 fancyflash.error("Duh!")。
此外,您还可以使用一个简单的javascript函数调用来显示消息, 例如,在回调中处理ajax调用的结果时 用于loadJSONDoc的函数
有关更多信息,请参见fancyflash包的源代码 epydoc生成了API documentation和FancyFlashExample应用程序
安装
要从Cheeseshop安装TurboFancyFlash,请使用easy_install:
[sudo] easy_install TurboFancyFlash
这需要安装setuptools包如果你没有这样做 已经下载了ez_setup.py脚本并运行它来安装setuptools。
用法
控制器(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.kid):
<div id="main_content"> <div py:replace="tg_fancyflashwidget(tg_flash)">Status message appears here</div> <div py:replace="[item.text]+item[:]"/> ... </div>
致谢
这个小部件的想法是基于lee mcfadden的blog post:
待办事项
- 工业工程试验
- 在Safari中测试不透明度
如果我有时间:
- 为对话框位置添加参数(通过动态编写css实现)。
- 非壁虎浏览器的圆形框
- 添加AJAX小部件,它将loadJSONDoc的结果显示为花式状态 信息。