<?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: Applying single filter for the whole page in Mashup in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/Applying-single-filter-for-the-whole-page-in-Mashup/m-p/1636104#M11593</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Take a look at this thread.&amp;nbsp; It explains how to create a list, which will allow you to define a callback function that will be called when the selection is changed.&amp;nbsp; In this callback function, just get the selected value and apply it to all of the apps.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.qlik.com/t5/Qlik-Sense-Integration/Qlik-Sense-Mashups-event-for-responding-to-selections/m-p/1314802" target="_blank"&gt;https://community.qlik.com/t5/Qlik-Sense-Integration/Qlik-Sense-Mashups-event-for-responding-to-selections/m-p/1314802&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 16 Oct 2019 13:20:15 GMT</pubDate>
    <dc:creator>rbartley</dc:creator>
    <dc:date>2019-10-16T13:20:15Z</dc:date>
    <item>
      <title>Applying single filter for the whole page in Mashup</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Applying-single-filter-for-the-whole-page-in-Mashup/m-p/1636002#M11589</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;I am trying to make my mashup with 3 applications get filtered by a single Filter from the primary application. I am pasting my JS code over here. It would be great if someone can help and let me know how i can solve it out.&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt;* Bootstrap-based responsive mashup&lt;BR /&gt;* @owner Enter you name here (xxx)&lt;BR /&gt;*/&lt;BR /&gt;/*&lt;BR /&gt;* Fill in host and port for Qlik engine&lt;BR /&gt;*/&lt;BR /&gt;var prefix = window.location.pathname.substr( 0, window.location.pathname.toLowerCase().lastIndexOf( "/extensions" ) + 1 );&lt;/P&gt;&lt;P&gt;var config = {&lt;BR /&gt;host: window.location.hostname,&lt;BR /&gt;prefix: prefix,&lt;BR /&gt;port: window.location.port,&lt;BR /&gt;isSecure: window.location.protocol === "https:"&lt;BR /&gt;};&lt;BR /&gt;//to avoid errors in workbench: you can remove this when you have added an app&lt;BR /&gt;var app;&lt;BR /&gt;require.config( {&lt;BR /&gt;baseUrl: (config.isSecure ? "https://" : "http://" ) + config.host + (config.port ? ":" + config.port : "" ) + config.prefix + "resources"&lt;BR /&gt;} );&lt;/P&gt;&lt;P&gt;//fixed navbar&lt;BR /&gt;/*window.onscroll = function() {myFunction()};&lt;/P&gt;&lt;P&gt;var navbar = document.getElementById("navbar");&lt;BR /&gt;var sticky = navbar.offsetTop;&lt;/P&gt;&lt;P&gt;function myFunction() {&lt;BR /&gt;if (window.pageYOffset &amp;gt;= sticky) {&lt;BR /&gt;navbar.classList.add("sticky")&lt;BR /&gt;} else {&lt;BR /&gt;navbar.classList.remove("sticky");&lt;BR /&gt;}&lt;BR /&gt;}*/&lt;BR /&gt;//fixed navbar end&lt;/P&gt;&lt;P&gt;require( ["js/qlik"], function ( qlik ) {&lt;/P&gt;&lt;P&gt;var control = false;&lt;BR /&gt;qlik.setOnError( function ( error ) {&lt;BR /&gt;$( '#popupText' ).append( error.message + "&amp;lt;br&amp;gt;" );&lt;BR /&gt;if ( !control ) {&lt;BR /&gt;control = true;&lt;BR /&gt;$( '#popup' ).delay( 1000 ).fadeIn( 1000 ).delay( 11000 ).fadeOut( 1000 );&lt;BR /&gt;}&lt;BR /&gt;} );&lt;BR /&gt;$( "#closePopup" ).click( function () {&lt;BR /&gt;$( '#popup' ).hide();&lt;BR /&gt;} );&lt;BR /&gt;if ( $( 'ul#qbmlist li' ).length === 0 ) {&lt;BR /&gt;$( '#qbmlist' ).append( "&amp;lt;li&amp;gt;&amp;lt;a href='#'&amp;gt;No bookmarks available&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;" );&lt;BR /&gt;}&lt;BR /&gt;//&lt;BR /&gt;//$( "body" ).css( "overflow: hidden;" );&lt;BR /&gt;//$('a[data-toggle="pill"]').on('shown.bs.tab', function (e) { qlik.resize();})&lt;BR /&gt;&lt;BR /&gt;var appSel = qlik.openApp('6f0ef960-1010-452a-88ed-4c039f303d32');&lt;BR /&gt;appSel.field('Unit').selectValues([{qText: "SKM"}], false, false);&lt;BR /&gt;var app1Sel = qlik.openApp('283737f2-0ab6-40a0-92f7-9b9debd48c64');&lt;BR /&gt;app1Sel.field('Unit_KPI').selectValues([{qText: "SKM"}], false, false);&lt;BR /&gt;var app2Sel = qlik.openApp('25c61faa-f3d5-4b2e-849a-a78259d79489');&lt;BR /&gt;app2Sel.field('COP Unit').selectValues([{qText: "SKM"}], false, false);&lt;BR /&gt;&lt;BR /&gt;function AppUi ( app ) {&lt;BR /&gt;var me = this;&lt;BR /&gt;this.app = app;&lt;BR /&gt;app.global.isPersonalMode( function ( reply ) {&lt;BR /&gt;me.isPersonalMode = reply.qReturn;&lt;BR /&gt;} );&lt;BR /&gt;app.getAppLayout( function ( layout ) {&lt;BR /&gt;$( "#title" ).html( layout.qTitle );&lt;BR /&gt;$( "#title" ).attr( "title", "Last reload:" + layout.qLastReloadTime.replace( /T/, ' ' ).replace( /Z/, ' ' ) );&lt;BR /&gt;//TODO: bootstrap tooltip ??&lt;BR /&gt;} );&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;app.getList( 'SelectionObject', function ( reply ) {&lt;BR /&gt;$( "[data-qcmd='back']" ).parent().toggleClass( 'disabled', reply.qSelectionObject.qBackCount &amp;lt; 1 );&lt;BR /&gt;$( "[data-qcmd='forward']" ).parent().toggleClass( 'disabled', reply.qSelectionObject.qForwardCount &amp;lt; 1 );&lt;BR /&gt;} );&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;app.getList( "BookmarkList", function ( reply ) {&lt;BR /&gt;var str = "";&lt;BR /&gt;reply.qBookmarkList.qItems.forEach( function ( value ) {&lt;BR /&gt;if ( value.qData.title ) {&lt;BR /&gt;str += '&amp;lt;li&amp;gt;&amp;lt;a data-id="' + value.qInfo.qId + '"&amp;gt;' + value.qData.title + '&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;';&lt;BR /&gt;}&lt;BR /&gt;} );&lt;BR /&gt;str += '&amp;lt;li&amp;gt;&amp;lt;a data-cmd="create"&amp;gt;Create&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;';&lt;BR /&gt;$( '#qbmlist' ).html( str ).find( 'a' ).on( 'click', function () {&lt;BR /&gt;var id = $( this ).data( 'id' );&lt;BR /&gt;if ( id ) {&lt;BR /&gt;app.bookmark.apply( id );&lt;BR /&gt;} else {&lt;BR /&gt;var cmd = $( this ).data( 'cmd' );&lt;BR /&gt;if ( cmd === "create" ) {&lt;BR /&gt;$( '#createBmModal' ).modal();&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;} );&lt;BR /&gt;} );&lt;BR /&gt;&lt;BR /&gt;$( "[data-qcmd]" ).on( 'click', function () {&lt;BR /&gt;var $element = $( this );&lt;BR /&gt;switch ( $element.data( 'qcmd' ) ) {&lt;BR /&gt;//app level commands&lt;BR /&gt;case 'clearAll':&lt;BR /&gt;app.clearAll();&lt;BR /&gt;break;&lt;BR /&gt;case 'back':&lt;BR /&gt;app.back();&lt;BR /&gt;break;&lt;BR /&gt;case 'forward':&lt;BR /&gt;app.forward();&lt;BR /&gt;break;&lt;BR /&gt;case 'lockAll':&lt;BR /&gt;app.lockAll();&lt;BR /&gt;break;&lt;BR /&gt;case 'unlockAll':&lt;BR /&gt;app.unlockAll();&lt;BR /&gt;break;&lt;BR /&gt;case 'createBm':&lt;BR /&gt;var title = $( "#bmtitle" ).val(), desc = $( "#bmdesc" ).val();&lt;BR /&gt;app.bookmark.create( title, desc );&lt;BR /&gt;$( '#createBmModal' ).modal( 'hide' );&lt;BR /&gt;break;&lt;BR /&gt;}&lt;BR /&gt;} );&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;//callbacks -- inserted here --&lt;/P&gt;&lt;P&gt;//open apps -- inserted here --&lt;BR /&gt;&lt;BR /&gt;var app = qlik.openApp('283737f2-0ab6-40a0-92f7-9b9debd48c64', config);&lt;BR /&gt;var app1 = qlik.openApp('6f0ef960-1010-452a-88ed-4c039f303d32', config);&lt;BR /&gt;var app2 = qlik.openApp('25c61faa-f3d5-4b2e-849a-a78259d79489', config);&lt;/P&gt;&lt;P&gt;//get objects -- inserted here --&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;app.getObject('CurrentSelections','CurrentSelections');&lt;BR /&gt;//app1.getObject('CurrentSelections1','CurrentSelections1');&lt;BR /&gt;&lt;BR /&gt;//container1 objects&lt;BR /&gt;app.getObject('QV100','kwDxNL');&lt;BR /&gt;app.getObject('QV101','trEmHrQ');&lt;BR /&gt;app.getObject('QV102','Faptk');&lt;BR /&gt;app.getObject('QV103','LUXLNYS');&lt;BR /&gt;app.getObject('QV104','EHmECjz');&lt;BR /&gt;app.getObject('QV105','PVSCDGh');&lt;BR /&gt;//container1 obj ends&lt;BR /&gt;&lt;BR /&gt;//container2 objects&lt;BR /&gt;app.getObject('QV106','qAPEHd');&lt;BR /&gt;app.getObject('QV107','Jtfwkr');&lt;BR /&gt;app.getObject('QV108','WsXGY');&lt;BR /&gt;//container2 obj ends&lt;BR /&gt;&lt;BR /&gt;//KPI objects&lt;BR /&gt;app.getObject('QV3','PUPXjLa');&lt;BR /&gt;app.getObject('QV4','uFHbv');&lt;BR /&gt;app.getObject('QV5','pEjTFd');&lt;BR /&gt;app.getObject('QV6','PexW');&lt;BR /&gt;app.getObject('QV7','mFRVM');&lt;BR /&gt;app.getObject('QV8','HWVPrYA');&lt;BR /&gt;app.getObject('QV9','faxmbRx');&lt;BR /&gt;app.getObject('QV010','UANpad');&lt;BR /&gt;//app.getObject('QV011','UqFpjcC');&lt;BR /&gt;//Kpi Objects ends&lt;BR /&gt;&lt;BR /&gt;//Operation Details&lt;BR /&gt;app.getObject('QV15','tDJpTX');&lt;BR /&gt;app.getObject('QV09','zPuJu');&lt;BR /&gt;&lt;BR /&gt;//Operation trends&lt;BR /&gt;app.getObject('QV04','wcWBJkP');//filter&lt;BR /&gt;app.getObject('QV03','hPeT');//filter&lt;BR /&gt;app.getObject('QV08','BXrkr');//locationwise&lt;BR /&gt;app.getObject('QV05','kezcjm');//monthwise&lt;BR /&gt;&lt;BR /&gt;//COP&lt;BR /&gt;app1.getObject('QV16','rKGMKp');&lt;BR /&gt;app1.getObject('QV17','LpPwWdB');&lt;BR /&gt;app1.getObject('QV18','CpLjbGY');&lt;BR /&gt;app1.getObject('QV19','pjbJuFa');&lt;BR /&gt;app1.getObject('QV24','8b99246c-4d76-46ff-973c-5d6ca2860942');&lt;BR /&gt;app1.getObject('QV25','28497fd1-e642-4ae0-8af1-3a870ffae3c8');&lt;BR /&gt;&lt;BR /&gt;//COP Trends&lt;BR /&gt;app1.getObject('QV20','mbZhmD');&lt;BR /&gt;app1.getObject('QV21','TaGKQt');&lt;BR /&gt;app1.getObject('QV22','mjqvh');&lt;BR /&gt;app1.getObject('QV23','UdAXjLj');&lt;BR /&gt;app1.getObject('QV26','utCJSA');&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;//Spendbase&lt;BR /&gt;app.getObject('QV14','ryqbdd');&lt;BR /&gt;app.getObject('QV13','FfAgHd');&lt;BR /&gt;app.getObject('QV12','NNLanRB');&lt;BR /&gt;app.getObject('QV11','heXwgG');&lt;BR /&gt;app.getObject('QV10','kfkam');&lt;BR /&gt;&lt;BR /&gt;//filter&lt;BR /&gt;app.getObject('QV02','xbmKYc');//month&lt;BR /&gt;app.getObject('QV01','nEpP');//year&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;//Commodity&lt;BR /&gt;app2.getObject('QV27','1c56796c-0516-4aae-9bea-1e84a228596f');&lt;BR /&gt;app2.getObject('QV28','39c35d1f-d9d2-47ba-9074-a0da619112c7');&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;//create cubes and lists -- inserted here --&lt;BR /&gt;&lt;BR /&gt;if ( app ) {&lt;BR /&gt;new AppUi( app );&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;var app1SelectionviaAPI=false;&lt;BR /&gt;var app2SelectionviaAPI=false;&lt;BR /&gt;var selState = app.selectionState( );&lt;BR /&gt;var listener = function() {&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;var selFields = selState.selections;&lt;BR /&gt;var cacheString="";&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;if (selFields!=null){&lt;BR /&gt;$.each(selFields, function(key, value) {&lt;BR /&gt;var valArray=[];&lt;BR /&gt;$.each(value.selectedValues, function(key,value){&lt;BR /&gt;valArray.push(value.qName);&lt;BR /&gt;})&lt;BR /&gt;cacheString=cacheString + '@' + value.fieldName +"~" + value.qSelected;&lt;BR /&gt;app1.field(value.fieldName).selectValues(valArray);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;});&lt;BR /&gt;localStorage.setItem("QlikFilter",cacheString);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;};&lt;BR /&gt;selState.OnData.bind( listener );&lt;BR /&gt;retrieveSelectionfromCache();&lt;BR /&gt;&lt;BR /&gt;function retrieveSelectionfromCache()&lt;BR /&gt;{&lt;BR /&gt;var cacheString= localStorage.getItem("QlikFilter");&lt;BR /&gt;if (cacheString!=null &amp;amp;&amp;amp; cacheString !=""){&lt;BR /&gt;app.clearAll();&lt;BR /&gt;var selFields=cacheString.split("@");&lt;BR /&gt;&lt;BR /&gt;$.each(selFields, function(key, value) {&lt;BR /&gt;if (value!=null &amp;amp;&amp;amp; value!=""){&lt;BR /&gt;var valArray=[];&lt;BR /&gt;var s = value.split("~");&lt;BR /&gt;var fieldName=s[0];&lt;BR /&gt;valArray = s[1].split(", ");&lt;BR /&gt;app.field(fieldName).selectValues(valArray);&lt;BR /&gt;}&lt;BR /&gt;});&lt;BR /&gt;}&lt;BR /&gt;else{&lt;BR /&gt;app.clearAll();&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;} );&lt;/P&gt;</description>
      <pubDate>Sat, 16 Nov 2024 04:22:11 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Applying-single-filter-for-the-whole-page-in-Mashup/m-p/1636002#M11589</guid>
      <dc:creator>garvit96</dc:creator>
      <dc:date>2024-11-16T04:22:11Z</dc:date>
    </item>
    <item>
      <title>Re: Applying single filter for the whole page in Mashup</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Applying-single-filter-for-the-whole-page-in-Mashup/m-p/1636104#M11593</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Take a look at this thread.&amp;nbsp; It explains how to create a list, which will allow you to define a callback function that will be called when the selection is changed.&amp;nbsp; In this callback function, just get the selected value and apply it to all of the apps.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.qlik.com/t5/Qlik-Sense-Integration/Qlik-Sense-Mashups-event-for-responding-to-selections/m-p/1314802" target="_blank"&gt;https://community.qlik.com/t5/Qlik-Sense-Integration/Qlik-Sense-Mashups-event-for-responding-to-selections/m-p/1314802&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Oct 2019 13:20:15 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Applying-single-filter-for-the-whole-page-in-Mashup/m-p/1636104#M11593</guid>
      <dc:creator>rbartley</dc:creator>
      <dc:date>2019-10-16T13:20:15Z</dc:date>
    </item>
  </channel>
</rss>

