Skip to main content

JS 客户端消息插件,支持 Djangocontrib.messages 应用

项目描述

jQuery Django 消息用户界面

https://travis-ci.org/jgerigmeyer/jquery-django-messages-ui.svg?branch=master https://cdn.gruntjs.com/builtwith.png

JS 客户端消息插件,支持 Django contrib.messages 应用程序

入门

django-messages-ui 可以用作独立的 jQuery 插件来添加和删除客户端消息,或者用作 Django 附加组件以额外支持 Django contrib.messages 应用程序。它应该在消息列表元素上调用,并接受消息选择器、瞬态消息(在单击或按键时消失)和关闭链接的选项。消息本身应使用 CSS 进行样式设置。

消息可以通过Handlebars.jsICanHaz.js或任何其他创建预编译可调用模板 fns 的模板引擎动态添加。如果用作 Django 插件,则有一个 Python 中间件可以自动将来自请求的消息添加到 Ajax JSON 响应中。

依赖项

作为独立的 jQuery 插件安装

如果用作独立的 jQuery 插件,请下载生产版本开发版本,以及 Handlebars.js 预编译模板ICanHaz.js 模板

链接JS:

<script src="dist/django-messages-ui.min.js"></script>

如果需要,还包括预编译的 JS 模板

<script src="messages_ui/static/messages_ui/message.js"></script>

要覆盖默认的 JS 模板,请将您自己的预编译模板函数作为选项template传递。

如果使用ICanHaz.js,请将ICanHaz.js 模板(或您自己的自定义模板,如果您不想使用默认模板)包装在<script id="message" type="text/html">标记中并将其包含在您的 HTML 中,或使用ich.addTemplate('message', YOUR_TEMPLATE_STRING)将其导入 JS 中。然后传入预编译的模板:template: ich.message

使用 Django 安装

如果与 Django 一起使用,只需pip install django-messages-ui进行安装(或从PyPI下载 tarball ,解压缩并运行python setup.py install)。在您的 Django 项目设置中,将“messages_ui”添加到您的 INSTALLED_APPS设置中。

链接JS:

<script src="{% static 'messages_ui/django-messages-ui.js' %}"></script>

如果需要,还包括预编译的 JS 模板:

<script src="{% static 'messages_ui/message.js' %}"></script>

如果使用ICanHaz.js在客户端插入消息,请改用此模板,并传入预编译的模板:template: ich.message

{% include "messages_ui/_messages_ich.html" %}

要覆盖默认的 JS 模板,请将您自己的预编译模板函数作为选项template传递。

阿贾克斯

要启用来自 Ajax 请求的消息的自动处理,请将 “messages_ui.middleware.AjaxMessagesMiddleware”添加到您的 MIDDLEWARE_CLASSES设置(直接在 django.contrib.messages.middleware.MessageMiddleware之后),并将 handleAjax: true传递给插件初始化。

用法

调用插件:

$('#messages').messages();

使用显式配置为其默认值的各种选项调用插件:

$('#messages').messages({
  message: '.message',          // Selector for individual messages
  closeLink: '.close',          // Selector for link to close message
                                //  ...set to ``false`` to disable
  closeCallback:                // Fn called when closeLink is clicked
    function (el) {
      el.stop().fadeOut('fast', function () {
        el.remove();
      });
    },
  transientMessage: '.success', // Selector for transient messages
  transientDelay: 500,          // Transient message callback delay (ms)
  transientCallback:            // Fn called after transientDelay
    function (el) {
      el.fadeOut(2000, function () { el.remove(); });
    },
  handleAjax: false,            // Enable automatic AJAX handling
  template: Handlebars.templates.message,
                                // Callable precompiled template fn.
  escapeHTML: true              // Set ``false`` to display unescaped
                                //  ...HTML in message content
});

在 JS 中添加消息:

$('#messages').messages('add', {message: "Sample Message", tags: "info"});

在 JS 中添加带有未转义 HTML 的消息:

$('#messages').messages(
  'add',
  { message: "<a href='/'>Sample Message</a>", tags: "info" },
  { escapeHTML: false }
);

变化

2.0.2 (2015.03.01)

  • 合并来自 shinglyu/http204 的拉取请求 #5(处理没有内容类型标头的响应)

  • 合并来自 support-lazy-messages 的拉取请求 #4(将消息正文强制转换为文本)

2.0.1 (2014.03.20)

  • 如果不使用默认值,则延迟实例化 Handlebars 以防止错误。

2.0.0 (2014.03.20)

  • BACKWARDS INCOMPATIBLE:接受可调用模板 fn 而不是命名空间和 tplName。

1.1.1 (2014.03.18)

  • 添加 bower.json。

1.1.0 (2014.02.14)

  • 添加模板名称选项。

  • 使模板引擎不可知,只要模板是预编译的并且可以调用 fn。

1.0.3 (2013.10.29)

  • 为 Handlebars 模板全局命名空间添加选项。

1.0.2 (2013.10.27)

  • 添加缺少的 __init__.py。

1.0.1 (2013.10.27)

  • 修复 manifest.in 以包含包 json 文件。

1.0.0 (2013.10.27)

  • 作为独立的 jQuery 插件发布。添加 JS 单元测试。

  • 向后不兼容:js 文件名从 jquery.messages-ui.js 更改为 django-messages-ui.js

0.2.7 (2013.09.25)

  • 删除滚动时的瞬态消息(还有 mousedown、keydown、mouseover)。

0.2.6 (2013.06.05)

  • 修复 Python 3 和 JSON 响应的 AjaxMessagesMiddleware 编码问题。

  • 使用 1.0.0 预编译 Handlebars 模板。

0.2.5 (2013.05.23)

  • 使用 1.0.0-rc.4 预编译 Handlebars 模板。

  • 使 AjaxMessagesMiddleware Py3 兼容。

0.2.4 (2013.01.28)

  • 为单击 closeLink 后调用的函数添加选项。

0.2.3 (2013.01.24)

  • 在transientDelay 之后为在瞬态消息上调用的函数添加选项。

0.2.2 (2013.01.21)

  • 添加 response.no_messages 选项以禁用中间件。

0.2.1 (2013.01.14)

  • 使用方法插件架构重写;更简单的“添加”方法来添加味精。

  • 添加选项以在消息内容中显示未转义的 HTML。

0.2.0 (2013.01.11)

  • 添加选项以使用 Handlebars.js(新默认)而不是 ICanHaz.js。

0.1.8 (2013.01.03)

  • 使关闭链接选择器特定于消息中;使用防止默认值。

0.1.7 (2012.11.06)

  • JS 在关闭链接单击时停止瞬态消息淡入淡出。

0.1.6 (2012.10.05)

  • JS 不解析非 json。

0.1.5 (2012.07.23)

  • 不要触摸非 200 响应。

0.1.4 (2011.07.14)

  • JS清理;添加了 JSLint 选项。

0.1.3 (2011.06.28)

  • 添加了 closeLink: false插件选项。

  • 除非明确覆盖,否则对同一元素的后续插件调用默认为先前的选项。

0.1.2 (2011.06.27)

  • 添加了 AjaxMessagesMiddlewarehandleAjax插件选项。

0.1.1 (2011.06.27)

  • 更新了 HTML 模板(移除了 <aside>并将#messages移至 <ul>)。

0.1.0 (2011.06.25)

  • 初始发行。

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

django-messages-ui-2.0.2.tar.gz (13.0 kB 查看哈希)

已上传 source