User interface 如何使用dojo开发简单的UI设计器?

User interface 如何使用dojo开发简单的UI设计器?,user-interface,dojo,editor,User Interface,Dojo,Editor,我想使用dojo构建简单的UI设计器,但需要一些关于应该从哪里开始的指导/建议 基本上我想做的是: 我有一些预定义的UI组件(一些DIJIT),它们可以放在页面画布中。页面可以预布局为两列或三列。用户可以选择一个dijit并将其放入页面中。他可以移动dijit,通过拖动处理程序调整其大小,还可以将其放置到页面中的其他位置 作为总结,我需要发展两件事: 1) UI调色板,用户可以在其中查看所有可用的DIJIT。然后拖动一个并将其放到页面中。 2) 一个页面画布,可以将DIJIT放入其中。用户可以在

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

基本上我想做的是:

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

作为总结,我需要发展两件事: 1) UI调色板,用户可以在其中查看所有可用的DIJIT。然后拖动一个并将其放到页面中。 2) 一个页面画布,可以将DIJIT放入其中。用户可以在页面上移动DIJIT或调整其大小


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

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

以下是我的建议:

使用存储来保存表示表单布局的所有数据

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

利用Dojo的拖放功能。

如果可以的话,我会尽量避免使用dojo/gfx(SVG)。这将增加很多复杂性。

您可以研究Dojox MVC代码。我没有看过这个代码,所以我没有意见。

您还可以看看开源的Maqetta项目,它是一个用于构建dojo UI的WYSIWYG编辑器。 可在以下位置获取:


如果您想了解更多有关其工作原理的信息,可以使用源代码。

谢谢您的回答。我想我还需要一些时间来赶上进度。谢谢你,帕特里克。是的,我确实调查过马凯塔。这是一个很有前途的工具。但我不想使用maqetta提供的所有奇特功能。这就是为什么我想看看我是否可以自己创建一个简单的。