インターン6日目、最終日でした。 チケット : https://trello.com/c/evatVJ7g において、掲示板のカテゴリを追加した際の動作を記述しました。
/saas/portlets/msgboard/src/main/webapp/javascript/aipo/msgboard/form.js に以下の2クラスを追加しました。
aipo.msgboard.onReceiveMessageCategory = function(msg){ //送信時に作成した場合selectを削除。 var select=dojo.byId("attachments_select"); var modalDialog = document.querySelector("#modal-dialog form"); var mode = null; if (modalDialog.mode != null){ mode = modalDialog.mode.value; } if(typeof select!="undefined"&& select!=null) select.parentNode.removeChild(select); if(!msg) { var arrDialog = dijit.byId("modalDialog");App.closeModal(); if(arrDialog){ arrDialog.hide(); } aipo.portletReload('msgboard'); aipo.portletReload('timeline'); if (mode == 'insert') { App.showSnackbar('カテゴリを追加しました'); }else if(mode=='update'){ App.showSnackbar('カテゴリを編集しました') } } } aipo.msgboard.onReceiveMessageCategoryDelete = function(msg){ var select = dojo.byId("attachments_select"); if(typeof select!="undefined" && select!=null) select.parentNode.removeChild(select); var arrDialog = dijit.byId("modalDialog");App.closeModal(); if(arrDialog){ arrDialog.hide(); } aipo.portletReload('msgboard'); aipo.portletReload('timeline'); App.showSnackbar('カテゴリを削除しました'); }
続いてテンプレートファイルを編集し、以下のように変更しました。 /saas/portlets/msgboard/src/main/webapp/WEB-INF/templates/vm/portlets/html/ajax-msgboard-category-form.vm
-#ALajaxscreenformheader("msgboardCategoryForm" $jslink $portlet "MsgboardCategoryFormJSONScreen" "aimluck.io.selectAllOptions(this.member_to);aimluck.io.submit(this,'$indicator_id','$!portlet.ID',aipo.msgboard.onReceiveMessage)") +#ALajaxscreenformheader("msgboardCategoryForm" $jslink $portlet "MsgboardCategoryFormJSONScreen" "aimluck.io.selectAllOptions(this.member_to);aimluck.io.submit(this,'$indicator_id','$!portlet.ID',aipo.msgboard.onReceiveMessageCategory)")
/saas/portlets/msgboard/src/main/webapp/WEB-INF/templates/vm/portlets/html/ajax-msgboard-category-detail.vm
-#MsgboardajaxbuttonDelete("$!jslink.getPortletById($!portlet.ID).addQueryData('template','MsgboardCategoryFormJSONScreen').addQueryData('entityid',$entityid).addQueryData('mode', 'delete')" "$indicator_id" "$!portlet.ID" "aipo.msgboard.onReceiveMessage") +#MsgboardajaxbuttonDelete("$!jslink.getPortletById($!portlet.ID).addQueryData('template','MsgboardCategoryFormJSONScreen').addQueryData('entityid',$entityid).addQueryData('mode', 'delete')" "$indicator_id" "$!portlet.ID" "aipo.msgboard.onReceiveMessageCategoryDelete")
同様にして、報告書と伝言メモに関してもsnackbarが表示されるように追加しました。