代碼示例
UI按鈕函數(shù)的三種返回類型應(yīng)用場景:
1 Map
返回值類型是 Map ,通常是和頁面交互使用的 通常返回的信息需要包含 error : 是否出錯 errorMessage : 出錯后提示的錯誤信息
block : 提示異常信息后,是否阻塞保存
[ "error":true, "errorMessage":"如果失敗了,提示的錯誤信息", "block":true ]
2 String
返回一個String類型,內(nèi)容必須是一個有效的URL,點擊按鈕后頁面跳轉(zhuǎn)到該返回值對應(yīng)的URL。
3 UIAction
按鈕跳轉(zhuǎn)到標準頁面或者自定義組件的場景,需要配置返回類型為UIAction的按鈕函數(shù)。
3.1 UIAction 跳轉(zhuǎn)到詳情頁自定義組件:
Groovy:
userData = [:] //傳遞給自定義組件的數(shù)據(jù)鍵值對list
title = "title" //標題
width = 123 //寬高
maxHeight = 123 //最大高度
component { //組件的apiName
apiName = "comp_yuio8__c"
}
}
return openDialogAction
函數(shù)的context.data、context.details會作為默認參數(shù)objectData、details傳遞給自定義組件。
3.2 UIAction 跳轉(zhuǎn)到列表頁自定義組件:
Groovy:
userData = [:] //傳遞給自定義組件的數(shù)據(jù)鍵值對list
title = "title" //標題
width = 123 //寬高
maxHeight = 123 //最大高度
component { //組件的apiName
apiName = "comp_yuio8__c"
}
}
return openDialogAction
函數(shù)的conext.dataList會作為默認參數(shù)objectIds傳遞給自定義組件。
3.3 UIAction 跳轉(zhuǎn)到標準組件:
Groovy:
//1 跳轉(zhuǎn)打印模板
/**
* data 打印時需要傳遞的參數(shù)
*/
Map data = [
"validatePreAction":false, //前驗證必須是false
"templateId":"5e994bbfa5083d97d6ae7afa", //指定打印模板
"dataId":"5d428ed922381800018d946c", //數(shù)據(jù)的id
"orientation":"Landscape", //橫向還是縱向
"skipCheckButtonConditions":false //是否跳過對象的按鈕顯示條件判斷
]
WebAction action = WebAction.builder()
.type('print')
.data(data)
.build()
return action
//2 跳轉(zhuǎn)新建頁面
Map data = [
'apiname':'AccountObj',
'record_type': 'default__c'
]
WebAction action = WebAction.builder()
.type('form')
.data(data)
.build()
return action
//3 跳轉(zhuǎn)新建頁面并為新建頁面字段設(shè)置默認值
Map recordData = [
'field_62AcX__c': "6066ec21fe5dbf0024f67e02", //為查找關(guān)聯(lián)字段賦值
'field_62AcX__c__r': "我的商品1", //必須用此方法添加查找關(guān)聯(lián)對象數(shù)據(jù)的主屬性
'name':'回填'
]
Map data = [
'apiname':'object_qe3x1__c',
'record_type': 'default__c',
'data': recordData,
'details':[:]
]
WebAction action = WebAction.builder()
.type('form')
.data(data)
.build()
return action
//4 跳轉(zhuǎn)到URL
UIAction uiAction = WebAction.builder()
.type('url')
.url('www.fxieoke.com')
.build()
return uiAction
//提示信息不能為空,type 是為了預(yù)留后面多種彈框提示的樣式的屬性, 可以為空,為空或默認塞入 default
3.4 UIAction 移動端跳轉(zhuǎn)頁面:
Groovy:
AppAction app = AppAction.builder()
.url('https://www.baidu.com')
.build()
return app
url為小程序組件時:
AppAction app = AppAction.builder()
.url('ava://uipaas_custom/fs_common/pages/custom_components/index?components=[{apiName:${apiName}]') //${apiName}為組件的apiName
.build()
return app