Eventos JavaScript incorporados

Depois de criar uma incorporação, que pode ser feita de forma pública, particular, com incorporação assinada ou pela API, é possível interagir com esses iframes usando JavaScript. Você pode tornar sua página mais dinâmica com base no status do item incorporado e até mesmo fazer mudanças nele na sua página da Web.

O Looker não controla a ordem em que os navegadores enviam eventos para aplicativos da Web. Isso significa que a ordem dos eventos não é garantida em navegadores ou plataformas. Escreva o JavaScript de forma adequada para considerar o processamento de eventos de diferentes navegadores.

É possível usar o JavaScript de uma das seguintes maneiras para o conteúdo incorporado do Looker:

Preparação

Antes de interagir com o iframe incorporado, siga estas etapas:

Adicionar um ID ao iframe

Depois, ao recuperar dados do iframe, você vai precisar validar se as informações com que está trabalhando realmente vieram do iframe do Looker. Para facilitar, adicione um ID ao iframe, se ainda não tiver feito isso. No exemplo a seguir, você define o ID como looker adicionando id="looker" ao iframe:

<iframe id="looker" src="https://instance_name.looker.com/embed/dashboards/1"></iframe>

Adicionar o domínio de incorporação ao atributo src do iframe

No atributo src do iframe, inclua o domínio em que o iframe está sendo usado. No exemplo a seguir, é possível especificar myownpersonaldomain.com como o domínio adicionando ?embed_domain=https://myownpersonaldomain.com" ao final do URL no atributo src:

<iframe
  id="looker"
  src="https://instance_name.looker.com/embed/dashboards/1?embed_domain=https://myownpersonaldomain.com">
</iframe>

Se você estiver usando a incorporação assinada, adicione o embed_domain ao URL de incorporação.

Se você estiver usando o SDK de incorporação, adicione sdk=3 ao final do URL de incorporação. O parâmetro sdk=3 indica que o SDK está presente e que o Looker pode aproveitar os recursos adicionais que ele oferece, como transmitir eventos JavaScript entre o iframe do Looker e seu domínio. O SDK não pode adicionar esse parâmetro porque ele faz parte do URL assinado. Exemplo:

<iframe
  id="looker"
  src="https://instance_name.looker.com/embed/dashboards/1?embed_domain=https://myownpersonaldomain.com&sdk=2">
</iframe>

Como adicionar o domínio de incorporação à lista de permissões

Por fim, você precisa adicionar o domínio em que o iframe está sendo usado à lista de permissões na página Incorporar do painel Administrador do Looker seguindo estas etapas:

  1. No campo Lista de permissões de domínios incorporados, insira o domínio em que o iframe está sendo usado e pressione a tecla Tab para que o domínio apareça em uma caixa dentro do campo.

  2. Clique em Atualizar.

Você pode usar o caractere curinga * na lista de permissões para criar um padrão de domínio. Por exemplo, https://*.myownpersonaldomain.com permitiria https://analytics.myownpersonaldomain.com e https://data.myownpersonaldomain.com.

Se você estiver usando a incorporação sem cookies com o Looker 23.8 ou mais recente, o domínio de incorporação poderá ser especificado quando a sessão sem cookies for adquirida. Essa é uma alternativa para adicionar o domínio de incorporação à lista de permissões usando o painel Administrador > Incorporar. Leia as práticas recomendadas de segurança se decidir usar esse recurso.

Como recuperar dados do iframe

Depois de concluir as etapas de preparação, você pode acessar os eventos transmitidos entre o iframe do Looker e seu domínio detectando eventos postMessage.

O iframe incorporado pode criar alguns tipos de evento, conforme descrito na seção Referência de tipos de evento nesta página.

Como acessar eventos em JavaScript

Veja um exemplo de como detectar esses eventos em JavaScript e registrá-los no console:

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));
    }
  }
});

Veja um exemplo de como detectar esses eventos no jQuery e registrá-los no console:

$(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));
    }
  }
});

Tabela de resumo do tipo de evento

A tabela a seguir resume os tipos de evento. Selecione um tipo de evento para ver os detalhes dele.

Tipo de evento Causa do evento
dashboard:loaded Em painéis em que os blocos não estão configurados para execução automática, um painel e os elementos dele foram carregados, mas as consultas ainda não estão em execução.
dashboard:run:start Um painel começou a ser carregado, e os blocos dele começaram a ser carregados e a consultar dados.
dashboard:run:complete Um painel terminou de ser executado, e todos os blocos terminaram de carregar e consultar.
dashboard:download O download de um PDF de um painel foi iniciado.
dashboard:edit:start Adicionado na versão 22.20 Um painel foi alternado para o modo de edição. O evento dashboard:save:complete será acionado quando o painel for salvo.
dashboard:edit:cancel Adicionado na versão 22.20 Um painel que estava no modo de edição foi fechado sem salvar.
dashboard:save:complete Um painel foi editado e salvo.
dashboard:delete:complete Um painel foi excluído.
dashboard:tile:start Um bloco começou a carregar ou consultar dados.
dashboard:tile:complete Um bloco terminou de executar a consulta.
dashboard:tile:download O download dos dados de um bloco foi iniciado.
dashboard:tile:explore Um usuário clicou na opção Analisar a partir daqui em um bloco do painel.
dashboard:tile:merge Adicionado na versão 25.14 Um usuário clicou no botão ou item de menu "Editar consulta combinada".
dashboard:tile:view Um usuário clicou na opção Ver Look original em um bloco do painel.
dashboard:filters:changed Os filtros de um painel foram aplicados ou alterados.
look:ready Um Look começou a carregar dados de consulta, independentemente de a consulta ser executada ou não.
look:run:start Um Look começou a carregar dados de consulta, e a consulta começou a ser executada.
look:run:complete Um Look terminou de executar a consulta.
look:edit:start Adicionado na versão 25.10 Um Look foi alternado para o modo de edição. O evento look:save:complete será acionado quando o Look for salvo.
look:edit:cancel Adicionado na versão 25.10 Um Look que está no modo de edição foi fechado sem salvar.
look:save:complete Um Look foi editado e salvo.
look:delete:complete Um Look foi movido para a pasta Lixeira.
drillmenu:click Um usuário clicou em um menu de detalhamento em um painel criado com o parâmetro link do LookML.
drillmodal:download Um usuário abriu uma caixa de diálogo de detalhamento em um bloco do painel e clicou na opção Fazer download.
drillmodal:explore Um usuário clicou na opção Explorar daqui em uma caixa de diálogo de detalhamento.
explore:ready Uma Análise começou a carregar dados de consulta, independentemente de a consulta ser executada ou não.
explore:run:start Uma Análise começou a carregar dados de consulta, e a consulta começou a ser executada.
explore:run:complete Uma Análise terminou de executar a consulta.
explore:state:changed O URL de uma página de Análise detalhada foi alterado como resultado das ações do usuário.
merge:ready Uma consulta de mesclagem terminou de carregar os dados iniciais.
merge:run:start Uma consulta de mesclagem começou a ser executada.
merge:run:complete Uma consulta de mesclagem terminou de executar a consulta.
merge:run:fail Uma consulta de mesclagem não foi executada e retornou um erro.
page:changed Um usuário acessou uma nova página no iframe.
page:properties:changed A altura de um iframe do painel mudou.
session:tokens O cliente do Looker precisa de tokens para continuar.
session:expired Adicionado na versão 25.10 A sessão do usuário expirou.
session:status Envia informações sobre o status de uma sessão.
env:client:dialog Uma caixa de diálogo foi aberta e pode estar parcialmente fora de vista, como uma caixa de diálogo de detalhamento. Esse evento permite que o aplicativo hospedado role a caixa de diálogo para que ela fique visível.

Referência do tipo de evento

O iframe incorporado pode criar muitos tipos diferentes de eventos:

dashboard:loaded

Em painéis em que os blocos não estão configurados para execução automática, esse evento é criado depois que um painel e os elementos dele são carregados, mas antes que as consultas sejam executadas.


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"
        }
      }
    }
  }
}
Atributo Formatar Descrição
status String Indica se o painel e os elementos dele foram carregados.
dashboard.id Número/string O ID do painel.
dashboard.title String O título, conforme mostrado na parte de cima do painel.
dashboard.canEdit Booleano Adicionado na versão 22.20 Quando true, o usuário pode editar o painel.
dashboard.dashboard_filters Objeto Os filtros aplicados ao painel. Esse objeto tem o formato: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
dashboard.absoluteUrl String O URL completo do painel.
dashboard.url String O URL relativo do painel (apenas o caminho).
dashboard.options Objeto As propriedades e os valores de layout do dashboard, componente de layout do dashboard e elemento do dashboard. Todas as propriedades retornadas no objeto options podem receber valores atualizados usando o evento dashboard:options:set.

dashboard:run:start

Esse evento é criado quando um painel começa a ser carregado, quando os blocos começam a ser carregados e a consultar dados.

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"
  }
}
Atributo Formatar Descrição
dashboard.id Número/string O ID do painel.
dashboard.title String O título, conforme mostrado na parte de cima do painel.
dashboard.canEdit Booleano Adicionado na versão 22.20 Quando true, o usuário pode editar o painel.
dashboard.url String O URL relativo do painel (apenas o caminho).
dashboard.absoluteUrl String O URL completo do painel.
dashboard.dashboard_filters Objeto Os filtros aplicados ao painel. Esse objeto tem o formato: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...}

dashboard:run:complete

Esse evento é criado quando um painel termina de ser executado e todos os blocos terminam de carregar e consultar. Esse evento é criado mesmo que nem todos os blocos sejam carregados.

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"
        }
      }
    }
  }
}
Atributo Formatar Descrição
status String Indica se o painel e os elementos dele foram executados. Se o painel e os elementos dele forem executados, status vai retornar "complete". Caso contrário, status vai retornar "error". Se o painel em execução tiver sido interrompido, seja pela interface do usuário ou com a ação dashboard:stop, status vai retornar "stopped".
dashboard.id Número/string O ID do painel.
dashboard.title String O título, conforme mostrado na parte de cima do painel.
dashboard.canEdit Booleano Adicionado na versão 22.20 Quando true, o usuário pode editar o painel.
dashboard.url String O URL relativo do painel (apenas o caminho).
dashboard.absoluteUrl String O URL completo do painel.
dashboard.dashboard_filters Objeto Os filtros aplicados ao painel. Esse objeto tem o formato: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
dashboard.options Objeto As propriedades e os valores de layout do dashboard, componente de layout do dashboard e elemento do dashboard. Todas as propriedades retornadas no objeto options podem receber valores atualizados usando a ação dashboard:options:set.
dashboard.tileStatuses Matriz de objetos Uma matriz de objetos que fornecem status de blocos. As propriedades do objeto são:

  • tileId: o número de ID do bloco.
  • status: se a consulta de bloco foi executada com sucesso, status retorna "complete". Caso contrário, status retorna "error".
  • errors: preenchido quando a propriedade status é "error". Uma matriz de objetos que fornece detalhes do erro, incluindo o texto da mensagem de erro, uma descrição mais detalhada do erro e a consulta SQL do bloco que produziu o erro.

dashboard:download

Este evento é criado quando o download de um PDF de um painel é iniciado.

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"
Atributo Formatar Descrição
dashboard.id Número/string O ID do painel.
dashboard.title String O título, conforme mostrado na parte de cima do painel.
dashboard.canEdit Booleano Adicionado na versão 22.20 Quando true, o usuário pode editar o painel.
dashboard.url String O URL relativo do painel (apenas o caminho).
dashboard.absoluteUrl String O URL completo do painel.
dashboard.dashboard_filters Objeto Os filtros aplicados ao painel. Esse objeto tem o formato: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
fileFormat String O formato do painel baixado (somente "pdf" no momento).

dashboard:edit:start

Adicionado na versão 22.20 Esse evento é criado quando um painel é colocado no modo de edição.

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"
  }
}
Atributo Formatar Descrição
dashboard.id Número/string O ID do painel.
dashboard.title String O título, conforme mostrado na parte de cima do painel.
dashboard.canEdit Booleano Adicionado na versão 22.20 Quando true, o usuário pode editar o painel.
dashboard.url String O URL relativo do painel (apenas o caminho).
dashboard.absoluteUrl String O URL completo do painel.
dashboard.dashboard_filters Objeto Os filtros aplicados ao painel. Esse objeto tem o formato: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...}

dashboard:edit:cancel

Adicionado na versão 22.20 Esse evento é criado quando um painel que está no modo de edição é fechado sem salvar.

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"
  }
}
Atributo Formatar Descrição
dashboard.id Número/string O ID do painel.
dashboard.title String O título, conforme mostrado na parte de cima do painel.
dashboard.canEdit Booleano Adicionado na versão 22.20 Quando true, o usuário pode editar o painel.
dashboard.url String O URL relativo do painel (apenas o caminho).
dashboard.absoluteUrl String O URL completo do painel.
dashboard.dashboard_filters Objeto Os filtros aplicados ao painel. Esse objeto tem o formato: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...}

dashboard:save:complete

Esse evento é criado quando um painel é editado e salvo.

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"
        }
      }
    }
  }
}
Atributo Formatar Descrição
dashboard.id Número/string O ID do painel.
dashboard.title String O título, conforme mostrado na parte de cima do painel.
dashboard.canEdit Booleano Adicionado na versão 22.20 Quando true, o usuário pode editar o painel.
dashboard.dashboard_filters Objeto Os filtros aplicados ao painel. Esse objeto tem o formato: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
dashboard.absoluteUrl String O URL completo do painel.
dashboard.url String O URL relativo do painel (apenas o caminho).
dashboard.options Objeto As propriedades e os valores de layout do dashboard, componente de layout do dashboard e elemento do dashboard. Todas as propriedades retornadas no objeto options podem receber valores atualizados usando o evento dashboard:options:set.

dashboard:delete:complete

Esse evento é criado quando um painel é excluído.

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"
        }
      }
    }
  }
}
Atributo Formatar Descrição
dashboard.id Número/string O ID do painel.
dashboard.title String O título, conforme mostrado na parte de cima do painel.
dashboard.canEdit Booleano Adicionado na versão 22.20 Quando true, o usuário pode editar o painel.
dashboard.dashboard_filters Objeto Os filtros aplicados ao painel. Esse objeto tem o formato: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
dashboard.absoluteUrl String O URL completo do painel.
dashboard.url String O URL relativo do painel (apenas o caminho).
dashboard.options Objeto As propriedades e os valores de layout do dashboard, componente de layout do dashboard e elemento do dashboard. Todas as propriedades retornadas no objeto options podem receber valores atualizados usando o evento dashboard:options:set.

dashboard:tile:start

Esse evento é criado quando um bloco começa a carregar ou consultar dados.

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"
  }
}
Atributo Formatar Descrição
dashboard.id Número/string O ID do painel ao qual o bloco pertence.
dashboard.title String O título do painel, conforme mostrado na parte de cima do painel ao qual o bloco pertence.
dashboard.canEdit Booleano Adicionado na versão 22.20 Quando true, o usuário pode editar o painel.
dashboard.url String O URL relativo do dashboard (apenas o caminho) ao qual o bloco pertence.
dashboard.absoluteUrl String O URL completo do painel ao qual o bloco pertence.
dashboard.dashboard_filters Objeto Os filtros aplicados ao painel ao qual o bloco pertence. Esse objeto tem o formato: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
tile.id Inteiro O número de ID do evento, não o bloco.
tile.title String O título do bloco, conforme mostrado na parte de cima dele.
tile.listen Objeto Os filtros globais do painel que este bloco está monitorando. Esse objeto tem o formato: {"Filter Label": "Filter Field", ...}

dashboard:tile:complete

Esse evento é criado quando um bloco termina de executar a consulta.

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"
  }
}
Atributo Formatar Descrição
dashboard.id Número/string O ID do painel ao qual o bloco pertence.
dashboard.title String O título do painel, conforme mostrado na parte de cima do painel ao qual o bloco pertence.
dashboard.canEdit Booleano Adicionado na versão 22.20 Quando true, o usuário pode editar o painel.
dashboard.url String O URL relativo do dashboard (apenas o caminho) ao qual o bloco pertence.
dashboard.absoluteUrl String O URL completo do painel ao qual o bloco pertence.
dashboard.dashboard_filters Objeto Os filtros aplicados ao painel ao qual o bloco pertence. Esse objeto tem o formato: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
status String Se a consulta de bloco foi concluída. Os valores possíveis são "complete" ou "error".
truncated Booleano Se os resultados da consulta do bloco foram truncados porque a consulta retornou mais linhas do que o limite. O limite de linhas pode ser especificado pelo usuário ou o limite padrão do Looker de 5.000 linhas.
tile.id Inteiro O número de ID do evento, não o bloco.
tile.title String O título do bloco, conforme mostrado na parte de cima dele.
tile.listen Objeto Os filtros globais do painel que este bloco está monitorando. Esse objeto tem o formato: {"Filter Label": "Filter Field", ...}
tile.errors Matriz de objetos Preenchido quando a propriedade status é "error". Uma matriz de objetos que fornece detalhes do erro, incluindo o texto da mensagem de erro, uma descrição mais detalhada do erro e a consulta SQL do bloco que produziu o erro.

dashboard:tile:download

Esse evento é criado quando o download dos dados de um bloco é iniciado.

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"
Atributo Formatar Descrição
dashboard.id Número/string O ID do painel ao qual o bloco pertence.
dashboard.title String O título do painel, conforme mostrado na parte de cima do painel ao qual o bloco pertence.
dashboard.canEdit Booleano Adicionado na versão 22.20 Quando true, o usuário pode editar o painel.
dashboard.url String O URL relativo do dashboard (apenas o caminho) ao qual o bloco pertence.
dashboard.absoluteUrl String O URL completo do painel ao qual o bloco pertence.
dashboard.dashboard_filters Objeto Os filtros aplicados ao painel ao qual o bloco pertence. Esse objeto tem o formato: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
tile.id Inteiro O número de ID do evento, não o bloco.
tile.title String O título do bloco, conforme mostrado na parte de cima dele.
tile.listen Objeto Os filtros globais do painel que este bloco está monitorando. Esse objeto tem o formato: {"Filter Label": "Filter Field", ...}
fileFormat String O formato do bloco baixado (somente "pdf" no momento).

dashboard:tile:explore

Esse evento é criado quando um usuário clica na opção Analisar a partir daqui em um bloco do painel.

Esse evento pode ser cancelado, o que significa que o aplicativo de incorporação pode retornar {cancel: true} e o Looker não vai prosseguir com o evento de acionamento.

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"
  }
}
Atributo Formatar Descrição
label String O rótulo do botão.
url String O URL relativo (apenas o caminho) da Análise a ser visualizada.
dashboard.id Número/string O ID do painel ao qual o bloco pertence.
dashboard.title String O título do painel, conforme mostrado na parte de cima do painel ao qual o bloco pertence.
dashboard.canEdit Booleano Adicionado na versão 22.20 Quando true, o usuário pode editar o painel.
dashboard.url String O URL relativo do dashboard (apenas o caminho) ao qual o bloco pertence.
dashboard.absoluteUrl String O URL completo do painel ao qual o bloco pertence.
dashboard.dashboard_filters Objeto Os filtros aplicados ao painel ao qual o bloco pertence. Esse objeto tem o formato: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
tile.id Inteiro O número de ID do evento, não o bloco.
tile.title String O título do bloco, conforme mostrado na parte de cima dele.
tile.listen Objeto Os filtros globais do painel que este bloco está monitorando. Esse objeto tem o formato: {"Filter Label": "Filter Field", ...}

dashboard:tile:view

Esse evento é criado quando um usuário clica na opção Ver Look original em um bloco do painel.

Esse evento pode ser cancelado, o que significa que o aplicativo de incorporação pode retornar {cancel: true} e o Looker não vai prosseguir com o evento de acionamento.

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"
  }
}
Atributo Formatar Descrição
label String O rótulo do botão.
url String O URL relativo (apenas o caminho) do Look a ser visualizado.
dashboard.id Número/string O ID do painel ao qual o bloco pertence.
dashboard.title String O título do painel, conforme mostrado na parte de cima do painel ao qual o bloco pertence.
dashboard.canEdit Booleano Adicionado na versão 22.20 Quando true, o usuário pode editar o painel.
dashboard.url String O URL relativo do dashboard (apenas o caminho) ao qual o bloco pertence.
dashboard.absoluteUrl String O URL completo do painel ao qual o bloco pertence.
dashboard.dashboard_filters Objeto Os filtros aplicados ao painel ao qual o bloco pertence. Esse objeto tem o formato: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
tile.id Inteiro O número de ID do evento, não o bloco.
tile.title String O título do bloco, conforme mostrado na parte de cima dele.
tile.listen Objeto Os filtros globais do painel que este bloco está monitorando. Esse objeto tem o formato: {"Filter Label": "Filter Field", ...}

dashboard:tile:merge

Adicionado na versão 25.14 Esse evento é gerado quando o usuário clica no botão Editar consulta combinada ou no item de menu Editar consulta combinada. O comportamento padrão desse botão é abrir uma nova janela de nível superior que permite editar a consulta de mesclagem.

Esse evento pode ser cancelado, o que significa que o aplicativo de incorporação pode retornar {cancel: true} e o Looker não vai prosseguir com o evento de acionamento. Esse evento permite que o aplicativo de incorporação abra o editor de consultas de mesclagem em um iframe, em vez de uma janela de nível superior. O aplicativo de incorporação não deve tentar carregar o URL no iframe que acionou o evento. Em vez disso, um novo iframe precisa ser criado.

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',
Atributo Formatar Descrição
label string O rótulo do botão.
dashboard_id string O ID do painel ao qual o bloco de consulta mesclada pertence.
dashboard_modified booleano Quando true, esse atributo indica que o painel foi modificado. As atualizações do painel podem ser perdidas se a edição do editor de consultas de mesclagem continuar. O aplicativo de incorporação pode cancelar a edição do editor de consultas de mesclagem ou avisar o usuário que ele pode ter alterações não salvas se continuar.
tile_id string O ID do bloco de consulta mesclada.
tile_title string O título do bloco.
url string O URL da consulta mesclada. Esse atributo pode ser usado com o SDK de incorporação para criar um novo iframe para a consulta mesclada.
absoluteUrl string O URL completo da consulta mesclada. Esse atributo pode ser usado como o src do elemento iframe. Atributos adicionais serão necessários.
target string O ID a ser usado para o nome da janela que será aberta.

dashboard:filters:changed

Esse evento é criado quando os filtros de um painel são aplicados ou alterados.

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"
        }
      }
    }
  }
}
Atributo Formatar Descrição
dashboard.id Número/string O ID do painel.
dashboard.title String O título, conforme mostrado na parte de cima do painel.
dashboard.canEdit Booleano Adicionado na versão 22.20 Quando true, o usuário pode editar o painel.
dashboard.url String O URL relativo do painel (apenas o caminho).
dashboard.absoluteUrl String O URL completo do painel.
dashboard.dashboard_filters Objeto Os filtros aplicados ao painel. Esse objeto tem o formato: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
dashboard.options Objeto As propriedades e os valores de layout do dashboard, componente de layout do dashboard e elemento do dashboard. Todas as propriedades retornadas no objeto options podem receber valores atualizados usando o evento dashboard:options:set.

look:ready

Esse evento é criado quando um Look começa a carregar dados de consulta, independentemente de a consulta ser executada ou não.

type: "look:ready",
look: {
  url: "/embed/looks/...",
  absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
  }
Atributo Formatar Descrição
look.url String O URL relativo do Look (apenas o caminho)
look.absoluteUrl String O URL completo do Look

look:run:start

Esse evento é criado quando um Look começa a carregar dados de consulta e a consulta começa a ser executada.

type: "look:run:start",
look: {
  url: "/embed/looks/...",
  absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
  }
Atributo Formatar Descrição
look.url String O URL relativo do Look (apenas o caminho)
look.absoluteUrl String O URL completo do Look

look:run:complete

Esse evento é criado quando um Look termina de executar a consulta.

type: look:run:complete
look: {
  url: "/embed/looks/...",
  absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
  }
Atributo Formatar Descrição
look.url String O URL relativo do Look (apenas o caminho)
look.absoluteUrl String O URL completo do Look

look:edit:start

Adicionado na versão 25.10 Esse evento é acionado quando um Look é alternado para o modo de edição.

type: "look:edit:start",
look: {
  id: 46,
  title: "My Look",
  url: "/embed/looks/46",
  absoluteUrl: "https://instance_name.looker.com/embed/looks/46",
}
Atributo Formatar Descrição
look.id String O ID do Look.
look.title String O título do Look.
url String O URL relativo do Look (apenas o caminho).
absoluteUrl String O URL completo do Look.

look:edit:cancel

Adicionado na versão 25.10 Esse evento é acionado quando um Look que está no modo de edição é fechado sem salvar.

type: "look:edit:cancel",
look: {
  id: 46,
  title: "My Look",
  url: "/embed/looks/46",
  absoluteUrl: "https://instance_name.looker.com/embed/looks/46",
}
Atributo Formatar Descrição
look.id String O ID do Look.
look.title String O título do Look.
url String O URL relativo do Look (apenas o caminho).
absoluteUrl String O URL completo do Look.

look:save:complete

Esse evento é criado quando um Look é editado e salvo. Esse evento é criado quando um usuário realiza uma das seguintes tarefas:

Esse evento não será criado se o Look for salvo com a opção de menu Salvar > Em um dashboard ou Editar configurações.

type: look:save:complete
look: {
  url: "/embed/looks/...",
  absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
  folderid: 123
  }
Atributo Formatar Descrição
look.url String O URL relativo do Look (apenas o caminho)
look.absoluteUrl String O URL completo do Look
look.folderid Inteiro O ID da pasta em que o Look está armazenado

look:delete:complete

Esse evento é criado quando um Look é movido para a pasta Lixeira.

type: look:delete:complete
look: {
  url: "/embed/looks/...",
  absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
  }
Atributo Formatar Descrição
look.url String O URL relativo do Look (apenas o caminho)
look.absoluteUrl String O URL completo do Look

drillmenu:click

Esse evento é criado quando um usuário clica em um menu de detalhamento em um dashboard criado com o parâmetro LookML link. Por exemplo, o LookML a seguir cria um menu de detalhamento em que um usuário pode visualizar dados filtrados pela dimensão 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"
  }
}

Quando o filtro state é definido como Illinois, o evento drillmenu:click retorna o seguinte para o host do iframe:

type: "drillmenu:click",
label: "Filter by Illinois",
link_type: "url",
modal: false,
target: '_self',
url: "#filter::state=Illinois"
context: ' '

Esse evento pode ser cancelado, o que significa que o aplicativo de incorporação pode retornar {cancel: true} e o Looker não vai prosseguir com o evento de acionamento.

Atributo Formatar Descrição
label String O rótulo do link, conforme mostrado no menu de detalhamento
link_type String O tipo de objeto no destino do link
modal Booleano Se a caixa de diálogo de detalhamento será usada em vez da navegação do navegador
target String Será _self se o destino do link substituir o iframe atual e _blank se o destino do link abrir uma nova janela.
url String O URL do destino do link
context String Atributo interno usado por alguns tipos de visualizações

Colocar o iframe em sandbox impede que os cliques no menu de detalhamento abram em uma nova janela. Use estes valores de sandbox na tag de iframe:

sandbox = "allow-same-origin allow-scripts"

drillmodal:download

Esse evento é criado quando um usuário abre uma caixa de diálogo de detalhamento em um bloco do painel e clica na opção Fazer o 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"
}
Atributo Formatar Descrição
dashboard.id Número/string O ID do painel ao qual o bloco pertence.
dashboard.title String O título do painel, conforme mostrado na parte de cima do painel ao qual o bloco pertence.
dashboard.url String O URL relativo do dashboard (apenas o caminho) ao qual o bloco pertence.
dashboard.absoluteUrl String O URL completo do painel ao qual o bloco pertence.
dashboard.dashboard_filters Objeto Os filtros aplicados ao painel ao qual o bloco pertence. Esse objeto tem o formato: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
drillExploreUrl String O URL relativo da Análise (apenas o caminho) para download.
fileFormat String O formato do arquivo do download de dados.

drillmodal:explore

Esse evento é criado quando um usuário clica na opção Explorar daqui em uma caixa de diálogo de detalhamento.

Esse evento pode ser cancelado, o que significa que o aplicativo de incorporação pode retornar {cancel: true} e o Looker não vai prosseguir com o evento de acionamento.

type: "drillmodal:explore",
label: "Explore From Here",
url: "/embed/explore/model/view..."
Atributo Formatar Descrição
label String O rótulo do botão, conforme mostrado no menu de detalhamento
url String O URL relativo da Análise (apenas o caminho) a ser visualizado

explore:ready

Esse evento é criado quando uma Análise começa a carregar dados de consulta, independentemente de a consulta ser executada ou não.

type: "explore:ready",
explore: {
  url: "/embed/explore/...",
  absoluteUrl: "https://instance_name.looker.com/embed/explore/...",
  }
Atributo Formatar Descrição
explore.url String O URL relativo da Análise (apenas o caminho)
explore.absoluteUrl String O URL completo da Análise

explore:run:start

Esse evento é criado quando uma Análise começa a carregar dados de consulta e a consulta começa a ser executada.

type: "explore:run:start",
explore: {
  url: "/embed/explore/...",
  absoluteUrl: "https://instance_name.looker.com/embed/explore/...",
  }
Atributo Formatar Descrição
explore.url String O URL relativo da Análise (apenas o caminho)
explore.absoluteUrl String O URL completo da Análise

explore:run:complete

Esse evento é criado quando uma Análise termina de executar a consulta.

type: "explore:run:complete",
explore: {
  url: "/embed/explore/...",
  absoluteUrl: "https://instance_name.looker.com/embed/explore/...",
  }
}
Atributo Formatar Descrição
explore.url String O URL relativo da Análise (apenas o caminho)
explore.absoluteUrl String O URL completo da Análise

explore:state:changed

Esse evento é criado quando o URL de uma página da Análise detalhada muda como resultado das ações do usuário.

type: "explore:state:changed",
explore: {
  url: "/embed/explore/...",
  absoluteUrl: "https://instance_name.looker.com/embed/explore/..."
}
Atributo Formatar Descrição
explore.url String O URL relativo da Análise (apenas o caminho)
explore.absoluteUrl String O URL completo da Análise

merge:ready

Esse evento é criado quando uma consulta de mesclagem termina de carregar os dados iniciais da consulta.

{
  type: "merge:ready",
  mergeQuery: {
    id: "123",
    client_id: "abc"
  }
}
Atributo Formatar Descrição
mergeQuery.id String O ID da consulta de mesclagem.
mergeQuery.client_id String O ID do cliente da consulta de mesclagem.

merge:run:start

Esse evento é criado quando uma consulta de mesclagem começa a ser executada.

{
  type: "merge:run:start",
  mergeQuery: {
    id: "123",
    client_id: "abc"
  }
}
Atributo Formatar Descrição
mergeQuery.id String O ID da consulta de mesclagem.
mergeQuery.client_id String O ID do cliente da consulta de mesclagem.

merge:run:complete

Esse evento é criado quando uma consulta de mesclagem termina de executar a consulta.

{
  type: "merge:run:complete",
  mergeQuery: {
    id: "123",
    client_id: "abc"
  }
}
Atributo Formatar Descrição
mergeQuery.id String O ID da consulta de mesclagem.
mergeQuery.client_id String O ID do cliente da consulta de mesclagem.

merge:run:fail

Esse evento é criado quando uma consulta de mesclagem não é executada e retorna um erro.

{
  type: "merge:run:fail",
  mergeQuery: {
    id: "123",
    client_id: "abc"
  },
  error: "Execution timeout"
}
Atributo Formatar Descrição
mergeQuery.id String O ID da consulta de mesclagem.
mergeQuery.client_id String O ID do cliente da consulta de mesclagem.
error String A mensagem de erro retornada quando a consulta de mesclagem não é executada.

page:changed

Esse evento é criado quando um usuário navega para uma nova página no iframe.

type: "page:changed",
page: {
  type: "dashboard",
  url: "/embed/dashboards/...",
  absoluteUrl: "https://instance_name.looker.com/embed/dashboards/..."
}
Atributo Formatar Descrição
page.type String O tipo de página que acabou de ser acessada, como "dashboard", "look" ou "explore".
page.url String O URL relativo (apenas o caminho) da página que acabou de ser acessada
page.absoluteUrl String O URL completo da página que acabou de ser acessada.

page:properties:changed

Esse evento é criado quando a altura de um iframe do painel muda. Ela não está disponível para Looks ou Explores porque esses itens ajustam automaticamente a altura ao tamanho do iframe.

type: "page:properties:changed",
height: 1000
Atributo Formatar Descrição
height Inteiro A altura do iframe do painel em pixels

session:tokens

Esse evento indica que o cliente do Looker precisa de tokens para continuar. Esse evento é criado imediatamente após a criação do iframe e, depois, periodicamente durante a sessão.

{
  "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
}
Atributo Formatar Descrição
authentication_token String Token de autenticação. Incluído quando o iframe é criado. Não incluído em uma resposta a uma solicitação para gerar tokens ou se a sessão tiver expirado.
authentication_token_ttl Número Tempo de vida do token de autenticação em segundos. Incluído quando o iframe é criado. Não incluído em uma resposta a uma solicitação para gerar tokens ou se a sessão tiver expirado.
api_token String Token da API. Não será incluído se a sessão tiver expirado.
api_token_ttl Número Tempo de vida do token da API em segundos. Não será incluído se a sessão tiver expirado.
navigation_token String Token de navegação. Não será incluído se a sessão tiver expirado.
navigation_token_ttl Número Tempo de vida do token de navegação em segundos. Não será incluído se a sessão tiver expirado.
session_references_token_ttl Número Tempo de vida da sessão em segundos. O valor será 0 quando a sessão expirar. Para se recuperar, o aplicativo de incorporação precisa adquirir uma nova sessão.

session:expired

Adicionado na versão 25.10 Esse evento é acionado quando a sessão do usuário incorporado expira.

type: "session:expired",

Este evento não tem um payload.

session:status

O evento é gerado quando o aplicativo incorporado do Looker processa solicitações de tokens de sessão.

{
  "type": "session:status",
  "session_ttl": 0,
  "expired": true,
  "interrupted": false
}
Atributo Formatar Descrição
session_ttl Número Tempo de vida da sessão em segundos.
expired Booleano Quando true, indica que a sessão expirou.
interrupted Booleano Quando true, indica que uma solicitação de tokens de sessão não foi respondida. Isso pode indicar que um servidor está temporariamente indisponível.
recoverable Booleano Preenchido apenas quando interrompido é true. Indica se a sessão pode ser recuperada ou não. Um valor de false provavelmente significa que há um problema com o aplicativo de incorporação.

env:client:dialog

O evento é gerado quando uma caixa de diálogo é aberta e pode estar parcialmente fora de vista, como uma caixa de diálogo de detalhamento. Esse evento permite que o aplicativo hospedado role a caixa de diálogo para visualização com a ação env:host:scroll.

{
  type: "env:client:dialog",
  dialogType: 'drilling',
  placement: 'cover',
  open: true
}
Atributo Formatar Descrição
type String env:client:dialog indica que uma caixa de diálogo foi aberta ou fechada. Somente a caixa de diálogo de detalhamento é aceita, mas outras podem ser adicionadas no futuro. É possível que a parte de cima da caixa de diálogo de detalhamento não esteja visível, já que ela cobre a janela de visualização do iframe. Esse evento permite que o aplicativo host role a parte de cima da caixa de diálogo para que ela fique visível.
dialogType String O tipo de caixa de diálogo. Somente a abertura ou o fechamento do tipo de caixa de diálogo "detalhamento" aciona esse evento.
placement String O posicionamento da caixa de diálogo. As caixas de diálogo do tipo "drilling" sempre usam um placement de "cover".
open Booleano Indica se a caixa de diálogo foi aberta ou rolada.

Como fazer mudanças no iframe

Depois de preparar o iframe para a recuperação de dados, siga estas etapas para fazer mudanças nele:

  1. Escreva sua solicitação em JSON.
  2. Poste a solicitação no contentWindow do iframe.

Como escrever sua solicitação em JSON

É possível fazer várias alterações no iframe, que serão enviadas em formato JSON. As opções disponíveis estão descritas na seção Referência de ações nesta página. Não se esqueça de usar JSON.stringify para transformar sua ação em JSON, desta forma:

var my_request = JSON.stringify(
  {
    type: "dashboard:run"
  }
);

Postar a solicitação na propriedade contentWindow do iframe

Por fim, poste sua mensagem no contentWindow do iframe, desta forma:

var my_iframe = document.getElementById("my_iframe_id");

my_iframe.contentWindow.postMessage(my_request, 'https://instance_name.looker.com');

Tabela de resumo de ações

A tabela a seguir resume as ações. Selecione uma ação para conferir os detalhes dela.

Ação Descrição da ação
page:load Carrega uma nova página no iframe, substituindo a atual.
dashboard:load Carrega um novo painel no iframe, substituindo um painel atual.
dashboard:run Executa o painel no iframe.
dashboard:edit Adicionado na versão 22.20 Ativa o modo de edição no painel.
dashboard:filters:update Atualiza um filtro de painel no iframe.
dashboard:options:set Grava novos valores no layout do dashboard e nas propriedades do elemento do dashboard.
dashboard:schedule_modal:open Abre o Programador, que permite aos usuários enviar conteúdo do Looker para vários destinos.
dashboard:stop Interrompe um painel que está em execução ou recarregando dados.
look:run Executa o Look no iframe.
look:filters:update Atualiza um filtro de Look no iframe.
explore:run Executa a Análise no iframe.
explore:filters:update Atualiza ou remove um filtro de Análise no iframe.
merge:run Executa a consulta de mesclagem no iframe.
session:tokens:request Envia tokens em resposta a um evento session:tokens:request.
env:host:scroll Envia informações sobre a posição de rolagem atual do iframe do host para o aplicativo incorporado do Looker.

Referência de ação

Estas são as ações disponíveis que você pode postar no iframe incorporado:

page:load

Use essa ação para navegar até o novo conteúdo no iframe, substituindo o conteúdo atual. Essa ação é semelhante à dashboard:load, mas é mais flexível, já que parâmetros adicionais podem ser especificados no URL.

Há diferenças de comportamento que precisam ser consideradas antes de usar page:load. dashboard:load impede que a navegação aconteça se o painel atual estiver sendo editado. page:load não impede que a navegação aconteça. O aplicativo hospedado pode determinar se um dashboard ou Look está sendo editado rastreando dashboard:edit:start, look:edit:start e os eventos de fim de edição correspondentes. Por isso, recomendamos o uso do SDK de incorporação. O SDK de incorporação rastreia se um dashboard ou Look está sendo editado. Assim, a conexão pode ser consultada para verificar se o conteúdo está sendo editado antes da navegação.

{
    type: 'page:load',
    url: '/embed/dashboard/32?state=california,
    pushHistory: false
}
Atributo Formatar Descrição
type String O tipo page:load indica que você quer carregar um novo conteúdo no iframe.
url String O URL do conteúdo a ser carregado.
pushHistory Booleano Se for true, o conteúdo carregado vai criar uma nova entrada no histórico de navegação do navegador, e o usuário poderá usar o botão "botão "Voltar"" do navegador para retornar ao conteúdo anterior. Se for false, o conteúdo atual será substituído, e não será possível usar a navegação do navegador para voltar a ele.

dashboard:load

Use essa ação para carregar um novo painel no iframe, substituindo um painel atual. O novo painel vai começar a executar consultas como se uma nova página de painel tivesse sido aberta.

{
  type: "dashboard:load",
  id: "101",
  pushHistory: false
}
Atributo Formatar Descrição
type String O tipo dashboard:load indica que você quer carregar um novo painel no iframe.
id String O ID do painel a ser carregado.
pushHistory Booleano Se for true, o painel carregado vai criar uma nova entrada no histórico de navegação, e o usuário poderá usar o botão "Voltar" do navegador para retornar ao painel anterior. Se for false, o painel atual será substituído, e a navegação do navegador não poderá ser usada para retornar a ele.

dashboard:run

Use essa ação para executar o painel no iframe. Essa é a mesma ação que clicar no botão Executar ou Atualizar dados no painel.

{
  type: "dashboard:run"
}
Atributo Formatar Descrição
type String O uso do tipo dashboard:run indica que você quer executar o painel.

dashboard:edit

Adicionado na versão 22.20 Use essa ação para alternar um painel no iframe para o modo de edição. Essa é a mesma ação que selecionar Editar dashboard no menu do dashboard.

{
  type: "dashboard:edit"
}
Atributo Formatar Descrição
type String O tipo dashboard:edit indica que você quer mudar o painel para o modo de edição.

dashboard:filters:update

Use essa ação para atualizar um filtro de painel no iframe. Não é possível adicionar um novo filtro ao painel usando esse método.

{
  type: "dashboard:filters:update",
  filters: {
    "Sale date": "Last 28 days",
    "Sale amount": "Greater than 100"
  }
}
Atributo Formatar Descrição
type String O tipo dashboard:filters:update indica que você quer atualizar os filtros usados pelo painel.
filters Objeto Os novos filtros que você quer aplicar ao painel. Esse objeto tem o formato: {"Filter name 1": "value 1", "Filter name 2": "value 2", ...}

dashboard:options:set

Essa ação fica disponível após o evento dashboard:run:complete.

O incorporador cria a mensagem e a envia para o iframe, mas o painel não responde até que dashboard:run:complete ocorra. A ação dashboard:options:set grava novos valores nas propriedades de layout e elemento do dashboard. Somente as propriedades que foram retornadas no atributo options do evento dashboard:run:complete podem ser atualizadas usando dashboard:options:set. As propriedades definidas que não foram retornadas anteriormente pelo atributo options do evento dashboard:run:complete são ignoradas.

{
  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"
      }
    }
  }
}
Atributo Formatar Descrição
type String O tipo dashboard:options:set indica que você quer gravar novos valores nas propriedades de layout e de elemento do dashboard.
layouts Objeto As propriedades de layout do painel retornadas pelo atributo options no evento dashboard:run:complete. Eles estarão em um formato semelhante a:

  • id: "string",
  • dashboard_id: "string",
  • type: "newspaper",
  • active: boolean,
  • column_width: number,
  • width: number
layouts.dashboard_layout_components Objeto Um ou mais objetos de componente de layout do painel retornados pelo atributo options no evento dashboard:run:complete. Eles estarão em um formato semelhante a:

  • id: "string",
  • dashboard_layout_id: "string",
  • dashboard_element_id: "string",
  • row: number,
  • column: number,
  • width: number,
  • height: number,
  • deleted: boolean,
elements Objeto Um ou mais objetos de elemento do dashboard retornados pelo atributo options no evento dashboard:run:complete. Eles estarão em um formato semelhante a:

id: {

  title: "string",

  title_hidden: boolean,

  vis_config: {

    type: "string", title: "string"

  }

}

dashboard:schedule_modal:open

Use essa ação para abrir o Programador, que permite aos usuários enviar conteúdo do Looker para vários destinos.

{
  type: "dashboard:schedule_modal:open"
}
Atributo Formatar Descrição
type String O tipo dashboard:schedule_modal:open indica que você quer abrir a caixa de diálogo Schedule.

dashboard:stop

Use essa ação para interromper um painel que está em execução ou recarregando dados. Essa é a mesma ação que clicar no botão Cancelar no painel. Um painel que é interrompido usando dashboard:stop envia um evento dashboard:run:complete com status: definido como "stopped".

{
  type: "dashboard:stop"
}
Atributo Formatar Descrição
type String O uso do tipo dashboard:stop indica que você quer interromper o painel em execução.

look:run

Use essa ação para executar a consulta em que o Look se baseia no iframe. Essa ação é semelhante a clicar no botão Executar no Look, mas o look:run sempre consulta o banco de dados diretamente e não recupera dados do cache do Looker.

{
  type: "look:run"
}
Atributo Formatar Descrição
type String O tipo look:run indica que você quer executar o Look.

look:filters:update

Use essa ação para atualizar um filtro do Look no iframe. Não é possível adicionar um novo filtro ao Look usando esse método.

{
  type: "look:filters:update",
  filters: {
    "orders.created_at": "90 days",
    "products.department": "sweaters"
  }
}
Atributo Formatar Descrição
type String O tipo look:filters:update indica que você quer atualizar os filtros usados pelo Look.
filters Objeto Os novos filtros que você quer aplicar ao Look. Esse objeto tem o formato: {"view_name.field_name_1": "value 1", "view_name.field_name_1": "value 2", ...}

explore:run

Use essa ação para executar a Análise no iframe. Essa ação é semelhante a clicar no botão Executar na Análise, mas o explore:run sempre consulta o banco de dados diretamente e não recupera dados do cache do Looker.

{
  type: "explore:run"
}
Atributo Formatar Descrição
type String O tipo explore:run indica que você quer executar a Análise.

explore:filters:update

Use essa ação para atualizar ou remover um filtro de Análise no iframe. Incluir um novo filtro que faça referência a um campo válido adicionará o novo filtro à Análise.

{
  type: "explore:filters:update",
  filters: {
    "orders.created_at": "90 days",
    "orders.status": "complete"
  }
  deleteFilters:  ["products.department"]
}
Atributo Formatar Descrição
type String O tipo explore:filters:update indica que você quer atualizar os filtros usados pela Análise.
filters Objeto Os novos filtros que você quer aplicar à Análise. Se filters incluir um filtro que não existe na Análise, mas que faz referência a um campo válido, esse filtro será adicionado à Análise. Esse objeto tem o formato {"view_name.field_name_1": "value 1", "view_name.field_name_1": "value 2", ...}.
deleteFilters Matriz Os filtros que você quer remover da Análise. A matriz tem o formato: ["view_name.field_name_1", "view_name.field_name_2", ...]

merge:run

Use essa ação para executar a consulta de mesclagem no iframe.

{
  type: "merge:run"
}
Atributo Formatar Descrição
type String O tipo merge:run indica que você quer executar a consulta de mesclagem.

session:tokens:request

Use essa ação para enviar tokens em resposta a uma solicitação session:tokens:request.

{
  type: "session:tokens:request",
}
Atributo Formatar Descrição
type String O tipo session:tokens:request indica que você quer enviar tokens em resposta a um evento session:tokens:request.

env:host:scroll

Use essa ação para enviar informações sobre a posição de rolagem atual do iframe do host para o aplicativo incorporado do Looker.

{
  type: "env:host:scroll",
  offsetTop: 10,
  offsetLeft: 10,
  scrollX: 5,
  scrollY: 5
}
Atributo Formatar Descrição
type String O uso do tipo env:host:scroll indica que você quer enviar informações sobre a posição de rolagem atual do iframe do host para o aplicativo incorporado do Looker.
offsetTop Número O deslocamento superior do iframe.
offsetLeft Número O deslocamento à esquerda do iframe.
scrollX Número A posição scrollX do host do aplicativo.
scrollY Número A posição scrollY do host do aplicativo.