返信機能を実装する -その2-
つぎに、実際に返信する機能を実装してみます。
返信ボタンが押されたら、タイトルに「Re : 」を付加した返信メッセージを生成し、SubmitWindowを開いてバインドしたいと思います。
文章で書いても何の事やらなので、ソースの方を・・・
まず、前回定義したopenSubmitWindow()をopenSubmitWindow(isRes:Boolean)とします。つまり、返信用に開くかそうでないかのフラグを付けるというわけです。
また、SubmitWindowにもisResフラグを付けて、返信ならparentDocument.insertResMessageを呼ぶ様に改造します。
ソースはこの様になりました。
//SubmitWindowをオープンするメソッド function openSubmitWindow(isRes:Boolean):Void { var newMessage = new MessageBean(); if (isRes) { newMessage.subject = "Re : " + currentMessage.subject; } var popUp:SubmitWindow = SubmitWindow(PopUpManager.createPopUp(this,SubmitWindow,true)); popUp.message = newMessage; popUp.isRes = isRes; } function insertResMessage(tempMessage:MessageBean) : Void { remote.insertResMessage(currentMessage.pk,tempMessage); remote.getSummaryListXML(); }<!-- ボタン --> <mx:HBox horizontalAlign="right" widthFlex="1" marginTop="5" marginBottom="5" marginLeft="15" marginRight="15" borderStyle="none" > <mx:Button id="resButton" label="返信する" click="openSubmitWindow(true)"/> <mx:Spacer width="50"/> <mx:Button label="削除"/> <mx:Button label="新規スレッドを立てる" click="openSubmitWindow(false)"/> </mx:HBox>
SubmitWindow.mxml(抜粋)
var isRes:Boolean;//追加 function insertNewMessage():Void {//変更 applyChanges(); if (isRes) { parentDocument.insertResMessage(message); } else { parentDocument.insertNewMessage(message); } deletePopUp(); }
こんな感じで動きました。やっとここまで来たわいな。(クリックで拡大)
以上をまとめたソースです。