论坛: 公開ディスカッション (Thread #21364)

teleTypeの記述方法について (2009-01-19 15:48 by kmiyake #41306)

バージョン1.4.4ではcodeLabelを例にteleTypeの記述方法がわかったのですが、
2.0になってどのようにteleTypeの内容を記述したらよいのかがわかりません。
source、targetともにteleTypeの記述例のようなものはないでしょうか?

回复到 #41306×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) 登录

RE: teleTypeの記述方法について (2009-01-20 15:44 by kazatoh #41328)

マスカット 2.0 以降では teleType を指定した場合、部品に対するデータ設定/取得メソッドが呼び出されます。

たとえば、サンプルアプリケーションのレストラン検索では、検索結果の XML から地図上のマーカーをセットするために、setMarkers メソッドの指定が行われています。

<target out="map" in="restaurants" inkey="restaurant" teleType="setMarkers">
<bind node="latitude" tokey="lat"/>
<bind node="longitude" tokey="lng"/>
<bind node="name" tokey="text"/>
</target>

teleType で呼び出せるデータ設定/取得メソッドは各部品のページで説明があるので、GoogleMap の場合は以下のページを見てください。
http://maskat.sourceforge.jp/index.php?Google%2FGoogleMap

また、このようなデータ設定/取得メソッドの実装方法は google プラグインの maskat.widget.google.Map2Wrapper のソースコードが参考になると思います。
回复到 #41306

回复到 #41328×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) 登录

RE: teleTypeの記述方法について (2009-01-27 13:20 by kmiyake #41492)

回答ありがとうございます。

以前はjavaScriptで宣言した変数に対してもteleTypeを使用して電文が作成できていたのですが、マスカット2.0からは部品に対してのみteleTypeが使用できるということなのでしょうか?
回复到 #41306

回复到 #41492×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) 登录

RE: teleTypeの記述方法について (2009-01-28 17:39 by kazatoh #41512)

はい。部品からのデータ取得時のみ、teleType の設定値が利用されます。

マスカット 1.4 の teleType は仕様が分かりづらく、マスカットの内部構造に熟知した開発者しか使えないものでした。2.0 ではどのような動作をすべきでしょうか?

たとえば、source タグの obj 属性が JavaScript 変数の場合に、グローバルスコープから teleType で指定した関数を見つけて呼び出したいとすると、maskat.js の 2894 行目を以下のように書き換えてみてください。

value = layout.getVariable(widgetId);
var teleType = maskat.lang.Object.find(source.teleType);
if (typeof(teleType) == "function") {
value = teleType(value);
}

また、マスカット 2.0 には電文全体を処理する関数を与えることもできます。リリースノートの「5.7 要求メッセージ/応答メッセージのカスタム処理関数」を参照してください。
回复到 #41306

回复到 #41512×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) 登录