レイアウト定義 XML の部分が見づらかったので、整形済みテキストにしました。
チケットの種類をサポート要求に変更しました。
ご要望を整理すると、以下の 2 つの課題を解決する必要があるようです:
1. が実現できなければ 2. をやっても意味がないので、まずは 1. の JavaScript フレームワークの拡張方法について回答すればよいでしょうか? それとも、1. の部分はすでに解決できていますか?
1.についてですが、まだ解決できておりません。 改造方法をご教示いただけますでしょうか? よろしくお願い致します。
JavaScript 部分の改造は Rialto 部品ライブラリの plugin.js の修正が必要です。このファイルは以下の 2 個所にあります。
修正手順を以下に示します。
codeLib: { type: maskat.widget.rialto.CodeLibWrapper, attributes: { (…中略…) }, // 追加 children: { // 追加 codeHeader: { repeat: true, property: "codeHeaders" } // 追加 } // 追加 }, // 追加 codeHeader: { // 追加 attributes: { // 追加 field: { type: "string", required: true }, // 追加 width: { type: "number", required: true }, // 追加 title: { type: "string", required: true } // 追加 } // 追加 } // 追加
createWidget: function(parent) { var codeLib = new rialto.widget.codeLabel( this.name, this.top, this.left, this.width, null, /* parent */ this); (…中略…) // codeHeader タグの処理 if (this.codeHeaders) { for (var i = 0; i < this.codeHeaders.length; i++) { var codeHeader = this.codeHeaders[i]; // ここにタグの処理内容を記述する // サンプルとして codeHeader タグの内容を alert で表示 alert("フィールド名: " + codeHeader.field + "\n" + "幅: " + codeHeader.width + "\n" + "タイトル: " + codeHeader.title); } } (…後略…) },
参考のため、plugin.js に対するパッチを登録しておきます。codeLib をどのように改造したいのかわかりませんので、ここから先はご自身でやってみてください。
いつもお世話になります。
回答ありがとうございます。
ご提示いただいた1.の修正をしてみたところ、 プレビュー時の「ERROR - XML の読み込みに失敗しました: layout.xml未知の XML 要素です: codeHeader」 というエラーは出なくなりました。
ありがとうございます。
ですが、何かを変更した後、レイアウトタブで保存しようとすると(エディタタブではなく)、 「保存処理に失敗しました」というエラーが出てしまいます。
もしかして、こちらは、2.のIDEの修正をしないと解決しないのでしょうか?
ご指摘の通り、レイアウトエディタ (「レイアウト」タブ) を編集するにはマスカットIDEの改造が必要です。
マスカット IDE 2.0.0 の場合、Rialto 部品を改造するためには org.maskat.core, org.maskat.ui プラグインの Java クラスをいくつか追加したり、編集したりして再コンパイルする必要があります。4月中にリリース予定の次期バージョン (2.1.0) はタグの定義を XML ファイルで追加できるように変更され、今回のご要望のような改造が楽になるのですが、それまでお待ちいただくことはできますか?
いつもお世話になります。
了解致しました。 プラグインの修正を自力で行うのはなかなか難しそうですし、 改造が楽になるというのであれば、次期バージョンリリースまで待たせていただこうと思います。
どうぞ宜しくお願い致します。
それでは次期バージョンのリリース後に、マスカット IDE の拡張方法を回答いたします。 お待たせして申し訳ないですが、よろしくお願いいたします。
いつもお世話になります。
CodeLib部品の拡張についてお尋ね致します。
CodeLib部品に、新しい属性、及び子要素を追加することは可能でしょうか? もし可能でしたら、その方法をご教示いただけませんでしょうか?
例えば↓下記のように、layout.xmlを設定したいのです。 (table属性,CodeHeader子要素を追加したい)
上記をプレビューしようとすると、 「ERROR - XML の読み込みに失敗しました: layout.xml未知の XML 要素です: codeHeader」 というエラーが出てしまいます。
また、「table」などは新規追加したい属性なのですが、 プロパティ・ビューに表示する方法がわかりません。 可能でしたら、方法を教えていただければと思います。
以上、どうか宜しくお願い致します。