创建嵌入内容后(可以公开、不公开、使用带签名的嵌入或通过 API 进行嵌入),您就可以使用 JavaScript 与这些 iframe 进行交互。您可以根据嵌入内容的状态,让网页更具动态性,甚至可以通过网页更改嵌入内容。
请注意,Looker 无法控制浏览器向 Web 应用分派事件的顺序。这意味着,无法保证不同浏览器或平台之间的事件顺序。请务必妥善编写 JavaScript,以考虑不同浏览器的事件处理。
您可以通过以下任一方式使用 JavaScript 嵌入 Looker 内容:
- 使用 Looker 的嵌入软件开发套件 (SDK),如嵌入 SDK 文档页面中所述
- 使用 JavaScript 事件,详见本页的在 JavaScript 中访问事件部分
准备工作
您需要先完成以下步骤,才能与嵌入的 iframe 互动:
向 iframe 添加 ID
稍后,当您从 iframe 检索数据时,需要验证您所处理的信息是否确实来自 Looker 的 iframe。为此,请务必为您的 iframe 添加 ID(如果尚未添加)。在以下示例中,您可以通过向 iframe 添加 id="looker"
将 ID 设置为 looker
:
<iframe id="looker" src="https://instance_name.looker.com/embed/dashboards/1"></iframe>
将嵌入网域添加到 iframe src
属性
在 iframe 的 src
属性中,添加使用 iframe 的网域。在以下示例中,您可以通过在 src
属性的网址末尾添加 ?embed_domain=https://myownpersonaldomain.com"
,将 myownpersonaldomain.com
指定为网域:
<iframe
id="looker"
src="https://instance_name.looker.com/embed/dashboards/1?embed_domain=https://myownpersonaldomain.com">
</iframe>
如果您使用的是已签名的嵌入,请务必将 embed_domain
添加到嵌入网址。
如果您使用的是嵌入 SDK,请在嵌入网址的末尾添加 sdk=2
。sdk=2
参数表示 SDK 已存在,并且 Looker 可以利用 SDK 提供的其他功能,例如在 Looker iframe 和您的网域之间传递 JavaScript 事件。SDK 无法自行添加此参数,因为该参数是已签名网址的一部分。例如:
<iframe
id="looker"
src="https://instance_name.looker.com/embed/dashboards/1?embed_domain=https://myownpersonaldomain.com&sdk=2">
</iframe>
将嵌入网域添加到许可名单
最后,您需要按照以下步骤在 Looker 管理面板的嵌入页面上将使用 iframe 的网域添加到许可名单中:
在嵌入的网域许可名单字段中,输入使用 iframe 的网域,然后按 Tab 键,使该网域显示在字段内的框中。
点击更新。
您可以在许可名单中使用 *
通配符来创建网域模式。例如,https://*.myownpersonaldomain.com
会同时允许 https://analytics.myownpersonaldomain.com
和 https://data.myownpersonaldomain.com
。
如果您将 无 Cookie 嵌入与 Looker 23.8 或更高版本搭配使用,则可以在获取无 Cookie 会话时指定嵌入网域。这是一种将嵌入网域添加到许可名单的替代方法,您也可以使用管理 > 嵌入面板执行此操作。如果您决定使用此功能,请查看安全性最佳实践。
从 iframe 中检索数据
完成准备步骤后,您可以通过监听 postMessage
事件来访问在 Looker iframe 和您的网域之间传递的事件。
嵌入的 iframe 可以创建多种事件类型,如本页的事件类型参考部分所述。
在 JavaScript 中访问事件
以下示例展示了如何在原生 JavaScript 中监听这些事件,然后将其记录到控制台:
window.addEventListener("message", function(event) {
if (event.source === document.getElementById("looker").contentWindow) {
if (event.origin === "https://instance_name.looker.com") {
console.log(JSON.parse(event.data));
}
}
});
以下示例展示了如何在 jQuery 中监听这些事件,然后将其记录到控制台:
$(window).on("message", function(event) {
if (event.originalEvent.source === $("#looker")[0].contentWindow) {
if (event.origin === "https://instance_name.looker.com") {
console.log(JSON.parse(event.data));
}
}
});
事件类型摘要表
下表总结了事件类型。选择某种事件类型即可查看该事件的详细信息。
事件类型 | 事件原因 |
---|---|
dashboard:loaded |
在未将功能块设置为自动运行的信息中心中,信息中心及其元素已加载,但查询尚未运行。 |
dashboard:run:start |
信息中心已开始加载,其功能块也已开始加载并查询数据。 |
dashboard:run:complete |
信息中心已运行完毕,所有功能块均已完成加载和查询。 |
dashboard:download |
信息中心的 PDF 文件已开始下载。 |
dashboard:edit:start |
新增了 22.20
信息中心已切换到修改模式。当信息中心成功保存时,系统会触发 dashboard:save:complete 事件。 |
dashboard:edit:cancel |
新增 22.20 处于修改模式的信息中心已退出修改模式,但未保存。 |
dashboard:save:complete |
修改并保存了信息中心。 |
dashboard:delete:complete |
某个信息中心已被删除。 |
dashboard:tile:start |
功能块已开始加载或查询数据。 |
dashboard:tile:complete |
某个功能块已完成查询的运行。 |
dashboard:tile:download |
某个功能块的数据已开始下载。 |
dashboard:tile:explore |
用户点击了信息中心功能块中的从此处探索选项。 |
dashboard:tile:view |
用户点击了信息中心功能块中的查看原始外观选项。 |
dashboard:filters:changed |
已应用或更改了信息中心的过滤条件。 |
look:ready |
无论查询是否会运行,Look 都已开始加载查询数据。 |
look:run:start |
数据分析图表已开始加载查询数据,并且查询已开始运行。 |
look:run:complete |
某个数据分析图表已完成查询的运行。 |
look:save:complete |
修改并保存了某个外观。 |
look:delete:complete |
某个外观已移至回收站文件夹。 |
drillmenu:click |
用户点击了使用 link LookML 参数创建的信息中心中的展开菜单。 |
drillmodal:download |
用户已从信息中心功能块打开了展开式对话框,并点击了下载选项。 |
drillmodal:explore |
用户点击了展开式对话框中的从此处探索选项。 |
explore:ready |
无论查询是否会运行,探索都已开始加载查询数据。 |
explore:run:start |
探索已开始加载查询数据,并且查询已开始运行。 |
explore:run:complete |
探索已完成查询的运行。 |
explore:state:changed |
探索页面网址因用户的操作而发生更改。 |
page:changed |
用户已在 iframe 中转到新页面。 |
page:properties:changed |
信息中心 iframe 的高度已更改。 |
session:tokens |
Looker 客户端需要令牌才能继续。 |
session:status |
发送有关会话状态的信息。 |
env:client:dialog |
系统打开了一个对话框,但该对话框可能部分超出了视野范围,例如展开式对话框。此事件可让托管应用滚动对话框以使其显示在视野中。 |
事件类型参考文档
嵌入的 iframe 可以创建许多不同类型的事件:
dashboard:loaded
在未将图块设置为自动运行的信息中心中,此事件会在信息中心及其元素加载完毕但在运行查询之前创建。
type: "dashboard:loaded",
status: "complete",
dashboard: {
id: 1,
title: "Business Pulse",
canEdit: true,
dashboard_filters: {
"date": "Last 6 Years",
"state": ""
},
absoluteUrl: "https://self-signed.looker.com:9999/embed/dashboards/1?embed_domain=https%3A%2F%2Fself-signed.looker.com%3A9999&date=Last+6+Years&state=",
url: "/embed/dashboards/1?embed_domain=https%3A%2F%2Fself-signed.looker.com%3A9999&date=Last+6+Years&state=",
options: {
layouts: [
{
id: 1,
dashboard_id: 1,
type: "newspaper",
active: true,
column_width: null,
width: null,
deleted: false,
dashboard_layout_components: [
{
id: 1,
dashboard_layout_id: 1,
dashboard_element_id: 1,
row: 0,
column: 0,
width: 8,
height: 4,
deleted: false
},
{
id: 2,
dashboard_layout_id: 1,
dashboard_element_id: 2,
row: 0,
column: 8,
width: 8,
height: 4,
deleted: false
}
]
}
],
elements: {
1: {
title: "Total Orders",
title_hidden: false,
vis_config: {
type: "single_value",
font_size: "medium",
title: "Total Orders"
}
},
2: {
title: "Average Order Profit",
title_hidden: false,
vis_config: {
type: "single_value",
title: "Average Order Profit"
}
}
}
}
}
属性 | 格式 | 说明 |
---|---|---|
status |
字符串 | 指示信息中心及其元素是否已成功加载。 |
dashboard.id |
数字/字符串 | 信息中心的 ID。 |
dashboard.title |
字符串 | 标题,显示在信息中心顶部。 |
dashboard.canEdit |
布尔值 |
添加时间:22.20
当 true 时,用户可以修改信息中心。 |
dashboard.dashboard_filters |
对象 | 应用于信息中心的过滤条件。此对象的格式为:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
dashboard.absoluteUrl |
字符串 | 信息中心的完整网址。 |
dashboard.url |
字符串 | 相对信息中心网址(仅限路径)。 |
dashboard.options |
对象 | 信息中心布局、信息中心布局组件和信息中心元素属性和值。您可以使用 dashboard:options:set 事件为 options 对象中返回的所有属性赋予更新后的值。 |
dashboard:run:start
当信息中心开始加载时,系统会创建此事件,此时信息中心的功能块将开始加载并查询数据。
type: "dashboard:run:start",
dashboard: {
id: 23,
title: "My Dashboard",
canEdit: true,
url: "/embed/dashboards/...",
absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
dashboard_filters: {
"Date": "Last 28 days",
"Total Orders": "Greater than 100"
}
}
属性 | 格式 | 说明 |
---|---|---|
dashboard.id |
数字/字符串 | 信息中心的 ID。 |
dashboard.title |
字符串 | 标题,显示在信息中心顶部。 |
dashboard.canEdit |
布尔值 |
添加时间:22.20
当 true 时,用户可以修改信息中心。 |
dashboard.url |
字符串 | 相对信息中心网址(仅限路径)。 |
dashboard.absoluteUrl |
字符串 | 信息中心的完整网址。 |
dashboard.dashboard_filters |
对象 | 应用于信息中心的过滤条件。此对象的格式为:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
dashboard:run:complete
当信息中心运行完毕且所有功能块均已加载和查询完毕时,系统会创建此事件。无论所有功能块是否成功加载,系统都会创建此事件。
type: "dashboard:run:complete",
status: "complete",
dashboard: {
id: 23,
title: "My Dashboard",
canEdit: true,
url: "/embed/dashboards/...",
absoluteUrl: "https://my.looker.com/embed/dashboards/...",
dashboard_filters: {
"Date": "Last 28 days",
"Total Orders": "Greater than 100"
}
options: {
layouts: [
{
id: 1,
dashboard_id: 1,
type: "newspaper",
active: true,
column_width: null,
width: null,
deleted: false,
dashboard_layout_components: [
{
id: 1,
dashboard_layout_id: 1,
dashboard_element_id: 1,
row: 0,
column: 0,
width: 8,
height: 4,
deleted: false
},
{
id: 2,
dashboard_layout_id: 1,
dashboard_element_id: 2,
row: 0,
column: 8,
width: 8,
height: 4,
deleted: false
}
]
}
],
elements: {
1: {
title: "Total Orders",
title_hidden: false,
vis_config: {
type: "single_value",
font_size: "medium",
title: "Total Orders"
}
},
2: {
title: "Average Order Profit",
title_hidden: false,
vis_config: {
type: "single_value",
title: "Average Order Profit"
}
}
}
}
}
属性 | 格式 | 说明 |
---|---|---|
status |
字符串 | 指示信息中心及其元素是否已成功运行。如果信息中心及其元素成功运行,status 会返回 "complete" ;否则,status 会返回 "error" 。如果通过界面或 dashboard:stop 操作停止了正在运行的仪表板,status 将返回 "stopped" 。 |
dashboard.id |
数字/字符串 | 信息中心的 ID。 |
dashboard.title |
字符串 | 标题,显示在信息中心顶部。 |
dashboard.canEdit |
布尔值 |
添加时间:22.20
当 true 时,用户可以修改信息中心。 |
dashboard.url |
字符串 | 相对信息中心网址(仅限路径)。 |
dashboard.absoluteUrl |
字符串 | 信息中心的完整网址。 |
dashboard.dashboard_filters |
对象 | 应用于信息中心的过滤条件。此对象的格式为:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
dashboard.options |
对象 | 信息中心布局、信息中心布局组件和信息中心元素属性和值。您可以使用 dashboard:options:set 操作为 options 对象中返回的所有属性赋予更新后的值。 |
dashboard.tileStatuses |
对象数组 | 提供功能块状态的对象数组。对象属性包括:
|
dashboard:download
当信息中心的 PDF 文件开始下载时,系统会创建此事件。
type: "dashboard:download",
dashboard: {
id: 23,
title: "My Dashboard",
canEdit: true,
url: "/embed/dashboards/...",
absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
dashboard_filters: {
"Date": "Last 28 days",
"Total Orders": "Greater than 100"
}
}
fileFormat: "pdf"
属性 | 格式 | 说明 |
---|---|---|
dashboard.id |
数字/字符串 | 信息中心的 ID。 |
dashboard.title |
字符串 | 标题,显示在信息中心顶部。 |
dashboard.canEdit |
布尔值 |
添加时间:22.20
当 true 时,用户可以修改信息中心。 |
dashboard.url |
字符串 | 相对信息中心网址(仅限路径)。 |
dashboard.absoluteUrl |
字符串 | 信息中心的完整网址。 |
dashboard.dashboard_filters |
对象 | 应用于信息中心的过滤条件。此对象的格式为:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
fileFormat |
字符串 | 下载的信息中心的格式(目前仅支持 "pdf" )。 |
dashboard:edit:start
新增时间:22.20 当信息中心切换到修改模式时,系统会创建此事件。
type: "dashboard:edit:start",
dashboard: {
id: 23,
title: "My Dashboard",
canEdit: true,
url: "/embed/dashboards/...",
absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
dashboard_filters: {
"Date": "Last 28 days",
"Total Orders": "Greater than 100"
}
}
属性 | 格式 | 说明 |
---|---|---|
dashboard.id |
数字/字符串 | 信息中心的 ID。 |
dashboard.title |
字符串 | 标题,显示在信息中心顶部。 |
dashboard.canEdit |
布尔值 |
添加时间:22.20
当 true 时,用户可以修改信息中心。 |
dashboard.url |
字符串 | 相对信息中心网址(仅限路径)。 |
dashboard.absoluteUrl |
字符串 | 信息中心的完整网址。 |
dashboard.dashboard_filters |
对象 | 应用于信息中心的过滤条件。此对象的格式为:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
dashboard:edit:cancel
新增时间:22.20 当处于修改模式的信息中心退出修改模式且未保存时,系统会创建此事件。
type: "dashboard:edit:cancel",
dashboard: {
id: 23,
title: "My Dashboard",
canEdit: true,
url: "/embed/dashboards/...",
absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
dashboard_filters: {
"Date": "Last 28 days",
"Total Orders": "Greater than 100"
}
}
属性 | 格式 | 说明 |
---|---|---|
dashboard.id |
数字/字符串 | 信息中心的 ID。 |
dashboard.title |
字符串 | 标题,显示在信息中心顶部。 |
dashboard.canEdit |
布尔值 |
添加时间:22.20
当 true 时,用户可以修改信息中心。 |
dashboard.url |
字符串 | 相对信息中心网址(仅限路径)。 |
dashboard.absoluteUrl |
字符串 | 信息中心的完整网址。 |
dashboard.dashboard_filters |
对象 | 应用于信息中心的过滤条件。此对象的格式为:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
dashboard:save:complete
当您修改信息中心并保存时,系统会创建此事件。
type: "dashboard:save:complete",
dashboard: {
id: 23,
title: "My Dashboard",
canEdit: true,
dashboard_filters: {
"Date": "Last 28 days",
"Total Orders": "Greater than 100"
}
absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
url: "/embed/dashboards/...",
options: {
layouts: [
{
id: 1,
dashboard_id: 1,
type: "newspaper",
active: true,
column_width: null,
width: null,
deleted: false,
dashboard_layout_components: [
{
id: 1,
dashboard_layout_id: 1,
dashboard_element_id: 1,
row: 0,
column: 0,
width: 8,
height: 4,
deleted: false
},
{
id: 2,
dashboard_layout_id: 1,
dashboard_element_id: 2,
row: 0,
column: 8,
width: 8,
height: 4,
deleted: false
}
]
}
],
elements: {
1: {
title: "Total Orders",
title_hidden: false,
vis_config: {
type: "single_value",
font_size: "medium",
title: "Total Orders"
}
},
2: {
title: "Average Order Profit",
title_hidden: false,
vis_config: {
type: "single_value",
title: "Average Order Profit"
}
}
}
}
}
属性 | 格式 | 说明 |
---|---|---|
dashboard.id |
数字/字符串 | 信息中心的 ID。 |
dashboard.title |
字符串 | 标题,显示在信息中心顶部。 |
dashboard.canEdit |
布尔值 |
添加时间:22.20
当 true 时,用户可以修改信息中心。 |
dashboard.dashboard_filters |
对象 | 应用于信息中心的过滤条件。此对象的格式为:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
dashboard.absoluteUrl |
字符串 | 信息中心的完整网址。 |
dashboard.url |
字符串 | 相对信息中心网址(仅限路径)。 |
dashboard.options |
对象 | 信息中心布局、信息中心布局组件和信息中心元素属性和值。您可以使用 dashboard:options:set 事件为 options 对象中返回的所有属性赋予更新后的值。 |
dashboard:delete:complete
当删除信息中心时,系统会创建此事件。
type: "dashboard:delete:complete",
dashboard: {
id: 23,
title: "My Dashboard",
canEdit: true,
dashboard_filters: {
"Date": "Last 28 days",
"Total Orders": "Greater than 100"
}
absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
url: "/embed/dashboards/...",
options: {
layouts: [
{
id: 1,
dashboard_id: 1,
type: "newspaper",
active: true,
column_width: null,
width: null,
deleted: false,
dashboard_layout_components: [
{
id: 1,
dashboard_layout_id: 1,
dashboard_element_id: 1,
row: 0,
column: 0,
width: 8,
height: 4,
deleted: false
},
{
id: 2,
dashboard_layout_id: 1,
dashboard_element_id: 2,
row: 0,
column: 8,
width: 8,
height: 4,
deleted: false
}
]
}
],
elements: {
1: {
title: "Total Orders",
title_hidden: false,
vis_config: {
type: "single_value",
font_size: "medium",
title: "Total Orders"
}
},
2: {
title: "Average Order Profit",
title_hidden: false,
vis_config: {
type: "single_value",
title: "Average Order Profit"
}
}
}
}
}
属性 | 格式 | 说明 |
---|---|---|
dashboard.id |
数字/字符串 | 信息中心的 ID。 |
dashboard.title |
字符串 | 标题,显示在信息中心顶部。 |
dashboard.canEdit |
布尔值 |
添加时间:22.20
当 true 时,用户可以修改信息中心。 |
dashboard.dashboard_filters |
对象 | 应用于信息中心的过滤条件。此对象的格式为:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
dashboard.absoluteUrl |
字符串 | 信息中心的完整网址。 |
dashboard.url |
字符串 | 相对信息中心网址(仅限路径)。 |
dashboard.options |
对象 | 信息中心布局、信息中心布局组件和信息中心元素属性和值。您可以使用 dashboard:options:set 事件为 options 对象中返回的所有属性赋予更新后的值。 |
dashboard:tile:start
当功能块开始加载或查询数据时,系统会创建此事件。
type: "dashboard:tile:start",
dashboard: {
id: 23,
title: "My Dashboard",
canEdit: true,
url: "/embed/dashboards/...",
absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
dashboard_filters: {
"Date": "Last 28 days",
"Total Orders": "Greater than 100"
}
}
tile: {
id: 123,
title: "Quarterly Sales",
listen: {
"Date": "order.date",
"Total Orders": "order.count"
}
}
属性 | 格式 | 说明 |
---|---|---|
dashboard.id |
数字/字符串 | 功能块所属信息中心的 ID。 |
dashboard.title |
字符串 | 信息中心标题,显示在功能块所属信息中心的顶部。 |
dashboard.canEdit |
布尔值 |
添加时间:22.20
当 true 时,用户可以修改信息中心。 |
dashboard.url |
字符串 | 功能块所属的相对信息中心网址(仅限路径)。 |
dashboard.absoluteUrl |
字符串 | 功能块所属的信息中心的完整网址。 |
dashboard.dashboard_filters |
对象 | 应用于功能块所属信息中心的过滤条件。此对象的格式为:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
tile.id |
整数 | 事件的 ID 号,而不是功能块的 ID。 |
tile.title |
字符串 | 功能块标题,显示在功能块顶部。 |
tile.listen |
对象 | 此功能块正在监听的全局信息中心过滤条件。此对象的格式为:{"Filter Label": "Filter Field", ...} |
dashboard:tile:complete
当功能块运行完查询时,系统会创建此事件。
type: "dashboard:tile:complete",
dashboard: {
id: 23,
title: "My Dashboard",
canEdit: true,
url: "/embed/dashboards/...",
absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
dashboard_filters: {
"Date": "Last 28 days",
"Total Orders": "Greater than 100"
}
}
status: "complete",
truncated: false,
tile: {
id: 123,
title: "Quarterly Sales",
listen: {
"Date": "order.date",
"Total Orders": "order.count"
}
}
属性 | 格式 | 说明 |
---|---|---|
dashboard.id |
数字/字符串 | 功能块所属信息中心的 ID。 |
dashboard.title |
字符串 | 信息中心标题,显示在功能块所属信息中心的顶部。 |
dashboard.canEdit |
布尔值 |
添加时间:22.20
当 true 时,用户可以修改信息中心。 |
dashboard.url |
字符串 | 功能块所属的相对信息中心网址(仅限路径)。 |
dashboard.absoluteUrl |
字符串 | 功能块所属的信息中心的完整网址。 |
dashboard.dashboard_filters |
对象 | 应用于功能块所属信息中心的过滤条件。此对象的格式为:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
status |
字符串 | 功能块查询是否成功完成。可能的值为 "complete" 或 "error" 。 |
truncated |
布尔值 | 功能块查询结果是否因查询返回的行数超出查询行数限制而被截断。行数限制可以是用户指定的行数限制,也可以是 Looker 的默认行数限制(5,000 行)。 |
tile.id |
整数 | 事件的 ID 号,而不是功能块的 ID。 |
tile.title |
字符串 | 功能块标题,显示在功能块顶部。 |
tile.listen |
对象 | 此功能块正在监听的全局信息中心过滤条件。此对象的格式为:{"Filter Label": "Filter Field", ...} |
tile.errors |
对象数组 | 当 status 属性为 "error" 时填充。一个对象数组,用于提供错误的详细信息,包括错误消息文本、更详细的错误说明,以及导致错误的功能块的 SQL 查询。 |
dashboard:tile:download
当功能块的数据开始下载时,系统会创建此事件。
type: "dashboard:tile:download",
dashboard: {
id: 23,
title: "My Dashboard",
canEdit: true,
url: "/embed/dashboards/...",
absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
dashboard_filters: {
"Date": "Last 28 days",
"Total Orders": "Greater than 100"
}
}
tile: {
id: 123,
title: "Quarterly Sales"
listen: {
"Date": "order.date",
"Total Orders": "order.count"
}
}
fileFormat: "pdf"
属性 | 格式 | 说明 |
---|---|---|
dashboard.id |
数字/字符串 | 功能块所属信息中心的 ID。 |
dashboard.title |
字符串 | 信息中心标题,显示在功能块所属信息中心的顶部。 |
dashboard.canEdit |
布尔值 |
添加时间:22.20
当 true 时,用户可以修改信息中心。 |
dashboard.url |
字符串 | 功能块所属的相对信息中心网址(仅限路径)。 |
dashboard.absoluteUrl |
字符串 | 功能块所属的信息中心的完整网址。 |
dashboard.dashboard_filters |
对象 | 应用于功能块所属信息中心的过滤条件。此对象的格式为:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
tile.id |
整数 | 事件的 ID 号,而不是功能块的 ID。 |
tile.title |
字符串 | 功能块标题,显示在功能块顶部。 |
tile.listen |
对象 | 此功能块正在监听的全局信息中心过滤条件。此对象的格式为:{"Filter Label": "Filter Field", ...} |
fileFormat |
字符串 | 下载的功能块的格式(目前仅限 "pdf" )。 |
dashboard:tile:explore
当用户点击信息中心功能块中的从此处探索选项时,系统会创建此事件。
type: "dashboard:tile:explore",
label: 'Explore From Here',
url: '/embed/explore/model/view...',
dashboard: {
id: 23,
title: "My Dashboard",
canEdit: true,
url: "/embed/dashboards/...",
absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
dashboard_filters: {
"Date": "Last 28 days",
"Total Orders": "Greater than 100"
}
}
tile: {
id: 123,
title: "Quarterly Sales",
listen: {
"Date": "order.date",
"Total Orders": "order.count"
}
}
属性 | 格式 | 说明 |
---|---|---|
label |
字符串 | 按钮标签。 |
url |
字符串 | 要查看的探索的相对网址(仅限路径)。 |
dashboard.id |
数字/字符串 | 功能块所属信息中心的 ID。 |
dashboard.title |
字符串 | 信息中心标题,显示在功能块所属信息中心的顶部。 |
dashboard.canEdit |
布尔值 |
添加时间:22.20
当 true 时,用户可以修改信息中心。 |
dashboard.url |
字符串 | 功能块所属的相对信息中心网址(仅限路径)。 |
dashboard.absoluteUrl |
字符串 | 功能块所属的信息中心的完整网址。 |
dashboard.dashboard_filters |
对象 | 应用于功能块所属信息中心的过滤条件。此对象的格式为:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
tile.id |
整数 | 事件的 ID 号,而不是功能块的 ID。 |
tile.title |
字符串 | 功能块标题,显示在功能块顶部。 |
tile.listen |
对象 | 此功能块正在监听的全局信息中心过滤条件。此对象的格式为:{"Filter Label": "Filter Field", ...} |
dashboard:tile:view
当用户点击信息中心功能块中的查看原始效果选项时,系统会创建此事件。
type: "dashboard:tile:view",
label: 'View Original Look',
url: '/embed/look/...',
dashboard: {
id: 23,
title: "My Dashboard",
canEdit: true,
url: "/embed/dashboards/...",
absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
dashboard_filters: {
"Date": "Last 28 days",
"Total Orders": "Greater than 100"
}
}
tile: {
id: 123,
title: "Quarterly Sales",
listen: {
"Date": "order.date",
"Total Orders": "order.count"
}
}
属性 | 格式 | 说明 |
---|---|---|
label |
字符串 | 按钮标签。 |
url |
字符串 | 要查看的外观的相对网址(仅限路径)。 |
dashboard.id |
数字/字符串 | 功能块所属信息中心的 ID。 |
dashboard.title |
字符串 | 信息中心标题,显示在功能块所属信息中心的顶部。 |
dashboard.canEdit |
布尔值 |
添加时间:22.20
当 true 时,用户可以修改信息中心。 |
dashboard.url |
字符串 | 功能块所属的相对信息中心网址(仅限路径)。 |
dashboard.absoluteUrl |
字符串 | 功能块所属的信息中心的完整网址。 |
dashboard.dashboard_filters |
对象 | 应用于功能块所属信息中心的过滤条件。此对象的格式为:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
tile.id |
整数 | 事件的 ID 号,而不是功能块的 ID。 |
tile.title |
字符串 | 功能块标题,显示在功能块顶部。 |
tile.listen |
对象 | 此功能块正在监听的全局信息中心过滤条件。此对象的格式为:{"Filter Label": "Filter Field", ...} |
dashboard:filters:changed
当应用或更改信息中心的过滤条件时,系统会创建此事件。
type: "dashboard:filters:changed",
dashboard: {
id: 23,
title: "My Dashboard",
canEdit: true,
url: "/embed/dashboards/...",
absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
dashboard_filters: {
"Date": "Last 28 days",
"Total Orders": "Greater than 100"
}
options: {
layouts: [
{
id: 1,
dashboard_id: 1,
type: "newspaper",
active: true,
column_width: null,
width: null,
deleted: false,
dashboard_layout_components: [
{
id: 1,
dashboard_layout_id: 1,
dashboard_element_id: 1,
row: 0,
column: 0,
width: 8,
height: 4,
deleted: false
},
{
id: 2,
dashboard_layout_id: 1,
dashboard_element_id: 2,
row: 0,
column: 8,
width: 8,
height: 4,
deleted: false
}
]
}
],
elements: {
1: {
title: "Total Orders",
title_hidden: false,
vis_config: {
type: "single_value",
font_size: "medium",
title: "Total Orders"
}
},
2: {
title: "Average Order Profit",
title_hidden: false,
vis_config: {
type: "single_value",
title: "Average Order Profit"
}
}
}
}
}
属性 | 格式 | 说明 |
---|---|---|
dashboard.id |
数字/字符串 | 信息中心的 ID。 |
dashboard.title |
字符串 | 标题,显示在信息中心顶部。 |
dashboard.canEdit |
布尔值 |
添加时间:22.20
当 true 时,用户可以修改信息中心。 |
dashboard.url |
字符串 | 相对信息中心网址(仅限路径)。 |
dashboard.absoluteUrl |
字符串 | 信息中心的完整网址。 |
dashboard.dashboard_filters |
对象 | 应用于信息中心的过滤条件。此对象的格式为:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
dashboard.options |
对象 | 信息中心布局、信息中心布局组件和信息中心元素属性和值。您可以使用 dashboard:options:set 事件为 options 对象中返回的所有属性赋予更新后的值。 |
look:ready
当 Look 开始加载查询数据时,系统会创建此事件,无论查询是否运行。
type: "look:ready",
look: {
url: "/embed/looks/...",
absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
}
}
属性 | 格式 | 说明 |
---|---|---|
look.url |
字符串 | 相对 Look 网址(仅限路径) |
look.absoluteUrl |
字符串 | 完整的 Look 网址 |
look:run:start
当数据分析开始加载查询数据并开始运行时,系统会创建此事件。
type: "look:run:start",
look: {
url: "/embed/looks/...",
absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
}
}
属性 | 格式 | 说明 |
---|---|---|
look.url |
字符串 | 相对 Look 网址(仅限路径) |
look.absoluteUrl |
字符串 | 完整的 Look 网址 |
look:run:complete
当 Look 运行完查询时,系统会创建此事件。
type: look:run:complete
look: {
url: "/embed/looks/...",
absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
}
}
属性 | 格式 | 说明 |
---|---|---|
look.url |
字符串 | 相对 Look 网址(仅限路径) |
look.absoluteUrl |
字符串 | 完整的 Look 网址 |
look:save:complete
修改并保存外观时,系统会创建此事件。当用户执行以下任一任务时,系统就会创建此事件:
- 点击修改按钮以修改外观,然后点击保存
- 依次选择保存 > 另存为…菜单选项,保存外观
- 将外观从一个文件夹移至另一个文件夹
如果您使用保存 > 保存到现有信息中心或修改设置菜单选项保存了外观,系统不会创建此事件。
type: look:save:complete
look: {
url: "/embed/looks/...",
absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
folderid: 123
}
}
属性 | 格式 | 说明 |
---|---|---|
look.url |
字符串 | 相对 Look 网址(仅限路径) |
look.absoluteUrl |
字符串 | 完整的 Look 网址 |
look.folderid |
整数 | 存储外观的文件夹 ID |
look:delete:complete
当外观移至回收站文件夹时,系统会创建此事件。
type: look:delete:complete
look: {
url: "/embed/looks/...",
absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
}
}
属性 | 格式 | 说明 |
---|---|---|
look.url |
字符串 | 相对 Look 网址(仅限路径) |
look.absoluteUrl |
字符串 | 完整的 Look 网址 |
drillmenu:click
当用户点击使用 link
LookML 参数创建的信息中心中的展开式菜单时,系统会创建此事件。例如,以下 LookML 会创建一个展开菜单,用户可以在其中查看按 state
维度过滤的数据:
dimension: state {
type: string
sql: ${TABLE}.state ;;
link: {
label: "Filter by {{ state | encode_uri }}"
url: "filter::q={{ state | encode_uri }}"
icon_url: "https://google.com/favicon.ico"
}
}
将 state
过滤器设置为 Illinois
后,drillmenu:click
事件会向 iframe 的托管方返回以下内容:
type: "drillmenu:click",
label: "Filter by Illinois",
link_type: "url",
modal: false,
target: '_self',
url: "#filter::state=Illinois"
context: ' '
属性 | 格式 | 说明 |
---|---|---|
label |
字符串 | 展开菜单中显示的链接标签 |
link_type |
字符串 | 链接目的地的对象类型 |
modal |
布尔值 | 是否使用展开对话框,而非浏览器导航 |
target |
字符串 | 如果链接目的地将替换当前的 iframe,则为 _self ;如果链接目的地将打开新窗口,则为 _blank |
url |
字符串 | 链接目的地的网址 |
context |
字符串 | 某些类型的可视化图表使用的内部属性 |
沙盒化 iframe 可防止点击展开式菜单后在新窗口中打开。在 iframe 标记中使用以下沙盒化值:
sandbox = "allow-same-origin allow-scripts"
drillmodal:download
当用户从信息中心功能块打开展开式对话框,然后点击下载选项时,系统会创建此事件。
{
type: "drillmodal:download",
dashboard: {
id: 23,
title: "My Dashboard",
url: "/embed/dashboards/…",
absoluteUrl: "https://instance_name.looker.com/embed/dashboards/…",
dashboard_filters: {
"Date": "Last 28 days",
"Total Orders": "Greater than 100"
}
}
drillExploreUrl: "/embed...",
fileFormat: "pdf"
}
属性 | 格式 | 说明 |
---|---|---|
dashboard.id |
数字/字符串 | 功能块所属信息中心的 ID。 |
dashboard.title |
字符串 | 信息中心标题,显示在功能块所属信息中心的顶部。 |
dashboard.url |
字符串 | 功能块所属的相对信息中心网址(仅限路径)。 |
dashboard.absoluteUrl |
字符串 | 功能块所属的信息中心的完整网址。 |
dashboard.dashboard_filters |
对象 | 应用于功能块所属信息中心的过滤条件。此对象的格式为:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
drillExploreUrl |
字符串 | 要下载的相对探索网址(仅限路径)。 |
fileFormat |
字符串 | 数据下载的文件格式。 |
drillmodal:explore
当用户点击展开式对话框中的从此处探索选项时,系统会创建此事件。
type: "drillmodal:explore",
label: "Explore From Here",
url: "/embed/explore/model/view..."
属性 | 格式 | 说明 |
---|---|---|
label |
字符串 | 钻研菜单中显示的按钮标签 |
url |
字符串 | 要查看的相对“探索”网址(仅限路径) |
explore:ready
当探索开始加载查询数据时,系统会创建此事件,无论查询是否运行。
type: "explore:ready",
explore: {
url: "/embed/explore/...",
absoluteUrl: "https://instance_name.looker.com/embed/explore/...",
}
}
属性 | 格式 | 说明 |
---|---|---|
explore.url |
字符串 | 相对的“探索”网址(仅限路径) |
explore.absoluteUrl |
字符串 | 完整的“探索”页面网址 |
explore:run:start
当探索开始加载查询数据并开始运行查询时,系统会创建此事件。
type: "explore:run:start",
explore: {
url: "/embed/explore/...",
absoluteUrl: "https://instance_name.looker.com/embed/explore/...",
}
}
属性 | 格式 | 说明 |
---|---|---|
explore.url |
字符串 | 相对的“探索”网址(仅限路径) |
explore.absoluteUrl |
字符串 | 完整的“探索”页面网址 |
explore:run:complete
当探索完成运行查询时,系统会创建此事件。
type: "explore:run:complete",
explore: {
url: "/embed/explore/...",
absoluteUrl: "https://instance_name.looker.com/embed/explore/...",
}
}
属性 | 格式 | 说明 |
---|---|---|
explore.url |
字符串 | 相对的“探索”网址(仅限路径) |
explore.absoluteUrl |
字符串 | 完整的“探索”页面网址 |
explore:state:changed
当用户的操作导致探索页面网址发生变化时,系统会创建此事件。
type: "explore:state:changed",
explore: {
url: "/embed/explore/...",
absoluteUrl: "https://instance_name.looker.com/embed/explore/..."
}
属性 | 格式 | 说明 |
---|---|---|
explore.url |
字符串 | 相对的“探索”网址(仅限路径) |
explore.absoluteUrl |
字符串 | 完整的“探索”页面网址 |
page:changed
当用户在 iframe 中导航到新页面时,系统会创建此事件。
type: "page:changed",
page: {
type: "dashboard",
url: "/embed/dashboards/...",
absoluteUrl: "https://instance_name.looker.com/embed/dashboards/..."
}
属性 | 格式 | 说明 |
---|---|---|
page.type |
字符串 | 刚刚导航到的页面的类型,例如 "dashboard" 、"look" 或 "explore" |
page.url |
字符串 | 刚刚导航到的网页的相对网址(仅限路径) |
page.absoluteUrl |
字符串 | 刚刚导航到的网页的完整网址 |
page:properties:changed
当信息中心 iframe 的高度发生变化时,系统会创建此事件。此功能不适用于“外观”或“探索”,因为这些内容会自动调整其高度以适应 iframe 的大小。
type: "page:properties:changed",
height: 1000
属性 | 格式 | 说明 |
---|---|---|
height |
整数 | 信息中心 iframe 的高度(以像素为单位) |
session:tokens
此事件表示 Looker 客户端需要令牌才能继续。系统会在创建 iframe 后立即创建此事件,并在会话期间定期创建此事件。
{
"type": "session:tokens",
"api_token": "eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3NlbGYtc2lnbmVkLmxvb2tlci5jb206OTk5OSIsImV4cCI6MTY3MDYyNjMzMCwic3ViIjoiYVdrNWFGUzM4RnRwNzFFWXhuS3ZaMXdKRmV3ZjB2VzYtTV9zLWtCcHE1dXIiLCJ0b2tlbl90eXBlIjoiYXBpX3Rva2VuIiwicmFuZG9taXplciI6IkxjYnpOeDNTVjNOb3o3UVlqTVJjNmhlMkdodjh1a2UwWUhiZWNRMHVCYm1KIn0.CBv1__QGc_H7bKNe31SHMMQCsc5ya1xOiEv1UDWAyxM",
"api_token_ttl": 463,
"navigation_token": "eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3NlbGYtc2lnbmVkLmxvb2tlci5jb206OTk5OSIsImV4cCI6MTY3MDYyNjMzMCwic3ViIjoiYVdrNWFGUzM4RnRwNzFFWXhuS3ZaMXdKRmV3ZjB2VzYtTV9zLWtCcHE1dXIiLCJ0b2tlbl90eXBlIjoibmF2aWdhdGlvbl90b2tlbiIsInJhbmRvbWl6ZXIiOiJHVVNlc00tdTRPRDlNdktodFJDU2pEcVFhUkJNeTh5dm42Q1FDUXhuLTNxMiJ9.sWo7LUEI5LeragVmeDamUR7u2myXpFJ0aqK_IIALUqI",
"navigation_token_ttl": 463,
"session_reference_token_ttl": 2924
}
属性 | 格式 | 说明 |
---|---|---|
authentication_token |
字符串 | 身份验证令牌。在创建 iframe 时包含。生成令牌请求的响应或会话已过期时不包含该字段。 |
authentication_token_ttl |
数字 | 身份验证令牌的存活时间(以秒为单位)。在创建 iframe 时包含。生成令牌请求的响应或会话已过期时不包含该字段。 |
api_token |
字符串 | API 令牌。如果会话已过期,则不包含。 |
api_token_ttl |
数字 | API 令牌的存活时间(以秒为单位)。如果会话已过期,则不包含。 |
navigation_token |
字符串 | 导航令牌。如果会话已过期,则不包含。 |
navigation_token_ttl |
数字 | 导航令牌的存活时间(以秒为单位)。如果会话已过期,则不包含。 |
session_references_token_ttl |
数字 | 会话的存活时间(以秒为单位)。会话过期后,该值将为 0。如需恢复,嵌入应用必须获取新的会话。 |
session:status
嵌入式 Looker 应用处理会话令牌请求时,系统会生成此事件。
{
"type": "session:status",
"session_ttl": 0,
"expired": true,
"interrupted": false
}
属性 | 格式 | 说明 |
---|---|---|
session_ttl |
数字 | 会话存活时间(以秒为单位)。 |
expired |
布尔值 | 为 true 时,表示会话已过期。 |
interrupted |
布尔值 | 如果为 true ,表示系统未对会话令牌请求做出响应。这可能表示服务器暂时不可用。 |
recoverable |
布尔值 | 仅当 interrupted 为 true 时填充。指示会话是否可以恢复。值为 false 可能表示嵌入应用存在问题。 |
env:client:dialog
当打开的对话框可能部分超出视野范围时,系统会生成此事件,例如展开式对话框。此事件可让托管应用使用 env:host:scroll
操作将对话框滚动到视野中。
{
type: "env:client:dialog",
dialogType: 'drilling',
placement: 'cover',
open: true
}
属性 | 格式 | 说明 |
---|---|---|
type |
字符串 | env:client:dialog 表示对话框已打开或关闭。目前,仅支持展开式对话框,但未来可能会添加其他对话框。由于该对话框会遮盖 iframe 视口,因此可能无法看到展开式对话框的顶部。借助此事件,托管应用可以将对话框顶部滚动到视野中。 |
dialogType |
字符串 | 对话框的类型。目前,只有“展开”对话框类型的打开或关闭会触发此事件。 |
placement |
字符串 | 对话框的位置。类型为“钻研”的对话框始终使用“封面”的 placement 。 |
open |
布尔值 | 指示对话框是处于打开还是滚动状态。 |
更改 iframe
准备好 iframe 以进行数据检索后,您可以按照以下步骤对 iframe 进行更改:
以 JSON 格式编写请求
您可以对 iframe 进行一些更改,并以 JSON 表单的形式提交。如需了解可用选项,请参阅本页的操作参考部分。别忘了使用 JSON.stringify
将操作转换为 JSON,如下所示:
var my_request = JSON.stringify(
{
type: "dashboard:run"
}
);
将请求发布到 iframe 的 contentWindow
属性
最后,将消息发布到 iframe 的 contentWindow
,如下所示:
var my_iframe = document.getElementById("my_iframe_id");
my_iframe.contentWindow.postMessage(my_request, 'https://instance_name.looker.com');
操作摘要表
下表总结了操作。选择一项操作即可查看该操作的详细信息。
操作 | 操作说明 |
---|---|
dashboard:load |
在 iframe 中加载新信息中心,替换现有信息中心。 |
dashboard:run |
在 iframe 中运行信息中心。 |
dashboard:edit |
新增 22.20 将信息中心切换到修改模式。 |
dashboard:filters:update |
更新 iframe 中的现有信息中心过滤条件。 |
dashboard:options:set |
将新值写入信息中心布局和信息中心元素属性。 |
dashboard:schedule_modal:open |
打开“安排器”,让用户可以将 Looker 内容提交到各种目标位置。 |
dashboard:stop |
停止正在运行或重新加载数据的仪表板。 |
look:run |
在 iframe 中运行外观。 |
look:filters:update |
更新 iframe 中的现有外观过滤条件。 |
explore:run |
在 iframe 中运行“探索”。 |
explore:filters:update |
更新或移除 iframe 中的现有“探索”过滤条件。 |
session:tokens:request |
响应 session:tokens:request 事件发送令牌。 |
env:host:scroll |
向嵌入的 Looker 应用发送有关托管 iframe 当前滚动位置的信息。 |
操作参考文档
您可以向嵌入的 iframe 发布以下操作:
dashboard:load
使用此操作可在 iframe 中加载新信息中心,从而替换现有信息中心。新信息中心会开始执行查询,就像打开了新的信息中心页面一样。
{
type: "dashboard:load",
id: "101",
pushHistory: false
}
属性 | 格式 | 说明 |
---|---|---|
type |
字符串 | 使用类型 dashboard:load 表示您想将新的信息中心加载到 iframe 中。 |
id |
字符串 | 要加载的信息中心的 ID。 |
pushHistory |
布尔值 | 如果为 true ,则加载的信息中心会创建新的浏览器历史记录条目,并且用户可以使用浏览器的返回按钮返回到上一个信息中心。如果为 false ,则会替换当前信息中心,并且无法使用浏览器导航功能返回到该信息中心。 |
dashboard:run
使用此操作可在 iframe 中运行信息中心。这与点击信息中心上的运行或重新加载数据按钮的操作相同。
{
type: "dashboard:run"
}
属性 | 格式 | 说明 |
---|---|---|
type |
字符串 | 使用类型 dashboard:run 表示您要运行信息中心。 |
dashboard:edit
新增时间:22.20 使用此操作可将 iframe 中的现有信息中心切换到修改模式。这与从信息中心菜单中选择修改信息中心的操作相同。
{
type: "dashboard:edit"
}
属性 | 格式 | 说明 |
---|---|---|
type |
字符串 | 使用类型 dashboard:edit 表示您想将信息中心切换到修改模式。 |
dashboard:filters:update
您可以使用此操作更新 iframe 中的现有信息中心过滤条件。您无法使用此方法向信息中心添加新过滤条件。
{
type: "dashboard:filters:update",
filters: {
"Sale date": "Last 28 days",
"Sale amount": "Greater than 100"
}
}
属性 | 格式 | 说明 |
---|---|---|
type |
字符串 | 使用类型 dashboard:filters:update 表示您要更新信息中心使用的过滤条件。 |
filters |
对象 | 您要应用于信息中心的新过滤条件。此对象的格式为:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
dashboard:options:set
此操作在 dashboard:run:complete
事件发生后可用。
嵌入程序会创建消息并将其发送到 iframe,但信息中心在发生 dashboard:run:complete
之前不会响应。dashboard:options:set
操作会将新值写入信息中心布局和信息中心元素属性。只有在 dashboard:run:complete
事件的 options
属性中返回的属性才能使用 dashboard:options:set
进行更新。系统会忽略之前未由 dashboard:run:complete
事件的 options
属性返回的任何属性设置。
{
type: "dashboard:options:set",
layouts: [
{
id: 1,
dashboard_id: 1,
type: "newspaper",
active: true,
column_width: null,
width: null,
deleted: false,
dashboard_layout_components: [
{
id: 1,
dashboard_layout_id: 1,
dashboard_element_id: 1,
row: 0,
column: 0,
width: 8,
height: 4,
deleted: false
},
{
id: 2,
dashboard_layout_id: 1,
dashboard_element_id: 2,
row: 0,
column: 8,
width: 8,
height: 4,
deleted: false
}
]
}
],
elements: {
1: {
title: "Total Orders",
title_hidden: false,
vis_config: {
type: "single_value",
font_size: "medium",
title: "Total Orders"
}
},
2: {
title: "Average Order Profit",
title_hidden: false,
vis_config: {
type: "single_value",
title: "Average Order Profit"
}
}
}
}
属性 | 格式 | 说明 |
---|---|---|
type |
字符串 | 使用类型 dashboard:options:set 表示您想向信息中心布局和信息中心元素属性写入新值。 |
layouts |
对象 | dashboard:run:complete 事件中的 options 属性返回的信息中心布局属性。这些值的格式类似于:
|
layouts.dashboard_layout_components |
对象 | dashboard:run:complete 事件中的 options 属性返回的一个或多个信息中心布局组件对象。这些值的格式类似于:
|
elements |
对象 | dashboard:run:complete 事件中的 options 属性返回的一个或多个信息中心元素对象。这些值的格式类似于:id: { title: "string", title_hidden: boolean, vis_config: { type: "string", title: "string" }} |
dashboard:schedule_modal:open
使用此操作可打开时间表,让用户将 Looker 内容提交到各种目标位置。
{
type: "dashboard:schedule_modal:open"
}
属性 | 格式 | 说明 |
---|---|---|
type |
字符串 | 使用类型 dashboard:schedule_modal:open 表示您想打开时间表对话框。 |
dashboard:stop
您可以使用此操作停止正在运行或重新加载数据的信息中心。这与点击信息中心上的取消按钮的操作相同。使用 dashboard:stop
停止的 Dashboard 会发送一个 dashboard:run:complete
事件,并将 status:
设置为 "stopped"
。
{
type: "dashboard:stop"
}
属性 | 格式 | 说明 |
---|---|---|
type |
字符串 | 使用类型 dashboard:stop 表示您想停止正在运行的信息中心。 |
look:run
使用此操作可在 iframe 中运行用于构建外观的查询。此操作类似于在 Look 中点击运行按钮,但不同之处在于 look:run
始终直接查询数据库,而不是从 Looker 缓存中检索数据。
{
type: "look:run"
}
属性 | 格式 | 说明 |
---|---|---|
type |
字符串 | 使用类型 look:run 表示您要运行该外观。 |
look:filters:update
您可以使用此操作更新 iframe 中的现有外观过滤条件。您无法使用此方法向外观添加新过滤条件。
{
type: "look:filters:update",
filters: {
"orders.created_at": "90 days",
"products.department": "sweaters"
}
}
属性 | 格式 | 说明 |
---|---|---|
type |
字符串 | 使用类型 look:filters:update 表示您想要更新外观所使用的过滤条件。 |
filters |
对象 | 您要应用于外观的新滤镜。此对象的格式为:{"view_name.field_name_1": "value 1", "view_name.field_name_1": "value 2", ...} |
explore:run
使用此操作可在 iframe 中运行“探索”。此操作类似于在“探索”中点击运行按钮,但不同之处在于 explore:run
始终直接查询数据库,而不是从 Looker 缓存中检索数据。
{
type: "explore:run"
}
属性 | 格式 | 说明 |
---|---|---|
type |
字符串 | 使用类型 explore:run 表示您要运行“探索”。 |
explore:filters:update
您可以使用此操作更新或移除 iframe 中的现有“探索”过滤条件。添加引用有效字段的新过滤条件后,系统会将新过滤条件添加到“探索”中。
{
type: "explore:filters:update",
filters: {
"orders.created_at": "90 days",
"orders.status": "complete"
}
deleteFilters: ["products.department"]
}
属性 | 格式 | 说明 |
---|---|---|
type |
字符串 | 使用类型 explore:filters:update 表示您想更新“探索”功能使用的过滤条件。 |
filters |
对象 | 您要应用于“探索”的新过滤条件。如果 filters 包含“探索”中目前不存在但引用有效字段的过滤条件,则系统会将该过滤条件添加到“探索”中。此对象的格式为:{"view_name.field_name_1": "value 1", "view_name.field_name_1": "value 2", ...} |
deleteFilters |
数组 | 您要从“探索”部分移除的现有过滤条件。数组的格式为:["view_name.field_name_1", "view_name.field_name_2", ...] |
session:tokens:request
使用此操作可响应 session:tokens:request
请求发送令牌。
{
type: "session:tokens:request",
}
属性 | 格式 | 说明 |
---|---|---|
type |
字符串 | 使用类型 session:tokens:request 表示您希望在响应 session:tokens:request 事件时发送令牌。 |
env:host:scroll
您可以使用此操作将有关主机 iframe 当前滚动位置的信息发送到嵌入的 Looker 应用。
{
type: "env:host:scroll",
offsetTop: 10,
offsetLeft: 10,
scrollX: 5,
scrollY: 5
}
属性 | 格式 | 说明 |
---|---|---|
type |
字符串 | 使用类型 env:host:scroll 表示您希望向嵌入的 Looker 应用发送有关主机 iframe 当前滚动位置的信息。 |
offsetTop |
数字 | iframe 的顶部偏移量。 |
offsetLeft |
数字 | iframe 的左侧偏移量。 |
scrollX |
数字 | 应用主机的 scrollX 位置。 |
scrollY |
数字 | 应用主机的 scrollY 位置。 |