javascript中的下一代表单
项目描述
ajja fanstatic集成
用法
使用Fanstatic包含资源
from ajja import form form.need()
这将需要所有必需的资源,如 jquery、knockout、handlebars、小部件以及设置和运行 ajja 本身的代码。
文档
开发
请参阅 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-load 和 after-save 事件。
修复 JSON 序列化,以便能够处理Knockout可观察对象。
向表单类添加了 reload 功能。
0.2 (2013-08-26)
使在表单渲染时在数组中预先选择值成为可能。
更改了表单提交行为
默认提交类型不是 POST,而是 GET。(可以使用 save_type 选项更改)
数据现在以 JSON 类型提交。
0.1 (2013-08-17)
初始发布
项目详情
ajja-4.0.1.zip 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7a5bcc2ee5d0741d49e49314d3f8d552d03ae13026505fef96d71122501f3366 |
|
MD5 | b8fe2d925f60d54763bce107f3dda6a7 |
|
BLAKE2b-256 | 3372781096f4a88d3231314948ae463a4bf1fecbfa1630193d0131eea82e0035 |