ServiceNow:访问mdDialog中的窗口小部件选项架构

时间:2018-02-27 22:54:46

标签: servicenow angularjs-material mddialog

我克隆了OOTB widget-form,将其命名为widget-form-md,并为hideRelatedLists创建了一个额外的选项模式:

enter image description here

我有一个单独的小部件,它嵌入了我克隆的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'
})

他们都没有工作,我似乎无法找到有关如何执行此操作的任何文档。有什么建议?谢谢!

1 个答案:

答案 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