掲示板でカテゴリ追加をした際のSnackbar表示

インターン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が表示されるように追加しました。