Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
_jespers_
Partner - Creator II
Partner - Creator II

Use external js-plugin in extension

I have an issue when trying to use a js-plugin (bootstrap-tour) inside my extension.

The way to initiate the js-plugin on a regular website would be like the following at it works fine:

var tour = new Tour({

  // Steps

]});

But when I import the plugin into the extension I'm not able to access the functionality in the same way.

define( [

        "qlik",

        "jquery",

        "text!./template.html",

        "./bootstrap-tour-standalone"

    ],

    function ( qlik, $, template, _bootstrapTour ) {

        return {

            template: template,

            support: {

                snapshot: true,

                export: true,

                exportData: false

            },

            paint: function ($element, layout) {

                return qlik.Promise.resolve();

            },

            controller: ['$scope', function ( $scope) {

                var tour = new Tour({

                  // Steps

                ]});

            }]

        };

    });

It throws the following error:

Skärmklipp.PNG

My guess is that it has something to do with this part of the code inside the plugin (I have remove a lot of code to give an easier overview):

(function(window, factory) {

  if (typeof define === 'function' && define.amd) {

    return define(['jquery'], function(jQuery) {

      return window.Tour = factory(jQuery);

    });

  } else if (typeof exports === 'object') {

    return module.exports = factory(require('jquery'));

  } else {

    return window.Tour = factory(window.jQuery);

  }

})(window, function($) {

  var Tour;

  Tour = (function() {

    function Tour(options) {}

    return Tour;

  })();

  return Tour;

});

Any idea what I need to do to be able to access the Tour object inside the plugin?


Regards

2 Replies
ErikWetterberg

Have you tried:

define( [ 

        "qlik"

        "jquery"

        "text!./template.html"

        "./bootstrap-tour-standalone" 

    ],  function ( qlik, $, template, Tour ) { 


Erik Wetterberg

_jespers_
Partner - Creator II
Partner - Creator II
Author

Yes, unfortunately I have tried that. But it gives a new error.

Skärmklipp.PNG

It seems like functions are being executed before I actually calls the init()-function.

Because if I compare to the regular website, that piece of code on row 2348 is only being executed after I call the init()-function:

tour.init()