rah / rah_expanding
为 Textpattern CMS 的管理端界面自动扩展文本区域
Requires
- php: >=5.2.0
- textpattern/installer: *
- textpattern/lock: 4.5.*,4.6.*
This package is auto-updated.
Last update: 2024-03-15 11:19:16 UTC
README
项目页面 | 包管理器 | Twitter | GitHub | 支持论坛 | 捐赠
Rah_expanding 将动态扩展文本区域功能引入到 Textpattern CMS 的管理端界面。安装插件后,文本区域元素会随着用户输入的增长而扩展。在用户输入时,字段的高度会增加以适应内容。
要求
Rah_expanding 的最低要求
- Textpattern 4.5.0 或更高版本。
- PHP 5.2 或更高版本。
支持的浏览器
Rah_expanding 与以下浏览器兼容
- Firefox 12 及更高版本。
- Internet Explorer 9 及更高版本。
- Safari 5.1 及更高版本。
- Chrome 14 及更高版本。
- Opera 12 及更高版本。
不支持所需功能的浏览器将优雅地回退到具有可见滚动条的普通文本区域。
安装
Rah_expanding 的安装遵循标准的插件安装步骤。
- 下载插件安装代码。
- 将安装代码复制并粘贴到 Textpattern 插件面板的 安装插件 框中。
- 运行自动设置。
- 设置完成后,激活插件。完成。
现在,管理端文本区域已具备插件的功能,并应随着内容的增加而扩展。
对于开发者
Rah_expanding 为开发者提供了一些额外的工具。插件允许管理端主题和插件为动态扩展文本区域设置规则。主题可以限制字段的尺寸或基于字段禁用插件。所有这些都可以通过一些基本的样式实现。
CSS 和字段尺寸
字段的最小高度由使用 CSS 设置的可视尺寸决定,或者如果没有指定 CSS 高度,则由元素的实际高度决定。在空状态下的起始尺寸可以使用 height CSS 属性设置。
字段的最大高度,用于限制字段的扩展,可以使用 max-height CSS 属性设置。如果文本区域没有 max-height,则可以扩展到 99999 像素。
以下是一个 CSS 示例
textarea#abc_field {
height: 1em;
max-height: 5em;
}
如上所示,ID 为 abc_field
的文本区域不会小于 1em
或大于 5em
。
禁用字段
有两种方法可以在字段级别禁用动态扩展。任何带有 rah_expanding_disable
类的文本区域元素将不会受插件影响。
<textarea class="rah_expanding_disable" name="foo" rows="10">I don't grow.</textarea>
还可以通过将元素的 CSS 属性 max-height
设置为等于或低于 height
的值来禁用字段的扩展。
附加到文本区域
默认情况下,该插件适用于初始页面加载时存在的文本区域。如果在之后修改了DOM并添加了新的文本区域,则需要将插件附加到这些元素上才能利用其功能。Rah_expanding提供了一个熟悉的jQuery界面,并引入了一个名为rah_expanding
的方法。
$('textarea').rah_expanding();
上述方法会将调整大小魔法附加到页面上的任何新文本区域。
触发调整大小
如果字段的内容被程序更改,则可以手动调用文本区域的调整大小。没有特别通知插件更改,则无法跟踪此类自动化更改。Rah_expanding引入了一个名为rah_expanding_resize
的新自定义事件,可以使用jQuery的触发方法来触发。
$('textarea').trigger('rah_expanding_resize');
上述方法将更新每个文本区域的高度。
感谢
多年来,rah_expanding使用并从几个开源项目和资源中获得了帮助。
- Auto Growing Textarea by Chrys Bader。
- Autoresize by Jack Moore。
变更日志
版本 1.3.1 – 即将推出
- 内部清理。
版本 1.3 – 2012/11/22
- 修复:在jQuery 1.8及更高版本中处理box-sizing兼容性。
- 修复:针对Mac OS上Firefox中字段初始高度设置为0像素时的高度计算错误的工作方案。
版本 1.2 – 2012/09/03
- 修复:针对Chrome的文本流动工作。它可能有一系列副作用。
版本 1.1 – 2012/08/30
- 修复:针对Chrome的文本流动工作。尝试改进初始文本区域内容的文本环绕。
- 更改:用jQuery.on替换jQuery.bind方法。
- 现在需要Textpattern v4.5.0或更高版本。
版本 1.0 – 2012/08/08
- 更改:现在默认影响所有管理端文本区域。
- 移除:删除了偏好设置面板和额外选项。显著简化了安装过程。
- 用Jack Moore的Autoresize的一个分支替换了Chrys Bader的Auto Grown Textarea JavaScript解决方案。
- 已取消支持IE6、IE7、IE8、Safari <5.1、Chrome <14、Firefox <12和Opera <12。
- 已取消PHP4兼容性。现在需要PHP v5.2或更高版本。
- 现在与Textpattern v4.5.0兼容。
- 将项目重命名为rah_expanding。
版本 0.6 – 2011/07/26
- 添加:使用Textpattern v4.4.1中引入的新核心函数使用CSRF(会话骑行)保护。
- 修复:仅在插件之前未安装或旧安装版本为0.4或更旧时,将默认定义行添加到数据库中。
- 更改:在安装程序运行后设置临时版本号。防止重复运行安装程序。
- 现在需要Textpattern版本4.4.1或更高版本。
版本 0.5 – 2011/06/05
- 添加:现在包括使用插件生命周期回调的卸载程序,删除插件时从数据库中删除插件的表。
- 添加:如果更新数据库记录失败,则通知用户。
- 添加:语言字符串支持。现在可以使用TextPacks将界面翻译成不同的语言。
- 添加:到插件面板的“选项”链接。
- 添加:到元素的rah_ui类选择器,到列表表的
<tbody>
和<thead>
容器。 - 更改:改进了基于JavaScript的批量编辑脚本。
- 更改:在首次安装期间,将数据库表的默认字符集设置为UTF-8。
- 更改:仅在保存更改时接受POST。忽略发送为GET的请求。
- 更改:缩短了管理端步骤的名称,并将步骤
- 移除:用检查插件是否更新的新方法替换了
rah_autogrowing_textarea_check()
函数。现在使用简单的版本号来确认状态。 - 移除:一些标记、遗留的行内样式和面板标题。
- 现在需要Textpattern版本4.2.0或更高版本以支持全部功能。
版本0.4 – 2010/11/11
- 新增:当创建新规则时,现在会提示用户必填字段是否为空。
- 界面改进:移除了不必要的表格布局,将所有CSS行移动到
<head>
中。 - 更改:插件类型更改为新的仅管理员。
- 更改:只有在没有可用的首选项时才尝试运行安装程序。
- 更改:现在使用不同的方法构建可用事件的列表。
- 更改:在列表中显示事件/面板标签而不是名称。
- 更改:首选项面板仅在选中某些内容时显示多编辑控件。如rah_post_versions所示。
- 从安装程序中移除了默认的SQL值。
版本0.3.3 – 2009/06/03
- 移除了无用的查询。
- 改进了回调。
版本0.3.2 – 2009/02/22
- 修复:移除了丢失的子骨架函数;修复错误:
致命错误:调用未定义的函数 rah_plugin_download_install()
。
版本0.3 – 2009/02/21
- 新增:在“扩展”标签下添加了管理员界面。
- 新增:可以定义哪些文本框自动增长。
- 新增:现在可以调整最大高度限制、行高和其他可选样式设置。
版本0.2 – 2008/07/03
- 更改:
line-height
从EMs改为像素:修复了在某些浏览器中发生的从行高到行高的line-height
错误,这可能会引起文本框的一些问题。
版本0.1 – 2008/07/03
- 首次发布。