2

我想使用 dojo 构建简单的 UI 设计器,但需要一些关于我应该从哪里开始的指导/建议。

基本上我想做的是:

我有一些预定义的 UI 组件(一些 dijits)可以放入页面画布中。页面可以预先布局为两列或三列。用户可以选择一个 dijit 并将其放入页面中。他可以移动 dijit,通过拖动处理程序调整其大小,也可以将其放置到页面中的其他位置。

因此,作为总结,我需要开发两件事:1)一个 UI 调色板,用户可以在其中查看所有可用的 dijit。并将其拖放到页面中。2)一个页面画布,可以放入dijit。用户可以在页面周围移动 dijit 或调整它们的大小。

我需要一些关于我应该从哪里开始的建议,以及我可以从 dojo 或一些有用的开源项目中利用哪些功能。

4

2 回答 2

2

您还可以查看开源 Maqetta 项目,这是一个用于构建 dojo UI 的 WYSIWYG 编辑器。它在这里可用:

http://maqetta.org/

如果您想了解更多关于它是如何工作的,源代码是可用的。

于 2012-04-10T08:56:57.260 回答
1

我用图形工作流编辑器做了类似的事情。左侧的状态可以拖放到画布上。用户可以操纵它们等。

以下是我的建议:

使用 Store 来保存代表表单布局的所有数据。

  • 您应该记录将要使用的数据模型。
  • 这是您发送回服务器的数据。
  • 根据存储中的数据实例化小部件。
  • 当用户修改数据时,更新存储。
  • 当 store 中的数据发生变化时,使用 Observable 模式得到通知,并更新小部件

http://dojotoolkit.org/reference-guide/1.7/dojo/store.html

利用 Dojo 的拖放功能。 http://dojotoolkit.org/reference-guide/1.7/dojo/dnd.html

如果可以的话,我会尽量避免使用 dojo/gfx (SVG)。它会增加很多复杂性。 http://dojotoolkit.org/reference-guide/1.7/dojox/gfx.html#dojox-gfx

您可以调查 Dojox MVC 代码。我没有看过这段代码,所以我没有意见。 http://dojotoolkit.org/reference-guide/1.7/dojox/mvc.html#dojox-mvc

于 2012-04-09T16:18:58.987 回答