2021 年 3 月 9 日星期二
作者 Allan Jardine

编辑器 2

我非常高兴地推出编辑器 2!自最初推出编辑器以来已经近 9 年,而且 v1 系列的版本引入了大量重大的新功能,包括多行编辑、自定义模板,以及服务器端的 .NET 和 NodeJS 支持。编辑器 2 中包含大量重大的新功能,我将在下面进行讨论。

升级

毫无疑问,你首先会提出的问题是“如何升级”/“需要多少钱”?让我们直接回答这两个问题

  • 如果你在 2020 年 1 月 1 日之后购买了编辑器,则我们会自动更新你的许可证,并且你可以下载编辑器 2 及其所有更新,期限为一年。
  • 如果你在 2019 年或更早购买了编辑器,则可以按续订价格购买升级许可证,即你最初的许可证成本的一半。
  • 如果你还没有编辑器许可证,请访问我们的购买页面或在编辑器的下载页面开始试用。

许可

随着编辑器 2 的推出,我们对许可结构进行了一些调整,即升级每年可续订。需要明确的是,你访问的软件不会过期。当你购买编辑器时,你将自动收到一年内的所有更新 - 在此期限结束时,你可以继续像之前一样使用该软件。如果你希望在升级期(一年)之后升级到较新版本,则必须购买续订许可证。我们的新结账页面提供了一个订阅设置选项,如果你希望续订自动进行,可以选择此选项,或者在你需要时临时购买。年度订阅的一个优势在于,在订阅期间,每年续订的价格都会享受 20% 的折扣。

编辑器 2 延续了我们的“按开发者”许可,我们认为这是最优质最公平的价值,因为当然,使用编辑器的是开发者,而他们将获得编辑器提供的节省时间优势。应用的最终用户数量与许可证无关 - 你可以将更多时间花在改进应用上,以吸引这些用户!现在,我们的新结账页面能够让你选择希望购买的确切开发者许可证数量(之前仅限 1、5 和 10)。现在,如果单击价格网格顶部的数字栏,则可以选择 1 至 50 个开发者,大型团队可以选择企业范围选项。

执行升级

有关清理代码库(已删除一些旧功能)的说明,请参见下文。但最重要的是,为了进行升级,我们将编辑器中用于日期/时间选择器的库移到了 其自己的独立库中,以便轻松地为扩展(例如 SearchBuilder)重复使用该库。结果是,如果您正在使用 datetime 输入,则现在必须同时包含新的 DateTime 库。可以 在我们的下载构建器CDN 上找到它,以使包含变得更容易。

除此之外,升级过程与编辑器的任何其他版本相同:用新文件替换现有的 Javascript 和 CSS 文件,如果您正在使用 PHP、.NET 或 NodeJS 服务器端库,也需升级它们。

Editor v1 支持

现在,编辑器 1.x 仅处于支持模式,不会看到任何新功能。在未来一年(即 2022 年 3 月 9 日之前),我们将继续支持编辑器 1.9,并在需要时通过 1.9.x 系列的修补程序版本解决任何严重错误。

新功能

编辑器 2 在其代码库的所有部分都进行了调整和改进,但有一些主要功能我想提请您的注意。这些功能在很大程度上是由您的反馈、使用编辑器的开发者、我们自己的编辑器使用以及我们在 CloudTables 上的工作(CloudTables 已在使用编辑器 2!)告知的。

主要的新功能是

  • 作为输入的数据表
  • 嵌套编辑
  • 多字段内联编辑
  • 对 Bootstrap 5 的支持
  • 整理

作为输入的数据表

编辑器 2 引入了新的 datatable 输入类型,该类型使我们能够将数据表用作输入字段,使用可选行的可选择数据列显示数据。它可用于替换 checkboxradioselect 输入类型(虽然这些类型仍然存在,如果您想使用它们的话!)并使用常规交互式数据表

DataTables as an input

DataTable 字段类型允许使用字段上的 config 参数设置任何标准数据表的配置选项(例如,您可能希望启用滚动,而不是使用分页)。它将与 select 和其他字段类型也支持的 label/value 选项对配合使用(因此非常容易与我们的左联接服务器端库配合使用),但也可以针对其他属性进行配置和显示多列。

此处提供一系列示例

嵌套编辑

多年来,我们极大地增加了我们对用户如何与数据交互的了解,其中一个教训是,为了将您希望选择为父表单左联接值的一个选项添加(或编辑),而需要加载一个单独的页面,这是一件非常令人沮丧的事情。为了解决这个问题,编辑器现在可以处理多层的嵌套编辑,可通过新的 datatable 字段类型访问

Nested editing control

您可以在以下操作中看到这一点 - 您将能够从代码中注意到,嵌套编辑器只是一个常规编辑器实例,提供了完全的配置选项

多字段内联编辑

到目前为止,如果你需要一次显示多个可编辑字段,则必须使用主编辑表单或气泡编辑。现在,使用 Editor 2,可以将多行中的多个字段同时显示为可编辑字段

Multi-inline editing

此外,一项非常需要用到的功能是可以内联添加新行,现在可以通过 inlineCreate() 方法实现此功能。

应该注意,内联编辑仍然只适用于简单的表格和数据——例如,你不能编辑未显示在列中的数据——对于此类数据,仍然需要主编辑表单,但对于简单的数据集,这种新功能和减少了用户的数据输入时间。

Bootstrap 5

随着 Bootstrap 5 的即将发布(当前版本为 beta 2),我们将推出适用于 DataTables 及其所有扩展程序的 Bootstrap 5 支持。Editor 2 从第一天起就提供支持。

Bootstrap 5 example interface.

可以在此处找到 Editor 和具有 Bootstrap 5 样式的数据表的一个实时示例;

整理

正如本文开头所述,Editor 已经存在了九年,其 1.x 版本中,所以有一些遗留的问题将在 v2 中被移除——现在已经完成了。如果你一直在关注 v1 的版本,不太可能受到影响,但为了完整性,以下选项已被移除

  • ajaxUrl 选项——由 ajax 替换。ajaxUrl 选项是使用 Editor 配置 Ajax 的原始方式,但在 Editor 1.3 中被 ajax 取代。从那时起,ajaxUrl 已被废弃。如果你仍在使用 ajaxUrl,则可以简单地将其替换为 ajax
  • date 字段类型。这依赖于 jQuery UI 库或 HTML5date 输入类型,该类型在浏览器中支持不佳且灵活性有限。内置的 datetime 输入类型应该被用来代替,该类型自 Editor 1.5 以来一直可用。
  • dbTable 选项。此选项在 Editor 1.3 中已弃用,自那以后就没有记录。它用于向服务器提供数据库表名——如果你希望在 Ajax 请求中向服务器发送额外信息,现在应该使用 ajax.data
  • fields.dataProp 选项——fields.data 是直接替换。自 Editor 1.3 以来,旧的命名不再被使用,但如果提供,则会被映射到 fields.data
  • legacyAjax 选项。v1.5 之前的 Editor 在提交到服务器时使用“扁平”数据结构。对多行编辑的支持意味着它不再合适,并被新标准取代。可以使用现在已删除的 legacyAjax 选项调用旧样式。如果你出于任何原因仍需要使用旧版,则可以使用以下 preSubmitpostSubmit 事件处理程序

此外

  • 对 2015 年被 Buttons 和 Select 替换的旧版 DataTables 扩展“TableTools”的支持。
  • DateTime 库已分离为自己的库 (DateTime)。要使用 datetime,您现在必须包含那个库,否则将抛出一个错误(并带有一个消息,说明错误内容,以及一个链接,详细说明问题及其解决方法)

摘要

Editor 2 中当然还有更多内容,不仅是这些标题功能 - 例如使用 DataTables 加载的 JSON 文件中的语言信息的能力,一个新的 ajax.replacements 选项,以及字段获取和设置 formatters。要了解详情,请参阅 2.0.0 版本说明

我们希望您享用 Editor 2,就像我们喜欢开发它一样!