Setelah membuat sematan — yang dapat dilakukan secara publik, pribadi, dengan penyematan bertanda tangan, atau melalui API — Anda dapat berinteraksi dengan iframe tersebut menggunakan JavaScript. Anda dapat membuat halaman lebih dinamis berdasarkan status item yang disematkan, dan Anda bahkan dapat membuat perubahan pada item yang disematkan dari halaman web Anda.
Perlu diketahui bahwa Looker tidak mengontrol urutan pengiriman peristiwa oleh browser ke aplikasi web. Artinya, urutan peristiwa tidak dijamin di seluruh browser atau platform. Pastikan untuk menulis JavaScript dengan tepat untuk memperhitungkan penanganan peristiwa di berbagai browser.
Anda dapat menggunakan JavaScript dengan salah satu cara berikut untuk konten tersemat Looker:
- Menggunakan Software Development Kit (SDK) sematan Looker, yang dijelaskan di halaman dokumentasi Embed SDK
- Menggunakan peristiwa JavaScript, yang dijelaskan di bagian Mengakses peristiwa di JavaScript pada halaman ini
Persiapan
Sebelum Anda dapat berinteraksi dengan iframe tersemat, ikuti langkah-langkah berikut:
- Tambahkan ID ke iframe.
- Tambahkan domain sematan ke atribut
srciframe. - Tambahkan domain sematan ke daftar yang diizinkan.
Menambahkan ID ke iframe
Nantinya, saat Anda mengambil data dari iframe, Anda harus memvalidasi bahwa informasi yang Anda gunakan benar-benar berasal dari iframe Looker. Untuk memfasilitasi hal ini, pastikan untuk menambahkan ID ke iframe Anda, jika Anda belum melakukannya. Pada contoh berikut, Anda menetapkan ID ke looker dengan menambahkan id="looker" ke iframe:
<iframe id="looker" src="https://instance_name.looker.com/embed/dashboards/1"></iframe>
Menambahkan domain sematan ke atribut src iframe
Dalam atribut src iframe, sertakan domain tempat iframe digunakan. Pada contoh berikut, Anda dapat menentukan myownpersonaldomain.com sebagai domain dengan menambahkan ?embed_domain=https://myownpersonaldomain.com" ke akhir URL di atribut src:
<iframe
id="looker"
src="https://instance_name.looker.com/embed/dashboards/1?embed_domain=https://myownpersonaldomain.com">
</iframe>
Jika Anda menggunakan penyematan bertanda tangan, pastikan Anda menambahkan embed_domain ke URL sematan.
Jika Anda menggunakan Embed SDK, tambahkan sdk=3 ke akhir URL sematan. Parameter sdk=3 menunjukkan bahwa SDK ada dan Looker dapat memanfaatkan fitur tambahan yang disediakan SDK, seperti meneruskan peristiwa JavaScript antara iframe Looker dan domain Anda. SDK tidak dapat menambahkan parameter ini sendiri karena merupakan bagian dari URL bertanda tangan. Contoh:
<iframe
id="looker"
src="https://instance_name.looker.com/embed/dashboards/1?embed_domain=https://myownpersonaldomain.com&sdk=2">
</iframe>
Menambahkan domain sematan ke daftar yang diizinkan
Terakhir, Anda harus menambahkan domain tempat iframe digunakan ke daftar yang diizinkan di halaman Embed pada panel Admin Looker dengan mengikuti langkah-langkah berikut:
Di kolom Daftar yang Diizinkan untuk Domain yang Disematkan, masukkan domain tempat iframe digunakan, lalu tekan tombol Tab agar domain muncul dalam kotak di dalam kolom.
Klik Update.
Anda dapat menggunakan karakter pengganti * dalam daftar yang diizinkan untuk membuat pola domain. Misalnya, https://*.myownpersonaldomain.com akan mengizinkan https://analytics.myownpersonaldomain.com dan https://data.myownpersonaldomain.com.
Jika Anda menggunakan penyematan tanpa cookie dengan Looker 23.8 atau yang lebih baru, domain sematan dapat ditentukan saat sesi tanpa cookie diperoleh. Ini adalah alternatif untuk menambahkan domain sematan ke daftar yang diizinkan menggunakan panel Admin > Embed. Tinjau praktik terbaik keamanan jika Anda memutuskan untuk memanfaatkan fitur ini.
Mengambil data dari iframe
Setelah menyelesaikan langkah-langkah persiapan, Anda dapat mengakses peristiwa yang diteruskan antara iframe Looker dan domain Anda dengan memproses peristiwa postMessage.
Iframe tersemat dapat membuat beberapa jenis peristiwa, seperti yang dijelaskan di bagian Referensi jenis peristiwa di halaman ini.
Mengakses peristiwa di JavaScript
Berikut adalah contoh pemrosesan peristiwa ini di JavaScript, lalu mencatat peristiwa ke dalam log ke konsol:
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));
}
}
});
Berikut contoh pemrosesan peristiwa ini di jQuery, lalu mencatatnya ke konsol:
$(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));
}
}
});
Tabel ringkasan jenis peristiwa
Tabel berikut merangkum jenis peristiwa. Pilih jenis peristiwa untuk melihat detail tentang peristiwa tersebut.
| Jenis Peristiwa | Penyebab Peristiwa |
|---|---|
dashboard:loaded |
Di dasbor yang kartu-kartunya tidak disetel untuk berjalan otomatis, dasbor dan elemennya telah dimuat, tetapi kueri belum berjalan. |
dashboard:run:start |
Dasbor telah mulai dimuat, dan ubinnya telah mulai dimuat dan mengkueri data. |
dashboard:run:complete |
Dasbor telah selesai berjalan dan semua ubin telah selesai dimuat dan dikueri. |
dashboard:download |
PDF dasbor telah mulai didownload. |
dashboard:edit:start |
Ditambahkan di 22.20
Dasbor telah dialihkan ke mode edit. Peristiwa dashboard:save:complete akan diaktifkan saat dasbor berhasil disimpan. |
dashboard:edit:cancel |
Ditambahkan di 22.20 Dasbor yang berada dalam mode edit telah keluar dari mode edit tanpa menyimpan. |
dashboard:save:complete |
Dasbor telah diedit dan disimpan. |
dashboard:delete:complete |
Dasbor telah dihapus. |
dashboard:tile:start |
Kartu telah mulai memuat atau mengkueri data. |
dashboard:tile:complete |
Ubin telah selesai menjalankan kueri. |
dashboard:tile:download |
Data ubin telah mulai didownload. |
dashboard:tile:explore |
Pengguna telah mengklik opsi Explore From Here di kotak dasbor. |
dashboard:tile:merge |
Ditambahkan di 25.14 Pengguna telah mengklik tombol atau item menu Edit Kueri Gabungan. |
dashboard:tile:view |
Pengguna telah mengklik opsi View Original Look di ubin dasbor. |
dashboard:filters:changed |
Filter dasbor telah diterapkan atau diubah. |
look:ready |
Look telah mulai memuat data kueri, baik kueri akan dijalankan maupun tidak. |
look:run:start |
Look telah mulai memuat data kueri dan kueri telah mulai berjalan. |
look:run:complete |
Look telah selesai menjalankan kueri. |
look:edit:start |
Ditambahkan di 25.10
Look telah dialihkan ke mode edit. Peristiwa look:save:complete akan diaktifkan saat tampilan disimpan. |
look:edit:cancel |
Ditambahkan di 25.10 Look yang berada dalam mode edit telah keluar dari mode edit tanpa disimpan. |
look:save:complete |
Look telah diedit dan disimpan. |
look:delete:complete |
Look telah dipindahkan ke folder Sampah. |
drillmenu:click |
Pengguna telah mengklik menu perincian di dasbor yang dibuat dengan parameter LookML link. |
drillmodal:download |
Pengguna telah membuka dialog lihat perincian dari ubin dasbor dan mengklik opsi Download. |
drillmodal:explore |
Pengguna telah mengklik opsi Explore From Here dalam dialog perincian. |
explore:ready |
Eksplorasi telah mulai memuat data kueri, baik kueri akan berjalan maupun tidak. |
explore:run:start |
Eksplorasi telah mulai memuat data kueri dan kueri telah mulai berjalan. |
explore:run:complete |
Eksplorasi telah selesai menjalankan kueri. |
explore:state:changed |
URL halaman Eksplorasi telah berubah sebagai akibat dari tindakan pengguna. |
merge:ready |
Kueri penggabungan telah selesai memuat data kueri awal. |
merge:run:start |
Kueri penggabungan telah mulai berjalan. |
merge:run:complete |
Kueri penggabungan telah selesai menjalankan kueri. |
merge:run:fail |
Kueri penggabungan gagal dijalankan dan menampilkan error. |
page:changed |
Pengguna telah membuka halaman baru dalam iframe. |
page:properties:changed |
Tinggi iframe dasbor telah berubah. |
session:tokens |
Klien Looker memerlukan token untuk melanjutkan. |
session:expired |
Ditambahkan di 25.10 Sesi pengguna telah berakhir. |
session:status |
Mengirim informasi tentang status sesi. |
env:client:dialog |
Dialog telah dibuka dan mungkin sebagian tidak terlihat, seperti dialog perincian. Peristiwa ini memungkinkan aplikasi hosting men-scroll dialog ke tampilan. |
Referensi jenis peristiwa
Iframe tersemat dapat membuat berbagai jenis peristiwa:
dashboard:loaded
Di dasbor yang ubinnya tidak disetel untuk dijalankan otomatis, peristiwa ini dibuat setelah dasbor dan elemennya dimuat, tetapi sebelum kueri dijalankan.
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"
}
}
}
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
status |
String | Menunjukkan apakah dasbor dan elemennya telah berhasil dimuat. |
dashboard.id |
Angka/String | ID dasbor. |
dashboard.title |
String | Judul, seperti yang ditampilkan di bagian atas dasbor. |
dashboard.canEdit |
Boolean |
Ditambahkan di 22.20
Jika true, pengguna dapat mengedit dasbor. |
dashboard.dashboard_filters |
Objek | Filter yang diterapkan ke dasbor. Objek ini memiliki format: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
dashboard.absoluteUrl |
String | URL dasbor lengkap. |
dashboard.url |
String | URL dasbor relatif (hanya jalur). |
dashboard.options |
Objek | Properti dan nilai tata letak dasbor, komponen tata letak dasbor, dan elemen dasbor. Semua properti yang ditampilkan dalam objek options dapat diberi nilai yang diperbarui menggunakan peristiwa dashboard:options:set. |
dashboard:run:start
Peristiwa ini dibuat saat dasbor mulai dimuat, saat ubinnya akan mulai dimuat dan membuat kueri untuk data.
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"
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
dashboard.id |
Angka/String | ID dasbor. |
dashboard.title |
String | Judul, seperti yang ditampilkan di bagian atas dasbor. |
dashboard.canEdit |
Boolean |
Ditambahkan di 22.20
Jika true, pengguna dapat mengedit dasbor. |
dashboard.url |
String | URL dasbor relatif (hanya jalur). |
dashboard.absoluteUrl |
String | URL dasbor lengkap. |
dashboard.dashboard_filters |
Objek | Filter yang diterapkan ke dasbor. Objek ini memiliki format: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
dashboard:run:complete
Peristiwa ini dibuat saat dasbor selesai berjalan dan semua ubin selesai dimuat dan dikueri. Peristiwa ini dibuat terlepas dari apakah semua ubin berhasil dimuat atau tidak.
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"
}
}
}
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
status |
String | Menunjukkan apakah dasbor dan elemennya telah berhasil dijalankan. Jika dasbor dan elemennya berhasil dijalankan, status akan menampilkan "complete"; jika tidak, status akan menampilkan "error". Jika dasbor yang berjalan dihentikan, baik dari antarmuka pengguna maupun dengan tindakan dashboard:stop, status akan menampilkan "stopped". |
dashboard.id |
Angka/String | ID dasbor. |
dashboard.title |
String | Judul, seperti yang ditampilkan di bagian atas dasbor. |
dashboard.canEdit |
Boolean |
Ditambahkan di 22.20
Jika true, pengguna dapat mengedit dasbor. |
dashboard.url |
String | URL dasbor relatif (hanya jalur). |
dashboard.absoluteUrl |
String | URL dasbor lengkap. |
dashboard.dashboard_filters |
Objek | Filter yang diterapkan ke dasbor. Objek ini memiliki format: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
dashboard.options |
Objek | Properti dan nilai tata letak dasbor, komponen tata letak dasbor, dan elemen dasbor. Semua properti yang ditampilkan dalam objek options dapat diberi nilai yang diperbarui menggunakan tindakan dashboard:options:set. |
dashboard.tileStatuses |
Array objek | Array objek yang memberikan status ubin. Properti objek adalah:
|
dashboard:download
Peristiwa ini dibuat saat PDF dasbor mulai didownload.
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"
| Atribut | Format | Deskripsi |
|---|---|---|
dashboard.id |
Angka/String | ID dasbor. |
dashboard.title |
String | Judul, seperti yang ditampilkan di bagian atas dasbor. |
dashboard.canEdit |
Boolean |
Ditambahkan di 22.20
Jika true, pengguna dapat mengedit dasbor. |
dashboard.url |
String | URL dasbor relatif (hanya jalur). |
dashboard.absoluteUrl |
String | URL dasbor lengkap. |
dashboard.dashboard_filters |
Objek | Filter yang diterapkan ke dasbor. Objek ini memiliki format: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
fileFormat |
String | Format dasbor yang didownload (saat ini hanya "pdf"). |
dashboard:edit:start
Ditambahkan pada versi 22.20 Peristiwa ini dibuat saat dasbor beralih ke mode edit.
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"
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
dashboard.id |
Angka/String | ID dasbor. |
dashboard.title |
String | Judul, seperti yang ditampilkan di bagian atas dasbor. |
dashboard.canEdit |
Boolean |
Ditambahkan di 22.20
Jika true, pengguna dapat mengedit dasbor. |
dashboard.url |
String | URL dasbor relatif (hanya jalur). |
dashboard.absoluteUrl |
String | URL dasbor lengkap. |
dashboard.dashboard_filters |
Objek | Filter yang diterapkan ke dasbor. Objek ini memiliki format: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
dashboard:edit:cancel
Ditambahkan di 22.20 Peristiwa ini dibuat saat dasbor yang berada dalam mode edit keluar dari mode edit tanpa menyimpan.
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"
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
dashboard.id |
Angka/String | ID dasbor. |
dashboard.title |
String | Judul, seperti yang ditampilkan di bagian atas dasbor. |
dashboard.canEdit |
Boolean |
Ditambahkan di 22.20
Jika true, pengguna dapat mengedit dasbor. |
dashboard.url |
String | URL dasbor relatif (hanya jalur). |
dashboard.absoluteUrl |
String | URL dasbor lengkap. |
dashboard.dashboard_filters |
Objek | Filter yang diterapkan ke dasbor. Objek ini memiliki format: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
dashboard:save:complete
Peristiwa ini dibuat saat dasbor diedit, lalu disimpan.
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"
}
}
}
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
dashboard.id |
Angka/String | ID dasbor. |
dashboard.title |
String | Judul, seperti yang ditampilkan di bagian atas dasbor. |
dashboard.canEdit |
Boolean |
Ditambahkan di 22.20
Jika true, pengguna dapat mengedit dasbor. |
dashboard.dashboard_filters |
Objek | Filter yang diterapkan ke dasbor. Objek ini memiliki format: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
dashboard.absoluteUrl |
String | URL dasbor lengkap. |
dashboard.url |
String | URL dasbor relatif (hanya jalur). |
dashboard.options |
Objek | Properti dan nilai tata letak dasbor, komponen tata letak dasbor, dan elemen dasbor. Semua properti yang ditampilkan dalam objek options dapat diberi nilai yang diperbarui menggunakan peristiwa dashboard:options:set. |
dashboard:delete:complete
Peristiwa ini dibuat saat dasbor dihapus.
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"
}
}
}
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
dashboard.id |
Angka/String | ID dasbor. |
dashboard.title |
String | Judul, seperti yang ditampilkan di bagian atas dasbor. |
dashboard.canEdit |
Boolean |
Ditambahkan di 22.20
Jika true, pengguna dapat mengedit dasbor. |
dashboard.dashboard_filters |
Objek | Filter yang diterapkan ke dasbor. Objek ini memiliki format: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
dashboard.absoluteUrl |
String | URL dasbor lengkap. |
dashboard.url |
String | URL dasbor relatif (hanya jalur). |
dashboard.options |
Objek | Properti dan nilai tata letak dasbor, komponen tata letak dasbor, dan elemen dasbor. Semua properti yang ditampilkan dalam objek options dapat diberi nilai yang diperbarui menggunakan peristiwa dashboard:options:set. |
dashboard:tile:start
Peristiwa ini dibuat saat ubin mulai memuat atau mengkueri data.
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"
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
dashboard.id |
Angka/String | ID dasbor tempat kartu berada. |
dashboard.title |
String | Judul dasbor, seperti yang ditampilkan di bagian atas dasbor tempat kotak berada. |
dashboard.canEdit |
Boolean |
Ditambahkan di 22.20
Jika true, pengguna dapat mengedit dasbor. |
dashboard.url |
String | URL dasbor relatif (hanya jalur) tempat kotak berada. |
dashboard.absoluteUrl |
String | URL dasbor lengkap tempat kotak berada. |
dashboard.dashboard_filters |
Objek | Filter yang diterapkan ke dasbor tempat kotak berada. Objek ini memiliki format: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
tile.id |
Bilangan bulat | Nomor ID acara, bukan kartu. |
tile.title |
String | Judul kartu, seperti yang ditampilkan di bagian atas kartu. |
tile.listen |
Objek | Filter dasbor global yang dipantau oleh kartu ini. Objek ini memiliki format: {"Filter Label": "Filter Field", ...} |
dashboard:tile:complete
Peristiwa ini dibuat saat ubin selesai menjalankan kueri.
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"
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
dashboard.id |
Angka/String | ID dasbor tempat kartu berada. |
dashboard.title |
String | Judul dasbor, seperti yang ditampilkan di bagian atas dasbor tempat kotak berada. |
dashboard.canEdit |
Boolean |
Ditambahkan di 22.20
Jika true, pengguna dapat mengedit dasbor. |
dashboard.url |
String | URL dasbor relatif (hanya jalur) tempat kotak berada. |
dashboard.absoluteUrl |
String | URL dasbor lengkap tempat kotak berada. |
dashboard.dashboard_filters |
Objek | Filter yang diterapkan ke dasbor yang berisi kartu tersebut. Objek ini memiliki format: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
status |
String | Apakah kueri ubin berhasil diselesaikan. Nilai yang mungkin adalah "complete" atau "error". |
truncated |
Boolean | Apakah hasil kueri kartu dipotong karena kueri menampilkan lebih banyak baris daripada batas baris kueri. Batas baris dapat berupa batas baris yang ditentukan pengguna atau batas baris default Looker sebesar 5.000. |
tile.id |
Bilangan bulat | Nomor ID acara, bukan kartu. |
tile.title |
String | Judul kartu, seperti yang ditampilkan di bagian atas kartu. |
tile.listen |
Objek | Filter dasbor global yang dipantau oleh kartu ini. Objek ini memiliki format: {"Filter Label": "Filter Field", ...} |
tile.errors |
Array objek | Diisi saat properti status adalah "error". Array objek yang memberikan detail error, termasuk teks pesan error, deskripsi error yang lebih mendetail, dan kueri SQL ubin yang menghasilkan error. |
dashboard:tile:download
Peristiwa ini dibuat saat data ubin mulai didownload.
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"
| Atribut | Format | Deskripsi |
|---|---|---|
dashboard.id |
Angka/String | ID dasbor tempat kartu berada. |
dashboard.title |
String | Judul dasbor, seperti yang ditampilkan di bagian atas dasbor tempat kotak berada. |
dashboard.canEdit |
Boolean |
Ditambahkan di 22.20
Jika true, pengguna dapat mengedit dasbor. |
dashboard.url |
String | URL dasbor relatif (hanya jalur) tempat kotak berada. |
dashboard.absoluteUrl |
String | URL dasbor lengkap tempat kotak berada. |
dashboard.dashboard_filters |
Objek | Filter yang diterapkan ke dasbor tempat kotak berada. Objek ini memiliki format: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
tile.id |
Bilangan bulat | Nomor ID acara, bukan kartu. |
tile.title |
String | Judul kartu, seperti yang ditampilkan di bagian atas kartu. |
tile.listen |
Objek | Filter dasbor global yang dipantau oleh kartu ini. Objek ini memiliki format: {"Filter Label": "Filter Field", ...} |
fileFormat |
String | Format ubin yang didownload (saat ini hanya "pdf"). |
dashboard:tile:explore
Peristiwa ini dibuat saat pengguna mengklik opsi Explore From Here di tile dasbor.
Peristiwa ini dapat dibatalkan, yang berarti aplikasi penyematan dapat menampilkan {cancel: true} dan Looker tidak akan melanjutkan peristiwa pemicu.
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"
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
label |
String | Label tombol. |
url |
String | URL relatif (hanya jalur) Eksplorasi yang akan dilihat. |
dashboard.id |
Angka/String | ID dasbor tempat kartu berada. |
dashboard.title |
String | Judul dasbor, seperti yang ditampilkan di bagian atas dasbor tempat kotak berada. |
dashboard.canEdit |
Boolean |
Ditambahkan di 22.20
Jika true, pengguna dapat mengedit dasbor. |
dashboard.url |
String | URL dasbor relatif (hanya jalur) tempat kotak berada. |
dashboard.absoluteUrl |
String | URL dasbor lengkap tempat kotak berada. |
dashboard.dashboard_filters |
Objek | Filter yang diterapkan ke dasbor tempat kotak berada. Objek ini memiliki format: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
tile.id |
Bilangan bulat | Nomor ID acara, bukan kartu. |
tile.title |
String | Judul kartu, seperti yang ditampilkan di bagian atas kartu. |
tile.listen |
Objek | Filter dasbor global yang dipantau oleh kartu ini. Objek ini memiliki format: {"Filter Label": "Filter Field", ...} |
dashboard:tile:view
Peristiwa ini dibuat saat pengguna mengklik opsi View Original Look di ubin dasbor.
Peristiwa ini dapat dibatalkan, yang berarti aplikasi penyematan dapat menampilkan {cancel: true} dan Looker tidak akan melanjutkan peristiwa pemicu.
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"
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
label |
String | Label tombol. |
url |
String | URL relatif (hanya jalur) Look yang akan dilihat. |
dashboard.id |
Angka/String | ID dasbor tempat kartu berada. |
dashboard.title |
String | Judul dasbor, seperti yang ditampilkan di bagian atas dasbor tempat kotak berada. |
dashboard.canEdit |
Boolean |
Ditambahkan di 22.20
Jika true, pengguna dapat mengedit dasbor. |
dashboard.url |
String | URL dasbor relatif (hanya jalur) tempat kotak berada. |
dashboard.absoluteUrl |
String | URL dasbor lengkap tempat kotak berada. |
dashboard.dashboard_filters |
Objek | Filter yang diterapkan ke dasbor tempat kotak berada. Objek ini memiliki format: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
tile.id |
Bilangan bulat | Nomor ID acara, bukan kartu. |
tile.title |
String | Judul kartu, seperti yang ditampilkan di bagian atas kartu. |
tile.listen |
Objek | Filter dasbor global yang dipantau oleh kartu ini. Objek ini memiliki format: {"Filter Label": "Filter Field", ...} |
dashboard:tile:merge
Ditambahkan di 25.14 Peristiwa ini dihasilkan saat pengguna mengklik tombol Edit Merged Query atau item menu Edit Merged Query. Perilaku default untuk tombol ini adalah membuka jendela tingkat atas baru yang memungkinkan kueri penggabungan diedit.
Peristiwa ini dapat dibatalkan, yang berarti aplikasi penyematan dapat menampilkan {cancel: true} dan Looker tidak akan melanjutkan peristiwa pemicu. Peristiwa ini memungkinkan aplikasi penyematan membuka pengeditan kueri gabungan di iframe, bukan di jendela tingkat teratas. Aplikasi penyematan tidak boleh mencoba memuat URL di iframe yang memicu peristiwa. Sebagai gantinya, iframe baru harus dibuat.
javascript
type: dashboard:tile:merge,
label: 'Edit Merged Query',
dashboard_id: '13',
dashboard_modified: false,
tile_id: '218',
tile_title: 'Untitled',
url: '/embed/merge/edit?did=218&dbnx=1',
absoluteUrl: 'https://.../embed/merge/edit?did=218&dbnx=1',
target: '_blank',
| Atribut | Format | Deskripsi |
|---|---|---|
label |
string | Label tombol. |
dashboard_id |
string | ID dasbor tempat tile kueri gabungan berada. |
dashboard_modified |
boolean | Jika true, atribut ini menunjukkan bahwa dasbor telah diubah. Pembaruan pada dasbor dapat hilang jika pengeditan kueri gabungan dilanjutkan. Aplikasi penyematan dapat membatalkan pengeditan kueri penggabungan atau memperingatkan pengguna bahwa mereka mungkin memiliki perubahan yang belum disimpan jika melanjutkan. |
tile_id |
string | ID ubin kueri gabungan. |
tile_title |
string | Judul kartu. |
url |
string | URL kueri gabungan. Atribut ini dapat digunakan dengan embed SDK untuk membuat iframe baru untuk kueri gabungan. |
absoluteUrl |
string | URL lengkap kueri gabungan. Atribut ini dapat digunakan sebagai src elemen iframe. Atribut tambahan akan diperlukan. |
target |
string | ID yang akan digunakan untuk nama jendela yang akan dibuka. |
dashboard:filters:changed
Peristiwa ini dibuat saat filter dasbor telah diterapkan atau diubah.
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"
}
}
}
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
dashboard.id |
Angka/String | ID dasbor. |
dashboard.title |
String | Judul, seperti yang ditampilkan di bagian atas dasbor. |
dashboard.canEdit |
Boolean |
Ditambahkan di 22.20
Jika true, pengguna dapat mengedit dasbor. |
dashboard.url |
String | URL dasbor relatif (hanya jalur). |
dashboard.absoluteUrl |
String | URL dasbor lengkap. |
dashboard.dashboard_filters |
Objek | Filter yang diterapkan ke dasbor. Objek ini memiliki format: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
dashboard.options |
Objek | Properti dan nilai tata letak dasbor, komponen tata letak dasbor, dan elemen dasbor. Semua properti yang ditampilkan dalam objek options dapat diberi nilai yang diperbarui menggunakan peristiwa dashboard:options:set. |
look:ready
Peristiwa ini dibuat saat Look mulai memuat data kueri, baik kueri berjalan maupun tidak.
type: "look:ready",
look: {
url: "/embed/looks/...",
absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
}
| Atribut | Format | Deskripsi |
|---|---|---|
look.url |
String | URL Look relatif (hanya jalur) |
look.absoluteUrl |
String | URL Look lengkap |
look:run:start
Peristiwa ini dibuat saat Look mulai memuat data kueri dan kueri mulai berjalan.
type: "look:run:start",
look: {
url: "/embed/looks/...",
absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
}
| Atribut | Format | Deskripsi |
|---|---|---|
look.url |
String | URL Look relatif (hanya jalur) |
look.absoluteUrl |
String | URL Look lengkap |
look:run:complete
Peristiwa ini dibuat saat Look selesai menjalankan kueri.
type: look:run:complete
look: {
url: "/embed/looks/...",
absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
}
| Atribut | Format | Deskripsi |
|---|---|---|
look.url |
String | URL Look relatif (hanya jalur) |
look.absoluteUrl |
String | URL Look lengkap |
look:edit:start
Ditambahkan di 25.10 Peristiwa ini diaktifkan saat Look dialihkan ke mode edit.
type: "look:edit:start",
look: {
id: 46,
title: "My Look",
url: "/embed/looks/46",
absoluteUrl: "https://instance_name.looker.com/embed/looks/46",
}
| Atribut | Format | Deskripsi |
|---|---|---|
look.id |
String | ID Look. |
look.title |
String | Judul Look. |
url |
String | URL Look relatif (hanya jalur). |
absoluteUrl |
String | URL Look lengkap. |
look:edit:cancel
Ditambahkan pada 25.10 Peristiwa ini diaktifkan saat Look yang berada dalam mode edit keluar dari mode edit tanpa menyimpan.
type: "look:edit:cancel",
look: {
id: 46,
title: "My Look",
url: "/embed/looks/46",
absoluteUrl: "https://instance_name.looker.com/embed/looks/46",
}
| Atribut | Format | Deskripsi |
|---|---|---|
look.id |
String | ID Look. |
look.title |
String | Judul Look. |
url |
String | URL Look relatif (hanya jalur). |
absoluteUrl |
String | URL Look lengkap. |
look:save:complete
Peristiwa ini dibuat saat Look diedit dan disimpan. Peristiwa ini dibuat saat pengguna melakukan salah satu tugas berikut:
- Mengklik tombol Edit untuk mengedit Look, lalu mengklik Save
- Menyimpan Look dengan opsi menu Save > Save As…
- Memindahkan Look dari satu folder ke folder lain
Peristiwa ini tidak dibuat jika Look disimpan dengan opsi menu Save > To existing dashboard atau Edit Settings.
type: look:save:complete
look: {
url: "/embed/looks/...",
absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
folderid: 123
}
| Atribut | Format | Deskripsi |
|---|---|---|
look.url |
String | URL Look relatif (hanya jalur) |
look.absoluteUrl |
String | URL Look lengkap |
look.folderid |
Bilangan bulat | ID folder tempat Look disimpan |
look:delete:complete
Peristiwa ini dibuat saat Look dipindahkan ke folder Trash.
type: look:delete:complete
look: {
url: "/embed/looks/...",
absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
}
| Atribut | Format | Deskripsi |
|---|---|---|
look.url |
String | URL Look relatif (hanya jalur) |
look.absoluteUrl |
String | URL Look lengkap |
drillmenu:click
Peristiwa ini dibuat saat pengguna mengklik menu perincian di dasbor yang dibuat dengan parameter LookML link. Misalnya, LookML berikut membuat menu perincian tempat pengguna dapat melihat data yang difilter menurut dimensi 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"
}
}
Jika filter state ditetapkan ke Illinois, peristiwa drillmenu:click akan menampilkan hal berikut ke host iframe:
type: "drillmenu:click",
label: "Filter by Illinois",
link_type: "url",
modal: false,
target: '_self',
url: "#filter::state=Illinois"
context: ' '
Peristiwa ini dapat dibatalkan, yang berarti aplikasi penyematan dapat menampilkan {cancel: true} dan Looker tidak akan melanjutkan peristiwa pemicu.
| Atribut | Format | Deskripsi |
|---|---|---|
label |
String | Label link seperti yang ditampilkan di menu penelusuran |
link_type |
String | Jenis objek di tujuan link |
modal |
Boolean | Apakah dialog perincian akan digunakan, bukan navigasi browser |
target |
String | _self jika tujuan link akan menggantikan iframe saat ini, _blank jika tujuan link akan membuka jendela baru |
url |
String | URL tujuan link |
context |
String | Atribut internal yang digunakan oleh beberapa jenis visualisasi |
Sandboxing iframe akan mencegah klik menu lihat perincian terbuka di jendela baru. Gunakan nilai sandbox ini di dalam tag iframe:
sandbox = "allow-same-origin allow-scripts"
drillmodal:download
Peristiwa ini dibuat saat pengguna membuka dialog lihat perincian dari ubin dasbor dan mengklik opsi 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"
}
| Atribut | Format | Deskripsi |
|---|---|---|
dashboard.id |
Angka/String | ID dasbor tempat kartu berada. |
dashboard.title |
String | Judul dasbor, seperti yang ditampilkan di bagian atas dasbor tempat kotak berada. |
dashboard.url |
String | URL dasbor relatif (hanya jalur) tempat kotak berada. |
dashboard.absoluteUrl |
String | URL dasbor lengkap tempat kotak berada. |
dashboard.dashboard_filters |
Objek | Filter yang diterapkan ke dasbor yang berisi kartu tersebut. Objek ini memiliki format: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
drillExploreUrl |
String | URL Eksplorasi relatif (hanya jalur) yang akan didownload. |
fileFormat |
String | Format file download data. |
drillmodal:explore
Peristiwa ini dibuat saat pengguna mengklik opsi Explore From Here dalam dialog perincian.
Peristiwa ini dapat dibatalkan, yang berarti aplikasi penyematan dapat menampilkan {cancel: true} dan Looker tidak akan melanjutkan peristiwa pemicu.
type: "drillmodal:explore",
label: "Explore From Here",
url: "/embed/explore/model/view..."
| Atribut | Format | Deskripsi |
|---|---|---|
label |
String | Label tombol seperti yang ditampilkan di menu perincian |
url |
String | URL Jelajah relatif (hanya jalur) yang akan dilihat |
explore:ready
Peristiwa ini dibuat saat Eksplorasi mulai memuat data kueri, baik kueri berjalan maupun tidak.
type: "explore:ready",
explore: {
url: "/embed/explore/...",
absoluteUrl: "https://instance_name.looker.com/embed/explore/...",
}
| Atribut | Format | Deskripsi |
|---|---|---|
explore.url |
String | URL Jelajahi relatif (hanya jalur) |
explore.absoluteUrl |
String | URL lengkap Eksplorasi |
explore:run:start
Peristiwa ini dibuat saat Eksplorasi mulai memuat data kueri dan kueri mulai berjalan.
type: "explore:run:start",
explore: {
url: "/embed/explore/...",
absoluteUrl: "https://instance_name.looker.com/embed/explore/...",
}
| Atribut | Format | Deskripsi |
|---|---|---|
explore.url |
String | URL Jelajahi relatif (hanya jalur) |
explore.absoluteUrl |
String | URL lengkap Eksplorasi |
explore:run:complete
Peristiwa ini dibuat saat Eksplorasi selesai menjalankan kueri.
type: "explore:run:complete",
explore: {
url: "/embed/explore/...",
absoluteUrl: "https://instance_name.looker.com/embed/explore/...",
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
explore.url |
String | URL Jelajahi relatif (hanya jalur) |
explore.absoluteUrl |
String | URL lengkap Eksplorasi |
explore:state:changed
Peristiwa ini dibuat saat URL halaman Eksplorasi berubah sebagai akibat dari tindakan pengguna.
type: "explore:state:changed",
explore: {
url: "/embed/explore/...",
absoluteUrl: "https://instance_name.looker.com/embed/explore/..."
}
| Atribut | Format | Deskripsi |
|---|---|---|
explore.url |
String | URL Jelajahi relatif (hanya jalur) |
explore.absoluteUrl |
String | URL lengkap Eksplorasi |
merge:ready
Peristiwa ini dibuat saat kueri penggabungan selesai memuat data kueri awal.
{
type: "merge:ready",
mergeQuery: {
id: "123",
client_id: "abc"
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
mergeQuery.id |
String | ID kueri penggabungan. |
mergeQuery.client_id |
String | Client ID kueri penggabungan. |
merge:run:start
Peristiwa ini dibuat saat kueri penggabungan mulai berjalan.
{
type: "merge:run:start",
mergeQuery: {
id: "123",
client_id: "abc"
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
mergeQuery.id |
String | ID kueri penggabungan. |
mergeQuery.client_id |
String | Client ID kueri penggabungan. |
merge:run:complete
Peristiwa ini dibuat saat kueri penggabungan selesai menjalankan kueri.
{
type: "merge:run:complete",
mergeQuery: {
id: "123",
client_id: "abc"
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
mergeQuery.id |
String | ID kueri penggabungan. |
mergeQuery.client_id |
String | Client ID kueri penggabungan. |
merge:run:fail
Peristiwa ini dibuat saat kueri penggabungan gagal dijalankan dan menampilkan error.
{
type: "merge:run:fail",
mergeQuery: {
id: "123",
client_id: "abc"
},
error: "Execution timeout"
}
| Atribut | Format | Deskripsi |
|---|---|---|
mergeQuery.id |
String | ID kueri penggabungan. |
mergeQuery.client_id |
String | Client ID kueri penggabungan. |
error |
String | Pesan error yang ditampilkan saat kueri penggabungan gagal dijalankan. |
page:changed
Peristiwa ini dibuat saat pengguna membuka halaman baru dalam iframe.
type: "page:changed",
page: {
type: "dashboard",
url: "/embed/dashboards/...",
absoluteUrl: "https://instance_name.looker.com/embed/dashboards/..."
}
| Atribut | Format | Deskripsi |
|---|---|---|
page.type |
String | Jenis halaman yang baru saja dibuka, seperti "dashboard", "look", atau "explore" |
page.url |
String | URL relatif (hanya jalur) halaman yang baru saja dibuka |
page.absoluteUrl |
String | URL lengkap halaman yang baru saja dibuka |
page:properties:changed
Peristiwa ini dibuat saat tinggi iframe dasbor berubah. Opsi ini tidak tersedia untuk Look atau Explore karena item tersebut otomatis menyesuaikan tingginya dengan ukuran iframe.
type: "page:properties:changed",
height: 1000
| Atribut | Format | Deskripsi |
|---|---|---|
height |
Bilangan bulat | Tinggi iframe dasbor dalam piksel |
session:tokens
Peristiwa ini menunjukkan bahwa klien Looker memerlukan token untuk melanjutkan. Peristiwa ini dibuat segera setelah pembuatan iframe dan secara berkala setelahnya selama durasi sesi.
{
"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
}
| Atribut | Format | Deskripsi |
|---|---|---|
authentication_token |
String | Token autentikasi. Disertakan saat iframe dibuat. Tidak disertakan dengan respons terhadap permintaan untuk membuat token atau jika sesi telah berakhir. |
authentication_token_ttl |
Angka | Time to live token autentikasi dalam detik. Disertakan saat iframe dibuat. Tidak disertakan dengan respons terhadap permintaan untuk membuat token atau jika sesi telah berakhir. |
api_token |
String | Token API. Tidak disertakan jika sesi telah berakhir. |
api_token_ttl |
Angka | Time to live token API dalam detik. Tidak disertakan jika sesi telah berakhir. |
navigation_token |
String | Token navigasi. Tidak disertakan jika sesi telah berakhir. |
navigation_token_ttl |
Angka | Time to live token navigasi dalam detik. Tidak disertakan jika sesi telah berakhir. |
session_references_token_ttl |
Angka | Time to live sesi dalam detik. Nilainya akan menjadi 0 jika sesi telah berakhir. Untuk memulihkan, aplikasi penyematan harus mendapatkan sesi baru. |
session:expired
Ditambahkan di 25.10 Peristiwa ini diaktifkan saat sesi pengguna sematan berakhir.
type: "session:expired",
Peristiwa ini tidak memiliki payload.
session:status
Peristiwa ini dibuat saat aplikasi Looker tersemat menangani permintaan token sesi.
{
"type": "session:status",
"session_ttl": 0,
"expired": true,
"interrupted": false
}
| Atribut | Format | Deskripsi |
|---|---|---|
session_ttl |
Angka | Time to live sesi dalam detik. |
expired |
Boolean | Jika true, menunjukkan sesi telah berakhir. |
interrupted |
Boolean | Jika true, menunjukkan bahwa permintaan token sesi tidak direspons. Hal ini dapat mengindikasikan bahwa server tidak tersedia untuk sementara. |
recoverable |
Boolean | Hanya diisi jika terganggu adalah true. Menunjukkan apakah sesi dapat dipulihkan atau tidak. Nilai false kemungkinan berarti ada masalah dengan aplikasi penyematan. |
env:client:dialog
Peristiwa ini dihasilkan saat dialog yang mungkin sebagian tidak terlihat, seperti dialog lihat perincian, telah dibuka. Peristiwa ini memungkinkan aplikasi hosting men-scroll dialog ke tampilan dengan tindakan env:host:scroll.
{
type: "env:client:dialog",
dialogType: 'drilling',
placement: 'cover',
open: true
}
| Atribut | Format | Deskripsi |
|---|---|---|
type |
String | env:client:dialog menunjukkan bahwa dialog telah dibuka atau ditutup. Hanya dialog lihat perincian yang didukung, tetapi dialog lain mungkin ditambahkan di masa mendatang. Mungkin bagian atas dialog perincian tidak terlihat karena dialog menutupi area pandang iframe. Peristiwa ini memungkinkan aplikasi host men-scroll bagian atas dialog ke tampilan. |
dialogType |
String | Jenis dialog. Hanya pembukaan atau penutupan jenis dialog "drilling" yang memicu peristiwa ini. |
placement |
String | Penempatan dialog. dialog jenis "drilling" selalu menggunakan placement "cover". |
open |
Boolean | Menunjukkan apakah dialog dibuka atau di-scroll. |
Membuat perubahan pada iframe
Setelah menyiapkan iframe untuk pengambilan data, Anda dapat membuat perubahan pada iframe dengan langkah-langkah berikut:
Menulis permintaan dalam JSON
Anda dapat membuat beberapa perubahan pada iframe, yang akan Anda kirimkan dalam bentuk JSON. Opsi yang tersedia dijelaskan di bagian Referensi tindakan di halaman ini. Jangan lupa untuk menggunakan JSON.stringify guna mengubah tindakan Anda menjadi JSON, seperti ini:
var my_request = JSON.stringify(
{
type: "dashboard:run"
}
);
Memposting permintaan ke properti contentWindow iframe
Terakhir, posting pesan Anda ke contentWindow iframe, seperti ini:
var my_iframe = document.getElementById("my_iframe_id");
my_iframe.contentWindow.postMessage(my_request, 'https://instance_name.looker.com');
Tabel ringkasan tindakan
Tabel berikut merangkum tindakan. Pilih tindakan untuk melihat detail tentang tindakan tersebut.
| Tindakan | Deskripsi Tindakan |
|---|---|
page:load |
Memuat halaman baru di iframe, menggantikan halaman yang ada. |
dashboard:load |
Memuat dasbor baru di iframe, menggantikan dasbor yang ada. |
dashboard:run |
Menjalankan dasbor di iframe. |
dashboard:edit |
Ditambahkan di 22.20 Mengalihkan dasbor ke mode edit. |
dashboard:filters:update |
Memperbarui filter dasbor yang ada di iframe. |
dashboard:options:set |
Menulis nilai baru ke tata letak dasbor dan properti elemen dasbor. |
dashboard:schedule_modal:open |
Membuka Penjadwal, yang memungkinkan pengguna mengirimkan konten Looker ke berbagai tujuan. |
dashboard:stop |
Menghentikan dasbor yang sedang berjalan atau memuat ulang data. |
look:run |
Menjalankan Look di iframe. |
look:filters:update |
Memperbarui filter Look yang ada di iframe. |
explore:run |
Menjalankan Eksplorasi di iframe. |
explore:filters:update |
Memperbarui atau menghapus filter Eksplorasi yang ada di iframe. |
merge:run |
Menjalankan kueri penggabungan di iframe. |
session:tokens:request |
Mengirim token sebagai respons terhadap peristiwa session:tokens:request. |
env:host:scroll |
Mengirim informasi tentang posisi scroll saat ini dari iframe host ke aplikasi Looker yang disematkan. |
Referensi tindakan
Berikut adalah tindakan yang tersedia yang dapat Anda posting ke iframe tersemat:
page:load
Gunakan tindakan ini untuk membuka konten baru dalam iframe, menggantikan konten yang ada. Tindakan ini mirip dengan tindakan dashboard:load, tetapi lebih fleksibel karena parameter tambahan dapat ditentukan dalam URL.
Ada perbedaan perilaku yang harus dipertimbangkan sebelum menggunakan page:load. dashboard:load akan mencegah navigasi terjadi jika dasbor saat ini sedang diedit. page:load tidak mencegah terjadinya navigasi. Aplikasi host dapat menentukan apakah dasbor atau Look sedang diedit dengan melacak dashboard:edit:start, look:edit:start, dan peristiwa akhir pengeditan yang sesuai. Oleh karena itu, sebaiknya gunakan SDK sematan. SDK sematan melacak apakah dasbor atau Look sedang diedit, sehingga koneksi dapat dikueri untuk melihat apakah konten sedang diedit sebelum navigasi.
{
type: 'page:load',
url: '/embed/dashboard/32?state=california,
pushHistory: false
}
| Atribut | Format | Deskripsi |
|---|---|---|
type |
String | Menggunakan jenis page:load menunjukkan bahwa Anda ingin memuat konten baru ke dalam iframe. |
url |
String | URL konten yang akan dimuat. |
pushHistory |
Boolean | Jika true, konten yang dimuat akan membuat entri histori penjelajahan baru, dan pengguna dapat menggunakan tombol kembali browser untuk kembali ke konten sebelumnya. Jika false, konten saat ini akan diganti dan navigasi browser tidak dapat digunakan untuk kembali ke konten tersebut. |
dashboard:load
Gunakan tindakan ini untuk memuat dasbor baru di iframe, menggantikan dasbor yang ada. Dasbor baru akan mulai menjalankan kueri seolah-olah halaman dasbor baru telah dibuka.
{
type: "dashboard:load",
id: "101",
pushHistory: false
}
| Atribut | Format | Deskripsi |
|---|---|---|
type |
String | Menggunakan jenis dashboard:load menunjukkan bahwa Anda ingin memuat dasbor baru ke dalam iframe. |
id |
String | ID dasbor yang akan dimuat. |
pushHistory |
Boolean | Jika true, dasbor yang dimuat akan membuat entri histori penjelajahan baru, dan pengguna dapat menggunakan tombol kembali browser untuk kembali ke dasbor sebelumnya. Jika false, dasbor saat ini akan diganti dan navigasi browser tidak dapat digunakan untuk kembali ke dasbor tersebut. |
dashboard:run
Gunakan tindakan ini untuk menjalankan dasbor di iframe. Tindakan ini sama dengan menekan tombol Run atau Reload Data di dasbor.
{
type: "dashboard:run"
}
| Atribut | Format | Deskripsi |
|---|---|---|
type |
String | Menggunakan jenis dashboard:run menunjukkan bahwa Anda ingin menjalankan dasbor. |
dashboard:edit
Ditambahkan di 22.20 Gunakan tindakan ini untuk mengalihkan dasbor yang ada di iframe ke mode edit. Tindakan ini sama dengan memilih Edit dashboard dari menu dasbor.
{
type: "dashboard:edit"
}
| Atribut | Format | Deskripsi |
|---|---|---|
type |
String | Menggunakan jenis dashboard:edit menunjukkan bahwa Anda ingin mengalihkan dasbor ke mode edit. |
dashboard:filters:update
Gunakan tindakan ini untuk memperbarui filter dasbor yang ada di iframe. Anda tidak dapat menambahkan filter baru ke dasbor menggunakan metode ini.
{
type: "dashboard:filters:update",
filters: {
"Sale date": "Last 28 days",
"Sale amount": "Greater than 100"
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
type |
String | Penggunaan jenis dashboard:filters:update menunjukkan bahwa Anda ingin memperbarui filter yang digunakan oleh dasbor. |
filters |
Objek | Filter baru yang ingin Anda terapkan ke dasbor. Objek ini memiliki format: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...} |
dashboard:options:set
Tindakan ini tersedia setelah peristiwa dashboard:run:complete terjadi.
Penyemat membuat pesan dan mengirimkannya ke iframe, tetapi dasbor tidak merespons hingga dashboard:run:complete terjadi. Tindakan dashboard:options:set menulis nilai baru ke properti tata letak dasbor dan elemen dasbor. Hanya properti yang telah ditampilkan dalam atribut options dari peristiwa dashboard:run:complete yang dapat diperbarui menggunakan dashboard:options:set. Setiap properti yang ditetapkan yang sebelumnya tidak ditampilkan oleh atribut options dari peristiwa dashboard:run:complete akan diabaikan.
{
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"
}
}
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
type |
String | Menggunakan jenis dashboard:options:set menunjukkan bahwa Anda ingin menulis nilai baru ke tata letak dasbor dan properti elemen dasbor. |
layouts |
Objek | Properti tata letak dasbor yang ditampilkan oleh atribut options dalam peristiwa dashboard:run:complete. Formatnya akan mirip dengan:
|
layouts.dashboard_layout_components |
Objek | Satu atau beberapa objek komponen tata letak dasbor yang ditampilkan oleh atribut options dalam peristiwa dashboard:run:complete. Formatnya akan mirip dengan:
|
elements |
Objek | Satu atau beberapa objek elemen dasbor yang ditampilkan oleh atribut options dalam peristiwa dashboard:run:complete. Formatnya akan mirip dengan:id: { title: "string", title_hidden: boolean, vis_config: { type: "string", title: "string" }} |
dashboard:schedule_modal:open
Gunakan tindakan ini untuk membuka Penjadwal, yang memungkinkan pengguna mengirimkan konten Looker ke berbagai tujuan.
{
type: "dashboard:schedule_modal:open"
}
| Atribut | Format | Deskripsi |
|---|---|---|
type |
String | Penggunaan jenis dashboard:schedule_modal:open menunjukkan bahwa Anda ingin membuka dialog Schedule. |
dashboard:stop
Gunakan tindakan ini untuk menghentikan dasbor yang sedang berjalan atau memuat ulang data. Tindakan ini sama dengan mengklik tombol Batal di dasbor. Dasbor yang dihentikan menggunakan dashboard:stop akan mengirimkan peristiwa dashboard:run:complete dengan status: ditetapkan ke "stopped".
{
type: "dashboard:stop"
}
| Atribut | Format | Deskripsi |
|---|---|---|
type |
String | Menggunakan jenis dashboard:stop menunjukkan bahwa Anda ingin menghentikan dasbor lari. |
look:run
Gunakan tindakan ini untuk menjalankan kueri yang menjadi dasar Look di iframe. Tindakan ini mirip dengan menekan tombol Run di Look, dengan pengecualian bahwa look:run selalu mengkueri database secara langsung dan tidak mengambil data dari cache Looker.
{
type: "look:run"
}
| Atribut | Format | Deskripsi |
|---|---|---|
type |
String | Menggunakan jenis look:run menunjukkan bahwa Anda ingin menjalankan Look. |
look:filters:update
Gunakan tindakan ini untuk memperbarui filter Look yang ada di iframe. Anda tidak dapat menambahkan filter baru ke Look menggunakan metode ini.
{
type: "look:filters:update",
filters: {
"orders.created_at": "90 days",
"products.department": "sweaters"
}
}
| Atribut | Format | Deskripsi |
|---|---|---|
type |
String | Menggunakan jenis look:filters:update menunjukkan bahwa Anda ingin memperbarui filter yang digunakan oleh Look. |
filters |
Objek | Filter baru yang ingin Anda terapkan ke Look. Objek ini memiliki format: {"view_name.field_name_1": "value 1", "view_name.field_name_1": "value 2", ...} |
explore:run
Gunakan tindakan ini untuk menjalankan Eksplorasi di iframe. Tindakan ini mirip dengan menekan tombol Run di Explore, dengan pengecualian bahwa explore:run selalu mengkueri database secara langsung dan tidak mengambil data dari cache Looker.
{
type: "explore:run"
}
| Atribut | Format | Deskripsi |
|---|---|---|
type |
String | Menggunakan jenis explore:run menunjukkan bahwa Anda ingin menjalankan Explore. |
explore:filters:update
Gunakan tindakan ini untuk memperbarui atau menghapus filter Explore yang ada di iframe. Menyertakan filter baru yang merujuk ke kolom yang valid akan menambahkan filter baru ke Explore.
{
type: "explore:filters:update",
filters: {
"orders.created_at": "90 days",
"orders.status": "complete"
}
deleteFilters: ["products.department"]
}
| Atribut | Format | Deskripsi |
|---|---|---|
type |
String | Menggunakan jenis explore:filters:update menunjukkan bahwa Anda ingin memperbarui filter yang digunakan oleh Explore. |
filters |
Objek | Filter baru yang ingin Anda terapkan ke Explore. Jika filters menyertakan filter yang tidak ada di Eksplorasi, tetapi merujuk ke kolom yang valid, filter tersebut akan ditambahkan ke Eksplorasi. Objek ini memiliki format {"view_name.field_name_1": "value 1", "view_name.field_name_1": "value 2", ...}. |
deleteFilters |
Array | Filter yang ada yang ingin Anda hapus dari Eksplorasi. Array memiliki format: ["view_name.field_name_1", "view_name.field_name_2", ...] |
merge:run
Gunakan tindakan ini untuk menjalankan kueri penggabungan di iframe.
{
type: "merge:run"
}
| Atribut | Format | Deskripsi |
|---|---|---|
type |
String | Menggunakan jenis merge:run menunjukkan bahwa Anda ingin menjalankan kueri penggabungan. |
session:tokens:request
Gunakan tindakan ini untuk mengirim token sebagai respons terhadap permintaan session:tokens:request.
{
type: "session:tokens:request",
}
| Atribut | Format | Deskripsi |
|---|---|---|
type |
String | Penggunaan jenis session:tokens:request menunjukkan bahwa Anda ingin mengirim token sebagai respons terhadap peristiwa session:tokens:request. |
env:host:scroll
Gunakan tindakan ini untuk mengirim informasi tentang posisi scroll saat ini dari iframe host ke aplikasi Looker tersemat.
{
type: "env:host:scroll",
offsetTop: 10,
offsetLeft: 10,
scrollX: 5,
scrollY: 5
}
| Atribut | Format | Deskripsi |
|---|---|---|
type |
String | Menggunakan jenis env:host:scroll menunjukkan bahwa Anda ingin mengirim informasi tentang posisi scroll saat ini dari iframe host ke aplikasi Looker tersemat. |
offsetTop |
Angka | Offset atas iframe. |
offsetLeft |
Angka | Offset kiri iframe. |
scrollX |
Angka | Posisi scrollX host aplikasi. |
scrollY |
Angka | Posisi scrollY host aplikasi. |