Personal tools
蜻蜓点水 举重若轻

NJF On The Match

作为 Eurasia3 的重要组成部分, 客户端组件库(NJF), 已经基本成型。与 Dojo 的 HTML/JavaScript 混合风格不同, NJF 是纯 JavaScript 组件体系。NJF 最大的特点是简单并且好玩, 使用模板而不是布局组件来进行排版, 其模板支持对组件的定位和替换。这样从 Plone/Eurasia3 可以直接输出 JSON 报文, 转由 NJF 来组装页面并且交互。NJF 的另一大特点是使用 JavaScript 解释的二级语言来进行异步通信编程, 同样非常好玩。

  • 通过模板(div id="tmpl"), 创建三个窗体。
  • 每个窗体替换一个组件到模板变量("<!--widget-->")。
  • 其中第三个窗体已经图标化。
  • 模板可以任意复杂, 并支持子模板。
  • 简单组件(Text、Radio/Checkbox Group、Button、Password 等)略。
  • 通信库略。
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<head>
<script src="njf-loader.js"></script>
<div id="tmpl" style="display: none;">
&nbsp;<!--widget-->&nbsp;
</div>
</head>
<body>
<script>
LoadNJFFamily();
var wnd1 = ECW.Window(ECW.TemplateById('tmpl')); // 我们可以从站点上临时下载一个模板
var wnd2 = ECW.Window(ECW.TemplateById('tmpl'));
var wnd3 = ECW.Window(ECW.TemplateById('tmpl'));

wnd2.setIcon(ScriptBase + 'images/w3nemesis.gif')
wnd3.setIcon(ScriptBase + 'images/w3ecw.gif')

wnd1.ecwBody.setVal('widget', ECW.RichEditor());
wnd1.ecwBody.active();
wnd2.ecwBody.setVal('widget', ECW.Calendar());
wnd2.ecwBody.active();
</script>
</body>
</html>
 

本站由 润普公司资助, 采用 易度CMS 构建。

广而告之:润普公司 易度云办公平台,包括 易度文档管理系统 易度项目管理系统 , 易度部门管理 ,均采用Zope 3/BFG技术开发。
沪ICP备05008050