Skip to content

Commit

Permalink
Use chrome to get access to Angular
Browse files Browse the repository at this point in the history
  • Loading branch information
Tim Roes committed Nov 30, 2017
1 parent ecba46c commit cafdda8
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 12 deletions.
3 changes: 3 additions & 0 deletions src/ui/public/visualize/__tests__/loader.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ import expect from 'expect.js';
import ngMock from 'ng_mock';
import sinon from 'sinon';

import { setupAndTeardownInjectorStub } from 'test_utils/stub_get_active_injector';

import FixturesStubbedSearchSourceProvider from 'fixtures/stubbed_search_source';
import FixturesStubbedLogstashIndexPatternProvider from 'fixtures/stubbed_logstash_index_pattern';

Expand Down Expand Up @@ -79,6 +81,7 @@ describe('visualize loader', () => {
id === 'exists' ? Promise.resolve(mockedSavedObject) : Promise.reject()
);
}));
setupAndTeardownInjectorStub();
beforeEach(async () => {
loader = await getVisualizeLoader();
});
Expand Down
17 changes: 5 additions & 12 deletions src/ui/public/visualize/loader.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* are up to date.
*/
import angular from 'angular';
import uiRoutes from 'ui/routes';
import chrome from 'ui/chrome';
import 'ui/visualize';
import visTemplate from './loader_template.html';

Expand Down Expand Up @@ -156,22 +156,15 @@ const VisualizeLoaderProvider = ($compile, $rootScope, savedVisualizations) => {
};
};

// Setup the visualize loader via uiRoutes.addSetupWork and resolve this promise
// (that is also returned by getVisualizeLoader) once the the visualizeLoader
// could be created.
const visualizeLoaderPromise = new Promise((resolve) => {
uiRoutes.addSetupWork((Private) => {
const visualizeLoader = Private(VisualizeLoaderProvider);
resolve(visualizeLoader);
});
});

/**
* Returns a promise, that resolves with the visualize loader, once it's ready.
* @return {Promise} A promise, that resolves to the visualize loader.
*/
function getVisualizeLoader() {
return visualizeLoaderPromise;
return chrome.dangerouslyGetActiveInjector().then($injector => {
const Private = $injector.get('Private');
return Private(VisualizeLoaderProvider);
});
}

export { getVisualizeLoader, VisualizeLoaderProvider, EmbeddedVisualizeHandler };

0 comments on commit cafdda8

Please sign in to comment.