apfのドキュメント、ありました。
APFは、Ajax.orgで開発されているフレームワークです。
2012/02/08現在、Ajax.org にアクセスすると、Cloud9(c9.io)に飛ばされます。
ui.ajax.org でドキュメントを公開している、ということでアクセスすると、SafariでLoading...と表示されたまま進まず。ドキュメントが無いものと諦めておりました。
で、Chromeで見れた、というオチ。
公式サイトでの最終バージョンは2009年2月で2.1。只今2010年2月で3.0 Beta2 Stable。2年経ってもBeta取れてないように見えますが、GitHubのほうは、そこそこ活発です。Cloud9もGitのAPFを使っているようです。
早速ドキュメントを見つつ、昨日の続き。
まずビューから。変更なし。
cloud9/client/ext/datagrid_test/datagrid_test.xml
<a:application xmlns:a="http://ajax.org/2005/aml"> <a:window id = "winDatagrid" title = "放課後ティータイム" icon = "" center = "true" resizable = "true" buttons = "close" modal = "false" skin = "bk-window" width = "660" height = "400" kbclose = "true" draggable = "true"> <a:vbox anchors="0 0 0 0" edge="0 0 0 0"> <a:datagrid flex="1"> <a:each match="[member]"> <a:column caption="メンバー名" value="[@name]" width="50%" /> <a:column caption="CV" value="[@cv]" width="50%" /> </a:each> </a:datagrid> </a:vbox> </a:window> </a:application>
コントローラを修正。
cloud9/client/ext/datagrid_test/datagrid_test.js
define(function(require, exports, module) { var ide = require('core/ide'); var ext = require('core/ext'); var markup = require('text!ext/datagrid_test/datagrid_test.xml'); module.exports = ext.register('ext/datagrid_test/datagrid_test', { name : "Datagrid Test", dev : "Tomoyuki Inoue", alone : true, type : ext.GENERAL, markup : markup, nodes : [], hook : function(){ var _self = this; this.nodes.push( mnuWindows.insertBefore(new apf.item({ caption : "Datagrid Test", onclick : function(){ ext.initExtension(_self); // モデルを作成 var model = new apf.model(); // Documentノードを取得 var doc = winDatagrid.ownerDocument; // data 要素を作成 var data = doc.createElement('data'); // 思い切って1000件追加 for(var i=0; i<1000; i++) { // member要素を作成 var member = doc.createElement('member'); // name属性を設定 member.setAttribute('name', 'なまえ' + i); // cv属性を設定 member.setAttribute('cv', 'CV' + i); // data要素の子要素としてmember要素を追加 data.appendChild(member); } // data要素をmodelに読み込む model.load(data); // datagridのmodel属性にmodelを設定 winDatagrid.setAttribute("model", model); // datagridを表示 winDatagrid.show(); } }) ), mnuWindows.firstChild); }, init : function(apfNode){}, nable : function(){ if (!this.disabled) return; this.nodes.each(function(item){ item.enable(); }); this.disabled = false; }, disable : function(){ if (this.disabled) return; this.nodes.each(function(item){ item.disable(); }); this.disabled = true; }, destroy : function(){ this.nodes.each(function(item){ item.destroy(true, true); }); this.nodes = []; } }); });
結果
これで取得したJSONデータをマッピングできそうです。APFにはJSONとAMFの変換ないのかしら。
0 件のコメント:
コメントを投稿