我克隆了OOTB widget-form,将其命名为widget-form-md,并为hideRelatedLists创建了一个额外的选项模式:
我有一个单独的小部件,它嵌入了我克隆的widget-form-md,希望通过Material Design模式显示它。我的模态的客户端脚本如下所示:
function x ($scope, $location, spUtil, amb, $mdDialog, $http, $window, $rootScope, $timeout){
var c = this;
c.newRequest = function() {
$mdDialog.show({
contentElement: '#hr_request',
parent: angular.element(document.body),
clickOutsideToClose:true
});
spUtil.get("widget-form-md", {
request_name: 'hr_request',
view: 'hr_request',
table: 'x_dnf_federal_hr_e_federal_hr_cases'
}).then(function(response) {
c.hr_request = response;
});
};
}
将选项模式传递到spUtil的正确语法是什么?我试过了
spUtil.get("widget-form-md", {
request_name: 'hr_request',
hideRelatedLists: true
view: 'hr_request',
table: 'x_dnf_federal_hr_e_federal_hr_cases'
})
和
spUtil.get("widget-form-md", {
request_name: 'hr_request',
options: {hideRelatedLists:true},
view: 'hr_request',
table: 'x_dnf_federal_hr_e_federal_hr_cases'
})
他们都没有工作,我似乎无法找到有关如何执行此操作的任何文档。有什么建议?谢谢!
答案 0 :(得分:0)
首先:Option Schema用于通过表配置窗口小部件: https://dxsherpa.com/blogs/widget-options-schema-in-service-portal/
针对缺少的参数(未在调用的小部件的选项中显示)的解决方案在此处:https://community.servicenow.com/community?id=community_question&sys_id=ea83c365dbd8dbc01dcaf3231f9619d2
使用 spUtil (客户端)调用窗口小部件时,可以使用“ 输入”访问传递的参数。
使用 $ sp (服务器)调用窗口小部件时,使用“选项”
访问传递的参数
由于使用spUtil调用小部件,因此我们将数据存储在服务器中的输入对象中。因此,在调用的小部件的服务器中:
data.requestName = input.request_name;
data.hideRelatedLists = input.hideRelatedLists;
// or the short version, if widget also gets parameters from URL and options:
data.requestName = $sp.getParameter('requestName ') || options.requestName || input.requestName;
真可惜,官方文档中没有对此进行描述:https://developer.servicenow.com/app.do#!/api_doc?v=london&id=spUtilAPI