diff --git a/src/core_plugins/kibana/public/dashboard/saved_dashboard/saved_dashboards.js b/src/core_plugins/kibana/public/dashboard/saved_dashboard/saved_dashboards.js index 32cb9ea09ed77..a4563b71a26fa 100644 --- a/src/core_plugins/kibana/public/dashboard/saved_dashboard/saved_dashboards.js +++ b/src/core_plugins/kibana/public/dashboard/saved_dashboard/saved_dashboards.js @@ -21,6 +21,7 @@ import './saved_dashboard'; import { uiModules } from 'ui/modules'; import { SavedObjectLoader } from 'ui/courier/saved_object/saved_object_loader'; import { savedObjectManagementRegistry } from '../../management/saved_object_registry'; +import { SavedObjectsClientProvider } from 'ui/saved_objects'; const module = uiModules.get('app/dashboard'); @@ -32,6 +33,7 @@ savedObjectManagementRegistry.register({ }); // This is the only thing that gets injected into controllers -module.service('savedDashboards', function (SavedDashboard, kbnIndex, kbnUrl, $http, chrome) { - return new SavedObjectLoader(SavedDashboard, kbnIndex, kbnUrl, $http, chrome); +module.service('savedDashboards', function (Private, SavedDashboard, kbnIndex, kbnUrl, $http, chrome) { + const savedObjectClient = Private(SavedObjectsClientProvider); + return new SavedObjectLoader(SavedDashboard, kbnIndex, kbnUrl, $http, chrome, savedObjectClient); }); diff --git a/src/core_plugins/kibana/public/discover/saved_searches/saved_searches.js b/src/core_plugins/kibana/public/discover/saved_searches/saved_searches.js index 4705e25ab3aa9..b98bcaf020e02 100644 --- a/src/core_plugins/kibana/public/discover/saved_searches/saved_searches.js +++ b/src/core_plugins/kibana/public/discover/saved_searches/saved_searches.js @@ -22,6 +22,7 @@ import 'ui/notify'; import { uiModules } from 'ui/modules'; import { SavedObjectLoader } from 'ui/courier/saved_object/saved_object_loader'; import { savedObjectManagementRegistry } from '../../management/saved_object_registry'; +import { SavedObjectsClientProvider } from 'ui/saved_objects'; const module = uiModules.get('discover/saved_searches', [ 'kibana/notify' ]); @@ -33,8 +34,9 @@ savedObjectManagementRegistry.register({ title: 'searches' }); -module.service('savedSearches', function (Promise, config, kbnIndex, createNotifier, SavedSearch, kbnUrl, $http, chrome) { - const savedSearchLoader = new SavedObjectLoader(SavedSearch, kbnIndex, kbnUrl, $http, chrome); +module.service('savedSearches', function (Private, Promise, config, kbnIndex, createNotifier, SavedSearch, kbnUrl, $http, chrome) { + const savedObjectClient = Private(SavedObjectsClientProvider); + const savedSearchLoader = new SavedObjectLoader(SavedSearch, kbnIndex, kbnUrl, $http, chrome, savedObjectClient); // Customize loader properties since adding an 's' on type doesn't work for type 'search' . savedSearchLoader.loaderProperties = { name: 'searches', diff --git a/src/core_plugins/kibana/public/visualize/saved_visualizations/saved_visualizations.js b/src/core_plugins/kibana/public/visualize/saved_visualizations/saved_visualizations.js index 4d1735acfba31..5cd2ba1b683ed 100644 --- a/src/core_plugins/kibana/public/visualize/saved_visualizations/saved_visualizations.js +++ b/src/core_plugins/kibana/public/visualize/saved_visualizations/saved_visualizations.js @@ -22,6 +22,7 @@ import { VisTypesRegistryProvider } from 'ui/registry/vis_types'; import { uiModules } from 'ui/modules'; import { SavedObjectLoader } from 'ui/courier/saved_object/saved_object_loader'; import { savedObjectManagementRegistry } from '../../management/saved_object_registry'; +import { SavedObjectsClientProvider } from 'ui/saved_objects'; const app = uiModules.get('app/visualize'); @@ -35,7 +36,8 @@ savedObjectManagementRegistry.register({ app.service('savedVisualizations', function (Promise, kbnIndex, SavedVis, Private, kbnUrl, $http, chrome) { const visTypes = Private(VisTypesRegistryProvider); - const saveVisualizationLoader = new SavedObjectLoader(SavedVis, kbnIndex, kbnUrl, $http, chrome); + const savedObjectClient = Private(SavedObjectsClientProvider); + const saveVisualizationLoader = new SavedObjectLoader(SavedVis, kbnIndex, kbnUrl, $http, chrome, savedObjectClient); saveVisualizationLoader.mapHitSource = function (source, id) { source.id = id; diff --git a/src/core_plugins/timelion/public/services/saved_sheets.js b/src/core_plugins/timelion/public/services/saved_sheets.js index 612060670871b..05625ad9dfe93 100644 --- a/src/core_plugins/timelion/public/services/saved_sheets.js +++ b/src/core_plugins/timelion/public/services/saved_sheets.js @@ -19,6 +19,7 @@ import { SavedObjectLoader } from 'ui/courier/saved_object/saved_object_loader'; import { savedObjectManagementRegistry } from 'plugins/kibana/management/saved_object_registry'; +import { SavedObjectsClientProvider } from 'ui/saved_objects'; import { uiModules } from 'ui/modules'; import './_saved_sheet.js'; @@ -32,8 +33,9 @@ savedObjectManagementRegistry.register({ }); // This is the only thing that gets injected into controllers -module.service('savedSheets', function (Promise, SavedSheet, kbnIndex, kbnUrl, $http, chrome) { - const savedSheetLoader = new SavedObjectLoader(SavedSheet, kbnIndex, kbnUrl, $http, chrome); +module.service('savedSheets', function (Private, Promise, SavedSheet, kbnIndex, kbnUrl, $http, chrome) { + const savedObjectClient = Private(SavedObjectsClientProvider); + const savedSheetLoader = new SavedObjectLoader(SavedSheet, kbnIndex, kbnUrl, $http, chrome, savedObjectClient); savedSheetLoader.urlFor = function (id) { return kbnUrl.eval('#/{{id}}', { id: id }); }; diff --git a/src/ui/public/courier/saved_object/saved_object_loader.js b/src/ui/public/courier/saved_object/saved_object_loader.js index 7a6f2b27db931..c860fc0eaf336 100644 --- a/src/ui/public/courier/saved_object/saved_object_loader.js +++ b/src/ui/public/courier/saved_object/saved_object_loader.js @@ -19,10 +19,9 @@ import { Scanner } from '../../utils/scanner'; import { StringUtils } from '../../utils/string_utils'; -import { SavedObjectsClient } from '../../saved_objects'; export class SavedObjectLoader { - constructor(SavedObjectClass, kbnIndex, kbnUrl, $http, chrome) { + constructor(SavedObjectClass, kbnIndex, kbnUrl, $http, chrome, savedObjectClient) { this.type = SavedObjectClass.type; this.Class = SavedObjectClass; this.lowercaseType = this.type.toLowerCase(); @@ -41,9 +40,7 @@ export class SavedObjectLoader { nouns: `${ this.lowercaseType }s`, }; - this.savedObjectsClient = new SavedObjectsClient({ - $http - }); + this.savedObjectsClient = savedObjectClient; } /**