-
-
Save kagawa23/c444ac403f02870f2a2a1a55a2071c89 to your computer and use it in GitHub Desktop.
Fragments in SAPUI5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sap.ui.jsfragment "util.Detail", | |
createContent: (oController) -> | |
# ここに普通のJSViewのcreateContentと同様にUIコントロールを追加して | |
# 最後にreturnします。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sap.ui.jsfragment "util.Dialog", | |
createContent: (oController) -> | |
dialog = new sap.m.Dialog | |
title: "Dialog" | |
content: [ | |
#入力用のFragmentsを再利用します | |
sap.ui.jsfragment "util.Edit", oController | |
] | |
beginButton: new sap.m.Button | |
type: "Accept" | |
text: "OK" | |
press: [oController.pressedOk, oController] | |
endButton: new sap.m.Button | |
text: "NG" | |
press: [oController.pressedNg, oController] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sap.ui.jsfragment "util.Edit", | |
createContent: (oController) -> | |
# ここに普通のJSViewのcreateContentと同様にUIコントロールを追加して | |
# 最後にreturnします。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sap.ui.jsview "view.Fragment", | |
getControllerName: -> | |
"view.Fragment" | |
createContent: (oController) -> | |
@page = new sap.m.Page | |
title: "Fragment Sample" | |
# Fragmentsを呼び出します | |
fragment = sap.ui.jsfragment "util.Edit", oController | |
@page.addContent fragment | |
@page |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
jQuery.sap.require "sap.m.MessageToast" | |
sap.ui.controller "view.Fragment", | |
_fragments: {} | |
_mode: "Detail" | |
_getFragments: (name) -> | |
#fragmentsを取得してキャッシュ | |
unless @_fragments[name] | |
@_fragments[name] = sap.ui.jsfragment "util.#{name}", @ | |
@_fragments[name] | |
_toggleFragment: (name) -> | |
fragment = @_getFragments name | |
container = sap.ui.getCore().getElementById "fragContainer" | |
#コンテナの0番目にfragmentsで取得したFormを追加します | |
#[MEMO]ここではViewの中のContentはfragmentsのみの想定で書いています | |
#[MEMO]Contentが複数ある場合は、removeContentとinsertContentのindexを変更してください | |
container.removeContent 0 | |
container.insertContent fragment, 0 | |
@_mode = name | |
onInit: -> | |
@_toggleFragment "Detail" | |
#入力用と参照用のFormを切り替る処理 | |
pressedToggle: (oEvt) -> | |
if @_mode is "Detail" | |
@_toggleFragment "Edit" | |
else | |
@_toggleFragment "Detail" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sap.ui.jsview "view.Fragment", | |
getControllerName: -> | |
"view.Fragment" | |
createContent: (oController) -> | |
@page = new sap.m.Page | |
title: "Fragment Sample" | |
# Fragmentsを呼び出します | |
# -> controllerで呼び出すようにします | |
#fragment = sap.ui.jsfragment "util.Edit", oController | |
#@page.addContent fragment | |
@page |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
jQuery.sap.require "sap.m.MessageToast" | |
sap.ui.controller "view.Fragment", | |
_fragments: {} | |
_getFragments: (name) -> | |
#fragmentsを取得してキャッシュ | |
unless @_fragments[name] | |
@_fragments[name] = sap.ui.jsfragment "util.#{name}", @ | |
@_fragments[name] | |
onInit: -> | |
#ダイアログを表示します | |
openDialog: (oEvt) -> | |
dialog = @_getFragments "Dialog" | |
dialog.open() | |
#ダイアログでOKをPressした時の処理 | |
pressedOk: (oEvt) -> | |
oEvt.getSource().getParent().close() | |
sap.m.MessageToast.show "pressed OK" | |
#ダイアログでNGをPressした時の処理 | |
pressedNg: (oEvt) -> | |
oEvt.getSource().getParent().close() | |
sap.m.MessageToast.show "pressed NG" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment