跳转到主要内容

javascript中的下一代表单

项目描述

ajja fanstatic集成

用法

使用Fanstatic包含资源

from ajja import form
form.need()

这将需要所有必需的资源,如 jqueryknockouthandlebars、小部件以及设置和运行 ajja 本身的代码。

文档

文档位于 http://ajja.readthedocs.org

开发

请参阅 https://github.com/gocept/ajja 下的开发包

变更日志

4.0.1 (2016-03-17)

  • bower.json 中修复错误的依赖项URL。

4.0.0 (2016-03-17)

  • gocept.jsform 的新名称为:ajja

  • 还有一些API重命名与旧版本不兼容

    • ajja表单的基本CSS类名现在是 ajja 而不是 jsform

    • 用于初始化提交按钮的jQuery函数已从 jsform_submit_button() 重命名为 form_submit_button

    • 如果您手动包含 ajja 的源代码(不推荐),请确保现在包含 `form.js` 而不是 jsform.js

3.0.1 (2016-03-17)

  • 引入新的模板处理API。

    • get_template(id) 返回模板的编译版本。

    • register_template(id, template, description)

      • 允许您在指定的id下注册模板

      • 可以处理预编译的模板、纯HTML或包含HTML的DOM节点id选择器

    • list_templates() 返回带有id和描述的模板列表

  • 大幅改进文档。

  • 开始测量代码覆盖率。

3.0.0 (2016-02-03)

  • 将预编译的handlebars模板(src/templates.js)服务于完成bower集成。(#23)

    重命名模板源文件。现在可以通过应用程序中的gocept.jsform.templates变量访问它们。这是一个向下不兼容的更改。

  • 更新版本绑定。

    由于gocept.jsform支持jquery 1.x和2.x,因此不需要具体绑定到jquery(-ui)。另外,添加knockout和knockout-mapping的显式版本绑定,因为意外更新可能会破坏gocept.jsforms模型行为。

2.8.0 (2015-12-09)

  • 添加了分组小部件和表格小部件,它们使用列表小部件以分组/表格形式渲染项目。(#38)

  • 添加了新的模板来渲染数字。(#15)

  • 如果在__init__期间表单节点选择器不匹配,则抛出错误。(#32)

  • 当ListWidget.add_item收到格式不正确的AJAX响应时,抛出错误。(#33)

  • form-control CSS类添加到textarea模板。

2.7.2 (2015-12-04)

  • 重构单选按钮模板以使用与对象模板相同的源API。

2.7.1 (2015-12-04)

  • 修复了语法错误。

2.7.0 (2015-12-04)

  • 在保存所有剩余字段时,在UI中抑制成功消息。

  • 添加了新的模板,用于渲染单选按钮列表。

2.6.3 (2015-11-18)

  • 添加了一些翻译。

  • 禁用必需的select字段的自定义占位符。

2.6.2 (2015-11-17)

  • 统一保存表单数据的位置。

2.6.1 (2015-11-16)

  • 如果直接提供表单数据而不是通过加载URL检索它,则修复源初始化。

  • 确保after-load始终异步触发。

2.6.0 (2015-11-12)

  • 添加了切换单个字段或整个表单到只读模式的选项。

2.5.1 (2015-11-11)

  • 在bower包中使用bower-knockout-mapping而不是直接提供映射插件。仅影响gocept.jsform的bower包。

2.5.0 (2015-11-06)

  • 添加了使用jsform显示列表项编辑表单的列表小部件。

  • 删除Handlebars的版本绑定,因为与Handlebars 4相关的错误特定于使用gocept.jsform的应用程序。

2.4.0 (2015-09-08)

  • 将Handlebars的版本固定为3.0.3,因为切换到新的大版本应该是故意的,而不是偶然的。

2.3.0 (2015-07-31)

  • 将状态消息显示时间从1秒改为3秒。这有望修复Jenkins中的测试失败。

  • 引入了保存调用可以操作另一个小部件的源值的调用。这对于下拉列表很有用,其中可用值的列表取决于另一个下拉列表的选定值。

2.2.0 (2015-06-17)

  • 修复了验证错误消息的显示。

  • 当在JSON响应中提供message时,可以显示自定义HTTP错误消息。

2.1.0 (2015-04-09)

  • 如果AJAX结果是HTML而不是JSON数据,则显示HTML(这通常是500错误或登录页面)。(#11838)

2.0.0 (2015-03-26)

  • 将标记作为<option value>属性渲染,这样我们就可以同时享受两个世界的最佳之处:内部我们处理对象,但DOM看起来“正常”(并且其他基于DOM的库,如select2,可以与之交互)。

  • 将浏览器资源打包为bower包。

  • 从json-template.js切换到Handbars.js进行模板化。(#13804)

  • 修复了使用具有动态选项(源)的select字段在UI中创建时触发带有空值的保存请求的bug。

1.2.0 (2014-10-22)

  • 改进了对象和多选字段的处理,以便实际加载的值只是值,而选择选项作为source字段选项传递。这是一个重要的向下不兼容的更改。

  • 添加了字段选项multiple,当为真且选定的类型是对象时,使得字段被视为对象列表。在使用默认模板时,这将select小部件转换为多选。

  • 当通过JS API而不是通过HTTP作为JSON将值加载到表单中时,假设包含的是完整对象,而不是标记。

  • 添加textarea模板。

  • 添加了必需字段的观念,这些字段不能为空保存。

  • 增加了对Bootstrap 3的兼容性。

  • 表单元素的简化HTML标记。

  • 移除了包元数据的对测试扩展的隐式依赖。

  • 使用 classy 类。

  • 将HTTP错误响应视为不可恢复的错误。这将其与超时和连接错误区分开来。

  • 在Form上添加 loaded 属性,一个Deferred对象,以便客户端可以检查加载是否完成。这主要用于测试,例如。

    selenium.waitForEval(
        '$("#jsform").data("form") && '
        '$("#jsform").data("form").loaded.state()', '"resolved"')
  • 公开 get_template 函数,以便在Form类之外重用。

  • 如果将空字符串指定为 form_template,则仅使用现有的表单DOM节点,而不应用任何模板。

  • 添加jQuery插件 $().jsform_submit_button(callback),该插件设置一个保存jsform的按钮,并在成功保存后调用一个函数。

1.1 (2014-04-07)

  • 使用 after-save 触发器传播服务器的保存消息。

  • 添加了显示和清除状态消息的基础设施,用于在AJAX调用期间宣布HTTP错误。

  • 在部件和状态消息中同时显示和清除字段相关错误。

  • 在保存数据时,将除具有“成功”状态值的JSON响应之外的所有内容视为错误。在无法理解的反应后完全放弃,在下次成功访问任何其他字段的下一个成功服务器访问后或在调用 retry() 时重试连接错误。

  • 添加了一个API方法 save_remaining(),它将导致任何尚未修改的字段被保存。虽然这应该只保存从服务器加载的初始值,但它对于将相同的验证和错误处理应用于所有字段很有用。

  • 添加了一个API方法 when_saved(retry),它返回一个承诺,该承诺聚合任何挂起的和完成的保存调用,要么传播单个字段的重新尝试行为(默认),要么在服务器错误上失败。

  • 在保存字段时提供视觉提示和状态消息。

  • 进行了一些重构以提高代码可读性。

  • 使代码通过jshint检查。

  • 使默认和当前不可覆盖的状态消息行为与bootstrap 3兼容。

  • 在更新字段时适当地取消订阅更改处理程序。

  • 添加了简单的本地化。

1.0 (2013-12-13)

  • 删除了console调用,因为并非所有浏览器都理解这些调用。

0.8 (2013-12-10)

  • 修复:如果表单模板以换行符开头,IE8中的jsform无法渲染。

0.7 (2013-12-03)

  • 添加了在每个请求中发送CSRF令牌的能力。此令牌必须通过id csrf_token(可以自定义)在DOM中可用。

  • 添加了javascript资源的压缩版本。

0.6 (2013-09-06)

  • 修复:使用 indexOf 而不是 startsWith,后者在所有浏览器上都不可用。

0.5 (2013-09-06)

  • 在表单标签上声明 for 属性。

  • 存储“保存更改”订阅,以便可以取消订阅。

  • 忽略数据字段的 null 值。(#1)

0.4 (2013-08-27)

  • 使定义模板为文件系统上的模板文件成为可能。

0.3 (2013-08-27)

  • 添加了 after-loadafter-save 事件。

  • 修复 JSON 序列化,以便能够处理Knockout可观察对象。

  • 向表单类添加了 reload 功能。

0.2 (2013-08-26)

  • 使在表单渲染时在数组中预先选择值成为可能。

  • 更改了表单提交行为

    • 默认提交类型不是 POST,而是 GET。(可以使用 save_type 选项更改)

    • 数据现在以 JSON 类型提交。

0.1 (2013-08-17)

初始发布

项目详情


下载文件

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

源分布

ajja-4.0.1.zip (134.3 kB 查看哈希值)

上传时间

由以下机构支持