12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- 'use strict';
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
- define(['jquery', 'underscore'], function ($, _) {
- var SDK_REQUIRE_CONTEXT = 'Dashboard.VidaSdkUtil';
-
- var rjs = requirejs;
-
- var cleanupRequireContext = function cleanupRequireContext() {
- delete rjs.s.contexts[SDK_REQUIRE_CONTEXT];
- $('[data-requirecontext="' + SDK_REQUIRE_CONTEXT + '"]').remove();
- };
- return function () {
- function VidaSdkUtil() {
- _classCallCheck(this, VidaSdkUtil);
- }
- VidaSdkUtil.isSDKActive = function isSDKActive(dashboardApi) {
- var visDefinitions = dashboardApi.getFeature('VisDefinitions');
- var visPreview = visDefinitions.getById('visualizationPreview');
- var visualizationPreviewHasBeenLoaded = visPreview && !visPreview.getState().getError();
- var promise = void 0;
- if (visualizationPreviewHasBeenLoaded) {
-
-
- promise = new Promise(function (resolve, reject) {
- require(['com/ibm/vida/control/vida'], function (vida) {
-
-
- var globalRequireConifg = JSON.parse(JSON.stringify(rjs.s.contexts._.config));
- var minimalRequireConfig = {
- context: SDK_REQUIRE_CONTEXT,
- baseUrl: globalRequireConifg.baseUrl,
- urlArgs: 'v=' + Date.now(),
- paths: _.pick(globalRequireConifg.paths, 'text', vida.sdk.bundleLocation)
- };
- var req = require.config(minimalRequireConfig);
- var manifestPath = 'text!' + vida.sdk.bundleLocation + '/manifest.xml';
-
- req([manifestPath], function () {
- cleanupRequireContext();
- resolve();
- }, function (err) {
- cleanupRequireContext();
- reject(err);
- });
- }, reject);
- });
- } else {
-
- promise = Promise.race([
-
-
- visDefinitions.loadById('visualizationPreview'),
-
- new Promise(function (resolve, reject) {
- setTimeout(function () {
- reject(new Error('Failed to load test visualization'));
- }, 15000);
- })]);
- }
- return promise.then(function () {
- return true;
- }).catch(function () {
- return false;
- });
- };
- return VidaSdkUtil;
- }();
- });
|