*/
'use strict';
-import _ from 'lodash'
+import _pick from 'lodash/pick'
+import _isEqual from 'lodash/isEqual'
+import _cloneDeep from 'lodash/cloneDeep'
import cc from 'change-case'
import alt from '../alt'
import UID from '../libraries/UniqueId'
import CatalogDataSource from '../sources/CatalogDataSource'
import ComposerAppStore from '../stores/ComposerAppStore'
import SelectionManager from '../libraries/SelectionManager'
-import ExportSelectorDialog from '../components/ExportSelectorDialog'
const defaults = {
catalogs: [],
const areCatalogItemsMetaDataEqual = function (a, b) {
const metaProps = ['id', 'name', 'short-name', 'description', 'vendor', 'version'];
- const aMetaData = _.pick(a, metaProps);
- const bMetaData = _.pick(b, metaProps);
- return _.isEqual(aMetaData, bMetaData);
+ const aMetaData = _pick(a, metaProps);
+ const bMetaData = _pick(b, metaProps);
+ return _isEqual(aMetaData, bMetaData);
};
function createItem (type) {
vnfd.uiState['instance-ref-count'] = instanceRefCount;
}
// create an instance of this vnfd to carry transient ui state properties
- const instance = _.cloneDeep(vnfd);
+ const instance = _cloneDeep(vnfd);
instance.uiState['member-vnf-index'] = d['member-vnf-index'];
instance['vnf-configuration'] = d['vnf-configuration'];
instance['start-by-default'] = d['start-by-default'];
ComposerAppActions.showError.defer({
errorMessage: 'Cannot edit NSD/VNFD with references to instantiated Network Services'
});
- return _.cloneDeep(d);
+ return _cloneDeep(d);
} else {
item.uiState.modified = modified;
requiresSave = true;
ComposerAppActions.showError.defer({
errorMessage: 'Cannot edit NSD/VNFD with references to instantiated Network Services'
});
- return _.cloneDeep(d);
+ return _cloneDeep(d);
} else {
itemDescriptor.model.uiState.modified = true;
this.addSnapshot(itemDescriptor.model);
duplicateSelectedCatalogItem() {
const item = this.getFirstSelectedCatalogItem();
if (item) {
- const newItem = _.cloneDeep(item);
+ const newItem = _cloneDeep(item);
newItem.name = newItem.name + ' Copy';
newItem.id = guid();
UID.assignUniqueId(newItem.uiState);
}
exportSelectedCatalogItems(draggedItem) {
- const onSelectFormat = (selectedFormat, event) => {
- this.setState({
- selectedFormat: selectedFormat
- });
- };
-
- const onSelectGrammar = (selectedGrammar, event) => {
- this.setState({
- selectedGrammar: selectedGrammar
- });
- }
-
-
- const onCancel = () => {
- this.resetSelectionState();
- ModalOverlayActions.hideModalOverlay();
- };
-
- const onDownload = (event) => {
+ // collect the selected items and delegate to the catalog package manager action creator
+ const selectedItems = this.getAllSelectedCatalogItems();
+ if (selectedItems.length) {
CatalogPackageManagerActions.downloadCatalogPackage.defer({
selectedItems: selectedItems,
- selectedFormat: this.selectedFormat,
- selectedGrammar: this.selectedGrammar
+ selectedFormat: 'mano',
+ selectedGrammar: 'osm'
});
this.resetSelectionState();
- ModalOverlayActions.hideModalOverlay();
- return;
- }
-
- if (draggedItem) {
- // if item is given make sure it is also selected
- //draggedItem.uiState.selected = true;
- SelectionManager.addSelection(draggedItem);
- this.updateCatalogItem(draggedItem);
- }
- // collect the selected items and delegate to the catalog package manager action creator
- const selectedItems = this.getAllSelectedCatalogItems();
- if (selectedItems.length) {
- CatalogDataStore.chooseExportFormat(onSelectFormat, onSelectGrammar, onDownload, onCancel);
}
}
-
- static chooseExportFormat(onSelectFormat, onSelectGrammar, onDownload, onCancel) {
- ModalOverlayActions.showModalOverlay.defer(
- <ExportSelectorDialog
- onSelectFormat={onSelectFormat}
- onSelectGrammar={onSelectGrammar}
- onCancel={onCancel}
- onDownload={onDownload}
- currentlySelectedFormat='mano'
- currentlySelectedGrammar='osm'
- />
- );
- }
-
}
export default alt.createStore(CatalogDataStore, 'CatalogDataStore');