我正在使用peopleViewer模板,我想知道如何修改搜索选项,以便通过帖子和名称来查找人员。
我尝试添加:
loadAllData()函数中的userInfoDs.query.filters.PrimaryOrganizationTitle = title;
,但
1-自动完成不会在过滤器中显示PrimaryOrganizationTitle
2-我不认为var title = userInfoDs.query.parameters.PrimaryOrganizationTitle;
可以创建变量。
编辑:或者,我想知道是否可以手动添加要在userInfoDs.query.filters
中使用的过滤器。
答案 0 :(得分:0)
您引用的数据源userInfoDs
用于加载有关已找/已选/当前用户(People
页面)的数据。 SearchResults
页面使用SearchResults
数据源。页眉中的搜索框绑定到keywords。目录模型keywords
将在名字/姓氏和主要电子邮件中查找搜索词出现次数。目录模型不支持按PrimaryOrganizationTitle
进行过滤:https://developers.google.com/appmaker/models/directory#user_fields_and_query_operators
因此,如果您迫切希望按照目录模型不支持的字段搜索人员,除了使用Admin Directory SDK之外别无选择。这是服务器端搜索脚本的近似品味。
/**
* Searches for people.
*/
function search(term) {
var result = AdminDirectory.Users.list({
domain: 'ENTER HERE YOUR DOMAIN (exapmle.com)',
// Build your query basing on this doc
// https://developers.google.com/admin-sdk/directory/v1/guides/search-users
query: getQuery(term),
viewType: 'domain_public',
maxResults: 10
});
return mapToAppMakerRecords(result);
}
此getQuery
函数应构建类似于email:Bob or name:Bob or orgTitle:Bob
的查询,而mapToAppMakerRecords
应将搜索结果转换为App Maker的UI可以消化的形式(Calculated Model或后续跟进查询Directory Model)。通过这种方法,与结果排序和分页相关的所有工作也将落在你的肩上。