'use strict'; /* *+------------------------------------------------------------------------+ *| Licensed Materials - Property of IBM *| IBM Cognos Products: Dashboard *| (C) Copyright IBM Corp. 2017 - 2018 *| *| US Government Users Restricted Rights - Use, duplication or disclosure *| restricted by GSA ADP Schedule Contract with IBM Corp. *+------------------------------------------------------------------------+ */ define(['../../lib/@waca/core-client/js/core-client/ui/core/Class', './modelmanagers/SourcesCollectionManager'], function (Class, SourcesCollectionManager) { 'use strict'; /** * INTENT: SourcesCollectionAPI provides a UI-Oriented interface to the list of sources. * It hides the implementation of the underlying model. */ var SourcesCollectionAPI = Class.extend({ /** * Contructor * @param {Object} options.dashboardApi The dashboard API * @param {Object} options.sourcesCollection The collection object from the boardModel */ init: function init(options) { SourcesCollectionAPI.inherited('init', this, arguments); var sourcesCollectionManager = new SourcesCollectionManager(options); // event APIa this.on = options.sourcesCollection.on.bind(options.sourcesCollection); this.off = options.sourcesCollection.off.bind(options.sourcesCollection); //DEFINE THE API.... this.getSource = sourcesCollectionManager.getSource.bind(sourcesCollectionManager); this.getSources = sourcesCollectionManager.getSources.bind(sourcesCollectionManager); this.addSource = options.sourcesCollection.addSource.bind(options.sourcesCollection); this.removeSource = sourcesCollectionManager.removeSource.bind(sourcesCollectionManager); this.destroy = options.sourcesCollection.destroy.bind(options.sourcesCollection); this.registerUsage = sourcesCollectionManager.registerUsage.bind(sourcesCollectionManager); this.deregisterUsage = sourcesCollectionManager.deregisterUsage.bind(sourcesCollectionManager); this.isSourceUsed = sourcesCollectionManager.isSourceUsed.bind(sourcesCollectionManager); this.usesSource = sourcesCollectionManager.usesSource.bind(sourcesCollectionManager); this.addSourcesForPin = sourcesCollectionManager.addSourcesForPin.bind(sourcesCollectionManager); this.getSourceIdsFromAssetId = sourcesCollectionManager.getSourceIdsFromAssetId.bind(sourcesCollectionManager); } }); return SourcesCollectionAPI; }); //# sourceMappingURL=SourcesCollectionAPI.js.map