<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to insert cells from a Qlik Sense table into an HTML table using mashup? in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/How-to-insert-cells-from-a-Qlik-Sense-table-into-an-HTML-table/m-p/2130482#M19346</link>
    <description>&lt;P&gt;It worked, thank you very much!&lt;/P&gt;</description>
    <pubDate>Fri, 20 Oct 2023 17:14:07 GMT</pubDate>
    <dc:creator>MarcosPauloSR1</dc:creator>
    <dc:date>2023-10-20T17:14:07Z</dc:date>
    <item>
      <title>How to insert cells from a Qlik Sense table into an HTML table using mashup?</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/How-to-insert-cells-from-a-Qlik-Sense-table-into-an-HTML-table/m-p/2117122#M19172</link>
      <description>&lt;P&gt;Good afternoon,&lt;/P&gt;
&lt;P&gt;I have a demand that consists of transforming an application into a mashup with HTML formatting. In this application there are several tables, I can search through the hypercube for the label row and the totalizing row, but I cannot search for the cells that contain detailed information, this is because the qDataPages object has an empty matrix. To try to get around this problem, I tried using the qlik.table API, but without success. Can anyone help me?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have a simple HTML page that returns the values of the label and totalizer lines correctly:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MarcosPauloSR_0-1694716394905.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/116344i2019809482EB9BA1/image-size/medium?v=v2&amp;amp;px=400" role="button" title="MarcosPauloSR_0-1694716394905.png" alt="MarcosPauloSR_0-1694716394905.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;But cell values do not appear in qDataPages object&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MarcosPauloSR_1-1694716485065.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/116346i7FE54772A5645DA9/image-size/medium?v=v2&amp;amp;px=400" role="button" title="MarcosPauloSR_1-1694716485065.png" alt="MarcosPauloSR_1-1694716485065.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;When I do a console.log() on the qlik.table object, it returns an empty object&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MarcosPauloSR_2-1694716577279.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/116347i1E3B7BF3704C4F03/image-size/medium?v=v2&amp;amp;px=400" role="button" title="MarcosPauloSR_2-1694716577279.png" alt="MarcosPauloSR_2-1694716577279.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My codes are the following:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;HTML:&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;&amp;lt;!doctype html&amp;gt;
&amp;lt;html&amp;gt;

&amp;lt;head&amp;gt;
	&amp;lt;meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"&amp;gt;
	&amp;lt;title&amp;gt;Qlik Sense Mashup&amp;lt;/title&amp;gt;
	&amp;lt;meta charset="utf-8"&amp;gt;
	&amp;lt;meta http-equiv="content-type" content="text/html; charset=UTF-8"&amp;gt;
	&amp;lt;meta name="HandheldFriendly" content="True"&amp;gt;
	&amp;lt;meta name="MobileOptimized" content="320"&amp;gt;
	&amp;lt;meta name="viewport"
		content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"&amp;gt;
	&amp;lt;meta name="apple-mobile-web-app-capable" content="yes"&amp;gt;
	&amp;lt;meta name="apple-mobile-web-app-status-bar-style" content="black"&amp;gt;
	&amp;lt;meta http-equiv="cleartype" content="on"&amp;gt;
	&amp;lt;link rel="stylesheet" href="../../resources/autogenerated/qlik-styles.css"&amp;gt;
	&amp;lt;link rel="stylesheet" href="WKF_Vendas_Veiculos.css"&amp;gt;

	&amp;lt;link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
		integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous"&amp;gt;
	&amp;lt;script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
		integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
		crossorigin="anonymous"&amp;gt;&amp;lt;/script&amp;gt;
	&amp;lt;script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
		integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
		crossorigin="anonymous"&amp;gt;&amp;lt;/script&amp;gt;
	&amp;lt;script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
		integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
		crossorigin="anonymous"&amp;gt;&amp;lt;/script&amp;gt;

	&amp;lt;script src="../../resources/assets/external/requirejs/require.js"&amp;gt;&amp;lt;/script&amp;gt;
	&amp;lt;script src="WKF_Vendas_Veiculos.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;

&amp;lt;body style="overflow: auto" ng-app&amp;gt;

	&amp;lt;!--
	&amp;lt;h2&amp;gt;Vendas de Veiculos Grupo Saga&amp;lt;/h2&amp;gt;
	&amp;lt;h4&amp;gt;Vendas Totais Grupo Saga&amp;lt;/h4&amp;gt;
	--&amp;gt;

	&amp;lt;h2&amp;gt;Total Sales&amp;lt;/h2&amp;gt;

	&amp;lt;table class="table table-sm fieldList" id="camposTabela"&amp;gt;
		&amp;lt;thead class="linhaTitulo"&amp;gt;

		&amp;lt;/thead&amp;gt;
		&amp;lt;tbody&amp;gt;
			&amp;lt;!--&amp;lt;tr class="rotulos" id="linhaTotal"&amp;gt;
				&amp;lt;th scope="col" id="totais"&amp;gt;TOTAL&amp;lt;/th&amp;gt;
				
			&amp;lt;/tr&amp;gt;
			 As linhas serão adicionadas aqui dinamicamente --&amp;gt;

			&amp;lt;tr class="valoresTotais"&amp;gt;

			&amp;lt;/tr&amp;gt;

		&amp;lt;/tbody&amp;gt;
	&amp;lt;/table&amp;gt;

	&amp;lt;div class="flex-container"&amp;gt;

	&amp;lt;/div&amp;gt;

	&amp;lt;!--Error Popup--&amp;gt;
	&amp;lt;div id="popup"&amp;gt;
		&amp;lt;button type="button" class="close" data-dismiss="modal" aria-label="Close" id="closePopup"&amp;gt;&amp;lt;span
				aria-hidden="true"&amp;gt;×&amp;lt;/span&amp;gt;&amp;lt;/button&amp;gt;
		&amp;lt;p id="popupText"&amp;gt;&amp;lt;/p&amp;gt;
	&amp;lt;/div&amp;gt;



&amp;lt;/body&amp;gt;

&amp;lt;/html&amp;gt;&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Javascript&amp;amp;colon;&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;/*
 * Basic responsive mashup template
 * @owner Enter you name here (xxx)
 */
/*
 *    Fill in host and port for Qlik engine
 */
var prefix = window.location.pathname.substr(0, window.location.pathname.toLowerCase().lastIndexOf("/extensions") + 1);
var config = {
	host: window.location.hostname,
	prefix: prefix,
	port: window.location.port,
	isSecure: window.location.protocol === "https:"
};
require.config({
	baseUrl: (config.isSecure ? "https://" : "http://") + config.host + (config.port ? ":" + config.port : "") + config.prefix + "resources"
});

require(["js/qlik"], function (qlik) {
	qlik.setOnError(function (error) {
		$('#popupText').append(error.message + "&amp;lt;br&amp;gt;");
		$('#popup').fadeIn(1000);
	});
	$("#closePopup").click(function () {
		$('#popup').hide();
	});

	//callbacks -- inserted here --
	//open apps -- inserted here --
	var app = qlik.openApp('d65c8ecb-53f1-430a-af5b-a6727c97194e', config);

	app.getObject('nCnLLMm').then(function (dados) {
		console.log(dados)
		//Adicionando a primeira linha
		const tableHead = document.getElementById("camposTabela").getElementsByTagName('thead')[0];

		const row = tableHead.insertRow();
		const cell1 = row.insertCell();
		/*const cell2 = row.insertCell();*/
		document.createElement('tr');

		for (let column = 0; column &amp;lt;= dados.layout.qHyperCube.columnOrder.length; column++) {
			let colunas = document.createElement('th')
			colunas.textContent = dados.layout.qHyperCube.qMeasureInfo[column].qFallbackTitle
			row.insertCell().appendChild(colunas)[column];
		}

	});

	app.getObject('nCnLLMm').then(function (dados) {
		//Adicionando a linha de totais
		const totals = document.getElementById("camposTabela").getElementsByTagName('tbody')[0];

		console.log(qlik.table(this))

		const tamanho = dados.layout.qHyperCube.qGrandTotalRow.length
		//console.log(tamanho)

		const rowTotals = totals.insertRow();
		//const cell2 = rowTotals.insertCell()
		let colunaTotal = document.createElement('th');
		colunaTotal.textContent = "TOTAL";
		rowTotals.insertCell().appendChild(colunaTotal)[0]
		rowTotals.style.backgroundColor = "lightyellow";
		for (let column = 0; column &amp;lt; tamanho; column++) {
			let colunas = document.createElement('th')
			colunas.textContent = dados.layout.qHyperCube.qGrandTotalRow[column].qText
			rowTotals.insertCell().appendChild(colunas)[column];
		}

	});
	
	
});
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How to implement logic to get all cells from a table?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you very much in advance.&lt;/P&gt;</description>
      <pubDate>Thu, 14 Sep 2023 18:44:45 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/How-to-insert-cells-from-a-Qlik-Sense-table-into-an-HTML-table/m-p/2117122#M19172</guid>
      <dc:creator>MarcosPauloSR1</dc:creator>
      <dc:date>2023-09-14T18:44:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to insert cells from a Qlik Sense table into an HTML table using mashup?</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/How-to-insert-cells-from-a-Qlik-Sense-table-into-an-HTML-table/m-p/2124326#M19258</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/156932"&gt;@MarcosPauloSR1&lt;/a&gt;&amp;nbsp;, when you are getting an object you will not always get the data. For reading the hypercube behind an object you have to use getHyperCubeData from Engine APIs exposed from Capability APIs. Keep in mind that you can use current object layout for defining qWidth and qHeight. Please see an example below&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;app.getObject('QV01','PPpaS').then(function (viz) {
	const hyperCubeDef = {
		"qPath": "/qHyperCubeDef",
		"qPages": [
			{
				"qLeft": 0,
				"qTop": 0,
				"qWidth": 3,
				"qHeight": 10
			}
		]
	}
	viz.getHyperCubeData(hyperCubeDef).then(function (data) {
		console.log('data: ', data[0].qMatrix)
	})
});&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 02 Oct 2023 13:25:17 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/How-to-insert-cells-from-a-Qlik-Sense-table-into-an-HTML-table/m-p/2124326#M19258</guid>
      <dc:creator>alex_colombo</dc:creator>
      <dc:date>2023-10-02T13:25:17Z</dc:date>
    </item>
    <item>
      <title>Re: How to insert cells from a Qlik Sense table into an HTML table using mashup?</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/How-to-insert-cells-from-a-Qlik-Sense-table-into-an-HTML-table/m-p/2130482#M19346</link>
      <description>&lt;P&gt;It worked, thank you very much!&lt;/P&gt;</description>
      <pubDate>Fri, 20 Oct 2023 17:14:07 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/How-to-insert-cells-from-a-Qlik-Sense-table-into-an-HTML-table/m-p/2130482#M19346</guid>
      <dc:creator>MarcosPauloSR1</dc:creator>
      <dc:date>2023-10-20T17:14:07Z</dc:date>
    </item>
  </channel>
</rss>

