JavaScript 中的备忘录
我正在寻找要在 CRUD 表单中使用的备忘录模式 (GoF) 的 JavaScript 实现。 在其基本级别上,撤消对输入的更改就足够了,但如果将其与 YUI 或 Ext 等标准 JS 框架一起使用,以撤消和更改输入,那就太好了。 重做网格操作(新行、删除行等)。
谢谢
I'm looking for a JavaScript implementation of the memento pattern (GoF) to be used in CRUD forms. In its basic level it will be enough to undo changes on inputs, but it would be great to use it with standard JS frameworks like YUI or Ext, to undo & redo grid actions ( new row, delete row etc.).
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
由于我没有看到任何代码示例,因此这里是 EXT 表单的撤消的快速“n Dirty 实现”:
为可编辑网格实现此操作有点棘手,但您应该能够创建一个执行相同操作的 GridChangeHistory然后从 EditorGrid 的 AfterEdit 监听器调用 add() 函数。
“before”和“after”属性可以是回调函数,允许您撤消/重做任何类型的命令,但这在调用 add() 时需要更多工作
Since I'm not seeing any code examples, here is a quick 'n Dirty implementation of undo for an EXT form:
Implementing this for an editable grid is a little trickier, but you should be able to make a GridChangeHistory that does the same thing and then call the add() function from EditorGrid's AfterEdit listener.
The "before" and "after" properties could be callback functions which allow you undo/redo any kind of command, but that would require more work when calling add()
由于您正在尝试撤消/重做命令,因此我建议使用命令模式。 这是教程的链接; 它是用 C# 编写的,但对于 OO 程序员来说应该足够简单。
Since you are trying to undo/redo commands, I suggest using the Command pattern instead. Here is a link to a tutorial; it's in C#, but it should be simple enough to follow for an OO programmer.