summaryrefslogtreecommitdiffstats
path: root/openecomp-ui
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-ui')
-rw-r--r--openecomp-ui/package.json28
-rw-r--r--openecomp-ui/resources/scss/_common.scss11
-rw-r--r--openecomp-ui/resources/scss/_components.scss148
-rw-r--r--openecomp-ui/resources/scss/_modules.scss59
-rw-r--r--openecomp-ui/resources/scss/bootstrap.scss88
-rw-r--r--openecomp-ui/resources/scss/common/_base.scss57
-rw-r--r--openecomp-ui/resources/scss/common/_layout.scss62
-rw-r--r--openecomp-ui/resources/scss/common/_typography.scss101
-rw-r--r--openecomp-ui/resources/scss/common/_utils.scss381
-rw-r--r--openecomp-ui/resources/scss/common/_variables.scss12
-rw-r--r--openecomp-ui/resources/scss/components/_activityLog.scss173
-rw-r--r--openecomp-ui/resources/scss/components/_commitModal.scss17
-rw-r--r--openecomp-ui/resources/scss/components/_datepicker.scss222
-rw-r--r--openecomp-ui/resources/scss/components/_dropzone.scss53
-rw-r--r--openecomp-ui/resources/scss/components/_dualListBox.scss92
-rw-r--r--openecomp-ui/resources/scss/components/_expandableInput.scss107
-rw-r--r--openecomp-ui/resources/scss/components/_forms.scss132
-rw-r--r--openecomp-ui/resources/scss/components/_grid.scss114
-rw-r--r--openecomp-ui/resources/scss/components/_inputOptions.scss145
-rw-r--r--openecomp-ui/resources/scss/components/_listEditorView.scss284
-rw-r--r--openecomp-ui/resources/scss/components/_loader.scss312
-rw-r--r--openecomp-ui/resources/scss/components/_navigationSideBar.scss108
-rw-r--r--openecomp-ui/resources/scss/components/_notifications.scss35
-rw-r--r--openecomp-ui/resources/scss/components/_overlay.scss50
-rw-r--r--openecomp-ui/resources/scss/components/_progressBar.scss38
-rw-r--r--openecomp-ui/resources/scss/components/_selectActionTable.scss281
-rw-r--r--openecomp-ui/resources/scss/components/_sequenceDiagram.scss32
-rw-r--r--openecomp-ui/resources/scss/components/_submitErrorResponse.scss116
-rw-r--r--openecomp-ui/resources/scss/components/_toggleInput.scss119
-rw-r--r--openecomp-ui/resources/scss/components/_tree.scss105
-rw-r--r--openecomp-ui/resources/scss/components/_userNotifications.scss225
-rw-r--r--openecomp-ui/resources/scss/components/_validationForm.scss204
-rw-r--r--openecomp-ui/resources/scss/components/_versionController.scss513
-rw-r--r--openecomp-ui/resources/scss/components/_vnfBrowse.scss192
-rw-r--r--openecomp-ui/resources/scss/components/_vspDetailsVendorSelect.scss6
-rw-r--r--openecomp-ui/resources/scss/modules/_entitlementPools.scss58
-rw-r--r--openecomp-ui/resources/scss/modules/_featureGroup.scss69
-rw-r--r--openecomp-ui/resources/scss/modules/_licenseAgreement.scss42
-rw-r--r--openecomp-ui/resources/scss/modules/_licenseKeyGroup.scss49
-rw-r--r--openecomp-ui/resources/scss/modules/_licenseModel.scss85
-rw-r--r--openecomp-ui/resources/scss/modules/_licenseModelLimits.scss263
-rw-r--r--openecomp-ui/resources/scss/modules/_licenseModelOverview.scss902
-rw-r--r--openecomp-ui/resources/scss/modules/_mergeEditor.scss384
-rw-r--r--openecomp-ui/resources/scss/modules/_onboardingCatalog.scss118
-rw-r--r--openecomp-ui/resources/scss/modules/_permissions.scss101
-rw-r--r--openecomp-ui/resources/scss/modules/_revisions.scss102
-rw-r--r--openecomp-ui/resources/scss/modules/_softwareProductAttachmentPage.scss475
-rw-r--r--openecomp-ui/resources/scss/modules/_softwareProductComponentCompute.scss6
-rw-r--r--openecomp-ui/resources/scss/modules/_softwareProductComponentGeneral.scss20
-rw-r--r--openecomp-ui/resources/scss/modules/_softwareProductComponentImage.scss98
-rw-r--r--openecomp-ui/resources/scss/modules/_softwareProductComponentNetwork.scss136
-rw-r--r--openecomp-ui/resources/scss/modules/_softwareProductComponentProcessesPage.scss10
-rw-r--r--openecomp-ui/resources/scss/modules/_softwareProductCreatePage.scss40
-rw-r--r--openecomp-ui/resources/scss/modules/_softwareProductDependencies.scss55
-rw-r--r--openecomp-ui/resources/scss/modules/_softwareProductDeployment.scss76
-rw-r--r--openecomp-ui/resources/scss/modules/_softwareProductLandingPage.scss491
-rw-r--r--openecomp-ui/resources/scss/modules/_softwareProductProcessesPage.scss98
-rw-r--r--openecomp-ui/resources/scss/modules/_softwareproductComponentLoadBalancing.scss64
-rw-r--r--openecomp-ui/resources/scss/modules/_uploadScreen.scss52
-rw-r--r--openecomp-ui/resources/scss/modules/_versionsPage.scss689
-rw-r--r--openecomp-ui/resources/scss/modules/_vspComponentCompute.scss6
-rw-r--r--openecomp-ui/resources/scss/modules/_vspComponentMonitoring.scss38
-rw-r--r--openecomp-ui/resources/scss/modules/_vspComponentQuestionnaire.scss77
-rw-r--r--openecomp-ui/resources/scss/modules/_vspHeatSetup.scss550
-rw-r--r--openecomp-ui/resources/scss/modules/_workflows.scss38
-rw-r--r--openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogFilter.scss2
-rw-r--r--openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogHeader.scss62
-rw-r--r--openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogList.scss68
-rw-r--r--openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogTile.scss277
-rw-r--r--openecomp-ui/resources/scss/modules/onboardingCatalog/_createItemTile.scss138
-rw-r--r--openecomp-ui/resources/scss/modules/onboardingCatalog/_onboardHeader.scss60
-rw-r--r--openecomp-ui/resources/scss/modules/onboardingCatalog/_tile.scss24
-rw-r--r--openecomp-ui/resources/scss/modules/onboardingCatalog/_vendorPageHeader.scss38
-rw-r--r--openecomp-ui/resources/scss/modules/onboardingCatalog/_vendorTile.scss168
-rw-r--r--openecomp-ui/resources/scss/modules/onboardingCatalog/_vlmTile.scss8
-rw-r--r--openecomp-ui/resources/scss/modules/onboardingCatalog/_vspOverlay.scss145
-rw-r--r--openecomp-ui/resources/scss/onboarding.scss351
-rw-r--r--openecomp-ui/resources/scss/style.scss6
-rw-r--r--openecomp-ui/src/nfvo-components/datepicker/Datepicker.jsx32
-rw-r--r--openecomp-ui/src/nfvo-components/input/ExpandableInput.jsx16
-rw-r--r--openecomp-ui/src/nfvo-components/input/dualListbox/DualListboxView.jsx23
-rw-r--r--openecomp-ui/src/nfvo-components/input/validation/Form.jsx19
-rw-r--r--openecomp-ui/src/nfvo-components/input/validation/Input.jsx16
-rw-r--r--openecomp-ui/src/nfvo-components/input/validation/ValidationButtons.jsx18
-rw-r--r--openecomp-ui/src/nfvo-components/modal/GlobalModal.js118
-rw-r--r--openecomp-ui/src/nfvo-components/modal/GlobalModalConstants.js18
-rw-r--r--openecomp-ui/src/nfvo-components/modal/GlobalModalReducer.js15
-rw-r--r--openecomp-ui/src/nfvo-components/modal/Modal.jsx94
-rw-r--r--openecomp-ui/src/nfvo-components/panel/NavigationSideBar.jsx6
-rw-r--r--openecomp-ui/src/nfvo-components/panel/versionController/components/CommitCommentModal.jsx14
-rw-r--r--openecomp-ui/src/nfvo-utils/i18n/en.json2
-rw-r--r--openecomp-ui/src/sdc-app/Application.jsx2
-rw-r--r--openecomp-ui/src/sdc-app/common/merge/MergeEditorActionHelper.js28
-rw-r--r--openecomp-ui/src/sdc-app/common/merge/MergeEditorView.jsx4
-rw-r--r--openecomp-ui/src/sdc-app/common/modal/ModalContentMapper.js37
-rw-r--r--openecomp-ui/src/sdc-app/flows/FlowsActions.js46
-rw-r--r--openecomp-ui/src/sdc-app/flows/FlowsEditorModal.js16
-rw-r--r--openecomp-ui/src/sdc-app/flows/FlowsEditorModalView.jsx15
-rw-r--r--openecomp-ui/src/sdc-app/flows/FlowsListEditor.js20
-rw-r--r--openecomp-ui/src/sdc-app/flows/FlowsListEditorView.jsx43
-rw-r--r--openecomp-ui/src/sdc-app/flows/FlowsListReducer.js20
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/components/ModalButtons.jsx7
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/components/UuId.jsx2
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/creation/LicenseModelCreationView.jsx11
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsActionHelper.js29
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorView.jsx45
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditor.js19
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditorView.jsx33
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/components/FormContent.jsx3
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupEditorView.jsx5
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupListEditor.js18
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupListEditorView.jsx47
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupsActionHelper.js43
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementActionHelper.js39
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorView.jsx24
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementListEditor.js17
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementListEditorView.jsx50
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsActionHelper.js29
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditorView.jsx43
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditor.js16
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditorView.jsx38
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/components/FormContent.jsx2
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/LicenseModelOverviewView.jsx97
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/summary/SummaryCountList.js32
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/onboard/CatalogItemDetails.jsx16
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/onboard/CatalogModal.jsx65
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/onboard/filter/Filter.jsx6
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/onboard/onboardingCatalog/VSPOverlay.jsx6
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/onboard/onboardingCatalog/VendorItem.jsx2
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/permissions/PermissionsManager.jsx15
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsActionHelper.js13
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsView.jsx17
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/SoftwareProductActionHelper.js3
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetup.js18
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupActionHelper.js20
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupConstants.js13
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupReducer.js22
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupView.jsx411
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/AddOrDeleteVolumeFiles.js40
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/ArtifactOrNestedFileList.js82
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/EmptyListContent.js29
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/ModuleFile.js152
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/NameEditInput.js35
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/SelectWithFileType.js48
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/SortableListItem.js21
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/SortableModuleFileList.js126
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/UnassignedFile.js35
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/UnassignedFileList.js33
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/SoftwareProductComponents.js18
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/compute/ComputeFlavorActionHelper.js17
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/compute/computeComponents/computeFlavor/ComputeFlavorEditorView.jsx13
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/creation/SoftwareProductComponentCreationView.jsx15
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/images/SoftwareProductComponentsImageActionHelper.js14
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/images/SoftwareProductComponentsImageEditorView.jsx13
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/NICCreation/NICCreationActionHelper.js18
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/NICCreation/NICCreationView.jsx9
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNICEditor.js12
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNICEditorView.jsx13
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNetworkActionHelper.js22
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNetworkList.js14
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/NameAndPurpose.jsx8
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/Network.jsx14
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/PacketsBytes.jsx14
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/Protocols.jsx16
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/processes/SoftwareProductComponentProcessesActionHelper.js45
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/processes/SoftwareProductComponentProcessesList.js39
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/processes/SoftwareProductComponentsProcessesListView.jsx49
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/creation/SoftwareProductCreationView.jsx2
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/deployment/SoftwareProductDeploymentActionHelper.js17
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/deployment/editor/SoftwareProductDeploymentEditorView.jsx18
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessListView.jsx14
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcesses.js27
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessesActionHelper.js44
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessesEditorForm.jsx12
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessesView.jsx41
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/softwareProduct/vnfMarketPlace/VNFImportView.jsx4
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js2
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/versionsPage/creation/VersionsPageCreationView.jsx123
-rw-r--r--openecomp-ui/src/sdc-app/sdc.app.jsx6
-rw-r--r--openecomp-ui/test-utils/shim.js1
-rw-r--r--openecomp-ui/test-utils/test-setup.js4
-rw-r--r--openecomp-ui/test/activity-log/ActivityLog.test.js185
-rw-r--r--openecomp-ui/test/flows/test.js364
-rw-r--r--openecomp-ui/test/licenseModel/featureGroups/LicenseModelFeatureGroupListEditor.test.js124
-rw-r--r--openecomp-ui/test/licenseModel/test.js3
-rw-r--r--openecomp-ui/test/nfvo-components/editor/TabulatedEditor.test.js76
-rw-r--r--openecomp-ui/test/onboard/filter/filterView.test.js2
-rw-r--r--openecomp-ui/test/softwareProduct/processes/test.js877
-rw-r--r--openecomp-ui/test/softwareProduct/test.js3
-rw-r--r--openecomp-ui/test/utils/errorResponseHandler.test.js237
-rw-r--r--openecomp-ui/yarn.lock1800
191 files changed, 9162 insertions, 8847 deletions
diff --git a/openecomp-ui/package.json b/openecomp-ui/package.json
index cfb3e5a8e4..a70337b2a4 100644
--- a/openecomp-ui/package.json
+++ b/openecomp-ui/package.json
@@ -29,21 +29,21 @@
"intl-relativeformat": "^1.2.0",
"lodash": "^4.13.1",
"md5": "^2.1.0",
- "prop-types": "^15.6.0",
- "react": "^15.6.2",
+ "prop-types": "^15.6.2",
+ "react": "^16.4.2",
"react-bootstrap": "^0.32.1",
- "react-click-outside": "^2.3.1",
- "react-datepicker": "^0.48.0",
+ "react-click-outside": "^3.0.1",
+ "react-datepicker": "^0.61.0",
"react-dnd": "^2.5.4",
"react-dnd-html5-backend": "^2.5.4",
- "react-dom": "^15.6.2",
- "react-dropzone": "4.2.3",
- "react-input-autosize": "^2.2.0",
- "react-redux": "^5.0.6",
+ "react-dom": "^16.4.2",
+ "react-dropzone": "4.3.0",
+ "react-input-autosize": "^2.2.1",
+ "react-redux": "^5.0.7",
"react-select": "1.2.1",
"react-show-more-text": "^1.0.3",
- "react-sortable": "^1.2.0",
- "react-transition-group": "^2.3.1",
+ "react-sortable": "^1.2.1",
+ "react-transition-group": "^2.4.0",
"redux": "^3.7.2",
"sdc-ui": "1.6.61",
"uuid-js": "^0.7.5",
@@ -64,7 +64,8 @@
"css-loader": "^0.23.1",
"deep-freeze": "0.0.1",
"del": "^3.0.0",
- "enzyme": "^2.7.1",
+ "enzyme": "^3.4.0",
+ "enzyme-adapter-react-16": "^1.2.0",
"eslint": "^4.18.1",
"eslint-config-prettier": "^2.9.0",
"eslint-loader": "^2.0.0",
@@ -88,8 +89,8 @@
"prettier": "1.10.2",
"prompt": "^0.2.14",
"randomstring": "^1.1.5",
- "react-addons-test-utils": "~15.3.2",
- "react-hot-loader": "^3.1.3",
+ "react-hot-loader": "^4.3.4",
+ "react-test-renderer": "^16.4.2",
"rosie": "^1.6.0",
"run-sequence": "^2.2.1",
"sass-loader": "^6.0.6",
@@ -127,6 +128,7 @@
"DEBUG": false
},
"setupFiles": [
+ "<rootDir>/test-utils/shim.js",
"<rootDir>/test-utils/test-env-setup.js"
],
"setupTestFrameworkScriptFile": "<rootDir>/test-utils/test-setup.js",
diff --git a/openecomp-ui/resources/scss/_common.scss b/openecomp-ui/resources/scss/_common.scss
index 6ade0abfe5..6d6a68512e 100644
--- a/openecomp-ui/resources/scss/_common.scss
+++ b/openecomp-ui/resources/scss/_common.scss
@@ -1,6 +1,5 @@
-@import "common/variables";
-@import "common/typography";
-@import "common/base";
-@import "common/layout";
-@import "common/utils";
-
+@import 'common/variables';
+@import 'common/typography';
+@import 'common/base';
+@import 'common/layout';
+@import 'common/utils';
diff --git a/openecomp-ui/resources/scss/_components.scss b/openecomp-ui/resources/scss/_components.scss
index 7bd90100e2..5458cbc411 100644
--- a/openecomp-ui/resources/scss/_components.scss
+++ b/openecomp-ui/resources/scss/_components.scss
@@ -1,102 +1,100 @@
-@import "components/forms";
-@import "components/validationForm";
-@import "components/dualListBox";
-@import "components/listEditorView";
-@import "components/toggleInput";
-@import "components/notifications";
-@import "components/inputOptions";
-@import "components/progressBar";
-@import "components/versionController";
-@import "components/sequenceDiagram";
-@import "components/navigationSideBar";
-@import "components/loader";
-@import "components/dropzone";
-@import "components/submitErrorResponse";
-@import "components/expandableInput";
-@import "components/grid";
-@import "components/activityLog";
-@import "components/selectActionTable";
-@import "components/datepicker";
-@import "components/tree";
-@import "components/commitModal";
-@import "components/userNotifications";
-@import "components/overlay";
-@import "components/vspDetailsVendorSelect";
-@import "components/vnfBrowse";
+@import 'components/forms';
+@import 'components/validationForm';
+@import 'components/dualListBox';
+@import 'components/listEditorView';
+@import 'components/toggleInput';
+@import 'components/inputOptions';
+@import 'components/progressBar';
+@import 'components/versionController';
+@import 'components/sequenceDiagram';
+@import 'components/navigationSideBar';
+@import 'components/loader';
+@import 'components/dropzone';
+@import 'components/submitErrorResponse';
+@import 'components/expandableInput';
+@import 'components/grid';
+@import 'components/activityLog';
+@import 'components/selectActionTable';
+@import 'components/datepicker';
+@import 'components/tree';
+@import 'components/commitModal';
+@import 'components/userNotifications';
+@import 'components/overlay';
+@import 'components/vspDetailsVendorSelect';
+@import 'components/vnfBrowse';
%noselect {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
}
.clickable {
- cursor: pointer;
+ cursor: pointer;
}
.no-padding {
- padding: 0;
+ padding: 0;
}
.next-to-icon-label {
- $margin: 10px;
- margin-left: $margin;
- &.right {
- margin-left: 0;
- margin-right: $margin;
- }
+ $margin: 10px;
+ margin-left: $margin;
+ &.right {
+ margin-left: 0;
+ margin-right: $margin;
+ }
}
.search-wrapper {
- display: flex;
- .search-input-control {
- flex: 1 1;
- margin: 0;
- .form-control {
- font-style: italic;
+ display: flex;
+ .search-input-control {
+ flex: 1 1;
+ margin: 0;
+ .form-control {
+ font-style: italic;
+ }
+ }
+ .search-icon {
+ position: relative;
+ left: -23px;
+ align-self: center;
+ width: 0;
+ color: $dark-gray;
+ }
+ .filter-icon {
+ position: relative;
+ left: -20px;
+ align-self: center;
+ width: 0;
+ background-color: $white;
}
- }
- .search-icon {
- position: relative;
- left: -23px;
- align-self: center;
- width: 0;
- color: $dark-gray;
- }
- .filter-icon {
- position: relative;
- left: -20px;
- align-self: center;
- width: 0;
- background-color: $white;
- }
}
-
.chevron::before {
- border-style: solid;
- border-width: 0.15em 0.15em 0 0;
- content: '';
- display: inline-block;
- height: 0.8em;
- left: 0.15em;
- position: relative;
- top: 0.15em;
- vertical-align: top;
- width: 0.8em;
+ border-style: solid;
+ border-width: 0.15em 0.15em 0 0;
+ content: '';
+ display: inline-block;
+ height: 0.8em;
+ left: 0.15em;
+ position: relative;
+ top: 0.15em;
+ vertical-align: top;
+ width: 0.8em;
}
.chevron.right:before {
- left: 0;
- transform: rotate(45deg);
+ left: 0;
+ transform: rotate(45deg);
}
.chevron.down:before {
- transform: rotate(135deg);
+ transform: rotate(135deg);
}
.chevron.left:before {
- transform: rotate(-135deg);
+ transform: rotate(-135deg);
}
.chevron.top:before {
- transform: rotate(-45deg);
+ transform: rotate(-45deg);
}
diff --git a/openecomp-ui/resources/scss/_modules.scss b/openecomp-ui/resources/scss/_modules.scss
index 6fe6e30ab6..ad33275b6d 100644
--- a/openecomp-ui/resources/scss/_modules.scss
+++ b/openecomp-ui/resources/scss/_modules.scss
@@ -1,30 +1,29 @@
-@import "modules/licenseModelOverview";
-@import "modules/licenseModelLimits";
-@import "modules/licenseAgreement";
-@import "modules/featureGroup";
-@import "modules/entitlementPools";
-@import "modules/licenseKeyGroup";
-@import "modules/softwareProductLandingPage";
-@import "modules/softwareProductCreatePage";
-@import "modules/_softwareProductAttachmentPage";
-@import "modules/_softwareProductProcessesPage";
-@import "modules/_vspComponentQuestionnaire";
-@import "modules/_softwareProductComponentNetwork";
-@import "modules/_softwareProductComponentGeneral";
-@import "modules/_softwareproductComponentLoadBalancing";
-@import "modules/_softwareProductComponentProcessesPage";
-@import "modules/_softwareProductComponentImage";
-@import "modules/softwareProductComponentCompute";
-@import "modules/vspComponentCompute";
-@import "modules/vspComponentMonitoring";
-@import "modules/licenseModel";
-@import "modules/onboardingCatalog";
-@import "modules/workflows";
-@import "modules/uploadScreen";
-@import "modules/vspHeatSetup";
-@import "modules/softwareProductDependencies";
-@import "modules/_permissions.scss";
-@import "modules/_revisions.scss";
-@import "modules/softwareProductDeployment";
-@import "modules/versionsPage";
-@import "modules/mergeEditor";
+@import 'modules/licenseModelOverview';
+@import 'modules/licenseModelLimits';
+@import 'modules/licenseAgreement';
+@import 'modules/featureGroup';
+@import 'modules/entitlementPools';
+@import 'modules/licenseKeyGroup';
+@import 'modules/softwareProductLandingPage';
+@import 'modules/softwareProductCreatePage';
+@import 'modules/_softwareProductAttachmentPage';
+@import 'modules/_softwareProductProcessesPage';
+@import 'modules/_vspComponentQuestionnaire';
+@import 'modules/_softwareProductComponentNetwork';
+@import 'modules/_softwareProductComponentGeneral';
+@import 'modules/_softwareproductComponentLoadBalancing';
+@import 'modules/_softwareProductComponentProcessesPage';
+@import 'modules/_softwareProductComponentImage';
+@import 'modules/softwareProductComponentCompute';
+@import 'modules/vspComponentMonitoring';
+@import 'modules/licenseModel';
+@import 'modules/onboardingCatalog';
+@import 'modules/workflows';
+@import 'modules/uploadScreen';
+@import 'modules/vspHeatSetup';
+@import 'modules/softwareProductDependencies';
+@import 'modules/_permissions.scss';
+@import 'modules/_revisions.scss';
+@import 'modules/softwareProductDeployment';
+@import 'modules/versionsPage';
+@import 'modules/mergeEditor';
diff --git a/openecomp-ui/resources/scss/bootstrap.scss b/openecomp-ui/resources/scss/bootstrap.scss
index 32890b35f0..7b6fed7509 100644
--- a/openecomp-ui/resources/scss/bootstrap.scss
+++ b/openecomp-ui/resources/scss/bootstrap.scss
@@ -1,55 +1,43 @@
// DOX CORE
-@import "common/variables";
-@import "common/typography";
+@import 'common/variables';
+@import 'common/typography';
// Core variables and mixins
-@import "bootstrap-cust/variables";
-@import "bootstrap/variables";
-@import "bootstrap/mixins";
-// Reset and dependencies
-//@import "bootstrap/normalize";
-//@import "bootstrap/print";
-//@import "bootstrap/glyphicons";
+@import 'bootstrap-cust/variables';
+@import 'bootstrap/variables';
+@import 'bootstrap/mixins';
-// Core CSS
-//@import "bootstrap/scaffolding";
-@import "bootstrap/type";
-@import "bootstrap/code";
-@import "bootstrap/grid";
-@import "bootstrap/tables";
-@import "bootstrap-cust/tables";
-@import "bootstrap/forms";
-@import "bootstrap-cust/forms";
+@import 'bootstrap/type';
+@import 'bootstrap/code';
+@import 'bootstrap/grid';
+@import 'bootstrap/tables';
+@import 'bootstrap-cust/tables';
+@import 'bootstrap/forms';
+@import 'bootstrap-cust/forms';
// Components
-@import "bootstrap/component-animations";
-@import "bootstrap/dropdowns";
-@import "bootstrap-cust/dropdowns";
-@import "bootstrap/button-groups";
-@import "bootstrap/input-groups";
-@import "bootstrap/breadcrumbs";
-@import "bootstrap/pagination";
-@import "bootstrap/pager";
-@import "bootstrap/labels";
-@import "bootstrap/badges";
-@import "bootstrap/jumbotron";
-// @import "bootstrap/thumbnails";
-@import "bootstrap/alerts";
-@import "bootstrap/progress-bars";
-@import "bootstrap/media";
-@import "bootstrap/list-group";
-@import "bootstrap-cust/list-group";
-@import "bootstrap/panels";
-@import "bootstrap-cust/panels";
-// @import "bootstrap/responsive-embed";
-//@import "bootstrap/wells";
-@import "bootstrap/close";
-@import "bootstrap-cust/close";
-// Components w/ JavaScript
-@import "bootstrap/modals";
-@import "bootstrap-cust/modals";
-@import "bootstrap/tooltip";
-@import "bootstrap/popovers";
-// @import "bootstrap/carousel";
-// Utility classes
-@import "bootstrap/utilities";
-@import "bootstrap/responsive-utilities";
+@import 'bootstrap/component-animations';
+@import 'bootstrap/dropdowns';
+@import 'bootstrap-cust/dropdowns';
+@import 'bootstrap/button-groups';
+@import 'bootstrap/input-groups';
+@import 'bootstrap/breadcrumbs';
+@import 'bootstrap/pagination';
+@import 'bootstrap/pager';
+@import 'bootstrap/labels';
+@import 'bootstrap/badges';
+@import 'bootstrap/jumbotron';
+@import 'bootstrap/alerts';
+@import 'bootstrap/progress-bars';
+@import 'bootstrap/media';
+@import 'bootstrap/list-group';
+@import 'bootstrap-cust/list-group';
+@import 'bootstrap/panels';
+@import 'bootstrap-cust/panels';
+@import 'bootstrap/close';
+@import 'bootstrap-cust/close';
+@import 'bootstrap/modals';
+@import 'bootstrap-cust/modals';
+@import 'bootstrap/tooltip';
+@import 'bootstrap/popovers';
+@import 'bootstrap/utilities';
+@import 'bootstrap/responsive-utilities';
diff --git a/openecomp-ui/resources/scss/common/_base.scss b/openecomp-ui/resources/scss/common/_base.scss
index e4aa23f876..b9cfd7906a 100644
--- a/openecomp-ui/resources/scss/common/_base.scss
+++ b/openecomp-ui/resources/scss/common/_base.scss
@@ -1,6 +1,6 @@
html {
- font-size: 100%;
- height: 100%;
+ font-size: 100%;
+ height: 100%;
}
body {
@@ -16,65 +16,70 @@ $scrollbar-height: 8px;
$ff-scrollbar-width: 17px;
/* scrollbar styling for Google Chrome | Safari | Opera */
::-webkit-scrollbar {
- width: $scrollbar-width;
- height: $scrollbar-height;
+ width: $scrollbar-width;
+ height: $scrollbar-height;
}
::-webkit-scrollbar-track {
- background-color: transparent;
- border-radius: 10px;
+ background-color: transparent;
+ border-radius: 10px;
}
::-webkit-scrollbar-thumb {
- border-radius: 10px;
- background-color: $light-gray;
- border-right: 2px solid $content-background-color;
+ border-radius: 10px;
+ background-color: $light-gray;
+ border-right: 2px solid $content-background-color;
}
/* Mozilla Firefox currently doesn't support scrollbar styling */
ul {
- list-style: none;
+ list-style: none;
}
-h1, h2, h3, h4, h5, h6, ul {
- margin: 0;
- padding: 0;
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+ul {
+ margin: 0;
+ padding: 0;
}
input {
-
- padding: 7px 10px;
+ padding: 7px 10px;
}
.disabled {
- opacity: 0.7 !important;
+ opacity: 0.7 !important;
}
fieldset {
- border: none;
+ border: none;
}
fieldset {
- label {
- display: inline-block;
- }
+ label {
+ display: inline-block;
+ }
}
.nav-tabs > li > a:focus,
.btn:focus,
.btn:active:focus,
.btn.active:focus {
- outline: none;
+ outline: none;
}
.box-hover {
- border: 1px solid $light-blue;
+ border: 1px solid $light-blue;
}
/* monkey patch */
.sdc-button.sdc-button__link.sdc-button.sdc-button__link {
- width: initial;
- &:focus {
- border: none;
- }
+ width: initial;
+ &:focus {
+ border: none;
+ }
}
diff --git a/openecomp-ui/resources/scss/common/_layout.scss b/openecomp-ui/resources/scss/common/_layout.scss
index 6c6a0cf165..58ed1227ce 100644
--- a/openecomp-ui/resources/scss/common/_layout.scss
+++ b/openecomp-ui/resources/scss/common/_layout.scss
@@ -1,35 +1,53 @@
.sdc-app {
- height: 100%;
-
+ height: 100%;
}
.flex {
- display: flex;
- flex: 1;
+ display: flex;
+ flex: 1;
}
.flex-column {
- @extend .flex;
- flex-direction: column;
+ @extend .flex;
+ flex-direction: column;
}
.content-area {
- padding: 30px 60px 70px 60px;
- overflow-y: auto;
- overflow-x: hidden;
- height: 100%;
- &.no-padding-content-area {
- padding: 0;
- }
+ padding: 30px 60px 70px 60px;
+ overflow-y: auto;
+ overflow-x: hidden;
+ height: 100%;
+ &.no-padding-content-area {
+ padding: 0;
+ }
}
-.onborading-modal {
- .modal-title {
- text-transform: uppercase;
- }
-}
.page-title {
- @extend .heading-1;
- @extend .text-uppercase !optional;
- margin-bottom: 20px;
- color: $blue;
+ @extend .heading-1;
+ @extend .text-uppercase !optional;
+ margin-bottom: 20px;
+ color: $blue;
+}
+.sdc-modal {
+ .sdc-modal__wrapper.sdc-modal-type-custom {
+ .sdc-modal__content {
+ padding: 0;
+ .entitlement-pools-modal,
+ .license-key-groups-modal,
+ .manage-permissions-page {
+ .validation-form-content {
+ overflow-y: visible;
+ }
+ }
+ .validation-form-content {
+ padding: 20px 40px;
+ overflow-y: auto;
+ .no-bottom-margin {
+ margin-bottom: 0;
+ .customized-date-picker {
+ margin-bottom: 0;
+ }
+ }
+ }
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/common/_typography.scss b/openecomp-ui/resources/scss/common/_typography.scss
index c4ae856b5f..230881022f 100644
--- a/openecomp-ui/resources/scss/common/_typography.scss
+++ b/openecomp-ui/resources/scss/common/_typography.scss
@@ -1,23 +1,24 @@
/* Fonts */
@mixin base-font-regular() {
- font-family: OpenSans, OpenSans-Regular, 'Open Sans',omnes-regular, Arial, sans-serif;
+ font-family: OpenSans, OpenSans-Regular, 'Open Sans', omnes-regular, Arial,
+ sans-serif;
}
@mixin base-font-light() {
- font-family: OpenSans-Light, 'Open Sans', omnes-light, Arial, sans-serif;
+ font-family: OpenSans-Light, 'Open Sans', omnes-light, Arial, sans-serif;
}
-@mixin base-font-italic(){
- font-family: OpenSans-Italic, 'Open Sans', omnes-italic, Arial, sans-serif;
+@mixin base-font-italic() {
+ font-family: OpenSans-Italic, 'Open Sans', omnes-italic, Arial, sans-serif;
}
@mixin base-font-semibold() {
- font-family: OpenSans-Semibold, 'Open Sans', omnes-medium, Arial, sans-serif;
+ font-family: OpenSans-Semibold, 'Open Sans', omnes-medium, Arial, sans-serif;
}
@mixin base-font-bold() {
- font-family: OpenSans-Bold, 'Open Sans', omnes-bold, Arial, sans-serif;
+ font-family: OpenSans-Bold, 'Open Sans', omnes-bold, Arial, sans-serif;
}
$heading-font-1: 28px;
@@ -34,109 +35,107 @@ $body-font-4: 10px;
$icon-font-size: 10px;
$icon-font-family: Arial;
-
.heading-1 {
- @include base-font-light;
- font-size: $heading-font-1;
+ @include base-font-light;
+ font-size: $heading-font-1;
}
.heading-2 {
- @include base-font-light;
- font-size: $heading-font-2;
+ @include base-font-light;
+ font-size: $heading-font-2;
}
.heading-3-light {
- @include base-font-light;
- font-size: $heading-font-3;
- @extend .text-uppercase !optional;
+ @include base-font-light;
+ font-size: $heading-font-3;
+ @extend .text-uppercase !optional;
}
.heading-3 {
- @include base-font-regular;
- font-size: $heading-font-3;
- @extend .text-uppercase !optional;
+ @include base-font-regular;
+ font-size: $heading-font-3;
+ @extend .text-uppercase !optional;
}
.heading-3-semibold {
- @include base-font-semibold;
- font-size: $heading-font-3;
- @extend .text-uppercase !optional;
+ @include base-font-semibold;
+ font-size: $heading-font-3;
+ @extend .text-uppercase !optional;
}
.heading-4 {
- @include base-font-regular;
- font-size: $heading-font-4;
+ @include base-font-regular;
+ font-size: $heading-font-4;
}
.heading-4-semibold {
- @include base-font-semibold;
- font-size: $heading-font-4;
+ @include base-font-semibold;
+ font-size: $heading-font-4;
}
.heading-5 {
- @include base-font-regular;
- font-size: $heading-font-5;
+ @include base-font-regular;
+ font-size: $heading-font-5;
}
.heading-5-semibold {
- @include base-font-semibold;
- font-size: $heading-font-5;
+ @include base-font-semibold;
+ font-size: $heading-font-5;
}
.body-1 {
- @include base-font-regular;
- font-size: $body-font-1;
+ @include base-font-regular;
+ font-size: $body-font-1;
}
.body-1-semibold {
- @include base-font-semibold;
- font-size: $body-font-1;
+ @include base-font-semibold;
+ font-size: $body-font-1;
}
.body-1-light {
- @include base-font-light;
- font-size: $body-font-1;
+ @include base-font-light;
+ font-size: $body-font-1;
}
.body-2 {
- @include base-font-regular;
- font-size: $body-font-2;
+ @include base-font-regular;
+ font-size: $body-font-2;
}
.body-2-semibold {
- @include base-font-semibold;
- font-size: $body-font-2;
+ @include base-font-semibold;
+ font-size: $body-font-2;
}
.body-3 {
- @include base-font-regular;
- font-size: $body-font-3;
+ @include base-font-regular;
+ font-size: $body-font-3;
}
.body-3-semibold {
- @include base-font-semibold;
- font-size: $body-font-3;
+ @include base-font-semibold;
+ font-size: $body-font-3;
}
.body-4 {
- @include base-font-regular;
- font-size: $body-font-4;
+ @include base-font-regular;
+ font-size: $body-font-4;
}
.body-4-semibold {
- @include base-font-semibold;
- font-size: $body-font-4;
+ @include base-font-semibold;
+ font-size: $body-font-4;
}
.body-3-light {
- @include base-font-light;
- font-size: $body-font-3;
+ @include base-font-light;
+ font-size: $body-font-3;
}
-
.warning-text {
- color: $yellow;
+ color: $yellow;
}
.error-text {
- color: $red;
+ color: $red;
}
diff --git a/openecomp-ui/resources/scss/common/_utils.scss b/openecomp-ui/resources/scss/common/_utils.scss
index 99b1ff5d9a..aa1c0b6ff0 100644
--- a/openecomp-ui/resources/scss/common/_utils.scss
+++ b/openecomp-ui/resources/scss/common/_utils.scss
@@ -1,5 +1,3 @@
-
-
/* Prefix */
$box-sizing-prefix: webkit moz spec;
@@ -14,163 +12,166 @@ $flex-prefix: webkit spec;
$browserPrefixes: webkit moz o ms;
@mixin prefix($property, $value, $prefixeslist: 'all') {
- @if $prefixeslist == all {
- -webkit-#{$property}: $value;
- -moz-#{$property}: $value;
- -ms-#{$property}: $value;
- -o-#{$property}: $value;
- #{$property}: $value;
- } @else {
- @each $prefix in $prefixeslist {
- @if $prefix == webkit {
+ @if $prefixeslist == all {
-webkit-#{$property}: $value;
- } @else if $prefix == moz {
-moz-#{$property}: $value;
- } @else if $prefix == ms {
-ms-#{$property}: $value;
- } @else if $prefix == o {
-o-#{$property}: $value;
- } @else if $prefix == spec {
#{$property}: $value;
- } @else {
- @warn "No such prefix: #{$prefix}";
- }
+ } @else {
+ @each $prefix in $prefixeslist {
+ @if $prefix == webkit {
+ -webkit-#{$property}: $value;
+ } @else if $prefix == moz {
+ -moz-#{$property}: $value;
+ } @else if $prefix == ms {
+ -ms-#{$property}: $value;
+ } @else if $prefix == o {
+ -o-#{$property}: $value;
+ } @else if $prefix == spec {
+ #{$property}: $value;
+ } @else {
+ @warn "No such prefix: #{$prefix}";
+ }
+ }
}
- }
}
/* Value Prefix*/
@mixin value-suffix-with-range($property, $valuesuffix, $from, $to, $prefixeslist) {
-
- @if $prefixeslist == all {
- #{property} : -webkit-#{$valuesuffix}($from, $to);
- #{property} : -moz-#{$valuesuffix}($from, $to);
- #{property} : -o-#{$valuesuffix}($from, $to);
- #{property} : -ms-#{$valuesuffix}($from, $to);
-
- } @else {
- @each $prefix in $prefixeslist {
- @if $prefix == webkit {
- #{property} : -webkit-#{$valuesuffix}($from, $to);
- } @else if $prefix == moz {
- #{property} : -moz-#{$valuesuffix}($from, $to);
- } @else if $prefix == ms {
- #{property} : -ms-#{$valuesuffix}($from, $to);
- } @else if $prefix == o {
- #{property} : -o-#{$valuesuffix}($from, $to);
- } @else {
- @warn "No such prefix: #{$prefix}";
- }
+ @if $prefixeslist == all {
+ #{property}: -webkit-#{$valuesuffix}($from, $to);
+ #{property}: -moz-#{$valuesuffix}($from, $to);
+ #{property}: -o-#{$valuesuffix}($from, $to);
+ #{property}: -ms-#{$valuesuffix}($from, $to);
+ } @else {
+ @each $prefix in $prefixeslist {
+ @if $prefix == webkit {
+ #{property}: -webkit-#{$valuesuffix}($from, $to);
+ } @else if $prefix == moz {
+ #{property}: -moz-#{$valuesuffix}($from, $to);
+ } @else if $prefix == ms {
+ #{property}: -ms-#{$valuesuffix}($from, $to);
+ } @else if $prefix == o {
+ #{property}: -o-#{$valuesuffix}($from, $to);
+ } @else {
+ @warn "No such prefix: #{$prefix}";
+ }
+ }
}
- }
}
/* Box sizing */
@mixin box-sizing($value: border-box) {
- @include prefix(box-sizing, $value, $box-sizing-prefix);
+ @include prefix(box-sizing, $value, $box-sizing-prefix);
}
/* Borders & Shadows */
@mixin box-shadow($value) {
- @include prefix(box-shadow, $value, $box-shadow-radius-prefix);
+ @include prefix(box-shadow, $value, $box-shadow-radius-prefix);
}
@mixin text-shadow($value) {
- @include prefix(text-shadow, $value, $text-shadow-radius-prefix);
+ @include prefix(text-shadow, $value, $text-shadow-radius-prefix);
}
@mixin border-radius($value, $positions: all) {
- @if ($positions == all) {
- @include prefix(border-radius, $value, $border-radius-prefix);
- } @else {
- @each $position in $positions {
- @include prefix(border-#{$position}-radius, $value, $border-radius-prefix);
+ @if ($positions == all) {
+ @include prefix(border-radius, $value, $border-radius-prefix);
+ } @else {
+ @each $position in $positions {
+ @include prefix(border-#{$position}-radius, $value, $border-radius-prefix);
+ }
}
- }
-
}
@mixin transition($value) {
- @include prefix(transition, $value, $transition-prefix);
+ @include prefix(transition, $value, $transition-prefix);
}
/* Opacity */
@mixin opacity($alpha) {
- $ie-opacity: round($alpha * 100);
- opacity: $alpha;
- filter: unquote("alpha(opacity = #{$ie-opacity})");
+ $ie-opacity: round($alpha * 100);
+ opacity: $alpha;
+ filter: unquote('alpha(opacity = #{$ie-opacity})');
}
/* Ellipsis */
@mixin ellipsis($width: 100%, $display: inline-block, $max-width: none) {
- overflow: hidden;
- text-overflow: ellipsis;
- width: $width;
- white-space: nowrap;
- display: $display;
- max-width: $max-width;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ width: $width;
+ white-space: nowrap;
+ display: $display;
+ max-width: $max-width;
}
-@mixin multiline-ellipsis($lineHeight: 1.3em, $lineCount: 2, $bgColor: $white){
- overflow: hidden;
- position: relative;
- line-height: $lineHeight;
- max-height: $lineHeight * $lineCount;
- text-align: justify;
- word-break: break-all;
- // margin-right: -1em;
- padding-right: 1em;
- &:before {
- content: '...';
- position: absolute;
- right: 3px;
- bottom: 0;
- }
- &:after {
- content: '';
- position: absolute;
- right: 0;
- width: 1em;
- height: 1em;
- margin-top: 0.2em;
- background: $bgColor;
- }
+@mixin multiline-ellipsis($lineHeight: 1.3em, $lineCount: 2, $bgColor: $white) {
+ overflow: hidden;
+ position: relative;
+ line-height: $lineHeight;
+ max-height: $lineHeight * $lineCount;
+ text-align: justify;
+ word-break: break-all;
+ // margin-right: -1em;
+ padding-right: 1em;
+ &:before {
+ content: '...';
+ position: absolute;
+ right: 3px;
+ bottom: 0;
+ }
+ &:after {
+ content: '';
+ position: absolute;
+ right: 0;
+ width: 1em;
+ height: 1em;
+ margin-top: 0.2em;
+ background: $bgColor;
+ }
}
@mixin gradient($from, $to) {
- /* fallback/image non-cover color */
- background-color: $from;
- background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from($from), to($to));
- @include value-suffix-with-range(background-color, linear-gradient, $from, $to, $linear-gradient-prefix);
+ /* fallback/image non-cover color */
+ background-color: $from;
+ background-image: -webkit-gradient(
+ linear,
+ 0% 0%,
+ 0% 100%,
+ from($from),
+ to($to)
+ );
+ @include value-suffix-with-range(background-color, linear-gradient, $from, $to, $linear-gradient-prefix);
}
/* Vertical placement of multuple lines of text */
@mixin vertical-text($height) {
- position: absolute;
- top: 50%;
- margin-top: -$height/2;
+ position: absolute;
+ top: 50%;
+ margin-top: -$height/2;
}
@mixin text-vertical-align($align: middle) {
- display: table;
- width: 100%;
+ display: table;
+ width: 100%;
- & > * {
- vertical-align: $align;
- display: table-cell;
- }
+ & > * {
+ vertical-align: $align;
+ display: table-cell;
+ }
}
@mixin center-element($width) {
- width: $width;
- margin-left: auto;
- margin-right: auto;
+ width: $width;
+ margin-left: auto;
+ margin-right: auto;
}
@mixin center-content($width) {
- & > * {
- @include center-element($width);
- }
+ & > * {
+ @include center-element($width);
+ }
}
/* transform-rotate */
@@ -179,9 +180,9 @@ $browserPrefixes: webkit moz o ms;
// @param
// $deg - angle in degrees
@mixin transform-rotate($deg) {
- transform: rotate($deg + deg); /* IE10 and Mozilla */
- -ms-transform: rotate($deg + deg); /* IE 9 */
- -webkit-transform: rotate($deg + deg); /* Safari and Chrome */
+ transform: rotate($deg + deg); /* IE10 and Mozilla */
+ -ms-transform: rotate($deg + deg); /* IE 9 */
+ -webkit-transform: rotate($deg + deg); /* Safari and Chrome */
}
/* transform-translate */
@@ -190,9 +191,9 @@ $browserPrefixes: webkit moz o ms;
// @param
// $deg - angle in degrees
@mixin transform-translate($x, $y) {
- transform: translate($x, $y); /* IE10 and Mozilla */
- -ms-transform: translate($x, $y); /* IE 9 */
- -webkit-transform: translate($x, $y); /* Safari and Chrome */
+ transform: translate($x, $y); /* IE10 and Mozilla */
+ -ms-transform: translate($x, $y); /* IE 9 */
+ -webkit-transform: translate($x, $y); /* Safari and Chrome */
}
/* transform-scale */
@@ -203,104 +204,102 @@ $browserPrefixes: webkit moz o ms;
// @param
// $height - height
@mixin transform-scale($width, $height) {
- transform: scale($width, $height); /* IE10 and Mozilla */
- -ms-transform: scale($width, $height); /* IE 9 */
- -webkit-transform: scale($width, $height); /* Safari and Chrome */
+ transform: scale($width, $height); /* IE10 and Mozilla */
+ -ms-transform: scale($width, $height); /* IE 9 */
+ -webkit-transform: scale($width, $height); /* Safari and Chrome */
}
@mixin scrollable() {
- ::-webkit-scrollbar {
- width: 8px;
- }
+ ::-webkit-scrollbar {
+ width: 8px;
+ }
}
@mixin create-circle($size, $bgcolor) {
- border-radius: 50%;
- width: $size;
- height: $size;
- background: $bgcolor;
- border: 3px solid $bgcolor;
- display: flex;
- align-items: center;
- justify-content: center;
+ border-radius: 50%;
+ width: $size;
+ height: $size;
+ background: $bgcolor;
+ border: 3px solid $bgcolor;
+ display: flex;
+ align-items: center;
+ justify-content: center;
}
/**/
@mixin keyframe-animation($animationType, $properties, $fromValue, $toValue) {
-
- @keyframes #{$animationType} {
- from {
- $startIndex: 1;
- @each $property in $properties {
- #{$property}: nth($fromValue, $startIndex);
- $startIndex: $startIndex + 1;
- }
- }
- to {
- $startIndex: 1;
- @each $property in $properties {
- #{$property}: nth($toValue, $startIndex);
- $startIndex: $startIndex + 1;
- }
+ @keyframes #{$animationType} {
+ from {
+ $startIndex: 1;
+ @each $property in $properties {
+ #{$property}: nth($fromValue, $startIndex);
+ $startIndex: $startIndex + 1;
+ }
+ }
+ to {
+ $startIndex: 1;
+ @each $property in $properties {
+ #{$property}: nth($toValue, $startIndex);
+ $startIndex: $startIndex + 1;
+ }
+ }
}
- }
- @-moz-keyframes #{$animationType}{
- /* Firefox */
- from {
- $startIndex: 1;
- @each $property in $properties {
- #{$property}: nth($fromValue, $startIndex);
- $startIndex: $startIndex + 1;
- }
+ @-moz-keyframes #{$animationType} {
+ /* Firefox */
+ from {
+ $startIndex: 1;
+ @each $property in $properties {
+ #{$property}: nth($fromValue, $startIndex);
+ $startIndex: $startIndex + 1;
+ }
+ }
+ to {
+ $startIndex: 1;
+ @each $property in $properties {
+ #{$property}: nth($toValue, $startIndex);
+ $startIndex: $startIndex + 1;
+ }
+ }
}
- to {
- $startIndex: 1;
- @each $property in $properties {
- #{$property}: nth($toValue, $startIndex);
- $startIndex: $startIndex + 1;
- }
+ @-webkit-keyframes #{$animationType} {
+ /* Safari and Chrome */
+ from {
+ $startIndex: 1;
+ @each $property in $properties {
+ #{$property}: nth($fromValue, $startIndex);
+ $startIndex: $startIndex + 1;
+ }
+ }
+ to {
+ $startIndex: 1;
+ @each $property in $properties {
+ #{$property}: nth($toValue, $startIndex);
+ $startIndex: $startIndex + 1;
+ }
+ }
}
- }
- @-webkit-keyframes #{$animationType} {
- /* Safari and Chrome */
- from {
- $startIndex: 1;
- @each $property in $properties {
- #{$property}: nth($fromValue, $startIndex);
- $startIndex: $startIndex + 1;
- }
+ @-o-keyframes #{$animationType} {
+ /* Opera */
+ from {
+ $startIndex: 1;
+ @each $property in $properties {
+ #{$property}: nth($fromValue, $startIndex);
+ $startIndex: $startIndex + 1;
+ }
+ }
+ to {
+ $startIndex: 1;
+ @each $property in $properties {
+ #{$property}: nth($toValue, $startIndex);
+ $startIndex: $startIndex + 1;
+ }
+ }
}
- to {
- $startIndex: 1;
- @each $property in $properties {
- #{$property}: nth($toValue, $startIndex);
- $startIndex: $startIndex + 1;
- }
- }
- }
- @-o-keyframes #{$animationType} {
- /* Opera */
- from {
- $startIndex: 1;
- @each $property in $properties {
- #{$property}: nth($fromValue, $startIndex);
- $startIndex: $startIndex + 1;
- }
- }
- to {
- $startIndex: 1;
- @each $property in $properties {
- #{$property}: nth($toValue, $startIndex);
- $startIndex: $startIndex + 1;
- }
- }
- }
}
-
/**/
@mixin border-shadow($xShadow: 0.545px, $yShadow: 0.839px, $blur: 4px, $spread: 0, $color: $light-gray, $opacity: 0.2) {
- @include box-shadow($xShadow $yShadow $blur $spread rgba($color, $opacity));
+ @include box-shadow($xShadow $yShadow $blur $spread rgba($color, $opacity));
}
/* percent-plus-value */
@@ -308,6 +307,6 @@ $browserPrefixes: webkit moz o ms;
// Calculate length property (e.g. width, margin) by adding a value (e.g. in pixels)
// to a percentage of container height/width
@mixin percent-plus-value($property, $value, $percent: 100%) {
- $string: 'calc(' + $percent + ' + ' + $value + ')';
- #{$property}: unquote($string);
+ $string: 'calc(' + $percent + ' + ' + $value + ')';
+ #{$property}: unquote($string);
}
diff --git a/openecomp-ui/resources/scss/common/_variables.scss b/openecomp-ui/resources/scss/common/_variables.scss
index 6ea204aa76..48d9f4b68e 100644
--- a/openecomp-ui/resources/scss/common/_variables.scss
+++ b/openecomp-ui/resources/scss/common/_variables.scss
@@ -1,4 +1,3 @@
-
// primary colors
$blue: #009fdb;
$dark-blue: #0568ae;
@@ -29,7 +28,7 @@ $tlv-gray: #f8f8f8;
$tlv-light-gray: #eaeaea;
$tlv-hover: #e6f6fb;
$highlight-gray: #eceff3;
-$transparent-black: rgba(0,0,0,.3);
+$transparent-black: rgba(0, 0, 0, 0.3);
$content-background-color: $white;
@@ -44,8 +43,9 @@ $tablet-max-width: 1024px;
$laptop-min-width: 1224px;
$desktop-min-width: 1824px;
+$loader-background: #e1e4e6;
-
-
-
-
+$action-button-active-bg: #0091c7;
+$action-button-active-border: #006186;
+$action-button-hover-bg: #1ec2ff;
+$action-button-hover-border: #0091c8;
diff --git a/openecomp-ui/resources/scss/components/_activityLog.scss b/openecomp-ui/resources/scss/components/_activityLog.scss
index 7a5b77b58c..dbe805f215 100644
--- a/openecomp-ui/resources/scss/components/_activityLog.scss
+++ b/openecomp-ui/resources/scss/components/_activityLog.scss
@@ -1,101 +1,98 @@
$message-info-icon-size: 16px;
@mixin status-icon-class {
- @extend .body-1-light;
- width: $message-info-icon-size;
- height: $message-info-icon-size;
- margin-left: 8px;
- color: $white;
- border-radius: $message-info-icon-size / 2;
- display: inline-block;
- text-align: center;
+ @extend .body-1-light;
+ width: $message-info-icon-size;
+ height: $message-info-icon-size;
+ margin-left: 8px;
+ color: $white;
+ border-radius: $message-info-icon-size / 2;
+ display: inline-block;
+ text-align: center;
}
.activity-log-view {
+ .list-editor-view .list-editor-view-header {
+ border: none;
+ .list-editor-view-title {
+ @extend .heading-1;
+ color: $blue;
+ }
+ }
+ .list-editor-view-list {
+ border: 1px solid $light-gray;
+ border-bottom: none;
+ overflow-y: hidden;
+ }
+ .activity-list-item {
+ display: flex;
+ height: 36px;
+ @extend .body-1;
+ &.header {
+ @extend .body-1-semibold;
+ background-color: $tlv-light-gray;
+ color: $text-black;
+ }
+ }
- .list-editor-view .list-editor-view-header {
- border: none;
- .list-editor-view-title {
- @extend .heading-1;
- color: $blue;
- }
- }
- .list-editor-view-list {
- border: 1px solid $light-gray;
- border-bottom: none;
- overflow-y: hidden;
- }
- .activity-list-item {
- display: flex;
- height: 36px;
- @extend .body-1;
- &.header {
- @extend .body-1-semibold;
- background-color: $tlv-light-gray;
- color: $text-black;
- }
- }
+ .activity-status {
+ .svg-icon-wrapper {
+ float: right;
+ }
- .activity-status {
- .svg-icon-wrapper {
- float: right;
- }
+ .status-icon.false:after {
+ @include status-icon-class;
+ float: right;
+ background-color: $red;
+ content: '!';
+ }
+ }
- .status-icon.false:after {
- @include status-icon-class;
- float: right;
- background-color: $red;
- content: "!";
- }
- }
+ .message-further-info-icon {
+ @include status-icon-class;
+ background-color: $gray;
+ }
- .message-further-info-icon {
- @include status-icon-class;
- background-color: $gray;
- }
+ .table-cell {
+ border-right: 1px solid $light-gray;
+ border-bottom: 1px solid $light-gray;
+ &:last-child {
+ border-right: none;
+ }
+ flex-basis: 20%;
+ display: flex;
+ padding: 0 20px;
+ justify-content: center;
+ flex-direction: column;
+ &.activity-comment {
+ min-width: 0;
+ span {
+ @include ellipsis(100%);
+ }
+ }
+ }
- .table-cell {
- border-right: 1px solid $light-gray;
- border-bottom: 1px solid $light-gray;
- &:last-child {
- border-right: none;
- }
- flex-basis: 20%;
- display: flex;
- padding: 0 20px;
- justify-content: center;
- flex-direction: column;
- &.activity-comment {
- min-width: 0;
- span {
- @include ellipsis(100%);
- }
- }
- }
-
- .date-header {
- cursor: pointer;
- display: flex;
- align-items: center;
- .header-sort-arrow {
- width: 0;
- height: 0;
- border-left: 5px solid transparent;
- border-right: 5px solid transparent;
- margin-left: 9px;
- &.up {
- border-bottom: 5px solid $black;
- }
- &.down {
- border-top: 5px solid $black;
- }
-
- }
- }
-
- .date-cell {
- display: flex;
- justify-content: space-between;
- }
+ .date-header {
+ cursor: pointer;
+ display: flex;
+ align-items: center;
+ .header-sort-arrow {
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ margin-left: 9px;
+ &.up {
+ border-bottom: 5px solid $black;
+ }
+ &.down {
+ border-top: 5px solid $black;
+ }
+ }
+ }
+ .date-cell {
+ display: flex;
+ justify-content: space-between;
+ }
}
diff --git a/openecomp-ui/resources/scss/components/_commitModal.scss b/openecomp-ui/resources/scss/components/_commitModal.scss
index e7f5d28933..47036ea22c 100644
--- a/openecomp-ui/resources/scss/components/_commitModal.scss
+++ b/openecomp-ui/resources/scss/components/_commitModal.scss
@@ -1,10 +1,9 @@
-
.comment-commit-form {
- .commit-modal-text {
- padding-bottom: 30px;
- }
- .validation-buttons .sdc-button-default{
- min-width: 94px;
- width: auto;
- }
-} \ No newline at end of file
+ .commit-modal-text {
+ padding-bottom: 30px;
+ }
+ .validation-buttons .sdc-button-default {
+ min-width: 94px;
+ width: auto;
+ }
+}
diff --git a/openecomp-ui/resources/scss/components/_datepicker.scss b/openecomp-ui/resources/scss/components/_datepicker.scss
index d51a1b690e..e9c0f40425 100644
--- a/openecomp-ui/resources/scss/components/_datepicker.scss
+++ b/openecomp-ui/resources/scss/components/_datepicker.scss
@@ -1,67 +1,163 @@
.customized-date-picker {
- margin-bottom: 24px;
- display: flex;
- .date-picker-label {
- &.required {
- &:before {
- content: "*";
- color: $red;
- margin: 0 4px 0 0;
- }
- }
+ margin-bottom: 24px;
+ display: flex;
+ > div:first-child {
+ flex: 1;
+ display: flex;
+ }
+ .react-datepicker-wrapper {
+ display: flex;
+ flex: 1;
+ }
+ .date-picker-label {
+ &.required {
+ &:before {
+ content: '*';
+ color: $red;
+ margin: 0 4px 0 0;
+ }
+ }
- @extend .body-2-semibold;
- color: $dark-gray;
- margin-bottom: 8px;
- }
- .react-datepicker__input-container {
- flex: 1;
- cursor: pointer;
- }
- .datepicker-custom-input {
- display: flex;
- justify-content: space-between;
- align-items: center;
- height: 30px;
- border-radius: 2px;
- color: $dark-gray;
- border: 1px solid $light-gray;
- padding: 6px 8px 6px 12px;
- .clear-input {
- margin-left: auto;
- margin-right: 8px;
- .svg-icon {
- fill: transparent;
- height: 8px;
- width: 8px;
- }
- }
- &:hover {
- border-color: $gray;
- .clear-input {
- .svg-icon {
- fill: initial;
- }
- }
- }
- .datepicker-text {
- cursor: pointer;
- @extend .body-1;
- &.placeholder {
- color: $light-gray;
- }
+ @extend .body-2-semibold;
+ color: $dark-gray;
+ margin-bottom: 8px;
+ }
+ .react-datepicker__input-container {
+ flex: 1;
+ cursor: pointer;
+ }
+ .datepicker-custom-input {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 30px;
+ border-radius: 2px;
+ color: $dark-gray;
+ border: 1px solid $light-gray;
+ padding: 6px 8px 6px 12px;
+ .clear-input {
+ margin-left: auto;
+ margin-right: 8px;
+ .svg-icon {
+ fill: transparent;
+ height: 8px;
+ width: 8px;
+ }
+ }
+ &:hover {
+ border-color: $gray;
+ .clear-input {
+ .svg-icon {
+ fill: initial;
+ }
+ }
+ }
+ .datepicker-text {
+ cursor: pointer;
+ @extend .body-1;
+ &.placeholder {
+ color: $light-gray;
+ }
+ }
+ .calendar-input {
+ fill: $light-gray;
+ }
+ .svg-icon-wrapper.calendar {
+ .svg-icon {
+ fill: $dark-gray;
+ width: 17px;
+ height: 17px;
+ }
+ }
+ }
+ /* Out of namespace context for datepicker */
+ div.customized-date-picker-calendar {
+ @import 'common/variables';
+ @import 'common/typography';
+ border-color: $light-gray;
+ //margin-top: -8px;
+ color: $black;
+ .react-datepicker__triangle {
+ margin-top: 0px;
+ display: none;
+ }
- }
- .calendar-input {
- fill: $light-gray;
- }
- .svg-icon-wrapper.calendar {
- .svg-icon {
- fill: $dark-gray;
- width: 17px;
- height: 17px;
- }
- }
- }
-}
+ .react-datepicker__navigation--previous::before,
+ .react-datepicker__navigation--next::before {
+ width: 8px;
+ height: 8px;
+ display: inline-block;
+ position: absolute;
+ top: -4px;
+ }
+ .react-datepicker__navigation--previous::before {
+ left: 0;
+ content: url(../../node_modules/sdc-ui/assets/icons/angleLeft.svg);
+ }
+ .react-datepicker__navigation--next::before {
+ right: 0;
+ content: url(../../node_modules/sdc-ui/assets/icons/angleRight.svg);
+ }
+
+ .react-datepicker__navigation--previous,
+ .react-datepicker__navigation--next {
+ border: none;
+ }
+
+ .react-datepicker__month-container {
+ .react-datepicker__header {
+ background-color: $background-gray;
+ border-bottom: none;
+ .react-datepicker__current-month {
+ @extend .body-1-semibold;
+ background-color: $background-gray;
+ margin-bottom: 10px;
+ }
+ .react-datepicker__day-names {
+ @extend .body-1;
+ background-color: $white;
+ }
+ }
+ .react-datepicker__day--selected,
+ .react-datepicker__day--keyboard-selected {
+ @extend .body-1;
+ background-color: $blue;
+ color: $white;
+ }
+ .react-datepicker__day {
+ border-radius: 0px;
+ margin: 0;
+ flex: 1;
+ @extend .body-1;
+ }
+ .react-datepicker__day--in-range,
+ .react-datepicker__day--in-selecting-range {
+ background-color: $tlv-hover;
+ color: $black;
+ &.react-datepicker__day--selected,
+ &.react-datepicker__day--keyboard-selected,
+ &.react-datepicker__day--range-start,
+ &.react-datepicker__day--range-end {
+ background-color: $blue;
+ color: $white;
+ }
+ &.react-datepicker__day--selecting-range-start,
+ &.react-datepicker__day--selecting-range-end {
+ background-color: lighten($blue, 40%);
+ color: $black;
+ }
+ &.react-datepicker__day--selecting-range-start.react-datepicker__day--range-start,
+ &.react-datepicker__day--selecting-range-end.react-datepicker__day--range-end,
+ &.react-datepicker__day--selecting-range-start.react-datepicker__day--keyboard-selected {
+ background-color: $blue;
+ color: $white;
+ }
+ }
+
+ .react-datepicker__week {
+ display: flex;
+ }
+ }
+ }
+}
diff --git a/openecomp-ui/resources/scss/components/_dropzone.scss b/openecomp-ui/resources/scss/components/_dropzone.scss
index 2479ae7f0c..31a67d9e6b 100644
--- a/openecomp-ui/resources/scss/components/_dropzone.scss
+++ b/openecomp-ui/resources/scss/components/_dropzone.scss
@@ -1,31 +1,30 @@
-
.active-dragging {
- border: 3px dashed $dark-blue;
- border-radius: 20px;
- .draggable-wrapper {
- opacity: 0.5;
- }
+ border: 3px dashed $dark-blue;
+ border-radius: 20px;
+ .draggable-wrapper {
+ opacity: 0.5;
+ }
}
.file-upload-box {
- @extend .body-1;
- display: flex;
- text-align: center;
- flex-direction: column;
- justify-content: center;
- border: 2px dashed $light-gray;
- padding-top: 20px;
- padding-bottom: 20px;
- width: 382px;
- align-items: center;
- .upload-btn {
- padding: 4px 20px;
- }
- .drag-text {
- color: $blue;
- @extend .body-1-semibold;
- }
- .or-text {
- margin-top: 10px;
- margin-bottom: 10px;
- }
+ @extend .body-1;
+ display: flex;
+ text-align: center;
+ flex-direction: column;
+ justify-content: center;
+ border: 2px dashed $light-gray;
+ padding-top: 20px;
+ padding-bottom: 20px;
+ width: 382px;
+ align-items: center;
+ .upload-btn {
+ padding: 4px 20px;
+ }
+ .drag-text {
+ color: $blue;
+ @extend .body-1-semibold;
+ }
+ .or-text {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ }
}
diff --git a/openecomp-ui/resources/scss/components/_dualListBox.scss b/openecomp-ui/resources/scss/components/_dualListBox.scss
index 0c7d82e31c..65702df88a 100644
--- a/openecomp-ui/resources/scss/components/_dualListBox.scss
+++ b/openecomp-ui/resources/scss/components/_dualListBox.scss
@@ -1,53 +1,53 @@
.dual-list-box {
- display: flex;
- margin: 25px 0 10px 0;
- .svg-icon.search {
- height: 14px;
- width: 14px;
- }
+ display: flex;
+ margin: 25px 0 10px 0;
+ .svg-icon.search {
+ height: 14px;
+ width: 14px;
+ }
- .dual-search-multi-select-section {
- flex: 1;
+ .dual-search-multi-select-section {
+ flex: 1;
- .dual-text-box-search {
- margin: 5px 0 30px 0;
- }
- .dual-list-box-multi-select {
- flex: 1 1;
- display: flex;
- height: 166px;
- margin-bottom: 0;
- select {
- width: 100%;
- margin: 0;
- padding: 0;
- overflow-y: scroll;
- height: inherit;
- option {
- padding: 4px 0 4px 10px;
+ .dual-text-box-search {
+ margin: 5px 0 30px 0;
+ }
+ .dual-list-box-multi-select {
+ flex: 1 1;
+ display: flex;
+ height: 166px;
+ margin-bottom: 0;
+ select {
+ width: 100%;
+ margin: 0;
+ padding: 0;
+ overflow-y: scroll;
+ height: inherit;
+ option {
+ padding: 4px 0 4px 10px;
+ }
+ }
+ option:checked {
+ background: $blue linear-gradient(0deg, $blue 0%, $blue 100%);
+ }
}
- }
- option:checked {
- background: $blue linear-gradient(0deg, $blue 0%, $blue 100%);
- }
}
- }
- .dual-list-options-bar {
- margin: 62px 54px 27px 54px;
- padding-top: 23px;
- .svg-icon {
- width: 14px;
- height: 14px;
- }
- .dual-list-option {
- text-align: center;
- line-height: 10px;
- font-size: 25px;
- width: 20px;
- height: 15px;
- cursor: pointer;
- margin-top: 20px;
- fill: $blue;
+ .dual-list-options-bar {
+ margin: 62px 54px 27px 54px;
+ padding-top: 23px;
+ .svg-icon {
+ width: 14px;
+ height: 14px;
+ }
+ .dual-list-option {
+ text-align: center;
+ line-height: 10px;
+ font-size: 25px;
+ width: 20px;
+ height: 15px;
+ cursor: pointer;
+ margin-top: 20px;
+ fill: $blue;
+ }
}
- }
}
diff --git a/openecomp-ui/resources/scss/components/_expandableInput.scss b/openecomp-ui/resources/scss/components/_expandableInput.scss
index 2484a73e8a..0508facbf4 100644
--- a/openecomp-ui/resources/scss/components/_expandableInput.scss
+++ b/openecomp-ui/resources/scss/components/_expandableInput.scss
@@ -1,56 +1,55 @@
.expandable-input-top {
- display: flex;
- height: 22px;
- .expandable-input-wrapper {
- display: flex;
- &.closed {
- .svg-icon
- {
- &.__search {
- height: 17px;
- width: 17px;
- transition: fill 0.5s ease-in;
- fill: $blue;
- cursor: pointer;
- &:hover {
- transition: fill 0.5s ease-in;
- fill: $dark-blue;
- }
- }
- }
- }
- &.opened {
- .svg-icon-wrapper {
- margin-left: 3px;
- }
- .svg-icon {
- &.__search {
- height: 17px;
- width: 17px;
- fill: $dark-blue;
- }
- }
- .svg-icon {
- &.__close {
- margin-left: 7px;
- opacity: 0.6;
- fill: $dark-gray;
- &:hover {
- opacity: 1;
- }
- }
- }
- }
- .expandable-input-control {
- .form-control {
- border: none;
- background-color: transparent;
- border-radius: 0;
- border-bottom: 1px solid $gray;
- height: 22px;
- padding: 0 5px;
- }
- margin: 0;
- }
- }
+ display: flex;
+ height: 22px;
+ .expandable-input-wrapper {
+ display: flex;
+ &.closed {
+ .svg-icon {
+ &.__search {
+ height: 17px;
+ width: 17px;
+ transition: fill 0.5s ease-in;
+ fill: $blue;
+ cursor: pointer;
+ &:hover {
+ transition: fill 0.5s ease-in;
+ fill: $dark-blue;
+ }
+ }
+ }
+ }
+ &.opened {
+ .svg-icon-wrapper {
+ margin-left: 3px;
+ }
+ .svg-icon {
+ &.__search {
+ height: 17px;
+ width: 17px;
+ fill: $dark-blue;
+ }
+ }
+ .svg-icon {
+ &.__close {
+ margin-left: 7px;
+ opacity: 0.6;
+ fill: $dark-gray;
+ &:hover {
+ opacity: 1;
+ }
+ }
+ }
+ }
+ .expandable-input-control {
+ .form-control {
+ border: none;
+ background-color: transparent;
+ border-radius: 0;
+ border-bottom: 1px solid $gray;
+ height: 22px;
+ padding: 0 5px;
+ }
+ margin: 0;
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/components/_forms.scss b/openecomp-ui/resources/scss/components/_forms.scss
index 58e843047f..40c1aa16c4 100644
--- a/openecomp-ui/resources/scss/components/_forms.scss
+++ b/openecomp-ui/resources/scss/components/_forms.scss
@@ -1,76 +1,76 @@
.section-title {
- @extend .heading-3-semibold;
- padding: 50px 0 20px 0;
- &:first-child {
- padding-top: 0;
- }
+ @extend .heading-3-semibold;
+ padding: 50px 0 20px 0;
+ &:first-child {
+ padding-top: 0;
+ }
}
.validation-form-content {
- fieldset[disabled] {
- .form-group {
- opacity: 0.7;
- cursor: auto;
- pointer-events: none;
- .dropdown-multi-select {
- .form-group {
- opacity: 1;
- }
- .Select-control {
- background-color: $tlv-light-gray;
- }
- }
- }
- }
+ fieldset[disabled] {
+ .form-group {
+ opacity: 0.7;
+ cursor: auto;
+ pointer-events: none;
+ .dropdown-multi-select {
+ .form-group {
+ opacity: 1;
+ }
+ .Select-control {
+ background-color: $tlv-light-gray;
+ }
+ }
+ }
+ }
}
.dropdown-multi-select {
- .Select {
- display: block;
- width: 100%;
- .Select-menu-outer {
- .Select-option {
- &:hover {
- background-color: $blue;
- color: $white;
- }
- }
- }
- .Select-control {
- height: 28px;
- border-radius: 2px;
- .Select-input {
- height: 28px;
- input {
- height: 28px;
- padding: 0;
+ .Select {
+ display: block;
+ width: 100%;
+ .Select-menu-outer {
+ .Select-option {
+ &:hover {
+ background-color: $blue;
+ color: $white;
+ }
+ }
+ }
+ .Select-control {
+ height: 28px;
+ border-radius: 2px;
+ .Select-input {
+ height: 28px;
+ input {
+ height: 28px;
+ padding: 0;
+ }
+ }
+ .Select-placeholder {
+ line-height: 30px;
+ }
+ }
+ &.Select--multi {
+ .Select-value {
+ color: $text-black;
+ background-color: $background-gray;
+ border: none;
+ margin: 3px 0 3px 10px;
+ border-radius: 10px;
+ padding-left: 8px;
+ padding-right: 6px;
+ }
+ .Select-value-icon {
+ border: none;
+ float: right;
+ &:hover {
+ background-color: inherit;
+ color: inherit;
+ }
+ }
+ .Select-arrow-zone {
+ padding-top: 4px;
+ }
}
- }
- .Select-placeholder {
- line-height: 30px;
- }
- }
- &.Select--multi {
- .Select-value {
- color: $text-black;
- background-color: $background-gray;
- border: none;
- margin: 3px 0 3px 10px;
- border-radius: 10px;
- padding-left: 8px;
- padding-right: 6px;
- }
- .Select-value-icon {
- border: none;
- float: right;
- &:hover {
- background-color: inherit;
- color: inherit;
- }
- }
- .Select-arrow-zone {
- padding-top: 4px;
- }
}
- }
}
diff --git a/openecomp-ui/resources/scss/components/_grid.scss b/openecomp-ui/resources/scss/components/_grid.scss
index f210b64df6..595b0cde4d 100644
--- a/openecomp-ui/resources/scss/components/_grid.scss
+++ b/openecomp-ui/resources/scss/components/_grid.scss
@@ -1,71 +1,71 @@
.grid-section {
- $gridItemSpace: 15%;
+ $gridItemSpace: 15%;
- @mixin gridCol($numOfCols, $flexBasis) {
- .#{grid-col- + $numOfCols} {
- @extend %grid-col-base;
- flex-basis: $flexBasis;
- &:not(.last-col-in-row):after {
- flex-basis: $gridItemSpace / $numOfCols;
- content: ' ';
- }
+ @mixin gridCol($numOfCols, $flexBasis) {
+ .#{grid-col- + $numOfCols} {
+ @extend %grid-col-base;
+ flex-basis: $flexBasis;
+ &:not(.last-col-in-row):after {
+ flex-basis: $gridItemSpace / $numOfCols;
+ content: ' ';
+ }
+ }
}
- }
- @mixin gridColWithLastColumn($numOfCols, $flexBasis, $flexBasisLast) {
- .#{grid-col- + $numOfCols} {
- @extend %grid-col-base;
- &:not(.last-col-in-row) {
- flex-basis: $flexBasis;
- margin-right: 5%;
- }
- &.last-col-in-row {
- flex-basis: $flexBasisLast;
- }
+ @mixin gridColWithLastColumn($numOfCols, $flexBasis, $flexBasisLast) {
+ .#{grid-col- + $numOfCols} {
+ @extend %grid-col-base;
+ &:not(.last-col-in-row) {
+ flex-basis: $flexBasis;
+ margin-right: 5%;
+ }
+ &.last-col-in-row {
+ flex-basis: $flexBasisLast;
+ }
+ }
}
- }
- &:not(:last-of-type) {
- padding-bottom: 30px;
- }
+ &:not(:last-of-type) {
+ padding-bottom: 30px;
+ }
- .grid-items {
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- }
+ .grid-items {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ }
- %grid-col-base {
- flex-shrink: 0;
- display: flex;
- }
+ %grid-col-base {
+ flex-shrink: 0;
+ display: flex;
+ }
- .grid-item {
- flex: 1;
- display: flex;
- flex-direction: column;
- }
+ .grid-item {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ }
- .grid-item-stretch {
- @extend .grid-item;
- & *:last-child {
- flex: 1;
- display: flex;
- flex-direction: column;
+ .grid-item-stretch {
+ @extend .grid-item;
+ & *:last-child {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ }
}
- }
- &.has-last-col-set {
- @include gridColWithLastColumn(1, 21%, 22%);
- @include gridColWithLastColumn(2, 47%, 48%);
- @include gridColWithLastColumn(3, 73%, 74%);
- @include gridColWithLastColumn(4, 100%, 100%);
- }
+ &.has-last-col-set {
+ @include gridColWithLastColumn(1, 21%, 22%);
+ @include gridColWithLastColumn(2, 47%, 48%);
+ @include gridColWithLastColumn(3, 73%, 74%);
+ @include gridColWithLastColumn(4, 100%, 100%);
+ }
- &:not(.has-last-col-set) {
- @include gridCol(1, 25%);
- @include gridCol(2, 50%);
- @include gridCol(3, 75%);
- @include gridCol(4, 100%);
- }
+ &:not(.has-last-col-set) {
+ @include gridCol(1, 25%);
+ @include gridCol(2, 50%);
+ @include gridCol(3, 75%);
+ @include gridCol(4, 100%);
+ }
}
diff --git a/openecomp-ui/resources/scss/components/_inputOptions.scss b/openecomp-ui/resources/scss/components/_inputOptions.scss
index face03d64d..eb0fe79ea6 100644
--- a/openecomp-ui/resources/scss/components/_inputOptions.scss
+++ b/openecomp-ui/resources/scss/components/_inputOptions.scss
@@ -1,85 +1,84 @@
.disabled {
- .Select-control {
- background-color: $tlv-light-gray;
- .Select-placeholder {
- color: $dark-gray;
- }
- }
+ .Select-control {
+ background-color: $tlv-light-gray;
+ .Select-placeholder {
+ color: $dark-gray;
+ }
+ }
}
.input-options {
- display: flex;
- border: 1px solid $light-gray;
- border-radius: 2px;
- height: 30px;
- &:hover {
- border-color: $gray;
- }
- .input-options-select {
- float: left;
- border: none;
- transition-property: width;
- transition-duration: 300ms;
- padding-top:0px;
- padding-bottom: 0px;
- height:28px;
-
- }
-
- .input-options-other{
- float: left;
+ display: flex;
+ border: 1px solid $light-gray;
+ border-radius: 2px;
height: 30px;
- border: none;
- padding-top:0px;
- padding-bottom: 0px;
- height:28px;
- }
- .input-options-separator {
- width: 1px;
- height: 24px;
- margin-top: 2px;
- margin-bottom: 2px;
- border:1px solid $light-gray;
- }
+ &:hover {
+ border-color: $gray;
+ }
+ .input-options-select {
+ float: left;
+ border: none;
+ transition-property: width;
+ transition-duration: 300ms;
+ padding-top: 0px;
+ padding-bottom: 0px;
+ height: 28px;
+ }
+
+ .input-options-other {
+ float: left;
+ height: 30px;
+ border: none;
+ padding-top: 0px;
+ padding-bottom: 0px;
+ height: 28px;
+ }
+ .input-options-separator {
+ width: 1px;
+ height: 24px;
+ margin-top: 2px;
+ margin-bottom: 2px;
+ border: 1px solid $light-gray;
+ }
}
.input-options.has-error {
- border-color: $crimson;
+ border-color: $crimson;
}
.bootstrap-input-options {
- display: flex;
- flex-direction: column;
- .input-options-select {
- border: 1px solid $light-gray;
- border-radius: 2px;
- height: 30px;
- float: left;
- transition-property: width;
- transition-duration: 300ms;
- padding-top: 0px;
- padding-bottom: 0px;
- width: 100%;
- &:hover {
- border-color: $gray;
- }
- }
- .input-options-other {
- float: left;
- height: 30px;
- border: none;
- padding-top: 0px;
- padding-bottom: 0px;
- height: 28px;
- }
- .input-options-separator {
- width: 1px;
- height: 24px;
- margin-top: 2px;
- margin-bottom: 2px;
- border: 1px solid $light-gray;
- }
- &.has-error {
- border-color: $crimson;
- }
+ display: flex;
+ flex-direction: column;
+ .input-options-select {
+ border: 1px solid $light-gray;
+ border-radius: 2px;
+ height: 30px;
+ float: left;
+ transition-property: width;
+ transition-duration: 300ms;
+ padding-top: 0;
+ padding-bottom: 0;
+ width: 100%;
+ &:hover {
+ border-color: $gray;
+ }
+ }
+ .input-options-other {
+ float: left;
+ height: 30px;
+ border: none;
+ padding-top: 0;
+ padding-bottom: 0;
+ height: 28px;
+ }
+ .input-options-separator {
+ width: 1px;
+ height: 24px;
+ margin-top: 2px;
+ margin-bottom: 2px;
+ border: 1px solid $light-gray;
+ }
+ &.has-error {
+ border-color: $crimson;
+ }
}
diff --git a/openecomp-ui/resources/scss/components/_listEditorView.scss b/openecomp-ui/resources/scss/components/_listEditorView.scss
index 354a6a1f70..9bda78e007 100644
--- a/openecomp-ui/resources/scss/components/_listEditorView.scss
+++ b/openecomp-ui/resources/scss/components/_listEditorView.scss
@@ -1,162 +1,160 @@
.list-editor-view {
- @extend .flex-column;
- background-color: $content-background-color;
-
- .expandble-search-wrapper {
- display: flex;
- justify-content: flex-end;
- margin-top: 10px;
- }
-
- .list-editor-view-header {
- display: flex;
- justify-content: space-between;
- align-items: flex-end;
- border-bottom: 1px solid $light-gray;
- padding-bottom: 5px;
- .list-editor-view-title {
- @extend .heading-3-semibold;
- }
- }
-
- .list-editor-view-list-scroller {
- @extend .flex;
- overflow: auto;
- margin: 18px 0 30px 0;
- }
-
- .list-editor-view-list {
@extend .flex-column;
+ background-color: $content-background-color;
- .list-editor-item-view {
- margin: 8px 0;
- border: 1px solid $light-gray;
- background-color: $white;
- display: flex;
- min-height: 100px;
- overflow: hidden;
- .list-editor-item-view-content {
- padding: 10px 28px;
+ .expandble-search-wrapper {
display: flex;
- flex: 1 1;
- .list-editor-item-view-field {
- flex: 1 1;
- color: $black;
- padding: 0;
- @include ellipsis;
- overflow-wrap: break-word;
- white-space: initial;
-
+ justify-content: flex-end;
+ margin-top: 10px;
+ }
- .number-field {
- align-content: center;
- }
- .title {
- @extend .body-1;
- padding-bottom: 5px;
- &:not(:first-child) {
- line-height: 0.9;
- }
- }
- .description {
- @include multiline-ellipsis(1.3em, 3);
- }
- .text {
- @extend .body-1;
- }
- .textEllipses {
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
- padding-right: 5px;
- }
- }
- }
- .list-editor-item-view-controller {
+ .list-editor-view-header {
display: flex;
- flex-basis: 5%;
- align-self: center;
- justify-content: center;
- flex-direction: column;
- .svg-icon-wrapper {
- &:first-child {
- margin-bottom: 10px;
- }
- }
- .svg-icon {
- margin-top: 5px;
- transition: fill .3s;
- fill: $white;
- }
- }
- &.selectable:hover{
- @extend .box-hover;
- cursor: pointer;
- .list-editor-item-view-controller {
- .svg-icon {
- fill: $dark-gray;
- &:hover {
- fill: $black;
- }
- }
+ justify-content: space-between;
+ align-items: flex-end;
+ border-bottom: 1px solid $light-gray;
+ padding-bottom: 5px;
+ .list-editor-view-title {
+ @extend .heading-3-semibold;
}
- }
}
- &.two-columns {
- flex-direction: row;
- flex-wrap: wrap;
+ .list-editor-view-list-scroller {
+ @extend .flex;
+ overflow: auto;
+ margin: 18px 0 30px 0;
+ }
+
+ .list-editor-view-list {
+ @extend .flex-column;
- .list-editor-item-view {
- .list-editor-item-view-content {
- display: flex;
- flex-direction: row;
- align-items: center;
- padding: 10px 18px 10px 0;
- .list-editor-item-view-field {
- flex: 0.3 1;
+ .list-editor-item-view {
+ margin: 8px 0;
+ border: 1px solid $light-gray;
+ background-color: $white;
display: flex;
- justify-content: center;
- flex-direction: column;
- height: 100%;
- border-right : 1px solid $light-gray;
- margin-left: 18px;
- &:last-child{
- border: none;
- flex: 1;
- }
- .details{
- display: flex;
- flex-direction: row;
- .title {
- padding: 0;
- margin-right: 5px;
- }
- }
+ min-height: 100px;
+ overflow: hidden;
+ .list-editor-item-view-content {
+ padding: 10px 28px;
+ display: flex;
+ flex: 1 1;
+ .list-editor-item-view-field {
+ flex: 1 1;
+ color: $black;
+ padding: 0;
+ @include ellipsis;
+ overflow-wrap: break-word;
+ white-space: initial;
- .details-col{
- flex-direction: column;
- .title {
- padding-bottom: 0;
- }
+ .number-field {
+ align-content: center;
+ }
+ .title {
+ @extend .body-1;
+ padding-bottom: 5px;
+ &:not(:first-child) {
+ line-height: 0.9;
+ }
+ }
+ .description {
+ @include multiline-ellipsis(1.3em, 3);
+ }
+ .text {
+ @extend .body-1;
+ }
+ .textEllipses {
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ padding-right: 5px;
+ }
+ }
}
-
- .description {
- @extend .body-1;
- @include multiline-ellipsis(1.3em, 3);
+ .list-editor-item-view-controller {
+ display: flex;
+ flex-basis: 5%;
+ align-self: center;
+ justify-content: center;
+ flex-direction: column;
+ .svg-icon-wrapper {
+ &:first-child {
+ margin-bottom: 10px;
+ }
+ }
+ .svg-icon {
+ margin-top: 5px;
+ transition: fill 0.3s;
+ fill: $white;
+ }
+ }
+ &.selectable:hover {
+ @extend .box-hover;
+ cursor: pointer;
+ .list-editor-item-view-controller {
+ .svg-icon {
+ fill: $dark-gray;
+ &:hover {
+ fill: $black;
+ }
+ }
+ }
}
- }
}
+ &.two-columns {
+ flex-direction: row;
+ flex-wrap: wrap;
- &:nth-child(odd){
- flex: 0 0 48.5%;
- margin-right: 50px;
- }
- &:nth-child(even) {
- flex: 1;
- margin-right: 0;
+ .list-editor-item-view {
+ .list-editor-item-view-content {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ padding: 10px 18px 10px 0;
+ .list-editor-item-view-field {
+ flex: 0.3 1;
+ display: flex;
+ justify-content: center;
+ flex-direction: column;
+ height: 100%;
+ border-right: 1px solid $light-gray;
+ margin-left: 18px;
+ &:last-child {
+ border: none;
+ flex: 1;
+ }
+ .details {
+ display: flex;
+ flex-direction: row;
+ .title {
+ padding: 0;
+ margin-right: 5px;
+ }
+ }
+
+ .details-col {
+ flex-direction: column;
+ .title {
+ padding-bottom: 0;
+ }
+ }
+
+ .description {
+ @extend .body-1;
+ @include multiline-ellipsis(1.3em, 3);
+ }
+ }
+ }
+
+ &:nth-child(odd) {
+ flex: 0 0 48.5%;
+ margin-right: 50px;
+ }
+ &:nth-child(even) {
+ flex: 1;
+ margin-right: 0;
+ }
+ }
}
- }
}
- }
}
diff --git a/openecomp-ui/resources/scss/components/_loader.scss b/openecomp-ui/resources/scss/components/_loader.scss
index ddff9af6e3..ee7f6f372d 100644
--- a/openecomp-ui/resources/scss/components/_loader.scss
+++ b/openecomp-ui/resources/scss/components/_loader.scss
@@ -1,159 +1,159 @@
.onboarding-loader {
- .onboarding-loader-backdrop {
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- position: absolute;
- background-color: #E1E4E6;
- opacity: 0.5;
- }
- .tlv-loader {
- height: 63px;
- width: 63px;
- position: absolute;
- top: 30%;
- left: 50%;
- margin-top: -10.5px;
- margin-left: -10.5px;
- }
- .tlv-loader.large {
- transform: scale(1);
- }
- .tlv-loader::before {
- background-color: $gray;
- border-radius: 50%;
- box-shadow: 21px 21px 0px 0px $gray, 0px 42px 0px 0px $gray, -21px 21px 0px 0px $gray;
- content: '';
- display: block;
- height: 21px;
- width: 21px;
- position: absolute;
- left: 50%;
- margin-left: -10.5px;
- }
- .tlv-loader::after {
- border-radius: 50%;
- content: '';
- display: block;
- position: absolute;
- height: 21px;
- width: 21px;
- animation: dot-move-2 4.5s infinite ease-in;
- }
- @keyframes dot-move {
- 0% {
- background-color: $blue;
- left: 21px;
- top: 0;
+ .onboarding-loader-backdrop {
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ position: absolute;
+ background-color: $loader-background;
+ opacity: 0.5;
+ }
+ .tlv-loader {
+ height: 63px;
+ width: 63px;
+ position: absolute;
+ top: 30%;
+ left: 50%;
+ margin-top: -10.5px;
+ margin-left: -10.5px;
+ }
+ .tlv-loader.large {
+ transform: scale(1);
+ }
+ .tlv-loader::before {
+ background-color: $gray;
+ border-radius: 50%;
+ box-shadow: 21px 21px 0px 0px $gray, 0px 42px 0px 0px $gray,
+ -21px 21px 0px 0px $gray;
+ content: '';
+ display: block;
+ height: 21px;
+ width: 21px;
+ position: absolute;
+ left: 50%;
+ margin-left: -10.5px;
+ }
+ .tlv-loader::after {
+ border-radius: 50%;
+ content: '';
+ display: block;
+ position: absolute;
+ height: 21px;
+ width: 21px;
+ animation: dot-move-2 4.5s infinite ease-in;
+ }
+ @keyframes dot-move {
+ 0% {
+ background-color: $blue;
+ left: 21px;
+ top: 0;
+ }
+ 25% {
+ background-color: $orange;
+ left: 42px;
+ top: 21px;
+ }
+ 50% {
+ background-color: $light-purple;
+ left: 21px;
+ top: 42px;
+ }
+ 75% {
+ background-color: $light-green;
+ left: 0;
+ top: 21px;
+ }
+ 100% {
+ background-color: $blue;
+ left: 21px;
+ top: 0;
+ }
+ }
+ @keyframes dot-move-2 {
+ 0% {
+ background-color: $blue;
+ left: 21px;
+ top: 0;
+ }
+ 6.25% {
+ background-color: $blue;
+ left: 42px;
+ top: 21px;
+ }
+ 12.5% {
+ background-color: $blue;
+ left: 21px;
+ top: 42px;
+ }
+ 18.75% {
+ background-color: $blue;
+ left: 0;
+ top: 21px;
+ }
+ 25% {
+ background-color: $orange;
+ left: 21px;
+ top: 0;
+ }
+ 31.25% {
+ background-color: $orange;
+ left: 42px;
+ top: 21px;
+ }
+ 37.5% {
+ background-color: $orange;
+ left: 21px;
+ top: 42px;
+ }
+ 43.75% {
+ background-color: $orange;
+ left: 0;
+ top: 21px;
+ }
+ 50% {
+ background-color: $light-purple;
+ left: 21px;
+ top: 0;
+ }
+ 56.25% {
+ background-color: $light-purple;
+ left: 42px;
+ top: 21px;
+ }
+ 62.5% {
+ background-color: $light-purple;
+ left: 21px;
+ top: 42px;
+ }
+ 68.75% {
+ background-color: $light-purple;
+ left: 0;
+ top: 21px;
+ }
+ 75% {
+ background-color: $light-green;
+ left: 21px;
+ top: 0;
+ }
+ 81.25% {
+ background-color: $light-green;
+ left: 42px;
+ top: 21px;
+ }
+ 87.5% {
+ background-color: $light-green;
+ left: 21px;
+ top: 42px;
+ }
+ 93.75% {
+ background-color: $light-green;
+ left: 0;
+ top: 21px;
+ }
+ 100% {
+ background-color: $blue;
+ left: 21px;
+ top: 0;
+ }
}
- 25% {
- background-color: $orange;
- left: 42px;
- top: 21px;
- }
- 50% {
- background-color: $light-purple;
- left: 21px;
- top: 42px;
- }
- 75% {
- background-color: $light-green;
- left: 0;
- top: 21px;
- }
- 100% {
- background-color: $blue;
- left: 21px;
- top: 0;
- }
- }
- @keyframes dot-move-2 {
- 0% {
- background-color: $blue;
- left: 21px;
- top: 0;
- }
- 6.25% {
- background-color: $blue;
- left: 42px;
- top: 21px;
- }
- 12.5% {
- background-color: $blue;
- left: 21px;
- top: 42px;
- }
- 18.75% {
- background-color: $blue;
- left: 0;
- top: 21px;
- }
- 25% {
- background-color: $orange;
- left: 21px;
- top: 0;
- }
- 31.25% {
- background-color: $orange;
- left: 42px;
- top: 21px;
- }
- 37.5% {
- background-color: $orange;
- left: 21px;
- top: 42px;
- }
- 43.75% {
- background-color: $orange;
- left: 0;
- top: 21px;
- }
- 50% {
- background-color: $light-purple;
- left: 21px;
- top: 0;
- }
- 56.25% {
- background-color: $light-purple;
- left: 42px;
- top: 21px;
- }
- 62.5% {
- background-color: $light-purple;
- left: 21px;
- top: 42px;
- }
- 68.75% {
- background-color: $light-purple;
- left: 0;
- top: 21px;
- }
- 75% {
- background-color: $light-green;
- left: 21px;
- top: 0;
- }
- 81.25% {
- background-color: $light-green;
- left: 42px;
- top: 21px;
- }
- 87.5% {
- background-color: $light-green;
- left: 21px;
- top: 42px;
- }
- 93.75% {
- background-color: $light-green;
- left: 0;
- top: 21px;
- }
- 100% {
- background-color: $blue;
- left: 21px;
- top: 0;
- }
- }
}
-
diff --git a/openecomp-ui/resources/scss/components/_navigationSideBar.scss b/openecomp-ui/resources/scss/components/_navigationSideBar.scss
index ab4d15fd90..adb3688e5f 100644
--- a/openecomp-ui/resources/scss/components/_navigationSideBar.scss
+++ b/openecomp-ui/resources/scss/components/_navigationSideBar.scss
@@ -1,63 +1,63 @@
.software-product-navigation-side-bar {
- width: 245px;
- height: 100%;
- background-color: $white;
- border-right: 1px solid $light-gray;
- @include box-shadow(1px -1px 3px 0px $tlv-light-gray);
- border-bottom: 0;
-
- .navigation-side-content {
- overflow: hidden;
+ width: 245px;
height: 100%;
+ background-color: $white;
+ border-right: 1px solid $light-gray;
+ @include box-shadow(1px -1px 3px 0px $tlv-light-gray);
+ border-bottom: 0;
- .navigation-group {
- height: 100%;
- display: flex;
- flex-direction: column;
- background-color: $tlv-gray;
- .group-name {
- @extend .heading-4-semibold;
- @include ellipsis;
- min-height: 70px;
- display: block;
- height: 70px;
- padding: 24px 12px 13px 40px;
- background-color: $white;
- border-bottom: 1px solid $tlv-light-gray;
- }
- }
+ .navigation-side-content {
+ overflow: hidden;
+ height: 100%;
- .navigation-group-items {
- padding-left: 20px;
- overflow-y: auto;
+ .navigation-group {
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ background-color: $tlv-gray;
+ .group-name {
+ @extend .heading-4-semibold;
+ @include ellipsis;
+ min-height: 70px;
+ display: block;
+ height: 70px;
+ padding: 24px 12px 13px 40px;
+ background-color: $white;
+ border-bottom: 1px solid $tlv-light-gray;
+ }
+ }
- .navigation-group-item {
- @extend .body-1;
- cursor: pointer;
- margin: 18px 0;
- padding-left: 20px;
- color: $dark-gray;
- line-height: 17px;
- &.selected-item {
- padding-left: 0;
- .collapse.in {
+ .navigation-group-items {
padding-left: 20px;
- }
- }
- .navigation-group-item-name {
- @include ellipsis;
- white-space: normal;
- &.selected {
- @extend .body-1-semibold;
- border-left: 4px solid $blue;
- padding-left: 18px;
- color: $blue;
- }
- &.bold-name {
- @extend .body-1-semibold;
- }
+ overflow-y: auto;
+
+ .navigation-group-item {
+ @extend .body-1;
+ cursor: pointer;
+ margin: 18px 0;
+ padding-left: 20px;
+ color: $dark-gray;
+ line-height: 17px;
+ &.selected-item {
+ padding-left: 0;
+ .collapse.in {
+ padding-left: 20px;
+ }
+ }
+ .navigation-group-item-name {
+ @include ellipsis;
+ white-space: normal;
+ &.selected {
+ @extend .body-1-semibold;
+ border-left: 4px solid $blue;
+ padding-left: 18px;
+ color: $blue;
+ }
+ &.bold-name {
+ @extend .body-1-semibold;
+ }
+ }
+ }
}
- }
}
- }
}
diff --git a/openecomp-ui/resources/scss/components/_notifications.scss b/openecomp-ui/resources/scss/components/_notifications.scss
deleted file mode 100644
index 5b10dee0ee..0000000000
--- a/openecomp-ui/resources/scss/components/_notifications.scss
+++ /dev/null
@@ -1,35 +0,0 @@
-
-.notification-modal {
-
- .modal-content {
- .modal-header {
- padding: 15px 10px 10px;
- .modal-title {
- @extend .heading-5-semibold;
- }
- }
- .modal-body {
- padding: 30px 15px;
- @extend .body-1-semibold;
- }
- }
-
- &.danger {
- .modal-content .modal-header {
- border-top: 3px solid $red;
- }
- }
-
- &.negative {
- .modal-content .modal-header {
- border-top: 3px solid $red;
- }
- }
-
- &.warning {
- .modal-content .modal-header {
- border-top: 3px solid $yellow;
- }
- }
-
-}
diff --git a/openecomp-ui/resources/scss/components/_overlay.scss b/openecomp-ui/resources/scss/components/_overlay.scss
index 7c310bf1a6..3d2d0bbaae 100644
--- a/openecomp-ui/resources/scss/components/_overlay.scss
+++ b/openecomp-ui/resources/scss/components/_overlay.scss
@@ -1,26 +1,26 @@
.onboarding-overlay {
- z-index: 1000;
- border: 1px solid $light-gray;
- position: absolute;
- background-color: $white;
- border-radius: 2px;
- box-shadow: 0 3px 7px 1px rgba(0, 0, 0, 0.2);
- display: flex;
- flex-direction: column;
- justify-content: space-around;
- margin-top: 5px;
- margin-left: -86px;
- .arrow-up {
- width: 0;
- height: 0;
- border-left: 5px solid transparent;
- border-right: 5px solid transparent;
- background-color: transparent;
- border-bottom: 5px solid $blue;
- margin-left: 114px;
- margin-top: -5px;
- }
- .arrow-border {
- border-top: 5px solid $blue;
- }
-} \ No newline at end of file
+ z-index: 1000;
+ border: 1px solid $light-gray;
+ position: absolute;
+ background-color: $white;
+ border-radius: 2px;
+ box-shadow: 0 3px 7px 1px rgba(0, 0, 0, 0.2);
+ display: flex;
+ flex-direction: column;
+ justify-content: space-around;
+ margin-top: 5px;
+ margin-left: -86px;
+ .arrow-up {
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ background-color: transparent;
+ border-bottom: 5px solid $blue;
+ margin-left: 114px;
+ margin-top: -5px;
+ }
+ .arrow-border {
+ border-top: 5px solid $blue;
+ }
+}
diff --git a/openecomp-ui/resources/scss/components/_progressBar.scss b/openecomp-ui/resources/scss/components/_progressBar.scss
index 040c8cefd7..5529a550c5 100644
--- a/openecomp-ui/resources/scss/components/_progressBar.scss
+++ b/openecomp-ui/resources/scss/components/_progressBar.scss
@@ -1,24 +1,24 @@
- .progress-bar-view {
+.progress-bar-view {
display: -webkit-box;
padding: 5px;
.progress-bar-outside {
- display: flex;
- width: 90%;
- justify-content: space-between;
- background-color: lightgray;
- border-radius: 15px;
- height: 10px;
- .progress-bar-inside {
- display: block;
- border: 1px solid gainsboro;
- background-color: #4faa39;
- border-radius: inherit;
- }
+ display: flex;
+ width: 90%;
+ justify-content: space-between;
+ background-color: lightgray;
+ border-radius: 15px;
+ height: 10px;
+ .progress-bar-inside {
+ display: block;
+ border: 1px solid gainsboro;
+ background-color: #4faa39;
+ border-radius: inherit;
+ }
}
.progress-bar-view-label {
- margin-right: -30px;
- margin-top: -2px;
- margin-left: 10px;
- color: black;
- }
- }
+ margin-right: -30px;
+ margin-top: -2px;
+ margin-left: 10px;
+ color: black;
+ }
+}
diff --git a/openecomp-ui/resources/scss/components/_selectActionTable.scss b/openecomp-ui/resources/scss/components/_selectActionTable.scss
index fa8eb3110c..90b45a5a49 100644
--- a/openecomp-ui/resources/scss/components/_selectActionTable.scss
+++ b/openecomp-ui/resources/scss/components/_selectActionTable.scss
@@ -1,145 +1,146 @@
.select-action-table-view {
- .svg-icon-wrapper {
- flex-direction: row;
- .svg-icon {
- &:not(.__plus) {
- margin-left: 5px;
- margin-right: 5px;
- width:16px;
- height:16px;
- }
- }
- }
- .dummy-icon {
- background-color: $white;
- fill: $white;
- .locked {
- fill: $white;
- }
- }
+ .svg-icon-wrapper {
+ flex-direction: row;
+ .svg-icon {
+ &:not(.__plus) {
+ margin-left: 5px;
+ margin-right: 5px;
+ width: 16px;
+ height: 16px;
+ }
+ }
+ }
+ .dummy-icon {
+ background-color: $white;
+ fill: $white;
+ .locked {
+ fill: $white;
+ }
+ }
- .select-action-table-controllers {
- display: flex;
- .svg-icon-wrapper {
- &:hover {
- cursor: pointer;
- }
- &:first-child {
- margin-left: auto;
- }
- }
- }
- .select-action-table {
- display: flex;
- flex-direction: column;
- border-color: $light-gray;
+ .select-action-table-controllers {
+ display: flex;
+ .svg-icon-wrapper {
+ &:hover {
+ cursor: pointer;
+ }
+ &:first-child {
+ margin-left: auto;
+ }
+ }
+ }
+ .select-action-table {
+ display: flex;
+ flex-direction: column;
+ border-color: $light-gray;
- .select-action-table-headers {
- display: flex;
- background-color: $tlv-light-gray;
- border-color: inherit;
- .select-action-table-header {
- @extend .body-1-semibold;
- flex: 1;
- border-top: 1px solid;
- border-right: 1px solid;
- border-color: inherit;
- padding: 8px 0 7px 20px;
- &:first-child {
- border-left: 1px solid;
- border-color: inherit;
- }
- }
- }
- .select-action-table-row-wrapper {
- display: flex;
- flex-direction: row;
- margin-bottom: 14px;
- .svg-icon-wrapper.hideDelete {
- .svg-icon {
- fill: $white;
- }
- }
- .select-action-table-row {
- display: flex;
- flex: 1;
- border: 1px solid;
- border-color: $light-gray;
- &.has-error {
- border-color: $red;
- }
+ .select-action-table-headers {
+ display: flex;
+ background-color: $tlv-light-gray;
+ border-color: inherit;
+ .select-action-table-header {
+ @extend .body-1-semibold;
+ flex: 1;
+ border-top: 1px solid;
+ border-right: 1px solid;
+ border-color: inherit;
+ padding: 8px 0 7px 20px;
+ &:first-child {
+ border-left: 1px solid;
+ border-color: inherit;
+ }
+ }
+ }
+ .select-action-table-row-wrapper {
+ display: flex;
+ flex-direction: row;
+ margin-bottom: 14px;
+ .svg-icon-wrapper.hideDelete {
+ .svg-icon {
+ fill: $white;
+ }
+ }
+ .select-action-table-row {
+ display: flex;
+ flex: 1;
+ border: 1px solid;
+ border-color: $light-gray;
+ &.has-error {
+ border-color: $red;
+ }
- .select-action-table-cell {
- flex: 1;
- border-right: 1px solid;
- border-color: $light-gray;
- @extend .body-1;
- .dropdown-multi-select {
- .form-group {
- .Select{
- &.is-open {
- border: 1px solid $blue;
- }
- }
- }
- }
- .form-group {
- margin: 0;
- .Select-control {
- height:36px;
- border: none;
- .is-open {
- border-left-color: $blue;
- border-right-color: $blue;
- }
- .Select-value, .Select-placeholder, .Select-input {
- padding-left: 20px;
- padding-right: 50px;
- padding-top: 4px;
-
- }
- .Select-placeholder {
- color: $dark-gray;
- }
- .Select-arrow-zone {
- padding-right: 15px;
- }
- }
- }
- &:last-child {
- border-right: none;
- }
- }
- .Select-menu-outer {
- border-left: 1px solid $blue;
- border-right: 1px solid $blue;
- border-bottom: 1px solid $blue;
- overflow: auto;
- .Select-menu {
- .Select-option {
- overflow: hidden;
- text-overflow: ellipsis;
- border-bottom: 1px solid $light-gray;
- &:hover {
- background-color: $blue;
- color: $white;
- &.is-focused {
- background-color: $blue;
- }
- &.is-focused {
- background-color: $blue;
- }
- }
- &.is-selected {
- background-color: transparent;
- }
- &.is-focused {
- background-color: transparent;
- }
- }
- }
- }
- }
- }
- }
+ .select-action-table-cell {
+ flex: 1;
+ border-right: 1px solid;
+ border-color: $light-gray;
+ @extend .body-1;
+ .dropdown-multi-select {
+ .form-group {
+ .Select {
+ &.is-open {
+ border: 1px solid $blue;
+ }
+ }
+ }
+ }
+ .form-group {
+ margin: 0;
+ .Select-control {
+ height: 36px;
+ border: none;
+ .is-open {
+ border-left-color: $blue;
+ border-right-color: $blue;
+ }
+ .Select-value,
+ .Select-placeholder,
+ .Select-input {
+ padding-left: 20px;
+ padding-right: 50px;
+ padding-top: 4px;
+ }
+ .Select-placeholder {
+ color: $dark-gray;
+ }
+ .Select-arrow-zone {
+ padding-right: 15px;
+ }
+ }
+ }
+ &:last-child {
+ border-right: none;
+ }
+ }
+ .Select-menu-outer {
+ border-left: 1px solid $blue;
+ border-right: 1px solid $blue;
+ border-bottom: 1px solid $blue;
+ overflow: auto;
+ .Select-menu {
+ .Select-option {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ border-bottom: 1px solid $light-gray;
+ &:hover {
+ background-color: $blue;
+ color: $white;
+ &.is-focused {
+ background-color: $blue;
+ }
+ &.is-focused {
+ background-color: $blue;
+ }
+ }
+ &.is-selected {
+ background-color: transparent;
+ }
+ &.is-focused {
+ background-color: transparent;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/components/_sequenceDiagram.scss b/openecomp-ui/resources/scss/components/_sequenceDiagram.scss
index d89c342d47..f567e07667 100644
--- a/openecomp-ui/resources/scss/components/_sequenceDiagram.scss
+++ b/openecomp-ui/resources/scss/components/_sequenceDiagram.scss
@@ -1,18 +1,18 @@
.sequence-diagram {
- .sequence-diagram-sequencer {
- .asdcs-diagram {
- overflow: auto;
- max-height: 60vh;
- }
- .asdcs-editor {
- height: 60vh;
- }
- }
- .sequence-diagram-action-buttons {
- margin-left: 20px;
- margin-top: 20px;
- button:first-of-type {
- margin-right: 20px;
- }
- }
+ .sequence-diagram-sequencer {
+ .asdcs-diagram {
+ overflow: auto;
+ max-height: 60vh;
+ }
+ .asdcs-editor {
+ height: 60vh;
+ }
+ }
+ .sequence-diagram-action-buttons {
+ margin-left: 20px;
+ margin-top: 20px;
+ button:first-of-type {
+ margin-right: 20px;
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/components/_submitErrorResponse.scss b/openecomp-ui/resources/scss/components/_submitErrorResponse.scss
index cd5284059d..e2e7b1bca9 100644
--- a/openecomp-ui/resources/scss/components/_submitErrorResponse.scss
+++ b/openecomp-ui/resources/scss/components/_submitErrorResponse.scss
@@ -1,65 +1,63 @@
.submit-error-response-view {
- max-height: 500px;
- overflow: auto;
- .list-group-item {
- border-top: none;
- }
- .panel-title {
- a {
- &:after {
- content: "(details)";
- color: $link-blue;
- float: right;
-
- }
- &:hover {
- color: $blue;
- text-decoration: underline;
- }
+ max-height: 500px;
+ overflow: auto;
+ .list-group-item {
+ border-top: none;
}
- }
- .error-block {
- margin: 10px 0;
- .error-block-header {
- background-color: $tlv-gray;
- padding: 5px;
- cursor: pointer;
- .svg-icon {
- &.__chevronDown {
- margin-right: 10px;
- }
- }
- .collapse-right {
- .svg-icon {
- &.__chevronDown {
- transform: rotate(270deg);
- }
+ .panel-title {
+ a {
+ &:after {
+ content: '(details)';
+ color: $link-blue;
+ float: right;
+ }
+ &:hover {
+ color: $blue;
+ text-decoration: underline;
+ }
}
- }
-
- }
- .error-code-list-item {
- display: flex;
- justify-content: flex-start;
- .icon-label {
- @extend .body-1;
- color: $dark-gray;
- margin-left: 10px;
- }
- .icon-component {
- align-items: baseline;
- }
- }
- .list-group-item {
- .error-item-text {
- margin-top:-2px;
- max-width: 100px;
- }
}
- .component-name-header {
- margin-left: 45px;
- margin-top: 10px;
- @extend .heading-5-semibold;
+ .error-block {
+ margin: 10px 0;
+ .error-block-header {
+ background-color: $tlv-gray;
+ padding: 5px;
+ cursor: pointer;
+ .svg-icon {
+ &.__chevronDown {
+ margin-right: 10px;
+ }
+ }
+ .collapse-right {
+ .svg-icon {
+ &.__chevronDown {
+ transform: rotate(270deg);
+ }
+ }
+ }
+ }
+ .error-code-list-item {
+ display: flex;
+ justify-content: flex-start;
+ .icon-label {
+ @extend .body-1;
+ color: $dark-gray;
+ margin-left: 10px;
+ }
+ .icon-component {
+ align-items: baseline;
+ }
+ }
+ .list-group-item {
+ .error-item-text {
+ margin-top: -2px;
+ max-width: 100px;
+ }
+ }
+ .component-name-header {
+ margin-left: 45px;
+ margin-top: 10px;
+ @extend .heading-5-semibold;
+ }
}
- }
}
diff --git a/openecomp-ui/resources/scss/components/_toggleInput.scss b/openecomp-ui/resources/scss/components/_toggleInput.scss
index fcf0902adf..6bcf3a359b 100644
--- a/openecomp-ui/resources/scss/components/_toggleInput.scss
+++ b/openecomp-ui/resources/scss/components/_toggleInput.scss
@@ -1,62 +1,63 @@
.toggle-input-wrapper {
- $toggle-width: 40px;
- $toggle-height: 20px;
- display: table;
- .toggle-switch, .toggle-input-label {
- display: table-cell;
- vertical-align: middle;
- padding-left: 10px;
- }
- .toggle {
- position: absolute;
- margin-left: -9999px;
- visibility: hidden;
- }
- .toggle + label {
- @extend %noselect;
- display: block;
- position: relative;
- cursor: pointer;
- outline: none;
- }
+ $toggle-width: 40px;
+ $toggle-height: 20px;
+ display: table;
+ .toggle-switch,
+ .toggle-input-label {
+ display: table-cell;
+ vertical-align: middle;
+ padding-left: 10px;
+ }
+ .toggle {
+ position: absolute;
+ margin-left: -9999px;
+ visibility: hidden;
+ }
+ .toggle + label {
+ @extend %noselect;
+ display: block;
+ position: relative;
+ cursor: pointer;
+ outline: none;
+ }
- input.toggle-round-flat + label {
- padding: 1px;
- width: $toggle-width;
- height: $toggle-height;
- background-color: $dark-gray;
- border-radius: $toggle-height;
- transition: background 0.4s;
- }
- input.toggle-round-flat + label:before,
- input.toggle-round-flat + label:after {
- display: block;
- position: absolute;
- content: "";
- }
- input.toggle-round-flat + label:before {
- top: 1px;
- left: 1px;
- bottom: 1px;
- right: 1px;
- background-color: $white;
- border-radius: $toggle-height;
- transition: background 0.4s;
- }
- input.toggle-round-flat + label:after {
- top: 4px;
- left: 4px;
- bottom: 4px;
- width: $toggle-height - 8;
- background-color: $dark-gray;
- border-radius: $toggle-height - 8;
- transition: margin 0.4s, background 0.4s;
- }
- input.toggle-round-flat:checked + label {
- background-color: $link-blue;
- }
- input.toggle-round-flat:checked + label:after {
- margin-left: $toggle-height;
- background-color: $link-blue;
- }
+ input.toggle-round-flat + label {
+ padding: 1px;
+ width: $toggle-width;
+ height: $toggle-height;
+ background-color: $dark-gray;
+ border-radius: $toggle-height;
+ transition: background 0.4s;
+ }
+ input.toggle-round-flat + label:before,
+ input.toggle-round-flat + label:after {
+ display: block;
+ position: absolute;
+ content: '';
+ }
+ input.toggle-round-flat + label:before {
+ top: 1px;
+ left: 1px;
+ bottom: 1px;
+ right: 1px;
+ background-color: $white;
+ border-radius: $toggle-height;
+ transition: background 0.4s;
+ }
+ input.toggle-round-flat + label:after {
+ top: 4px;
+ left: 4px;
+ bottom: 4px;
+ width: $toggle-height - 8;
+ background-color: $dark-gray;
+ border-radius: $toggle-height - 8;
+ transition: margin 0.4s, background 0.4s;
+ }
+ input.toggle-round-flat:checked + label {
+ background-color: $link-blue;
+ }
+ input.toggle-round-flat:checked + label:after {
+ margin-left: $toggle-height;
+ background-color: $link-blue;
+ }
}
diff --git a/openecomp-ui/resources/scss/components/_tree.scss b/openecomp-ui/resources/scss/components/_tree.scss
index e03594ee64..380fb64aec 100644
--- a/openecomp-ui/resources/scss/components/_tree.scss
+++ b/openecomp-ui/resources/scss/components/_tree.scss
@@ -1,56 +1,53 @@
-
.tree-view {
- overflow: hidden;
-
- &.scrollable {
- overflow: auto;
- }
-
- .node {
- text-shadow: none;
- stroke: none;
-
- .outer-circle {
- stroke: $blue;
- stroke-width: 2px;
- fill: $white;
- }
-
- .inner-circle {
- fill: $blue;
- }
-
- text {
- text-anchor: end;
- @extend .body-2-semibold;
- fill: $blue;
- }
-
- &.clickable {
- cursor: pointer;
- }
-
- &.selectedNode {
- .outer-circle {
- fill: $blue;
- }
-
- .inner-circle {
- fill: $blue;
- }
-
- text {
- fill: $blue;
- }
- }
- }
-
-
- .link {
- fill: none;
- stroke: $dark-gray;
- stroke-opacity: 0.4;
- stroke-width: 1.5px;
- }
-
+ overflow: hidden;
+
+ &.scrollable {
+ overflow: auto;
+ }
+
+ .node {
+ text-shadow: none;
+ stroke: none;
+
+ .outer-circle {
+ stroke: $blue;
+ stroke-width: 2px;
+ fill: $white;
+ }
+
+ .inner-circle {
+ fill: $blue;
+ }
+
+ text {
+ text-anchor: end;
+ @extend .body-2-semibold;
+ fill: $blue;
+ }
+
+ &.clickable {
+ cursor: pointer;
+ }
+
+ &.selectedNode {
+ .outer-circle {
+ fill: $blue;
+ }
+
+ .inner-circle {
+ fill: $blue;
+ }
+
+ text {
+ fill: $blue;
+ }
+ }
+ }
+
+ .link {
+ fill: none;
+ stroke: $dark-gray;
+ stroke-opacity: 0.4;
+ stroke-width: 1.5px;
+ }
}
diff --git a/openecomp-ui/resources/scss/components/_userNotifications.scss b/openecomp-ui/resources/scss/components/_userNotifications.scss
index 74cafae438..649e636541 100644
--- a/openecomp-ui/resources/scss/components/_userNotifications.scss
+++ b/openecomp-ui/resources/scss/components/_userNotifications.scss
@@ -1,123 +1,122 @@
-
.onboarding-notifications {
- margin-left: 10px;
- .notifications-icon {
- display: flex;
- @extend .clickable;
- .notifications-count {
- color: $white;
- font-size: 11px;
- text-align: center;
- width: 16px;
- height: 16px;
- background-color: $orange;
- border-radius: 50%;
- position: relative;
- right: 7px;
- top: -2px;
- &.hidden-count {
- background-color: transparent;
- color: transparent;
- }
- }
- }
- .onboarding-overlay {
- width: 520px;
- right: 39px;
- margin-top: 18px;
- .arrow-up {
- margin-left: 487px;
+ margin-left: 10px;
+ .notifications-icon {
+ display: flex;
+ @extend .clickable;
+ .notifications-count {
+ color: $white;
+ font-size: 11px;
+ text-align: center;
+ width: 16px;
+ height: 16px;
+ background-color: $orange;
+ border-radius: 50%;
+ position: relative;
+ right: 7px;
+ top: -2px;
+ &.hidden-count {
+ background-color: transparent;
+ color: transparent;
+ }
+ }
}
+ .onboarding-overlay {
+ width: 520px;
+ right: 39px;
+ margin-top: 18px;
+ .arrow-up {
+ margin-left: 487px;
+ }
- .user-notifications {
- .notifications-title {
- color: $blue;
- @extend .heading-5-semibold;
- @extend .text-uppercase !optional;
- padding: 13px 20px 10px 20px;
- border-bottom: 1px solid $tlv-light-gray;
- }
- .notifications-list {
- max-height: 600px;
- overflow-y: auto;
- .notification {
- border-bottom: 1px solid $tlv-light-gray;
- padding: 16px 20px 18px 20px;
- display: flex;
- &.unread {
- background-color: lighten($gray, 38%);
- .item-name {
- display: flex;
- @include base-font-bold;
- }
- .unread-circle-icon {
- width: 8px;
- height: 8px;
- border-radius: 50%;
- background-color: $blue;
- align-self: center;
- margin-bottom: 3px;
- margin-left: 9px;
- }
- }
- .notification-data {
- width: 366px;
- margin-right: 30px;
- color: $dark-gray;
- .item-name {
- @extend .body-2-semibold;
- @extend .text-uppercase !optional;
- margin-bottom: 6px;
- }
- .flex-items {
- display: flex;
- margin: 6px 0 11px 0;
- @extend .body-3;
- line-height: 20px;
- @extend .text-uppercase !optional;
- color: $gray;
- .separator {
- border-left: 1px solid $dark-gray;
- margin: 5px 8px;
- }
- }
- .description {
- @extend .body-3;
- margin: 11px 0 8px 0;
- .more-less {
- font-size: $icon-font-size;
+ .user-notifications {
+ .notifications-title {
color: $blue;
- }
- }
- .date {
- font-size: $icon-font-size;
- @include base-font-regular;
- color: $gray;
- margin-top: 8px;
+ @extend .heading-5-semibold;
+ @extend .text-uppercase !optional;
+ padding: 13px 20px 10px 20px;
+ border-bottom: 1px solid $tlv-light-gray;
}
- }
+ .notifications-list {
+ max-height: 600px;
+ overflow-y: auto;
+ .notification {
+ border-bottom: 1px solid $tlv-light-gray;
+ padding: 16px 20px 18px 20px;
+ display: flex;
+ &.unread {
+ background-color: lighten($gray, 38%);
+ .item-name {
+ display: flex;
+ @include base-font-bold;
+ }
+ .unread-circle-icon {
+ width: 8px;
+ height: 8px;
+ border-radius: 50%;
+ background-color: $blue;
+ align-self: center;
+ margin-bottom: 3px;
+ margin-left: 9px;
+ }
+ }
+ .notification-data {
+ width: 366px;
+ margin-right: 30px;
+ color: $dark-gray;
+ .item-name {
+ @extend .body-2-semibold;
+ @extend .text-uppercase !optional;
+ margin-bottom: 6px;
+ }
+ .flex-items {
+ display: flex;
+ margin: 6px 0 11px 0;
+ @extend .body-3;
+ line-height: 20px;
+ @extend .text-uppercase !optional;
+ color: $gray;
+ .separator {
+ border-left: 1px solid $dark-gray;
+ margin: 5px 8px;
+ }
+ }
+ .description {
+ @extend .body-3;
+ margin: 11px 0 8px 0;
+ .more-less {
+ font-size: $icon-font-size;
+ color: $blue;
+ }
+ }
+ .date {
+ font-size: $icon-font-size;
+ @include base-font-regular;
+ color: $gray;
+ margin-top: 8px;
+ }
+ }
- .notification-action .action-button {
- @extend .clickable;
- width: 74px;
- height: 28px;
- color: $white;
- background-color: $blue;
- border-radius: 2px;
- text-align: center;
- line-height: 2;
- margin-top: 4px;
- &.active {
- background-color: #0091c7;
- border: solid 1px #006186;
- }
- &:hover {
- background-color: #1ec2ff;
- border: solid 1px #0091c8;
+ .notification-action .action-button {
+ @extend .clickable;
+ width: 74px;
+ height: 28px;
+ color: $white;
+ background-color: $blue;
+ border-radius: 2px;
+ text-align: center;
+ line-height: 2;
+ margin-top: 4px;
+ &.active {
+ background-color: $action-button-active-bg;
+ border: solid 1px $action-button-active-border;
+ }
+ &:hover {
+ background-color: $action-button-hover-bg;
+ border: solid 1px $action-button-hover-border;
+ }
+ }
+ }
}
- }
}
- }
}
- }
}
diff --git a/openecomp-ui/resources/scss/components/_validationForm.scss b/openecomp-ui/resources/scss/components/_validationForm.scss
index 52408f5952..9f708c4c2a 100644
--- a/openecomp-ui/resources/scss/components/_validationForm.scss
+++ b/openecomp-ui/resources/scss/components/_validationForm.scss
@@ -1,118 +1,110 @@
form {
- .validation-form-content {
- .validation-input-wrapper {
- position: relative;
- flex: 1;
- }
- .validation-radio-wrapper {
- position: relative;
- }
- .sdc-tabs {
- position: relative;
- .invalid-tab:not(.sdc-tab-active) {
- color: $red;
- }
- }
- .validation-error-message {
- &.bottom {
- .tooltip-arrow {
- border-bottom-color: $red;
+ .validation-form-content {
+ .validation-input-wrapper {
+ position: relative;
+ flex: 1;
}
- }
- &.right {
- .tooltip-arrow {
- border-right-color: $red;
+ .validation-radio-wrapper {
+ position: relative;
}
- }
- &.left {
- .tooltip-arrow {
- border-left-color: $red;
+ .sdc-tabs {
+ position: relative;
+ .invalid-tab:not(.sdc-tab-active) {
+ color: $red;
+ }
}
- }
- .tooltip-inner {
- background-color: $red;
- }
- }
- .input-row {
- padding-bottom: 32px;
- &:only-child {
- padding-bottom: 0;
- }
- &:last-child {
- padding-bottom: 0;
- }
- .form-group {
- margin-bottom: 0;
- }
- }
-
- .rows-section {
- .row-flex-components {
- display: flex;
- }
- .validation-input-wrapper {
- flex: 1;
- }
- .empty-col {
- flex: 1.2;
- content: ' ';
- }
- .empty-two-col {
- flex: 2.4;
- content: ' ';
- }
-
- .two-col {
- flex: 2.2;
- }
- .three-col {
- flex: 3.4;
- }
- .single-col {
- flex: 1.2;
- display: flex;
- &:after {
- flex: 0.2;
- content: ' ';
+ .validation-error-message {
+ &.bottom {
+ .tooltip-arrow {
+ border-bottom-color: $red;
+ }
+ }
+ &.right {
+ .tooltip-arrow {
+ border-right-color: $red;
+ }
+ }
+ &.left {
+ .tooltip-arrow {
+ border-left-color: $red;
+ }
+ }
+ .tooltip-inner {
+ background-color: $red;
+ }
}
- @media (min-width: 1389px) {
- &.add-line-break {
- .control-label {
- &:after {
- content: "\00a0";
- display: block;
- }
+ .input-row {
+ padding-bottom: 32px;
+ &:only-child {
+ padding-bottom: 0;
+ }
+ &:last-child {
+ padding-bottom: 0;
+ }
+ .form-group {
+ margin-bottom: 0;
}
- }
}
- }
- }
- }
+ .rows-section {
+ .row-flex-components {
+ display: flex;
+ }
+ .validation-input-wrapper {
+ flex: 1;
+ }
+ .empty-col {
+ flex: 1.2;
+ content: ' ';
+ }
+ .empty-two-col {
+ flex: 2.4;
+ content: ' ';
+ }
- .validation-buttons {
- padding: 20px 0;
- text-align: right;
- button:first-child {
- margin-right: 15px;
- min-width: 120px;
+ .two-col {
+ flex: 2.2;
+ }
+ .three-col {
+ flex: 3.4;
+ }
+ .single-col {
+ flex: 1.2;
+ display: flex;
+ &:after {
+ flex: 0.2;
+ content: ' ';
+ }
+ @media (min-width: 1389px) {
+ &.add-line-break {
+ .control-label {
+ &:after {
+ content: '\00a0';
+ display: block;
+ }
+ }
+ }
+ }
+ }
+ }
}
- .svg-icon {
- height: 14px;
- width: 14px;
- }
- .svg-icon.check {
- fill: $white;
- }
- .svg-icon.close {
- fill: $blue;
- }
- }
-}
-.modal-body {
- .validation-buttons {
- padding: 20px 15px;
- background-color: $tlv-gray;
- }
+ .validation-buttons {
+ padding: 20px 0;
+ text-align: right;
+ button:first-child {
+ margin-right: 15px;
+ min-width: 120px;
+ }
+ .svg-icon {
+ height: 14px;
+ width: 14px;
+ }
+ .svg-icon.check {
+ fill: $white;
+ }
+ .svg-icon.close {
+ fill: $blue;
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/components/_versionController.scss b/openecomp-ui/resources/scss/components/_versionController.scss
index 98771f1dbd..cc839995cb 100644
--- a/openecomp-ui/resources/scss/components/_versionController.scss
+++ b/openecomp-ui/resources/scss/components/_versionController.scss
@@ -1,281 +1,294 @@
.version-controller-bar {
- display: flex;
- min-height: 70px;
- border-bottom: 1px solid $tlv-light-gray;
- background-color: transparent;
+ display: flex;
+ min-height: 70px;
+ border-bottom: 1px solid $tlv-light-gray;
+ background-color: transparent;
- .vc-container {
- display: flex;
- flex: 1;
- align-self: center;
- background-color: transparent;
- justify-content: space-between;
- align-items: center;
- padding-left: 16px;
- padding-right: 40px;
+ .vc-container {
+ display: flex;
+ flex: 1;
+ align-self: center;
+ background-color: transparent;
+ justify-content: space-between;
+ align-items: center;
+ padding-left: 16px;
+ padding-right: 40px;
- .vc-separator {
- border-left: 1px solid $tlv-light-gray;
- height: 37px;
- margin-left: 5px;
- margin-right: 5px;
- }
+ .vc-separator {
+ border-left: 1px solid $tlv-light-gray;
+ height: 37px;
+ margin-left: 5px;
+ margin-right: 5px;
+ }
- .version-status-container {
- display: flex;
- height: 30px;
+ .version-status-container {
+ display: flex;
+ height: 30px;
- .version-selector-more-versions {
- color: $blue;
- cursor: pointer;
- }
+ .version-selector-more-versions {
+ color: $blue;
+ cursor: pointer;
+ }
- .version-selector {
- margin-top: 0px;
- padding-right: 10px;
- margin-right: 15px;
- margin-left: 10px;
- border-color: $light-gray;
- border-radius: 2px;
- width: 243px;
- height: 30px;
- @extend .body-1;
- }
+ .version-selector {
+ margin-top: 0px;
+ padding-right: 10px;
+ margin-right: 15px;
+ margin-left: 10px;
+ border-color: $light-gray;
+ border-radius: 2px;
+ width: 243px;
+ height: 30px;
+ @extend .body-1;
+ }
- .version-section {
- .form-group {
- margin-right: 20px;
+ .version-section {
+ .form-group {
+ margin-right: 20px;
- .input-options {
- border: none;
+ .input-options {
+ border: none;
- .input-options-select {
- padding-top: 4px;
- }
- }
- }
- }
+ .input-options-select {
+ padding-top: 4px;
+ }
+ }
+ }
+ }
- .vc-status {
- display: flex;
- padding-left: 20px;
- border-left: $light-gray thin solid;
+ .vc-status {
+ display: flex;
+ padding-left: 20px;
+ border-left: $light-gray thin solid;
- .status-text {
- align-self: center;
- margin-top: 2px;
- @extend .heading-5;
- color: $dark-gray;
- }
- }
- .depricated-item-status {
- @extend .body-3;
- color: $white;
- background-color: $dark-purple;
- margin-left: 10px;
- padding: 1px 10px;
- align-self: center;
- border-radius: 3px;
- }
- }
+ .status-text {
+ align-self: center;
+ margin-top: 2px;
+ @extend .heading-5;
+ color: $dark-gray;
+ }
+ }
+ .depricated-item-status {
+ @extend .body-3;
+ color: $white;
+ background-color: $dark-purple;
+ margin-left: 10px;
+ padding: 1px 10px;
+ align-self: center;
+ border-radius: 3px;
+ }
+ }
- .save-submit-cancel-container {
- display: flex;
- align-items: center;
- height: 100%;
+ .save-submit-cancel-container {
+ display: flex;
+ align-items: center;
+ height: 100%;
- .action-buttons, .collaborator-action-buttons, .vc-save-section, .vc-submit-section {
- display: flex;
- align-items: center;
- height: 100%;
+ .action-buttons,
+ .collaborator-action-buttons,
+ .vc-save-section,
+ .vc-submit-section {
+ display: flex;
+ align-items: center;
+ height: 100%;
- .vc-submit-button {
- border: 1px solid $dark-gray;
- width: 94px;
- height: 30px;
- border-radius: 2px;
- padding-top: 5px;
- padding-left: 10px;
- margin-left: 10px;
- margin-right: 10px;
+ .vc-submit-button {
+ border: 1px solid $dark-gray;
+ width: 94px;
+ height: 30px;
+ border-radius: 2px;
+ padding-top: 5px;
+ padding-left: 10px;
+ margin-left: 10px;
+ margin-right: 10px;
- &:hover:not(.disabled) {
- cursor: pointer;
- background-color: $tlv-light-gray;
- }
+ &:hover:not(.disabled) {
+ cursor: pointer;
+ background-color: $tlv-light-gray;
+ }
- &.disabled {
- border-color: $light-gray;
- }
+ &.disabled {
+ border-color: $light-gray;
+ }
- .vc-v-submit {
- width: 11px;
- height: 8px;
- margin-right: 10px;
- position: relative;
- top: -1px;
- }
- }
+ .vc-v-submit {
+ width: 11px;
+ height: 8px;
+ margin-right: 10px;
+ position: relative;
+ top: -1px;
+ }
+ }
- .version-control-buttons {
- display: flex;
- }
+ .version-control-buttons {
+ display: flex;
+ }
- .action-button-wrapper {
- display: flex;
- align-items: center;
- height: 70px;
+ .action-button-wrapper {
+ display: flex;
+ align-items: center;
+ height: 70px;
- &:hover:not(.disabled) {
- background-color: $tlv-light-gray;
- }
+ &:hover:not(.disabled) {
+ background-color: $tlv-light-gray;
+ }
- &:active:not(.disabled) {
- background-color: $light-gray;
- }
+ &:active:not(.disabled) {
+ background-color: $light-gray;
+ }
- .action-buttons-svg {
- padding-left: 10px;
- padding-right: 10px;
+ .action-buttons-svg {
+ padding-left: 10px;
+ padding-right: 10px;
- .svg-icon {
- fill: $text-black;
- height: 20px;
+ .svg-icon {
+ fill: $text-black;
+ height: 20px;
- &, &.__version-controller-save { width: 20px; }
- &.__version-controller-permissions { width: 32px; }
- &.__version-controller-undo, &.__version-controller-revert { width: 20px; }
- &.__version-controller-sync, &.__version-controller-commit { width: 28px; }
- }
- }
+ &,
+ &.__version-controller-save {
+ width: 20px;
+ }
+ &.__version-controller-permissions {
+ width: 32px;
+ }
+ &.__version-controller-undo,
+ &.__version-controller-revert {
+ width: 20px;
+ }
+ &.__version-controller-sync,
+ &.__version-controller-commit {
+ width: 28px;
+ }
+ }
+ }
- .version-controller-permissions {
- width: 32px;
- height: 20px;
- fill: $dark-gray;
- }
- }
+ .version-controller-permissions {
+ width: 32px;
+ height: 20px;
+ fill: $dark-gray;
+ }
+ }
- .action-button-label {
- display: block;
- font-size: $icon-font-size;
- font-family: $icon-font-family;
- height: 1em;
- margin-top: 5px;
- margin-bottom: 0;
- }
+ .action-button-label {
+ display: block;
+ font-size: $icon-font-size;
+ font-family: $icon-font-family;
+ height: 1em;
+ margin-top: 5px;
+ margin-bottom: 0;
+ }
- .onboarding-overlay {
- margin-top: -6px;
- .permissions-overlay {
- width: 237px;
+ .onboarding-overlay {
+ margin-top: -6px;
+ .permissions-overlay {
+ width: 237px;
- .permissions-overlay-header {
- text-align: left;
- color: $blue;
- padding-bottom: 15px;
- padding-top: 15px;
- border-bottom: 1px solid $light-gray;
- .permissions-overlay-header-title {
- margin-left: 20px;
- }
- }
- .permissions-overlay-content {
- max-height: 290px;
- overflow-y: auto;
- padding-left: 10px;
- padding-right: 10px;
- .contributor {
- &:last-child {
- border-bottom: none;
- }
- border-bottom: 1px solid $tlv-light-gray;
- .contributor-content {
- padding-top: 12px;
- padding-bottom: 10px;
- margin-left: 10px;
- display: flex;
- .contributor-icon-circle {
- &.selected {
- border: 1px solid $blue;
- }
+ .permissions-overlay-header {
+ text-align: left;
+ color: $blue;
+ padding-bottom: 15px;
+ padding-top: 15px;
+ border-bottom: 1px solid $light-gray;
+ .permissions-overlay-header-title {
+ margin-left: 20px;
+ }
+ }
+ .permissions-overlay-content {
+ max-height: 290px;
+ overflow-y: auto;
+ padding-left: 10px;
+ padding-right: 10px;
+ .contributor {
+ &:last-child {
+ border-bottom: none;
+ }
+ border-bottom: 1px solid $tlv-light-gray;
+ .contributor-content {
+ padding-top: 12px;
+ padding-bottom: 10px;
+ margin-left: 10px;
+ display: flex;
+ .contributor-icon-circle {
+ &.selected {
+ border: 1px solid $blue;
+ }
- border-radius: 65px;
- padding: 2px;
- width: 32px;
- height: 32px;
- margin-top: 4px;
- .contributer-icon {
- width: 26px;
- border-radius: 50px;
- height: 26px;
- margin-top: 0px;
- .__user {
- height: 18px;
- width: 16px;
- stroke: $blue;
- fill: transparent;
- margin-left: 5px;
- margin-top: 3px;
- }
- &.selected {
- border: 1px solid $blue;
- background-color: $blue;
- .__user {
- stroke: $white;
- margin-left: 4px;
- }
- }
- }
- }
+ border-radius: 65px;
+ padding: 2px;
+ width: 32px;
+ height: 32px;
+ margin-top: 4px;
+ .contributer-icon {
+ width: 26px;
+ border-radius: 50px;
+ height: 26px;
+ margin-top: 0px;
+ .__user {
+ height: 18px;
+ width: 16px;
+ stroke: $blue;
+ fill: transparent;
+ margin-left: 5px;
+ margin-top: 3px;
+ }
+ &.selected {
+ border: 1px solid $blue;
+ background-color: $blue;
+ .__user {
+ stroke: $white;
+ margin-left: 4px;
+ }
+ }
+ }
+ }
- .contributer-info {
- padding-left: 11px;
- .contributer-name {
- @extend .body-2-semibold;
- text-transform: uppercase;
- color: $dark-gray;
- }
- .contributer-role {
- @extend .body-3;
- color: $gray;
- display: flex;
- text-transform: lowercase;
- p:first-letter {
- text-transform: uppercase;
- }
- justify-content: space-between;
- }
- }
- }
- }
- }
- .permissions-overlay-footer {
- .manage-permissions-btn {
- @extend .body-2-semibold;
- margin-top: 20px;
- padding-top: 10px;
- padding-bottom: 10px;
- color: $blue;
- text-align: center;
- cursor: pointer;
- background-color: $tlv-gray;
- }
- }
-
- }
- }
- }
- }
- .vc-nav-item-close {
- display: flex;
- padding-left: 18px;
- padding-top: 3px;
- align-self: center;
- @extend .body-1;
- color: $gray;
- cursor: pointer;
- border-left: $gray thin solid;
- }
- }
+ .contributer-info {
+ padding-left: 11px;
+ .contributer-name {
+ @extend .body-2-semibold;
+ text-transform: uppercase;
+ color: $dark-gray;
+ }
+ .contributer-role {
+ @extend .body-3;
+ color: $gray;
+ display: flex;
+ text-transform: lowercase;
+ p:first-letter {
+ text-transform: uppercase;
+ }
+ justify-content: space-between;
+ }
+ }
+ }
+ }
+ }
+ .permissions-overlay-footer {
+ .manage-permissions-btn {
+ @extend .body-2-semibold;
+ margin-top: 20px;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ color: $blue;
+ text-align: center;
+ cursor: pointer;
+ background-color: $tlv-gray;
+ }
+ }
+ }
+ }
+ }
+ }
+ .vc-nav-item-close {
+ display: flex;
+ padding-left: 18px;
+ padding-top: 3px;
+ align-self: center;
+ @extend .body-1;
+ color: $gray;
+ cursor: pointer;
+ border-left: $gray thin solid;
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/components/_vnfBrowse.scss b/openecomp-ui/resources/scss/components/_vnfBrowse.scss
index 7e0085af8a..f47b736ce2 100644
--- a/openecomp-ui/resources/scss/components/_vnfBrowse.scss
+++ b/openecomp-ui/resources/scss/components/_vnfBrowse.scss
@@ -1,109 +1,107 @@
$message-info-icon-size: 16px;
.vnf-creation-page {
- .list-editor-view-header {
- border-bottom: none;
- }
- .vnfBrowse-list-item {
- display: flex;
- height: 36px;
- @extend .body-1;
- &.header {
- @extend .body-1-semibold;
- background-color: $tlv-light-gray;
- color: $text-black;
- }
- &.selectedRow {
- background-color: $blue;
- color: $white;
- .svg-icon-wrapper {
- &.__positive {
- fill: $white;
- color: $white;
- }
- }
- }
- .svg-icon-wrapper {
- &.__positive {
- fill: $dark-gray;
- color: $dark-gray;
- }
- }
- }
+ .list-editor-view-header {
+ border-bottom: none;
+ }
+ .vnfBrowse-list-item {
+ display: flex;
+ height: 36px;
+ @extend .body-1;
+ &.header {
+ @extend .body-1-semibold;
+ background-color: $tlv-light-gray;
+ color: $text-black;
+ }
+ &.selectedRow {
+ background-color: $blue;
+ color: $white;
+ .svg-icon-wrapper {
+ &.__positive {
+ fill: $white;
+ color: $white;
+ }
+ }
+ }
+ .svg-icon-wrapper {
+ &.__positive {
+ fill: $dark-gray;
+ color: $dark-gray;
+ }
+ }
+ }
- .activity-action {
- .svg-icon-wrapper {
- float: left;
- }
- }
+ .activity-action {
+ .svg-icon-wrapper {
+ float: left;
+ }
+ }
- .message-further-info-icon {
- background-color: $gray;
- }
+ .message-further-info-icon {
+ background-color: $gray;
+ }
- .table-cell {
- border-right: 1px solid $light-gray;
- border-bottom: 1px solid $light-gray;
- &:last-child {
- border-right: none;
- }
- flex-basis: 22%;
- display: flex;
- padding: 0 20px;
- justify-content: center;
- flex-direction: column;
+ .table-cell {
+ border-right: 1px solid $light-gray;
+ border-bottom: 1px solid $light-gray;
+ &:last-child {
+ border-right: none;
+ }
+ flex-basis: 22%;
+ display: flex;
+ padding: 0 20px;
+ justify-content: center;
+ flex-direction: column;
- &.vnftable-action {
- flex-basis: 12%;
- span {
- margin: auto;
- }
- }
-}
-
- .vnf-table-header {
- cursor: pointer;
- display: flex;
- align-items: center;
- .header-sort-arrow {
- width: 0;
- height: 0;
- border-left: 5px solid transparent;
- border-right: 5px solid transparent;
- margin-left: 9px;
- &.up {
- border-bottom: 5px solid $black;
- }
- &.down {
- border-top: 5px solid $black;
- }
+ &.vnftable-action {
+ flex-basis: 12%;
+ span {
+ margin: auto;
+ }
+ }
+ }
- }
- }
+ .vnf-table-header {
+ cursor: pointer;
+ display: flex;
+ align-items: center;
+ .header-sort-arrow {
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ margin-left: 9px;
+ &.up {
+ border-bottom: 5px solid $black;
+ }
+ &.down {
+ border-top: 5px solid $black;
+ }
+ }
+ }
- .vnf-table-cell {
- display: flex;
- justify-content: space-between;
- span {
- overflow: hidden;
- text-overflow: ellipsis;
- }
- }
- .vnftable-name {
- max-width: 22%;
- }
+ .vnf-table-cell {
+ display: flex;
+ justify-content: space-between;
+ span {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+ }
+ .vnftable-name {
+ max-width: 22%;
+ }
- .vnf-grid-section {
- margin: 20px 20px 20px 50px;
- }
+ .vnf-grid-section {
+ margin: 20px 20px 20px 50px;
+ }
- .vnf-modal {
- text-align: right;
- margin-top: 22px;
- }
-
- .vnf-submit {
- margin-right: 15px;
- }
+ .vnf-modal {
+ text-align: right;
+ margin-top: 22px;
+ }
-} \ No newline at end of file
+ .vnf-submit {
+ margin-right: 15px;
+ }
+}
diff --git a/openecomp-ui/resources/scss/components/_vspDetailsVendorSelect.scss b/openecomp-ui/resources/scss/components/_vspDetailsVendorSelect.scss
index 294fd817b9..5938dc2808 100644
--- a/openecomp-ui/resources/scss/components/_vspDetailsVendorSelect.scss
+++ b/openecomp-ui/resources/scss/components/_vspDetailsVendorSelect.scss
@@ -1,4 +1,4 @@
-.vsp-details-vendor-select {
+.vsp-details-vendor-select {
.validation-form-content {
padding-top: 20px;
.vendor-selector-modal-title {
@@ -9,5 +9,5 @@
margin-top: 10px;
margin-bottom: 20px;
}
- }
-} \ No newline at end of file
+ }
+}
diff --git a/openecomp-ui/resources/scss/modules/_entitlementPools.scss b/openecomp-ui/resources/scss/modules/_entitlementPools.scss
index 06ef4d21fd..736927fb51 100644
--- a/openecomp-ui/resources/scss/modules/_entitlementPools.scss
+++ b/openecomp-ui/resources/scss/modules/_entitlementPools.scss
@@ -1,37 +1,37 @@
-
-.entitlement-pools-list-editor {
+.entitlement-pools-list-editor {
.list-editor-item-view-field {
-
- .entitlement-pools-count {
- @extend .heading-1;
- color: $purple;
+ .entitlement-pools-count {
+ @extend .heading-1;
+ color: $purple;
+ }
}
- }
}
.entitlement-pools-modal {
- .entitlement-pools-form {
- .threshold-section, .date-section {
- display: flex;
- justify-content: space-between;
- .validation-input-wrapper {
- flex: 0 0 46%;
- }
- }
- .uuid-row-wrapper {
- display: flex;
- .separator{
- margin-left: 30px;
- margin-right: 30px;
- height: 35px;
- border: 1px solid $tlv-light-gray;
- }
- .uuid-container {
- .uuid-value {
- @extend .body-3;
- user-select: text;
+ .entitlement-pools-form {
+ .threshold-section,
+ .date-section {
+ display: flex;
+ justify-content: space-between;
+ .validation-input-wrapper {
+ flex: 0 0 46%;
+ }
+ }
+ .uuid-row-wrapper {
+ display: flex;
+ margin-top: 20px;
+ .separator {
+ margin-left: 30px;
+ margin-right: 30px;
+ height: 35px;
+ border: 1px solid $tlv-light-gray;
+ }
+ .uuid-container {
+ .uuid-value {
+ @extend .body-3;
+ user-select: text;
+ }
+ }
}
- }
}
- }
}
diff --git a/openecomp-ui/resources/scss/modules/_featureGroup.scss b/openecomp-ui/resources/scss/modules/_featureGroup.scss
index cf681b8758..375bb2c08e 100644
--- a/openecomp-ui/resources/scss/modules/_featureGroup.scss
+++ b/openecomp-ui/resources/scss/modules/_featureGroup.scss
@@ -1,41 +1,38 @@
.feature-groups-list-editor {
- .list-editor-view{
- .list-editor-view-list {
- .list-editor-item-view {
- min-height: 110px;
- height: 110px;
- }
- .list-editor-item-view-content {
- .list-editor-item-view-field {
- &.smaller-field {
- flex: 0.35;
- }
- .feature-groups-count-field {
- display: inline-block;
- &:first-child {
- margin-right: 95px;
+ .list-editor-view {
+ .list-editor-view-list {
+ .list-editor-item-view {
+ min-height: 110px;
+ height: 110px;
+ }
+ .list-editor-item-view-content {
+ .list-editor-item-view-field {
+ &.smaller-field {
+ flex: 0.35;
+ }
+ .feature-groups-count-field {
+ display: inline-block;
+ &:first-child {
+ margin-right: 95px;
+ }
+ }
+ .feature-groups-count-ep {
+ @extend .heading-1;
+ color: $light-blue;
+ }
+ .feature-groups-mrn-ep {
+ @extend .body-1;
+ color: $light-blue;
+ }
+ .feature-groups-count-lk {
+ @extend .heading-1;
+ color: $light-green;
+ }
+ .title-no-wrap {
+ white-space: nowrap;
+ }
+ }
}
- }
- .feature-groups-count-ep {
- @extend .heading-1;
- color: $light-blue;
- }
- .feature-groups-mrn-ep {
- @extend .body-1;
- color: $light-blue;
- }
- .feature-groups-count-lk {
- @extend .heading-1;
- color: $light-green;
- }
- .title-no-wrap {
- white-space: nowrap;
- }
}
- }
}
- }
}
-
-
-
diff --git a/openecomp-ui/resources/scss/modules/_licenseAgreement.scss b/openecomp-ui/resources/scss/modules/_licenseAgreement.scss
index 579e9bab2b..acde2edcb8 100644
--- a/openecomp-ui/resources/scss/modules/_licenseAgreement.scss
+++ b/openecomp-ui/resources/scss/modules/_licenseAgreement.scss
@@ -1,26 +1,24 @@
-
.license-agreement-list-editor {
-
- .list-editor-view-list {
- .list-editor-item-view-field {
- .list-editor-item-view-field-tight {
- vertical-align: top;
- display: inline-block;
- &:first-child {
- @include ellipsis;
- margin-right: 95px;
- width: 20%;
- overflow-wrap: break-word;
+ .list-editor-view-list {
+ .list-editor-item-view-field {
+ .list-editor-item-view-field-tight {
+ vertical-align: top;
+ display: inline-block;
+ &:first-child {
+ @include ellipsis;
+ margin-right: 95px;
+ width: 20%;
+ overflow-wrap: break-word;
+ }
+ }
+ .feature-groups-count,
+ .type {
+ color: $light-green;
+ }
+ .feature-groups-count {
+ @extend .heading-1;
+ padding-top: 2px;
+ }
}
- }
- .feature-groups-count, .type {
- color: $light-green;
- }
- .feature-groups-count {
- @extend .heading-1;
- padding-top: 2px;
- }
-
}
- }
}
diff --git a/openecomp-ui/resources/scss/modules/_licenseKeyGroup.scss b/openecomp-ui/resources/scss/modules/_licenseKeyGroup.scss
index b7681fef9d..d873c3998c 100644
--- a/openecomp-ui/resources/scss/modules/_licenseKeyGroup.scss
+++ b/openecomp-ui/resources/scss/modules/_licenseKeyGroup.scss
@@ -1,31 +1,32 @@
.license-key-groups-list-editor {
- .list-editor-view-list {
- .list-editor-item-view-field {
-
- .operational-scope, .type {
- color: $orange;
- }
- .operational-scope {
- @include ellipsis;
- }
+ .list-editor-view-list {
+ .list-editor-item-view-field {
+ .operational-scope,
+ .type {
+ color: $orange;
+ }
+ .operational-scope {
+ @include ellipsis;
+ }
+ }
}
- }
}
.license-keygroup-editor {
- .uuid-row-wrapper {
- display: flex;
- .separator{
- margin-left: 30px;
- margin-right: 30px;
- height: 35px;
- border: 1px solid $tlv-light-gray;
- }
- .uuid-container {
- .uuid-value {
- @extend .body-3;
- user-select: text;
- }
+ .uuid-row-wrapper {
+ display: flex;
+ margin-top: 20px;
+ .separator {
+ margin-left: 30px;
+ margin-right: 30px;
+ height: 35px;
+ border: 1px solid $tlv-light-gray;
+ }
+ .uuid-container {
+ .uuid-value {
+ @extend .body-3;
+ user-select: text;
+ }
+ }
}
- }
}
diff --git a/openecomp-ui/resources/scss/modules/_licenseModel.scss b/openecomp-ui/resources/scss/modules/_licenseModel.scss
index e93ea989fd..da43e3e3cf 100644
--- a/openecomp-ui/resources/scss/modules/_licenseModel.scss
+++ b/openecomp-ui/resources/scss/modules/_licenseModel.scss
@@ -1,55 +1,42 @@
.license-model-modal {
- .modal-body {
- padding: 0;
- }
- .modal-header {
- border-bottom: none;
- padding-bottom: 30px;
- }
- .sdc-tabs-list {
- padding-left: 50px;
- border-bottom: 1px solid $tlv-light-gray;
- display: flex;
- align-items: baseline;
- }
- .sdc-tab-content {
- margin-top: 0;
- }
- .add-limit-button {
- margin-left: auto;
- margin-right: 50px;
- padding-right: 0;
- text-align: end;
- }
- .license-model-form {
- .validation-form-content, .validation-buttons {
- padding: 20px 50px;
+ .sdc-tabs {
+ margin-top: 20px;
}
- &.license-agreement-form, &.feature-group-form {
- .validation-form-content {
- padding: 0;
- }
- .sdc-tab-content {
- padding: 20px 50px;
- }
- }
- }
- .license-model-modal-buttons {
- padding: 21px 50px;
- display: flex;
- justify-content: flex-end;
- background-color: $tlv-gray;
- margin-top: 2px;
- .sdc-button {
- margin-left: 20px;
+ .sdc-tabs-list {
+ padding-left: 40px;
+ border-bottom: 1px solid $tlv-light-gray;
+ display: flex;
+ align-items: baseline;
+ }
+ .sdc-tab-content {
+ margin-top: 0;
+ }
+ .add-limit-button {
+ margin-left: auto;
+ margin-right: 50px;
+ padding-right: 0;
+ text-align: end;
+ }
+ .license-model-form {
+ &.license-agreement-form,
+ &.feature-group-form {
+ .validation-form-content {
+ padding: 0;
+ }
+ .sdc-tab-content {
+ padding: 20px 40px;
+ .dual-list-box {
+ margin: 0;
+ }
+ }
+ }
}
- }
}
.license-model-list-editor {
- .list-editor-view-list {
- .list-editor-item-view {
- min-height: 110px;
- height: 110px;
- }
- }
+ .list-editor-view-list {
+ .list-editor-item-view {
+ min-height: 110px;
+ height: 110px;
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/modules/_licenseModelLimits.scss b/openecomp-ui/resources/scss/modules/_licenseModelLimits.scss
index 16b6af7cf9..794ed388e4 100644
--- a/openecomp-ui/resources/scss/modules/_licenseModelLimits.scss
+++ b/openecomp-ui/resources/scss/modules/_licenseModelLimits.scss
@@ -1,133 +1,132 @@
.license-model-limits-view {
- max-height: 490px;
- overflow: auto;
-
- .limit-editor-title {
- padding: 10px 50px;
- background-color: $blue;
- color: $white;
-
- }
- .list-editor-view-add-title {
- margin-right: 20px;
- }
-
- .no-limits-text {
- padding-left: 50px;
- }
-
- .list-editor-view {
- .list-editor-view-header {
- border-bottom: none;
- padding-top: 30px;
- padding-bottom: 0;
- }
-
- .list-editor-view-list-scroller {
- margin-top: 0;
- margin-bottom: 30px;
- }
- .list-editor-view-list {
- width: 100%;
- .list-editor-item-view {
- min-height: 50px;
- height: 50px;
- background-color: $tlv-light-gray;
- border-color: transparent;
- margin: 1px 0;
- .list-editor-item-view-content {
- padding-left: 0;
- }
-
- .svg-icon {
- margin-top: 10px;
- margin-right: 50px;
- fill: $gray;
- &:hover {
- fill: $dark-gray;
- }
- }
-
- &.selectable {
- &:hover {
- .list-editor-item-view-field {
- .text.description, .text-name {
- &:after {
- background-color: darken($tlv-light-gray, 4%);
- }
- }
-
- }
- background-color: darken($tlv-light-gray, 4%);
- cursor: pointer;
- }
-
- }
- &:hover {
- border-color: transparent;
- cursor: default;
- }
- .list-editor-item-view-content {
- .list-editor-item-view-field {
- display: flex;
- align-items: center;
- white-space: nowrap;
-
- &.limit-name {
- .text.name {
- @extend .body-1-semibold;
- color: $blue;
- text-transform: uppercase;
- margin-left : 45px;
- }
-
- border-right: 1px solid $light-gray;
- margin-right: 22px;
- flex: 0.4;
- display: flex;
- justify-content: left;
- }
-
- &.limit-description {
- max-width: 300px;
- margin-right: 22px;
- }
-
- &.limit-metric-details {
- max-width: 300px;
- }
-
-
- .text.description, .text.name {
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- &:after {
- background: $tlv-light-gray;
- }
-
- }
- }
-
- }
- }
- }
- }
- .limit-editor{
- .limit-editor-form {
- .limit-editor-form-grid-section {
- padding-bottom: 0;
- }
- .validation-form-content {
- padding: 21px 45px;
- }
- .limit-editor-buttons {
- display: flex;
- justify-content: flex-end;
- .sdc-button {
- margin-left: 20px;
- }
- }
- }
- }
-} \ No newline at end of file
+ max-height: 490px;
+ overflow: auto;
+
+ .limit-editor-title {
+ padding: 10px 50px;
+ background-color: $blue;
+ color: $white;
+ }
+ .list-editor-view-add-title {
+ margin-right: 20px;
+ }
+
+ .no-limits-text {
+ padding-left: 50px;
+ }
+
+ .list-editor-view {
+ .list-editor-view-header {
+ border-bottom: none;
+ padding-top: 30px;
+ padding-bottom: 0;
+ }
+
+ .list-editor-view-list-scroller {
+ margin-top: 0;
+ margin-bottom: 30px;
+ }
+ .list-editor-view-list {
+ width: 100%;
+ .list-editor-item-view {
+ min-height: 50px;
+ height: 50px;
+ background-color: $tlv-light-gray;
+ border-color: transparent;
+ margin: 1px 0;
+ .list-editor-item-view-content {
+ padding-left: 0;
+ }
+
+ .svg-icon {
+ margin-top: 10px;
+ margin-right: 50px;
+ fill: $gray;
+ &:hover {
+ fill: $dark-gray;
+ }
+ }
+
+ &.selectable {
+ &:hover {
+ .list-editor-item-view-field {
+ .text.description,
+ .text-name {
+ &:after {
+ background-color: darken(
+ $tlv-light-gray,
+ 4%
+ );
+ }
+ }
+ }
+ background-color: darken($tlv-light-gray, 4%);
+ cursor: pointer;
+ }
+ }
+ &:hover {
+ border-color: transparent;
+ cursor: default;
+ }
+ .list-editor-item-view-content {
+ .list-editor-item-view-field {
+ display: flex;
+ align-items: center;
+ white-space: nowrap;
+
+ &.limit-name {
+ .text.name {
+ @extend .body-1-semibold;
+ color: $blue;
+ text-transform: uppercase;
+ margin-left: 45px;
+ }
+
+ border-right: 1px solid $light-gray;
+ margin-right: 22px;
+ flex: 0.4;
+ display: flex;
+ justify-content: left;
+ }
+
+ &.limit-description {
+ max-width: 300px;
+ margin-right: 22px;
+ }
+
+ &.limit-metric-details {
+ max-width: 300px;
+ }
+
+ .text.description,
+ .text.name {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ &:after {
+ background: $tlv-light-gray;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ .limit-editor {
+ .limit-editor-form {
+ .limit-editor-form-grid-section {
+ padding-bottom: 0;
+ }
+ .validation-form-content {
+ padding: 21px 45px;
+ }
+ .limit-editor-buttons {
+ display: flex;
+ justify-content: flex-end;
+ .sdc-button {
+ margin-left: 20px;
+ }
+ }
+ }
+ }
+}
diff --git a/openecomp-ui/resources/scss/modules/_licenseModelOverview.scss b/openecomp-ui/resources/scss/modules/_licenseModelOverview.scss
index 21c5bd8007..eca87b6962 100644
--- a/openecomp-ui/resources/scss/modules/_licenseModelOverview.scss
+++ b/openecomp-ui/resources/scss/modules/_licenseModelOverview.scss
@@ -4,236 +4,233 @@ $icon-margin: 30px;
$arrow-element-width: 30px;
$list-item-padding: 15px;
-
-
$la-color: $dark-blue;
$fg-color: $blue;
$lkg-ep-color: $light-blue;
@mixin overview-tile-shadow() {
- @include box-shadow(0.5px 0.8px 4px 0 rgba(24, 24, 25, 0.05));
+ @include box-shadow(0.5px 0.8px 4px 0 rgba(24, 24, 25, 0.05));
}
.license-model-overview {
- .overview-top-section {
- .overview-title{
- @extend .heading-1;
- @extend .text-uppercase !optional;
- margin-bottom: 20px;
- color: $blue;
- }
- .license-model-overview-top {
- display: flex;
- justify-content: flex-start;
- flex-direction: row;
- padding-bottom: 10px;
- min-height: 155px;
- .separator {
- width: 1px;
- border-right: 1px solid $tlv-light-gray;
- margin-left: 20px;
- }
- .vendor-data-view {
- @extend .flex-column;
- background-color: $tlv-gray;
- padding: 13px 30px;
- border: 1px solid $tlv-light-gray;
- @include overview-tile-shadow();
- .vendor-title {
- margin-top:5px;
+ .overview-top-section {
+ .overview-title {
+ @extend .heading-1;
+ @extend .text-uppercase !optional;
+ margin-bottom: 20px;
+ color: $blue;
}
- .vendor-name {
- @extend .heading-4-semibold;
- text-transform: none;
- padding-bottom: 10px;
- border-bottom: 1px solid $tlv-light-gray;
- }
- .vendor-description, .vendor-description-readonly {
- @extend .flex;
- @extend .body-1;
- justify-content: space-between;
- overflow: hidden;
- position: relative;
- flex: initial;
- }
-
- &:not(.read-only) .vendor-description {
- border: 1px solid transparent;
- width: 100%;
- padding: 2px 0 2px 6px;
- margin-top: 10px;
- position: relative;
- .svg-icon-wrapper {
- position: absolute;;
- right:0;
- top:0;
- opacity: 0;
- }
- $hover-padding-right: 16px;
- @include percent-plus-value($property: width, $percent: 100%, $value: -$hover-padding-right); // compensate for padding added on hover
- &:hover {
- padding-right: $hover-padding-right;
- border: 1px solid $light-gray;
- cursor: pointer;
-
- background-color: $white;
- .svg-icon-wrapper {
- opacity: 1;
- z-index: 10;
- }
- .description-data:after {
- background: white;
- }
- .description-data {
- width: 100%;
+ .license-model-overview-top {
+ display: flex;
+ justify-content: flex-start;
+ flex-direction: row;
+ padding-bottom: 10px;
+ min-height: 155px;
+ .separator {
+ width: 1px;
+ border-right: 1px solid $tlv-light-gray;
+ margin-left: 20px;
}
- }
- }
+ .vendor-data-view {
+ @extend .flex-column;
+ background-color: $tlv-gray;
+ padding: 13px 30px;
+ border: 1px solid $tlv-light-gray;
+ @include overview-tile-shadow();
+ .vendor-title {
+ margin-top: 5px;
+ }
+ .vendor-name {
+ @extend .heading-4-semibold;
+ text-transform: none;
+ padding-bottom: 10px;
+ border-bottom: 1px solid $tlv-light-gray;
+ }
+ .vendor-description,
+ .vendor-description-readonly {
+ @extend .flex;
+ @extend .body-1;
+ justify-content: space-between;
+ overflow: hidden;
+ position: relative;
+ flex: initial;
+ }
- .vendor-description-readonly {
- margin-top: 16px;
- }
+ &:not(.read-only) .vendor-description {
+ border: 1px solid transparent;
+ width: 100%;
+ padding: 2px 0 2px 6px;
+ margin-top: 10px;
+ position: relative;
+ .svg-icon-wrapper {
+ position: absolute;
+ right: 0;
+ top: 0;
+ opacity: 0;
+ }
+ $hover-padding-right: 16px;
+ @include percent-plus-value($property: width, $percent: 100%, $value: -$hover-padding-right); // compensate for padding added on hover
+ &:hover {
+ padding-right: $hover-padding-right;
+ border: 1px solid $light-gray;
+ cursor: pointer;
- .description-data {
- @include multiline-ellipsis($lineCount: 3, $bgColor: $tlv-gray);
- flex: initial;
- }
+ background-color: $white;
+ .svg-icon-wrapper {
+ opacity: 1;
+ z-index: 10;
+ }
+ .description-data:after {
+ background: white;
+ }
+ .description-data {
+ width: 100%;
+ }
+ }
+ }
- .vendor-description-edit {
- @extend .flex;
- flex-direction: column;
- border: none;
- margin-top: 10px;
- position: relative;
- left: -6px;
- width: 101%;
- textarea {
- padding-left: 6px;
- resize: vertical;
- }
- .buttons-row {
- @extend .flex;
- justify-content: flex-end;
- flex-direction: row;
- margin-top: -25px;
- .buttons-wrapper {
- @extend .flex;
- @extend .body-3;
- border: 1px solid $light-gray;
- width: 95px;
- height: 19px;
- background-color: $tlv-light-gray;
- border-radius: 2px;
- position: relative;
- flex: 0 1 auto;
- text-align: center;
- .description-button {
- cursor: pointer;
- flex: 1;
- &:hover {
- background-color: $white;
+ .vendor-description-readonly {
+ margin-top: 16px;
}
- }
- .description-save {
- cursor: pointer;
- flex: 1;
- color:$blue;
- &:hover {
- background-color: $white;
+
+ .description-data {
+ @include multiline-ellipsis($lineCount: 3, $bgColor: $tlv-gray);
+ flex: initial;
}
- }
- }
- }
- .description-edit-textarea {
- height:67px;
- border: 1px solid $tlv-light-gray;
- resize: none;
- position: relative;
- left: -12px;
- }
- .validation-error-message.tooltip {
- z-index: 1000;
- .tooltip-inner {
- background-color: $red;
- }
- }
- }
- }
- .summary-count-list {
- @extend .flex-column;
- flex: 0.6;
- margin-left: 20px;
- justify-content: space-between;
- border: 1px solid $tlv-light-gray;
- @include overview-tile-shadow();
- background-color: $tlv-gray;
- .summary-count-item {
- @extend .flex;
- @extend .heading-5-semibold;
- align-items: center;
- padding-left: 45px;
- padding-right: 45px;
- border-bottom: 1px solid $tlv-light-gray;
- &:last-child { border-bottom: none; }
- .item-count {
- flex-grow: 2;
- margin-left: 5px;
- }
- .summary-name-and-count {
- width: 100%;
- }
- .svg-icon-wrapper {
- .svg-icon {
- &.__plusCircle {
- margin-top: 3px;
- margin-left: auto;
- fill: $dark-gray;
- &:hover {
- fill: $blue;
+
+ .vendor-description-edit {
+ @extend .flex;
+ flex-direction: column;
+ border: none;
+ margin-top: 10px;
+ position: relative;
+ left: -6px;
+ width: 101%;
+ textarea {
+ padding-left: 6px;
+ resize: vertical;
+ }
+ .buttons-row {
+ @extend .flex;
+ justify-content: flex-end;
+ flex-direction: row;
+ margin-top: -25px;
+ .buttons-wrapper {
+ @extend .flex;
+ @extend .body-3;
+ border: 1px solid $light-gray;
+ width: 95px;
+ height: 19px;
+ background-color: $tlv-light-gray;
+ border-radius: 2px;
+ position: relative;
+ flex: 0 1 auto;
+ text-align: center;
+ .description-button {
+ cursor: pointer;
+ flex: 1;
+ &:hover {
+ background-color: $white;
+ }
+ }
+ .description-save {
+ cursor: pointer;
+ flex: 1;
+ color: $blue;
+ &:hover {
+ background-color: $white;
+ }
+ }
+ }
+ }
+ .description-edit-textarea {
+ height: 67px;
+ border: 1px solid $tlv-light-gray;
+ resize: none;
+ position: relative;
+ left: -12px;
+ }
+ .validation-error-message.tooltip {
+ z-index: 1000;
+ .tooltip-inner {
+ background-color: $red;
+ }
+ }
}
- }
}
+ .summary-count-list {
+ @extend .flex-column;
+ flex: 0.6;
+ margin-left: 20px;
+ justify-content: space-between;
+ border: 1px solid $tlv-light-gray;
+ @include overview-tile-shadow();
+ background-color: $tlv-gray;
+ .summary-count-item {
+ @extend .flex;
+ @extend .heading-5-semibold;
+ align-items: center;
+ padding-left: 45px;
+ padding-right: 45px;
+ border-bottom: 1px solid $tlv-light-gray;
+ &:last-child {
+ border-bottom: none;
+ }
+ .item-count {
+ flex-grow: 2;
+ margin-left: 5px;
+ }
+ .summary-name-and-count {
+ width: 100%;
+ }
+ .svg-icon-wrapper {
+ .svg-icon {
+ &.__plusCircle {
+ margin-top: 3px;
+ margin-left: auto;
+ fill: $dark-gray;
+ &:hover {
+ fill: $blue;
+ }
+ }
+ }
+ }
- }
-
- .summary-name-and-count {
- &:hover {
- cursor: pointer;
- color: $blue;
+ .summary-name-and-count {
+ &:hover {
+ cursor: pointer;
+ color: $blue;
+ }
+ }
+ }
+ }
+ .plus-icon {
+ font-size: $icon-font-size;
+ border-radius: 50%;
+ border: 1px solid $black;
+ color: $black;
+ height: 16px;
+ width: 16px;
+ padding: 2px 2px 2px 3px;
}
- }
-
-
}
- }
- .plus-icon {
- font-size: $icon-font-size;
- border-radius: 50%;
- border: 1px solid $black;
- color: $black;
- height: 16px;
- width: 16px;
- padding: 2px 2px 2px 3px;
- }
- }
- }
- .vlm-list-tab-panel {
-
- @extend .flex;
- margin-bottom: 7px;
- .section-title {
- flex: 1;
}
- .overview-buttons-section {
- margin-top: 20px;
- display: flex;
- justify-content: flex-start;
- .button-vlm-list-view {
- height: 32px;
- width: 34px;
- margin-left:10px;
- cursor: pointer;
- }
- /**
+ .vlm-list-tab-panel {
+ @extend .flex;
+ margin-bottom: 7px;
+ .section-title {
+ flex: 1;
+ }
+ .overview-buttons-section {
+ margin-top: 20px;
+ display: flex;
+ justify-content: flex-start;
+ .button-vlm-list-view {
+ height: 32px;
+ width: 34px;
+ margin-left: 10px;
+ cursor: pointer;
+ }
+ /**
.vlm-list-icon {
background-size: 32px;
background-repeat: no-repeat;
@@ -251,262 +248,253 @@ $lkg-ep-color: $light-blue;
}
}
**/
- }
- }
-
- .overview-list-section {
- @extend .flex-column;
- margin-top: 35px;
- .section-title {
- @extend .heading-2;
- padding-top: 20px;
- margin-bottom: 15px;
- padding-bottom: 0px;
- }
- &.overview-list-orphans {
- .chevron::before
- {
- display: none;
- }
- .vlm-list-view {
- .vlm-list {
- .vlm-list-item.orphan-list-item {
- @include overview-tile-shadow();
- margin-left: 0;
-
- .vlm-list-item-title {
-
- .item-name {
- color: $dark-gray;
- }
- }
- .list-item-icon-col {
- .overview-list-icon {
- background-color: $gray;
- border-color: $gray;
- }
- }
- .list-item-section {
- &:first-child {
- display: flex;
- color: $white;
- min-width: $arrow-element-width;
- }
- &.list-item-icon-col {
- margin-left: 65px;
- margin-right: 65px - $list-item-padding;
- }
- }
- }
}
- }
}
- .vlm-list-view {
- flex: 1;
- .vlm-list {
- @extend .flex;
- flex-direction: column;
- .vlm-list-item {
- @include border-shadow();
- min-height: 90px;
- height: 90px;
- background-color: $tlv-gray;
- @extend .flex;
- border: 1px solid $tlv-light-gray;
- margin-bottom: 0px;
- .clickable {
- cursor: pointer;
- }
- .list-item-section {
- .count-value {
- @extend .body-3;
- }
- &.list-item-icon-col {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- padding: 0;
- margin-right: 40px - $list-item-padding;
- margin-left: $icon-margin;
- .overview-list-icon {
- @extend .body-2;
- }
- }
- padding: 15px;
- &.list-item-arrow-col {
- padding: 0;
- }
- .children-count {
- @extend .body-1;
- color: $gray;
- padding-left: 5px;
- .count-value {
- padding: 0 5px;
- }
- }
- .additional-data {
- padding-left: 60px;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- *:last-child {
- margin-top: 20px;
- }
- *:only-child {
- margin-top: 0;
- }
- .additional-data-name {
- @extend .body-2-semibold;
- }
- }
- .additional-data-col-border {
- border-left: 1px solid $tlv-light-gray;
- min-height: 100%;
- height: 100%;
- }
- }
- .list-item-additional-data-col {
- @extend .body-2;
- @extend .flex;
- align-items: stretch;
- flex: 0.8;
- margin-left: 30px;
- padding-top: 17px;
- padding-bottom: 11px;
- }
- .arrow-icon {
- align-self: center;
-
- }
- .vlm-item-info {
- flex: 1;
- }
- .vlm-list-item-title {
- @extend .flex;
- align-items: baseline;
- .item-name {
- @extend .heading-5-semibold;
- flex: 0 1 auto;
- margin-bottom: 4px;
- text-transform: uppercase;
- }
- }
- .vlm-list-item-description {
- @extend .body-1;
- @include multiline-ellipsis($lineCount: 3, $bgColor: $tlv-gray);
- max-height: 38px;
- }
- &.vlm-list-item-la {
- margin-top: 10px;
- .la-icon {
- @include create-circle($circle-icon-size, $la-color);
- color: $white;
- }
- .vlm-list-item-title {
- .item-name {
- color: $la-color;
- }
- }
- .list-item-section {
-
- &:first-child {
- display: flex;
- color: $la-color;
- min-width: $arrow-element-width;
- }
- }
- .list-item-arrow-col {
- flex: 0.01;
- margin-left: $arrow-margin;
- justify-content: center;
+ .overview-list-section {
+ @extend .flex-column;
+ margin-top: 35px;
+ .section-title {
+ @extend .heading-2;
+ padding-top: 20px;
+ margin-bottom: 15px;
+ padding-bottom: 0px;
+ }
+ &.overview-list-orphans {
+ .chevron::before {
+ display: none;
}
- }
- &.vlm-list-item-fg {
- margin-left: $list-indentation;
- margin-top: 10px;
- .fg-pipeline-separator {
- color: $dark-gray;
- padding: 0 5px;
- }
- .list-item-icon-col {
- margin-left: 29px;
- }
- .fg-icon {
- @include create-circle($circle-icon-size, $fg-color);
- color: $white;
- }
-
- .vlm-list-item-title {
- .item-name {
- color: $fg-color;
- }
- }
- .list-item-section {
- &:first-child {
- display: flex;
- color: $fg-color;
- min-width: $arrow-element-width;
+ .vlm-list-view {
+ .vlm-list {
+ .vlm-list-item.orphan-list-item {
+ @include overview-tile-shadow();
+ margin-left: 0;
- }
- }
- .list-item-arrow-col {
- flex: 0.01;
- margin-left: $arrow-margin - $list-indentation;
- padding-left: $list-indentation;
- }
- }
- &.vlm-list-item-ep {
- margin-left: $list-indentation * 2;
- margin-top: 10px;
- cursor: default;
- .ep-icon {
- @include create-circle($circle-icon-size, $lkg-ep-color);
- color: $white;
- }
- .vlm-list-item-title {
- .item-name {
- color: $lkg-ep-color;
- }
- }
- .list-item-section {
- &:first-child {
- display: none;
- }
- &.list-item-icon-col {
- margin-left: 52px;
- }
+ .vlm-list-item-title {
+ .item-name {
+ color: $dark-gray;
+ }
+ }
+ .list-item-icon-col {
+ .overview-list-icon {
+ background-color: $gray;
+ border-color: $gray;
+ }
+ }
+ .list-item-section {
+ &:first-child {
+ display: flex;
+ color: $white;
+ min-width: $arrow-element-width;
+ }
+ &.list-item-icon-col {
+ margin-left: 65px;
+ margin-right: 65px - $list-item-padding;
+ }
+ }
+ }
+ }
}
+ }
+ .vlm-list-view {
+ flex: 1;
+ .vlm-list {
+ @extend .flex;
+ flex-direction: column;
+ .vlm-list-item {
+ @include border-shadow();
+ min-height: 90px;
+ height: 90px;
+ background-color: $tlv-gray;
+ @extend .flex;
+ border: 1px solid $tlv-light-gray;
+ margin-bottom: 0px;
+ .clickable {
+ cursor: pointer;
+ }
- }
- &.vlm-list-item-lkg {
- margin-top: 10px;
- margin-left: $list-indentation * 2;
- cursor: default;
- .lkg-icon {
- @include create-circle($circle-icon-size, $lkg-ep-color);
- color: $white;
- }
- .vlm-list-item-title {
- .item-name {
- color: $lkg-ep-color;
- }
- }
- .list-item-section {
- &:first-child {
- display: none;
- }
- &.list-item-icon-col {
- margin-left: 52px;
- }
+ .list-item-section {
+ .count-value {
+ @extend .body-3;
+ }
+ &.list-item-icon-col {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ padding: 0;
+ margin-right: 40px - $list-item-padding;
+ margin-left: $icon-margin;
+ .overview-list-icon {
+ @extend .body-2;
+ }
+ }
+ padding: 15px;
+ &.list-item-arrow-col {
+ padding: 0;
+ }
+ .children-count {
+ @extend .body-1;
+ color: $gray;
+ padding-left: 5px;
+ .count-value {
+ padding: 0 5px;
+ }
+ }
+ .additional-data {
+ padding-left: 60px;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ *:last-child {
+ margin-top: 20px;
+ }
+ *:only-child {
+ margin-top: 0;
+ }
+ .additional-data-name {
+ @extend .body-2-semibold;
+ }
+ }
+ .additional-data-col-border {
+ border-left: 1px solid $tlv-light-gray;
+ min-height: 100%;
+ height: 100%;
+ }
+ }
+ .list-item-additional-data-col {
+ @extend .body-2;
+ @extend .flex;
+ align-items: stretch;
+ flex: 0.8;
+ margin-left: 30px;
+ padding-top: 17px;
+ padding-bottom: 11px;
+ }
+ .arrow-icon {
+ align-self: center;
+ }
+ .vlm-item-info {
+ flex: 1;
+ }
+ .vlm-list-item-title {
+ @extend .flex;
+ align-items: baseline;
+ .item-name {
+ @extend .heading-5-semibold;
+ flex: 0 1 auto;
+ margin-bottom: 4px;
+ text-transform: uppercase;
+ }
+ }
+ .vlm-list-item-description {
+ @extend .body-1;
+ @include multiline-ellipsis($lineCount: 3, $bgColor: $tlv-gray);
+ max-height: 38px;
+ }
+ &.vlm-list-item-la {
+ margin-top: 10px;
+ .la-icon {
+ @include create-circle($circle-icon-size, $la-color);
+ color: $white;
+ }
+ .vlm-list-item-title {
+ .item-name {
+ color: $la-color;
+ }
+ }
+ .list-item-section {
+ &:first-child {
+ display: flex;
+ color: $la-color;
+ min-width: $arrow-element-width;
+ }
+ }
+ .list-item-arrow-col {
+ flex: 0.01;
+ margin-left: $arrow-margin;
+ justify-content: center;
+ }
+ }
+ &.vlm-list-item-fg {
+ margin-left: $list-indentation;
+ margin-top: 10px;
+ .fg-pipeline-separator {
+ color: $dark-gray;
+ padding: 0 5px;
+ }
+ .list-item-icon-col {
+ margin-left: 29px;
+ }
+ .fg-icon {
+ @include create-circle($circle-icon-size, $fg-color);
+ color: $white;
+ }
+ .vlm-list-item-title {
+ .item-name {
+ color: $fg-color;
+ }
+ }
+ .list-item-section {
+ &:first-child {
+ display: flex;
+ color: $fg-color;
+ min-width: $arrow-element-width;
+ }
+ }
+ .list-item-arrow-col {
+ flex: 0.01;
+ margin-left: $arrow-margin - $list-indentation;
+ padding-left: $list-indentation;
+ }
+ }
+ &.vlm-list-item-ep {
+ margin-left: $list-indentation * 2;
+ margin-top: 10px;
+ cursor: default;
+ .ep-icon {
+ @include create-circle($circle-icon-size, $lkg-ep-color);
+ color: $white;
+ }
+ .vlm-list-item-title {
+ .item-name {
+ color: $lkg-ep-color;
+ }
+ }
+ .list-item-section {
+ &:first-child {
+ display: none;
+ }
+ &.list-item-icon-col {
+ margin-left: 52px;
+ }
+ }
+ }
+ &.vlm-list-item-lkg {
+ margin-top: 10px;
+ margin-left: $list-indentation * 2;
+ cursor: default;
+ .lkg-icon {
+ @include create-circle($circle-icon-size, $lkg-ep-color);
+ color: $white;
+ }
+ .vlm-list-item-title {
+ .item-name {
+ color: $lkg-ep-color;
+ }
+ }
+ .list-item-section {
+ &:first-child {
+ display: none;
+ }
+ &.list-item-icon-col {
+ margin-left: 52px;
+ }
+ }
+ }
+ }
}
- }
}
-
- }
}
- }
-
}
diff --git a/openecomp-ui/resources/scss/modules/_mergeEditor.scss b/openecomp-ui/resources/scss/modules/_mergeEditor.scss
index 96648dd20f..000e42d5b4 100644
--- a/openecomp-ui/resources/scss/modules/_mergeEditor.scss
+++ b/openecomp-ui/resources/scss/modules/_mergeEditor.scss
@@ -5,203 +5,201 @@ $selected-width: 1px;
$selected-color: $blue;
@mixin levels {
- @for $i from 1 to 6 {
- .level-#{$i} {
- padding-left: 18px + 10 * $i;
- }
- }
+ @for $i from 1 to 6 {
+ .level-#{$i} {
+ padding-left: 18px + 10 * $i;
+ }
+ }
}
.merge-editor-modal {
- .modal-lg {
- width: 1300px;
- }
+ .modal-lg {
+ width: 1300px;
+ }
}
.merge-editor {
- margin: 30px 40px;
- max-height: 600px;
- border: 1px solid $light-gray;
- .grid-section {
- &.conflict-titles-section {
- @extend .body-1;
- background-color: $blue;
- height: 33px;
- padding-top: 6px;
- padding-bottom: 3px;
- color: $white;
- position: sticky;
- top: 0;
- z-index: 2;
- border-bottom: 1px solid $tlv-light-gray;
- .grid-item {
- padding-left: 10px;
- }
- .form-group {
- margin-bottom: 0;
- .checkbox {
- label {
- margin-right: 0;
- }
-
- text-align: right;
-
- input[type="checkbox"] {
- cursor: pointer;
- margin-top: 1px;
- }
- }
- }
- }
- }
- .merge-editor-body {
- max-height: 500px;
- overflow-y: scroll;
- padding: 10px;
- .conflict-section {
- margin-bottom: 0;
- border-left: 0;
- border-right: 0;
- padding: 5px 0;
-
- .conflict-resolve-btn {
- align-self: flex-end;
- }
-
- .grid-items {
- align-items: center;
-
- input[type="radio"]:not(:checked) {
- cursor: pointer;
- }
- }
- }
-
- .collapsible-section {
- display: flex;
- cursor: pointer;
-
- .conflict-title {
- @extend .heading-5-semibold;
- text-transform: uppercase;
- }
- }
-
- .merge-chevron {
- margin-right: 7px;
- &.right {
- transform: rotate(90deg);
- }
- }
-
- .grid-section .grid-items .field-col:not(.grid-col-title) {
- &.grid-col-yours {
- border-top: $selected-width solid $yours-bg-color;
- border-bottom: $selected-width solid $yours-bg-color;
- }
-
- &.theirs-color {
- border-top: $selected-width solid $theirs-bg-color;
- border-bottom: $selected-width solid $theirs-bg-color;
- }
- }
-
- .merge-editor-text-field {
- display: flex;
- justify-content: space-between;
- // margin: 0 0 10px 0;
- margin: 0;
-
- .field {
- color: $text-black;
-
- &.field-name:not(.field-object-name) {
- color: $gray;
- }
- }
-
- &.diff {
- .field {
- color: $red;
- }
- }
-
- &.grid-section {
- padding-bottom: 0;
-
- .grid-items {
- flex: 1;
-
-
- .field-col {
- padding: 7px 0;
- height: 100%;
-
- &:not(:first-child) {
- padding-left: 8px;
- }
-
- &.grid-col-yours {
- background-color: $yours-bg-color;
- }
-
- &.grid-col-theirs {
- background-color: $theirs-bg-color;
- }
-
- @include levels;
-
-
- .field {
- @extend .body-1;
- flex: 2;
- min-width: 0;
-
- &.field-name {
- @include multiline-ellipsis($bgColor: white);
- &.diff {
- color: $red;
- }
- text-transform: uppercase;
- &.field-object-name {
- @extend .body-1-semibold;
- margin-bottom: 5px;
- margin-top: 10px;
-
- }
- }
-
- &.field-yours {
- @include multiline-ellipsis($bgColor: $yours-bg-color);
- }
-
- &.field-theirs {
- @include multiline-ellipsis($bgColor: $theirs-bg-color);
- }
- &.field-name, &.field.field-yours, &.field.field-theirs {
- word-break: break-word;
- text-align: initial;
- }
- &.empty-field {
- padding-top: 2px;
- }
- }
-
- *::after {
- bottom: 0;
- }
- }
- }
- }
-
- &.field-error {
- @extend .body-1;
- color: $error-text-color;
- min-width: 0;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- }
- }
+ margin: 30px 40px;
+ max-height: 600px;
+ border: 1px solid $light-gray;
+ .grid-section {
+ &.conflict-titles-section {
+ @extend .body-1;
+ background-color: $blue;
+ height: 33px;
+ padding-top: 6px;
+ padding-bottom: 3px;
+ color: $white;
+ position: sticky;
+ top: 0;
+ z-index: 2;
+ border-bottom: 1px solid $tlv-light-gray;
+ .grid-item {
+ padding-left: 10px;
+ }
+ .form-group {
+ margin-bottom: 0;
+ .checkbox {
+ label {
+ margin-right: 0;
+ }
+
+ text-align: right;
+
+ input[type='checkbox'] {
+ cursor: pointer;
+ margin-top: 1px;
+ }
+ }
+ }
+ }
+ }
+ .merge-editor-body {
+ max-height: 500px;
+ overflow-y: scroll;
+ padding: 10px;
+ .conflict-section {
+ margin-bottom: 0;
+ border-left: 0;
+ border-right: 0;
+ padding: 5px 0;
+
+ .conflict-resolve-btn {
+ align-self: flex-end;
+ }
+
+ .grid-items {
+ align-items: center;
+
+ input[type='radio']:not(:checked) {
+ cursor: pointer;
+ }
+ }
+ }
+
+ .collapsible-section {
+ display: flex;
+ cursor: pointer;
+
+ .conflict-title {
+ @extend .heading-5-semibold;
+ text-transform: uppercase;
+ }
+ }
+
+ .merge-chevron {
+ margin-right: 7px;
+ &.right {
+ transform: rotate(90deg);
+ }
+ }
+
+ .grid-section .grid-items .field-col:not(.grid-col-title) {
+ &.grid-col-yours {
+ border-top: $selected-width solid $yours-bg-color;
+ border-bottom: $selected-width solid $yours-bg-color;
+ }
+
+ &.theirs-color {
+ border-top: $selected-width solid $theirs-bg-color;
+ border-bottom: $selected-width solid $theirs-bg-color;
+ }
+ }
+
+ .merge-editor-text-field {
+ display: flex;
+ justify-content: space-between;
+ margin: 0;
+
+ .field {
+ color: $text-black;
+
+ &.field-name:not(.field-object-name) {
+ color: $gray;
+ }
+ }
+
+ &.diff {
+ .field {
+ color: $red;
+ }
+ }
+
+ &.grid-section {
+ padding-bottom: 0;
+
+ .grid-items {
+ flex: 1;
+
+ .field-col {
+ padding: 7px 0;
+ height: 100%;
+
+ &:not(:first-child) {
+ padding-left: 8px;
+ }
+
+ &.grid-col-yours {
+ background-color: $yours-bg-color;
+ }
+
+ &.grid-col-theirs {
+ background-color: $theirs-bg-color;
+ }
+
+ @include levels;
+
+ .field {
+ @extend .body-1;
+ flex: 2;
+ min-width: 0;
+
+ &.field-name {
+ @include multiline-ellipsis($bgColor: white);
+ &.diff {
+ color: $red;
+ }
+ text-transform: uppercase;
+ &.field-object-name {
+ @extend .body-1-semibold;
+ margin-bottom: 5px;
+ margin-top: 10px;
+ }
+ }
+
+ &.field-yours {
+ @include multiline-ellipsis($bgColor: $yours-bg-color);
+ }
+
+ &.field-theirs {
+ @include multiline-ellipsis($bgColor: $theirs-bg-color);
+ }
+ &.field-name,
+ &.field.field-yours,
+ &.field.field-theirs {
+ word-break: break-word;
+ text-align: initial;
+ }
+ &.empty-field {
+ padding-top: 2px;
+ }
+ }
+
+ *::after {
+ bottom: 0;
+ }
+ }
+ }
+ }
+
+ &.field-error {
+ @extend .body-1;
+ color: $error-text-color;
+ min-width: 0;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/modules/_onboardingCatalog.scss b/openecomp-ui/resources/scss/modules/_onboardingCatalog.scss
index 39f7636e79..bf0c14649e 100644
--- a/openecomp-ui/resources/scss/modules/_onboardingCatalog.scss
+++ b/openecomp-ui/resources/scss/modules/_onboardingCatalog.scss
@@ -1,63 +1,63 @@
$transitionLength: 0.6s;
.catalog-view {
- background-color: $background-gray;
- overflow: hidden;
- height: 100%;
- display: flex;
- @import "onboardingCatalog/catalogFilter.scss";
- .catalog-parts {
- width: 100%;
- @import "onboardingCatalog/onboardHeader";
- @import "onboardingCatalog/catalogHeader";
- }
- @import "onboardingCatalog/vendorPageHeader";
- @import "onboardingCatalog/catalogList";
- @import "onboardingCatalog/vspOverlay";
- .catalog-wrapper {
- height: 100%;
- overflow: auto;
- .tab-separator {
- content: '';
- height: 25px;
- border-right: 1px solid $dark-gray;
- }
- .catalog-list {
- overflow: hidden;
- height: auto;
- .sdc-tile {
- margin: 9px;
- .sdc-tile-header {
- position: initial;
- display: block;
- flex-shrink: initial;
- align-items: initial;
- flex-direction: initial;
- }
- .sdc-tile-content {
- position: initial;
- flex: initial;
- display: flex;
- align-items: initial;
- flex-direction: column;
- justify-content: space-between;
- overflow: initial;
- .sdc-tile-info-line {
- .with-overlay {
- line-height: 1.2em;
- @include ellipsis($width: initial, $max-width: 100%);
- }
- }
- }
- .sdc-tile-footer {
- position: initial;
- flex-shrink: initial;
- display: flex;
- align-items: center;
- flex-direction: row;
- text-transform: none;
- }
- }
- }
- }
+ background-color: $background-gray;
+ overflow: hidden;
+ height: 100%;
+ display: flex;
+ @import 'onboardingCatalog/catalogFilter.scss';
+ .catalog-parts {
+ width: 100%;
+ @import 'onboardingCatalog/onboardHeader';
+ @import 'onboardingCatalog/catalogHeader';
+ }
+ @import 'onboardingCatalog/vendorPageHeader';
+ @import 'onboardingCatalog/catalogList';
+ @import 'onboardingCatalog/vspOverlay';
+ .catalog-wrapper {
+ height: 100%;
+ overflow: auto;
+ .tab-separator {
+ content: '';
+ height: 25px;
+ border-right: 1px solid $dark-gray;
+ }
+ .catalog-list {
+ overflow: hidden;
+ height: auto;
+ .sdc-tile {
+ margin: 9px;
+ .sdc-tile-header {
+ position: initial;
+ display: block;
+ flex-shrink: initial;
+ align-items: initial;
+ flex-direction: initial;
+ }
+ .sdc-tile-content {
+ position: initial;
+ flex: initial;
+ display: flex;
+ align-items: initial;
+ flex-direction: column;
+ justify-content: space-between;
+ overflow: initial;
+ .sdc-tile-info-line {
+ .with-overlay {
+ line-height: 1.2em;
+ @include ellipsis($width: initial, $max-width: 100%);
+ }
+ }
+ }
+ .sdc-tile-footer {
+ position: initial;
+ flex-shrink: initial;
+ display: flex;
+ align-items: center;
+ flex-direction: row;
+ text-transform: none;
+ }
+ }
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/modules/_permissions.scss b/openecomp-ui/resources/scss/modules/_permissions.scss
index e652d9d82f..5f83dc2fe9 100644
--- a/openecomp-ui/resources/scss/modules/_permissions.scss
+++ b/openecomp-ui/resources/scss/modules/_permissions.scss
@@ -1,55 +1,50 @@
-.modal-content {
- .modal-body {
- .manage-permissions-page {
- .validation-form-content {
- overflow-y: visible;
- }
+.manage-permissions-page {
+ .validation-form-content {
+ overflow-y: visible;
+ }
- .manage-permissions-title {
- @extend .body-1-semibold;
- margin-bottom: 10px;
- }
- .owner-details {
- @extend .body-2;
- display: flex;
- margin-bottom: 30px;
- .change-owner {
- margin-left: auto;
- color: $blue;
- cursor: pointer;
- &:hover {
- color: $dark-blue;
- }
- }
- }
- .change-owner-wrapper {
- .form-group {
- margin-bottom: 30px;
- }
-
- }
- .change-owner-title {
- display: flex;
- align-items: center;
- margin-bottom: 10px;
- .manage-permissions-title {
- margin-bottom: 0;
- }
- .svg-icon-wrapper {
- margin-left: 5px;
- .svg-icon {
- width: 13px;
- height: 13px;
- fill: $dark-gray;
- }
- }
- }
- .contributors-select {
- .Select-menu {
- max-height: 150px;
- overflow-y: auto
- }
- }
- }
- }
+ .manage-permissions-title {
+ @extend .body-1-semibold;
+ margin-bottom: 10px;
+ }
+ .owner-details {
+ @extend .body-2;
+ display: flex;
+ margin-bottom: 30px;
+ .change-owner {
+ margin-left: auto;
+ color: $blue;
+ cursor: pointer;
+ &:hover {
+ color: $dark-blue;
+ }
+ }
+ }
+ .change-owner-wrapper {
+ .form-group {
+ margin-bottom: 30px;
+ }
+ }
+ .change-owner-title {
+ display: flex;
+ align-items: center;
+ margin-bottom: 10px;
+ .manage-permissions-title {
+ margin-bottom: 0;
+ }
+ .svg-icon-wrapper {
+ margin-left: 5px;
+ .svg-icon {
+ width: 13px;
+ height: 13px;
+ fill: $dark-gray;
+ }
+ }
+ }
+ .contributors-select {
+ .Select-menu {
+ max-height: 150px;
+ overflow-y: auto;
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/modules/_revisions.scss b/openecomp-ui/resources/scss/modules/_revisions.scss
index 2b196c132c..619fe7e53e 100644
--- a/openecomp-ui/resources/scss/modules/_revisions.scss
+++ b/openecomp-ui/resources/scss/modules/_revisions.scss
@@ -1,86 +1,68 @@
.manage-revisions-modal {
- .modal-dialog {
- width: 700px;
- }
- .modal-content {
- .modal-body {
- .validation-form-content {
- padding-top: 30px;
- }
- //.selected {
- // .selectable {
- // border-color: $light-blue;
- // }
- // .selectable:hover{
- // border-color: hotpink;
- // }
- //}
-
- .revision-list-item {
+ .revision-list-item {
&.selected {
- .selectable, .selectable:hover {
- border-width: 2px;
- border-color: $light-blue;
- }
+ .selectable,
+ .selectable:hover {
+ border-width: 2px;
+ border-color: $light-blue;
+ }
}
- .selectable:hover{
- border-color: $gray;
+ .selectable:hover {
+ border-color: $gray;
}
.selectable:active {
- border-color: $light-blue;
+ border-color: $light-blue;
}
- }
+ }
- .list-editor-view-list-scroller {
- margin-top : 0px;
- }
+ .list-editor-view-list-scroller {
+ margin-top: 0px;
+ }
- .list-editor-view-header {
+ .list-editor-view-header {
border-bottom: none;
.list-editor-view-title {
- @extend .heading-5;
- text-transform: none;
- color: $blue;
+ @extend .heading-5;
+ text-transform: none;
+ color: $blue;
}
- }
+ }
- .list-editor-item-view-content {
+ .list-editor-item-view-content {
background-color: $background-gray;
- }
- .revision-list-item-fields {
+ }
+ .revision-list-item-fields {
width: 100%;
display: flex;
flex-wrap: wrap;
.revision-user {
- flex-basis: 50%;
- fill: transparent;
- stroke: $blue;
- .svg-icon-label {
- margin-left: 13px;
- }
+ flex-basis: 50%;
+ fill: transparent;
+ stroke: $blue;
+ .svg-icon-label {
+ margin-left: 13px;
+ }
}
.revision-date {
- flex-basis: 50%;
- text-align: right;
- @extend .body-3;
- color: $gray;
- .revision-time {
- margin-left: 5px;
- }
+ flex-basis: 50%;
+ text-align: right;
+ @extend .body-3;
+ color: $gray;
+ .revision-time {
+ margin-left: 5px;
+ }
}
.revision-message {
- flex-basis: 100%;
- margin-top: 5px;
- @extend .body-2;
- .more-less {
- @extend .body-3;
- color: $blue;
- margin-left: 5px;
- }
+ flex-basis: 100%;
+ margin-top: 5px;
+ @extend .body-2;
+ .more-less {
+ @extend .body-3;
+ color: $blue;
+ margin-left: 5px;
+ }
}
- }
}
- }
}
diff --git a/openecomp-ui/resources/scss/modules/_softwareProductAttachmentPage.scss b/openecomp-ui/resources/scss/modules/_softwareProductAttachmentPage.scss
index 81a109c97f..f24198cf59 100644
--- a/openecomp-ui/resources/scss/modules/_softwareProductAttachmentPage.scss
+++ b/openecomp-ui/resources/scss/modules/_softwareProductAttachmentPage.scss
@@ -1,267 +1,262 @@
-
.vsp-attachments-view {
- position: relative;
- .attachments-tabs {
- .sdc-tabs-list {
- padding-left: 28px;
- background-color: $tlv-gray;
- box-shadow: none;
- border-bottom: 1px solid $light-gray;
- .sdc-tab {
- @extend .heading-2;
- padding-top: 10px;
- margin-top: 0;
- &.sdc-tab-active {
- color: $blue;
- font-weight: bold;
+ position: relative;
+ .attachments-tabs {
+ .sdc-tabs-list {
+ padding-left: 28px;
+ background-color: $tlv-gray;
+ box-shadow: none;
+ border-bottom: 1px solid $light-gray;
+ .sdc-tab {
+ @extend .heading-2;
+ padding-top: 10px;
+ margin-top: 0;
+ &.sdc-tab-active {
+ color: $blue;
+ font-weight: bold;
+ }
+ }
+ }
+ .sdc-tab-content {
+ margin-top: 0;
}
- }
- }
- .sdc-tab-content {
- margin-top: 0;
}
- }
- .attachments-view-controllers {
- position: absolute;
- right: 40px;
- top: 10px;
- display: flex;
+ .attachments-view-controllers {
+ position: absolute;
+ right: 40px;
+ top: 10px;
+ display: flex;
-
- .icon-component {
- margin-right: 30px;
- }
+ .icon-component {
+ margin-right: 30px;
+ }
- input[type="file"] {
- visibility: hidden;
- width: 1px;
- padding: 0;
- margin-left: -1px;
- }
+ input[type='file'] {
+ visibility: hidden;
+ width: 1px;
+ padding: 0;
+ margin-left: -1px;
+ }
- .proceed-to-validation-btn {
- margin-right: 30px;
- }
- .go-to-overview-btn {
- width: 191px;
- margin-right: 36px;
- height: 36px;
- }
- .separator {
- height: 27px;
- border: 1px solid $light-gray;
- margin-right: 31px;
- margin-left: 0px;
- margin-top: 3px;
+ .proceed-to-validation-btn {
+ margin-right: 30px;
+ }
+ .go-to-overview-btn {
+ width: 191px;
+ margin-right: 36px;
+ height: 36px;
+ }
+ .separator {
+ height: 27px;
+ border: 1px solid $light-gray;
+ margin-right: 31px;
+ margin-left: 0px;
+ margin-top: 3px;
+ }
+ .abort-btn {
+ fill: $blue;
+ color: $blue;
+ &:hover {
+ color: $light-blue;
+ fill: $light-blue;
+ }
+ }
}
- .abort-btn {
- fill: $blue;
- color: $blue;
- &:hover {
- color: $light-blue;
- fill: $light-blue;
- }
- }
- }
}
.vsp-attachments-heat-validation {
- @extend .body-1;
- display: flex;
- .svg-icon.exclamationTriangleFull {
- fill: $orange;
- width: 15px;
- height: 15px;
- &.large {
- width: 20px;
- height: 20px;
- }
- }
- .validation-tree-section {
+ @extend .body-1;
display: flex;
- width: 400px;
- justify-content: space-between;
- }
- .vsp-attachments-heat-validation-tree {
- @extend .flex-column;
- margin: 0;
- overflow: auto;
- height: 100%;
- .attachments-tree-header {
- display: flex;
- justify-content: space-between;
- height: 55px;
- align-items: center;
- &.header-selected {
- background: $tlv-gray;
- }
- .header-icon {
- top: -3px;
- position: relative;
- margin-left: 20px;
- }
- .tree-header-title-text {
- @extend .heading-4-semibold;
- padding-left: 32px;
- cursor: pointer;
- &.tree-header-title-selected{
- color: $blue;
+ .svg-icon.exclamationTriangleFull {
+ fill: $orange;
+ width: 15px;
+ height: 15px;
+ &.large {
+ width: 20px;
+ height: 20px;
}
- }
- .tree-header-title {
- display: flex;
- }
}
- .counters {
- display: flex;
- justify-content: space-between;
- z-index: 1;
- padding-right: 20px;
- .counter {
- .svg-icon {
- &.__exclamationTriangleLine {
- fill: $orange;
- }
- }
+ .validation-tree-section {
display: flex;
- &:first-child {
- margin-right: 20px;
- }
- &:only-child {
- margin-right: 0;
- }
- .svg-icon-wrapper {
- margin-right: 5px;
- }
- .counter-icon {
- margin-right: 5px;
- }
- .error-text, .warning-text {
- @extend .body-3;
- &.large {
- @extend .heading-4-semibold;
- }
- }
- }
+ width: 400px;
+ justify-content: space-between;
}
- .tree-wrapper {
- flex: 1 1;
- position: relative;
- padding-bottom: 10px;
-
- @-moz-document url-prefix() {
- .tree-block-inside {
- top: 0;
- position: relative;
+ .vsp-attachments-heat-validation-tree {
+ @extend .flex-column;
+ margin: 0;
+ overflow: auto;
+ height: 100%;
+ .attachments-tree-header {
+ display: flex;
+ justify-content: space-between;
+ height: 55px;
+ align-items: center;
+ &.header-selected {
+ background: $tlv-gray;
+ }
+ .header-icon {
+ top: -3px;
+ position: relative;
+ margin-left: 20px;
+ }
+ .tree-header-title-text {
+ @extend .heading-4-semibold;
+ padding-left: 32px;
+ cursor: pointer;
+ &.tree-header-title-selected {
+ color: $blue;
+ }
+ }
+ .tree-header-title {
+ display: flex;
+ }
}
- }
- .tree-block-inside {
- padding-left: 20px;
- .tree-node-row {
- cursor: default;
- white-space: nowrap;
- display: flex;
- justify-content: space-between;
- height: 40px;
- align-items: center;
- .svg-icon {
- &.__chevronUp, &.__chevronDown {
- height: 10px;
- width: 10px;
+ .counters {
+ display: flex;
+ justify-content: space-between;
+ z-index: 1;
+ padding-right: 20px;
+ .counter {
+ .svg-icon {
+ &.__exclamationTriangleLine {
+ fill: $orange;
+ }
+ }
+ display: flex;
+ &:first-child {
+ margin-right: 20px;
+ }
+ &:only-child {
+ margin-right: 0;
+ }
+ .svg-icon-wrapper {
+ margin-right: 5px;
+ }
+ .counter-icon {
+ margin-right: 5px;
+ }
+ .error-text,
+ .warning-text {
+ @extend .body-3;
+ &.large {
+ @extend .heading-4-semibold;
+ }
+ }
}
- }
+ }
+ .tree-wrapper {
+ flex: 1 1;
+ position: relative;
+ padding-bottom: 10px;
- &:after {
- border-top: 1px solid $tlv-gray;
- height: 40px;
- position: absolute;
- left: 0;
- right: 0;
- content: ' ';
- }
- @-moz-document url-prefix() {
- &:after {
- top: 0;
+ @-moz-document url-prefix() {
+ .tree-block-inside {
+ top: 0;
+ position: relative;
+ }
}
- }
- &.tree-node-selected::before {
- position: absolute;
- left: 0;
- right: 0;
- height: 20px;
- display: inline-block;
- content: ' ';
- background-color: $tlv-gray;
- color: $blue;
- }
+ .tree-block-inside {
+ padding-left: 20px;
+ .tree-node-row {
+ cursor: default;
+ white-space: nowrap;
+ display: flex;
+ justify-content: space-between;
+ height: 40px;
+ align-items: center;
+ .svg-icon {
+ &.__chevronUp,
+ &.__chevronDown {
+ height: 10px;
+ width: 10px;
+ }
+ }
- &.tree-node-clicked {
- color: $blue;
- &:after {
- background: $tlv-gray;
- height: 40px;
- position: absolute;
- left: 0;
- right: 0;
- content: ' ';
+ &:after {
+ border-top: 1px solid $tlv-gray;
+ height: 40px;
+ position: absolute;
+ left: 0;
+ right: 0;
+ content: ' ';
+ }
+ @-moz-document url-prefix() {
+ &:after {
+ top: 0;
+ }
+ }
+ &.tree-node-selected::before {
+ position: absolute;
+ left: 0;
+ right: 0;
+ height: 20px;
+ display: inline-block;
+ content: ' ';
+ background-color: $tlv-gray;
+ color: $blue;
+ }
+
+ &.tree-node-clicked {
+ color: $blue;
+ &:after {
+ background: $tlv-gray;
+ height: 40px;
+ position: absolute;
+ left: 0;
+ right: 0;
+ content: ' ';
+ }
+ }
+ .tree-node-name {
+ cursor: pointer;
+ }
+ .name-section {
+ z-index: 1;
+ flex: 1;
+ @include ellipsis(auto);
+ }
+ .tree-node-expander {
+ position: relative;
+ display: inline-block;
+ cursor: pointer;
+ }
+ .tree-node-icon {
+ margin: 0 7px;
+ }
+ }
}
- }
- .tree-node-name {
- cursor: pointer;
- }
- .name-section {
- z-index: 1;
- flex: 1;
- @include ellipsis(auto);
- }
- .tree-node-expander {
- position: relative;
- display: inline-block;
- cursor: pointer;
- }
- .tree-node-icon {
- margin: 0 7px;
- }
}
- }
}
- }
- .vsp-attachments-heat-validation-separator {
- border-left: 1px solid $tlv-light-gray;
- height: 100%;
- width: 5px;
- cursor: e-resize;
- }
+ .vsp-attachments-heat-validation-separator {
+ border-left: 1px solid $tlv-light-gray;
+ height: 100%;
+ width: 5px;
+ cursor: e-resize;
+ }
- .message-board-section {
- @extend .flex-column;
- padding-left: 25px;
- padding-top: 10px;
- padding-right: 60px;
- overflow: auto;
- margin-bottom: 70px;
- .error-item {
- display: flex;
- margin: 10px 0;
- .large {
- .svg-icon {
- width: 20px;
- height: 20px;
- fill: $orange;
+ .message-board-section {
+ @extend .flex-column;
+ padding-left: 25px;
+ padding-top: 10px;
+ padding-right: 60px;
+ overflow: auto;
+ margin-bottom: 70px;
+ .error-item {
+ display: flex;
+ margin: 10px 0;
+ .large {
+ .svg-icon {
+ width: 20px;
+ height: 20px;
+ fill: $orange;
+ }
+ }
+ .error-item-file-type {
+ margin-left: 15px;
+ }
+ .error-file-name {
+ @extend .body-1-semibold;
+ margin-right: 5px;
+ }
}
- }
- .error-item-file-type {
- margin-left: 15px;
- }
- .error-file-name {
- @extend .body-1-semibold;
- margin-right: 5px;
- }
-
-
-
}
-
- }
-
}
diff --git a/openecomp-ui/resources/scss/modules/_softwareProductComponentCompute.scss b/openecomp-ui/resources/scss/modules/_softwareProductComponentCompute.scss
index 164e3bc261..83941c002a 100644
--- a/openecomp-ui/resources/scss/modules/_softwareProductComponentCompute.scss
+++ b/openecomp-ui/resources/scss/modules/_softwareProductComponentCompute.scss
@@ -1,3 +1,3 @@
-.section-title.software-product-compute-number-of-vms{
- text-transform: initial;
-} \ No newline at end of file
+.section-title.software-product-compute-number-of-vms {
+ text-transform: initial;
+}
diff --git a/openecomp-ui/resources/scss/modules/_softwareProductComponentGeneral.scss b/openecomp-ui/resources/scss/modules/_softwareProductComponentGeneral.scss
index d31c7f0b92..f50e342304 100644
--- a/openecomp-ui/resources/scss/modules/_softwareProductComponentGeneral.scss
+++ b/openecomp-ui/resources/scss/modules/_softwareProductComponentGeneral.scss
@@ -1,13 +1,13 @@
.vsp-components-general {
- .general-data {
- .one-line-textarea {
- height: 30px;
+ .general-data {
+ .one-line-textarea {
+ height: 30px;
+ }
+ .multi-line-textarea {
+ height: calc(100% - 25px);
+ textarea {
+ height: inherit;
+ }
+ }
}
- .multi-line-textarea {
- height: calc(100% - 25px);
- textarea {
- height: inherit;
- }
- }
- }
}
diff --git a/openecomp-ui/resources/scss/modules/_softwareProductComponentImage.scss b/openecomp-ui/resources/scss/modules/_softwareProductComponentImage.scss
index b67c448b54..409b686814 100644
--- a/openecomp-ui/resources/scss/modules/_softwareProductComponentImage.scss
+++ b/openecomp-ui/resources/scss/modules/_softwareProductComponentImage.scss
@@ -1,67 +1,51 @@
-.image-modal-new {
- .modal-dialog {
- width: 600px;
- }
- .image-filename {
- width: 480px;
- }
-}
-
-.image-modal-edit {
- .modal-dialog {
- width: 910px;
- }
- .image-filename {
- width: 550px;
- }
-}
-
.vsp-components-image-editor {
- .note-text {
- color: $red;
- }
+ .note-text {
+ color: $red;
+ }
}
-.image-modal-edit, .image-modal-new {
- .vsp-components-image-editor {
-
- .image-format, .image-md5, .image-version {
- width: 200px;
- }
- .image-version {
- padding-left: 30px;
- }
- .section-title {
- text-transform: uppercase;
- font-size: 18px;
+.image-modal-edit,
+.image-modal-new {
+ .vsp-components-image-editor {
+ .image-format,
+ .image-md5,
+ .image-version {
+ width: 200px;
+ }
+ .image-version {
+ padding-left: 30px;
+ }
+ .section-title {
+ text-transform: uppercase;
+ font-size: 18px;
+ }
}
- }
}
.vsp-components-image {
- .list-editor-view {
- margin-top: 50px;
- .manual-title {
- @extend .body-1-semibold;
+ .list-editor-view {
+ margin-top: 50px;
+ .manual-title {
+ @extend .body-1-semibold;
+ }
+ }
+ .list-editor-item-view-content {
+ flex: 1;
+ min-width: 0;
+ }
+ .list-editor-item-view-controller {
+ padding-top: 5px;
}
- }
- .list-editor-item-view-content {
- flex:1;
- min-width: 0;
- }
- .list-editor-item-view-controller {
- padding-top: 5px;
- }
- .image-filename-cell {
- display: flex;
- .image-filename {
- white-space: nowrap;
- overflow: hidden;
- display: inline-block;
- text-overflow: ellipsis;
-  span {
- @include ellipsis(100%);
- }
+ .image-filename-cell {
+ display: flex;
+ .image-filename {
+ white-space: nowrap;
+ overflow: hidden;
+ display: inline-block;
+ text-overflow: ellipsis;
+  span {
+ @include ellipsis(100%);
+ }
+ }
}
- }
}
diff --git a/openecomp-ui/resources/scss/modules/_softwareProductComponentNetwork.scss b/openecomp-ui/resources/scss/modules/_softwareProductComponentNetwork.scss
index eaba47acb4..464ef98d11 100644
--- a/openecomp-ui/resources/scss/modules/_softwareProductComponentNetwork.scss
+++ b/openecomp-ui/resources/scss/modules/_softwareProductComponentNetwork.scss
@@ -1,87 +1,85 @@
.vsp-components-network {
- .network-data {
- .single-col {
- .validation-input-wrapper {
- label {
- max-width: 230px;
+ .network-data {
+ .single-col {
+ .validation-input-wrapper {
+ label {
+ max-width: 230px;
+ }
+ }
}
- }
}
- }
- .list-editor-view {
- margin-top: 50px;
- .manual-title {
- @extend .body-1-semibold;
+ .list-editor-view {
+ margin-top: 50px;
+ .manual-title {
+ @extend .body-1-semibold;
+ }
}
- }
}
.network-nic-modal-create {
- .network-type-radio {
- display: flex;
- }
+ .network-type-radio {
+ display: flex;
+ .validation-radio-wrapper:first-child {
+ padding-right: 20px;
+ }
+ }
}
-.network-nic-modal-edit {
- .modal-dialog {
- width: 900px;
- }
- .vsp-components-network-editor {
+.vsp-components-network-editor {
.editor-data {
- height: 500px;
- .grid-section {
- padding-bottom: 15px;
- .section-title {
- @extend .heading-5;
- padding-bottom: 10px;
- padding-left: 0;
+ height: 500px;
+ .grid-section {
+ padding-bottom: 15px;
+ .section-title {
+ @extend .heading-5;
+ padding-bottom: 10px;
+ padding-left: 0;
+ }
}
- }
- .part-title {
- @extend .heading-5;
- padding-bottom: 10px;
- padding-left: 14px;
- }
- .part-title-small {
- @extend .heading-3;
- padding-bottom: 10px;
- padding-left: 0;
- }
- .network-radio label {
- font-size: 15px;
- }
-
- .packets-bytes-gen {
- display: flex;
- justify-content: space-between;
- flex-direction: column;
- .top-row {
- display: flex;
- .part-title-small {
+ .part-title {
+ @extend .heading-5;
+ padding-bottom: 10px;
+ padding-left: 14px;
+ }
+ .part-title-small {
+ @extend .heading-3;
+ padding-bottom: 10px;
padding-left: 0;
- &.packets {
- flex: 0 0 52%;
- }
- &.bytes {
- flex: 0 0 48%;
- }
- }
}
- .bottom-row {
- display: flex;
- justify-content: space-between;
- flex-direction: row;
- flex: 1;
- .inputs-wrapper {
+ .network-radio label {
+ font-size: 15px;
+ }
+
+ .packets-bytes-gen {
display: flex;
- flex-direction: row;
justify-content: space-between;
- flex: 1;
- .validation-input-wrapper {
- flex: 0 0 22%;
+ flex-direction: column;
+ .top-row {
+ display: flex;
+ .part-title-small {
+ padding-left: 0;
+ &.packets {
+ flex: 0 0 52%;
+ }
+ &.bytes {
+ flex: 0 0 48%;
+ }
+ }
+ }
+ .bottom-row {
+ display: flex;
+ justify-content: space-between;
+ flex-direction: row;
+ flex: 1;
+ .inputs-wrapper {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ flex: 1;
+ .validation-input-wrapper {
+ flex: 0 0 22%;
+ }
+ }
}
- }
}
- }
}
- }
}
diff --git a/openecomp-ui/resources/scss/modules/_softwareProductComponentProcessesPage.scss b/openecomp-ui/resources/scss/modules/_softwareProductComponentProcessesPage.scss
index 9476d7043d..b3c4800492 100644
--- a/openecomp-ui/resources/scss/modules/_softwareProductComponentProcessesPage.scss
+++ b/openecomp-ui/resources/scss/modules/_softwareProductComponentProcessesPage.scss
@@ -1,9 +1,9 @@
.edit-process-modal {
- .component-process-description > textarea {
- height: 113px;
- }
+ .component-process-description > textarea {
+ height: 113px;
+ }
}
.software-product-landing-view-right-side.vsp-components-processes-page {
- overflow-y: initial;
-} \ No newline at end of file
+ overflow-y: initial;
+}
diff --git a/openecomp-ui/resources/scss/modules/_softwareProductCreatePage.scss b/openecomp-ui/resources/scss/modules/_softwareProductCreatePage.scss
index b788a86e44..8b13789179 100644
--- a/openecomp-ui/resources/scss/modules/_softwareProductCreatePage.scss
+++ b/openecomp-ui/resources/scss/modules/_softwareProductCreatePage.scss
@@ -1,39 +1 @@
-.software-product-type-modal {
- .modal-dialog {
- @extend .modal-lg !optional;
- .modal-body {
- padding: 0;
- }
- .validation-form-content {
- padding: 50px;
- .software-product-form-row {
- display: flex;
- justify-content: space-between;
- margin-bottom: 20px;
- .software-product-inline-section {
- padding: 0 20px;
- flex: 45%;
- .validation-input-wrapper {
- .field-section {
- @extend .body-2-semibold;
- margin-bottom: 23px;
- color: $black;
- }
- textarea {
- height: 191px;
- }
- select optgroup[label] {
- color: $dark-blue;
- }
- option {
- color: black;
- }
- }
- }
- }
- }
- .validation-buttons {
- padding: 20px 50px;
- }
- }
-}
+
diff --git a/openecomp-ui/resources/scss/modules/_softwareProductDependencies.scss b/openecomp-ui/resources/scss/modules/_softwareProductDependencies.scss
index 65c558fa0e..5358e7c51b 100644
--- a/openecomp-ui/resources/scss/modules/_softwareProductDependencies.scss
+++ b/openecomp-ui/resources/scss/modules/_softwareProductDependencies.scss
@@ -2,22 +2,22 @@
.software-product-dependencies-title {
@extend .heading-1;
@extend .text-uppercase !optional;
- position: sticky;
- top: -30px;
- z-index: 1;
- background: $white;
+ position: sticky;
+ top: -30px;
+ z-index: 1;
+ background: $white;
margin-bottom: 20px;
color: $blue;
}
.select-action-table-controllers {
- position: sticky;
- top: 4px;
- z-index: 1;
- background: $white;
+ position: sticky;
+ top: 4px;
+ z-index: 1;
+ background: $white;
justify-content: flex-end;
cursor: pointer;
color: $blue;
- padding-right: 27px;
+ padding-right: 27px;
margin-bottom: 3px;
&:hover {
color: $dark-blue;
@@ -26,23 +26,24 @@
.select-action-table-view {
min-width: 770px;
}
- .select-action-table-headers {
- position: sticky;
- top: 27px;
- z-index: 1;
- .select-action-table-header {
- @extend .body-1-semibold;
- color: $text-black;
- }
- }
- .select-action-table-row-wrapper {
- .svg-icon {
- &.__trashO, &.__plusCircle {
- fill: $dark-gray;
- &:hover {
- fill: $black;
+ .select-action-table-headers {
+ position: sticky;
+ top: 27px;
+ z-index: 1;
+ .select-action-table-header {
+ @extend .body-1-semibold;
+ color: $text-black;
+ }
+ }
+ .select-action-table-row-wrapper {
+ .svg-icon {
+ &.__trashO,
+ &.__plusCircle {
+ fill: $dark-gray;
+ &:hover {
+ fill: $black;
+ }
+ }
+ }
}
- }
- }
- }
}
diff --git a/openecomp-ui/resources/scss/modules/_softwareProductDeployment.scss b/openecomp-ui/resources/scss/modules/_softwareProductDeployment.scss
index b5f9a546d9..85eea9c742 100644
--- a/openecomp-ui/resources/scss/modules/_softwareProductDeployment.scss
+++ b/openecomp-ui/resources/scss/modules/_softwareProductDeployment.scss
@@ -1,46 +1,38 @@
.deployment-flavor-editor {
- .modal-dialog {
- width: 780px;
- }
- .deployment-feature-groups-section.no-feature-groups {
- padding-bottom: 0;
- .form-group {
- margin-bottom: 5px;
- }
- }
- .deployment-feature-group-warning-section {
- padding-bottom: 30px;
- span {
- @extend .body-2;
- color: $red;
- }
- }
- .grid-section.vfc-table {
- .section-title {
- padding-bottom: 10px;
- }
- }
- .modal-content {
- .modal-body {
- .validation-form-content {
- overflow-y: visible;
- .grid-col-1 {
- flex-basis: 30%;
- }
+ .deployment-feature-groups-section.no-feature-groups {
+ padding-bottom: 0;
+ .form-group {
+ margin-bottom: 5px;
+ }
+ }
+ .deployment-feature-group-warning-section {
+ padding-bottom: 30px;
+ span {
+ @extend .body-2;
+ color: $red;
+ }
+ }
+ .grid-section.vfc-table {
+ .section-title {
+ padding-bottom: 10px;
+ }
+ }
+ &.sdc-modal__content {
+ .validation-form-content {
+ .grid-col-1 {
+ flex-basis: 30%;
+ }
+ .grid-section.vfc-table {
+ padding-bottom: 50px;
+ .Select-menu {
+ max-height: 100px;
+ }
+ }
- .grid-section.vfc-table {
- padding-bottom: 50px;
- .Select-menu {
- max-height: 100px;
- }
-
- }
-
- .grid-col-3 {
- flex-basis: 65%;
- }
- }
- }
- }
+ .grid-col-3 {
+ flex-basis: 65%;
+ }
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/modules/_softwareProductLandingPage.scss b/openecomp-ui/resources/scss/modules/_softwareProductLandingPage.scss
index 8d124c3b40..8f0803f6d0 100644
--- a/openecomp-ui/resources/scss/modules/_softwareProductLandingPage.scss
+++ b/openecomp-ui/resources/scss/modules/_softwareProductLandingPage.scss
@@ -1,276 +1,273 @@
.upload-modal-body-content {
- padding-left: 30px;
- padding-right: 30px;
- padding-bottom: 10px;
- .title {
- @extend .body-1-semibold;
- }
- .file-name {
- padding-left: 5px;
- @extend .body-1-semibold;
- }
+ padding-left: 30px;
+ padding-right: 30px;
+ padding-bottom: 10px;
+ .title {
+ @extend .body-1-semibold;
+ }
+ .file-name {
+ padding-left: 5px;
+ @extend .body-1-semibold;
+ }
}
-
.software-product-view {
- display: flex;
- height:100%;
+ display: flex;
+ height: 100%;
- .description {
- @extend .body-1;
- padding-right: 20px;
+ .description {
+ @extend .body-1;
+ padding-right: 20px;
- .missing-license {
- display: flex;
- align-items: baseline;
- .svg-icon{
- margin-right: 7px;
- margin-left: 3px;
- &.__exclamationTriangleFull {
- fill: $orange;
- width: 17px;
- height: 17px;
+ .missing-license {
+ display: flex;
+ align-items: baseline;
+ .svg-icon {
+ margin-right: 7px;
+ margin-left: 3px;
+ &.__exclamationTriangleFull {
+ fill: $orange;
+ width: 17px;
+ height: 17px;
+ }
+ }
+ .warning-text {
+ position: relative;
+ top: -2px;
+ }
}
- }
- .warning-text {
- position: relative;
- top: -2px;
- }
}
- }
- .name {
- @extend .body-1-semibold;
- }
- .software-product-landing-view-right-side {
- @extend .flex;
- overflow-y: hidden;
- .list-editor-view {
- .list-editor-view-title {
- margin-bottom: 0;
- }
+ .name {
+ @extend .body-1-semibold;
}
- }
- .software-product-landing-view {
- padding-bottom: 50px;
-
-
- .software-product-landing-view-top {
- .details-container {
- @extend .flex-column;
-
- .single-detail-section {
-
- @extend .flex-column;
- &.title-section {
- flex: 0.8;
- @extend .heading-5-semibold;
- }
- &.title-text {
- margin-bottom: 24px;
- }
- .description {
- @include multiline-ellipsis();
- }
- }
- .title {
- @extend .body-3;
- color: $gray;
- &.extra-large {
- min-width: 130px;
- }
- }
- .details-section {
- display: flex;
- }
- .multiple-details-section {
- @extend .flex-column;
- justify-content: space-between;
- .detail-col {
- padding-bottom: 10px;
- }
- }
- }
- .row {
- margin: 0;
- display: flex;
- .details-panel {
- flex: 1;
- margin-right: 50px;
- &:last-child {
- margin-right: 0;
- }
- .software-product-landing-view-top-block-col-upl {
- height: 215px;
- width: initial;
- }
+ .software-product-landing-view-right-side {
+ @extend .flex;
+ overflow-y: hidden;
+ .list-editor-view {
+ .list-editor-view-title {
+ margin-bottom: 0;
+ }
}
- .col-md-6 {
- padding: 0;
+ }
+ .software-product-landing-view {
+ padding-bottom: 50px;
- overflow-wrap: break-word;
- &:first-child {
- padding-right: 25px;
- }
- &:last-child {
- padding-left: 25px;
- }
- }
- .title {
- @extend .body-1-semibold;
- }
- .software-product-landing-view-heading-title {
- @extend .section-title;
- color: $dark-gray;
- padding-bottom: 20px;
- &:first-child {
- padding-bottom: 20px;
- }
- }
- .software-product-landing-view-top-block {
- &.clickable {
- cursor: pointer;
- &:hover {
- @extend .box-hover;
- }
- }
- border: 1px solid $light-gray;
- padding: 20px 18px 0 18px;
- height: 215px;
- display: flex;
- justify-content: space-between;
- background-color: $white;
+ .software-product-landing-view-top {
+ .details-container {
+ @extend .flex-column;
- .col-md-6 {
- @extend .body-1;
- }
- .software-product-landing-view-top-block-col {
- @extend .body-1;
- flex: 0.8;
- display: flex;
- justify-content: space-between;
- flex-direction: column;
- .description {
- overflow: hidden;
- padding-right: 20px;
- }
- .attachment-details {
- padding-bottom: 10px;
- }
- .attachment-details-count {
- color: $light-blue;
+ .single-detail-section {
+ @extend .flex-column;
+ &.title-section {
+ flex: 0.8;
+ @extend .heading-5-semibold;
+ }
+ &.title-text {
+ margin-bottom: 24px;
+ }
+ .description {
+ @include multiline-ellipsis();
+ }
+ }
+ .title {
+ @extend .body-3;
+ color: $gray;
+ &.extra-large {
+ min-width: 130px;
+ }
+ }
+ .details-section {
+ display: flex;
+ }
+ .multiple-details-section {
+ @extend .flex-column;
+ justify-content: space-between;
+ .detail-col {
+ padding-bottom: 10px;
+ }
+ }
}
- }
- }
+ .row {
+ margin: 0;
+ display: flex;
+ .details-panel {
+ flex: 1;
+ margin-right: 50px;
+ &:last-child {
+ margin-right: 0;
+ }
+ .software-product-landing-view-top-block-col-upl {
+ height: 215px;
+ width: initial;
+ }
+ }
+ .col-md-6 {
+ padding: 0;
- .software-product-landing-view-top-block-col-upl {
- @extend .flex;
- height: 215px;
- text-align: center;
- flex-direction: column;
- justify-content: center;
- border: 2px dashed $light-gray;
- margin-bottom: 20px;
- @extend .body-1;
- align-items: center;
- .upload-btn {
- padding: 15px 55px;
+ overflow-wrap: break-word;
+ &:first-child {
+ padding-right: 25px;
+ }
+ &:last-child {
+ padding-left: 25px;
+ }
+ }
+ .title {
+ @extend .body-1-semibold;
+ }
+ .software-product-landing-view-heading-title {
+ @extend .section-title;
+ color: $dark-gray;
+ padding-bottom: 20px;
+ &:first-child {
+ padding-bottom: 20px;
+ }
+ }
+ .software-product-landing-view-top-block {
+ &.clickable {
+ cursor: pointer;
+ &:hover {
+ @extend .box-hover;
+ }
+ }
+ border: 1px solid $light-gray;
+ padding: 20px 18px 0 18px;
+ height: 215px;
+ display: flex;
+ justify-content: space-between;
+ background-color: $white;
- }
- .drag-text {
- color: $blue;
- @extend .body-1-semibold;
- }
- .or-text {
- margin-top: 10px;
- margin-bottom: 10px;
- color: $light-gray;
- }
- .upload {
- width: 50%;
- border : 0px !important;
- }
- .vnfRepo {
- width: 50%;
- cursor: pointer;
- .searchRepo-text {
- color: $blue;
- @extend .body-1-semibold;
- width: 72px;
- line-height: 24px;
- margin-left: auto;
- margin-right: auto;
- }
- .svg-icon-wrapper {
- .svg-icon.__search {
- width: 34px;
- height: 34px;
- margin-top: 10px;
- }
- &.__positive {
- fill: $blue;
- color: $blue;
- }
+ .col-md-6 {
+ @extend .body-1;
+ }
+ .software-product-landing-view-top-block-col {
+ @extend .body-1;
+ flex: 0.8;
+ display: flex;
+ justify-content: space-between;
+ flex-direction: column;
+ .description {
+ overflow: hidden;
+ padding-right: 20px;
+ }
+ .attachment-details {
+ padding-bottom: 10px;
+ }
+ .attachment-details-count {
+ color: $light-blue;
+ }
+ }
+ }
+
+ .software-product-landing-view-top-block-col-upl {
+ @extend .flex;
+ height: 215px;
+ text-align: center;
+ flex-direction: column;
+ justify-content: center;
+ border: 2px dashed $light-gray;
+ margin-bottom: 20px;
+ @extend .body-1;
+ align-items: center;
+ .upload-btn {
+ padding: 15px 55px;
+ }
+ .drag-text {
+ color: $blue;
+ @extend .body-1-semibold;
+ }
+ .or-text {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ color: $light-gray;
+ }
+ .upload {
+ width: 50%;
+ border: 0px !important;
+ }
+ .vnfRepo {
+ width: 50%;
+ cursor: pointer;
+ .searchRepo-text {
+ color: $blue;
+ @extend .body-1-semibold;
+ width: 72px;
+ line-height: 24px;
+ margin-left: auto;
+ margin-right: auto;
+ }
+ .svg-icon-wrapper {
+ .svg-icon.__search {
+ width: 34px;
+ height: 34px;
+ margin-top: 10px;
+ }
+ &.__positive {
+ fill: $blue;
+ color: $blue;
+ }
+ }
+ }
+ .verticalLine {
+ height: 90%;
+ border-left: 1px solid $light-gray;
+ }
+ }
+ .showVnf {
+ flex-direction: row;
+ }
}
- }
- .verticalLine {
- height: 90%;
- border-left: 1px solid $light-gray;
- }
- }
- .showVnf {
- flex-direction: row;
}
- }
}
- }
}
.vsp-details-page {
- .grid-section-general {
- padding-bottom: 30px;
- }
- .vsp-general-tab {
- .validation-form-content {
- margin: 0;
+ .grid-section-general {
+ padding-bottom: 30px;
}
- .validation-buttons {
- margin: 43px 0;
- padding: 0 52px;
- }
- .validation-form-content {
- .vsp-general-tab-inline-section {
- display: flex;
-
- .vsp-general-tab-sub-section:not(:last-of-type) {
- margin-right: 40px;
+ .vsp-general-tab {
+ .validation-form-content {
+ margin: 0;
}
- .field-section {
- width: 440px;
+ .validation-buttons {
+ margin: 43px 0;
+ padding: 0 52px;
}
- .form-group textarea {
- height: 192px;
- }
- select optgroup[label] {
- color: $dark-blue;
+ .validation-form-content {
+ .vsp-general-tab-inline-section {
+ display: flex;
+
+ .vsp-general-tab-sub-section:not(:last-of-type) {
+ margin-right: 40px;
+ }
+ .field-section {
+ width: 440px;
+ }
+ .form-group textarea {
+ height: 192px;
+ }
+ select optgroup[label] {
+ color: $dark-blue;
+ }
+ option {
+ color: $dark-gray;
+ }
+ .Select,
+ .input-options {
+ width: 440px;
+ }
+ }
}
- option {
- color: $dark-gray;
+ .validation-buttons {
+ position: fixed;
+ display: block;
+ bottom: 0;
+ width: 66%;
}
- .Select, .input-options {
- width: 440px;
+ .validation-input-wrapper {
+ select.form-control {
+ width: 100%;
+ }
}
- }
- }
- .validation-buttons {
- position: fixed;
- display: block;
- bottom: 0;
- width: 66%;
- }
- .validation-input-wrapper {
- select.form-control {
- width: 100%;
- }
}
- }
}
diff --git a/openecomp-ui/resources/scss/modules/_softwareProductProcessesPage.scss b/openecomp-ui/resources/scss/modules/_softwareProductProcessesPage.scss
index 3f2a2f9a69..9ec074f09f 100644
--- a/openecomp-ui/resources/scss/modules/_softwareProductProcessesPage.scss
+++ b/openecomp-ui/resources/scss/modules/_softwareProductProcessesPage.scss
@@ -1,60 +1,60 @@
.edit-process-modal {
- height: 100%;
- .vsp-processes-editor {
- padding-left: 0;
- padding-right: 0;
- .editor-title {
- @extend .heading-2;
- color: $dark-gray;
- padding-bottom: 50px;
- }
- .file-upload-box {
- @extend .body-1;
- display: flex;
- text-align: center;
- flex-direction: column;
- justify-content: center;
- border: 2px dashed $light-gray;
- padding-top: 20px;
- padding-bottom: 20px;
+ height: 100%;
+ .vsp-processes-editor {
+ padding-left: 0;
+ padding-right: 0;
+ .editor-title {
+ @extend .heading-2;
+ color: $dark-gray;
+ padding-bottom: 50px;
+ }
+ .file-upload-box {
+ @extend .body-1;
+ display: flex;
+ text-align: center;
+ flex-direction: column;
+ justify-content: center;
+ border: 2px dashed $light-gray;
+ padding-top: 20px;
+ padding-bottom: 20px;
- .process-type {
- width: 100%;
- }
- }
- .vsp-processes-editor-data {
- .validation-input-wrapper {
- .form-group.vsp-process-description > textarea {
- height: 113px;
+ .process-type {
+ width: 100%;
+ }
+ }
+ .vsp-processes-editor-data {
+ .validation-input-wrapper {
+ .form-group.vsp-process-description > textarea {
+ height: 113px;
+ }
+ }
+ .process-type {
+ width: 100%;
+ }
+ .process-editor-file-box {
+ width: 380px;
+ }
}
- }
- .process-type {
- width: 100%;
- }
- .process-editor-file-box {
- width: 380px;
- }
}
- }
}
.software-product-landing-view-right-side.vsp-processes-page {
- overflow-y: initial;
- .processes-list {
- @extend .flex-column;
- }
- .list-editor-view {
- .list-editor-view-list {
- .list-editor-item-view {
- .list-editor-item-view-content {
- .list-editor-item-view-field {
- .artifact-name {
- @extend .body-1;
- color: $light-green;
+ overflow-y: initial;
+ .processes-list {
+ @extend .flex-column;
+ }
+ .list-editor-view {
+ .list-editor-view-list {
+ .list-editor-item-view {
+ .list-editor-item-view-content {
+ .list-editor-item-view-field {
+ .artifact-name {
+ @extend .body-1;
+ color: $light-green;
+ }
+ }
+ }
}
- }
}
- }
}
- }
}
diff --git a/openecomp-ui/resources/scss/modules/_softwareproductComponentLoadBalancing.scss b/openecomp-ui/resources/scss/modules/_softwareproductComponentLoadBalancing.scss
index 440b2424df..00f3ae4567 100644
--- a/openecomp-ui/resources/scss/modules/_softwareproductComponentLoadBalancing.scss
+++ b/openecomp-ui/resources/scss/modules/_softwareproductComponentLoadBalancing.scss
@@ -1,35 +1,35 @@
.vsp-components-load-balancing {
- .svg-icon-wrapper {
- position: relative;
- top: -4px;
- }
+ .svg-icon-wrapper {
+ position: relative;
+ top: -4px;
+ }
- .halb-data {
- .question {
- padding-top: 10px;
- &:first-child {
- padding-top: 0;
- }
- }
- .title {
- @extend .body-1-semibold;
- margin-bottom: 8px;
- cursor: pointer;
- .svg-icon {
- @include transition(transform 0.3s);
- margin-right: 5px;
- position: relative;
- top: 4px;
- }
- }
- .add-padding {
- padding-bottom: 20px;
- }
- .new-line {
- margin-left: 16px;
- }
- textarea.form-control {
- height: 90px;
- }
- }
+ .halb-data {
+ .question {
+ padding-top: 10px;
+ &:first-child {
+ padding-top: 0;
+ }
+ }
+ .title {
+ @extend .body-1-semibold;
+ margin-bottom: 8px;
+ cursor: pointer;
+ .svg-icon {
+ @include transition(transform 0.3s);
+ margin-right: 5px;
+ position: relative;
+ top: 4px;
+ }
+ }
+ .add-padding {
+ padding-bottom: 20px;
+ }
+ .new-line {
+ margin-left: 16px;
+ }
+ textarea.form-control {
+ height: 90px;
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/modules/_uploadScreen.scss b/openecomp-ui/resources/scss/modules/_uploadScreen.scss
index 23f41c8816..1c3ed2ada1 100644
--- a/openecomp-ui/resources/scss/modules/_uploadScreen.scss
+++ b/openecomp-ui/resources/scss/modules/_uploadScreen.scss
@@ -1,32 +1,32 @@
.heat-validation-stand-alone {
- .upload-screen {
- margin-top: 100px;
- .title {
- text-align: center;
- margin-bottom: 50px;
+ .upload-screen {
+ margin-top: 100px;
+ .title {
+ text-align: center;
+ margin-bottom: 50px;
+ }
}
- }
- .attachments-screen {
- .back-button {
- z-index: 1000;
- position: absolute;
- top: 20px;
- right: 20px;
- width: 200px;
- }
- .software-product-attachments {
- display: block;
- .software-product-view {
- display: block;
- .software-product-landing-view-right-side {
- display: block;
- .software-product-attachments-main {
- display: flex;
- height: 100vh;
- }
+ .attachments-screen {
+ .back-button {
+ z-index: 1000;
+ position: absolute;
+ top: 20px;
+ right: 20px;
+ width: 200px;
+ }
+ .software-product-attachments {
+ display: block;
+ .software-product-view {
+ display: block;
+ .software-product-landing-view-right-side {
+ display: block;
+ .software-product-attachments-main {
+ display: flex;
+ height: 100vh;
+ }
+ }
+ }
}
- }
}
- }
}
diff --git a/openecomp-ui/resources/scss/modules/_versionsPage.scss b/openecomp-ui/resources/scss/modules/_versionsPage.scss
index 5651c89032..c29230198a 100644
--- a/openecomp-ui/resources/scss/modules/_versionsPage.scss
+++ b/openecomp-ui/resources/scss/modules/_versionsPage.scss
@@ -1,360 +1,361 @@
.dox-ui-punch-out {
- background-color: $content-background-color;
+ background-color: $content-background-color;
}
.dox-ui-punch-out.dox-ui-punch-out-full-page {
- position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
- overflow-y: auto;
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ overflow-y: auto;
}
@mixin version-page-box-shadow() {
- box-shadow: 0 1px 4px 0 rgba(24, 24, 24, 0.06);
+ box-shadow: 0 1px 4px 0 rgba(24, 24, 24, 0.06);
}
-@mixin version-page-sub-title(){
- color: $text-black;
- text-transform: uppercase;
- background-color: $white;
- border-bottom: 1px solid $light-gray;
- padding: 12px 0 10px 23px;
+@mixin version-page-sub-title() {
+ color: $text-black;
+ text-transform: uppercase;
+ background-color: $white;
+ border-bottom: 1px solid $light-gray;
+ padding: 12px 0 10px 23px;
}
.versions-tree-modal {
- .modal-dialog {
- width: 800px;
- }
-
- .tree-view {
- display: flex;
- align-items: center;
- }
+ .tree-view {
+ display: flex;
+ align-items: center;
+ }
}
.versions-page-view {
- height: 100%;
- background-color: $background-gray;
- overflow: auto;
- padding: 35px 50px 20px 50px;
-
- .svg-icon-wrapper {
- justify-content: flex-start;
- }
- .version-page-header {
- display: flex;
- justify-content: space-between;
- .versions-page-title {
- @extend .heading-1;
- text-transform: uppercase;
- margin-bottom: 29px;
- color: $blue;
- display: flex;
- .archived-title {
- @extend .body-3;
- color: $white;
- background-color: $dark-purple;
- margin-left: 20px;
- border-radius: 3px;
- padding: 1px 10px;
- align-self: center;
- text-transform: none;
- }
- }
- .deprecate-btn-wrapper {
- display: flex;
- justify-content: flex-end;
- margin-bottom: 10px;
- align-self: center;
- .svg-icon-wrapper {
- &:hover {
- fill: $light-blue;
- }
- .svg-icon {
- width: 24px;
- height: 24px;
- }
- }
- }
- }
- .versions-page-permissions-view-wrapper {
- @extend .body-1-semibold;
- @include version-page-box-shadow();
-
- .permissions-view-wrapper-title {
- @include version-page-sub-title();
- }
-
- .svg-icon-wrapper.user-view {
- fill: transparent;
- stroke: $blue;
- .svg-icon {
- height: 18px;
- width: 16px;
- margin: 0 7px;
- }
- &.current-user {
- .svg-icon {
- background-color: $blue;
- stroke: $white;
- padding-top: 5px;
- padding-bottom: 3px;
- height: 29px;
- width: 29px;
- border-radius: 20px;
- border: 1px solid $blue;
- box-shadow: inset 0px 0px 0px 2px $white;
- margin: 0;
- }
- .svg-icon-label {
- margin-left: 7px;
- }
- }
- .svg-icon-label {
- @extend .body-2;
- color: $dark-gray;
- margin-left: 6px;
- }
- }
-
- .permissions-view-content {
- padding: 20px 40px 20px 25px;
- background-color: $white;
-
- height: 120px;
- display: flex;
- }
-
- .permissions-view {
- display: flex;
- flex: 1;
- flex-direction: column;
- justify-content: space-around;
-
- .permissions-view-title {
- text-transform: uppercase;
- color: $dark-gray;
- }
-
- .contributors-view, .owner-view {
- display: flex;
- height: 16px;
- @extend .body-1-semibold;
-
- .permissions-view-title {
- width: 130px;
- line-height: 16px;
- }
-
- .extra-contributors {
- border-radius: 30px;
- background-color: $gray;
- width: 26px;
- height: 26px;
- padding-right: 2px;
- display: flex;
- align-items: center;
- justify-content: center;
- color: $white;
- cursor: default;
- &:hover {
- background-color: $dark-gray;
- }
- }
-
- .user-view {
- margin-right: 38px;
- }
-
- .manage-permissions {
- color: $blue;
- margin-left: auto;
- cursor: pointer;
-
- &:hover {
- color: $dark-blue;
- }
- }
- }
- }
- }
-
- .versions-page-list-and-tree {
- display: flex;
- margin-top: 20px;
-
- .version-tree-wrapper {
- display: flex;
- flex-direction: column;
- margin-right:10px;
- transition: all 1s ease;
- @include version-page-box-shadow();
-
- .version-tree-title-container {
- display: flex;
- align-items: center;
- height: 40px;
- @include version-page-sub-title();
- padding-right: 10px;
-
- .version-tree-full-screen {
- margin-left: auto;
- }
- }
-
- .tree-view {
- background-color: $white;
- flex: 1;
-
- .node:not(.selectedNode):hover {
- .outer-circle, .inner-circle {
- transform: scale(1.1);
- }
- }
- }
- }
- }
-
- .version-list {
- flex: 1;
- @extend .body-1-semibold;
- color: $text-black;
- display: flex;
- flex-direction: column;
-
- .version-list-items {
- flex: 1;
- display: flex;
- flex-direction: column;
-
- .version-item-row {
- border-bottom: 1px solid $tlv-light-gray;
-
- &:last-child {
- border-bottom: none;
- }
- }
- }
-
- .version-item-row {
- $row-hover-color: lighten($blue, 54%);
- $row-active-color: lighten($blue, 51%);
-
- display: flex;
- align-items: center;
- padding: 15px 30px;
- @include version-page-box-shadow();
- background-color: $white;
- height: 70px;
-
- &:hover {
- background-color: $row-hover-color;
- }
-
- &.selected {
- box-shadow: 0 1px 4px 0 rgba(24, 24, 24, 0.06), inset 5px 0 0 0 $blue;
- background-color: $row-active-color;
-
- &:hover {
- box-shadow: 0 1px 4px 0 rgba(24, 24, 24, 0.06), inset 5px 0 0 0 lighten($blue, 35%);
- }
- }
-
- &.header-row {
- height: 40px;
-
- @extend .body-1-semibold;
- @include version-page-sub-title();
- padding: 15px 27px;
-
- &:hover {
- background-color: $white;
- pointer-events: none;
- &:active {
- background-color: $white;
- @include version-page-box-shadow();
- }
- }
- .header-field.actions {
- margin-right: 57px;
- }
- }
-
- .version-item-field {
- flex: 1;
- display: flex;
- margin-right: 10px;
-
- &.item-version, &.item-status {
- flex: 0 1 10%;
- @extend .body-1-semibold;
- color: $text-black;
- }
-
- &.item-description, &.item-last-edited {
- @extend .body-1;
- color: $dark-gray;
- }
-
- &.item-description, &.header-description {
- flex: 2 1 0;
- }
-
- &.item-description > .description-text {
- margin-right: 10px;
- @include ellipsis($max-width: 300px);
- width: initial;
- }
-
- &.item-actions {
- display: flex;
- flex: 1 1 3%;
- justify-content: space-between;
- }
-
- &.item-select, &.item-create {
- @extend .body-1;
- flex: 0 1 auto;
- margin-right: 0;
-
- .svg-icon-wrapper {
- fill: $blue;
- color: $blue;
-
- &[disabled] {
- cursor: default;
- }
-
- .svg-icon {
- width: 16px;
- height: 16px;
- }
-
- &:hover:not([disabled]) {
- fill: $dark-blue;
- color: $dark-blue;
- }
- }
- }
-
- }
-
- /* To keep ellipsis hider's background the same color as row background */
- &:not(.selected):hover .item-description > .description-text:after {
- background: $row-hover-color;
- }
-
- &:hover:active .item-description > .description-text:after {
- background: $row-active-color;
- }
-
- }
-
- }
-
- &.clickable {
- cursor: pointer;
- }
+ height: 100%;
+ background-color: $background-gray;
+ overflow: auto;
+ padding: 35px 50px 20px 50px;
+
+ .svg-icon-wrapper {
+ justify-content: flex-start;
+ }
+ .version-page-header {
+ display: flex;
+ justify-content: space-between;
+ .versions-page-title {
+ @extend .heading-1;
+ text-transform: uppercase;
+ margin-bottom: 29px;
+ color: $blue;
+ display: flex;
+ .archived-title {
+ @extend .body-3;
+ color: $white;
+ background-color: $dark-purple;
+ margin-left: 20px;
+ border-radius: 3px;
+ padding: 1px 10px;
+ align-self: center;
+ text-transform: none;
+ }
+ }
+ .deprecate-btn-wrapper {
+ display: flex;
+ justify-content: flex-end;
+ margin-bottom: 10px;
+ align-self: center;
+ .svg-icon-wrapper {
+ &:hover {
+ fill: $light-blue;
+ }
+ .svg-icon {
+ width: 24px;
+ height: 24px;
+ }
+ }
+ }
+ }
+ .versions-page-permissions-view-wrapper {
+ @extend .body-1-semibold;
+ @include version-page-box-shadow();
+
+ .permissions-view-wrapper-title {
+ @include version-page-sub-title();
+ }
+
+ .svg-icon-wrapper.user-view {
+ fill: transparent;
+ stroke: $blue;
+ .svg-icon {
+ height: 18px;
+ width: 16px;
+ margin: 0 7px;
+ }
+ &.current-user {
+ .svg-icon {
+ background-color: $blue;
+ stroke: $white;
+ padding-top: 5px;
+ padding-bottom: 3px;
+ height: 29px;
+ width: 29px;
+ border-radius: 20px;
+ border: 1px solid $blue;
+ box-shadow: inset 0px 0px 0px 2px $white;
+ margin: 0;
+ }
+ .svg-icon-label {
+ margin-left: 7px;
+ }
+ }
+ .svg-icon-label {
+ @extend .body-2;
+ color: $dark-gray;
+ margin-left: 6px;
+ }
+ }
+
+ .permissions-view-content {
+ padding: 20px 40px 20px 25px;
+ background-color: $white;
+
+ height: 120px;
+ display: flex;
+ }
+
+ .permissions-view {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ justify-content: space-around;
+
+ .permissions-view-title {
+ text-transform: uppercase;
+ color: $dark-gray;
+ }
+
+ .contributors-view,
+ .owner-view {
+ display: flex;
+ height: 16px;
+ @extend .body-1-semibold;
+
+ .permissions-view-title {
+ width: 130px;
+ line-height: 16px;
+ }
+
+ .extra-contributors {
+ border-radius: 30px;
+ background-color: $gray;
+ width: 26px;
+ height: 26px;
+ padding-right: 2px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: $white;
+ cursor: default;
+ &:hover {
+ background-color: $dark-gray;
+ }
+ }
+
+ .user-view {
+ margin-right: 38px;
+ }
+
+ .manage-permissions {
+ color: $blue;
+ margin-left: auto;
+ cursor: pointer;
+
+ &:hover {
+ color: $dark-blue;
+ }
+ }
+ }
+ }
+ }
+
+ .versions-page-list-and-tree {
+ display: flex;
+ margin-top: 20px;
+
+ .version-tree-wrapper {
+ display: flex;
+ flex-direction: column;
+ margin-right: 10px;
+ transition: all 1s ease;
+ @include version-page-box-shadow();
+
+ .version-tree-title-container {
+ display: flex;
+ align-items: center;
+ height: 40px;
+ @include version-page-sub-title();
+ padding-right: 10px;
+
+ .version-tree-full-screen {
+ margin-left: auto;
+ }
+ }
+
+ .tree-view {
+ background-color: $white;
+ flex: 1;
+
+ .node:not(.selectedNode):hover {
+ .outer-circle,
+ .inner-circle {
+ transform: scale(1.1);
+ }
+ }
+ }
+ }
+ }
+
+ .version-list {
+ flex: 1;
+ @extend .body-1-semibold;
+ color: $text-black;
+ display: flex;
+ flex-direction: column;
+
+ .version-list-items {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+
+ .version-item-row {
+ border-bottom: 1px solid $tlv-light-gray;
+
+ &:last-child {
+ border-bottom: none;
+ }
+ }
+ }
+
+ .version-item-row {
+ $row-hover-color: lighten($blue, 54%);
+ $row-active-color: lighten($blue, 51%);
+
+ display: flex;
+ align-items: center;
+ padding: 15px 30px;
+ @include version-page-box-shadow();
+ background-color: $white;
+ height: 70px;
+
+ &:hover {
+ background-color: $row-hover-color;
+ }
+
+ &.selected {
+ box-shadow: 0 1px 4px 0 rgba(24, 24, 24, 0.06),
+ inset 5px 0 0 0 $blue;
+ background-color: $row-active-color;
+
+ &:hover {
+ box-shadow: 0 1px 4px 0 rgba(24, 24, 24, 0.06),
+ inset 5px 0 0 0 lighten($blue, 35%);
+ }
+ }
+
+ &.header-row {
+ height: 40px;
+
+ @extend .body-1-semibold;
+ @include version-page-sub-title();
+ padding: 15px 27px;
+
+ &:hover {
+ background-color: $white;
+ pointer-events: none;
+ &:active {
+ background-color: $white;
+ @include version-page-box-shadow();
+ }
+ }
+ .header-field.actions {
+ margin-right: 57px;
+ }
+ }
+
+ .version-item-field {
+ flex: 1;
+ display: flex;
+ margin-right: 10px;
+
+ &.item-version,
+ &.item-status {
+ flex: 0 1 10%;
+ @extend .body-1-semibold;
+ color: $text-black;
+ }
+
+ &.item-description,
+ &.item-last-edited {
+ @extend .body-1;
+ color: $dark-gray;
+ }
+
+ &.item-description,
+ &.header-description {
+ flex: 2 1 0;
+ }
+
+ &.item-description > .description-text {
+ margin-right: 10px;
+ @include ellipsis($max-width: 300px);
+ width: initial;
+ }
+
+ &.item-actions {
+ display: flex;
+ flex: 1 1 3%;
+ justify-content: space-between;
+ }
+
+ &.item-select,
+ &.item-create {
+ @extend .body-1;
+ flex: 0 1 auto;
+ margin-right: 0;
+
+ .svg-icon-wrapper {
+ fill: $blue;
+ color: $blue;
+
+ &[disabled] {
+ cursor: default;
+ }
+
+ .svg-icon {
+ width: 16px;
+ height: 16px;
+ }
+
+ &:hover:not([disabled]) {
+ fill: $dark-blue;
+ color: $dark-blue;
+ }
+ }
+ }
+ }
+
+ /* To keep ellipsis hider's background the same color as row background */
+ &:not(.selected):hover .item-description > .description-text:after {
+ background: $row-hover-color;
+ }
+
+ &:hover:active .item-description > .description-text:after {
+ background: $row-active-color;
+ }
+ }
+ }
+
+ &.clickable {
+ cursor: pointer;
+ }
}
diff --git a/openecomp-ui/resources/scss/modules/_vspComponentCompute.scss b/openecomp-ui/resources/scss/modules/_vspComponentCompute.scss
deleted file mode 100644
index 9f88e94393..0000000000
--- a/openecomp-ui/resources/scss/modules/_vspComponentCompute.scss
+++ /dev/null
@@ -1,6 +0,0 @@
-
-.compute-flavor-editor-modal-edit {
- .modal-lg {
- width: 1182px;
- }
-} \ No newline at end of file
diff --git a/openecomp-ui/resources/scss/modules/_vspComponentMonitoring.scss b/openecomp-ui/resources/scss/modules/_vspComponentMonitoring.scss
index 14bad18179..867749d8e9 100644
--- a/openecomp-ui/resources/scss/modules/_vspComponentMonitoring.scss
+++ b/openecomp-ui/resources/scss/modules/_vspComponentMonitoring.scss
@@ -1,24 +1,22 @@
-
.vsp-component-monitoring {
- .dropzone {
- &:not(:last-child) {
- padding-bottom: 50px;
- }
+ .dropzone {
+ &:not(:last-child) {
+ padding-bottom: 50px;
+ }
- .monitoring-file {
- display: flex;
- .filename {
- opacity: 1;
- width: auto;
- border-right-style: none;
- }
- .delete {
- display: flex;
- width: 30px;
- justify-content: center;
- align-items: center;
- }
+ .monitoring-file {
+ display: flex;
+ .filename {
+ opacity: 1;
+ width: auto;
+ border-right-style: none;
+ }
+ .delete {
+ display: flex;
+ width: 30px;
+ justify-content: center;
+ align-items: center;
+ }
+ }
}
- }
-
}
diff --git a/openecomp-ui/resources/scss/modules/_vspComponentQuestionnaire.scss b/openecomp-ui/resources/scss/modules/_vspComponentQuestionnaire.scss
index 2a99263285..8a7575fd97 100644
--- a/openecomp-ui/resources/scss/modules/_vspComponentQuestionnaire.scss
+++ b/openecomp-ui/resources/scss/modules/_vspComponentQuestionnaire.scss
@@ -1,48 +1,47 @@
-
.vsp-component-questionnaire-view {
- input[type='checkbox'] {
- &:before {
- border: 1px solid $dark-gray;
- cursor: pointer;
- }
- &:checked:before {
- border: 1px solid $blue;
- }
- }
- .component-questionnaire-validation-form {
-
- .section-field {
- textarea {
- height: 80px;
- }
+ input[type='checkbox'] {
+ &:before {
+ border: 1px solid $dark-gray;
+ cursor: pointer;
+ }
+ &:checked:before {
+ border: 1px solid $blue;
+ }
}
-
- .rows-section, .grid-items {
- .row-flex-components {
- display: flex;
- }
-
- .vertical-flex {
- flex-direction: column;
- .control-label {
- @extend .body-2-semibold;
+ .component-questionnaire-validation-form {
+ .section-field {
+ textarea {
+ height: 80px;
+ }
}
- .radio-options-content-row {
- display: flex;
- margin-top: -4px;
- .validation-radio-wrapper {
- margin-right: 20px;
- & > .form-group {
- display: flex;
+ .rows-section,
+ .grid-items {
+ .row-flex-components {
+ display: flex;
}
- .form-group .sdc-radio {
- width: auto;
- margin-right: 0;
+
+ .vertical-flex {
+ flex-direction: column;
+ .control-label {
+ @extend .body-2-semibold;
+ }
+ .radio-options-content-row {
+ display: flex;
+ margin-top: -4px;
+ .validation-radio-wrapper {
+ margin-right: 20px;
+
+ & > .form-group {
+ display: flex;
+ }
+ .form-group .sdc-radio {
+ width: auto;
+ margin-right: 0;
+ }
+ }
+ }
}
- }
}
- }
}
- }
}
diff --git a/openecomp-ui/resources/scss/modules/_vspHeatSetup.scss b/openecomp-ui/resources/scss/modules/_vspHeatSetup.scss
index bd216c794b..e50ad2ddd7 100644
--- a/openecomp-ui/resources/scss/modules/_vspHeatSetup.scss
+++ b/openecomp-ui/resources/scss/modules/_vspHeatSetup.scss
@@ -1,282 +1,278 @@
@mixin modules-and-artifacts-list-items {
- background-color: $tlv-gray;
- margin-bottom: 12px;
- border: 1px solid $light-gray;
- border-left-width: 18px;
- border-left-color: $blue;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- padding: 10px 20px 0 20px;
+ background-color: $tlv-gray;
+ margin-bottom: 12px;
+ border: 1px solid $light-gray;
+ border-left-width: 18px;
+ border-left-color: $blue;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ padding: 10px 20px 0 20px;
}
.heat-setup-view {
- margin-top: 20px;
- display: flex;
- justify-content: space-between;
- padding: 0 60px 0 36px;
-
- .heat-setup-view-modules-and-artifacts {
- margin-right: 20px;
- flex: 1;
- .heat-setup-module-icon {
- margin: 0 6px 0 0;
- position: relative;
- top: -2px;
- }
-
- .modules-list-wrapper {
- &.modules-list-wrapper-divider {
- border-bottom: 1px solid $tlv-light-gray;
- }
-
- ul {
- .undefined-dragging {
- opacity: 0.5;
- }
- .modules-list-item-selectors {
- display: flex;
- justify-content: space-between;
- flex-wrap: wrap;
- padding-bottom: 3px;
- .Select-value-label {
- @include ellipsis(85%);
- }
-
- .validation-input-wrapper {
- flex-basis: 48%;
- }
-
- .control-label {
- margin-bottom: 4px;
- }
-
- .form-group {
- margin-bottom: 12px;
- }
- }
- }
-
- .modules-list-item-controllers {
- display: flex;
- justify-content: space-between;
- margin-bottom: 7px;
-
- .btn {
- min-width: 0;
- }
-
- .svg-icon {
- &.__trashO {
- fill: $dark-gray;
- &:hover {
- fill: $black;
- }
- }
- }
-
- .module-title-by-type {
- @extend .heading-5-semibold;
- margin-right: 3px;
- }
- .modules-list-item-filename {
- display: flex;
- align-items: center;
-
- .svg-icon {
- &.__pencil {
- margin-left: 3px;
- opacity: 0;
- }
- }
-
-
-
- .filename-text {
- @extend .heading-5-semibold;
-
- }
-
- .text-and-icon {
- padding: 5px;
- border: 1px solid transparent;
- display: flex;
- align-items: center;
- height: 35px;
- &.in-edit {
- padding: 0;
- .name-edit {
- padding: 4px;
- @extend .heading-5-semibold;
- height: 100%;
- border: 1px solid $light-gray;
- width: 400px;
- }
- }
- }
-
- input[disabled] {
- border: none;
- }
- &:hover {
- .text-and-icon {
- border-color: $light-gray;
- background-color: $white;
-
- &.in-edit {
- border-color: transparent;
- }
- }
- .svg-icon {
- &.__pencil {
- margin-left: 10px;
- opacity: 1;
- .svg-icon {
- stroke: $dark-gray;
- &:hover {
- stroke: $black;
- }
- }
- }
- }
- }
- }
- }
-
- .modules-list-item {
- @include modules-and-artifacts-list-items;
- position: relative;
- .Select-option {
- @extend .body-1;
- &.is-selected {
- @extend .body-1-semibold;
- background-color: $white;
- }
- &.is-focused {
- background-color: $blue;
- color: $white;
- }
- }
- .add-or-delete-volumes {
- margin-right: 8px;
- margin-bottom: 11px;
- }
- &:before {
- content: "\00B7\00B7\00B7\00B7\00B7\00B7";
- color: $white;
- position: absolute;
- left: -27px;
- top: 56%;
- font-size: 27px;
- width: 75px;
- @include transform-rotate(90);
- height: 0;
- letter-spacing: 1px;
- }
- }
- }
-
- .artifact-files {
- @include modules-and-artifacts-list-items;
- &.with-list-items {
- margin-top: 10px;
- }
-
- &.nested {
- .nested-list {
- display: flex;
- flex-wrap: wrap;
- margin-bottom: 18px;
- }
-
- .nested-list-item {
- border-radius: 15px;
- background-color: $tlv-light-gray;
- padding: 4px 15px;
- margin: 2px 10px 2px 0;
- }
- }
-
- .artifact-files-header {
- @extend .heading-5-semibold;
- display: flex;
- margin-bottom: 10px;
- justify-content: space-between;
- .image-icon.artifacts {
- margin-right: 10px;
- }
-
- span {
- display: flex;
- }
-
- }
- }
- }
-
- .modules-list-header {
- height: 30px;
- display: flex;
- flex-direction: row;
- flex-wrap: nowrap;
- justify-content: flex-end;
- align-items: baseline;
- }
-
- .unassigned-files {
- border: 1px solid $light-gray;
- background-color: $white;
- height: 250px;
- width: 250px;
-
- // Will work in chrome from chrome 56
- position: sticky;
- top: 10px;
-
- .unassigned-files-title {
- @extend .heading-5-semibold;
- background-color: $tlv-gray;
- padding: 11px 0 9px 15px;
- }
-
- .unassigned-files-list {
- height: 207px;
- overflow-y: auto;
- padding-bottom: 5px;
-
- .go-to-validation-button-wrapper {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- margin-top: 70px;
- .all-files-assigned {
- @extend .heading-4;
- margin-bottom: 10px;
- }
- .svg-icon-wrapper {
- margin-bottom: 10px;
- .svg-icon {
- &.__angleRight {
- width: 10px;
- height: 10px;
- }
- }
- }
- }
-
- .unassigned-files-list-item {
- @include ellipsis();
- border-bottom: 1px solid $tlv-light-gray;
- padding: 0 5px 5px 15px;
- &:first-child {
- padding-top: 5px;
- }
- &:last-child {
- border-bottom: none;
- padding-bottom: 0;
- }
- }
- }
- }
+ margin-top: 20px;
+ display: flex;
+ justify-content: space-between;
+ padding: 0 60px 0 36px;
+
+ .heat-setup-view-modules-and-artifacts {
+ margin-right: 20px;
+ flex: 1;
+ .heat-setup-module-icon {
+ margin: 0 6px 0 0;
+ position: relative;
+ top: -2px;
+ }
+
+ .modules-list-wrapper {
+ &.modules-list-wrapper-divider {
+ border-bottom: 1px solid $tlv-light-gray;
+ }
+
+ ul {
+ .undefined-dragging {
+ opacity: 0.5;
+ }
+ .modules-list-item-selectors {
+ display: flex;
+ justify-content: space-between;
+ flex-wrap: wrap;
+ padding-bottom: 3px;
+ .Select-value-label {
+ @include ellipsis(85%);
+ }
+
+ .validation-input-wrapper {
+ flex-basis: 48%;
+ }
+
+ .control-label {
+ margin-bottom: 4px;
+ }
+
+ .form-group {
+ margin-bottom: 12px;
+ }
+ }
+ }
+
+ .modules-list-item-controllers {
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 7px;
+
+ .btn {
+ min-width: 0;
+ }
+
+ .svg-icon {
+ &.__trashO {
+ fill: $dark-gray;
+ &:hover {
+ fill: $black;
+ }
+ }
+ }
+
+ .module-title-by-type {
+ @extend .heading-5-semibold;
+ margin-right: 3px;
+ }
+ .modules-list-item-filename {
+ display: flex;
+ align-items: center;
+
+ .svg-icon {
+ &.__pencil {
+ margin-left: 3px;
+ opacity: 0;
+ }
+ }
+
+ .filename-text {
+ @extend .heading-5-semibold;
+ }
+
+ .text-and-icon {
+ padding: 5px;
+ border: 1px solid transparent;
+ display: flex;
+ align-items: center;
+ height: 35px;
+ &.in-edit {
+ padding: 0;
+ .name-edit {
+ padding: 4px;
+ @extend .heading-5-semibold;
+ height: 100%;
+ border: 1px solid $light-gray;
+ width: 400px;
+ }
+ }
+ }
+
+ input[disabled] {
+ border: none;
+ }
+ &:hover {
+ .text-and-icon {
+ border-color: $light-gray;
+ background-color: $white;
+
+ &.in-edit {
+ border-color: transparent;
+ }
+ }
+ .svg-icon {
+ &.__pencil {
+ margin-left: 10px;
+ opacity: 1;
+ .svg-icon {
+ stroke: $dark-gray;
+ &:hover {
+ stroke: $black;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ .modules-list-item {
+ @include modules-and-artifacts-list-items;
+ position: relative;
+ .Select-option {
+ @extend .body-1;
+ &.is-selected {
+ @extend .body-1-semibold;
+ background-color: $white;
+ }
+ &.is-focused {
+ background-color: $blue;
+ color: $white;
+ }
+ }
+ .add-or-delete-volumes {
+ margin-right: 8px;
+ margin-bottom: 11px;
+ }
+ &:before {
+ content: '\00B7\00B7\00B7\00B7\00B7\00B7';
+ color: $white;
+ position: absolute;
+ left: -27px;
+ top: 56%;
+ font-size: 27px;
+ width: 75px;
+ @include transform-rotate(90);
+ height: 0;
+ letter-spacing: 1px;
+ }
+ }
+ }
+
+ .artifact-files {
+ @include modules-and-artifacts-list-items;
+ &.with-list-items {
+ margin-top: 10px;
+ }
+
+ &.nested {
+ .nested-list {
+ display: flex;
+ flex-wrap: wrap;
+ margin-bottom: 18px;
+ }
+
+ .nested-list-item {
+ border-radius: 15px;
+ background-color: $tlv-light-gray;
+ padding: 4px 15px;
+ margin: 2px 10px 2px 0;
+ }
+ }
+
+ .artifact-files-header {
+ @extend .heading-5-semibold;
+ display: flex;
+ margin-bottom: 10px;
+ justify-content: space-between;
+ .image-icon.artifacts {
+ margin-right: 10px;
+ }
+
+ span {
+ display: flex;
+ }
+ }
+ }
+ }
+
+ .modules-list-header {
+ height: 30px;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ justify-content: flex-end;
+ align-items: baseline;
+ }
+
+ .unassigned-files {
+ border: 1px solid $light-gray;
+ background-color: $white;
+ height: 250px;
+ width: 250px;
+
+ // Will work in chrome from chrome 56
+ position: sticky;
+ top: 10px;
+
+ .unassigned-files-title {
+ @extend .heading-5-semibold;
+ background-color: $tlv-gray;
+ padding: 11px 0 9px 15px;
+ }
+
+ .unassigned-files-list {
+ height: 207px;
+ overflow-y: auto;
+ padding-bottom: 5px;
+
+ .go-to-validation-button-wrapper {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ margin-top: 70px;
+ .all-files-assigned {
+ @extend .heading-4;
+ margin-bottom: 10px;
+ }
+ .svg-icon-wrapper {
+ margin-bottom: 10px;
+ .svg-icon {
+ &.__angleRight {
+ width: 10px;
+ height: 10px;
+ }
+ }
+ }
+ }
+
+ .unassigned-files-list-item {
+ @include ellipsis();
+ border-bottom: 1px solid $tlv-light-gray;
+ padding: 0 5px 5px 15px;
+ &:first-child {
+ padding-top: 5px;
+ }
+ &:last-child {
+ border-bottom: none;
+ padding-bottom: 0;
+ }
+ }
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/modules/_workflows.scss b/openecomp-ui/resources/scss/modules/_workflows.scss
index 894b6e7973..c7ce4521f5 100644
--- a/openecomp-ui/resources/scss/modules/_workflows.scss
+++ b/openecomp-ui/resources/scss/modules/_workflows.scss
@@ -1,27 +1,19 @@
-
.workflows {
- position: absolute;
- bottom: 0;
- right: 0;
- left: 0;
- top: 0;
-
- background-color: $background-gray;
- .list-editor-view-list .list-editor-item-view .list-editor-item-view-content .list-editor-item-view-field:last-child {
- flex: 2 1;
- }
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ left: 0;
+ top: 0;
- .list-editor-view {
- padding: 30px 50px;
- }
-
-}
+ background-color: $background-gray;
+ .list-editor-view-list
+ .list-editor-item-view
+ .list-editor-item-view-content
+ .list-editor-item-view-field:last-child {
+ flex: 2 1;
+ }
-.workflows-editor-modal {
- .modal-body {
- padding: 0;
- }
- .validation-form-content {
- padding: 15px;
- }
+ .list-editor-view {
+ padding: 30px 50px;
+ }
}
diff --git a/openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogFilter.scss b/openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogFilter.scss
index e3fc6a9143..1b6459a429 100644
--- a/openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogFilter.scss
+++ b/openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogFilter.scss
@@ -13,7 +13,7 @@
height: 34px;
color: $blue;
font-weight: bolder;
- text-transform: uppercase;
+ text-transform: uppercase;
}
.sdc-accordion {
padding-left: 18px;
diff --git a/openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogHeader.scss b/openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogHeader.scss
index 0a234a5a96..429d6cc3d3 100644
--- a/openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogHeader.scss
+++ b/openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogHeader.scss
@@ -1,33 +1,33 @@
.catalog-header {
- margin: 34px 0 29px 50px;
- display: flex;
- flex-direction: row;
- .expandable-input-top {
- margin-right: 60px;
- }
- &.workspace-header {
- @extend .heading-1;
- color: $blue;
- }
- .catalog-header-tabs {
- display: flex;
- flex-direction: row;
- .tab-separator {
- position: relative;
- top: 8px;
- }
- .catalog-header-tab {
- @extend .heading-1;
- cursor: pointer;
- padding: 0 15px 0 15px;
- display: flex;
- align-items: center;
- &.active {
- color: $blue;
- }
- &:first-child {
- padding-left: 0;
- }
- }
- }
+ margin: 34px 0 29px 50px;
+ display: flex;
+ flex-direction: row;
+ .expandable-input-top {
+ margin-right: 60px;
+ }
+ &.workspace-header {
+ @extend .heading-1;
+ color: $blue;
+ }
+ .catalog-header-tabs {
+ display: flex;
+ flex-direction: row;
+ .tab-separator {
+ position: relative;
+ top: 8px;
+ }
+ .catalog-header-tab {
+ @extend .heading-1;
+ cursor: pointer;
+ padding: 0 15px 0 15px;
+ display: flex;
+ align-items: center;
+ &.active {
+ color: $blue;
+ }
+ &:first-child {
+ padding-left: 0;
+ }
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogList.scss b/openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogList.scss
index 11a739d004..c632beb382 100644
--- a/openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogList.scss
+++ b/openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogList.scss
@@ -1,39 +1,37 @@
.catalog-list {
- height: 100%;
- overflow: auto;
- display: flex;
- flex-direction: column;
- padding: 0 10px 0 42px;
- .catalog-title {
- @extend .heading-1;
- color: $blue;
- margin:0 0 12px 18px;
- }
+ height: 100%;
+ overflow: auto;
+ display: flex;
+ flex-direction: column;
+ padding: 0 10px 0 42px;
+ .catalog-title {
+ @extend .heading-1;
+ color: $blue;
+ margin: 0 0 12px 18px;
+ }
- .catalog-items {
- display: flex;
- flex-wrap: wrap;
- @import "tile";
- @import "createItemTile";
- @import "catalogTile";
- @import "vendorTile";
- @import "vlmTile";
- &:after {
- content: " ";
- height: 250px;
- display: block;
- width: 100%;
- }
- .venodor-tile-btn {
- border: 1px solid $light-gray;
- color: $black;
- line-height: 20px;
- &:hover {
- background-color: $light-gray;
- }
- }
- }
-
- // Bottom spacing - cross browser solution
+ .catalog-items {
+ display: flex;
+ flex-wrap: wrap;
+ @import 'tile';
+ @import 'createItemTile';
+ @import 'catalogTile';
+ @import 'vendorTile';
+ &:after {
+ content: ' ';
+ height: 250px;
+ display: block;
+ width: 100%;
+ }
+ .venodor-tile-btn {
+ border: 1px solid $light-gray;
+ color: $black;
+ line-height: 20px;
+ &:hover {
+ background-color: $light-gray;
+ }
+ }
+ }
+ // Bottom spacing - cross browser solution
}
diff --git a/openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogTile.scss b/openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogTile.scss
index 612ec495cd..a2c7997266 100644
--- a/openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogTile.scss
+++ b/openecomp-ui/resources/scss/modules/onboardingCatalog/_catalogTile.scss
@@ -1,147 +1,144 @@
.catalog-tile {
- &:hover {
- box-shadow: 0.3px 5px 12.8px 1.3px rgba(24, 24, 25, 0.15);
- border: 1px solid $light-gray;
- }
- .catalog-tile-top {
- position: relative;
- flex: 1;
- display: flex;
- padding-top: 29px;
- padding-left: 10px;
- align-items: flex-start;
- flex-direction: column;
- .catalog-tile-content {
- margin-top: auto;
- width: 180px;
- }
-
- .catalog-tile-type {
- display: block;
- margin-top: -25px;
- font-size: $heading-font-5;
- &.license-model-type {
- color: $purple;
- }
- &.software-product-type {
- color: $blue;
- }
- }
- .catalog-tile-entity-details {
- margin-top: 20px;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- flex: 0.8;
- .catalog-tile-version-info {
- display: flex;
- justify-content: space-between;
-
- .catalog-tile-item-version {
- @extend .body-2;
- line-height: 6px;
- }
- }
- .catalog-tile-vendor-name {
- @extend .body-3;
- flex: 0.4;
- align-self: baseline;
- color: $gray;
- line-height: 10px;
- &:first-letter {
- text-transform: capitalize;
+ &:hover {
+ box-shadow: 0.3px 5px 12.8px 1.3px rgba(24, 24, 25, 0.15);
+ border: 1px solid $light-gray;
}
- @include ellipsis(auto, inline-block, 178px);
- }
-
- }
- .catalog-tile-item-name {
- @extend .heading-5-semibold;
- color: $black;
- @include ellipsis(auto, inline-block, 175px);
- line-height: inherit;
- &:first-letter {
- text-transform: capitalize;
- }
- }
- }
- .catalog-tile-icon {
+ .catalog-tile-top {
+ position: relative;
+ flex: 1;
+ display: flex;
+ padding-top: 29px;
+ padding-left: 10px;
+ align-items: flex-start;
+ flex-direction: column;
+ .catalog-tile-content {
+ margin-top: auto;
+ width: 180px;
+ }
- width: 58px;
- height: 58px;
- text-align: center;
- justify-content: center;
- display: flex;
+ .catalog-tile-type {
+ display: block;
+ margin-top: -25px;
+ font-size: $heading-font-5;
+ &.license-model-type {
+ color: $purple;
+ }
+ &.software-product-type {
+ color: $blue;
+ }
+ }
+ .catalog-tile-entity-details {
+ margin-top: 20px;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ flex: 0.8;
+ .catalog-tile-version-info {
+ display: flex;
+ justify-content: space-between;
- .icon {
- align-self: center;
- height: 58px;
- width: 58px;
- margin-left: 122px;
- background-repeat: no-repeat;
- .svg-icon {
- &.__vendor {
- fill: $dark-gray;
- &:hover {
- fill: $dark-gray;
- }
- margin-top: 22px;
- }
- &.__vsp {
- fill: $light-blue;
- }
- margin-top: 18px;
- margin-left: 3px;
- &.__vlm {
- margin-top: 18px;
- fill: $purple;
- }
- }
- }
- }
- .catalog-tile-content {
- border-top: 1px solid $background-gray;
- padding-top: 5px;
- display: flex;
- justify-content: space-between;
- margin-top: 2px;
- padding-bottom: 3px;
- @extend .body-2-semibold;
- .svg-icon {
- &.__plus {
- width: 20px;
- height: 20px;
- fill: $blue;
- }
- }
- .catalog-tile-item-details {
- overflow: hidden;
- }
+ .catalog-tile-item-version {
+ @extend .body-2;
+ line-height: 6px;
+ }
+ }
+ .catalog-tile-vendor-name {
+ @extend .body-3;
+ flex: 0.4;
+ align-self: baseline;
+ color: $gray;
+ line-height: 10px;
+ &:first-letter {
+ text-transform: capitalize;
+ }
+ @include ellipsis(auto, inline-block, 178px);
+ }
+ }
+ .catalog-tile-item-name {
+ @extend .heading-5-semibold;
+ color: $black;
+ @include ellipsis(auto, inline-block, 175px);
+ line-height: inherit;
+ &:first-letter {
+ text-transform: capitalize;
+ }
+ }
+ }
+ .catalog-tile-icon {
+ width: 58px;
+ height: 58px;
+ text-align: center;
+ justify-content: center;
+ display: flex;
- .catalog-tile-add-new-vsp {
- color: $blue;
- .svg-icon {
- &.__plus {
- width: 20px;
- height: 20px;
+ .icon {
+ align-self: center;
+ height: 58px;
+ width: 58px;
+ margin-left: 122px;
+ background-repeat: no-repeat;
+ .svg-icon {
+ &.__vendor {
+ fill: $dark-gray;
+ &:hover {
+ fill: $dark-gray;
+ }
+ margin-top: 22px;
+ }
+ &.__vsp {
+ fill: $light-blue;
+ }
+ margin-top: 18px;
+ margin-left: 3px;
+ &.__vlm {
+ margin-top: 18px;
+ fill: $purple;
+ }
+ }
+ }
+ }
+ .catalog-tile-content {
+ border-top: 1px solid $background-gray;
+ padding-top: 5px;
+ display: flex;
+ justify-content: space-between;
+ margin-top: 2px;
+ padding-bottom: 3px;
+ @extend .body-2-semibold;
+ .svg-icon {
+ &.__plus {
+ width: 20px;
+ height: 20px;
+ fill: $blue;
+ }
+ }
+ .catalog-tile-item-details {
+ overflow: hidden;
+ }
- }
- }
- margin-left: 40px;
- }
- .catalog-tile-locking-user-name {
- @extend .body-2;
- @include ellipsis(auto, inline-block, 180px);
- }
- .catalog-tile-check-in-status {
- .svg-icon {
- &.__locked {
- fill: $gray;
- }
- &.__unlocked {
- fill: $gray;
- }
- }
- }
- }
+ .catalog-tile-add-new-vsp {
+ color: $blue;
+ .svg-icon {
+ &.__plus {
+ width: 20px;
+ height: 20px;
+ }
+ }
+ margin-left: 40px;
+ }
+ .catalog-tile-locking-user-name {
+ @extend .body-2;
+ @include ellipsis(auto, inline-block, 180px);
+ }
+ .catalog-tile-check-in-status {
+ .svg-icon {
+ &.__locked {
+ fill: $gray;
+ }
+ &.__unlocked {
+ fill: $gray;
+ }
+ }
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/modules/onboardingCatalog/_createItemTile.scss b/openecomp-ui/resources/scss/modules/onboardingCatalog/_createItemTile.scss
index d17dcdd685..9838e65b10 100644
--- a/openecomp-ui/resources/scss/modules/onboardingCatalog/_createItemTile.scss
+++ b/openecomp-ui/resources/scss/modules/onboardingCatalog/_createItemTile.scss
@@ -1,73 +1,77 @@
.create-catalog-item-wrapper {
- width: 204px;
- height: 200px;
- display: flex;
- flex-direction: column;
- margin: 9px;
+ width: 204px;
+ height: 200px;
+ display: flex;
+ flex-direction: column;
+ margin: 9px;
- .tile.create-catalog-item {
- margin: 9px 0 9px 0;
- display: flex;
- background-color: $white;
- &:first-child{margin-top: 0;}
- &:last-child{margin-bottom: 0;}
- flex-direction: row;
- align-items: center;
- justify-content: center;
- &.disabled {
- color: $gray;
- .create-item-plus-icon {
- fill: $gray;
- }
- }
- &:hover {
- box-shadow: 0.3px 5px 12.8px 1.3px rgba(24, 24, 25, 0.15);
+ .tile.create-catalog-item {
+ margin: 9px 0 9px 0;
+ display: flex;
+ background-color: $white;
+ &:first-child {
+ margin-top: 0;
+ }
+ &:last-child {
+ margin-bottom: 0;
+ }
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ &.disabled {
+ color: $gray;
+ .create-item-plus-icon {
+ fill: $gray;
+ }
+ }
+ &:hover {
+ box-shadow: 0.3px 5px 12.8px 1.3px rgba(24, 24, 25, 0.15);
- border: 1px solid $light-gray;
- }
- &:only-child {
- text-align: center;
- flex-direction: column;
- justify-content: center;
- .create-item-plus-icon {
- margin: 0 0 15px 0;
- }
- .create-item-text {
- @extend .heading-4-semibold;
- }
- }
- .create-item-plus-icon{
- margin: -5px 12px 0 0;
- height: 19px;
- width: 19px;
- .svg-icon {
- &.__plus {
- width: 19px;
- height: 19px;
- }
- }
- }
- &.vlm-type {
- .create-item-text {
- color: $purple;
- }
+ border: 1px solid $light-gray;
+ }
+ &:only-child {
+ text-align: center;
+ flex-direction: column;
+ justify-content: center;
+ .create-item-plus-icon {
+ margin: 0 0 15px 0;
+ }
+ .create-item-text {
+ @extend .heading-4-semibold;
+ }
+ }
+ .create-item-plus-icon {
+ margin: -5px 12px 0 0;
+ height: 19px;
+ width: 19px;
+ .svg-icon {
+ &.__plus {
+ width: 19px;
+ height: 19px;
+ }
+ }
+ }
+ &.vlm-type {
+ .create-item-text {
+ color: $purple;
+ }
- .create-item-plus-icon {
- fill: $purple;
- }
- }
- &.vsp-type {
- .create-item-text {
- color: $blue;
- }
+ .create-item-plus-icon {
+ fill: $purple;
+ }
+ }
+ &.vsp-type {
+ .create-item-text {
+ color: $blue;
+ }
- .create-item-plus-icon {
- fill: $blue;
- }
- }
- .create-item-text {
- width: 140px;
- @extend .heading-5-semibold;
- }
- }
+ .create-item-plus-icon {
+ fill: $blue;
+ }
+ }
+ .create-item-text {
+ width: 140px;
+ @extend .heading-5-semibold;
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/modules/onboardingCatalog/_onboardHeader.scss b/openecomp-ui/resources/scss/modules/onboardingCatalog/_onboardHeader.scss
index f97641cbe3..5f8446b9ff 100644
--- a/openecomp-ui/resources/scss/modules/onboardingCatalog/_onboardHeader.scss
+++ b/openecomp-ui/resources/scss/modules/onboardingCatalog/_onboardHeader.scss
@@ -1,32 +1,32 @@
.onboard-header {
- padding-top: 8px;
- display: flex;
- flex-direction: row;
- justify-content: flex-end;
- background-color: $tlv-light-gray;
- margin-bottom: 2px;
- padding-left: 60px;
- padding-right: 40px;
- @include box-shadow(0px 1px 3px 0 rgba(0, 0, 0, 0.2));
- .expandable-input-top {
- margin-right: 20px;
- margin-left: auto;
- }
- .onboard-header-tabs {
- display: flex;
- flex-direction: row;
- .onboard-header-tab {
- @extend .body-1-semibold;
- margin-right: 40px;
- cursor: pointer;
- display: flex;
- padding-bottom: 5px;
- align-items: flex-end;
- &.active {
- color: $blue;
- padding-bottom: 2px;
- border-bottom: 3px solid $blue;
- }
- }
- }
+ padding-top: 8px;
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-end;
+ background-color: $tlv-light-gray;
+ margin-bottom: 2px;
+ padding-left: 60px;
+ padding-right: 40px;
+ @include box-shadow(0px 1px 3px 0 rgba(0, 0, 0, 0.2));
+ .expandable-input-top {
+ margin-right: 20px;
+ margin-left: auto;
+ }
+ .onboard-header-tabs {
+ display: flex;
+ flex-direction: row;
+ .onboard-header-tab {
+ @extend .body-1-semibold;
+ margin-right: 40px;
+ cursor: pointer;
+ display: flex;
+ padding-bottom: 5px;
+ align-items: flex-end;
+ &.active {
+ color: $blue;
+ padding-bottom: 2px;
+ border-bottom: 3px solid $blue;
+ }
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/modules/onboardingCatalog/_tile.scss b/openecomp-ui/resources/scss/modules/onboardingCatalog/_tile.scss
index 217098fb97..fa513fb44d 100644
--- a/openecomp-ui/resources/scss/modules/onboardingCatalog/_tile.scss
+++ b/openecomp-ui/resources/scss/modules/onboardingCatalog/_tile.scss
@@ -1,14 +1,14 @@
.tile {
- background-color: $white;
- margin: 9px;
- width: 204px;
- height: 200px;
- display: flex;
- flex-direction: column;
- cursor: pointer;
- border: 1px solid $tlv-light-gray;
- @include box-shadow(0.5px 0.8px 4px 0 rgba(24, 24, 25, 0.05));
- &:active {
- border: 1px solid $light-blue;
- }
+ background-color: $white;
+ margin: 9px;
+ width: 204px;
+ height: 200px;
+ display: flex;
+ flex-direction: column;
+ cursor: pointer;
+ border: 1px solid $tlv-light-gray;
+ @include box-shadow(0.5px 0.8px 4px 0 rgba(24, 24, 25, 0.05));
+ &:active {
+ border: 1px solid $light-blue;
+ }
}
diff --git a/openecomp-ui/resources/scss/modules/onboardingCatalog/_vendorPageHeader.scss b/openecomp-ui/resources/scss/modules/onboardingCatalog/_vendorPageHeader.scss
index f1af28a0a0..a741764727 100644
--- a/openecomp-ui/resources/scss/modules/onboardingCatalog/_vendorPageHeader.scss
+++ b/openecomp-ui/resources/scss/modules/onboardingCatalog/_vendorPageHeader.scss
@@ -1,21 +1,21 @@
.vendor-page-header {
- display: flex;
- align-items: center;
- margin-top: 34px;
- margin-left: 9px;
- margin-bottom: 29px;
- .vendor-name {
- @extend .heading-1;
- color: $blue;
- margin-left: 20px;
- text-transform: uppercase;
- }
- .svg-icon-wrapper {
- padding: 5px 18px 5px 0;
- .svg-icon.back {
- height: 25px;
- width: 25px;
- fill: $blue;
- }
- }
+ display: flex;
+ align-items: center;
+ margin-top: 34px;
+ margin-left: 9px;
+ margin-bottom: 29px;
+ .vendor-name {
+ @extend .heading-1;
+ color: $blue;
+ margin-left: 20px;
+ text-transform: uppercase;
+ }
+ .svg-icon-wrapper {
+ padding: 5px 18px 5px 0;
+ .svg-icon.back {
+ height: 25px;
+ width: 25px;
+ fill: $blue;
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/modules/onboardingCatalog/_vendorTile.scss b/openecomp-ui/resources/scss/modules/onboardingCatalog/_vendorTile.scss
index d490fd6e1c..63fb236ec3 100644
--- a/openecomp-ui/resources/scss/modules/onboardingCatalog/_vendorTile.scss
+++ b/openecomp-ui/resources/scss/modules/onboardingCatalog/_vendorTile.scss
@@ -1,91 +1,91 @@
@mixin flipOverlayDirection($itemsInRow) {
- &:nth-child(#{$itemsInRow}n) {
- .vsp-overlay-wrapper {
- right: 74%;
- left: inherit;
- .vsp-overlay-arrow {
- border-right-color: transparent;
- border-left-color: $tlv-light-gray;
- border-right-width: 2px;
- border-left-width: 6px;
- left: 100%;
- &:after {
- border-left-color: $white;
- border-right-color: transparent;
- left: -11px;
- }
- }
- }
- }
+ &:nth-child(#{$itemsInRow}n) {
+ .vsp-overlay-wrapper {
+ right: 74%;
+ left: inherit;
+ .vsp-overlay-arrow {
+ border-right-color: transparent;
+ border-left-color: $tlv-light-gray;
+ border-right-width: 2px;
+ border-left-width: 6px;
+ left: 100%;
+ &:after {
+ border-left-color: $white;
+ border-right-color: transparent;
+ left: -11px;
+ }
+ }
+ }
+ }
}
.catalog-tile.vendor-type {
- position: relative;
- .catalog-tile-top {
- .catalog-tile-item-name {
- margin-top: 21px;
- line-height: inherit;
- &:first-letter {
- text-transform: capitalize;
- }
- }
- .catalog-tile-vsp-count {
- @extend .body-3-semibold;
- margin-top: 8px;
- margin-left: 54px;
- margin-bottom: 9px;
- color: $dark-gray;
- border: 1px solid $dark-gray;
- padding: 0 15px 0 15px;
- border-radius: 15px;
+ position: relative;
+ .catalog-tile-top {
+ .catalog-tile-item-name {
+ margin-top: 21px;
+ line-height: inherit;
+ &:first-letter {
+ text-transform: capitalize;
+ }
+ }
+ .catalog-tile-vsp-count {
+ @extend .body-3-semibold;
+ margin-top: 8px;
+ margin-left: 54px;
+ margin-bottom: 9px;
+ color: $dark-gray;
+ border: 1px solid $dark-gray;
+ padding: 0 15px 0 15px;
+ border-radius: 15px;
- &.clickable {
- &:hover {
- background-color: #eceff3;
- color: $dark-gray;
- }
- }
- &.active {
- background-color: $white;
- color: $dark-gray;
- }
- }
- }
+ &.clickable {
+ &:hover {
+ background-color: #eceff3;
+ color: $dark-gray;
+ }
+ }
+ &.active {
+ background-color: $white;
+ color: $dark-gray;
+ }
+ }
+ }
- .catalog-tile-content {
- flex-basis: auto;
- max-height: 31px;
- height: 31px;
- text-align: center;
- color: $blue;
- display: block;
- background-color: $white;
- margin-bottom: 7px;
- padding-bottom: 0px;
- .create-new-vsp-button {
- margin-top: 1px;
- }
- &:hover {
- color: $dark-blue;
- .svg-icon.plus {
- fill: $dark-blue;
- }
- }
- &.disabled {
- cursor: default;
- }
- }
- @media (min-width: 1900px) {
- @include flipOverlayDirection($itemsInRow: 8);
- }
- @media (min-width: 1586px) and (max-width: 1899px) {
- @include flipOverlayDirection($itemsInRow: 7);
- }
- @media (min-width: 1368px) and (max-width: 1585px) {
- @include flipOverlayDirection($itemsInRow: 6);
- }
- @media (max-width: 1367px) {
- @include flipOverlayDirection($itemsInRow: 5);
- }
- @import "vspOverlay";
+ .catalog-tile-content {
+ flex-basis: auto;
+ max-height: 31px;
+ height: 31px;
+ text-align: center;
+ color: $blue;
+ display: block;
+ background-color: $white;
+ margin-bottom: 7px;
+ padding-bottom: 0px;
+ .create-new-vsp-button {
+ margin-top: 1px;
+ }
+ &:hover {
+ color: $dark-blue;
+ .svg-icon.plus {
+ fill: $dark-blue;
+ }
+ }
+ &.disabled {
+ cursor: default;
+ }
+ }
+ @media (min-width: 1900px) {
+ @include flipOverlayDirection($itemsInRow: 8);
+ }
+ @media (min-width: 1586px) and (max-width: 1899px) {
+ @include flipOverlayDirection($itemsInRow: 7);
+ }
+ @media (min-width: 1368px) and (max-width: 1585px) {
+ @include flipOverlayDirection($itemsInRow: 6);
+ }
+ @media (max-width: 1367px) {
+ @include flipOverlayDirection($itemsInRow: 5);
+ }
+ @import 'vspOverlay';
}
diff --git a/openecomp-ui/resources/scss/modules/onboardingCatalog/_vlmTile.scss b/openecomp-ui/resources/scss/modules/onboardingCatalog/_vlmTile.scss
deleted file mode 100644
index 721a4f3f22..0000000000
--- a/openecomp-ui/resources/scss/modules/onboardingCatalog/_vlmTile.scss
+++ /dev/null
@@ -1,8 +0,0 @@
-.catalog-tile.license-model-type {
- .catalog-tile-top {
- &:hover {
- //background-color: $purple;
- //color: $white;
- }
- }
-}
diff --git a/openecomp-ui/resources/scss/modules/onboardingCatalog/_vspOverlay.scss b/openecomp-ui/resources/scss/modules/onboardingCatalog/_vspOverlay.scss
index e0b72bf9ff..e2617b8b04 100644
--- a/openecomp-ui/resources/scss/modules/onboardingCatalog/_vspOverlay.scss
+++ b/openecomp-ui/resources/scss/modules/onboardingCatalog/_vspOverlay.scss
@@ -1,74 +1,73 @@
-.vsp-overlay-wrapper{
- display:flex;
- align-items: center;
- position:absolute;
- left: 68%;
- top: 14%;
- height: 100%;
- pointer-events: none;
- z-index: 100;
- .vsp-overlay-list {
- padding: 0 20px;
- }
- .vsp-overlay-arrow {
- border-style: solid;
- position: relative;
- bottom: -18px;
- border-width: 6px;
- border-left-width: 2px;
- border-color: transparent;
- border-right-color: $light-gray;
- &:after {
- position: absolute;
- border-style: solid;
- bottom: -10px;
- left: -9px;
- border-width: 10px;
- border-color: transparent;
- border-right-color: $white;
- content:' ';
- }
- }
- .vsp-overlay {
- pointer-events: all;
- width: 205px;
- cursor: default;
- background-color: $white;
- @include box-shadow(0px 2px 9.2px 0.8px rgba(24, 24, 25, 0.25));
- border-radius: 6px;
- padding: 0 0 10px 0;
- display: flex;
- flex-direction: column;
- margin: 10px 0 10px 0;
- .vsp-overlay-title {
- @extend .heading-5-semibold;
- margin-bottom: 15px;
- padding: 10px 20px 10px 20px;
- background: $highlight-gray;
- color: $text-black;
- text-transform: uppercase;
- border-radius: 6px 6px 0 0;
- }
- .vsp-overlay-detail{
- @extend .body-2;
- &:hover {
- color: $blue;
- }
- text-transform: none;
- @include ellipsis(auto, block);
- border-bottom: 1px solid $tlv-light-gray;
- cursor: pointer;
- padding: 5px 0 5px 0;
- &:last-child {
- border-bottom: none;
- }
- }
- .vsp-overlay-see-more{
- color: $blue;
- cursor: pointer;
- margin-top: 12px;
- align-self:center;
- }
-
- }
+.vsp-overlay-wrapper {
+ display: flex;
+ align-items: center;
+ position: absolute;
+ left: 68%;
+ top: 14%;
+ height: 100%;
+ pointer-events: none;
+ z-index: 100;
+ .vsp-overlay-list {
+ padding: 0 20px;
+ }
+ .vsp-overlay-arrow {
+ border-style: solid;
+ position: relative;
+ bottom: -18px;
+ border-width: 6px;
+ border-left-width: 2px;
+ border-color: transparent;
+ border-right-color: $light-gray;
+ &:after {
+ position: absolute;
+ border-style: solid;
+ bottom: -10px;
+ left: -9px;
+ border-width: 10px;
+ border-color: transparent;
+ border-right-color: $white;
+ content: ' ';
+ }
+ }
+ .vsp-overlay {
+ pointer-events: all;
+ width: 205px;
+ cursor: default;
+ background-color: $white;
+ @include box-shadow(0px 2px 9.2px 0.8px rgba(24, 24, 25, 0.25));
+ border-radius: 6px;
+ padding: 0 0 10px 0;
+ display: flex;
+ flex-direction: column;
+ margin: 10px 0 10px 0;
+ .vsp-overlay-title {
+ @extend .heading-5-semibold;
+ margin-bottom: 15px;
+ padding: 10px 20px 10px 20px;
+ background: $highlight-gray;
+ color: $text-black;
+ text-transform: uppercase;
+ border-radius: 6px 6px 0 0;
+ }
+ .vsp-overlay-detail {
+ @extend .body-2;
+ &:hover {
+ color: $blue;
+ }
+ text-transform: none;
+ @include ellipsis(auto, block);
+ border-bottom: 1px solid $tlv-light-gray;
+ cursor: pointer;
+ padding: 5px 0 5px 0;
+ &:last-child {
+ border-bottom: none;
+ }
+ }
+ .vsp-overlay-see-more {
+ color: $blue;
+ cursor: pointer;
+ margin-top: 12px;
+ align-self: center;
+ }
+ }
}
diff --git a/openecomp-ui/resources/scss/onboarding.scss b/openecomp-ui/resources/scss/onboarding.scss
index c38809cd07..da0c8b704f 100644
--- a/openecomp-ui/resources/scss/onboarding.scss
+++ b/openecomp-ui/resources/scss/onboarding.scss
@@ -1,234 +1,157 @@
-.dox-ui {
- @import "bootstrap";
- @import "~react-select/dist/react-select.min.css";
- @import "~react-datepicker/dist/react-datepicker.min.css";
-
- @import "common";
- @import "components";
- @import "modules";
-
- &.dox-ui-punch-out {
- background-color: $content-background-color;
- &.dox-ui-punch-out-full-page {
- position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
- overflow-y: auto;
- }
- }
-}
-
-/* Out of namespace context for datepicker */
-div[data-reactroot].customized-date-picker-calendar {
- @import "common/variables";
- @import "common/typography";
- border-color: $light-gray;
- margin-top: -8px;
- color: $black;
- .react-datepicker__triangle {
- margin-top: 0px;
- }
- .react-datepicker__navigation--previous::before, .react-datepicker__navigation--next::before {
- width: 8px;
- height: 8px;
- display: inline-block;
- position: absolute;
- top: -4px;
- }
- .react-datepicker__navigation--previous::before {
- left: 0;
- content: url(../../node_modules/sdc-ui/assets/icons/angleLeft.svg);
- }
- .react-datepicker__navigation--next::before {
- right: 0;
- content: url(../../node_modules/sdc-ui/assets/icons/angleRight.svg);
- }
-
- .react-datepicker__navigation--previous, .react-datepicker__navigation--next {
- border: none;
- }
-
-
- .react-datepicker__month-container {
- .react-datepicker__header {
- background-color: $background-gray;
- border-bottom: none;
- .react-datepicker__current-month {
- @extend .body-1-semibold;
- background-color: $background-gray;
- margin-bottom: 10px;
- }
- .react-datepicker__day-names {
- @extend .body-1;
- background-color: $white;
- }
- }
- .react-datepicker__day--selected, .react-datepicker__day--keyboard-selected {
- @extend .body-1;
- background-color: $blue;
- color: $white;
- }
- .react-datepicker__day {
- border-radius: 0px;
- margin: 0;
- flex: 1;
- @extend .body-1;
- }
-
- .react-datepicker__day--in-range, .react-datepicker__day--in-selecting-range {
- background-color: $tlv-hover;
- color: $black;
- &.react-datepicker__day--selected, &.react-datepicker__day--keyboard-selected, &.react-datepicker__day--range-start, &.react-datepicker__day--range-end {
- background-color: $blue;
- color: $white;
- }
- &.react-datepicker__day--selecting-range-start, &.react-datepicker__day--selecting-range-end {
- background-color: lighten($blue, 40%);
- color: $black;
- }
- &.react-datepicker__day--selecting-range-start.react-datepicker__day--range-start,
- &.react-datepicker__day--selecting-range-end.react-datepicker__day--range-end,
- &.react-datepicker__day--selecting-range-start.react-datepicker__day--keyboard-selected {
- background-color: $blue;
- color: $white;
- }
- }
-
- .react-datepicker__week {
- display: flex;
+.dox-ui,
+.onap-sdc-portal {
+ @import 'bootstrap';
+ @import '~react-select/dist/react-select.min.css';
+ @import '~react-datepicker/dist/react-datepicker.min.css';
+
+ @import 'common';
+ @import 'components';
+ @import 'modules';
+
+ .sdc-alert__header,
+ .sdc-error__header,
+ .sdc-info__header {
+ box-sizing: content-box;
+ }
+ &.dox-ui-punch-out {
+ background-color: $content-background-color;
+ &.dox-ui-punch-out-full-page {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ overflow-y: auto;
+ }
}
- }
}
/* Out of namespace context for tooltips */
-div[data-reactroot].tooltip {
- @import "common/variables";
- @import "common/typography";
-
- &.in {
- opacity: 1;
- }
- &.validation-error-message {
+div[data-onboardingroot].tooltip {
+ @import 'common/variables';
+ @import 'common/typography';
+
+ &.in {
+ opacity: 1;
+ }
+ &.validation-error-message {
+ &.bottom {
+ .tooltip-arrow {
+ border-bottom-color: $red !important;
+ }
+ }
+ &.left {
+ .tooltip-arrow {
+ border-left-color: $red !important;
+ }
+ }
+ &.right {
+ .tooltip-arrow {
+ border-right-color: $red !important;
+ }
+ }
+ &.top {
+ .tooltip-arrow {
+ border-top-color: $red !important;
+ }
+ }
+ }
&.bottom {
- .tooltip-arrow {
- border-bottom-color: $red !important;
- }
+ .tooltip-arrow {
+ border-bottom-color: $dark-gray !important;
+ }
}
- &.left {
- .tooltip-arrow {
- border-left-color: $red !important;
- }
+ &.top {
+ .tooltip-arrow {
+ border-top-color: $dark-gray !important;
+ }
}
&.right {
- .tooltip-arrow {
- border-right-color: $red !important;
- }
+ .tooltip-arrow {
+ border-right-color: $dark-gray !important;
+ }
}
- &.top {
- .tooltip-arrow {
- border-top-color: $red !important;
- }
- }
- }
- &.bottom {
- .tooltip-arrow {
- border-bottom-color: $dark-gray !important;
- }
- }
- &.top {
- .tooltip-arrow {
- border-top-color: $dark-gray !important;
- }
- }
- &.right {
- .tooltip-arrow {
- border-right-color: $dark-gray !important;
- }
- }
- &.left {
- .tooltip-arrow {
- border-left-color: $dark-gray !important;
- }
- }
- .tooltip-inner {
- @extend .body-1;
- max-width: 100%;
- background-color: $dark-gray;
- padding: 6px 9px;
- &:first-letter {
- text-transform: capitalize;
- }
- }
-
- // activity log tooltip
- &.activity-log-message-tooltip {
- @include base-font-regular;
- font-size: $body-font-2;
- .message-block {
- text-align: left;
- padding: 3px 12px;
- }
- }
- // manage permisions modal
- &.manage-permissions-owner-tooltip {
- .tooltip-inner {
- width: 400px;
+ &.left {
+ .tooltip-arrow {
+ border-left-color: $dark-gray !important;
+ }
}
- }
- // WS/Catalog Tile
- &.tile-super-info {
.tooltip-inner {
- font-size: $body-font-3;
- }
- }
- //dependency table error tooltip
- &.select-action-table-error-tooltip{
- @include base-font-regular;
- margin-right: 5px;
- font-size: $body-font-2;
- .message-block {
- text-align: left;
- padding: 3px 12px;
- }
- .tooltip-arrow {
- border-bottom-color: $red !important;
- }
-
- .tooltip-inner {
- background-color: $red;
- padding: 6px 8px;
- font-size: $body-font-2;
- }
- }
-
- // for read-only mode, vendor description in VLM overview
- &.vendor-description-tooltip {
- .tooltip-inner {
- max-width: 600px;
+ @extend .body-1;
+ max-width: 100%;
+ background-color: $dark-gray;
+ padding: 6px 9px;
+ &:first-letter {
+ text-transform: capitalize;
+ }
+ }
+
+ // activity log tooltip
+ &.activity-log-message-tooltip {
+ @include base-font-regular;
+ font-size: $body-font-2;
+ .message-block {
+ text-align: left;
+ padding: 3px 12px;
+ }
+ }
+ // manage permisions modal
+ &.manage-permissions-owner-tooltip {
+ .tooltip-inner {
+ width: 400px;
+ }
+ }
+ // WS/Catalog Tile
+ &.tile-super-info {
+ .tooltip-inner {
+ font-size: $body-font-3;
+ }
+ }
+ //dependency table error tooltip
+ &.select-action-table-error-tooltip {
+ @include base-font-regular;
+ margin-right: 5px;
+ font-size: $body-font-2;
+ .message-block {
+ text-align: left;
+ padding: 3px 12px;
+ }
+ .tooltip-arrow {
+ border-bottom-color: $red !important;
+ }
+
+ .tooltip-inner {
+ background-color: $red;
+ padding: 6px 8px;
+ font-size: $body-font-2;
+ }
+ }
+
+ // for read-only mode, vendor description in VLM overview
+ &.vendor-description-tooltip {
+ .tooltip-inner {
+ max-width: 600px;
+ }
}
- }
}
/* Out of namespace context for notifications */
.onboarding-notifications-container {
- position: absolute;
- &.position-top-right {
- right: 30px;
- top: 50px;
- }
+ position: absolute;
+ &.position-top-right {
+ right: 30px;
+ top: 50px;
+ }
}
-
.onboarding-loader {
- .onboarding-loader-backdrop {
- @import "common/variables";
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- position: absolute;
- background-color: $transparent-black;
- }
+ .onboarding-loader-backdrop {
+ @import 'common/variables';
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ position: absolute;
+ background-color: $transparent-black;
+ }
}
diff --git a/openecomp-ui/resources/scss/style.scss b/openecomp-ui/resources/scss/style.scss
index ac020219ad..ba22cf6bd8 100644
--- a/openecomp-ui/resources/scss/style.scss
+++ b/openecomp-ui/resources/scss/style.scss
@@ -1,3 +1,3 @@
-@import "common";
-@import "components";
-@import "modules";
+@import 'common';
+@import 'components';
+@import 'modules';
diff --git a/openecomp-ui/src/nfvo-components/datepicker/Datepicker.jsx b/openecomp-ui/src/nfvo-components/datepicker/Datepicker.jsx
index b4bc8be9ec..33db247aee 100644
--- a/openecomp-ui/src/nfvo-components/datepicker/Datepicker.jsx
+++ b/openecomp-ui/src/nfvo-components/datepicker/Datepicker.jsx
@@ -1,3 +1,18 @@
+/*
+ * Copyright © 2016-2018 European Support Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
import React from 'react';
import PropTypes from 'prop-types';
import DatePicker from 'react-datepicker';
@@ -97,8 +112,21 @@ class Datepicker extends React.Component {
placeholderText={placeholderText}
/>
}
- minDate={selectsEnd && props.startDate}
- maxDate={selectsStart && props.endDate}
+ minDate={
+ selectsEnd && props.startDate
+ ? props.startDate
+ : undefined
+ }
+ maxDate={
+ selectsStart && props.endDate
+ ? props.endDate
+ : undefined
+ }
+ popperModifiers={{
+ preventOverflow: {
+ boundariesElement: 'scrollParent'
+ }
+ }}
{...props}
/>
</div>
diff --git a/openecomp-ui/src/nfvo-components/input/ExpandableInput.jsx b/openecomp-ui/src/nfvo-components/input/ExpandableInput.jsx
index be0ebf2bdd..37d79cb72e 100644
--- a/openecomp-ui/src/nfvo-components/input/ExpandableInput.jsx
+++ b/openecomp-ui/src/nfvo-components/input/ExpandableInput.jsx
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
import PropTypes from 'prop-types';
@@ -36,8 +36,8 @@ class ExpandableInputOpened extends React.Component {
this.rawDomNode.focus();
}
- componentWillReceiveProps(newProps) {
- if (!newProps.value) {
+ componentDidUpdate() {
+ if (!this.props.value) {
if (!(document.activeElement === this.rawDomNode)) {
this.props.handleBlur();
}
diff --git a/openecomp-ui/src/nfvo-components/input/dualListbox/DualListboxView.jsx b/openecomp-ui/src/nfvo-components/input/dualListbox/DualListboxView.jsx
index f36d999249..21f09e6613 100644
--- a/openecomp-ui/src/nfvo-components/input/dualListbox/DualListboxView.jsx
+++ b/openecomp-ui/src/nfvo-components/input/dualListbox/DualListboxView.jsx
@@ -16,9 +16,16 @@
import React from 'react';
import PropTypes from 'prop-types';
import SVGIcon from 'sdc-ui/lib/react/SVGIcon.js';
-import Input from 'nfvo-components/input/validation/InputWrapper.jsx';
+import Input from 'nfvo-components/input/validation/Input.jsx';
class DualListboxView extends React.Component {
+ constructor(props) {
+ super(props);
+ this.availableListRef = React.createRef();
+ this.availableListFilterRef = React.createRef();
+ this.selectedValuesListFilterRef = React.createRef();
+ this.selectedValuesRef = React.createRef();
+ }
static propTypes = {
availableList: PropTypes.arrayOf(
PropTypes.shape({
@@ -77,13 +84,13 @@ class DualListboxView extends React.Component {
unselectedList,
{
value: availableListFilter,
- ref: 'availableListFilter',
+ ref: this.availableListFilterRef,
disabled: isReadOnlyMode,
onChange: value =>
this.setState({ availableListFilter: value })
},
{
- ref: 'availableValues',
+ ref: this.availableListRef,
disabled: isReadOnlyMode,
testId: 'available'
}
@@ -94,13 +101,13 @@ class DualListboxView extends React.Component {
selectedList,
{
value: selectedValuesListFilter,
- ref: 'selectedValuesListFilter',
+ ref: this.selectedValuesListFilterRef,
disabled: isReadOnlyMode,
onChange: value =>
this.setState({ selectedValuesListFilter: value })
},
{
- ref: 'selectedValues',
+ ref: this.selectedValuesRef,
disabled: isReadOnlyMode,
testId: 'selected'
}
@@ -236,6 +243,12 @@ class DualListboxView extends React.Component {
removeAllFromSelectedList() {
this.props.onChange([]);
}
+
+ // fix for auto-selection of first value in the list on the first render
+ componentDidMount() {
+ this.availableListRef.current.input.value = '';
+ this.selectedValuesRef.current.input.value = '';
+ }
}
export default DualListboxView;
diff --git a/openecomp-ui/src/nfvo-components/input/validation/Form.jsx b/openecomp-ui/src/nfvo-components/input/validation/Form.jsx
index b5db67c027..027920c423 100644
--- a/openecomp-ui/src/nfvo-components/input/validation/Form.jsx
+++ b/openecomp-ui/src/nfvo-components/input/validation/Form.jsx
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
@@ -42,7 +42,8 @@ class Form extends React.Component {
cancelButtonText: PropTypes.string,
onValidChange: PropTypes.func,
onValidityChanged: PropTypes.func,
- onValidateForm: PropTypes.func
+ onValidateForm: PropTypes.func,
+ btnClassName: PropTypes.string
};
constructor(props) {
@@ -64,6 +65,7 @@ class Form extends React.Component {
submitButtonText,
cancelButtonText,
children,
+ btnClassName,
...formProps
} = this.props;
/* eslint-enable no-unused-vars */
@@ -82,6 +84,7 @@ class Form extends React.Component {
cancelButtonText={cancelButtonText}
ref={this.setButtonsRef}
isReadOnlyMode={isReadOnlyMode}
+ className={btnClassName}
/>
)}
</form>
@@ -159,6 +162,7 @@ export class TabsForm extends Form {
onValidChange,
onValidityChanged,
onDataChanged,
+ btnClassName,
children,
...formProps
} = this.props;
@@ -176,6 +180,7 @@ export class TabsForm extends Form {
cancelButtonText={cancelButtonText}
ref={buttons => (this.buttons = buttons)}
isReadOnlyMode={isReadOnlyMode}
+ className={btnClassName}
/>
)}
</form>
diff --git a/openecomp-ui/src/nfvo-components/input/validation/Input.jsx b/openecomp-ui/src/nfvo-components/input/validation/Input.jsx
index c54d4b660f..f3279b0b6d 100644
--- a/openecomp-ui/src/nfvo-components/input/validation/Input.jsx
+++ b/openecomp-ui/src/nfvo-components/input/validation/Input.jsx
@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -197,11 +197,15 @@ class Input extends React.Component {
selectedValues
});
}
- componentWillReceiveProps(nextProps) {
- this.setState({
- value: nextProps.value
- });
+
+ static getDerivedStateFromProps(props, state) {
+ if (state.value === props.value) {
+ return null;
+ } else {
+ return { value: props.value, ...state };
+ }
}
+
onChange(e) {
const { onChange, type } = this.props;
let value = e.target.value;
diff --git a/openecomp-ui/src/nfvo-components/input/validation/ValidationButtons.jsx b/openecomp-ui/src/nfvo-components/input/validation/ValidationButtons.jsx
index 550989688e..a4397114a0 100644
--- a/openecomp-ui/src/nfvo-components/input/validation/ValidationButtons.jsx
+++ b/openecomp-ui/src/nfvo-components/input/validation/ValidationButtons.jsx
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
/**
* Holds the buttons for save/reset for forms.
@@ -57,8 +57,12 @@ class ValidationButtons extends React.Component {
) : (
<SVGIcon className="close" name="close" />
);
+ let className = 'validation-buttons';
+ if (this.props.className) {
+ className += ' ' + this.props.className;
+ }
return (
- <div className="validation-buttons">
+ <div className={className}>
{!this.props.isReadOnlyMode ? (
<div>
<Button
diff --git a/openecomp-ui/src/nfvo-components/modal/GlobalModal.js b/openecomp-ui/src/nfvo-components/modal/GlobalModal.js
index 3a80e734ea..0c924304cc 100644
--- a/openecomp-ui/src/nfvo-components/modal/GlobalModal.js
+++ b/openecomp-ui/src/nfvo-components/modal/GlobalModal.js
@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -18,81 +18,55 @@ import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
-import Modal from 'nfvo-components/modal/Modal.jsx';
-import Button from 'sdc-ui/lib/react/Button.js';
+import {
+ Modal,
+ ModalHeader,
+ ModalTitle,
+ ModalBody,
+ ModalFooter
+} from 'sdc-ui/lib/react';
import i18n from 'nfvo-utils/i18n/i18n.js';
import { modalContentComponents } from 'sdc-app/common/modal/ModalContentMapper.js';
import { actionTypes, typeEnum } from './GlobalModalConstants.js';
-const typeClass = {
- default: 'primary',
- error: 'negative',
- warning: 'warning',
- success: 'positive'
-};
-
-const type2HeaderColor = {
- default: 'primary',
- error: 'danger',
- warning: 'warning',
- success: 'success'
-};
-
-const ModalFooter = ({
- type,
+const GlobalModalFooter = ({
onConfirmed,
onDeclined,
onClose,
confirmationButtonText,
cancelButtonText
}) => {
- let myPropsForNoConfirmed = {};
+ let actionButtonClick;
if (onConfirmed) {
- myPropsForNoConfirmed.btnType = 'outline';
+ actionButtonClick = () => {
+ onConfirmed();
+ onClose();
+ };
}
return (
- <Modal.Footer>
- <div className="sdc-modal-footer">
- {onConfirmed && (
- <Button
- data-test-id="sdc-modal-confirm-button"
- color={typeClass[type]}
- btnType="primary"
- onClick={() => {
- onConfirmed();
- onClose();
- }}>
- {confirmationButtonText}
- </Button>
- )}
- <Button
- {...myPropsForNoConfirmed}
- data-test-id="sdc-modal-cancel-button"
- btnType="secondary"
- color={typeClass[type]}
- onClick={
- onDeclined
- ? () => {
- onDeclined();
- onClose();
- }
- : () => onClose()
- }>
- {cancelButtonText}
- </Button>
- </div>
- </Modal.Footer>
+ <ModalFooter
+ actionButtonText={onConfirmed ? confirmationButtonText : undefined}
+ actionButtonClick={actionButtonClick}
+ closeButtonText={cancelButtonText}
+ onClose={
+ onDeclined
+ ? () => {
+ onDeclined();
+ onClose();
+ }
+ : () => onClose()
+ }
+ withButtons
+ />
);
};
-ModalFooter.defaultProps = {
- type: 'default',
+GlobalModalFooter.defaultProps = {
confirmationButtonText: i18n('OK'),
cancelButtonText: i18n('Cancel')
};
-ModalFooter.PropTypes = {
- type: PropTypes.string,
+GlobalModalFooter.propTypes = {
confirmationButtonText: PropTypes.string,
cancelButtonText: PropTypes.string
};
@@ -121,12 +95,13 @@ export class GlobalModalView extends React.Component {
onConfirmed: PropTypes.func,
onDeclined: PropTypes.func,
confirmationButtonText: PropTypes.string,
- cancelButtonText: PropTypes.string
+ cancelButtonText: PropTypes.string,
+ bodyClassName: PropTypes.string
};
static defaultProps = {
show: false,
- type: 'default',
+ type: 'custom',
title: ''
};
@@ -137,26 +112,24 @@ export class GlobalModalView extends React.Component {
show,
modalComponentName,
modalComponentProps,
- modalClassName,
msg,
onConfirmed,
onDeclined,
confirmationButtonText,
cancelButtonText,
- onClose
+ onClose,
+ bodyClassName
} = this.props;
const ComponentToRender = modalContentComponents[modalComponentName];
return (
<Modal
show={show}
- bsSize={modalComponentProps && modalComponentProps.size}
- className={`onborading-modal ${modalClassName || ''} ${
- type2HeaderColor[type]
- }`}>
- <Modal.Header>
- <Modal.Title>{title}</Modal.Title>
- </Modal.Header>
- <Modal.Body>
+ type={type}
+ size={modalComponentProps && modalComponentProps.size}>
+ <ModalHeader type={type} onClose={onClose}>
+ <ModalTitle>{title}</ModalTitle>
+ </ModalHeader>
+ <ModalBody className={bodyClassName}>
{ComponentToRender ? (
<ComponentToRender {...modalComponentProps} />
) : msg && typeof msg === 'string' ? (
@@ -172,10 +145,9 @@ export class GlobalModalView extends React.Component {
) : (
msg
)}
- </Modal.Body>
+ </ModalBody>
{(onConfirmed || onDeclined || type !== typeEnum.DEFAULT) && (
- <ModalFooter
- type={type}
+ <GlobalModalFooter
onConfirmed={onConfirmed}
onDeclined={onDeclined}
onClose={onClose}
@@ -196,7 +168,7 @@ export class GlobalModalView extends React.Component {
GlobalModalView.propTypes = {
show: PropTypes.bool,
- type: PropTypes.oneOf(['default', 'error', 'warning', 'success']),
+ type: PropTypes.oneOf(['custom', 'error', 'alert', 'info']),
title: PropTypes.string,
modalComponentProps: PropTypes.object,
modalComponentName: PropTypes.string,
diff --git a/openecomp-ui/src/nfvo-components/modal/GlobalModalConstants.js b/openecomp-ui/src/nfvo-components/modal/GlobalModalConstants.js
index 8bac377e08..434b41f931 100644
--- a/openecomp-ui/src/nfvo-components/modal/GlobalModalConstants.js
+++ b/openecomp-ui/src/nfvo-components/modal/GlobalModalConstants.js
@@ -5,13 +5,13 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import keyMirror from 'nfvo-utils/KeyMirror.js';
@@ -27,13 +27,15 @@ export const actionTypes = keyMirror(
);
export const typeEnum = {
- DEFAULT: 'default',
+ DEFAULT: 'custom',
ERROR: 'error',
- WARNING: 'warning',
- SUCCESS: 'success'
+ WARNING: 'alert',
+ SUCCESS: 'info'
};
export const modalSizes = {
LARGE: 'large',
- SMALL: 'small'
+ SMALL: 'small',
+ XLARGE: 'extraLarge',
+ MEDIUM: 'medium'
};
diff --git a/openecomp-ui/src/nfvo-components/modal/GlobalModalReducer.js b/openecomp-ui/src/nfvo-components/modal/GlobalModalReducer.js
index b2273fa7a7..a3383aba43 100644
--- a/openecomp-ui/src/nfvo-components/modal/GlobalModalReducer.js
+++ b/openecomp-ui/src/nfvo-components/modal/GlobalModalReducer.js
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import { actionTypes, typeEnum } from './GlobalModalConstants.js';
@@ -25,20 +25,17 @@ export default (state = null, action) => {
case actionTypes.GLOBAL_MODAL_ERROR:
return {
type: typeEnum.ERROR,
- modalClassName: 'notification-modal',
...action.data
};
case actionTypes.GLOBAL_MODAL_WARNING:
return {
type: typeEnum.WARNING,
- modalClassName: 'notification-modal',
...action.data
};
case actionTypes.GLOBAL_MODAL_SUCCESS:
return {
type: typeEnum.SUCCESS,
- modalClassName: 'notification-modal',
...action.data
};
diff --git a/openecomp-ui/src/nfvo-components/modal/Modal.jsx b/openecomp-ui/src/nfvo-components/modal/Modal.jsx
deleted file mode 100644
index 2f70a6ac1b..0000000000
--- a/openecomp-ui/src/nfvo-components/modal/Modal.jsx
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright © 2016-2018 European Support Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import React from 'react';
-import ReactDOM from 'react-dom';
-import BootstrapModal from 'react-bootstrap/lib/Modal.js';
-import { isEqual } from 'lodash';
-let nextModalId = 0;
-
-export default class Modal extends React.Component {
- static Header = BootstrapModal.Header;
-
- static Title = BootstrapModal.Title;
-
- static Footer = BootstrapModal.Footer;
-
- static Body = class ModalBody extends React.Component {
- render() {
- let { children, ...props } = this.props;
- return (
- <BootstrapModal.Body {...props}>{children}</BootstrapModal.Body>
- );
- }
-
- componentDidMount() {
- let element = ReactDOM.findDOMNode(this);
- element.addEventListener('click', event => {
- if (event.target.tagName === 'A') {
- event.preventDefault();
- }
- });
- ['wheel', 'mousewheel', 'DOMMouseScroll'].forEach(eventType =>
- element.addEventListener(eventType, event =>
- event.stopPropagation()
- )
- );
- }
-
- componentWillUnmount() {
- let element = ReactDOM.findDOMNode(this);
-
- ['wheel', 'mousewheel', 'DOMMouseScroll', 'click'].forEach(
- eventType => element.removeEventListener(eventType)
- );
- }
-
- shouldComponentUpdate(nextProps) {
- return !isEqual(this.props, nextProps);
- }
- };
-
- componentWillMount() {
- this.modalId = `dox-ui-modal-${nextModalId++}`;
- }
-
- componentDidMount() {
- this.ensureRootClass();
- }
-
- componentDidUpdate() {
- this.ensureRootClass();
- }
-
- ensureRootClass() {
- let element = document.getElementById(this.modalId);
- while (element && !element.hasAttribute('data-reactroot')) {
- element = element.parentElement;
- }
- if (element && !element.classList.contains('dox-ui')) {
- element.classList.add('dox-ui');
- }
- }
-
- render() {
- let { children, ...props } = this.props;
- return (
- <BootstrapModal {...props} id={this.modalId}>
- {children}
- </BootstrapModal>
- );
- }
-}
diff --git a/openecomp-ui/src/nfvo-components/panel/NavigationSideBar.jsx b/openecomp-ui/src/nfvo-components/panel/NavigationSideBar.jsx
index 61121df335..d852ac847b 100644
--- a/openecomp-ui/src/nfvo-components/panel/NavigationSideBar.jsx
+++ b/openecomp-ui/src/nfvo-components/panel/NavigationSideBar.jsx
@@ -19,7 +19,7 @@ import classnames from 'classnames';
import Collapse from 'react-bootstrap/lib/Collapse.js';
class NavigationSideBar extends React.Component {
- static PropTypes = {
+ static propTypes = {
activeItemId: PropTypes.string.isRequired,
onSelect: PropTypes.func,
onToggle: PropTypes.func,
@@ -70,10 +70,10 @@ class NavigationSideBar extends React.Component {
}
class NavigationMenu extends React.Component {
- static PropTypes = {
+ static propTypes = {
activeItemId: PropTypes.string.isRequired,
onNavigationItemClick: PropTypes.func,
- menu: PropTypes.array
+ menu: PropTypes.object
};
render() {
diff --git a/openecomp-ui/src/nfvo-components/panel/versionController/components/CommitCommentModal.jsx b/openecomp-ui/src/nfvo-components/panel/versionController/components/CommitCommentModal.jsx
index ae0913f3a9..757dc6737e 100644
--- a/openecomp-ui/src/nfvo-components/panel/versionController/components/CommitCommentModal.jsx
+++ b/openecomp-ui/src/nfvo-components/panel/versionController/components/CommitCommentModal.jsx
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
@@ -63,6 +63,7 @@ class CommitCommentModal extends React.Component {
submitButtonText={commitButtonText}
labledButtons={true}
isValid={true}
+ btnClassName="sdc-modal__footer"
className="comment-commit-form">
<div className="commit-modal-text">{descriptionText}</div>
<Input
@@ -71,6 +72,7 @@ class CommitCommentModal extends React.Component {
label={i18n('Enter Commit Comment:')}
value={this.state.comment}
type="textarea"
+ groupClassName="no-bottom-margin"
/>
</Form>
);
diff --git a/openecomp-ui/src/nfvo-utils/i18n/en.json b/openecomp-ui/src/nfvo-utils/i18n/en.json
index 98022c58e1..4634c37ebf 100644
--- a/openecomp-ui/src/nfvo-utils/i18n/en.json
+++ b/openecomp-ui/src/nfvo-utils/i18n/en.json
@@ -429,6 +429,8 @@
"ComponentDependencies" : "Component Dependencies",
"ComponentQuestionnaire" : "Component Questionnaire",
+ "ComponentQuestionnaire/general/nfcFunction" : "NFC Function",
+ "ComponentQuestionnaire/general/nfcNamingCode" : "NFC Naming",
"ComponentQuestionnaire/compute" : "Compute",
"ComponentQuestionnaire/storage/backup/backupStorageSize": "Backup Storage Size",
"ComponentQuestionnaire/storage/backup/backupSolution": "Backup Solution",
diff --git a/openecomp-ui/src/sdc-app/Application.jsx b/openecomp-ui/src/sdc-app/Application.jsx
index f96bd73c21..e67f662263 100644
--- a/openecomp-ui/src/sdc-app/Application.jsx
+++ b/openecomp-ui/src/sdc-app/Application.jsx
@@ -43,7 +43,7 @@ class Application extends React.Component {
render() {
return (
<Provider store={store}>
- <div>
+ <div data-onboardingroot="">
<GlobalModal />
<Notifications />
{this.props.children}
diff --git a/openecomp-ui/src/sdc-app/common/merge/MergeEditorActionHelper.js b/openecomp-ui/src/sdc-app/common/merge/MergeEditorActionHelper.js
index 50d2a5ba93..fb58151bc8 100644
--- a/openecomp-ui/src/sdc-app/common/merge/MergeEditorActionHelper.js
+++ b/openecomp-ui/src/sdc-app/common/merge/MergeEditorActionHelper.js
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
- * Licensed under the Apache License, Version 2.0 (the 'License');
+ * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an 'AS IS' BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import {
actionTypes,
@@ -24,7 +24,10 @@ import RestAPIUtil from 'nfvo-utils/RestAPIUtil.js';
import Configuration from 'sdc-app/config/Configuration.js';
import ItemsHelper from '../../common/helpers/ItemsHelper.js';
import { modalContentMapper } from 'sdc-app/common/modal/ModalContentMapper.js';
-import { actionTypes as modalActionTypes } from 'nfvo-components/modal/GlobalModalConstants.js';
+import {
+ actionTypes as modalActionTypes,
+ modalSizes
+} from 'nfvo-components/modal/GlobalModalConstants.js';
import i18n from 'nfvo-utils/i18n/i18n.js';
import { optionsInputValues as laOptionsValues } from 'sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementConstants.js';
import { optionsInputValues as processOptionValues } from 'sdc-app/onboarding/softwareProduct/components/processes/SoftwareProductComponentProcessesConstants.js';
@@ -119,7 +122,6 @@ const MergeEditorActionHelper = {
type: modalActionTypes.GLOBAL_MODAL_SHOW,
data: {
modalComponentName: modalContentMapper.MERGE_EDITOR,
- modalClassName: 'merge-editor-modal',
title: `${i18n('Merge Required')} - ${
version.description
}`,
@@ -129,9 +131,9 @@ const MergeEditorActionHelper = {
});
},
modalComponentProps: {
- size: 'lg',
- type: 'default'
- }
+ size: modalSizes.XLARGE
+ },
+ bodyClassName: 'merge-editor-modal'
}
})
);
diff --git a/openecomp-ui/src/sdc-app/common/merge/MergeEditorView.jsx b/openecomp-ui/src/sdc-app/common/merge/MergeEditorView.jsx
index a7e36a39fc..0664952b23 100644
--- a/openecomp-ui/src/sdc-app/common/merge/MergeEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/common/merge/MergeEditorView.jsx
@@ -98,8 +98,8 @@ class ConflictCategory extends React.Component {
<GridItem className="resolve">
<Button
className="conflict-resolve-btn"
- btnType="outline"
- color="gray"
+ btnType="secondary"
+ size="default"
onClick={() =>
onResolveConflict({
conflictId,
diff --git a/openecomp-ui/src/sdc-app/common/modal/ModalContentMapper.js b/openecomp-ui/src/sdc-app/common/modal/ModalContentMapper.js
index 745f01d0eb..a65199ac8f 100644
--- a/openecomp-ui/src/sdc-app/common/modal/ModalContentMapper.js
+++ b/openecomp-ui/src/sdc-app/common/modal/ModalContentMapper.js
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import SoftwareProductCreation from 'sdc-app/onboarding/softwareProduct/creation/SoftwareProductCreation.js';
@@ -31,6 +31,13 @@ import Tree from 'nfvo-components/tree/Tree.jsx';
import MergeEditor from 'sdc-app/common/merge/MergeEditor.js';
import Revisions from 'sdc-app/onboarding/revisions/Revisions.js';
import VendorSelector from 'sdc-app/onboarding/softwareProduct/details/SoftwareProductDetailsVendorSelector.jsx';
+import FlowsEditor from 'sdc-app/flows/FlowsEditorModal.js';
+import EntitlementPoolsEditor from 'sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditor.js';
+import FeatureGroupEditor from 'sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupEditor';
+import LicenseAgreementEditor from 'sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditor';
+import LicenseKeyGroupsEditor from 'sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditor';
+import SoftwareProductProcessesEditor from 'sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessesEditor';
+import SoftwareProductComponentProcessesEditor from 'sdc-app/onboarding/softwareProduct/components/processes/SoftwareProductComponentProcessesEditor';
export const modalContentMapper = {
SOFTWARE_PRODUCT_CREATION: 'SOFTWARE_PRODUCT_CREATION',
@@ -50,7 +57,14 @@ export const modalContentMapper = {
MERGE_EDITOR: 'MERGE_EDITOR',
REVISIONS_LIST: 'REVISIONS_LIST',
VENDOR_SELECTOR: 'VENDOR_SELECTOR',
- VNF_IMPORT: 'VNF_IMPORT'
+ VNF_IMPORT: 'VNF_IMPORT',
+ FLOWS_EDITOR: 'FLOWS_EDITOR',
+ EP_EDITOR: 'EP_EDITOR',
+ FG_EDITOR: 'FG_EDITOR',
+ LA_EDITOR: 'LA_EDITOR',
+ LKG_EDITOR: 'LKG_EDITOR',
+ PROCESS_EDITOR: 'PROCESS_EDITOR',
+ COMP_PROCESS_EDITOR: 'COMP_PROCESS_EDITOR'
};
export const modalContentComponents = {
@@ -70,5 +84,12 @@ export const modalContentComponents = {
MERGE_EDITOR: MergeEditor,
REVISIONS_LIST: Revisions,
VENDOR_SELECTOR: VendorSelector,
- VNF_IMPORT: VNFImport
+ VNF_IMPORT: VNFImport,
+ FLOWS_EDITOR: FlowsEditor,
+ EP_EDITOR: EntitlementPoolsEditor,
+ FG_EDITOR: FeatureGroupEditor,
+ LA_EDITOR: LicenseAgreementEditor,
+ LKG_EDITOR: LicenseKeyGroupsEditor,
+ PROCESS_EDITOR: SoftwareProductProcessesEditor,
+ COMP_PROCESS_EDITOR: SoftwareProductComponentProcessesEditor
};
diff --git a/openecomp-ui/src/sdc-app/flows/FlowsActions.js b/openecomp-ui/src/sdc-app/flows/FlowsActions.js
index 9fb65f37d4..4ad7dcfdc8 100644
--- a/openecomp-ui/src/sdc-app/flows/FlowsActions.js
+++ b/openecomp-ui/src/sdc-app/flows/FlowsActions.js
@@ -1,22 +1,25 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import RestAPIUtil from 'nfvo-utils/RestAPIUtil.js';
import Configuration from 'sdc-app/config/Configuration.js';
import { actionTypes, enums } from './FlowsConstants.js';
import SequenceDiagramModelHelper from './SequenceDiagramModelHelper.js';
+import { actionTypes as modalActionTypes } from 'nfvo-components/modal/GlobalModalConstants.js';
+import { modalContentMapper } from 'sdc-app/common/modal/ModalContentMapper.js';
+import i18n from 'nfvo-utils/i18n/i18n.js';
function baseUrl(serviceId, artifactId = '') {
const restCatalogPrefix = Configuration.get('restCatalogPrefix');
@@ -97,7 +100,7 @@ const FlowsActions = Object.freeze({
readonly
});
if (!readonly) {
- FlowsActions.openFlowDetailsEditor(dispatch);
+ FlowsActions.openEditCreateWFModal(dispatch);
}
} else {
Object.keys(artifacts).forEach(artifact =>
@@ -194,14 +197,6 @@ const FlowsActions = Object.freeze({
);
},
- openFlowDetailsEditor(dispatch, flow) {
- dispatch({ type: actionTypes.OPEN_FLOW_DETAILS_EDITOR, flow });
- },
-
- closeFlowDetailsEditor(dispatch) {
- dispatch({ type: actionTypes.CLOSE_FLOW_DETAILS_EDITOR });
- },
-
openFlowDiagramEditor(dispatch, { flow }) {
dispatch({ type: actionTypes.OPEN_FLOW_DIAGRAM_EDITOR, flow });
},
@@ -212,6 +207,27 @@ const FlowsActions = Object.freeze({
reset(dispatch) {
dispatch({ type: actionTypes.RESET });
+ },
+ openEditCreateWFModal(dispatch, flow) {
+ dispatch({ type: actionTypes.OPEN_FLOW_DETAILS_EDITOR, flow });
+ dispatch({
+ type: modalActionTypes.GLOBAL_MODAL_SHOW,
+ data: {
+ modalComponentName: modalContentMapper.FLOWS_EDITOR,
+ modalComponentProps: {
+ isNewArtifact: Boolean(flow && flow.uniqueId)
+ },
+ title: flow
+ ? i18n('Edit Workflow')
+ : i18n('Create New Workflow')
+ }
+ });
+ },
+ closeEditCreateWFModal(dispatch) {
+ dispatch({
+ type: modalActionTypes.GLOBAL_MODAL_CLOSE
+ });
+ dispatch({ type: actionTypes.CLOSE_FLOW_DETAILS_EDITOR });
}
});
diff --git a/openecomp-ui/src/sdc-app/flows/FlowsEditorModal.js b/openecomp-ui/src/sdc-app/flows/FlowsEditorModal.js
index b45a9fc54e..4ef12faa0e 100644
--- a/openecomp-ui/src/sdc-app/flows/FlowsEditorModal.js
+++ b/openecomp-ui/src/sdc-app/flows/FlowsEditorModal.js
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import { connect } from 'react-redux';
import FlowsEditorModalView from './FlowsEditorModalView.jsx';
@@ -50,10 +50,10 @@ export const mapStateToProps = ({ flows }) => {
const mapActionsToProps = (dispatch, { isNewArtifact }) => {
return {
onSubmit: flow => {
- FlowsActions.closeFlowDetailsEditor(dispatch);
+ FlowsActions.closeEditCreateWFModal(dispatch);
FlowsActions.createOrUpdateFlow(dispatch, { flow }, isNewArtifact);
},
- onCancel: () => FlowsActions.closeFlowDetailsEditor(dispatch),
+ onCancel: () => FlowsActions.closeEditCreateWFModal(dispatch),
onDataChanged: deltaData =>
ValidationHelper.dataChanged(dispatch, {
deltaData,
diff --git a/openecomp-ui/src/sdc-app/flows/FlowsEditorModalView.jsx b/openecomp-ui/src/sdc-app/flows/FlowsEditorModalView.jsx
index 8c805cca9c..6ac316ed5c 100644
--- a/openecomp-ui/src/sdc-app/flows/FlowsEditorModalView.jsx
+++ b/openecomp-ui/src/sdc-app/flows/FlowsEditorModalView.jsx
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React, { Component } from 'react';
import i18n from 'nfvo-utils/i18n/i18n.js';
@@ -38,7 +38,8 @@ class FlowsEditorModalView extends Component {
onReset={onCancel}
formReady={formReady}
isValid={isFormValid}
- onValidateForm={() => onValidateForm()}>
+ onValidateForm={() => onValidateForm()}
+ btnClassName="sdc-modal__footer">
<Input
type="text"
name="name"
diff --git a/openecomp-ui/src/sdc-app/flows/FlowsListEditor.js b/openecomp-ui/src/sdc-app/flows/FlowsListEditor.js
index 2718c19aaa..c96415cafb 100644
--- a/openecomp-ui/src/sdc-app/flows/FlowsListEditor.js
+++ b/openecomp-ui/src/sdc-app/flows/FlowsListEditor.js
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import { connect } from 'react-redux';
import FlowsActions from './FlowsActions.js';
@@ -20,8 +20,6 @@ import FlowsListEditorView from './FlowsListEditorView.jsx';
export const mapStateToProps = ({ flows }) => {
let {
flowList = [],
- isDisplayModal,
- isModalInEditMode,
shouldShowWorkflowsEditor = true,
data = undefined,
readonly
@@ -33,9 +31,7 @@ export const mapStateToProps = ({ flows }) => {
return {
flowList,
- isDisplayModal,
isCheckedOut,
- isModalInEditMode,
shouldShowWorkflowsEditor,
currentFlow: data,
readonly
@@ -44,9 +40,9 @@ export const mapStateToProps = ({ flows }) => {
const mapActionsToProps = dispatch => {
return {
- onAddWorkflowClick: () => FlowsActions.openFlowDetailsEditor(dispatch),
+ onAddWorkflowClick: () => FlowsActions.openEditCreateWFModal(dispatch),
onEditFlowDetailsClick: flow =>
- FlowsActions.openFlowDetailsEditor(dispatch, flow),
+ FlowsActions.openEditCreateWFModal(dispatch, flow),
onEditFlowDiagramClick: flow =>
FlowsActions.fetchArtifact(dispatch, { flow }),
onDeleteFlowClick: flow => FlowsActions.deleteFlow(dispatch, { flow }),
diff --git a/openecomp-ui/src/sdc-app/flows/FlowsListEditorView.jsx b/openecomp-ui/src/sdc-app/flows/FlowsListEditorView.jsx
index d1c0c9a3df..f0a4635213 100644
--- a/openecomp-ui/src/sdc-app/flows/FlowsListEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/flows/FlowsListEditorView.jsx
@@ -1,34 +1,30 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import i18n from 'nfvo-utils/i18n/i18n.js';
-import Modal from 'nfvo-components/modal/Modal.jsx';
import ListEditorView from 'nfvo-components/listEditor/ListEditorView.jsx';
import ListEditorItemView from 'nfvo-components/listEditor/ListEditorItemView.jsx';
-import FlowsEditorModal from './FlowsEditorModal.js';
import SequenceDiagram from './SequenceDiagram.jsx';
class FlowsListEditorView extends Component {
static propTypes = {
flowList: PropTypes.array,
currentFlow: PropTypes.object,
- isDisplayModal: PropTypes.bool,
- isModalInEditMode: PropTypes.bool,
isCheckedOut: PropTypes.bool,
shouldShowWorkflowsEditor: PropTypes.bool,
readonly: PropTypes.bool,
@@ -57,7 +53,7 @@ class FlowsListEditorView extends Component {
}
renderWorkflowsEditor() {
- let { isDisplayModal, onAddWorkflowClick, isCheckedOut } = this.props;
+ let { onAddWorkflowClick, isCheckedOut } = this.props;
const { localFilter } = this.state;
return (
@@ -72,35 +68,10 @@ class FlowsListEditorView extends Component {
this.renderWorkflowListItem(flow, isCheckedOut)
)}
</ListEditorView>
-
- {isDisplayModal && this.renderWorkflowEditorModal()}
</div>
);
}
- renderWorkflowEditorModal() {
- let { isDisplayModal, isModalInEditMode } = this.props;
- return (
- <Modal
- show={isDisplayModal}
- animation={true}
- className="onborading-modal workflows-editor-modal">
- <Modal.Header>
- <Modal.Title>
- {`${
- isModalInEditMode
- ? i18n('Edit Workflow')
- : i18n('Create New Workflow')
- }`}
- </Modal.Title>
- </Modal.Header>
- <Modal.Body>
- <FlowsEditorModal isNewArtifact={!isModalInEditMode} />
- </Modal.Body>
- </Modal>
- );
- }
-
renderSequenceDiagramTool() {
let {
onSequenceDiagramSaveClick,
diff --git a/openecomp-ui/src/sdc-app/flows/FlowsListReducer.js b/openecomp-ui/src/sdc-app/flows/FlowsListReducer.js
index 0279824ac4..56d389bbe5 100644
--- a/openecomp-ui/src/sdc-app/flows/FlowsListReducer.js
+++ b/openecomp-ui/src/sdc-app/flows/FlowsListReducer.js
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import { actionTypes, FLOWS_EDITOR_FORM } from './FlowsConstants.js';
@@ -71,17 +71,13 @@ export default (state = {}, action) => {
validations: [{ type: 'required', data: true }]
}
},
- data: action.flow,
- isDisplayModal: true,
- isModalInEditMode: Boolean(action.flow && action.flow.uniqueId)
+ data: action.flow
};
case actionTypes.CLOSE_FLOW_DETAILS_EDITOR:
return {
...state,
- data: undefined,
- isDisplayModal: false,
- isModalInEditMode: false
+ data: undefined
};
case actionTypes.OPEN_FLOW_DIAGRAM_EDITOR:
return {
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/components/ModalButtons.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/components/ModalButtons.jsx
index 8f3347e65d..4fbbd1a8f0 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/components/ModalButtons.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/components/ModalButtons.jsx
@@ -18,7 +18,6 @@ import React from 'react';
import PropTypes from 'prop-types';
import i18n from 'nfvo-utils/i18n/i18n.js';
import Button from 'sdc-ui/lib/react/Button.js';
-import GridSection from 'nfvo-components/grid/GridSection.jsx';
const ModalButtons = ({
isFormValid,
@@ -28,7 +27,7 @@ const ModalButtons = ({
onCancel,
className
}) => (
- <GridSection className={`license-model-modal-buttons ${className}`}>
+ <div className={`${className}`}>
{!selectedLimit && (
<Button
btnType="primary"
@@ -44,11 +43,11 @@ const ModalButtons = ({
type="reset">
{i18n('Cancel')}
</Button>
- </GridSection>
+ </div>
);
ModalButtons.propTypes = {
- isFormValid: PropTypes.func,
+ isFormValid: PropTypes.bool,
isReadOnlyMode: PropTypes.bool,
onSubmit: PropTypes.func,
selectedLimit: PropTypes.string,
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/components/UuId.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/components/UuId.jsx
index 2edfdaede5..66d50ca33f 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/components/UuId.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/components/UuId.jsx
@@ -21,7 +21,7 @@ import i18n from 'nfvo-utils/i18n/i18n.js';
const UuidElement = ({ title, value }) => (
<div className="uuid-container">
<div className="uuid-title">{title}</div>
- <div className="uuid-value" selectable>
+ <div className="uuid-value" selectable="true">
{value}
</div>
</div>
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/creation/LicenseModelCreationView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/creation/LicenseModelCreationView.jsx
index 8c5d966938..be1a42c8a3 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/creation/LicenseModelCreationView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/creation/LicenseModelCreationView.jsx
@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -41,7 +41,7 @@ class LicenseModelCreationView extends React.Component {
let { data = {}, onDataChanged, genericFieldInfo } = this.props;
let { vendorName, description } = data;
return (
- <div>
+ <div className="license-model-modal">
{genericFieldInfo && (
<Form
ref="validationForm"
@@ -52,6 +52,8 @@ class LicenseModelCreationView extends React.Component {
labledButtons={true}
isValid={this.props.isFormValid}
formReady={this.props.formReady}
+ btnClassName="sdc-modal__footer"
+ className="license-model-form"
onValidateForm={() => this.validate()}>
<Input
value={vendorName}
@@ -70,7 +72,6 @@ class LicenseModelCreationView extends React.Component {
errorText={genericFieldInfo.vendorName.errorText}
type="text"
isRequired={true}
- className="field-section"
/>
<Input
isRequired={true}
@@ -87,7 +88,7 @@ class LicenseModelCreationView extends React.Component {
isValid={genericFieldInfo.description.isValid}
errorText={genericFieldInfo.description.errorText}
type="textarea"
- className="field-section"
+ groupClassName="no-bottom-margin"
/>
</Form>
)}
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsActionHelper.js
index ef705d67e4..dec7d9c3b8 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsActionHelper.js
@@ -20,6 +20,12 @@ import { actionTypes as entitlementPoolsActionTypes } from './EntitlementPoolsCo
import { actionTypes as limitEditorActions } from 'sdc-app/onboarding/licenseModel/limits/LimitEditorConstants.js';
import { default as getValue, getStrValue } from 'nfvo-utils/getValue.js';
import ItemsHelper from 'sdc-app/common/helpers/ItemsHelper.js';
+import i18n from 'nfvo-utils/i18n/i18n.js';
+import {
+ actionTypes as modalActionTypes,
+ modalSizes
+} from 'nfvo-components/modal/GlobalModalConstants.js';
+import { modalContentMapper } from 'sdc-app/common/modal/ModalContentMapper.js';
function baseUrl(licenseModelId, version) {
const restPrefix = Configuration.get('restPrefix');
@@ -137,9 +143,9 @@ const EntitlementPoolsActionHelper = {
openEntitlementPoolsEditor(
dispatch,
- { entitlementPool, licenseModelId, version } = {}
+ { entitlementPool, licenseModelId, version, isReadOnlyMode } = {}
) {
- if (licenseModelId && version) {
+ if (licenseModelId && version && entitlementPool) {
this.fetchLimits(dispatch, {
licenseModelId,
version,
@@ -150,6 +156,22 @@ const EntitlementPoolsActionHelper = {
type: entitlementPoolsActionTypes.entitlementPoolsEditor.OPEN,
entitlementPool
});
+ dispatch({
+ type: modalActionTypes.GLOBAL_MODAL_SHOW,
+ data: {
+ modalComponentName: modalContentMapper.EP_EDITOR,
+ modalComponentProps: {
+ version,
+ licenseModelId,
+ isReadOnlyMode,
+ size: modalSizes.LARGE
+ },
+ title:
+ licenseModelId && version && entitlementPool
+ ? i18n('Edit Entitlement Pool')
+ : i18n('Create New Entitlement Pool')
+ }
+ });
},
async deleteEntitlementPool(
@@ -181,6 +203,9 @@ const EntitlementPoolsActionHelper = {
dispatch({
type: entitlementPoolsActionTypes.entitlementPoolsEditor.CLOSE
});
+ dispatch({
+ type: modalActionTypes.GLOBAL_MODAL_CLOSE
+ });
},
async saveEntitlementPool(
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorView.jsx
index d5ca81cfac..d0e91e382b 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorView.jsx
@@ -46,12 +46,27 @@ const EntitlementPoolPropType = PropTypes.shape({
name: PropTypes.string,
description: PropTypes.string,
thresholdUnits: PropTypes.string,
- thresholdValue: PropTypes.string,
+ thresholdValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
increments: PropTypes.string,
startDate: PropTypes.string,
expiryDate: PropTypes.string
});
+const TabButton = props => {
+ const { onClick, disabled, className } = props;
+ const dataTestId = props['data-test-id'];
+ return (
+ <div
+ className={className}
+ onClick={disabled ? undefined : onClick}
+ data-test-id={dataTestId}
+ role="tab"
+ disabled={disabled}>
+ {props.children}
+ </div>
+ );
+};
+
class EntitlementPoolsEditorView extends React.Component {
static propTypes = {
data: EntitlementPoolPropType,
@@ -95,7 +110,7 @@ class EntitlementPoolsEditorView extends React.Component {
const isTabsDisabled = !data.id || !this.props.isFormValid;
return (
- <div>
+ <div className="entitlement-pools-modal license-model-modal">
<Tabs
type="menu"
activeTab={selectedTab}
@@ -191,23 +206,29 @@ class EntitlementPoolsEditorView extends React.Component {
)}
</Tab>
{selectedTab !== tabIds.GENERAL ? (
- <Button
+ <TabButton
+ tabId={tabIds.ADD_LIMIT_BUTTON}
disabled={
- this.state.selectedLimit || isReadOnlyMode
+ !!this.state.selectedLimit || isReadOnlyMode
}
- className="add-limit-button"
- tabId={tabIds.ADD_LIMIT_BUTTON}
- btnType="link"
- iconName="plus">
- {i18n('Add Limit')}
- </Button>
+ data-test-id="add-limits-tab"
+ className="add-limit-button">
+ <Button
+ disabled={
+ !!this.state.selectedLimit || isReadOnlyMode
+ }
+ btnType="link"
+ iconName="plus">
+ {i18n('Add Limit')}
+ </Button>
+ </TabButton>
) : (
- <div key="empty_ep_tab_key" />
+ <TabButton key="empty_ep_tab_key" />
) // Render empty div to not break tabs
}
</Tabs>
<ModalButtons
- className="entitlement-pools-editor-buttons"
+ className="sdc-modal__footer"
selectedLimit={this.state.selectedLimit}
isFormValid={this.props.isFormValid}
isReadOnlyMode={isReadOnlyMode}
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditor.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditor.js
index 4679b9ec81..93e78a753b 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditor.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditor.js
@@ -27,7 +27,6 @@ const mapStateToProps = ({
licenseModel: { entitlementPool, licenseModelEditor }
}) => {
const { entitlementPoolsList } = entitlementPool;
- const { data } = entitlementPool.entitlementPoolEditor;
const { vendorName } = licenseModelEditor.data;
return {
@@ -35,21 +34,27 @@ const mapStateToProps = ({
entitlementPoolsList: sortByStringProperty(
entitlementPoolsList,
SORTING_PROPERTY_NAME
- ),
- isDisplayModal: Boolean(data),
- isModalInEditMode: Boolean(data && data.id)
+ )
};
};
-const mapActionsToProps = (dispatch, { licenseModelId, version }) => {
+const mapActionsToProps = (
+ dispatch,
+ { licenseModelId, version, isReadOnlyMode }
+) => {
return {
onAddEntitlementPoolClick: () =>
- EntitlementPoolsActionHelper.openEntitlementPoolsEditor(dispatch),
+ EntitlementPoolsActionHelper.openEntitlementPoolsEditor(dispatch, {
+ licenseModelId,
+ version,
+ isReadOnlyMode
+ }),
onEditEntitlementPoolClick: entitlementPool =>
EntitlementPoolsActionHelper.openEntitlementPoolsEditor(dispatch, {
entitlementPool,
licenseModelId,
- version
+ version,
+ isReadOnlyMode
}),
onDeleteEntitlementPool: entitlementPool =>
dispatch({
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditorView.jsx
index 0648d6632d..2592687298 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditorView.jsx
@@ -17,11 +17,9 @@ import React from 'react';
import PropTypes from 'prop-types';
import i18n from 'nfvo-utils/i18n/i18n.js';
-import Modal from 'nfvo-components/modal/Modal.jsx';
import ListEditorView from 'nfvo-components/listEditor/ListEditorView.jsx';
import ListEditorItemView from 'nfvo-components/listEditor/ListEditorItemView.jsx';
-import EntitlementPoolsEditor from './EntitlementPoolsEditor.js';
import { extractUnits } from './EntitlementPoolsConstants';
class EntitlementPoolsListEditorView extends React.Component {
@@ -46,14 +44,7 @@ class EntitlementPoolsListEditorView extends React.Component {
};
render() {
- let {
- licenseModelId,
- isReadOnlyMode,
- isDisplayModal,
- isModalInEditMode,
- version
- } = this.props;
- let { onAddEntitlementPoolClick } = this.props;
+ let { isReadOnlyMode, onAddEntitlementPoolClick } = this.props;
const { localFilter } = this.state;
return (
@@ -72,28 +63,6 @@ class EntitlementPoolsListEditorView extends React.Component {
)
)}
</ListEditorView>
- <Modal
- show={isDisplayModal}
- bsSize="large"
- animation={true}
- className="onborading-modal license-model-modal entitlement-pools-modal">
- <Modal.Header>
- <Modal.Title>{`${
- isModalInEditMode
- ? i18n('Edit Entitlement Pool')
- : i18n('Create New Entitlement Pool')
- }`}</Modal.Title>
- </Modal.Header>
- <Modal.Body>
- {isDisplayModal && (
- <EntitlementPoolsEditor
- version={version}
- licenseModelId={licenseModelId}
- isReadOnlyMode={isReadOnlyMode}
- />
- )}
- </Modal.Body>
- </Modal>
</div>
);
}
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/components/FormContent.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/components/FormContent.jsx
index 531b6b73b2..b734a88d67 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/components/FormContent.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/components/FormContent.jsx
@@ -161,11 +161,13 @@ export const EntitlementPoolsFormContent = ({
data-test-id="create-ep-manufacturerReferenceNumber-value"
value={manufacturerReferenceNumber}
type="text"
+ groupClassName="no-bottom-margin"
/>
</GridItem>
<GridItem colSpan={2} lastColInRow>
<div className="date-section">
<Input
+ groupClassName="no-bottom-margin"
type="date"
label={i18n('Start Date')}
value={startDate}
@@ -188,6 +190,7 @@ export const EntitlementPoolsFormContent = ({
selectsStart
/>
<Input
+ groupClassName="no-bottom-margin"
type="date"
label={i18n('Expiry Date')}
value={expiryDate}
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupEditorView.jsx
index d80eb9a0ab..2a9af15984 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupEditorView.jsx
@@ -85,7 +85,7 @@ const GeneralTab = ({
</GridItem>
<GridItem colSpan={4}>
<Input
- groupClassName="field-section"
+ groupClassName="field-section no-bottom-margin"
onChange={partNumber =>
onDataChanged({ partNumber }, FG_EDITOR_FORM)
}
@@ -203,7 +203,7 @@ class FeatureGroupEditorView extends React.Component {
licenseKeyGroupsList
} = this.props;
return (
- <div>
+ <div className="license-model-modal feature-group-modal">
{genericFieldInfo && (
<Form
ref="validationForm"
@@ -218,6 +218,7 @@ class FeatureGroupEditorView extends React.Component {
labledButtons={true}
isReadOnlyMode={isReadOnlyMode}
name="feature-group-validation-form"
+ btnClassName="sdc-modal__footer"
className="license-model-form feature-group-form">
<Tabs
activeTab={onTabSelect ? selectedTab : undefined}
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupListEditor.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupListEditor.js
index 8d41b97cf0..fe4eb58b4c 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupListEditor.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupListEditor.js
@@ -26,16 +26,12 @@ import { SORTING_PROPERTY_NAME } from 'sdc-app/onboarding/licenseModel/LicenseMo
export const mapStateToProps = ({
licenseModel: { featureGroup, licenseModelEditor }
}) => {
- const { featureGroupEditor: { data }, featureGroupsList } = featureGroup;
+ const { featureGroupsList } = featureGroup;
const { vendorName, version } = licenseModelEditor.data;
return {
vendorName,
version,
- featureGroupsModal: {
- show: Boolean(data),
- editMode: Boolean(data && data.id)
- },
featureGroupsList: sortByStringProperty(
featureGroupsList,
SORTING_PROPERTY_NAME
@@ -63,13 +59,19 @@ const mapActionsToProps = (dispatch, { licenseModelId }) => {
onAddFeatureGroupClick: actualVersion =>
FeatureGroupsActionHelper.openFeatureGroupsEditor(dispatch, {
licenseModelId,
- version: actualVersion
+ version: actualVersion,
+ isReadOnlyMode: false
}),
- onEditFeatureGroupClick: (featureGroup, actualVersion) =>
+ onEditFeatureGroupClick: (
+ featureGroup,
+ actualVersion,
+ isReadOnlyMode
+ ) =>
FeatureGroupsActionHelper.openFeatureGroupsEditor(dispatch, {
featureGroup,
licenseModelId,
- version: actualVersion
+ version: actualVersion,
+ isReadOnlyMode
})
};
};
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupListEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupListEditorView.jsx
index 92468a3b86..63964435f2 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupListEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupListEditorView.jsx
@@ -17,20 +17,13 @@ import React from 'react';
import PropTypes from 'prop-types';
import i18n from 'nfvo-utils/i18n/i18n.js';
-import Modal from 'nfvo-components/modal/Modal.jsx';
import ListEditorView from 'nfvo-components/listEditor/ListEditorView.jsx';
import ListEditorItemView from 'nfvo-components/listEditor/ListEditorItemView.jsx';
-import FeatureGroupEditor from './FeatureGroupEditor.js';
-
class FeatureGroupListEditorView extends React.Component {
static propTypes = {
vendorName: PropTypes.string,
licenseModelId: PropTypes.string.isRequired,
- featureGroupsModal: PropTypes.shape({
- show: PropTypes.bool,
- editMode: PropTypes.bool
- }),
isReadOnlyMode: PropTypes.bool.isRequired,
onAddFeatureGroupClick: PropTypes.func,
onEditFeatureGroupClick: PropTypes.func,
@@ -40,11 +33,7 @@ class FeatureGroupListEditorView extends React.Component {
};
static defaultProps = {
- featureGroupsList: [],
- featureGroupsModal: {
- show: false,
- editMode: false
- }
+ featureGroupsList: []
};
state = {
@@ -52,13 +41,7 @@ class FeatureGroupListEditorView extends React.Component {
};
render() {
- let {
- licenseModelId,
- featureGroupsModal,
- isReadOnlyMode,
- onAddFeatureGroupClick,
- version
- } = this.props;
+ let { isReadOnlyMode, onAddFeatureGroupClick, version } = this.props;
const { localFilter } = this.state;
return (
<div className="license-model-list-editor feature-groups-list-editor">
@@ -77,28 +60,6 @@ class FeatureGroupListEditorView extends React.Component {
)
)}
</ListEditorView>
- {featureGroupsModal.show && (
- <Modal
- show={featureGroupsModal.show}
- bsSize="large"
- animation={true}
- className="onborading-modal license-model-modal feature-group-modal">
- <Modal.Header>
- <Modal.Title>{`${
- featureGroupsModal.editMode
- ? i18n('Edit Feature Group')
- : i18n('Create New Feature Group')
- }`}</Modal.Title>
- </Modal.Header>
- <Modal.Body>
- <FeatureGroupEditor
- version={version}
- licenseModelId={licenseModelId}
- isReadOnlyMode={isReadOnlyMode}
- />
- </Modal.Body>
- </Modal>
- )}
</div>
);
}
@@ -114,7 +75,9 @@ class FeatureGroupListEditorView extends React.Component {
<ListEditorItemView
key={listItem.id}
onDelete={() => this.deleteFeatureGroupItem(listItem, version)}
- onSelect={() => this.editFeatureGroupItem(listItem, version)}
+ onSelect={() =>
+ this.editFeatureGroupItem(listItem, version, isReadOnlyMode)
+ }
className="list-editor-item-view"
isReadOnlyMode={isReadOnlyMode}>
<div className="list-editor-item-view-field">
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupsActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupsActionHelper.js
index 22e21a613a..c6479a7481 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupsActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupsActionHelper.js
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import RestAPIUtil from 'nfvo-utils/RestAPIUtil.js';
import Configuration from 'sdc-app/config/Configuration.js';
@@ -19,6 +19,12 @@ import { actionTypes as featureGroupsActionConstants } from './FeatureGroupsCons
import EntitlementPoolsActionHelper from 'sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsActionHelper.js';
import LicenseKeyGroupsActionHelper from 'sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsActionHelper.js';
import ItemsHelper from 'sdc-app/common/helpers/ItemsHelper.js';
+import {
+ actionTypes as modalActionTypes,
+ modalSizes
+} from 'nfvo-components/modal/GlobalModalConstants.js';
+import { modalContentMapper } from 'sdc-app/common/modal/ModalContentMapper.js';
+import i18n from 'nfvo-utils/i18n/i18n.js';
function baseUrl(licenseModelId, version) {
const restPrefix = Configuration.get('restPrefix');
@@ -189,7 +195,7 @@ export default {
openFeatureGroupsEditor(
dispatch,
- { featureGroup, licenseModelId, version }
+ { featureGroup, licenseModelId, version, isReadOnlyMode }
) {
return Promise.all([
EntitlementPoolsActionHelper.fetchEntitlementPoolsList(dispatch, {
@@ -205,6 +211,26 @@ export default {
type: featureGroupsActionConstants.featureGroupsEditor.OPEN,
featureGroup
});
+ dispatch({
+ type: featureGroupsActionConstants.featureGroupsEditor.OPEN,
+ featureGroup
+ });
+ dispatch({
+ type: modalActionTypes.GLOBAL_MODAL_SHOW,
+ data: {
+ modalComponentName: modalContentMapper.FG_EDITOR,
+ modalComponentProps: {
+ version,
+ licenseModelId,
+ isReadOnlyMode,
+ size: modalSizes.LARGE
+ },
+ title:
+ licenseModelId && version && featureGroup
+ ? i18n('Edit Feature Group')
+ : i18n('Create New Feature Group')
+ }
+ });
});
},
@@ -212,5 +238,8 @@ export default {
dispatch({
type: featureGroupsActionConstants.featureGroupsEditor.CLOSE
});
+ dispatch({
+ type: modalActionTypes.GLOBAL_MODAL_CLOSE
+ });
}
};
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementActionHelper.js
index feceba5726..036aaaa686 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementActionHelper.js
@@ -1,23 +1,29 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import RestAPIUtil from 'nfvo-utils/RestAPIUtil.js';
import Configuration from 'sdc-app/config/Configuration.js';
import { actionTypes as licenseAgreementActionTypes } from './LicenseAgreementConstants.js';
import FeatureGroupsActionHelper from 'sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupsActionHelper.js';
import ItemsHelper from 'sdc-app/common/helpers/ItemsHelper.js';
+import {
+ actionTypes as modalActionTypes,
+ modalSizes
+} from 'nfvo-components/modal/GlobalModalConstants.js';
+import { modalContentMapper } from 'sdc-app/common/modal/ModalContentMapper.js';
+import i18n from 'nfvo-utils/i18n/i18n.js';
function baseUrl(licenseModelId, version) {
const restPrefix = Configuration.get('restPrefix');
@@ -103,7 +109,7 @@ export default {
openLicenseAgreementEditor(
dispatch,
- { licenseModelId, licenseAgreement, version }
+ { licenseModelId, licenseAgreement, version, isReadOnlyMode }
) {
FeatureGroupsActionHelper.fetchFeatureGroupsList(dispatch, {
licenseModelId,
@@ -113,12 +119,31 @@ export default {
type: licenseAgreementActionTypes.licenseAgreementEditor.OPEN,
licenseAgreement
});
+ dispatch({
+ type: modalActionTypes.GLOBAL_MODAL_SHOW,
+ data: {
+ modalComponentName: modalContentMapper.LA_EDITOR,
+ modalComponentProps: {
+ version,
+ licenseModelId,
+ isReadOnlyMode,
+ size: modalSizes.LARGE
+ },
+ title:
+ licenseModelId && version && licenseAgreement
+ ? i18n('Edit License Agreement')
+ : i18n('Create New License Agreement')
+ }
+ });
},
closeLicenseAgreementEditor(dispatch) {
dispatch({
type: licenseAgreementActionTypes.licenseAgreementEditor.CLOSE
});
+ dispatch({
+ type: modalActionTypes.GLOBAL_MODAL_CLOSE
+ });
},
async saveLicenseAgreement(
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorView.jsx
index b2ebc1e436..b54c0806ef 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorView.jsx
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
import PropTypes from 'prop-types';
@@ -77,7 +77,12 @@ const GeneralTabContent = ({
isMultiSelect={false}
onEnumChange={licenseTerm =>
onDataChanged(
- { licenseTerm: { choice: licenseTerm, other: '' } },
+ {
+ licenseTerm: {
+ choice: licenseTerm,
+ other: ''
+ }
+ },
LA_EDITOR_FORM
)
}
@@ -163,7 +168,7 @@ class LicenseAgreementEditorView extends React.Component {
genericFieldInfo
} = this.props;
return (
- <div>
+ <div className="license-model-modal license-agreement-modal">
{genericFieldInfo && (
<Form
ref="validationForm"
@@ -177,7 +182,8 @@ class LicenseAgreementEditorView extends React.Component {
onValidateForm={() =>
this.props.onValidateForm(LA_EDITOR_FORM)
}
- className="license-model-form license-agreement-form">
+ className="license-model-form license-agreement-form"
+ btnClassName="sdc-modal__footer">
<Tabs
activeTab={onTabSelect ? selectedTab : undefined}
onTabClick={onTabSelect}
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementListEditor.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementListEditor.js
index fcb83b4279..6151ad75f2 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementListEditor.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementListEditor.js
@@ -25,7 +25,6 @@ const mapStateToProps = ({
licenseModel: { licenseAgreement, licenseModelEditor }
}) => {
let { licenseAgreementList } = licenseAgreement;
- let { data } = licenseAgreement.licenseAgreementEditor;
let { vendorName, version } = licenseModelEditor.data;
return {
@@ -34,9 +33,7 @@ const mapStateToProps = ({
licenseAgreementList: sortByStringProperty(
licenseAgreementList,
SORTING_PROPERTY_NAME
- ),
- isDisplayModal: Boolean(data),
- isModalInEditMode: Boolean(data && data.id)
+ )
};
};
@@ -45,13 +42,19 @@ const mapActionsToProps = (dispatch, { licenseModelId }) => {
onAddLicenseAgreementClick: version =>
LicenseAgreementActionHelper.openLicenseAgreementEditor(dispatch, {
licenseModelId,
- version
+ version,
+ isReadOnlyMode: false
}),
- onEditLicenseAgreementClick: (licenseAgreement, version) =>
+ onEditLicenseAgreementClick: (
+ licenseAgreement,
+ version,
+ isReadOnlyMode
+ ) =>
LicenseAgreementActionHelper.openLicenseAgreementEditor(dispatch, {
licenseModelId,
licenseAgreement,
- version
+ version,
+ isReadOnlyMode
}),
onDeleteLicenseAgreement: (licenseAgreement, version) =>
dispatch({
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementListEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementListEditorView.jsx
index acec1e0ddb..b6ef7cf072 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementListEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementListEditorView.jsx
@@ -1,26 +1,24 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
import PropTypes from 'prop-types';
import i18n from 'nfvo-utils/i18n/i18n.js';
-import Modal from 'nfvo-components/modal/Modal.jsx';
import ListEditorView from 'nfvo-components/listEditor/ListEditorView.jsx';
import ListEditorItemView from 'nfvo-components/listEditor/ListEditorItemView.jsx';
-import LicenseAgreementEditor from './LicenseAgreementEditor.js';
import { extractValue } from './LicenseAgreementConstants';
class LicenseAgreementListEditorView extends React.Component {
@@ -45,13 +43,7 @@ class LicenseAgreementListEditorView extends React.Component {
};
render() {
- const {
- licenseModelId,
- isReadOnlyMode,
- isDisplayModal,
- isModalInEditMode,
- version
- } = this.props;
+ const { isReadOnlyMode, version } = this.props;
const { onAddLicenseAgreementClick } = this.props;
const { localFilter } = this.state;
@@ -72,28 +64,6 @@ class LicenseAgreementListEditorView extends React.Component {
)
)}
</ListEditorView>
- <Modal
- show={isDisplayModal}
- bsSize="large"
- animation={true}
- className="onborading-modal license-model-modal license-agreement-modal">
- <Modal.Header>
- <Modal.Title>{`${
- isModalInEditMode
- ? i18n('Edit License Agreement')
- : i18n('Create New License Agreement')
- }`}</Modal.Title>
- </Modal.Header>
- <Modal.Body>
- {isDisplayModal && (
- <LicenseAgreementEditor
- version={version}
- licenseModelId={licenseModelId}
- isReadOnlyMode={isReadOnlyMode}
- />
- )}
- </Modal.Body>
- </Modal>
</div>
);
}
@@ -133,7 +103,11 @@ class LicenseAgreementListEditorView extends React.Component {
<ListEditorItemView
key={id}
onSelect={() =>
- onEditLicenseAgreementClick(licenseAgreement, version)
+ onEditLicenseAgreementClick(
+ licenseAgreement,
+ version,
+ isReadOnlyMode
+ )
}
onDelete={() =>
onDeleteLicenseAgreement(licenseAgreement, version)
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsActionHelper.js
index 53276ca49b..c9f0505ad1 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsActionHelper.js
@@ -19,6 +19,12 @@ import { actionTypes as licenseKeyGroupsConstants } from './LicenseKeyGroupsCons
import { actionTypes as limitEditorActions } from 'sdc-app/onboarding/licenseModel/limits/LimitEditorConstants.js';
import { default as getValue, getStrValue } from 'nfvo-utils/getValue.js';
import ItemsHelper from 'sdc-app/common/helpers/ItemsHelper.js';
+import i18n from 'nfvo-utils/i18n/i18n.js';
+import {
+ actionTypes as modalActionTypes,
+ modalSizes
+} from 'nfvo-components/modal/GlobalModalConstants.js';
+import { modalContentMapper } from 'sdc-app/common/modal/ModalContentMapper.js';
function baseUrl(licenseModelId, version) {
const restPrefix = Configuration.get('restPrefix');
@@ -131,9 +137,9 @@ export default {
openLicenseKeyGroupsEditor(
dispatch,
- { licenseKeyGroup, licenseModelId, version } = {}
+ { licenseKeyGroup, licenseModelId, version, isReadOnlyMode } = {}
) {
- if (licenseModelId && version) {
+ if (licenseModelId && version && licenseKeyGroup) {
this.fetchLimits(dispatch, {
licenseModelId,
version,
@@ -144,12 +150,31 @@ export default {
type: licenseKeyGroupsConstants.licenseKeyGroupsEditor.OPEN,
licenseKeyGroup
});
+ dispatch({
+ type: modalActionTypes.GLOBAL_MODAL_SHOW,
+ data: {
+ modalComponentName: modalContentMapper.LKG_EDITOR,
+ modalComponentProps: {
+ version,
+ licenseModelId,
+ isReadOnlyMode,
+ size: modalSizes.LARGE
+ },
+ title:
+ licenseModelId && version && licenseKeyGroup
+ ? i18n('Edit License Key Group')
+ : i18n('Create New License Key Group')
+ }
+ });
},
closeLicenseKeyGroupEditor(dispatch) {
dispatch({
type: licenseKeyGroupsConstants.licenseKeyGroupsEditor.CLOSE
});
+ dispatch({
+ type: modalActionTypes.GLOBAL_MODAL_CLOSE
+ });
},
async saveLicenseKeyGroup(
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditorView.jsx
index 8f21722ca6..219f2dcd1e 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditorView.jsx
@@ -39,6 +39,21 @@ import {
import LicenseKeyGroupFormContent from './components/FormContent.jsx';
import ModalButtons from 'sdc-app/onboarding/licenseModel/components/ModalButtons.jsx';
+const TabButton = props => {
+ const { onClick, disabled, className } = props;
+ const dataTestId = props['data-test-id'];
+ return (
+ <div
+ className={className}
+ onClick={disabled ? undefined : onClick}
+ data-test-id={dataTestId}
+ role="tab"
+ disabled={disabled}>
+ {props.children}
+ </div>
+ );
+};
+
const LicenseKeyGroupPropType = PropTypes.shape({
id: PropTypes.string,
name: PropTypes.string,
@@ -94,7 +109,7 @@ class LicenseKeyGroupsEditorView extends React.Component {
let { selectedTab } = this.state;
const isTabsDisabled = !data.id || !this.props.isFormValid;
return (
- <div className="license-keygroup-editor">
+ <div className="license-keygroup-editor license-model-modal license-key-groups-modal">
<Tabs
type="menu"
activeTab={selectedTab}
@@ -187,23 +202,29 @@ class LicenseKeyGroupsEditorView extends React.Component {
)}
</Tab>
{selectedTab !== tabIds.GENERAL ? (
- <Button
- className="add-limit-button"
+ <TabButton
tabId={tabIds.ADD_LIMIT_BUTTON}
- btnType="link"
- iconName="plus"
disabled={
- this.state.selectedLimit || isReadOnlyMode
- }>
- {i18n('Add Limit')}
- </Button>
+ !!this.state.selectedLimit || isReadOnlyMode
+ }
+ data-test-id="add-limits-tab"
+ className="add-limit-button">
+ <Button
+ btnType="link"
+ iconName="plus"
+ disabled={
+ !!this.state.selectedLimit || isReadOnlyMode
+ }>
+ {i18n('Add Limit')}
+ </Button>
+ </TabButton>
) : (
- <div key="empty_lm_tab_key" />
+ <TabButton key="empty_lm_tab_key" />
) // Render empty div to not break tabs
}
</Tabs>
<ModalButtons
- className="license-key-group-editor-buttons"
+ className="sdc-modal__footer"
selectedLimit={this.state.selectedLimit}
isFormValid={this.props.isFormValid}
isReadOnlyMode={isReadOnlyMode}
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditor.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditor.js
index 514e9b85ec..47d3979064 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditor.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditor.js
@@ -29,7 +29,6 @@ const mapStateToProps = ({
licenseModel: { licenseKeyGroup, licenseModelEditor }
}) => {
let { licenseKeyGroupsList } = licenseKeyGroup;
- let { data } = licenseKeyGroup.licenseKeyGroupsEditor;
let { vendorName } = licenseModelEditor.data;
return {
@@ -37,21 +36,24 @@ const mapStateToProps = ({
licenseKeyGroupsList: sortByStringProperty(
licenseKeyGroupsList,
SORTING_PROPERTY_NAME
- ),
- isDisplayModal: Boolean(data),
- isModalInEditMode: Boolean(data && data.id)
+ )
};
};
const mapActionsToProps = (dispatch, { licenseModelId, version }) => {
return {
onAddLicenseKeyGroupClick: () =>
- LicenseKeyGroupsActionHelper.openLicenseKeyGroupsEditor(dispatch),
- onEditLicenseKeyGroupClick: licenseKeyGroup =>
+ LicenseKeyGroupsActionHelper.openLicenseKeyGroupsEditor(dispatch, {
+ isReadOnlyMode: false,
+ version,
+ licenseModelId
+ }),
+ onEditLicenseKeyGroupClick: (licenseKeyGroup, isReadOnlyMode) =>
LicenseKeyGroupsActionHelper.openLicenseKeyGroupsEditor(dispatch, {
licenseKeyGroup,
licenseModelId,
- version
+ version,
+ isReadOnlyMode
}),
onDeleteLicenseKeyGroupClick: licenseKeyGroup =>
dispatch({
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditorView.jsx
index 09bab1c097..2394ec8335 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditorView.jsx
@@ -16,11 +16,9 @@
import React from 'react';
import PropTypes from 'prop-types';
import i18n from 'nfvo-utils/i18n/i18n.js';
-import Modal from 'nfvo-components/modal/Modal.jsx';
import ListEditorView from 'nfvo-components/listEditor/ListEditorView.jsx';
import ListEditorItemView from 'nfvo-components/listEditor/ListEditorItemView.jsx';
-import LicenseKeyGroupsEditor from './LicenseKeyGroupsEditor.js';
import InputOptions, {
other as optionInputOther
} from 'nfvo-components/input/validation/InputOptions.jsx';
@@ -32,8 +30,6 @@ class LicenseKeyGroupsListEditorView extends React.Component {
licenseModelId: PropTypes.string.isRequired,
licenseKeyGroupsList: PropTypes.array,
isReadOnlyMode: PropTypes.bool.isRequired,
- isDisplayModal: PropTypes.bool,
- isModalInEditMode: PropTypes.bool,
onAddLicenseKeyGroupClick: PropTypes.func,
onEditLicenseKeyGroupClick: PropTypes.func,
onDeleteLicenseKeyGroupClick: PropTypes.func
@@ -48,13 +44,7 @@ class LicenseKeyGroupsListEditorView extends React.Component {
};
render() {
- let {
- licenseModelId,
- isReadOnlyMode,
- isDisplayModal,
- isModalInEditMode,
- version
- } = this.props;
+ let { isReadOnlyMode } = this.props;
let { onAddLicenseKeyGroupClick } = this.props;
const { localFilter } = this.state;
@@ -74,28 +64,6 @@ class LicenseKeyGroupsListEditorView extends React.Component {
)
)}
</ListEditorView>
- <Modal
- show={isDisplayModal}
- bsSize="large"
- animation={true}
- className="onborading-modal license-model-modal license-key-groups-modal">
- <Modal.Header>
- <Modal.Title>{`${
- isModalInEditMode
- ? i18n('Edit License Key Group')
- : i18n('Create New License Key Group')
- }`}</Modal.Title>
- </Modal.Header>
- <Modal.Body>
- {isDisplayModal && (
- <LicenseKeyGroupsEditor
- version={version}
- licenseModelId={licenseModelId}
- isReadOnlyMode={isReadOnlyMode}
- />
- )}
- </Modal.Body>
- </Modal>
</div>
);
}
@@ -134,7 +102,9 @@ class LicenseKeyGroupsListEditorView extends React.Component {
return (
<ListEditorItemView
key={id}
- onSelect={() => onEditLicenseKeyGroupClick(licenseKeyGroup)}
+ onSelect={() =>
+ onEditLicenseKeyGroupClick(licenseKeyGroup, isReadOnlyMode)
+ }
onDelete={() => onDeleteLicenseKeyGroupClick(licenseKeyGroup)}
className="list-editor-item-view"
isReadOnlyMode={isReadOnlyMode}>
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/components/FormContent.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/components/FormContent.jsx
index 4d19ed39ce..c2c62b1402 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/components/FormContent.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/components/FormContent.jsx
@@ -211,6 +211,7 @@ const LicenseKeyGroupFormContent = ({
value={manufacturerReferenceNumber}
data-test-id="create-ep-mrn"
type="text"
+ groupClassName="no-bottom-margin"
/>
</GridItem>
@@ -223,6 +224,7 @@ const LicenseKeyGroupFormContent = ({
value={increments}
data-test-id="create-ep-increments"
type="text"
+ groupClassName="no-bottom-margin"
/>
</GridItem>
{id && versionUUID && <UuId id={id} versionUUID={versionUUID} />}
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/LicenseModelOverviewView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/LicenseModelOverviewView.jsx
index 6899360597..c2d6f8e4d6 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/LicenseModelOverviewView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/LicenseModelOverviewView.jsx
@@ -1,52 +1,28 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
import PropTypes from 'prop-types';
-import i18n from 'nfvo-utils/i18n/i18n.js';
-import Modal from 'nfvo-components/modal/Modal.jsx';
import classNames from 'classnames';
-import EntitlementPoolsEditor from '../entitlementPools/EntitlementPoolsEditor.js';
-import FeatureGroupEditor from '../featureGroups/FeatureGroupEditor.js';
-import LicenseAgreementEditor from '../licenseAgreement/LicenseAgreementEditor.js';
-import LicenseKeyGroupsEditor from '../licenseKeyGroups/LicenseKeyGroupsEditor.js';
-import {
- overviewEditorHeaders,
- selectedButton
-} from './LicenseModelOverviewConstants.js';
+import { selectedButton } from './LicenseModelOverviewConstants.js';
import SummaryView from './SummaryView.jsx';
import VLMListView from './VLMListView.jsx';
import ListButtons from './summary/ListButtons.jsx';
-const setModalClassName = modalHeader => {
- switch (modalHeader) {
- case overviewEditorHeaders.ENTITLEMENT_POOL:
- return 'entitlement-pools-modal';
- case overviewEditorHeaders.LICENSE_AGREEMENT:
- return 'license-agreement-modal';
- case overviewEditorHeaders.FEATURE_GROUP:
- return 'feature-group-modal';
- case overviewEditorHeaders.LICENSE_KEY_GROUP:
- return 'license-key-groups-modal';
- default:
- return '';
- }
-};
-
class LicenseModelOverviewView extends React.Component {
static propTypes = {
isDisplayModal: PropTypes.bool,
@@ -63,8 +39,6 @@ class LicenseModelOverviewView extends React.Component {
render() {
let {
- isDisplayModal,
- modalHeader,
licensingDataList,
selectedTab,
onTabSelect,
@@ -94,66 +68,9 @@ class LicenseModelOverviewView extends React.Component {
showInUse={selectedInUse}
/>
</div>
- {isDisplayModal && (
- <Modal
- show={isDisplayModal}
- bsSize="large"
- animation={true}
- className={classNames(
- 'onborading-modal license-model-modal',
- setModalClassName(modalHeader)
- )}>
- <Modal.Header>
- <Modal.Title>{`${i18n('Create New ')}${i18n(
- modalHeader
- )}`}</Modal.Title>
- </Modal.Header>
- <Modal.Body>
- {this.renderModalBody(modalHeader)}
- </Modal.Body>
- </Modal>
- )}
</div>
);
}
-
- renderModalBody(modalHeader) {
- let { licenseModelId, version, isReadOnlyMode } = this.props;
- switch (modalHeader) {
- case overviewEditorHeaders.ENTITLEMENT_POOL:
- return (
- <EntitlementPoolsEditor
- version={version}
- licenseModelId={licenseModelId}
- isReadOnlyMode={isReadOnlyMode}
- />
- );
- case overviewEditorHeaders.LICENSE_AGREEMENT:
- return (
- <LicenseAgreementEditor
- version={version}
- licenseModelId={licenseModelId}
- isReadOnlyMode={isReadOnlyMode}
- />
- );
- case overviewEditorHeaders.FEATURE_GROUP:
- return (
- <FeatureGroupEditor
- version={version}
- licenseModelId={licenseModelId}
- isReadOnlyMode={isReadOnlyMode}
- />
- );
- case overviewEditorHeaders.LICENSE_KEY_GROUP:
- return (
- <LicenseKeyGroupsEditor
- version={version}
- licenseModelId={licenseModelId}
- isReadOnlyMode={isReadOnlyMode}
- />
- );
- }
- }
}
export default LicenseModelOverviewView;
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/summary/SummaryCountList.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/summary/SummaryCountList.js
index 711bb7a374..6ce42a51bf 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/summary/SummaryCountList.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/summary/SummaryCountList.js
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
import { connect } from 'react-redux';
@@ -68,7 +68,12 @@ const mapActionsToProps = dispatch => {
switch (name) {
case overviewItems.ENTITLEMENT_POOLS:
EntitlementPoolsActionHelper.openEntitlementPoolsEditor(
- dispatch
+ dispatch,
+ {
+ licenseModelId,
+ version,
+ isReadOnlyMode: false
+ }
);
break;
case overviewItems.FEATURE_GROUPS:
@@ -76,7 +81,8 @@ const mapActionsToProps = dispatch => {
dispatch,
{
licenseModelId,
- version
+ version,
+ isReadOnlyMode: false
}
);
break;
@@ -85,13 +91,19 @@ const mapActionsToProps = dispatch => {
dispatch,
{
licenseModelId,
- version
+ version,
+ isReadOnlyMode: false
}
);
break;
case overviewItems.LICENSE_KEY_GROUPS:
LicenseKeyGroupsActionHelper.openLicenseKeyGroupsEditor(
- dispatch
+ dispatch,
+ {
+ licenseModelId,
+ version,
+ isReadOnlyMode: false
+ }
);
break;
default:
diff --git a/openecomp-ui/src/sdc-app/onboarding/onboard/CatalogItemDetails.jsx b/openecomp-ui/src/sdc-app/onboarding/onboard/CatalogItemDetails.jsx
index 7f361d2742..4e27c39e91 100644
--- a/openecomp-ui/src/sdc-app/onboarding/onboard/CatalogItemDetails.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/onboard/CatalogItemDetails.jsx
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
import PropTypes from 'prop-types';
@@ -101,8 +101,8 @@ const CatalogItemDetails = ({
);
};
-CatalogItemDetails.PropTypes = {
- catalogItemData: PropTypes.obj,
+CatalogItemDetails.propTypes = {
+ catalogItemData: PropTypes.object,
catalogItemTypeClass: PropTypes.string,
onSelect: PropTypes.func,
onMigrate: PropTypes.func
diff --git a/openecomp-ui/src/sdc-app/onboarding/onboard/CatalogModal.jsx b/openecomp-ui/src/sdc-app/onboarding/onboard/CatalogModal.jsx
deleted file mode 100644
index 90496c9be4..0000000000
--- a/openecomp-ui/src/sdc-app/onboarding/onboard/CatalogModal.jsx
+++ /dev/null
@@ -1,65 +0,0 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-import React from 'react';
-import {
- modalMapper,
- catalogItemTypes,
- catalogItemTypeClasses
-} from './onboardingCatalog/OnboardingCatalogConstants.js';
-import i18n from 'nfvo-utils/i18n/i18n.js';
-import Modal from 'nfvo-components/modal/Modal.jsx';
-import LicenseModelCreation from '../licenseModel/creation/LicenseModelCreation.js';
-import SoftwareProductCreation from '../softwareProduct/creation/SoftwareProductCreation.js';
-
-class CatalogModal extends React.Component {
- getModalDetails() {
- const { modalToShow } = this.props;
- switch (modalToShow) {
- case catalogItemTypes.LICENSE_MODEL:
- return {
- title: i18n('New License Model'),
- element: <LicenseModelCreation />
- };
- case catalogItemTypes.SOFTWARE_PRODUCT:
- return {
- title: i18n('New Software Product'),
- element: <SoftwareProductCreation />
- };
- }
- }
-
- render() {
- const { modalToShow } = this.props;
- const modalDetails = this.getModalDetails(modalToShow);
-
- return (
- <Modal
- show={Boolean(modalDetails)}
- className={`${
- catalogItemTypeClasses[modalMapper[modalToShow]]
- }-modal`}>
- <Modal.Header>
- <Modal.Title>
- {modalDetails && modalDetails.title}
- </Modal.Title>
- </Modal.Header>
- <Modal.Body>{modalDetails && modalDetails.element}</Modal.Body>
- </Modal>
- );
- }
-}
-
-export default CatalogModal;
diff --git a/openecomp-ui/src/sdc-app/onboarding/onboard/filter/Filter.jsx b/openecomp-ui/src/sdc-app/onboarding/onboard/filter/Filter.jsx
index dadbbfd720..48f53e0763 100644
--- a/openecomp-ui/src/sdc-app/onboarding/onboard/filter/Filter.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/onboard/filter/Filter.jsx
@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -61,7 +61,7 @@ const Filter = ({ onDataChanged, data, activeTab }) => {
);
};
-Filter.PropTypes = {
+Filter.propTypes = {
onDataChanged: PropTypes.func,
data: PropTypes.object,
activeTab: PropTypes.number
diff --git a/openecomp-ui/src/sdc-app/onboarding/onboard/onboardingCatalog/VSPOverlay.jsx b/openecomp-ui/src/sdc-app/onboarding/onboard/onboardingCatalog/VSPOverlay.jsx
index 81061cbbcd..f0ae41fd3a 100644
--- a/openecomp-ui/src/sdc-app/onboarding/onboard/onboardingCatalog/VSPOverlay.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/onboard/onboardingCatalog/VSPOverlay.jsx
@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -76,7 +76,7 @@ const VSPOverlay = ({ VSPList, onSelectVSP, onSeeMore, onMigrate }) => {
);
};
-VSPOverlay.PropTypes = {
+VSPOverlay.propTypes = {
VSPList: PropTypes.array,
onSelectVSP: PropTypes.func
};
diff --git a/openecomp-ui/src/sdc-app/onboarding/onboard/onboardingCatalog/VendorItem.jsx b/openecomp-ui/src/sdc-app/onboarding/onboard/onboardingCatalog/VendorItem.jsx
index 73545d78f8..76854c29b7 100644
--- a/openecomp-ui/src/sdc-app/onboarding/onboard/onboardingCatalog/VendorItem.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/onboard/onboardingCatalog/VendorItem.jsx
@@ -32,7 +32,7 @@ import VSPOverlay from './VSPOverlay.jsx';
import { TooltipWrapper } from './Tooltip.jsx';
class VendorItem extends React.Component {
- static PropTypes = {
+ static propTypes = {
softwareProductList: PropTypes.array,
vendor: PropTypes.object,
shouldShowOverlay: PropTypes.bool,
diff --git a/openecomp-ui/src/sdc-app/onboarding/permissions/PermissionsManager.jsx b/openecomp-ui/src/sdc-app/onboarding/permissions/PermissionsManager.jsx
index ab6add8ac2..6918a8787a 100644
--- a/openecomp-ui/src/sdc-app/onboarding/permissions/PermissionsManager.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/permissions/PermissionsManager.jsx
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
import Form from 'nfvo-components/input/validation/Form.jsx';
@@ -57,7 +57,8 @@ class Permissions extends React.Component {
hasButtons={true}
onSubmit={() => this.onsaveItemUsers()}
onReset={() => onCancel()}
- labledButtons={true}>
+ labledButtons={true}
+ btnClassName="sdc-modal__footer">
<div className="manage-permissions-title">
{i18n('Owner')}
</div>
diff --git a/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsActionHelper.js
index 61ccad0cc4..e81c06812c 100644
--- a/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsActionHelper.js
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import i18n from 'nfvo-utils/i18n/i18n.js';
@@ -54,7 +54,6 @@ const RevisionaActionHelper = {
type: modalActionTypes.GLOBAL_MODAL_SHOW,
data: {
modalComponentName: modalContentMapper.REVISIONS_LIST,
- modalClassName: 'manage-revisions-modal',
title: i18n('Revert'),
modalComponentProps: {
itemId: itemId,
diff --git a/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsView.jsx b/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsView.jsx
index 294f5286e7..efcce58bd7 100644
--- a/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsView.jsx
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * revisions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
import Form from 'nfvo-components/input/validation/Form.jsx';
@@ -34,14 +34,15 @@ class RevisionsView extends React.Component {
render() {
let { onCancel, onRevert, revisions, users } = this.props;
return (
- <div className="manage-revisions-page">
+ <div className="manage-revisions-modal">
<Form
hasButtons={true}
isValid={this.state.revertId}
onSubmit={() => onRevert(this.state.revertId)}
onReset={() => onCancel()}
submitButtonText={i18n('Revert')}
- labledButtons={true}>
+ labledButtons={true}
+ btnClassName="sdc-modal__footer">
<ListEditorView
title={i18n('Select a Commit')}
isReadOnlyMode={false}>
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/SoftwareProductActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/SoftwareProductActionHelper.js
index 877c7869bd..9a177b2a53 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/SoftwareProductActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/SoftwareProductActionHelper.js
@@ -801,7 +801,7 @@ const SoftwareProductActionHelper = {
},
/** for the next verision */
- addComponent(dispatch, { softwareProductId, modalClassName, version }) {
+ addComponent(dispatch, { softwareProductId, version }) {
SoftwareProductComponentsActionHelper.clearComponentCreationData(
dispatch
);
@@ -813,7 +813,6 @@ const SoftwareProductActionHelper = {
data: {
modalComponentName: modalContentMapper.COMPONENT_CREATION,
modalComponentProps: { softwareProductId, version },
- modalClassName,
title: 'Create Virtual Function Component'
}
});
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetup.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetup.js
index d75d464f9e..6c0631963b 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetup.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetup.js
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import { connect } from 'react-redux';
import HeatSetupView from './HeatSetupView.jsx';
@@ -65,6 +65,12 @@ export const mapActionsToProps = (dispatch, {}) => {
value,
type
}),
+ onToggleVolFilesDisplay: ({ module, value }) => {
+ HeatSetupActionHelper.toggleVolFilesDisplay(dispatch, {
+ module,
+ value
+ });
+ },
onArtifactListChange: artifacts =>
HeatSetupActionHelper.changeArtifactList(dispatch, artifacts),
onAddAllUnassigned: () =>
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupActionHelper.js
index 05ac408fbb..d2eb4e9eda 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupActionHelper.js
@@ -1,26 +1,28 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import { actionTypes } from './HeatSetupConstants.js';
import isEqual from 'lodash/isEqual.js';
import cloneDeep from 'lodash/cloneDeep.js';
import SoftwareProductActionHelper from 'sdc-app/onboarding/softwareProduct/SoftwareProductActionHelper.js';
-// import i18n from 'nfvo-utils/i18n/i18n.js';
-// import {actionTypes as modalActionTypes} from 'nfvo-components/modal/GlobalModalConstants.js';
export default {
+ toggleVolFilesDisplay(dispatch, data) {
+ dispatch({ type: actionTypes.TOGGLE_VOL_DISPLAY, data });
+ },
+
addModule(dispatch, isBase) {
dispatch({ type: actionTypes.ADD_MODULE, data: { isBase } });
},
@@ -94,7 +96,7 @@ export default {
dispatch({
type: modalActionTypes.GLOBAL_MODAL_WARNING,
data:{
- msg: i18n(`You have uploaded a new HEAT. If you navigate away or Check-in without proceeding to validation,
+ msg: i18n(`You have uploaded a new HEAT. If you navigate away or Check-in without proceeding to validation,
Old HEAT zip file will be in use. new HEAT will be ignored. Do you want to continue?`),
confirmationButtonText: i18n('Continue'),
onConfirmed: () => resolve(),
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupConstants.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupConstants.js
index c87e9560f8..33bd7f639f 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupConstants.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupConstants.js
@@ -1,17 +1,17 @@
-/*!
+/*
* Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import keyMirror from 'nfvo-utils/KeyMirror.js';
@@ -30,7 +30,8 @@ export const actionTypes = keyMirror(
MANIFEST_LOADED: null,
GO_TO_VALIDATION: null,
- IN_VALIDATION: null
+ IN_VALIDATION: null,
+ TOGGLE_VOL_DISPLAY: null
},
'heatSetup'
);
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupReducer.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupReducer.js
index 8840a11c3e..06a7147ec9 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupReducer.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupReducer.js
@@ -1,20 +1,21 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import { actionTypes } from './HeatSetupConstants.js';
import differenceWith from 'lodash/differenceWith.js';
+import cloneDeep from 'lodash/cloneDeep';
const emptyModule = (isBase, currentLength) => ({
name: `${isBase ? 'base_' : 'module_'}${currentLength + 1}`,
@@ -65,6 +66,15 @@ function addDeletedModuleFilesToUnassigned(unassigned, deletedModule) {
export default (state = {}, action) => {
switch (action.type) {
+ case actionTypes.TOGGLE_VOL_DISPLAY:
+ let clonedState = cloneDeep(state);
+ const indexToModify = findModuleIndexByName(
+ clonedState.modules,
+ action.data.module.name
+ );
+ let modToModify = clonedState.modules[indexToModify];
+ modToModify.showVolFiles = action.data.value;
+ return clonedState;
case actionTypes.MANIFEST_LOADED:
return {
...state,
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupView.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupView.jsx
index 1d4efd9104..d103d115f6 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/HeatSetupView.jsx
@@ -1,415 +1,26 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React, { Component } from 'react';
-import Button from 'sdc-ui/lib/react/Button.js';
-import Tooltip from 'react-bootstrap/lib/Tooltip.js';
-import OverlayTrigger from 'react-bootstrap/lib/OverlayTrigger.js';
-import FormControl from 'react-bootstrap/lib/FormControl.js';
import i18n from 'nfvo-utils/i18n/i18n.js';
-import SelectInput from 'nfvo-components/input/SelectInput.jsx';
-import SVGIcon from 'sdc-ui/lib/react/SVGIcon.js';
-import { fileTypes } from './HeatSetupConstants.js';
import { tabsMapping } from '../SoftwareProductAttachmentsConstants.js';
-import { sortable } from 'react-sortable';
-
-class ListItem extends Component {
- render() {
- return <li {...this.props}>{this.props.children}</li>;
- }
-}
-
-const SortableListItem = sortable(ListItem);
-
-class SortableModuleFileList extends Component {
- state = {
- draggingIndex: null,
- data: this.props.modules
- };
-
- componentWillReceiveProps(nextProps) {
- this.setState({ data: nextProps.modules });
- }
-
- render() {
- let {
- unassigned,
- onModuleRename,
- onModuleDelete,
- onModuleAdd,
- onBaseAdd,
- onModuleFileTypeChange,
- isBaseExist,
- isReadOnlyMode
- } = this.props;
- const childProps = module => ({
- module,
- onModuleRename,
- onModuleDelete,
- onModuleFileTypeChange: (value, type) =>
- onModuleFileTypeChange({ module, value, type }),
- files: unassigned
- });
- let listItems = this.state.data.map(function(item, i) {
- return (
- <SortableListItem
- key={i}
- updateState={data => this.setState(data)}
- items={this.state.data}
- draggingIndex={this.state.draggingIndex}
- sortId={i}
- outline="list">
- <ModuleFile
- {...childProps(item)}
- isReadOnlyMode={this.props.isReadOnlyMode}
- />
- </SortableListItem>
- );
- }, this);
-
- return (
- <div
- className={`modules-list-wrapper ${
- listItems.length > 0 ? 'modules-list-wrapper-divider' : ''
- }`}>
- <div className="modules-list-header">
- {!isBaseExist && (
- <div>
- <Button
- btnType="link"
- onClick={onBaseAdd}
- disabled={
- isReadOnlyMode || unassigned.length === 0
- }>
- {i18n('Add Base')}
- </Button>
- </div>
- )}
- <div>
- <Button
- btnType="link"
- onClick={onModuleAdd}
- disabled={
- isReadOnlyMode || unassigned.length === 0
- }>
- {i18n('Add Module')}
- </Button>
- </div>
- </div>
- {listItems.length > 0 && <ul>{listItems}</ul>}
- </div>
- );
- }
-}
-
-const tooltip = name => <Tooltip id="tooltip-bottom">{name}</Tooltip>;
-const UnassignedFileList = props => {
- return (
- <div>
- <div className="modules-list-header" />
- <div className="unassigned-files">
- <div className="unassigned-files-title">
- {i18n('UNASSIGNED FILES')}
- </div>
- <div className="unassigned-files-list">{props.children}</div>
- </div>
- </div>
- );
-};
-
-const EmptyListContent = props => {
- let { heatDataExist } = props;
- let displayText = heatDataExist ? 'All Files Are Assigned' : '';
- return (
- <div className="go-to-validation-button-wrapper">
- <div className="all-files-assigned">{i18n(displayText)}</div>
- </div>
- );
-};
-const UnassignedFile = props => (
- <OverlayTrigger
- placement="bottom"
- overlay={tooltip(props.name)}
- delayShow={1000}>
- <li
- data-test-id="unassigned-files"
- className="unassigned-files-list-item">
- {props.name}
- </li>
- </OverlayTrigger>
-);
-
-const AddOrDeleteVolumeFiles = ({
- add = true,
- onAdd,
- onDelete,
- isReadOnlyMode
-}) => {
- const displayText = add ? 'Add Volume Files' : 'Delete Volume Files';
- const action = add ? onAdd : onDelete;
- return (
- <Button
- disabled={isReadOnlyMode}
- onClick={action}
- btnType="link"
- className="add-or-delete-volumes"
- iconName={add ? 'plus' : 'close'}>
- {i18n(displayText)}
- </Button>
- );
-};
-
-const SelectWithFileType = ({ type, selected, files, onChange }) => {
- let filteredFiledAccordingToType = files.filter(
- file => file.label.search(type.regex) > -1
- );
- if (selected) {
- filteredFiledAccordingToType = filteredFiledAccordingToType.concat({
- label: selected,
- value: selected
- });
- }
-
- return (
- <SelectInput
- data-test-id={`${type.label}-list`}
- label={type.label}
- value={selected}
- onChange={value =>
- value !== selected && onChange(value, type.label)
- }
- disabled={filteredFiledAccordingToType.length === 0}
- placeholder={
- filteredFiledAccordingToType.length === 0 ? '' : undefined
- }
- clearable={true}
- options={filteredFiledAccordingToType}
- />
- );
-};
-
-class NameEditInput extends Component {
- componentDidMount() {
- this.input.focus();
- }
-
- render() {
- return (
- <FormControl
- {...this.props}
- className="name-edit"
- inputRef={input => (this.input = input)}
- />
- );
- }
-}
-
-class ModuleFile extends Component {
- constructor(props) {
- super(props);
- this.state = {
- isInNameEdit: false,
- displayVolumes: Boolean(props.module.vol || props.module.volEnv)
- };
- }
-
- handleSubmit(event, name) {
- if (event.keyCode === 13) {
- this.handleModuleRename(event, name);
- }
- }
-
- componentWillReceiveProps(nextProps) {
- this.setState({
- displayVolumes: Boolean(
- nextProps.module.vol || nextProps.module.volEnv
- )
- });
- }
-
- handleModuleRename(event, name) {
- this.setState({ isInNameEdit: false });
- this.props.onModuleRename(name, event.target.value);
- }
-
- deleteVolumeFiles() {
- const { onModuleFileTypeChange } = this.props;
- onModuleFileTypeChange(null, fileTypes.VOL.label);
- onModuleFileTypeChange(null, fileTypes.VOL_ENV.label);
- this.setState({ displayVolumes: false });
- }
-
- renderNameAccordingToEditState() {
- const { module: { name } } = this.props;
- if (this.state.isInNameEdit) {
- return (
- <NameEditInput
- defaultValue={name}
- onBlur={evt => this.handleModuleRename(evt, name)}
- onKeyDown={evt => this.handleSubmit(evt, name)}
- />
- );
- }
- return <span className="filename-text">{name}</span>;
- }
-
- render() {
- const {
- module: { name, isBase, yaml, env, vol, volEnv },
- onModuleDelete,
- files,
- onModuleFileTypeChange,
- isReadOnlyMode
- } = this.props;
- const { displayVolumes } = this.state;
- const moduleType = isBase ? 'BASE' : 'MODULE';
- return (
- <div className="modules-list-item" data-test-id="module-item">
- <div className="modules-list-item-controllers">
- <div className="modules-list-item-filename">
- <SVGIcon
- name={isBase ? 'base' : 'module'}
- color="primary"
- iconClassName="heat-setup-module-icon"
- />
- <span className="module-title-by-type">{`${moduleType}: `}</span>
- <div
- className={`text-and-icon ${
- this.state.isInNameEdit ? 'in-edit' : ''
- }`}>
- {this.renderNameAccordingToEditState()}
- {!this.state.isInNameEdit && (
- <SVGIcon
- name="pencil"
- onClick={() =>
- this.setState({ isInNameEdit: true })
- }
- data-test-id={
- isBase ? 'base-name' : 'module-name'
- }
- />
- )}
- </div>
- </div>
- <SVGIcon
- name="trashO"
- onClick={() => onModuleDelete(name)}
- data-test-id="module-delete"
- />
- </div>
- <div className="modules-list-item-selectors">
- <SelectWithFileType
- type={fileTypes.YAML}
- files={files}
- selected={yaml}
- onChange={onModuleFileTypeChange}
- />
- <SelectWithFileType
- type={fileTypes.ENV}
- files={files}
- selected={env}
- onChange={onModuleFileTypeChange}
- />
- {displayVolumes && (
- <SelectWithFileType
- type={fileTypes.VOL}
- files={files}
- selected={vol}
- onChange={onModuleFileTypeChange}
- />
- )}
- {displayVolumes && (
- <SelectWithFileType
- type={fileTypes.VOL_ENV}
- files={files}
- selected={volEnv}
- onChange={onModuleFileTypeChange}
- />
- )}
- <AddOrDeleteVolumeFiles
- isReadOnlyMode={isReadOnlyMode}
- onAdd={() => this.setState({ displayVolumes: true })}
- onDelete={() => this.deleteVolumeFiles()}
- add={!displayVolumes}
- />
- </div>
- </div>
- );
- }
-}
-
-class ArtifactOrNestedFileList extends Component {
- render() {
- let {
- type,
- title,
- selected,
- options,
- onSelectChanged,
- onAddAllUnassigned,
- isReadOnlyMode,
- headerClassName
- } = this.props;
- return (
- <div
- className={`artifact-files ${
- type === 'nested' ? 'nested' : ''
- } ${headerClassName} `}>
- <div className="artifact-files-header">
- <span>
- {type === 'artifact' && (
- <SVGIcon
- color="primary"
- name="artifacts"
- iconClassName="heat-setup-module-icon"
- />
- )}
- {`${title}`}
- </span>
- {type === 'artifact' && (
- <Button
- disabled={isReadOnlyMode}
- btnType="link"
- className="add-all-unassigned"
- onClick={onAddAllUnassigned}>
- {i18n('Add All Unassigned Files')}
- </Button>
- )}
- </div>
- {type === 'nested' ? (
- <ul className="nested-list">
- {selected.map(nested => (
- <li key={nested} className="nested-list-item">
- {nested}
- </li>
- ))}
- </ul>
- ) : (
- <SelectInput
- options={options}
- onMultiSelectChanged={onSelectChanged || (() => {})}
- value={selected}
- clearable={false}
- placeholder={i18n('Add Artifact')}
- multi
- />
- )}
- </div>
- );
- }
-}
+import SortableModuleFileList from './components/SortableModuleFileList';
+import UnassignedFile from './components/UnassignedFile';
+import UnassignedFileList from './components/UnassignedFileList';
+import EmptyListContent from './components/EmptyListContent';
+import ArtifactOrNestedFileList from './components/ArtifactOrNestedFileList';
const buildLabelValueObject = str =>
typeof str === 'string' ? { value: str, label: str } : str;
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/AddOrDeleteVolumeFiles.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/AddOrDeleteVolumeFiles.js
new file mode 100644
index 0000000000..92a07ae119
--- /dev/null
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/AddOrDeleteVolumeFiles.js
@@ -0,0 +1,40 @@
+/*
+ * Copyright © 2016-2018 European Support Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import React from 'react';
+import Button from 'sdc-ui/lib/react/Button.js';
+import i18n from 'nfvo-utils/i18n/i18n.js';
+
+const AddOrDeleteVolumeFiles = ({
+ add = true,
+ onAdd,
+ onDelete,
+ isReadOnlyMode
+}) => {
+ const displayText = add ? 'Add Volume Files' : 'Delete Volume Files';
+ const action = add ? onAdd : onDelete;
+ return (
+ <Button
+ disabled={isReadOnlyMode}
+ onClick={action}
+ btnType="link"
+ className="add-or-delete-volumes"
+ iconName={add ? 'plus' : 'close'}>
+ {i18n(displayText)}
+ </Button>
+ );
+};
+
+export default AddOrDeleteVolumeFiles;
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/ArtifactOrNestedFileList.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/ArtifactOrNestedFileList.js
new file mode 100644
index 0000000000..c2bbde4c3d
--- /dev/null
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/ArtifactOrNestedFileList.js
@@ -0,0 +1,82 @@
+/*
+ * Copyright © 2016-2018 European Support Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import React from 'react';
+import i18n from 'nfvo-utils/i18n/i18n.js';
+import Button from 'sdc-ui/lib/react/Button.js';
+import SVGIcon from 'sdc-ui/lib/react/SVGIcon.js';
+import SelectInput from 'nfvo-components/input/SelectInput.jsx';
+
+const NestedList = ({ selected }) => (
+ <ul className="nested-list">
+ {selected.map(nested => (
+ <li key={nested} className="nested-list-item">
+ {nested}
+ </li>
+ ))}
+ </ul>
+);
+
+const ArtifactOrNestedFileList = ({
+ type,
+ title,
+ selected,
+ options,
+ onSelectChanged,
+ onAddAllUnassigned,
+ isReadOnlyMode,
+ headerClassName
+}) => (
+ <div
+ className={`artifact-files ${
+ type === 'nested' ? 'nested' : ''
+ } ${headerClassName} `}>
+ <div className="artifact-files-header">
+ <span>
+ {type === 'artifact' && (
+ <SVGIcon
+ color="primary"
+ name="artifacts"
+ iconClassName="heat-setup-module-icon"
+ />
+ )}
+ {`${title}`}
+ </span>
+ {type === 'artifact' && (
+ <Button
+ disabled={isReadOnlyMode}
+ btnType="link"
+ className="add-all-unassigned"
+ onClick={onAddAllUnassigned}>
+ {i18n('Add All Unassigned Files')}
+ </Button>
+ )}
+ </div>
+ {type === 'nested' ? (
+ <NestedList selected={selected} />
+ ) : (
+ <SelectInput
+ options={options}
+ onMultiSelectChanged={onSelectChanged || (() => {})}
+ value={selected}
+ clearable={false}
+ placeholder={i18n('Add Artifact')}
+ multi
+ />
+ )}
+ </div>
+);
+
+export default ArtifactOrNestedFileList;
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/EmptyListContent.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/EmptyListContent.js
new file mode 100644
index 0000000000..f638d10998
--- /dev/null
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/EmptyListContent.js
@@ -0,0 +1,29 @@
+/*
+ * Copyright © 2016-2018 European Support Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import React from 'react';
+import i18n from 'nfvo-utils/i18n/i18n.js';
+
+const EmptyListContent = props => {
+ let { heatDataExist } = props;
+ let displayText = heatDataExist ? 'All Files Are Assigned' : '';
+ return (
+ <div className="go-to-validation-button-wrapper">
+ <div className="all-files-assigned">{i18n(displayText)}</div>
+ </div>
+ );
+};
+
+export default EmptyListContent;
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/ModuleFile.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/ModuleFile.js
new file mode 100644
index 0000000000..5cc74e80df
--- /dev/null
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/ModuleFile.js
@@ -0,0 +1,152 @@
+/*
+ * Copyright © 2016-2018 European Support Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import React from 'react';
+import SVGIcon from 'sdc-ui/lib/react/SVGIcon.js';
+import NameEditInput from './NameEditInput.js';
+import SelectWithFileType from './SelectWithFileType';
+import { fileTypes } from '../HeatSetupConstants.js';
+import AddOrDeleteVolumeFiles from './AddOrDeleteVolumeFiles';
+
+class ModuleFile extends React.Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ isInNameEdit: false
+ };
+ }
+
+ handleSubmit(event, name) {
+ if (event.keyCode === 13) {
+ this.handleModuleRename(event, name);
+ }
+ }
+
+ handleModuleRename(event, name) {
+ this.setState({ isInNameEdit: false });
+ this.props.onModuleRename(name, event.target.value);
+ }
+
+ deleteVolumeFiles() {
+ const { onModuleFileTypeChange, onToggleVolFilesDisplay } = this.props;
+ onModuleFileTypeChange(null, fileTypes.VOL.label);
+ onModuleFileTypeChange(null, fileTypes.VOL_ENV.label);
+ onToggleVolFilesDisplay(false);
+ }
+
+ renderNameAccordingToEditState() {
+ const { module: { name } } = this.props;
+ if (this.state.isInNameEdit) {
+ return (
+ <NameEditInput
+ defaultValue={name}
+ onBlur={evt => this.handleModuleRename(evt, name)}
+ onKeyDown={evt => this.handleSubmit(evt, name)}
+ />
+ );
+ }
+ return <span className="filename-text">{name}</span>;
+ }
+
+ render() {
+ const {
+ module: { name, isBase, yaml, env, vol, volEnv },
+ onModuleDelete,
+ files,
+ onModuleFileTypeChange,
+ onToggleVolFilesDisplay,
+ isReadOnlyMode,
+ displayVolumes
+ } = this.props;
+
+ //const { displayVolumes } = this.state;
+
+ const moduleType = isBase ? 'BASE' : 'MODULE';
+ return (
+ <div className="modules-list-item" data-test-id="module-item">
+ <div className="modules-list-item-controllers">
+ <div className="modules-list-item-filename">
+ <SVGIcon
+ name={isBase ? 'base' : 'module'}
+ color="primary"
+ iconClassName="heat-setup-module-icon"
+ />
+ <span className="module-title-by-type">{`${moduleType}: `}</span>
+ <div
+ className={`text-and-icon ${
+ this.state.isInNameEdit ? 'in-edit' : ''
+ }`}>
+ {this.renderNameAccordingToEditState()}
+ {!this.state.isInNameEdit && (
+ <SVGIcon
+ name="pencil"
+ onClick={() =>
+ this.setState({ isInNameEdit: true })
+ }
+ data-test-id={
+ isBase ? 'base-name' : 'module-name'
+ }
+ />
+ )}
+ </div>
+ </div>
+ <SVGIcon
+ name="trashO"
+ onClick={() => onModuleDelete(name)}
+ data-test-id="module-delete"
+ />
+ </div>
+ <div className="modules-list-item-selectors">
+ <SelectWithFileType
+ type={fileTypes.YAML}
+ files={files}
+ selected={yaml}
+ onChange={onModuleFileTypeChange}
+ />
+ <SelectWithFileType
+ type={fileTypes.ENV}
+ files={files}
+ selected={env}
+ onChange={onModuleFileTypeChange}
+ />
+ {displayVolumes && (
+ <SelectWithFileType
+ type={fileTypes.VOL}
+ files={files}
+ selected={vol}
+ onChange={onModuleFileTypeChange}
+ />
+ )}
+ {displayVolumes && (
+ <SelectWithFileType
+ type={fileTypes.VOL_ENV}
+ files={files}
+ selected={volEnv}
+ onChange={onModuleFileTypeChange}
+ />
+ )}
+ <AddOrDeleteVolumeFiles
+ isReadOnlyMode={isReadOnlyMode}
+ onAdd={() => onToggleVolFilesDisplay(true)}
+ onDelete={() => this.deleteVolumeFiles()}
+ add={!displayVolumes}
+ />
+ </div>
+ </div>
+ );
+ }
+}
+
+export default ModuleFile;
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/NameEditInput.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/NameEditInput.js
new file mode 100644
index 0000000000..36821e02c2
--- /dev/null
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/NameEditInput.js
@@ -0,0 +1,35 @@
+/*
+ * Copyright © 2016-2018 European Support Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import React from 'react';
+import FormControl from 'react-bootstrap/lib/FormControl.js';
+
+class NameEditInput extends React.Component {
+ componentDidMount() {
+ this.input.focus();
+ }
+
+ render() {
+ return (
+ <FormControl
+ {...this.props}
+ className="name-edit"
+ inputRef={input => (this.input = input)}
+ />
+ );
+ }
+}
+
+export default NameEditInput;
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/SelectWithFileType.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/SelectWithFileType.js
new file mode 100644
index 0000000000..050c91e431
--- /dev/null
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/SelectWithFileType.js
@@ -0,0 +1,48 @@
+/*
+ * Copyright © 2016-2018 European Support Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import React from 'react';
+import SelectInput from 'nfvo-components/input/SelectInput.jsx';
+
+const SelectWithFileType = ({ type, selected, files, onChange }) => {
+ let filteredFiledAccordingToType = files.filter(
+ file => file.label.search(type.regex) > -1
+ );
+ if (selected) {
+ filteredFiledAccordingToType = filteredFiledAccordingToType.concat({
+ label: selected,
+ value: selected
+ });
+ }
+
+ return (
+ <SelectInput
+ data-test-id={`${type.label}-list`}
+ label={type.label}
+ value={selected}
+ onChange={value =>
+ value !== selected && onChange(value, type.label)
+ }
+ disabled={filteredFiledAccordingToType.length === 0}
+ placeholder={
+ filteredFiledAccordingToType.length === 0 ? '' : undefined
+ }
+ clearable={true}
+ options={filteredFiledAccordingToType}
+ />
+ );
+};
+
+export default SelectWithFileType;
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/SortableListItem.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/SortableListItem.js
new file mode 100644
index 0000000000..57626438fb
--- /dev/null
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/SortableListItem.js
@@ -0,0 +1,21 @@
+/*
+ * Copyright © 2016-2018 European Support Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import React from 'react';
+import { sortable } from 'react-sortable';
+
+const ListItem = props => <li {...props}>{props.children}</li>;
+
+export default sortable(ListItem);
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/SortableModuleFileList.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/SortableModuleFileList.js
new file mode 100644
index 0000000000..f52c251361
--- /dev/null
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/SortableModuleFileList.js
@@ -0,0 +1,126 @@
+/*
+ * Copyright © 2016-2018 European Support Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import React from 'react';
+import isEqual from 'lodash/isEqual';
+import i18n from 'nfvo-utils/i18n/i18n.js';
+import SortableListItem from './SortableListItem.js';
+import { fileTypes } from '../HeatSetupConstants.js';
+
+import Button from 'sdc-ui/lib/react/Button.js';
+import ModuleFile from './ModuleFile.js';
+
+class SortableModuleFileList extends React.Component {
+ state = {
+ draggingIndex: null,
+ data: this.props.modules
+ };
+
+ componentDidUpdate() {
+ if (!isEqual(this.state.data, this.props.modules)) {
+ /* eslint-disable-next-line */
+ this.setState({
+ data: this.props.modules
+ });
+ }
+ }
+
+ render() {
+ let {
+ unassigned,
+ onModuleRename,
+ onModuleDelete,
+ onModuleAdd,
+ onBaseAdd,
+ onModuleFileTypeChange,
+ onToggleVolFilesDisplay,
+ isBaseExist,
+ isReadOnlyMode
+ } = this.props;
+ const childProps = module => ({
+ module,
+ onModuleRename,
+ onModuleDelete,
+ onModuleFileTypeChange: (value, type) => {
+ if (
+ type === fileTypes.VOL.label ||
+ type === fileTypes.VOL_ENV.label
+ ) {
+ onToggleVolFilesDisplay({ module, value: false });
+ }
+ onModuleFileTypeChange({ module, value, type });
+ },
+
+ files: unassigned,
+ displayVolumes: Boolean(
+ module.vol || module.volEnv || module.showVolFiles
+ ),
+ onToggleVolFilesDisplay: value =>
+ onToggleVolFilesDisplay({ module, value })
+ });
+
+ let listItems = this.state.data.map(function(item, i) {
+ return (
+ <SortableListItem
+ key={i}
+ updateState={data => this.setState(data)}
+ items={this.state.data}
+ draggingIndex={this.state.draggingIndex}
+ sortId={i}
+ outline="list">
+ <ModuleFile
+ {...childProps(item)}
+ isReadOnlyMode={this.props.isReadOnlyMode}
+ />
+ </SortableListItem>
+ );
+ }, this);
+
+ return (
+ <div
+ className={`modules-list-wrapper ${
+ listItems.length > 0 ? 'modules-list-wrapper-divider' : ''
+ }`}>
+ <div className="modules-list-header">
+ {!isBaseExist && (
+ <div>
+ <Button
+ btnType="link"
+ onClick={onBaseAdd}
+ disabled={
+ isReadOnlyMode || unassigned.length === 0
+ }>
+ {i18n('Add Base')}
+ </Button>
+ </div>
+ )}
+ <div>
+ <Button
+ btnType="link"
+ onClick={onModuleAdd}
+ disabled={
+ isReadOnlyMode || unassigned.length === 0
+ }>
+ {i18n('Add Module')}
+ </Button>
+ </div>
+ </div>
+ {listItems.length > 0 && <ul>{listItems}</ul>}
+ </div>
+ );
+ }
+}
+
+export default SortableModuleFileList;
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/UnassignedFile.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/UnassignedFile.js
new file mode 100644
index 0000000000..770befc0e3
--- /dev/null
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/UnassignedFile.js
@@ -0,0 +1,35 @@
+/*
+ * Copyright © 2016-2018 European Support Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import React from 'react';
+import OverlayTrigger from 'react-bootstrap/lib/OverlayTrigger.js';
+import Tooltip from 'react-bootstrap/lib/Tooltip.js';
+
+const tooltip = name => <Tooltip id="tooltip-bottom">{name}</Tooltip>;
+
+const UnassignedFile = props => (
+ <OverlayTrigger
+ placement="bottom"
+ overlay={tooltip(props.name)}
+ delayShow={1000}>
+ <li
+ data-test-id="unassigned-files"
+ className="unassigned-files-list-item">
+ {props.name}
+ </li>
+ </OverlayTrigger>
+);
+
+export default UnassignedFile;
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/UnassignedFileList.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/UnassignedFileList.js
new file mode 100644
index 0000000000..75fe7cdc8a
--- /dev/null
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/setup/components/UnassignedFileList.js
@@ -0,0 +1,33 @@
+/*
+ * Copyright © 2016-2018 European Support Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import React from 'react';
+import i18n from 'nfvo-utils/i18n/i18n.js';
+
+const UnassignedFileList = props => {
+ return (
+ <div>
+ <div className="modules-list-header" />
+ <div className="unassigned-files">
+ <div className="unassigned-files-title">
+ {i18n('UNASSIGNED FILES')}
+ </div>
+ <div className="unassigned-files-list">{props.children}</div>
+ </div>
+ </div>
+ );
+};
+
+export default UnassignedFileList;
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/SoftwareProductComponents.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/SoftwareProductComponents.js
index bffa9f7d25..8ba5a18229 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/SoftwareProductComponents.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/SoftwareProductComponents.js
@@ -1,3 +1,18 @@
+/*
+ * Copyright © 2016-2018 European Support Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
import { connect } from 'react-redux';
import i18n from 'nfvo-utils/i18n/i18n.js';
@@ -44,8 +59,7 @@ const mapActionToProps = dispatch => {
onAddComponent: (softwareProductId, version) =>
SoftwareProductActionHelper.addComponent(dispatch, {
softwareProductId,
- version,
- modalClassName: 'create-vfc-modal'
+ version
}),
onDeleteComponent: (component, softwareProductId, version) =>
dispatch({
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/compute/ComputeFlavorActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/compute/ComputeFlavorActionHelper.js
index cd37c317af..6842d9448e 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/compute/ComputeFlavorActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/compute/ComputeFlavorActionHelper.js
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import RestAPIUtil from 'nfvo-utils/RestAPIUtil.js';
import Configuration from 'sdc-app/config/Configuration.js';
@@ -120,12 +120,9 @@ const ComputeFlavorActionHelper = {
data: {
modalComponentName:
modalContentMapper.COMPONENT_COMPUTE_FLAVOR_EDITOR,
- modalClassName: `compute-flavor-editor-modal-${
- props.compute ? 'edit' : 'create'
- }`,
modalComponentProps: {
...props,
- size: props.compute ? modalSizes.LARGE : undefined,
+ size: props.compute ? modalSizes.XLARGE : undefined,
dialogClassName: 'compute-flavor-editor-modal'
},
title: `${
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/compute/computeComponents/computeFlavor/ComputeFlavorEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/compute/computeComponents/computeFlavor/ComputeFlavorEditorView.jsx
index 840f722bb2..7ea6f78a8c 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/compute/computeComponents/computeFlavor/ComputeFlavorEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/compute/computeComponents/computeFlavor/ComputeFlavorEditorView.jsx
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
import PropTypes from 'prop-types';
@@ -63,6 +63,7 @@ class ComputeEditorView extends React.Component {
this.form = form;
}}
hasButtons={true}
+ btnClassName="sdc-modal__footer"
onSubmit={() => onSubmit({ data, qdata })}
onReset={() => onCancel()}
labledButtons={true}
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/creation/SoftwareProductComponentCreationView.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/creation/SoftwareProductComponentCreationView.jsx
index 0b33b4017f..cb17813bae 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/creation/SoftwareProductComponentCreationView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/creation/SoftwareProductComponentCreationView.jsx
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
@@ -47,7 +47,7 @@ class ComponentCreationView extends React.Component {
onValidateForm={() =>
this.props.onValidateForm(forms.CREATE_FORM)
}
- className="entitlement-pools-form">
+ btnClassName="sdc-modal__footer">
<GridSection hasLastColSet>
<GridItem colSpan={4} lastColInRow>
<Input
@@ -82,6 +82,7 @@ class ComponentCreationView extends React.Component {
}
data-test-id="description"
type="textarea"
+ groupClassName="no-bottom-margin"
/>
</GridItem>
</GridSection>
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/images/SoftwareProductComponentsImageActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/images/SoftwareProductComponentsImageActionHelper.js
index 3f661b76fe..38ee2ae610 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/images/SoftwareProductComponentsImageActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/images/SoftwareProductComponentsImageActionHelper.js
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import RestAPIUtil from 'nfvo-utils/RestAPIUtil.js';
import i18n from 'nfvo-utils/i18n/i18n.js';
@@ -199,7 +199,7 @@ const SoftwareProductComponentImagesActionHelper = {
modalComponentName:
modalContentMapper.SOFTWARE_PRODUCT_COMPONENT_IMAGE_EDITOR,
title: title,
- modalClassName: className,
+ bodyClassName: className,
modalComponentProps: {
softwareProductId,
componentId,
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/images/SoftwareProductComponentsImageEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/images/SoftwareProductComponentsImageEditorView.jsx
index 3670ab910d..e4eccc6a39 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/images/SoftwareProductComponentsImageEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/images/SoftwareProductComponentsImageEditorView.jsx
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
import PropTypes from 'prop-types';
@@ -55,6 +55,7 @@ class SoftwareProductComponentsImageEditorView extends React.Component {
this.form = form;
}}
hasButtons={true}
+ btnClassName="sdc-modal__footer"
onSubmit={() => this.submit()}
onReset={() => onCancel()}
labledButtons={true}
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/NICCreation/NICCreationActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/NICCreation/NICCreationActionHelper.js
index 4f200ce33f..2595d9c2cb 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/NICCreation/NICCreationActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/NICCreation/NICCreationActionHelper.js
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import { actionTypes } from '../SoftwareProductComponentsNetworkConstants';
import i18n from 'nfvo-utils/i18n/i18n.js';
@@ -19,10 +19,7 @@ import { actionTypes as modalActionTypes } from 'nfvo-components/modal/GlobalMod
import { modalContentMapper } from 'sdc-app/common/modal/ModalContentMapper.js';
export default {
- open(
- dispatch,
- { softwareProductId, componentId, modalClassName, version }
- ) {
+ open(dispatch, { softwareProductId, componentId, version }) {
dispatch({
type: actionTypes.NICCreation.OPEN
});
@@ -32,7 +29,6 @@ export default {
data: {
modalComponentName: modalContentMapper.NIC_CREATION,
title: i18n('Create NEW NIC'),
- modalClassName,
modalComponentProps: { softwareProductId, componentId, version }
}
});
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/NICCreation/NICCreationView.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/NICCreation/NICCreationView.jsx
index 6789ba4816..133703a8a8 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/NICCreation/NICCreationView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/NICCreation/NICCreationView.jsx
@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -59,7 +59,7 @@ class NICCreationView extends React.Component {
} = this.props;
let { name, description, networkDescription } = data;
return (
- <div>
+ <div className="network-nic-modal-create">
{genericFieldInfo && (
<Form
hasButtons={true}
@@ -71,7 +71,8 @@ class NICCreationView extends React.Component {
labledButtons={true}
isValid={isFormValid}
onValidateForm={this.validate}
- formReady={formReady}>
+ formReady={formReady}
+ btnClassName="sdc-modal__footer">
<GridSection hasLastColSet>
<GridItem colSpan={4} lastColInRow>
<Input
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNICEditor.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNICEditor.js
index d7205b46ed..e6a485adca 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNICEditor.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNICEditor.js
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import { connect } from 'react-redux';
import SoftwareProductComponentsNetworkActionHelper from './SoftwareProductComponentsNetworkActionHelper.js';
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNICEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNICEditorView.jsx
index df2efbe39e..0116bb2d3f 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNICEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNICEditorView.jsx
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
import Form from 'nfvo-components/input/validation/Form.jsx';
@@ -63,6 +63,7 @@ class SoftwareProductComponentsNetworkEditorView extends React.Component {
this.form = form;
}}
hasButtons={true}
+ btnClassName="sdc-modal__footer"
onSubmit={() => this.submit()}
onReset={() => onCancel()}
labledButtons={true}
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNetworkActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNetworkActionHelper.js
index 58c816134b..3c09fae728 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNetworkActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNetworkActionHelper.js
@@ -1,24 +1,27 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import RestAPIUtil from 'nfvo-utils/RestAPIUtil.js';
import Configuration from 'sdc-app/config/Configuration.js';
import i18n from 'nfvo-utils/i18n/i18n.js';
import { actionTypes } from './SoftwareProductComponentsNetworkConstants.js';
-import { actionTypes as GlobalModalActions } from 'nfvo-components/modal/GlobalModalConstants.js';
+import {
+ actionTypes as GlobalModalActions,
+ modalSizes
+} from 'nfvo-components/modal/GlobalModalConstants.js';
import { modalContentMapper as modalPagesMapper } from 'sdc-app/common/modal/ModalContentMapper.js';
import ValidationHelper from 'sdc-app/common/helpers/ValidationHelper.js';
import { NIC_QUESTIONNAIRE } from 'sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNetworkConstants.js';
@@ -125,7 +128,6 @@ const SoftwareProductComponentNetworkActionHelper = {
softwareProductId,
componentId,
isReadOnlyMode,
- modalClassName,
version
}
) {
@@ -136,12 +138,12 @@ const SoftwareProductComponentNetworkActionHelper = {
dispatch({
type: GlobalModalActions.GLOBAL_MODAL_SHOW,
data: {
- modalClassName,
modalComponentProps: {
softwareProductId,
componentId,
isReadOnlyMode,
- version
+ version,
+ size: modalSizes.LARGE
},
modalComponentName: modalPagesMapper.NIC_EDITOR,
title: i18n('Edit NIC')
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNetworkList.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNetworkList.js
index ac708524cf..db3c767c19 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNetworkList.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNetworkList.js
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import { connect } from 'react-redux';
import i18n from 'nfvo-utils/i18n/i18n.js';
@@ -71,7 +71,6 @@ const mapActionsToProps = (
NICCreationActionHelper.open(dispatch, {
softwareProductId,
componentId,
- modalClassName: 'network-nic-modal-create',
version
}),
onDeleteNic: nic =>
@@ -119,7 +118,6 @@ const mapActionsToProps = (
isReadOnlyMode,
softwareProductId,
componentId,
- modalClassName: 'network-nic-modal-edit',
version
}
)
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/NameAndPurpose.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/NameAndPurpose.jsx
index 634b43f616..1019e9488b 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/NameAndPurpose.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/NameAndPurpose.jsx
@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -56,9 +56,9 @@ const NameAndPurpose = ({
);
};
-NameAndPurpose.PropTypes = {
+NameAndPurpose.propTypes = {
name: PropTypes.string,
- description: PropTypes.array,
+ description: PropTypes.string,
onDataChanged: PropTypes.func,
isReadOnlyMode: PropTypes.bool
};
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/Network.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/Network.jsx
index c440d2fbd3..904df4a856 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/Network.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/Network.jsx
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
import PropTypes from 'prop-types';
@@ -83,7 +83,7 @@ const Network = ({
);
};
-Network.PropTypes = {
+Network.propTypes = {
networkValues: PropTypes.array
};
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/PacketsBytes.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/PacketsBytes.jsx
index 070ac816ad..8f8d143f32 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/PacketsBytes.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/PacketsBytes.jsx
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
import PropTypes from 'prop-types';
@@ -43,7 +43,7 @@ const PointerInput = ({
);
};
-PointerInput.PropTypes = {
+PointerInput.propTypes = {
label: PropTypes.string,
value: PropTypes.string
};
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/Protocols.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/Protocols.jsx
index eb762b11b2..b2cda4f649 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/Protocols.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/network/nicEditorComponents/Protocols.jsx
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
import PropTypes from 'prop-types';
@@ -93,9 +93,9 @@ const Protocols = ({
);
};
-Protocols.PropTypes = {
+Protocols.propTypes = {
protocols: PropTypes.array,
- onQDataChanged: PropTypes.function,
+ onQDataChanged: PropTypes.func,
dataMap: PropTypes.object,
qgenericFieldInfo: PropTypes.object
};
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/processes/SoftwareProductComponentProcessesActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/processes/SoftwareProductComponentProcessesActionHelper.js
index 52c5cdde3d..5422174f26 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/processes/SoftwareProductComponentProcessesActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/processes/SoftwareProductComponentProcessesActionHelper.js
@@ -1,21 +1,27 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import RestAPIUtil from 'nfvo-utils/RestAPIUtil.js';
import Configuration from 'sdc-app/config/Configuration.js';
import { actionTypes } from './SoftwareProductComponentProcessesConstants.js';
+import i18n from 'nfvo-utils/i18n/i18n.js';
+import {
+ actionTypes as modalActionTypes,
+ modalSizes
+} from 'nfvo-components/modal/GlobalModalConstants.js';
+import { modalContentMapper } from 'sdc-app/common/modal/ModalContentMapper.js';
function baseUrl(softwareProductId, version, componentId) {
const restPrefix = Configuration.get('restPrefix');
@@ -182,16 +188,39 @@ const SoftwareProductComponentProcessesActionHelper = {
});
},
- openEditor(dispatch, process = {}) {
+ openEditor(
+ dispatch,
+ { process, softwareProductId, version, isReadOnlyMode, componentId }
+ ) {
dispatch({
type: actionTypes.SOFTWARE_PRODUCT_PROCESS_COMPONENTS_EDITOR_OPEN,
- process
+ process: process ? process : {}
+ });
+ dispatch({
+ type: modalActionTypes.GLOBAL_MODAL_SHOW,
+ data: {
+ modalComponentName: modalContentMapper.COMP_PROCESS_EDITOR,
+ modalComponentProps: {
+ version,
+ softwareProductId,
+ isReadOnlyMode,
+ componentId,
+ size: modalSizes.LARGE
+ },
+ bodyClassName: 'edit-process-modal',
+ title: process
+ ? i18n('Edit Process Details')
+ : i18n('Create New Process Details')
+ }
});
},
closeEditor(dispatch) {
dispatch({
type: actionTypes.SOFTWARE_PRODUCT_PROCESS_COMPONENTS_EDITOR_CLOSE
});
+ dispatch({
+ type: modalActionTypes.GLOBAL_MODAL_CLOSE
+ });
}
};
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/processes/SoftwareProductComponentProcessesList.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/processes/SoftwareProductComponentProcessesList.js
index cb6d25a6ac..3ab0b2045c 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/processes/SoftwareProductComponentProcessesList.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/processes/SoftwareProductComponentProcessesList.js
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import { connect } from 'react-redux';
import i18n from 'nfvo-utils/i18n/i18n.js';
@@ -28,15 +28,12 @@ export const mapStateToProps = ({ softwareProduct }) => {
},
softwareProductComponents: { componentProcesses = {} }
} = softwareProduct;
- let { processesList = [], processesEditor = {} } = componentProcesses;
- let { data } = processesEditor;
+ let { processesList = [] } = componentProcesses;
return {
currentSoftwareProduct,
isValidityData,
- processesList,
- isDisplayModal: Boolean(data),
- isModalInEditMode: Boolean(data && data.id)
+ processesList
};
};
@@ -46,12 +43,20 @@ const mapActionsToProps = (
) => {
return {
onAddProcess: () =>
- SoftwareProductComponentProcessesActionHelper.openEditor(dispatch),
- onEditProcess: process =>
- SoftwareProductComponentProcessesActionHelper.openEditor(
- dispatch,
- process
- ),
+ SoftwareProductComponentProcessesActionHelper.openEditor(dispatch, {
+ isReadOnlyMode: false,
+ componentId,
+ softwareProductId,
+ version
+ }),
+ onEditProcess: (process, isReadOnlyMode) =>
+ SoftwareProductComponentProcessesActionHelper.openEditor(dispatch, {
+ process,
+ isReadOnlyMode,
+ componentId,
+ softwareProductId,
+ version
+ }),
onDeleteProcess: process =>
dispatch({
type: modalActionTypes.GLOBAL_MODAL_WARNING,
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/processes/SoftwareProductComponentsProcessesListView.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/processes/SoftwareProductComponentsProcessesListView.jsx
index 8fa2bffb27..fe6b8a86de 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/processes/SoftwareProductComponentsProcessesListView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/processes/SoftwareProductComponentsProcessesListView.jsx
@@ -1,23 +1,21 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
import PropTypes from 'prop-types';
import i18n from 'nfvo-utils/i18n/i18n.js';
-import Modal from 'nfvo-components/modal/Modal.jsx';
-import SoftwareProductProcessesEditor from './SoftwareProductComponentProcessesEditor.js';
import SoftwareProductProcessListView from 'sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessListView.jsx';
class SoftwareProductProcessesView extends React.Component {
@@ -42,7 +40,6 @@ class SoftwareProductProcessesView extends React.Component {
<div className="vsp-processes-page">
<div className="software-product-view">
<div className="software-product-landing-view-right-side vsp-components-processes-page flex-column">
- {this.renderEditor()}
<SoftwareProductProcessListView
addButtonTitle={i18n(
'Add Component Process Details'
@@ -54,40 +51,6 @@ class SoftwareProductProcessesView extends React.Component {
</div>
);
}
-
- renderEditor() {
- let {
- softwareProductId,
- version,
- componentId,
- isReadOnlyMode,
- isDisplayModal,
- isModalInEditMode
- } = this.props;
- return (
- <Modal
- show={isDisplayModal}
- bsSize="large"
- animation={true}
- className="onborading-modal">
- <Modal.Header>
- <Modal.Title>
- {isModalInEditMode
- ? i18n('Edit Process Details')
- : i18n('Create New Process Details')}
- </Modal.Title>
- </Modal.Header>
- <Modal.Body className="edit-process-modal">
- <SoftwareProductProcessesEditor
- componentId={componentId}
- softwareProductId={softwareProductId}
- version={version}
- isReadOnlyMode={isReadOnlyMode}
- />
- </Modal.Body>
- </Modal>
- );
- }
}
export default SoftwareProductProcessesView;
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/creation/SoftwareProductCreationView.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/creation/SoftwareProductCreationView.jsx
index c9693d4f93..e4a9893f61 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/creation/SoftwareProductCreationView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/creation/SoftwareProductCreationView.jsx
@@ -81,6 +81,7 @@ class SoftwareProductCreationView extends React.Component {
isValid={this.props.isFormValid}
submitButtonText={i18n('Create')}
formReady={this.props.formReady}
+ btnClassName="sdc-modal__footer"
onValidateForm={() => this.validate()}>
<GridSection hasLastColSet>
<GridItem colSpan="2">
@@ -321,6 +322,7 @@ const OnboardingProcedure = ({
}
type="radio"
data-test-id="new-vsp-creation-procedure-manual"
+ groupClassName="no-bottom-margin"
/>
</GridItem>
</GridSection>
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/deployment/SoftwareProductDeploymentActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/deployment/SoftwareProductDeploymentActionHelper.js
index 44b25311e0..769596ea8d 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/deployment/SoftwareProductDeploymentActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/deployment/SoftwareProductDeploymentActionHelper.js
@@ -1,3 +1,18 @@
+/*
+ * Copyright © 2016-2018 European Support Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
import { actionTypes } from './SoftwareProductDeploymentConstants.js';
import { actionTypes as GlobalModalActions } from 'nfvo-components/modal/GlobalModalConstants.js';
import { modalContentMapper } from 'sdc-app/common/modal/ModalContentMapper.js';
@@ -171,7 +186,7 @@ const SoftwareProductDeploymentActionHelper = {
data: {
modalComponentName: modalContentMapper.DEPLOYMENT_FLAVOR_EDITOR,
modalComponentProps: { softwareProductId, version },
- modalClassName,
+ bodyClassName: modalClassName,
title: isEdit
? 'Edit Deployment Flavor'
: 'Create a New Deployment Flavor'
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/deployment/editor/SoftwareProductDeploymentEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/deployment/editor/SoftwareProductDeploymentEditorView.jsx
index e44d2bd966..fd575693ac 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/deployment/editor/SoftwareProductDeploymentEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/deployment/editor/SoftwareProductDeploymentEditorView.jsx
@@ -1,3 +1,18 @@
+/*
+ * Copyright © 2016-2018 European Support Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
import React from 'react';
import i18n from 'nfvo-utils/i18n/i18n.js';
import Input from 'nfvo-components/input/validation/Input.jsx';
@@ -46,7 +61,8 @@ export default class SoftwareProductDeploymentEditorView extends React.Component
onValidateForm={() => this.validate()}
isValid={this.props.isFormValid}
formReady={this.props.formReady}
- className="vsp-deployment-editor">
+ className="vsp-deployment-editor"
+ btnClassName="sdc-modal__footer">
<GridSection hasLastColSet>
<GridItem colSpan={1}>
<Input
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessListView.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessListView.jsx
index cee46abc69..5f1cdb56e6 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessListView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessListView.jsx
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
import PropTypes from 'prop-types';
@@ -66,7 +66,7 @@ class SoftwareProductProcessesListView extends React.Component {
key={id}
className="list-editor-item-view"
isReadOnlyMode={isReadOnlyMode}
- onSelect={() => onEditProcess(process)}
+ onSelect={() => onEditProcess(process, isReadOnlyMode)}
onDelete={() => onDeleteProcess(process, version)}>
<div className="list-editor-item-view-field">
<div className="title">{i18n('Name')}</div>
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcesses.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcesses.js
index fb44530dae..e00cafb64a 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcesses.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcesses.js
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import { connect } from 'react-redux';
import i18n from 'nfvo-utils/i18n/i18n.js';
@@ -38,9 +38,18 @@ export const mapStateToProps = ({ softwareProduct }) => {
const mapActionsToProps = (dispatch, { softwareProductId, version }) => {
return {
onAddProcess: () =>
- SoftwareProductProcessesActionHelper.openEditor(dispatch),
- onEditProcess: process =>
- SoftwareProductProcessesActionHelper.openEditor(dispatch, process),
+ SoftwareProductProcessesActionHelper.openEditor(dispatch, {
+ softwareProductId,
+ version,
+ isReadOnlyMode: false
+ }),
+ onEditProcess: (process, isReadOnlyMode) =>
+ SoftwareProductProcessesActionHelper.openEditor(dispatch, {
+ process,
+ softwareProductId,
+ version,
+ isReadOnlyMode
+ }),
onDeleteProcess: process =>
dispatch({
type: modalActionTypes.GLOBAL_MODAL_WARNING,
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessesActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessesActionHelper.js
index 7c72c5b892..0e586100b3 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessesActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessesActionHelper.js
@@ -1,21 +1,27 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import { actionTypes } from './SoftwareProductProcessesConstants.js';
import RestAPIUtil from 'nfvo-utils/RestAPIUtil.js';
import Configuration from 'sdc-app/config/Configuration.js';
+import i18n from 'nfvo-utils/i18n/i18n.js';
+import {
+ actionTypes as modalActionTypes,
+ modalSizes
+} from 'nfvo-components/modal/GlobalModalConstants.js';
+import { modalContentMapper } from 'sdc-app/common/modal/ModalContentMapper.js';
function baseUrl(vspId, version) {
let { id: versionId } = version;
@@ -73,10 +79,29 @@ const SoftwareProductActionHelper = {
});
});
},
- openEditor(dispatch, process = {}) {
+ openEditor(
+ dispatch,
+ { process, softwareProductId, version, isReadOnlyMode }
+ ) {
dispatch({
type: actionTypes.SOFTWARE_PRODUCT_PROCESS_EDITOR_OPEN,
- process
+ process: process ? process : {}
+ });
+ dispatch({
+ type: modalActionTypes.GLOBAL_MODAL_SHOW,
+ data: {
+ modalComponentName: modalContentMapper.PROCESS_EDITOR,
+ modalComponentProps: {
+ version,
+ softwareProductId,
+ isReadOnlyMode,
+ size: modalSizes.LARGE
+ },
+ bodyClassName: 'edit-process-modal',
+ title: process
+ ? i18n('Edit Process Details')
+ : i18n('Create New Process Details')
+ }
});
},
@@ -95,6 +120,9 @@ const SoftwareProductActionHelper = {
dispatch({
type: actionTypes.SOFTWARE_PRODUCT_PROCESS_EDITOR_CLOSE
});
+ dispatch({
+ type: modalActionTypes.GLOBAL_MODAL_CLOSE
+ });
},
saveProcess(
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessesEditorForm.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessesEditorForm.jsx
index 6e8254f65b..a858e0f07e 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessesEditorForm.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessesEditorForm.jsx
@@ -1,12 +1,12 @@
/*
- * Copyright © 2016-2017 European Support Limited
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -70,7 +70,8 @@ class SoftwareProductProcessesEditorForm extends React.Component {
isValid={this.props.isFormValid}
formReady={this.props.formReady}
onValidateForm={() => this.props.onValidateForm()}
- className="vsp-processes-editor">
+ className="vsp-processes-editor"
+ btnClassName="sdc-modal__footer">
<div
className={`vsp-processes-editor-data${
isReadOnlyMode ? ' disabled' : ''
@@ -129,7 +130,7 @@ class SoftwareProductProcessesEditorForm extends React.Component {
<GridItem colSpan={2}>
<Input
name="vsp-process-description"
- groupClassName="vsp-process-description"
+ groupClassName="vsp-process-description no-bottom-margin"
onChange={description =>
onDataChanged({ description })
}
@@ -169,6 +170,7 @@ class SoftwareProductProcessesEditorForm extends React.Component {
label={i18n('Process Type')}
className="process-type"
data-test-id="process-type"
+ groupClassName="no-bottom-margin"
isValid={
genericFieldInfo.type.isValid
}
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessesView.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessesView.jsx
index 1357c31e12..50421bc824 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessesView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessesView.jsx
@@ -1,12 +1,12 @@
/*
- * Copyright © 2016-2017 European Support Limited
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -16,8 +16,6 @@
import React from 'react';
import PropTypes from 'prop-types';
import i18n from 'nfvo-utils/i18n/i18n.js';
-import Modal from 'nfvo-components/modal/Modal.jsx';
-import SoftwareProductProcessesEditor from './SoftwareProductProcessesEditor.js';
import SoftwareProductProcessListView from './SoftwareProductProcessListView.jsx';
class SoftwareProductProcessesView extends React.Component {
@@ -37,7 +35,6 @@ class SoftwareProductProcessesView extends React.Component {
render() {
return (
<div className="software-product-landing-view-right-side vsp-processes-page">
- {this.renderEditor()}
<SoftwareProductProcessListView
addButtonTitle={i18n('Add Process Details')}
{...this.props}
@@ -45,38 +42,6 @@ class SoftwareProductProcessesView extends React.Component {
</div>
);
}
-
- renderEditor() {
- let {
- currentSoftwareProduct: { id },
- version,
- isModalInEditMode,
- isReadOnlyMode,
- isDisplayEditor
- } = this.props;
- return (
- <Modal
- show={isDisplayEditor}
- bsSize="large"
- animation={true}
- className="onborading-modal">
- <Modal.Header>
- <Modal.Title>
- {isModalInEditMode
- ? i18n('Edit Process Details')
- : i18n('Create New Process Details')}
- </Modal.Title>
- </Modal.Header>
- <Modal.Body className="edit-process-modal">
- <SoftwareProductProcessesEditor
- softwareProductId={id}
- version={version}
- isReadOnlyMode={isReadOnlyMode}
- />
- </Modal.Body>
- </Modal>
- );
- }
}
export default SoftwareProductProcessesView;
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/vnfMarketPlace/VNFImportView.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/vnfMarketPlace/VNFImportView.jsx
index 3a90c8042f..a33e0ede10 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/vnfMarketPlace/VNFImportView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/vnfMarketPlace/VNFImportView.jsx
@@ -245,7 +245,7 @@ class VNFImportView extends React.Component {
<Button
className="vnf-submit"
type="button"
- btnType="default"
+ btnType="primary"
onClick={() =>
onSubmit(
this.state.selectedRow,
@@ -257,7 +257,7 @@ class VNFImportView extends React.Component {
<Button
className="Cancel"
type="button"
- btnType="outline"
+ btnType="secondary"
onClick={onCancel}>
{i18n('Cancel')}
</Button>
diff --git a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js
index afbb056686..8087dceca0 100644
--- a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js
@@ -80,7 +80,7 @@ const VersionsPageActionHelper = {
dispatch({
type: modalActionTypes.GLOBAL_MODAL_CLOSE
}),
- modalClassName: 'versions-tree-modal',
+ bodyClassName: 'versions-tree-modal',
cancelButtonText: i18n('Close'),
title: i18n('Version Tree')
}
diff --git a/openecomp-ui/src/sdc-app/onboarding/versionsPage/creation/VersionsPageCreationView.jsx b/openecomp-ui/src/sdc-app/onboarding/versionsPage/creation/VersionsPageCreationView.jsx
index ba92d26067..da5f3be812 100644
--- a/openecomp-ui/src/sdc-app/onboarding/versionsPage/creation/VersionsPageCreationView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/versionsPage/creation/VersionsPageCreationView.jsx
@@ -1,17 +1,17 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
import PropTypes from 'prop-types';
@@ -53,6 +53,7 @@ class VersionsPageCreationView extends React.Component {
(this.validationForm = validationForm)
}
hasButtons={true}
+ btnClassName="sdc-modal__footer"
onSubmit={() => this.submit()}
submitButtonText={i18n('Create')}
onReset={() => onCancel()}
@@ -101,6 +102,7 @@ class VersionsPageCreationView extends React.Component {
onDataChanged({ description })
}
isRequired
+ groupClassName="no-bottom-margin"
/>
</div>
</Form>
@@ -129,112 +131,3 @@ class VersionsPageCreationView extends React.Component {
}
export default VersionsPageCreationView;
-
-/*
- <div className='software-product-inline-section'>
- <Input
- value={name}
- label={i18n('Name')}
- isRequired={true}
- onChange={name => onDataChanged({name},V_CREATION_FORM_NAME, {name: name => this.validateName(name)})}
- isValid={genericFieldInfo.name.isValid}
- errorText={genericFieldInfo.name.errorText}
- type='text'
- className='field-section'
- data-test-id='new-vsp-name' />
- <Input
- label={i18n('Vendor')}
- type='select'
- value={vendorId}
- isRequired={true}
- disabled={disableVendor}
- onChange={e => this.onSelectVendor(e)}
- isValid={genericFieldInfo.vendorId.isValid}
- errorText={genericFieldInfo.vendorId.errorText}
- className='input-options-select'
- groupClassName='bootstrap-input-options'
- data-test-id='new-vsp-vendor' >
- {vendorList.map(vendor =>
- <option key={vendor.title} value={vendor.enum}>{vendor.title}</option>)}
- </Input>
- <Input
- label={i18n('Category')}
- type='select'
- value={subCategory}
- isRequired={true}
- onChange={e => this.onSelectSubCategory(e)}
- isValid={genericFieldInfo.subCategory.isValid}
- errorText={genericFieldInfo.subCategory.errorText}
- className='input-options-select'
- groupClassName='bootstrap-input-options'
- data-test-id='new-vsp-category' >
- <option key='' value=''>{i18n('please select…')}</option>
- {softwareProductCategories.map(category =>
- category.subcategories &&
- <optgroup
- key={category.name}
- label={category.name}>{category.subcategories.map(sub =>
- <option key={sub.uniqueId} value={sub.uniqueId}>{`${sub.name} (${category.name})`}</option>)}
- </optgroup>)
- }
- </Input>
- </div>
- <div className='software-product-inline-section'>
- <Input
- value={description}
- label={i18n('Description')}
- isRequired={true}
- overlayPos='bottom'
- onChange={description => onDataChanged({description},V_CREATION_FORM_NAME)}
- isValid={genericFieldInfo.description.isValid}
- errorText={genericFieldInfo.description.errorText}
- type='textarea'
- className='field-section'
- data-test-id='new-vsp-description' />
- </div>
- </div>
- </Form>}
- </div>
- );
- }
-
- getAvailableMethodsList() {
- let {availableMethods} = this.props;
- return [...availableMethods];
- }
-
- onSelectVendor(e) {
- const selectedIndex = e.target.selectedIndex;
- const vendorId = e.target.options[selectedIndex].value;
- this.props.onDataChanged({vendorId},V_CREATION_FORM_NAME);
- }
-
- onSelectSubCategory(e) {
- const selectedIndex = e.target.selectedIndex;
- const subCategory = e.target.options[selectedIndex].value;
- let {softwareProductCategories, onDataChanged} = this.props;
- let category = SoftwareProductCategoriesHelper.getCurrentCategoryOfSubCategory(subCategory, softwareProductCategories);
- onDataChanged({category, subCategory},V_CREATION_FORM_NAME);
- }
-
- submit() {
- let {data:softwareProduct, finalizedLicenseModelList} = this.props;
- softwareProduct.vendorName = finalizedLicenseModelList.find(vendor => vendor.id === softwareProduct.vendorId).name;
- this.props.onSubmit(softwareProduct);
- }
-
- validateName(value) {
- const {data: {id}, VSPNames} = this.props;
- const isExists = Validator.isItemNameAlreadyExistsInList({itemId: id, itemName: value, list: VSPNames});
-
- return !isExists ? {isValid: true, errorText: ''} :
- {isValid: false, errorText: i18n('Software product by the name \'' + value + '\' already exists. Software product name must be unique')};
- }
-
- validate() {
- this.props.onValidateForm(SP_CREATION_FORM_NAME);
- }
-}
-
-export default SoftwareProductCreationView;
-*/
diff --git a/openecomp-ui/src/sdc-app/sdc.app.jsx b/openecomp-ui/src/sdc-app/sdc.app.jsx
index b759ffd259..af955daa0b 100644
--- a/openecomp-ui/src/sdc-app/sdc.app.jsx
+++ b/openecomp-ui/src/sdc-app/sdc.app.jsx
@@ -1,12 +1,12 @@
/*
- * Copyright © 2016-2017 European Support Limited
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/openecomp-ui/test-utils/shim.js b/openecomp-ui/test-utils/shim.js
new file mode 100644
index 0000000000..8cd4c2098a
--- /dev/null
+++ b/openecomp-ui/test-utils/shim.js
@@ -0,0 +1 @@
+global.requestAnimationFrame = callback => setTimeout(callback, 0);
diff --git a/openecomp-ui/test-utils/test-setup.js b/openecomp-ui/test-utils/test-setup.js
index ec3ca72fc5..0c4e01cf8a 100644
--- a/openecomp-ui/test-utils/test-setup.js
+++ b/openecomp-ui/test-utils/test-setup.js
@@ -1,2 +1,6 @@
import mockRest from 'test-utils/MockRest.js';
+import Enzyme from 'enzyme';
+import Adapter from 'enzyme-adapter-react-16';
+
+Enzyme.configure({ adapter: new Adapter() });
mockRest.resetQueue();
diff --git a/openecomp-ui/test/activity-log/ActivityLog.test.js b/openecomp-ui/test/activity-log/ActivityLog.test.js
index d2c135eb79..a397197773 100644
--- a/openecomp-ui/test/activity-log/ActivityLog.test.js
+++ b/openecomp-ui/test/activity-log/ActivityLog.test.js
@@ -1,99 +1,142 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import React from 'react';
-import {mount} from 'enzyme';
-import {cloneAndSet} from 'test-utils/Util.js';
-import ActivityLogView, {ActivityListItem} from 'sdc-app/common/activity-log/ActivityLogView.jsx';
+import { mount } from 'enzyme';
+import { cloneAndSet } from 'test-utils/Util.js';
+import ActivityLogView, {
+ ActivityListItem
+} from 'sdc-app/common/activity-log/ActivityLogView.jsx';
import ListEditorView from 'nfvo-components/listEditor/ListEditorView.jsx';
import ActivityLogActionHelper from 'sdc-app/common/activity-log/ActivityLogActionHelper.js';
-import {mapStateToProps} from 'sdc-app/common/activity-log/ActivityLog.js';
-import {storeCreator} from 'sdc-app/AppStore.js';
+import { mapStateToProps } from 'sdc-app/common/activity-log/ActivityLog.js';
+import { storeCreator } from 'sdc-app/AppStore.js';
import mockRest from 'test-utils/MockRest.js';
-import {ActivityLogStoreFactory} from 'test-utils/factories/activity-log/ActivityLogFactories.js';
+import { ActivityLogStoreFactory } from 'test-utils/factories/activity-log/ActivityLogFactories.js';
import VersionFactory from 'test-utils/factories/common/VersionFactory.js';
-import {UserFactory} from 'test-utils/factories/users/UsersFactories.js';
+import { UserFactory } from 'test-utils/factories/users/UsersFactories.js';
-import {actionTypes as userActionTypes} from 'sdc-app/onboarding/users/UsersConstants.js';
+import { actionTypes as userActionTypes } from 'sdc-app/onboarding/users/UsersConstants.js';
-describe('Activity Log Module Tests', function () {
- const LICENSE_MODEL_ID = '555';
- const version = VersionFactory.build();
- const usersList = UserFactory.buildList(3);
+describe('Activity Log Module Tests', function() {
+ const LICENSE_MODEL_ID = '555';
+ const version = VersionFactory.build();
+ const usersList = UserFactory.buildList(3);
- it('mapStateToProps mapper exists', () => {
- expect(mapStateToProps).toBeTruthy();
- });
+ it('mapStateToProps mapper exists', () => {
+ expect(mapStateToProps).toBeTruthy();
+ });
- it('Loads Activity Log and renders into jsx', () => {
- const store = storeCreator();
- const dispatch = store.dispatch;
- dispatch({
- type: userActionTypes.USERS_LIST_LOADED,
- usersList
- });
- let ActivityLogList = ActivityLogStoreFactory.buildList(1, {user: usersList[0].userId});
- const expectedStore = cloneAndSet(store.getState(), 'licenseModel.activityLog', ActivityLogList);
+ it('Loads Activity Log and renders into jsx', () => {
+ const store = storeCreator();
+ const dispatch = store.dispatch;
+ dispatch({
+ type: userActionTypes.USERS_LIST_LOADED,
+ usersList
+ });
+ let ActivityLogList = ActivityLogStoreFactory.buildList(1, {
+ user: usersList[0].userId
+ });
+ const expectedStore = cloneAndSet(
+ store.getState(),
+ 'licenseModel.activityLog',
+ ActivityLogList
+ );
- mockRest.addHandler('fetch', ({data, options, baseUrl}) => {
- expect(baseUrl).toEqual(`/onboarding-api/v1.0/items/${LICENSE_MODEL_ID}/versions/${version.id}/activity-logs`);
- expect(data).toEqual(undefined);
- expect(options).toEqual(undefined);
- return {results: ActivityLogList};
- });
+ mockRest.addHandler('fetch', ({ data, options, baseUrl }) => {
+ expect(baseUrl).toEqual(
+ `/onboarding-api/v1.0/items/${LICENSE_MODEL_ID}/versions/${
+ version.id
+ }/activity-logs`
+ );
+ expect(data).toEqual(undefined);
+ expect(options).toEqual(undefined);
+ return { results: ActivityLogList };
+ });
- return ActivityLogActionHelper.fetchActivityLog(dispatch, {itemId: LICENSE_MODEL_ID, versionId: version.id}).then(() => {
- const state = store.getState();
- expect(state).toEqual(expectedStore);
- const props = mapStateToProps(state);
- expect(props.activities).toEqual(ActivityLogList.map(activity =>
- ({...activity, user: {id: activity.user, name: usersList.find(userObject => userObject.userId === activity.user).fullName}})
- ));
- const wrapper = mount(<ActivityLogView {...props}/>);
- expect(wrapper).toBeTruthy();
- });
- });
+ return ActivityLogActionHelper.fetchActivityLog(dispatch, {
+ itemId: LICENSE_MODEL_ID,
+ versionId: version.id
+ }).then(() => {
+ const state = store.getState();
+ expect(state).toEqual(expectedStore);
+ const props = mapStateToProps(state);
+ expect(props.activities).toEqual(
+ ActivityLogList.map(activity => ({
+ ...activity,
+ user: {
+ id: activity.user,
+ name: usersList.find(
+ userObject => userObject.userId === activity.user
+ ).fullName
+ }
+ }))
+ );
+ const wrapper = mount(<ActivityLogView {...props} />);
+ expect(wrapper).toBeTruthy();
+ });
+ });
- it('Tests Activity Log filter and sorting abilities', () => {
- const firstDate = new Date();
- const secondDate = new Date();
- secondDate.setDate(firstDate.getDate() - 1);
+ it('Tests Activity Log filter and sorting abilities', () => {
+ const firstDate = new Date();
+ const secondDate = new Date();
+ secondDate.setDate(firstDate.getDate() - 1);
- const firstTimestamp = firstDate.getTime();
- const secondTimestamp = secondDate.getTime();
+ const firstTimestamp = firstDate.getTime();
+ const secondTimestamp = secondDate.getTime();
- let firstActivity = ActivityLogStoreFactory.build({user: usersList[0].userId, timestamp: firstTimestamp});
- let secondActivity = ActivityLogStoreFactory.build({user: usersList[1].userId, timestamp: secondTimestamp, status: {success: false, message: 'error'}});
- let props = mapStateToProps({users: {usersList}, licenseModel: {activityLog: [firstActivity, secondActivity]}});
- const wrapper = mount(<ActivityLogView {...props}/>);
- expect(wrapper.find(ActivityListItem).length).toEqual(3); // Includes Header component
+ let firstActivity = ActivityLogStoreFactory.build({
+ user: usersList[0].userId,
+ timestamp: firstTimestamp
+ });
+ let secondActivity = ActivityLogStoreFactory.build({
+ user: usersList[1].userId,
+ timestamp: secondTimestamp,
+ status: { success: false, message: 'error' }
+ });
+ let props = mapStateToProps({
+ users: { usersList },
+ licenseModel: { activityLog: [firstActivity, secondActivity] }
+ });
+ const wrapper = mount(<ActivityLogView {...props} />);
+ expect(wrapper.find(ActivityListItem).length).toEqual(3); // Includes Header component
- const firstInstance = wrapper.find(ActivityListItem).at(1);
- const firstInstanceProps = firstInstance.props();
- expect(firstInstanceProps.activity.timestamp).toEqual(secondTimestamp); // Default sorting is descending
+ const firstInstance = wrapper.find(ActivityListItem).at(1);
+ const firstInstanceProps = firstInstance.props();
+ expect(firstInstanceProps.activity.timestamp).toEqual(secondTimestamp); // Default sorting is descending
- const header = wrapper.find(ActivityListItem).at(0);
- header.props().onSort();
- const newFirstInstance = wrapper.find(ActivityListItem).at(1);
- const newFirstInstanceProps = newFirstInstance.props();
- expect(newFirstInstanceProps.activity.timestamp).toEqual(firstTimestamp);
+ const header = wrapper.find(ActivityListItem).at(0);
- const listEditor = wrapper.find(ListEditorView);
- listEditor.props().onFilter(usersList[1].fullName);
- expect(wrapper.find(ActivityListItem).length).toEqual(2);
- expect(wrapper.find(ActivityListItem).at(1).props().activity.user.name).toEqual(usersList[1].fullName);
- });
+ header.props().onSort();
+ wrapper.update();
+ const newFirstInstance = wrapper.find(ActivityListItem).at(1);
+ const newFirstInstanceProps = newFirstInstance.props();
+ expect(newFirstInstanceProps.activity.timestamp).toEqual(
+ firstTimestamp
+ );
+
+ const listEditor = wrapper.find(ListEditorView);
+ listEditor.props().onFilter(usersList[1].fullName);
+ wrapper.update();
+ expect(wrapper.find(ActivityListItem).length).toEqual(2);
+ expect(
+ wrapper
+ .find(ActivityListItem)
+ .at(1)
+ .props().activity.user.name
+ ).toEqual(usersList[1].fullName);
+ });
});
diff --git a/openecomp-ui/test/flows/test.js b/openecomp-ui/test/flows/test.js
index 6e02e54816..621b6a1447 100644
--- a/openecomp-ui/test/flows/test.js
+++ b/openecomp-ui/test/flows/test.js
@@ -1,187 +1,223 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import deepFreeze from 'deep-freeze';
import mockRest from 'test-utils/MockRest.js';
import store from 'sdc-app/AppStore.js';
import FlowsActions from 'sdc-app/flows/FlowsActions.js';
-import {enums} from 'sdc-app/flows/FlowsConstants.js';
+import { enums } from 'sdc-app/flows/FlowsConstants.js';
import {
- FlowCreateFactory,
- FlowPostRequestFactory,
- FlowPostResponseFactory,
- FlowFetchRequestFactory,
- FlowFetchResponseFactory,
- FlowDeleteRequestFactory,
- FlowUpdateRequestFactory } from 'test-utils/factories/flows/FlowsFactories.js';
+ FlowCreateFactory,
+ FlowPostRequestFactory,
+ FlowPostResponseFactory,
+ FlowFetchRequestFactory,
+ FlowFetchResponseFactory,
+ FlowDeleteRequestFactory,
+ FlowUpdateRequestFactory
+} from 'test-utils/factories/flows/FlowsFactories.js';
-import {buildFromExistingObject} from 'test-utils/Util.js';
+import { buildFromExistingObject } from 'test-utils/Util.js';
const NEW_FLOW = true;
-let assertFlowDataAfterCreateFetchAndUpdate = (data) => {
- let {flowList, serviceID, diagramType} = store.getState().flows;
- expect(serviceID).toBe(data.serviceID);
- expect(diagramType).toBe(data.artifactType);
- let uniqueId = data.uniqueId || `${data.serviceID}.${data.artifactName}`;
- let index = flowList.findIndex(flow => flow.uniqueId === uniqueId);
- expect(index).not.toBe(-1);
+let assertFlowDataAfterCreateFetchAndUpdate = data => {
+ let { flowList, serviceID, diagramType } = store.getState().flows;
+ expect(serviceID).toBe(data.serviceID);
+ expect(diagramType).toBe(data.artifactType);
+ let uniqueId = data.uniqueId || `${data.serviceID}.${data.artifactName}`;
+ let index = flowList.findIndex(flow => flow.uniqueId === uniqueId);
+ expect(index).not.toBe(-1);
};
-describe('Workflows and Management Flows Module Tests:', function () {
-
-
- it('empty artifact should open flow creation modal', () => {
-
- const artifacts = {};
-
- deepFreeze(store.getState());
- deepFreeze(artifacts);
- FlowsActions.fetchFlowArtifacts(store.dispatch, {
- artifacts,
- diagramType: enums.WORKFLOW,
- participants: [],
- serviceID: '1234'
- });
- let state = store.getState();
- expect(state.flows.isDisplayModal).toBe(true);
- expect(state.flows.isModalInEditMode).toBe(false);
- });
-
- it('Close flow details editor modal', () => {
- deepFreeze(store.getState());
- FlowsActions.closeFlowDetailsEditor(store.dispatch);
- let state = store.getState();
- expect(state.flows.isDisplayModal).toBe(false);
- expect(state.flows.isModalInEditMode).toBe(false);
- });
-
- it('Get Flows List from loaded artifact', () => {
-
- deepFreeze(store.getState());
-
- const artifacts = {
- 'test1': FlowPostResponseFactory.build({artifactName: 'test1'}),
- 'kukuriku': FlowPostResponseFactory.build({
- 'artifactType': 'PUPPET',
- 'artifactName': 'kukuriku',
- }),
- 'test3': FlowPostResponseFactory.build({artifactName: 'test3'})
- };
-
- const artifactsArray = Object.keys(artifacts).map(artifact => artifact);
-
- deepFreeze(artifacts);
-
- deepFreeze(store.getState());
-
- let actionData = {
- artifacts,
- diagramType: enums.WORKFLOW,
- participants: [],
- serviceID: '1234'
- };
- FlowsActions.fetchFlowArtifacts(store.dispatch, actionData);
-
- let state = store.getState();
- expect(state.flows.isDisplayModal).toBe(false);
- expect(state.flows.isModalInEditMode).toBe(false);
- expect(state.flows.flowList.length).toEqual(artifactsArray.length);
- expect(state.flows.flowParticipants).toEqual(actionData.participants);
- expect(state.flows.serviceID).toBe(actionData.serviceID);
- expect(state.flows.diagramType).toBe(actionData.diagramType);
-
- });
-
-
- it('Add New Flow', () => {
-
- deepFreeze(store.getState());
-
- const flowCreateData = FlowCreateFactory.build();
- let expectedDataToBeSentInTheRequest = buildFromExistingObject(FlowPostRequestFactory, flowCreateData);
-
- mockRest.addHandler('post', ({data, baseUrl, options}) => {
- expect(baseUrl).toBe(`/sdc1/feProxy/rest/v1/catalog/services/${flowCreateData.serviceID}/artifacts/`);
- expect(data.artifactLabel).toBe(expectedDataToBeSentInTheRequest.artifactLabel);
- expect(data.artifactName).toBe(expectedDataToBeSentInTheRequest.artifactName);
- expect(data.artifactType).toBe(expectedDataToBeSentInTheRequest.artifactType);
- expect(data.description).toBe(expectedDataToBeSentInTheRequest.description);
- expect(data.payloadData).toBe(expectedDataToBeSentInTheRequest.payloadData);
- expect(options.md5).toBe(true);
- return buildFromExistingObject(FlowPostResponseFactory, expectedDataToBeSentInTheRequest);
- });
-
- return FlowsActions.createOrUpdateFlow(store.dispatch, {flow: flowCreateData}, NEW_FLOW).then(() => {
- assertFlowDataAfterCreateFetchAndUpdate(flowCreateData);
- });
-
-
- });
-
- it('Fetch Flow', () => {
-
- deepFreeze(store.getState());
-
- const flowFetchData = FlowFetchRequestFactory.build();
-
- mockRest.addHandler('fetch', ({baseUrl}) => {
- //sdc1/feProxy/rest/v1/catalog/services/338d75f0-aec8-4eb4-89c9-8733fcd9bf3b/artifacts/338d75f0-aec8-4eb4-89c9-8733fcd9bf3b.zizizi
- expect(baseUrl).toBe(`/sdc1/feProxy/rest/v1/catalog/services/${flowFetchData.serviceID}/artifacts/${flowFetchData.uniqueId}`);
- return buildFromExistingObject(FlowFetchResponseFactory, flowFetchData);
- });
-
- return FlowsActions.fetchArtifact(store.dispatch, {flow: flowFetchData}).then(() => {
- assertFlowDataAfterCreateFetchAndUpdate(flowFetchData);
- });
- });
-
- it('Update Existing Flow', () => {
-
- deepFreeze(store.getState());
- const flowUpdateData = FlowUpdateRequestFactory.build();
-
- mockRest.addHandler('post', ({baseUrl}) => {
- expect(baseUrl).toBe(`/sdc1/feProxy/rest/v1/catalog/services/${flowUpdateData.serviceID}/artifacts/${flowUpdateData.uniqueId}`);
-
- return buildFromExistingObject(FlowPostResponseFactory, flowUpdateData);
- });
-
- return FlowsActions.createOrUpdateFlow(store.dispatch, {flow: flowUpdateData}, !NEW_FLOW).then(() => {
- assertFlowDataAfterCreateFetchAndUpdate(flowUpdateData);
- });
-
- });
-
- it('Delete Flow', () => {
-
- deepFreeze(store.getState());
-
- const flowDeleteData = FlowDeleteRequestFactory.build();
-
- mockRest.addHandler('destroy', ({baseUrl}) => {
- expect(baseUrl).toBe(`/sdc1/feProxy/rest/v1/catalog/services/${flowDeleteData.serviceID}/artifacts/${flowDeleteData.uniqueId}`);
- return {};
- });
-
- return FlowsActions.deleteFlow(store.dispatch, {flow: flowDeleteData}).then(() => {
- let {flowList} = store.getState().flows;
- let index = flowList.findIndex(flow => flow.uniqueId === flowDeleteData.uniqueId);
- expect(index).toBe(-1);
- });
- });
+describe('Workflows and Management Flows Module Tests:', function() {
+ it('empty artifact should open flow creation modal', () => {
+ const artifacts = {};
+
+ deepFreeze(store.getState());
+ deepFreeze(artifacts);
+ FlowsActions.fetchFlowArtifacts(store.dispatch, {
+ artifacts,
+ diagramType: enums.WORKFLOW,
+ participants: [],
+ serviceID: '1234'
+ });
+ let state = store.getState();
+ expect(state.modal).toBeDefined();
+ });
+
+ it('Close flow details editor modal', () => {
+ deepFreeze(store.getState());
+ FlowsActions.closeEditCreateWFModal(store.dispatch);
+ let state = store.getState();
+ expect(state.modal).toBeFalsy();
+ });
+
+ it('Get Flows List from loaded artifact', () => {
+ deepFreeze(store.getState());
+
+ const artifacts = {
+ test1: FlowPostResponseFactory.build({ artifactName: 'test1' }),
+ kukuriku: FlowPostResponseFactory.build({
+ artifactType: 'PUPPET',
+ artifactName: 'kukuriku'
+ }),
+ test3: FlowPostResponseFactory.build({ artifactName: 'test3' })
+ };
+
+ const artifactsArray = Object.keys(artifacts).map(artifact => artifact);
+
+ deepFreeze(artifacts);
+
+ deepFreeze(store.getState());
+
+ let actionData = {
+ artifacts,
+ diagramType: enums.WORKFLOW,
+ participants: [],
+ serviceID: '1234'
+ };
+ FlowsActions.fetchFlowArtifacts(store.dispatch, actionData);
+
+ let state = store.getState();
+ expect(state.flows.flowList.length).toEqual(artifactsArray.length);
+ expect(state.flows.flowParticipants).toEqual(actionData.participants);
+ expect(state.flows.serviceID).toBe(actionData.serviceID);
+ expect(state.flows.diagramType).toBe(actionData.diagramType);
+ });
+
+ it('Add New Flow', () => {
+ deepFreeze(store.getState());
+
+ const flowCreateData = FlowCreateFactory.build();
+ let expectedDataToBeSentInTheRequest = buildFromExistingObject(
+ FlowPostRequestFactory,
+ flowCreateData
+ );
+
+ mockRest.addHandler('post', ({ data, baseUrl, options }) => {
+ expect(baseUrl).toBe(
+ `/sdc1/feProxy/rest/v1/catalog/services/${
+ flowCreateData.serviceID
+ }/artifacts/`
+ );
+ expect(data.artifactLabel).toBe(
+ expectedDataToBeSentInTheRequest.artifactLabel
+ );
+ expect(data.artifactName).toBe(
+ expectedDataToBeSentInTheRequest.artifactName
+ );
+ expect(data.artifactType).toBe(
+ expectedDataToBeSentInTheRequest.artifactType
+ );
+ expect(data.description).toBe(
+ expectedDataToBeSentInTheRequest.description
+ );
+ expect(data.payloadData).toBe(
+ expectedDataToBeSentInTheRequest.payloadData
+ );
+ expect(options.md5).toBe(true);
+ return buildFromExistingObject(
+ FlowPostResponseFactory,
+ expectedDataToBeSentInTheRequest
+ );
+ });
+
+ return FlowsActions.createOrUpdateFlow(
+ store.dispatch,
+ { flow: flowCreateData },
+ NEW_FLOW
+ ).then(() => {
+ assertFlowDataAfterCreateFetchAndUpdate(flowCreateData);
+ });
+ });
+
+ it('Fetch Flow', () => {
+ deepFreeze(store.getState());
+
+ const flowFetchData = FlowFetchRequestFactory.build();
+
+ mockRest.addHandler('fetch', ({ baseUrl }) => {
+ //sdc1/feProxy/rest/v1/catalog/services/338d75f0-aec8-4eb4-89c9-8733fcd9bf3b/artifacts/338d75f0-aec8-4eb4-89c9-8733fcd9bf3b.zizizi
+ expect(baseUrl).toBe(
+ `/sdc1/feProxy/rest/v1/catalog/services/${
+ flowFetchData.serviceID
+ }/artifacts/${flowFetchData.uniqueId}`
+ );
+ return buildFromExistingObject(
+ FlowFetchResponseFactory,
+ flowFetchData
+ );
+ });
+
+ return FlowsActions.fetchArtifact(store.dispatch, {
+ flow: flowFetchData
+ }).then(() => {
+ assertFlowDataAfterCreateFetchAndUpdate(flowFetchData);
+ });
+ });
+
+ it('Update Existing Flow', () => {
+ deepFreeze(store.getState());
+ const flowUpdateData = FlowUpdateRequestFactory.build();
+
+ mockRest.addHandler('post', ({ baseUrl }) => {
+ expect(baseUrl).toBe(
+ `/sdc1/feProxy/rest/v1/catalog/services/${
+ flowUpdateData.serviceID
+ }/artifacts/${flowUpdateData.uniqueId}`
+ );
+
+ return buildFromExistingObject(
+ FlowPostResponseFactory,
+ flowUpdateData
+ );
+ });
+
+ return FlowsActions.createOrUpdateFlow(
+ store.dispatch,
+ { flow: flowUpdateData },
+ !NEW_FLOW
+ ).then(() => {
+ assertFlowDataAfterCreateFetchAndUpdate(flowUpdateData);
+ });
+ });
+
+ it('Delete Flow', () => {
+ deepFreeze(store.getState());
+
+ const flowDeleteData = FlowDeleteRequestFactory.build();
+
+ mockRest.addHandler('destroy', ({ baseUrl }) => {
+ expect(baseUrl).toBe(
+ `/sdc1/feProxy/rest/v1/catalog/services/${
+ flowDeleteData.serviceID
+ }/artifacts/${flowDeleteData.uniqueId}`
+ );
+ return {};
+ });
+
+ return FlowsActions.deleteFlow(store.dispatch, {
+ flow: flowDeleteData
+ }).then(() => {
+ let { flowList } = store.getState().flows;
+ let index = flowList.findIndex(
+ flow => flow.uniqueId === flowDeleteData.uniqueId
+ );
+ expect(index).toBe(-1);
+ });
+ });
});
diff --git a/openecomp-ui/test/licenseModel/featureGroups/LicenseModelFeatureGroupListEditor.test.js b/openecomp-ui/test/licenseModel/featureGroups/LicenseModelFeatureGroupListEditor.test.js
index 565b8a436b..4957e3bbaf 100644
--- a/openecomp-ui/test/licenseModel/featureGroups/LicenseModelFeatureGroupListEditor.test.js
+++ b/openecomp-ui/test/licenseModel/featureGroups/LicenseModelFeatureGroupListEditor.test.js
@@ -16,75 +16,75 @@
import React from 'react';
import TestUtils from 'react-dom/test-utils';
-import {mapStateToProps} from 'sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupListEditor.js';
+import { mapStateToProps } from 'sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupListEditor.js';
import FeatureGroupsListEditorView from 'sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupListEditorView.jsx';
import { FeatureGroupStoreFactory } from 'test-utils/factories/licenseModel/FeatureGroupFactories.js';
-import {LicenseModelOverviewFactory} from 'test-utils/factories/licenseModel/LicenseModelFactories.js';
+import { LicenseModelOverviewFactory } from 'test-utils/factories/licenseModel/LicenseModelFactories.js';
import { buildListFromFactory } from 'test-utils/Util.js';
import VersionControllerUtilsFactory from 'test-utils/factories/softwareProduct/VersionControllerUtilsFactory.js';
-describe('License Model Feature Group List Module Tests', function () {
+describe('License Model Feature Group List Module Tests', function() {
+ it('should mapper exist', () => {
+ expect(mapStateToProps).toBeTruthy();
+ });
- it('should mapper exist', () => {
- expect(mapStateToProps).toBeTruthy();
- });
+ it('should return empty data', () => {
+ let licenseModel = LicenseModelOverviewFactory.build({
+ featureGroup: {
+ featureGroupEditor: {},
+ featureGroupsList: []
+ },
+ licenseModelEditor: {
+ data: {
+ ...VersionControllerUtilsFactory.build()
+ }
+ }
+ });
+ var results = mapStateToProps({ licenseModel });
+ expect(results.vendorName).toEqual(undefined);
+ expect(results.featureGroupsList).toEqual([]);
+ });
+ it('should return true for show and edit mode and vendorName should be not empty', () => {
+ let licenseModel = LicenseModelOverviewFactory.build({
+ featureGroup: {
+ featureGroupEditor: {
+ data: FeatureGroupStoreFactory.build()
+ },
+ featureGroupsList: []
+ }
+ });
+ var results = mapStateToProps({ licenseModel });
+ expect(results.vendorName).toEqual(
+ licenseModel.licenseModelEditor.data.vendorName
+ );
+ });
- it('should return empty data', () => {
-
-
- let licenseModel = LicenseModelOverviewFactory.build({
- featureGroup: {
- featureGroupEditor: {},
- featureGroupsList: []
- },
- licenseModelEditor: {
- data:{
- ...VersionControllerUtilsFactory.build()
- }
- }
- });
- var results = mapStateToProps({licenseModel});
- expect(results.vendorName).toEqual(undefined);
- expect(results.featureGroupsModal.show).toEqual(false);
- expect(results.featureGroupsModal.editMode).toEqual(false);
- expect(results.featureGroupsList).toEqual([]);
- });
-
- it('should return true for show and edit mode and vendorName should be not empty', () => {
-
- let licenseModel = LicenseModelOverviewFactory.build({
- featureGroup: {
- featureGroupEditor: {
- data: FeatureGroupStoreFactory.build()
- },
- featureGroupsList: []
- }
- });
- var results = mapStateToProps({licenseModel});
- expect(results.featureGroupsModal.show).toEqual(true);
- expect(results.featureGroupsModal.editMode).toEqual(true);
- expect(results.vendorName).toEqual(licenseModel.licenseModelEditor.data.vendorName);
- });
-
- it('jsx view test', () => {
- var view = TestUtils.renderIntoDocument(<FeatureGroupsListEditorView vendorName=''
- licenseModelId=''
- featureGroupsModal={{show: false, editMode: false}}
- isReadOnlyMode={false}
- onAddFeatureGroupClick={()=>{}}
- featureGroupsList={[]} />);
- expect(view).toBeTruthy();
- });
-
- it('jsx view list test', () => {
- var view = TestUtils.renderIntoDocument(<FeatureGroupsListEditorView vendorName=''
- licenseModelId=''
- featureGroupsModal={{show: false, editMode: true}}
- isReadOnlyMode={false}
- onAddFeatureGroupClick={()=>{}}
- featureGroupsList={buildListFromFactory(FeatureGroupStoreFactory)} />);
- expect(view).toBeTruthy();
- });
+ it('jsx view test', () => {
+ var view = TestUtils.renderIntoDocument(
+ <FeatureGroupsListEditorView
+ vendorName=""
+ licenseModelId=""
+ isReadOnlyMode={false}
+ onAddFeatureGroupClick={() => {}}
+ featureGroupsList={[]}
+ />
+ );
+ expect(view).toBeTruthy();
+ });
+ it('jsx view list test', () => {
+ var view = TestUtils.renderIntoDocument(
+ <FeatureGroupsListEditorView
+ vendorName=""
+ licenseModelId=""
+ isReadOnlyMode={false}
+ onAddFeatureGroupClick={() => {}}
+ featureGroupsList={buildListFromFactory(
+ FeatureGroupStoreFactory
+ )}
+ />
+ );
+ expect(view).toBeTruthy();
+ });
});
diff --git a/openecomp-ui/test/licenseModel/test.js b/openecomp-ui/test/licenseModel/test.js
index bbebcaf079..0d72d5d369 100644
--- a/openecomp-ui/test/licenseModel/test.js
+++ b/openecomp-ui/test/licenseModel/test.js
@@ -96,11 +96,10 @@ describe('License Model Module Tests', function() {
};
const expectedSuccessModal = {
cancelButtonText: 'OK',
- modalClassName: 'notification-modal',
msg: 'This license model successfully submitted',
timeout: 2000,
title: 'Submit Succeeded',
- type: 'success'
+ type: 'info'
};
const versionsList = {
diff --git a/openecomp-ui/test/nfvo-components/editor/TabulatedEditor.test.js b/openecomp-ui/test/nfvo-components/editor/TabulatedEditor.test.js
index 0738bbb03d..cc694398ec 100644
--- a/openecomp-ui/test/nfvo-components/editor/TabulatedEditor.test.js
+++ b/openecomp-ui/test/nfvo-components/editor/TabulatedEditor.test.js
@@ -14,43 +14,55 @@
* limitations under the License.
*/
-
import React from 'react';
import ShallowRenderer from 'react-test-renderer/shallow';
import TestUtils from 'react-dom/test-utils';
import TabulatedEditor from 'nfvo-components/editor/TabulatedEditor.jsx';
import { Provider } from 'react-redux';
-import {storeCreator} from 'sdc-app/AppStore.js';
-
-describe('Tabulated Editor test: ', function () {
- const store = storeCreator();
- it('basic view test', () => {
- const renderer = new ShallowRenderer();
- renderer.render(
- <Provider store={store}><TabulatedEditor><button>test</button></TabulatedEditor></Provider>
- );
- let renderedOutput = renderer.getRenderOutput();
- expect(renderedOutput).toBeTruthy();
-
- });
+import { storeCreator } from 'sdc-app/AppStore.js';
- it('handle func test', () => {
- let props = {
- navigationBarProps: {
- groups: [],
- onNavigationItemClick: ()=>{}
- },
- versionControllerProps: {
- isCheckedOut: false,
- version: {id: '0.1', label: '0.1'},
- viewableVersions: [{id: '0.1', label: '0.1'}],
- itemPermission: {isCertified: false, isCollaborator: true, isDirty: false},
- onSubmit: ()=>{},
- onRevert: ()=>{}
- }
- };
- const view = TestUtils.renderIntoDocument(<Provider store={store}><TabulatedEditor {...props}><button>test</button></TabulatedEditor></Provider>);
- expect(view).toBeTruthy();
- });
+describe('Tabulated Editor test: ', function() {
+ const store = storeCreator();
+ it('basic view test', () => {
+ const renderer = new ShallowRenderer();
+ renderer.render(
+ <Provider store={store}>
+ <TabulatedEditor>
+ <button>test</button>
+ </TabulatedEditor>
+ </Provider>
+ );
+ let renderedOutput = renderer.getRenderOutput();
+ expect(renderedOutput).toBeTruthy();
+ });
+ it('handle func test', () => {
+ let props = {
+ navigationBarProps: {
+ groups: [],
+ onNavigationItemClick: () => {},
+ activeItemId: 'test'
+ },
+ versionControllerProps: {
+ isCheckedOut: false,
+ version: { id: '0.1', label: '0.1' },
+ viewableVersions: [{ id: '0.1', label: '0.1' }],
+ itemPermission: {
+ isCertified: false,
+ isCollaborator: true,
+ isDirty: false
+ },
+ onSubmit: () => {},
+ onRevert: () => {}
+ }
+ };
+ const view = TestUtils.renderIntoDocument(
+ <Provider store={store}>
+ <TabulatedEditor {...props}>
+ <button>test</button>
+ </TabulatedEditor>
+ </Provider>
+ );
+ expect(view).toBeTruthy();
+ });
});
diff --git a/openecomp-ui/test/onboard/filter/filterView.test.js b/openecomp-ui/test/onboard/filter/filterView.test.js
index 5e3c93bef2..9e6e1ee4c2 100644
--- a/openecomp-ui/test/onboard/filter/filterView.test.js
+++ b/openecomp-ui/test/onboard/filter/filterView.test.js
@@ -28,7 +28,7 @@ describe('Filter component view Tests', () => {
<Filter />
</Provider>
);
- const filter = wrapper.find('.catalog-filter');
+ const filter = wrapper.find('.catalog-filter').hostNodes();
expect(filter.hasClass('catalog-filter')).toBeTruthy();
});
});
diff --git a/openecomp-ui/test/softwareProduct/processes/test.js b/openecomp-ui/test/softwareProduct/processes/test.js
index 6ad696ae85..90de1e327f 100644
--- a/openecomp-ui/test/softwareProduct/processes/test.js
+++ b/openecomp-ui/test/softwareProduct/processes/test.js
@@ -1,410 +1,507 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import deepFreeze from 'deep-freeze';
import mockRest from 'test-utils/MockRest.js';
-import {cloneAndSet} from 'test-utils/Util.js';
-import {storeCreator} from 'sdc-app/AppStore.js';
+import { cloneAndSet } from 'test-utils/Util.js';
+import { storeCreator } from 'sdc-app/AppStore.js';
import Configuration from 'sdc-app/config/Configuration.js';
import SoftwareProductProcessesActionHelper from 'sdc-app/onboarding/softwareProduct/processes/SoftwareProductProcessesActionHelper.js';
import {
- VSPProcessPostFactory,
- VSPProcessStoreFactory,
- VSPProcessPostFactoryWithType,
- VSPProcessStoreFactoryWithType,
- VSPProcessStoreWithFormDataFactory,
- VSPProcessPostWithFormDataFactory,
- VSPProcessStoreWithArtifactNameFactory } from 'test-utils/factories/softwareProduct/SoftwareProductProcessFactories.js';
-import {buildFromExistingObject} from 'test-utils/Util.js';
-import {VSPEditorFactory} from 'test-utils/factories/softwareProduct/SoftwareProductEditorFactories.js';
+ VSPProcessPostFactory,
+ VSPProcessStoreFactory,
+ VSPProcessPostFactoryWithType,
+ VSPProcessStoreFactoryWithType,
+ VSPProcessStoreWithFormDataFactory,
+ VSPProcessPostWithFormDataFactory,
+ VSPProcessStoreWithArtifactNameFactory
+} from 'test-utils/factories/softwareProduct/SoftwareProductProcessFactories.js';
+import { buildFromExistingObject } from 'test-utils/Util.js';
+import { VSPEditorFactory } from 'test-utils/factories/softwareProduct/SoftwareProductEditorFactories.js';
import VersionFactory from 'test-utils/factories/common/VersionFactory.js';
const softwareProductId = '123';
const version = VersionFactory.build();
-describe('Software Product Processes Module Tests', function () {
-
- let restPrefix = '';
-
- beforeAll(function() {
- restPrefix = Configuration.get('restPrefix');
- deepFreeze(restPrefix);
- });
-
- //**
- //** ADD
- //**
- it('Add Software Products Processes', () => {
-
- const store = storeCreator();
- deepFreeze(store.getState());
-
- const softwareProductProcessFromResponse = 'ADDED_ID';
-
- const softwareProductProcessAfterAdd = VSPProcessStoreFactory.build({id: softwareProductProcessFromResponse});
- const softwareProductPostRequest = buildFromExistingObject(VSPProcessPostFactory, softwareProductProcessAfterAdd);
-
- const expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductProcesses.processesList', [softwareProductProcessAfterAdd]);
-
- mockRest.addHandler('post', ({data, options, baseUrl}) => {
-
- expect(baseUrl).toEqual(`${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/processes`);
- expect(data).toEqual(softwareProductPostRequest);
- expect(options).toEqual(undefined);
- return {
- returnCode: 'OK',
- value: softwareProductProcessFromResponse
- };
- });
-
- return SoftwareProductProcessesActionHelper.saveProcess(store.dispatch,
- {
- softwareProductId,
- version,
- previousProcess: null,
- process: softwareProductPostRequest
- }
- ).then(() => {
- expect(store.getState()).toEqual(expectedStore);
- });
- });
-
- it('Add Software Products Processes with type', () => {
-
- const store = storeCreator();
- deepFreeze(store.getState());
-
- const softwareProductProcessFromResponse = 'ADDED_ID';
-
- const softwareProductProcessAfterAdd = VSPProcessStoreFactoryWithType.build({id: softwareProductProcessFromResponse});
- const softwareProductPostRequest = buildFromExistingObject(VSPProcessPostFactoryWithType, softwareProductProcessAfterAdd);
-
- const expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductProcesses.processesList', [softwareProductProcessAfterAdd]);
-
- mockRest.addHandler('post', ({data, options, baseUrl}) => {
-
- expect(baseUrl).toEqual(`${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/processes`);
- expect(data).toEqual(softwareProductPostRequest);
- expect(options).toEqual(undefined);
- return {
- returnCode: 'OK',
- value: softwareProductProcessFromResponse
- };
- });
-
- return SoftwareProductProcessesActionHelper.saveProcess(store.dispatch,
- {
- softwareProductId,
- version,
- previousProcess: null,
- process: softwareProductPostRequest
- }
- ).then(() => {
- expect(store.getState()).toEqual(expectedStore);
- });
- });
-
- it('Add Software Products Processes with uploaded file', () => {
-
- const store = storeCreator();
- deepFreeze(store.getState());
-
- const softwareProductPostRequest = VSPProcessPostFactoryWithType.build();
- const softwareProductProcessToAdd = VSPProcessPostWithFormDataFactory.build(softwareProductPostRequest);
- const softwareProductProcessAfterAdd = VSPProcessStoreWithFormDataFactory.build();
-
- const expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductProcesses.processesList', [softwareProductProcessAfterAdd]);
-
- mockRest.addHandler('post', ({data, options, baseUrl}) => {
- expect(baseUrl).toEqual(`${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/processes`);
- expect(data).toEqual(softwareProductPostRequest);
- expect(options).toEqual(undefined);
- return {
- returnCode: 'OK',
- value: softwareProductProcessAfterAdd.id
- };
- });
-
- mockRest.addHandler('post', ({data, options, baseUrl}) => {
- expect(baseUrl).toEqual(`${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/processes/${softwareProductProcessAfterAdd.id}/upload`);
- expect(data).toEqual(softwareProductProcessToAdd.formData);
- expect(options).toEqual(undefined);
- return {returnCode: 'OK'};
- });
-
- return SoftwareProductProcessesActionHelper.saveProcess(store.dispatch,
- {
- softwareProductId,
- version,
- previousProcess: null,
- process: softwareProductProcessToAdd
- }
- ).then(() => {
- expect(store.getState()).toEqual(expectedStore);
- });
- });
-
- //**
- //** UPDATE
- //**
- it('Update Software Products Processes', () => {
- const softwareProductProcessesList = VSPProcessStoreWithArtifactNameFactory.buildList(1);
- deepFreeze(softwareProductProcessesList);
-
- const store = storeCreator({
- softwareProduct: {
- softwareProductProcesses: {
- processesList: softwareProductProcessesList
- }
- }
- });
- deepFreeze(store.getState());
-
- const toBeUpdatedProcessId = softwareProductProcessesList[0].id;
- const previousProcessData = softwareProductProcessesList[0];
- const processUpdateData = VSPProcessStoreWithArtifactNameFactory.build(
- {...previousProcessData,
- name: 'Pr1_UPDATED',
- description: 'string_UPDATED',
- type: 'Other'
- }
- );
-
- deepFreeze(processUpdateData);
-
- const processPutRequest = VSPProcessPostFactory.build({
- name: 'Pr1_UPDATED',
- description: 'string_UPDATED',
- type: 'Other'
- });
- deepFreeze(processPutRequest);
-
- const expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductProcesses.processesList', [processUpdateData]);
-
-
- mockRest.addHandler('put', ({data, options, baseUrl}) => {
- expect(baseUrl).toEqual(`${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/processes/${toBeUpdatedProcessId}`);
- expect(data).toEqual(processPutRequest);
- expect(options).toEqual(undefined);
- return {returnCode: 'OK'};
- });
-
- return SoftwareProductProcessesActionHelper.saveProcess(store.dispatch,
- {
- softwareProductId,
- version,
- previousProcess: previousProcessData,
- process: processUpdateData
- }
- ).then(() => {
- expect(store.getState()).toEqual(expectedStore);
- });
- });
-
- it('Update Software Products Processes and uploaded file', () => {
- const previousProcessData = VSPProcessStoreWithArtifactNameFactory.build();
- deepFreeze(previousProcessData);
-
- const store = storeCreator({
- softwareProduct: {
- softwareProductProcesses: {
- processesList: [previousProcessData]
- }
- }
- });
- deepFreeze(store.getState());
-
- const newProcessToUpdate = VSPProcessStoreWithFormDataFactory.build({
- ...previousProcessData,
- name: 'new name',
- formData: {
- name: 'new artifact name'
- }
- });
- deepFreeze(newProcessToUpdate);
-
- const newProcessToPutRequest = VSPProcessPostFactory.build({
- name: newProcessToUpdate.name,
- description: previousProcessData.description,
- type: previousProcessData.type
- });
- deepFreeze(newProcessToPutRequest);
-
- const expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductProcesses.processesList', [newProcessToUpdate]);
-
- mockRest.addHandler('put', ({data, options, baseUrl}) => {
- expect(baseUrl).toEqual(`${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/processes/${newProcessToUpdate.id}`);
- expect(data).toEqual(newProcessToPutRequest);
- expect(options).toEqual(undefined);
- return {returnCode: 'OK'};
- });
-
- mockRest.addHandler('post', ({data, options, baseUrl}) => {
- expect(baseUrl).toEqual(`${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/processes/${newProcessToUpdate.id}/upload`);
- expect(data).toEqual(newProcessToUpdate.formData);
- expect(options).toEqual(undefined);
- return {returnCode: 'OK'};
- });
-
- return SoftwareProductProcessesActionHelper.saveProcess(store.dispatch,
- {
- softwareProductId,
- version,
- previousProcess: previousProcessData,
- process: newProcessToUpdate
- }
- ).then(() => {
- expect(store.getState()).toEqual(expectedStore);
- });
- });
-
- //**
- //** GET
- //**
- it('Get Software Products Processes List', () => {
- const store = storeCreator();
- deepFreeze(store.getState());
-
- const softwareProductProcessesList = VSPProcessStoreFactory.buildList(2);
-
- deepFreeze(softwareProductProcessesList);
-
- deepFreeze(store.getState());
-
- const expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductProcesses.processesList', softwareProductProcessesList);
-
- mockRest.addHandler('fetch', ({options, data, baseUrl}) => {
- expect(baseUrl).toEqual(`${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/processes`);
- expect(data).toEqual(undefined);
- expect(options).toEqual(undefined);
- return {results: softwareProductProcessesList};
- });
-
- return SoftwareProductProcessesActionHelper.fetchProcessesList(store.dispatch, {softwareProductId, version}).then(() => {
- expect(store.getState()).toEqual(expectedStore);
- });
- });
-
- //**
- //** DELETE
- //**
- it('Delete Software Products Processes', () => {
- const softwareProductProcessesList = VSPProcessStoreWithArtifactNameFactory.buildList(1);
- const currentSoftwareProduct = VSPEditorFactory.build();
-
- deepFreeze(softwareProductProcessesList);
- const store = storeCreator({
- softwareProduct: {
- softwareProductProcesses: {
- processesList: softwareProductProcessesList
- },
- softwareProductEditor: {
- data: currentSoftwareProduct
- }
- }
- });
-
- const processId = softwareProductProcessesList[0].id;
- const versionId = version.id;
- deepFreeze(store.getState());
-
- const expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductProcesses.processesList', []);
-
- mockRest.addHandler('destroy', ({data, options, baseUrl}) => {
- expect(baseUrl).toEqual(`${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${versionId}/processes/${processId}`);
- expect(data).toEqual(undefined);
- expect(options).toEqual(undefined);
- return {
- results: {
- returnCode: 'OK'
- }
- };
- });
-
- return SoftwareProductProcessesActionHelper.deleteProcess(store.dispatch, {
- process: softwareProductProcessesList[0],
- softwareProductId,
- version
- }).then(() => {
- expect(store.getState()).toEqual(expectedStore);
- });
- });
-
- it('Validating Software Products Processes Delete confirmation', () => {
- const store = storeCreator();
- deepFreeze(store.getState());
-
- let process = VSPProcessStoreFactory.build();
- deepFreeze(process);
-
- const expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductProcesses.processToDelete', process);
-
- return SoftwareProductProcessesActionHelper.openDeleteProcessesConfirm(store.dispatch, {process});
-
- expect(store.getState()).toEqual(expectedStore);
- });
-
- it('Validating Software Products Processes Cancel Delete', () => {
- const store = storeCreator();
- deepFreeze(store.getState());
-
- const expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductProcesses.processToDelete', false);
-
- SoftwareProductProcessesActionHelper.hideDeleteConfirm(store.dispatch);
-
- expect(store.getState()).toEqual(expectedStore);
- });
-
- //**
- //** CREATE/EDIT
- //**
- it('Validating open Software Products Processes for create', () => {
- const store = storeCreator();
- deepFreeze(store.getState());
-
- let process = {};
- deepFreeze(process);
-
- const expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductProcesses.processesEditor.data', process);
-
- SoftwareProductProcessesActionHelper.openEditor(store.dispatch);
- expect(store.getState().softwareProduct.softwareProductProcesses.processesEditor.data).toEqual(expectedStore.softwareProduct.softwareProductProcesses.processesEditor.data);
- });
-
- it('Validating close Software Products Processes from editing mode', () => {
- const store = storeCreator();
- deepFreeze(store.getState());
-
- const expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductProcesses.processesEditor', {});
-
- SoftwareProductProcessesActionHelper.closeEditor(store.dispatch);
- expect(store.getState()).toEqual(expectedStore);
- });
-
- it('Validating open Software Products Processes for editing', () => {
- const store = storeCreator();
- deepFreeze(store.getState());
-
- let process = {name: 'aa', description: 'xx'};
- deepFreeze(process);
-
- const expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductProcesses.processesEditor.data', process);
-
- SoftwareProductProcessesActionHelper.openEditor(store.dispatch, process);
- expect(store.getState().softwareProduct.softwareProductProcesses.processesEditor.data).toEqual(expectedStore.softwareProduct.softwareProductProcesses.processesEditor.data);
-
- });
-
+describe('Software Product Processes Module Tests', function() {
+ let restPrefix = '';
+
+ beforeAll(function() {
+ restPrefix = Configuration.get('restPrefix');
+ deepFreeze(restPrefix);
+ });
+
+ //**
+ //** ADD
+ //**
+ it('Add Software Products Processes', () => {
+ const store = storeCreator();
+ deepFreeze(store.getState());
+
+ const softwareProductProcessFromResponse = 'ADDED_ID';
+
+ const softwareProductProcessAfterAdd = VSPProcessStoreFactory.build({
+ id: softwareProductProcessFromResponse
+ });
+ const softwareProductPostRequest = buildFromExistingObject(
+ VSPProcessPostFactory,
+ softwareProductProcessAfterAdd
+ );
+
+ const expectedStore = cloneAndSet(
+ store.getState(),
+ 'softwareProduct.softwareProductProcesses.processesList',
+ [softwareProductProcessAfterAdd]
+ );
+
+ mockRest.addHandler('post', ({ data, options, baseUrl }) => {
+ expect(baseUrl).toEqual(
+ `${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${
+ version.id
+ }/processes`
+ );
+ expect(data).toEqual(softwareProductPostRequest);
+ expect(options).toEqual(undefined);
+ return {
+ returnCode: 'OK',
+ value: softwareProductProcessFromResponse
+ };
+ });
+
+ return SoftwareProductProcessesActionHelper.saveProcess(
+ store.dispatch,
+ {
+ softwareProductId,
+ version,
+ previousProcess: null,
+ process: softwareProductPostRequest
+ }
+ ).then(() => {
+ expect(store.getState()).toEqual(expectedStore);
+ });
+ });
+
+ it('Add Software Products Processes with type', () => {
+ const store = storeCreator();
+ deepFreeze(store.getState());
+
+ const softwareProductProcessFromResponse = 'ADDED_ID';
+
+ const softwareProductProcessAfterAdd = VSPProcessStoreFactoryWithType.build(
+ { id: softwareProductProcessFromResponse }
+ );
+ const softwareProductPostRequest = buildFromExistingObject(
+ VSPProcessPostFactoryWithType,
+ softwareProductProcessAfterAdd
+ );
+
+ const expectedStore = cloneAndSet(
+ store.getState(),
+ 'softwareProduct.softwareProductProcesses.processesList',
+ [softwareProductProcessAfterAdd]
+ );
+
+ mockRest.addHandler('post', ({ data, options, baseUrl }) => {
+ expect(baseUrl).toEqual(
+ `${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${
+ version.id
+ }/processes`
+ );
+ expect(data).toEqual(softwareProductPostRequest);
+ expect(options).toEqual(undefined);
+ return {
+ returnCode: 'OK',
+ value: softwareProductProcessFromResponse
+ };
+ });
+
+ return SoftwareProductProcessesActionHelper.saveProcess(
+ store.dispatch,
+ {
+ softwareProductId,
+ version,
+ previousProcess: null,
+ process: softwareProductPostRequest
+ }
+ ).then(() => {
+ expect(store.getState()).toEqual(expectedStore);
+ });
+ });
+
+ it('Add Software Products Processes with uploaded file', () => {
+ const store = storeCreator();
+ deepFreeze(store.getState());
+
+ const softwareProductPostRequest = VSPProcessPostFactoryWithType.build();
+ const softwareProductProcessToAdd = VSPProcessPostWithFormDataFactory.build(
+ softwareProductPostRequest
+ );
+ const softwareProductProcessAfterAdd = VSPProcessStoreWithFormDataFactory.build();
+
+ const expectedStore = cloneAndSet(
+ store.getState(),
+ 'softwareProduct.softwareProductProcesses.processesList',
+ [softwareProductProcessAfterAdd]
+ );
+
+ mockRest.addHandler('post', ({ data, options, baseUrl }) => {
+ expect(baseUrl).toEqual(
+ `${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${
+ version.id
+ }/processes`
+ );
+ expect(data).toEqual(softwareProductPostRequest);
+ expect(options).toEqual(undefined);
+ return {
+ returnCode: 'OK',
+ value: softwareProductProcessAfterAdd.id
+ };
+ });
+
+ mockRest.addHandler('post', ({ data, options, baseUrl }) => {
+ expect(baseUrl).toEqual(
+ `${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${
+ version.id
+ }/processes/${softwareProductProcessAfterAdd.id}/upload`
+ );
+ expect(data).toEqual(softwareProductProcessToAdd.formData);
+ expect(options).toEqual(undefined);
+ return { returnCode: 'OK' };
+ });
+
+ return SoftwareProductProcessesActionHelper.saveProcess(
+ store.dispatch,
+ {
+ softwareProductId,
+ version,
+ previousProcess: null,
+ process: softwareProductProcessToAdd
+ }
+ ).then(() => {
+ expect(store.getState()).toEqual(expectedStore);
+ });
+ });
+
+ //**
+ //** UPDATE
+ //**
+ it('Update Software Products Processes', () => {
+ const softwareProductProcessesList = VSPProcessStoreWithArtifactNameFactory.buildList(
+ 1
+ );
+ deepFreeze(softwareProductProcessesList);
+
+ const store = storeCreator({
+ softwareProduct: {
+ softwareProductProcesses: {
+ processesList: softwareProductProcessesList
+ }
+ }
+ });
+ deepFreeze(store.getState());
+
+ const toBeUpdatedProcessId = softwareProductProcessesList[0].id;
+ const previousProcessData = softwareProductProcessesList[0];
+ const processUpdateData = VSPProcessStoreWithArtifactNameFactory.build({
+ ...previousProcessData,
+ name: 'Pr1_UPDATED',
+ description: 'string_UPDATED',
+ type: 'Other'
+ });
+
+ deepFreeze(processUpdateData);
+
+ const processPutRequest = VSPProcessPostFactory.build({
+ name: 'Pr1_UPDATED',
+ description: 'string_UPDATED',
+ type: 'Other'
+ });
+ deepFreeze(processPutRequest);
+
+ const expectedStore = cloneAndSet(
+ store.getState(),
+ 'softwareProduct.softwareProductProcesses.processesList',
+ [processUpdateData]
+ );
+
+ mockRest.addHandler('put', ({ data, options, baseUrl }) => {
+ expect(baseUrl).toEqual(
+ `${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${
+ version.id
+ }/processes/${toBeUpdatedProcessId}`
+ );
+ expect(data).toEqual(processPutRequest);
+ expect(options).toEqual(undefined);
+ return { returnCode: 'OK' };
+ });
+
+ return SoftwareProductProcessesActionHelper.saveProcess(
+ store.dispatch,
+ {
+ softwareProductId,
+ version,
+ previousProcess: previousProcessData,
+ process: processUpdateData
+ }
+ ).then(() => {
+ expect(store.getState()).toEqual(expectedStore);
+ });
+ });
+
+ it('Update Software Products Processes and uploaded file', () => {
+ const previousProcessData = VSPProcessStoreWithArtifactNameFactory.build();
+ deepFreeze(previousProcessData);
+
+ const store = storeCreator({
+ softwareProduct: {
+ softwareProductProcesses: {
+ processesList: [previousProcessData]
+ }
+ }
+ });
+ deepFreeze(store.getState());
+
+ const newProcessToUpdate = VSPProcessStoreWithFormDataFactory.build({
+ ...previousProcessData,
+ name: 'new name',
+ formData: {
+ name: 'new artifact name'
+ }
+ });
+ deepFreeze(newProcessToUpdate);
+
+ const newProcessToPutRequest = VSPProcessPostFactory.build({
+ name: newProcessToUpdate.name,
+ description: previousProcessData.description,
+ type: previousProcessData.type
+ });
+ deepFreeze(newProcessToPutRequest);
+
+ const expectedStore = cloneAndSet(
+ store.getState(),
+ 'softwareProduct.softwareProductProcesses.processesList',
+ [newProcessToUpdate]
+ );
+
+ mockRest.addHandler('put', ({ data, options, baseUrl }) => {
+ expect(baseUrl).toEqual(
+ `${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${
+ version.id
+ }/processes/${newProcessToUpdate.id}`
+ );
+ expect(data).toEqual(newProcessToPutRequest);
+ expect(options).toEqual(undefined);
+ return { returnCode: 'OK' };
+ });
+
+ mockRest.addHandler('post', ({ data, options, baseUrl }) => {
+ expect(baseUrl).toEqual(
+ `${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${
+ version.id
+ }/processes/${newProcessToUpdate.id}/upload`
+ );
+ expect(data).toEqual(newProcessToUpdate.formData);
+ expect(options).toEqual(undefined);
+ return { returnCode: 'OK' };
+ });
+
+ return SoftwareProductProcessesActionHelper.saveProcess(
+ store.dispatch,
+ {
+ softwareProductId,
+ version,
+ previousProcess: previousProcessData,
+ process: newProcessToUpdate
+ }
+ ).then(() => {
+ expect(store.getState()).toEqual(expectedStore);
+ });
+ });
+
+ //**
+ //** GET
+ //**
+ it('Get Software Products Processes List', () => {
+ const store = storeCreator();
+ deepFreeze(store.getState());
+
+ const softwareProductProcessesList = VSPProcessStoreFactory.buildList(
+ 2
+ );
+
+ deepFreeze(softwareProductProcessesList);
+
+ deepFreeze(store.getState());
+
+ const expectedStore = cloneAndSet(
+ store.getState(),
+ 'softwareProduct.softwareProductProcesses.processesList',
+ softwareProductProcessesList
+ );
+
+ mockRest.addHandler('fetch', ({ options, data, baseUrl }) => {
+ expect(baseUrl).toEqual(
+ `${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${
+ version.id
+ }/processes`
+ );
+ expect(data).toEqual(undefined);
+ expect(options).toEqual(undefined);
+ return { results: softwareProductProcessesList };
+ });
+
+ return SoftwareProductProcessesActionHelper.fetchProcessesList(
+ store.dispatch,
+ { softwareProductId, version }
+ ).then(() => {
+ expect(store.getState()).toEqual(expectedStore);
+ });
+ });
+
+ //**
+ //** DELETE
+ //**
+ it('Delete Software Products Processes', () => {
+ const softwareProductProcessesList = VSPProcessStoreWithArtifactNameFactory.buildList(
+ 1
+ );
+ const currentSoftwareProduct = VSPEditorFactory.build();
+
+ deepFreeze(softwareProductProcessesList);
+ const store = storeCreator({
+ softwareProduct: {
+ softwareProductProcesses: {
+ processesList: softwareProductProcessesList
+ },
+ softwareProductEditor: {
+ data: currentSoftwareProduct
+ }
+ }
+ });
+
+ const processId = softwareProductProcessesList[0].id;
+ const versionId = version.id;
+ deepFreeze(store.getState());
+
+ const expectedStore = cloneAndSet(
+ store.getState(),
+ 'softwareProduct.softwareProductProcesses.processesList',
+ []
+ );
+
+ mockRest.addHandler('destroy', ({ data, options, baseUrl }) => {
+ expect(baseUrl).toEqual(
+ `${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${versionId}/processes/${processId}`
+ );
+ expect(data).toEqual(undefined);
+ expect(options).toEqual(undefined);
+ return {
+ results: {
+ returnCode: 'OK'
+ }
+ };
+ });
+
+ return SoftwareProductProcessesActionHelper.deleteProcess(
+ store.dispatch,
+ {
+ process: softwareProductProcessesList[0],
+ softwareProductId,
+ version
+ }
+ ).then(() => {
+ expect(store.getState()).toEqual(expectedStore);
+ });
+ });
+
+ it('Validating Software Products Processes Delete confirmation', () => {
+ const store = storeCreator();
+ deepFreeze(store.getState());
+
+ let process = VSPProcessStoreFactory.build();
+ deepFreeze(process);
+
+ const expectedStore = cloneAndSet(
+ store.getState(),
+ 'softwareProduct.softwareProductProcesses.processToDelete',
+ process
+ );
+
+ return SoftwareProductProcessesActionHelper.openDeleteProcessesConfirm(
+ store.dispatch,
+ { process }
+ );
+
+ expect(store.getState()).toEqual(expectedStore);
+ });
+
+ it('Validating Software Products Processes Cancel Delete', () => {
+ const store = storeCreator();
+ deepFreeze(store.getState());
+
+ const expectedStore = cloneAndSet(
+ store.getState(),
+ 'softwareProduct.softwareProductProcesses.processToDelete',
+ false
+ );
+
+ SoftwareProductProcessesActionHelper.hideDeleteConfirm(store.dispatch);
+
+ expect(store.getState()).toEqual(expectedStore);
+ });
+
+ //**
+ //** CREATE/EDIT
+ //**
+
+ it('Validating close Software Products Processes from editing mode', () => {
+ const store = storeCreator();
+ deepFreeze(store.getState());
+
+ const expectedStore = cloneAndSet(
+ store.getState(),
+ 'softwareProduct.softwareProductProcesses.processesEditor',
+ {}
+ );
+
+ SoftwareProductProcessesActionHelper.closeEditor(store.dispatch);
+ expect(store.getState()).toEqual(expectedStore);
+ });
+
+ it('Validating open Software Products Processes for editing', () => {
+ const store = storeCreator();
+ deepFreeze(store.getState());
+
+ let process = { name: 'aa', description: 'xx' };
+ deepFreeze(process);
+
+ const expectedStore = cloneAndSet(
+ store.getState(),
+ 'softwareProduct.softwareProductProcesses.processesEditor.data',
+ process
+ );
+
+ SoftwareProductProcessesActionHelper.openEditor(store.dispatch, {
+ process
+ });
+ expect(
+ store.getState().softwareProduct.softwareProductProcesses
+ .processesEditor.data
+ ).toEqual(
+ expectedStore.softwareProduct.softwareProductProcesses
+ .processesEditor.data
+ );
+ });
});
diff --git a/openecomp-ui/test/softwareProduct/test.js b/openecomp-ui/test/softwareProduct/test.js
index 91b4e7d40e..489b9829b5 100644
--- a/openecomp-ui/test/softwareProduct/test.js
+++ b/openecomp-ui/test/softwareProduct/test.js
@@ -71,11 +71,10 @@ describe('Software Product Module Tests', function() {
};
const expectedSuccessModal = {
cancelButtonText: 'OK',
- modalClassName: 'notification-modal',
msg: 'This software product successfully submitted',
timeout: 2000,
title: 'Submit Succeeded',
- type: 'success'
+ type: 'info'
};
let expectedStore = store.getState();
diff --git a/openecomp-ui/test/utils/errorResponseHandler.test.js b/openecomp-ui/test/utils/errorResponseHandler.test.js
index cae8bc4955..de2b8b2d5e 100644
--- a/openecomp-ui/test/utils/errorResponseHandler.test.js
+++ b/openecomp-ui/test/utils/errorResponseHandler.test.js
@@ -1,5 +1,5 @@
/*
- * Copyright © 2016-2017 European Support Limited
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,119 +15,132 @@
*/
import deepFreeze from 'deep-freeze';
-import {cloneAndSet} from '../../test-utils/Util.js';
+import { cloneAndSet } from '../../test-utils/Util.js';
import store from 'sdc-app/AppStore.js';
import errorResponseHandler from 'nfvo-utils/ErrorResponseHandler.js';
-import {typeEnum as modalType} from 'nfvo-components/modal/GlobalModalConstants.js';
+import { typeEnum as modalType } from 'nfvo-components/modal/GlobalModalConstants.js';
describe('Error Response Handler Util', () => {
-
- beforeEach(function () {
- deepFreeze(store.getState());
- });
-
- it('validating error in policyException', () => {
- let textStatus = '', errorThrown = '';
- let xhr = {
- data: {
- requestError: {
- policyException: {
- messageId: 'SVC4122',
- text: 'Error: Invalid data.'
- }
- }
- }
- };
- deepFreeze(xhr);
-
- const errorNotification = {
- title: 'Error: SVC4122',
- msg: 'Error: Invalid data.',
- modalClassName: 'notification-modal',
- type: modalType.ERROR
- };
-
-
-
- const expectedStore = cloneAndSet(store.getState(), 'modal', errorNotification);
-
- errorResponseHandler(xhr, textStatus, errorThrown);
-
- expect(store.getState()).toEqual(expectedStore);
- });
-
- it('validating error in serviceException with variables', () => {
- let textStatus = '', errorThrown = '';
- let xhr = {
- data: {
- requestError: {
- serviceException: {
- messageId: 'SVC4122',
- text: "Error: Invalid artifact type '%1'.",
- variables: ['newType']
- }
- }
- }
- };
- deepFreeze(xhr);
-
- const errorNotification = {
- title: 'Error: SVC4122',
- msg: 'Error: Invalid artifact type newType.',
- modalClassName: 'notification-modal',
- type: modalType.ERROR
- };
-
- const expectedStore = cloneAndSet(store.getState(), 'modal', errorNotification);
-
- errorResponseHandler(xhr, textStatus, errorThrown);
-
- expect(store.getState()).toEqual(expectedStore);
- });
-
- it('validating error in response', () => {
- let textStatus = '', errorThrown = '';
- let xhr = {
- data: {
- status: 'AA',
- message: 'Error: Invalid data.'
- }
- };
- deepFreeze(xhr);
-
- const errorNotification = {
- title: 'AA',
- msg: 'Error: Invalid data.',
- modalClassName: 'notification-modal',
- type: modalType.ERROR
- };
-
- const expectedStore = cloneAndSet(store.getState(), 'modal', errorNotification);
-
- errorResponseHandler(xhr, textStatus, errorThrown);
-
- expect(store.getState()).toEqual(expectedStore);
- });
-
- it('validating error in request', () => {
- let textStatus = '', errorThrown = '';
- let xhr = {
- statusText: '500',
- responseText: 'Internal server error.'
- };
- deepFreeze(xhr);
-
- const errorNotification = {
- title: '500',
- msg: 'Internal server error.',
- modalClassName: 'notification-modal',
- type: modalType.ERROR
- };
-
- const expectedStore = cloneAndSet(store.getState(), 'modal', errorNotification);
-
- errorResponseHandler(xhr, textStatus, errorThrown);
-
- expect(store.getState()).toEqual(expectedStore);
- });
+ beforeEach(function() {
+ deepFreeze(store.getState());
+ });
+
+ it('validating error in policyException', () => {
+ let textStatus = '',
+ errorThrown = '';
+ let xhr = {
+ data: {
+ requestError: {
+ policyException: {
+ messageId: 'SVC4122',
+ text: 'Error: Invalid data.'
+ }
+ }
+ }
+ };
+ deepFreeze(xhr);
+
+ const errorNotification = {
+ title: 'Error: SVC4122',
+ msg: 'Error: Invalid data.',
+ type: modalType.ERROR
+ };
+
+ const expectedStore = cloneAndSet(
+ store.getState(),
+ 'modal',
+ errorNotification
+ );
+
+ errorResponseHandler(xhr, textStatus, errorThrown);
+
+ expect(store.getState()).toEqual(expectedStore);
+ });
+
+ it('validating error in serviceException with variables', () => {
+ let textStatus = '',
+ errorThrown = '';
+ let xhr = {
+ data: {
+ requestError: {
+ serviceException: {
+ messageId: 'SVC4122',
+ text: "Error: Invalid artifact type '%1'.",
+ variables: ['newType']
+ }
+ }
+ }
+ };
+ deepFreeze(xhr);
+
+ const errorNotification = {
+ title: 'Error: SVC4122',
+ msg: 'Error: Invalid artifact type newType.',
+ type: modalType.ERROR
+ };
+
+ const expectedStore = cloneAndSet(
+ store.getState(),
+ 'modal',
+ errorNotification
+ );
+
+ errorResponseHandler(xhr, textStatus, errorThrown);
+
+ expect(store.getState()).toEqual(expectedStore);
+ });
+
+ it('validating error in response', () => {
+ let textStatus = '',
+ errorThrown = '';
+ let xhr = {
+ data: {
+ status: 'AA',
+ message: 'Error: Invalid data.'
+ }
+ };
+ deepFreeze(xhr);
+
+ const errorNotification = {
+ title: 'AA',
+ msg: 'Error: Invalid data.',
+ type: modalType.ERROR
+ };
+
+ const expectedStore = cloneAndSet(
+ store.getState(),
+ 'modal',
+ errorNotification
+ );
+
+ errorResponseHandler(xhr, textStatus, errorThrown);
+
+ expect(store.getState()).toEqual(expectedStore);
+ });
+
+ it('validating error in request', () => {
+ let textStatus = '',
+ errorThrown = '';
+ let xhr = {
+ statusText: '500',
+ responseText: 'Internal server error.'
+ };
+ deepFreeze(xhr);
+
+ const errorNotification = {
+ title: '500',
+ msg: 'Internal server error.',
+ type: modalType.ERROR
+ };
+
+ const expectedStore = cloneAndSet(
+ store.getState(),
+ 'modal',
+ errorNotification
+ );
+
+ errorResponseHandler(xhr, textStatus, errorThrown);
+
+ expect(store.getState()).toEqual(expectedStore);
+ });
});
diff --git a/openecomp-ui/yarn.lock b/openecomp-ui/yarn.lock
index 6cd7e3ba62..56a9880ebd 100644
--- a/openecomp-ui/yarn.lock
+++ b/openecomp-ui/yarn.lock
@@ -78,6 +78,10 @@
esutils "^2.0.2"
js-tokens "^3.0.0"
+"@babel/parser@7.0.0-beta.53":
+ version "7.0.0-beta.53"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0-beta.53.tgz#1f45eb617bf9463d482b2c04d349d9e4edbf4892"
+
"@babel/template@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.44.tgz#f8832f4fdcee5d59bf515e595fc5106c529b394f"
@@ -131,11 +135,11 @@
version "0.7.0"
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd"
-"@storybook/addon-actions@3.4.6":
- version "3.4.6"
- resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-3.4.6.tgz#70ca84a4754ea2969640428890d9a3c9369261f6"
+"@storybook/addon-actions@3.4.10":
+ version "3.4.10"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-3.4.10.tgz#b90ca8ccbad925dcbb4af02d2d24cc2c60bcec3f"
dependencies:
- "@storybook/components" "3.4.6"
+ "@storybook/components" "3.4.10"
babel-runtime "^6.26.0"
deep-equal "^1.0.1"
glamor "^2.20.40"
@@ -146,52 +150,52 @@
react-inspector "^2.2.2"
uuid "^3.2.1"
-"@storybook/addon-links@3.4.6":
- version "3.4.6"
- resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-3.4.6.tgz#0e167c03932ddfcbeba02215af1a420c0d3f0843"
+"@storybook/addon-links@3.4.10":
+ version "3.4.10"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-3.4.10.tgz#db53d0a0b354e7f5e55195315f48f7045307a429"
dependencies:
- "@storybook/components" "3.4.6"
+ "@storybook/components" "3.4.10"
babel-runtime "^6.26.0"
global "^4.3.2"
prop-types "^15.6.1"
-"@storybook/addons@3.4.6":
- version "3.4.6"
- resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.4.6.tgz#8275e46b8dfe7c751f2f18a431bc3339c999a2ae"
+"@storybook/addons@3.4.10":
+ version "3.4.10"
+ resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.4.10.tgz#13298cdcb7ccc396321b1336b9785b69273a022d"
-"@storybook/channel-postmessage@3.4.6":
- version "3.4.6"
- resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-3.4.6.tgz#acb7d6096bd060a3d224d7e753e33c22f21fabdb"
+"@storybook/channel-postmessage@3.4.10":
+ version "3.4.10"
+ resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-3.4.10.tgz#fa88bdf8530d4499481c9e30c9364545f043b908"
dependencies:
- "@storybook/channels" "3.4.6"
+ "@storybook/channels" "3.4.10"
global "^4.3.2"
json-stringify-safe "^5.0.1"
-"@storybook/channels@3.4.6":
- version "3.4.6"
- resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-3.4.6.tgz#4147b4e171763f168cd523a3f83e7e125c9523c2"
+"@storybook/channels@3.4.10":
+ version "3.4.10"
+ resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-3.4.10.tgz#ab023a0d8cbd34a4eb4b8ae5c6f02654fed9190b"
-"@storybook/client-logger@3.4.6":
- version "3.4.6"
- resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-3.4.6.tgz#2f2b271d6825c7325f999f6b17d7ef69984faa18"
+"@storybook/client-logger@3.4.10":
+ version "3.4.10"
+ resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-3.4.10.tgz#510854ee326808a65a20b79e3405763280bc7027"
-"@storybook/components@3.4.6":
- version "3.4.6"
- resolved "https://registry.yarnpkg.com/@storybook/components/-/components-3.4.6.tgz#34bddcfa21bddc59ef57a052d157285fab7ba003"
+"@storybook/components@3.4.10":
+ version "3.4.10"
+ resolved "https://registry.yarnpkg.com/@storybook/components/-/components-3.4.10.tgz#9af0bba14234d10f14a37656ac5982ec640cfcc8"
dependencies:
glamor "^2.20.40"
glamorous "^4.12.1"
prop-types "^15.6.1"
-"@storybook/core@3.4.6":
- version "3.4.6"
- resolved "https://registry.yarnpkg.com/@storybook/core/-/core-3.4.6.tgz#3261dc89bff2c716579270da3f5cf83a374eca5c"
+"@storybook/core@3.4.10":
+ version "3.4.10"
+ resolved "https://registry.yarnpkg.com/@storybook/core/-/core-3.4.10.tgz#32bdd071be15ad611e87f55d96e1d80bcc23e636"
dependencies:
- "@storybook/addons" "3.4.6"
- "@storybook/channel-postmessage" "3.4.6"
- "@storybook/client-logger" "3.4.6"
- "@storybook/node-logger" "3.4.6"
- "@storybook/ui" "3.4.6"
+ "@storybook/addons" "3.4.10"
+ "@storybook/channel-postmessage" "3.4.10"
+ "@storybook/client-logger" "3.4.10"
+ "@storybook/node-logger" "3.4.10"
+ "@storybook/ui" "3.4.10"
autoprefixer "^7.2.6"
babel-runtime "^6.26.0"
chalk "^2.3.2"
@@ -223,9 +227,9 @@
"@storybook/react-simple-di" "^1.2.1"
babel-runtime "6.x.x"
-"@storybook/node-logger@3.4.6":
- version "3.4.6"
- resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-3.4.6.tgz#aed4f5bd102e033391584ef82bd3fec055659448"
+"@storybook/node-logger@3.4.10":
+ version "3.4.10"
+ resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-3.4.10.tgz#b89b7008a7d98b28530920a178ec77bde2ab97cc"
dependencies:
npmlog "^4.1.2"
@@ -262,17 +266,17 @@
babel-runtime "^6.5.0"
"@storybook/react@^3.1.5":
- version "3.4.6"
- resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.4.6.tgz#8bc0c1e10305d7539decb8f8c781b5970ff951ff"
- dependencies:
- "@storybook/addon-actions" "3.4.6"
- "@storybook/addon-links" "3.4.6"
- "@storybook/addons" "3.4.6"
- "@storybook/channel-postmessage" "3.4.6"
- "@storybook/client-logger" "3.4.6"
- "@storybook/core" "3.4.6"
- "@storybook/node-logger" "3.4.6"
- "@storybook/ui" "3.4.6"
+ version "3.4.10"
+ resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.4.10.tgz#3bab6cd5c23c90b3de7b9e5aa58042a28cb0d181"
+ dependencies:
+ "@storybook/addon-actions" "3.4.10"
+ "@storybook/addon-links" "3.4.10"
+ "@storybook/addons" "3.4.10"
+ "@storybook/channel-postmessage" "3.4.10"
+ "@storybook/client-logger" "3.4.10"
+ "@storybook/core" "3.4.10"
+ "@storybook/node-logger" "3.4.10"
+ "@storybook/ui" "3.4.10"
airbnb-js-shims "^1.4.1"
babel-loader "^7.1.4"
babel-plugin-macros "^2.2.0"
@@ -305,11 +309,11 @@
webpack "^3.11.0"
webpack-hot-middleware "^2.22.1"
-"@storybook/ui@3.4.6":
- version "3.4.6"
- resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.4.6.tgz#c25c93d0843c4250b77b2a3614533a7d5790893d"
+"@storybook/ui@3.4.10":
+ version "3.4.10"
+ resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.4.10.tgz#aeb36f60f4297a7065aa64ba770df681d6aac793"
dependencies:
- "@storybook/components" "3.4.6"
+ "@storybook/components" "3.4.10"
"@storybook/mantra-core" "^1.7.2"
"@storybook/podda" "^1.2.3"
"@storybook/react-komposer" "^2.0.3"
@@ -331,132 +335,144 @@
react-split-pane "^0.1.77"
react-treebeard "^2.1.0"
-"@webassemblyjs/ast@1.5.9":
- version "1.5.9"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.5.9.tgz#b2770182678691ab4949d593105c15d4074fedb6"
+"@types/node@*":
+ version "10.5.7"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.5.7.tgz#960d9feb3ade2233bcc9843c918d740b4f78a7cf"
+
+"@webassemblyjs/ast@1.5.13":
+ version "1.5.13"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.5.13.tgz#81155a570bd5803a30ec31436bc2c9c0ede38f25"
dependencies:
- "@webassemblyjs/helper-module-context" "1.5.9"
- "@webassemblyjs/helper-wasm-bytecode" "1.5.9"
- "@webassemblyjs/wast-parser" "1.5.9"
+ "@webassemblyjs/helper-module-context" "1.5.13"
+ "@webassemblyjs/helper-wasm-bytecode" "1.5.13"
+ "@webassemblyjs/wast-parser" "1.5.13"
debug "^3.1.0"
mamacro "^0.0.3"
-"@webassemblyjs/floating-point-hex-parser@1.5.9":
- version "1.5.9"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.9.tgz#ee56243f6ba30781ff6f92fe7f1c377255219a7c"
+"@webassemblyjs/floating-point-hex-parser@1.5.13":
+ version "1.5.13"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.13.tgz#29ce0baa97411f70e8cce68ce9c0f9d819a4e298"
-"@webassemblyjs/helper-api-error@1.5.9":
- version "1.5.9"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.9.tgz#c80e204afe1ae102c23b0357f1ec25aeb61022a2"
+"@webassemblyjs/helper-api-error@1.5.13":
+ version "1.5.13"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.13.tgz#e49b051d67ee19a56e29b9aa8bd949b5b4442a59"
-"@webassemblyjs/helper-buffer@1.5.9":
- version "1.5.9"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.9.tgz#90d99afcb0fdc1ee11bc403894f3ae37cd926a81"
+"@webassemblyjs/helper-buffer@1.5.13":
+ version "1.5.13"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.13.tgz#873bb0a1b46449231137c1262ddfd05695195a1e"
dependencies:
debug "^3.1.0"
-"@webassemblyjs/helper-code-frame@1.5.9":
- version "1.5.9"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.9.tgz#b56ac06a39c3e1cfefcc421ade1ee471a738a570"
+"@webassemblyjs/helper-code-frame@1.5.13":
+ version "1.5.13"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.13.tgz#1bd2181b6a0be14e004f0fe9f5a660d265362b58"
dependencies:
- "@webassemblyjs/wast-printer" "1.5.9"
+ "@webassemblyjs/wast-printer" "1.5.13"
-"@webassemblyjs/helper-fsm@1.5.9":
- version "1.5.9"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.9.tgz#8f996268eb07ee6728130a9e97fa3aac32772454"
+"@webassemblyjs/helper-fsm@1.5.13":
+ version "1.5.13"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.13.tgz#cdf3d9d33005d543a5c5e5adaabf679ffa8db924"
-"@webassemblyjs/helper-module-context@1.5.9":
- version "1.5.9"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.9.tgz#69e2eea310f755a0b750b84f8af59f890f2046ac"
+"@webassemblyjs/helper-module-context@1.5.13":
+ version "1.5.13"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.13.tgz#dc29ddfb51ed657655286f94a5d72d8a489147c5"
+ dependencies:
+ debug "^3.1.0"
+ mamacro "^0.0.3"
-"@webassemblyjs/helper-wasm-bytecode@1.5.9":
- version "1.5.9"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.9.tgz#467ba0f9e4d0e4a48bf1c5107b9f4abe3ca1171a"
+"@webassemblyjs/helper-wasm-bytecode@1.5.13":
+ version "1.5.13"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.13.tgz#03245817f0a762382e61733146f5773def15a747"
-"@webassemblyjs/helper-wasm-section@1.5.9":
- version "1.5.9"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.9.tgz#aec9486ab5d56e3cb5252a7ed88777b6792ac624"
+"@webassemblyjs/helper-wasm-section@1.5.13":
+ version "1.5.13"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.13.tgz#efc76f44a10d3073b584b43c38a179df173d5c7d"
dependencies:
- "@webassemblyjs/ast" "1.5.9"
- "@webassemblyjs/helper-buffer" "1.5.9"
- "@webassemblyjs/helper-wasm-bytecode" "1.5.9"
- "@webassemblyjs/wasm-gen" "1.5.9"
+ "@webassemblyjs/ast" "1.5.13"
+ "@webassemblyjs/helper-buffer" "1.5.13"
+ "@webassemblyjs/helper-wasm-bytecode" "1.5.13"
+ "@webassemblyjs/wasm-gen" "1.5.13"
debug "^3.1.0"
-"@webassemblyjs/ieee754@1.5.9":
- version "1.5.9"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.5.9.tgz#846856ece040c7debd5b5645b319c26523613bcf"
+"@webassemblyjs/ieee754@1.5.13":
+ version "1.5.13"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.5.13.tgz#573e97c8c12e4eebb316ca5fde0203ddd90b0364"
dependencies:
ieee754 "^1.1.11"
-"@webassemblyjs/leb128@1.5.9":
- version "1.5.9"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.5.9.tgz#7249443a0fd7574a7e3c1c39532535c735390bbc"
+"@webassemblyjs/leb128@1.5.13":
+ version "1.5.13"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.5.13.tgz#ab52ebab9cec283c1c1897ac1da833a04a3f4cee"
dependencies:
- leb "^0.3.0"
+ long "4.0.0"
+
+"@webassemblyjs/utf8@1.5.13":
+ version "1.5.13"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.5.13.tgz#6b53d2cd861cf94fa99c1f12779dde692fbc2469"
-"@webassemblyjs/wasm-edit@1.5.9":
- version "1.5.9"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.9.tgz#9b8e054b2d305a7e0528088571c95904bd73df48"
+"@webassemblyjs/wasm-edit@1.5.13":
+ version "1.5.13"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.13.tgz#c9cef5664c245cf11b3b3a73110c9155831724a8"
dependencies:
- "@webassemblyjs/ast" "1.5.9"
- "@webassemblyjs/helper-buffer" "1.5.9"
- "@webassemblyjs/helper-wasm-bytecode" "1.5.9"
- "@webassemblyjs/helper-wasm-section" "1.5.9"
- "@webassemblyjs/wasm-gen" "1.5.9"
- "@webassemblyjs/wasm-opt" "1.5.9"
- "@webassemblyjs/wasm-parser" "1.5.9"
- "@webassemblyjs/wast-printer" "1.5.9"
+ "@webassemblyjs/ast" "1.5.13"
+ "@webassemblyjs/helper-buffer" "1.5.13"
+ "@webassemblyjs/helper-wasm-bytecode" "1.5.13"
+ "@webassemblyjs/helper-wasm-section" "1.5.13"
+ "@webassemblyjs/wasm-gen" "1.5.13"
+ "@webassemblyjs/wasm-opt" "1.5.13"
+ "@webassemblyjs/wasm-parser" "1.5.13"
+ "@webassemblyjs/wast-printer" "1.5.13"
debug "^3.1.0"
-"@webassemblyjs/wasm-gen@1.5.9":
- version "1.5.9"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.9.tgz#85e07c047fab917e06b18dee4d16342a2fd3c59c"
+"@webassemblyjs/wasm-gen@1.5.13":
+ version "1.5.13"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.13.tgz#8e6ea113c4b432fa66540189e79b16d7a140700e"
dependencies:
- "@webassemblyjs/ast" "1.5.9"
- "@webassemblyjs/helper-wasm-bytecode" "1.5.9"
- "@webassemblyjs/ieee754" "1.5.9"
- "@webassemblyjs/leb128" "1.5.9"
+ "@webassemblyjs/ast" "1.5.13"
+ "@webassemblyjs/helper-wasm-bytecode" "1.5.13"
+ "@webassemblyjs/ieee754" "1.5.13"
+ "@webassemblyjs/leb128" "1.5.13"
+ "@webassemblyjs/utf8" "1.5.13"
-"@webassemblyjs/wasm-opt@1.5.9":
- version "1.5.9"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.9.tgz#ccac17c41a044c167bc95d3e8645cf889a137ce5"
+"@webassemblyjs/wasm-opt@1.5.13":
+ version "1.5.13"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.13.tgz#147aad7717a7ee4211c36b21a5f4c30dddf33138"
dependencies:
- "@webassemblyjs/ast" "1.5.9"
- "@webassemblyjs/helper-buffer" "1.5.9"
- "@webassemblyjs/wasm-gen" "1.5.9"
- "@webassemblyjs/wasm-parser" "1.5.9"
+ "@webassemblyjs/ast" "1.5.13"
+ "@webassemblyjs/helper-buffer" "1.5.13"
+ "@webassemblyjs/wasm-gen" "1.5.13"
+ "@webassemblyjs/wasm-parser" "1.5.13"
debug "^3.1.0"
-"@webassemblyjs/wasm-parser@1.5.9":
- version "1.5.9"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.9.tgz#ddab84da4957b64aafbc61e4ab706cc667082f32"
- dependencies:
- "@webassemblyjs/ast" "1.5.9"
- "@webassemblyjs/helper-api-error" "1.5.9"
- "@webassemblyjs/helper-wasm-bytecode" "1.5.9"
- "@webassemblyjs/ieee754" "1.5.9"
- "@webassemblyjs/leb128" "1.5.9"
- "@webassemblyjs/wasm-parser" "1.5.9"
-
-"@webassemblyjs/wast-parser@1.5.9":
- version "1.5.9"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.5.9.tgz#193d24ccf4742a5f8f1915936680ab2314011df2"
- dependencies:
- "@webassemblyjs/ast" "1.5.9"
- "@webassemblyjs/floating-point-hex-parser" "1.5.9"
- "@webassemblyjs/helper-api-error" "1.5.9"
- "@webassemblyjs/helper-code-frame" "1.5.9"
- "@webassemblyjs/helper-fsm" "1.5.9"
+"@webassemblyjs/wasm-parser@1.5.13":
+ version "1.5.13"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.13.tgz#6f46516c5bb23904fbdf58009233c2dd8a54c72f"
+ dependencies:
+ "@webassemblyjs/ast" "1.5.13"
+ "@webassemblyjs/helper-api-error" "1.5.13"
+ "@webassemblyjs/helper-wasm-bytecode" "1.5.13"
+ "@webassemblyjs/ieee754" "1.5.13"
+ "@webassemblyjs/leb128" "1.5.13"
+ "@webassemblyjs/utf8" "1.5.13"
+
+"@webassemblyjs/wast-parser@1.5.13":
+ version "1.5.13"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.5.13.tgz#5727a705d397ae6a3ae99d7f5460acf2ec646eea"
+ dependencies:
+ "@webassemblyjs/ast" "1.5.13"
+ "@webassemblyjs/floating-point-hex-parser" "1.5.13"
+ "@webassemblyjs/helper-api-error" "1.5.13"
+ "@webassemblyjs/helper-code-frame" "1.5.13"
+ "@webassemblyjs/helper-fsm" "1.5.13"
long "^3.2.0"
mamacro "^0.0.3"
-"@webassemblyjs/wast-printer@1.5.9":
- version "1.5.9"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.5.9.tgz#16605d90a481c01a130b7c4edeb2bce503787eb4"
+"@webassemblyjs/wast-printer@1.5.13":
+ version "1.5.13"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.5.13.tgz#bb34d528c14b4f579e7ec11e793ec50ad7cd7c95"
dependencies:
- "@webassemblyjs/ast" "1.5.9"
- "@webassemblyjs/wast-parser" "1.5.9"
+ "@webassemblyjs/ast" "1.5.13"
+ "@webassemblyjs/wast-parser" "1.5.13"
long "^3.2.0"
abab@^1.0.3:
@@ -506,17 +522,17 @@ acorn@^4.0.3, acorn@^4.0.4:
version "4.0.13"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787"
-acorn@^5.0.0, acorn@^5.2.1, acorn@^5.5.0:
- version "5.5.3"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9"
+acorn@^5.0.0, acorn@^5.2.1, acorn@^5.5.0, acorn@^5.6.2:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8"
address@1.0.3, address@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9"
airbnb-js-shims@^1.4.1:
- version "1.5.2"
- resolved "https://registry.yarnpkg.com/airbnb-js-shims/-/airbnb-js-shims-1.5.2.tgz#25132bc99784ec702ac1e2467f043c82ca0bd170"
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/airbnb-js-shims/-/airbnb-js-shims-1.7.0.tgz#bc74f00bd241632051ebec80bc5ccfed2b21dffc"
dependencies:
array-includes "^3.0.3"
array.prototype.flat "^1.2.1"
@@ -526,9 +542,11 @@ airbnb-js-shims@^1.4.1:
es6-shim "^0.35.3"
function.prototype.name "^1.1.0"
object.entries "^1.0.4"
+ object.fromentries "^1.0.0"
object.getownpropertydescriptors "^2.0.3"
object.values "^1.0.4"
promise.prototype.finally "^3.1.0"
+ string.prototype.matchall "^3.0.0"
string.prototype.padend "^3.0.0"
string.prototype.padstart "^3.0.0"
symbol.prototype.description "^1.0.0"
@@ -541,6 +559,13 @@ ajv-keywords@^3.1.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a"
+ajv@^4.9.1:
+ version "4.11.8"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
+ dependencies:
+ co "^4.6.0"
+ json-stable-stringify "^1.0.1"
+
ajv@^5.0.0, ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0:
version "5.5.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
@@ -551,12 +576,12 @@ ajv@^5.0.0, ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0:
json-schema-traverse "^0.3.0"
ajv@^6.1.0:
- version "6.5.0"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.0.tgz#4c8affdf80887d8f132c9c52ab8a2dc4d0b7b24c"
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.2.tgz#678495f9b82f7cca6be248dd92f59bff5e1f4360"
dependencies:
fast-deep-equal "^2.0.1"
fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.3.0"
+ json-schema-traverse "^0.4.1"
uri-js "^4.2.1"
align-text@^0.1.1, align-text@^0.1.3:
@@ -642,11 +667,11 @@ anymatch@^2.0.0:
micromatch "^3.1.4"
normalize-path "^2.1.1"
-append-transform@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991"
+append-transform@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab"
dependencies:
- default-require-extensions "^1.0.0"
+ default-require-extensions "^2.0.0"
aproba@^1.0.3, aproba@^1.1.1:
version "1.2.0"
@@ -804,8 +829,10 @@ asn1.js@^4.0.0:
minimalistic-assert "^1.0.0"
asn1@~0.2.3:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
+ dependencies:
+ safer-buffer "~2.1.0"
assert-plus@1.0.0, assert-plus@^1.0.0:
version "1.0.0"
@@ -829,9 +856,9 @@ ast-types@0.10.1:
version "0.10.1"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.10.1.tgz#f52fca9715579a14f841d67d7f8d25432ab6a3dd"
-ast-types@0.11.3:
- version "0.11.3"
- resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.3.tgz#c20757fe72ee71278ea0ff3d87e5c2ca30d9edf8"
+ast-types@0.11.5:
+ version "0.11.5"
+ resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.5.tgz#9890825d660c03c28339f315e9fa0a360e31ec28"
ast-types@0.9.6:
version "0.9.6"
@@ -867,6 +894,10 @@ async@^2.1.2, async@^2.1.4, async@^2.6.0:
dependencies:
lodash "^4.17.10"
+async@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9"
+
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@@ -879,9 +910,9 @@ atob@~1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/atob/-/atob-1.1.3.tgz#95f13629b12c3a51a5d215abdce2aa9f32f80773"
-attr-accept@^1.0.3, attr-accept@^1.1.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-1.1.2.tgz#6836bfe054e4ef1ee3076fdde56cec9bb3ffead6"
+attr-accept@^1.1.0, attr-accept@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-1.1.3.tgz#48230c79f93790ef2775fcec4f0db0f5db41ca52"
dependencies:
core-js "^2.5.0"
@@ -916,8 +947,8 @@ aws-sign2@~0.7.0:
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
aws4@^1.2.1, aws4@^1.6.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289"
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
axios@^0.16.2:
version "0.16.2"
@@ -959,14 +990,14 @@ babel-core@^6.0.0, babel-core@^6.24.0, babel-core@^6.26.0:
source-map "^0.5.7"
babel-eslint@^8.2.1:
- version "8.2.3"
- resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.3.tgz#1a2e6681cc9bc4473c32899e59915e19cd6733cf"
+ version "8.2.6"
+ resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.6.tgz#6270d0c73205628067c0f7ae1693a9e797acefd9"
dependencies:
"@babel/code-frame" "7.0.0-beta.44"
"@babel/traverse" "7.0.0-beta.44"
"@babel/types" "7.0.0-beta.44"
babylon "7.0.0-beta.44"
- eslint-scope "~3.7.1"
+ eslint-scope "3.7.1"
eslint-visitor-keys "^1.0.0"
babel-generator@^6.18.0, babel-generator@^6.26.0:
@@ -1150,7 +1181,7 @@ babel-jest@^22.1.0:
babel-plugin-istanbul "^4.1.5"
babel-preset-jest "^22.4.4"
-babel-loader@7.1.4, babel-loader@^7.1.4:
+babel-loader@7.1.4:
version "7.1.4"
resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.4.tgz#e3463938bd4e6d55d1c174c5485d406a188ed015"
dependencies:
@@ -1158,6 +1189,14 @@ babel-loader@7.1.4, babel-loader@^7.1.4:
loader-utils "^1.0.2"
mkdirp "^0.5.1"
+babel-loader@^7.1.4:
+ version "7.1.5"
+ resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.5.tgz#e3ee0cd7394aa557e013b02d3e492bfd07aa6d68"
+ dependencies:
+ find-cache-dir "^1.0.0"
+ loader-utils "^1.0.2"
+ mkdirp "^0.5.1"
+
babel-messages@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
@@ -1188,10 +1227,10 @@ babel-plugin-jest-hoist@^22.4.4:
resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.4.tgz#b9851906eab34c7bf6f8c895a2b08bea1a844c0b"
babel-plugin-macros@^2.2.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.2.1.tgz#7cc0f84735aa86f776b51860793a98928f43a7fa"
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.4.0.tgz#6c5f9836e1f6c0a9743b3bab4af29f73e437e544"
dependencies:
- cosmiconfig "^4.0.0"
+ cosmiconfig "^5.0.5"
babel-plugin-minify-builtins@^0.3.0:
version "0.3.0"
@@ -1356,8 +1395,8 @@ babel-plugin-transform-class-properties@^6.10.2, babel-plugin-transform-class-pr
babel-template "^6.24.1"
babel-plugin-transform-decorators-legacy@^1.3.4:
- version "1.3.4"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz#741b58f6c5bce9e6027e0882d9c994f04f366925"
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.5.tgz#0e492dffa0edd70529072887f8aa86d4dd8b40a1"
dependencies:
babel-plugin-syntax-decorators "^6.1.18"
babel-runtime "^6.2.0"
@@ -1889,10 +1928,6 @@ babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26
lodash "^4.17.4"
to-fast-properties "^1.0.3"
-babylon@7.0.0-beta.31:
- version "7.0.0-beta.31"
- resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.31.tgz#7ec10f81e0e456fd0f855ad60fa30c2ac454283f"
-
babylon@7.0.0-beta.44:
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.44.tgz#89159e15e6e30c5096e22d738d8c0af8a0e8ca1d"
@@ -1901,7 +1936,7 @@ babylon@^6.17.3, babylon@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
-babylon@^7.0.0-beta.30:
+babylon@^7.0.0-beta.47:
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.47.tgz#6d1fa44f0abec41ab7c780481e62fd9aafbdea80"
@@ -1938,8 +1973,8 @@ batch@0.6.1:
resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16"
bcrypt-pbkdf@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
dependencies:
tweetnacl "^0.14.3"
@@ -2006,8 +2041,8 @@ boom@2.x.x:
hoek "2.x.x"
bowser@^1.0.0, bowser@^1.7.3:
- version "1.9.3"
- resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.9.3.tgz#6643ae4d783f31683f6d23156976b74183862162"
+ version "1.9.4"
+ resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.9.4.tgz#890c58a2813a9d3243704334fa81b96a5c150c9a"
brace-expansion@^1.0.0, brace-expansion@^1.1.7:
version "1.1.11"
@@ -2048,8 +2083,8 @@ brorand@^1.0.1:
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
browser-resolve@^1.11.2:
- version "1.11.2"
- resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce"
+ version "1.11.3"
+ resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6"
dependencies:
resolve "1.1.7"
@@ -2073,12 +2108,13 @@ browserify-cipher@^1.0.0:
evp_bytestokey "^1.0.0"
browserify-des@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.1.tgz#3343124db6d7ad53e26a8826318712bdc8450f9c"
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c"
dependencies:
cipher-base "^1.0.1"
des.js "^1.0.0"
inherits "^2.0.1"
+ safe-buffer "^5.1.2"
browserify-rsa@^4.0.0:
version "4.0.1"
@@ -2132,9 +2168,24 @@ bser@^2.0.0:
dependencies:
node-int64 "^0.4.0"
-buffer-from@^1.0.0:
+buffer-alloc-unsafe@^1.1.0:
version "1.1.0"
- resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04"
+ resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0"
+
+buffer-alloc@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec"
+ dependencies:
+ buffer-alloc-unsafe "^1.1.0"
+ buffer-fill "^1.0.0"
+
+buffer-fill@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
+
+buffer-from@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
buffer-indexof@^1.0.0:
version "1.1.1"
@@ -2266,12 +2317,12 @@ caniuse-api@^1.5.2:
lodash.uniq "^4.5.0"
caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
- version "1.0.30000846"
- resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000846.tgz#d9c86f914738db4da098eeded997413c44561bd2"
+ version "1.0.30000875"
+ resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000875.tgz#6f904fc89120de4029a9ca0f21d7ac3db89a0dce"
caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805, caniuse-lite@^1.0.30000844:
- version "1.0.30000846"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000846.tgz#2092911eecad71a89dae1faa62bcc202fde7f959"
+ version "1.0.30000874"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000874.tgz#a641b1f1c420d58d9b132920ef6ba87bbdcd2223"
capture-exit@^1.2.0:
version "1.2.0"
@@ -2283,10 +2334,6 @@ case-sensitive-paths-webpack-plugin@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.1.2.tgz#c899b52175763689224571dad778742e133f0192"
-caseless@~0.11.0:
- version "0.11.0"
- resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
-
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
@@ -2332,30 +2379,20 @@ charenc@~0.0.1:
version "0.0.2"
resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"
-cheerio@^0.22.0:
- version "0.22.0"
- resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e"
+cheerio@^1.0.0-rc.2:
+ version "1.0.0-rc.2"
+ resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.2.tgz#4b9f53a81b27e4d5dac31c0ffd0cfa03cc6830db"
dependencies:
css-select "~1.2.0"
dom-serializer "~0.1.0"
entities "~1.1.1"
htmlparser2 "^3.9.1"
- lodash.assignin "^4.0.9"
- lodash.bind "^4.1.4"
- lodash.defaults "^4.0.1"
- lodash.filter "^4.4.0"
- lodash.flatten "^4.2.0"
- lodash.foreach "^4.3.0"
- lodash.map "^4.4.0"
- lodash.merge "^4.4.0"
- lodash.pick "^4.2.1"
- lodash.reduce "^4.4.0"
- lodash.reject "^4.4.0"
- lodash.some "^4.4.0"
+ lodash "^4.15.0"
+ parse5 "^3.0.1"
chokidar@^2.0.0, chokidar@^2.0.2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176"
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26"
dependencies:
anymatch "^2.0.0"
async-each "^1.0.0"
@@ -2364,20 +2401,23 @@ chokidar@^2.0.0, chokidar@^2.0.2:
inherits "^2.0.1"
is-binary-path "^1.0.0"
is-glob "^4.0.0"
+ lodash.debounce "^4.0.8"
normalize-path "^2.1.1"
path-is-absolute "^1.0.0"
readdirp "^2.0.0"
- upath "^1.0.0"
+ upath "^1.0.5"
optionalDependencies:
- fsevents "^1.1.2"
+ fsevents "^1.2.2"
chownr@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181"
-chrome-trace-event@^0.1.1:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-0.1.3.tgz#d395af2d31c87b90a716c831fe326f69768ec084"
+chrome-trace-event@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48"
+ dependencies:
+ tslib "^1.9.0"
ci-info@^1.0.0:
version "1.1.3"
@@ -2410,8 +2450,8 @@ class-utils@^0.3.5:
static-extend "^0.1.1"
classnames@^2.2.4, classnames@^2.2.5:
- version "2.2.5"
- resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d"
+ version "2.2.6"
+ resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
clean-css@4.1.x:
version "4.1.11"
@@ -2521,8 +2561,8 @@ clone@^1.0.0, clone@^1.0.2:
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
clone@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb"
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
cloneable-readable@^1.0.0:
version "1.1.2"
@@ -2554,12 +2594,16 @@ collection-visit@^1.0.0:
object-visit "^1.0.0"
color-convert@^1.3.0, color-convert@^1.9.0:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.2.tgz#49881b8fba67df12a96bdf3f56c0aab9e7913147"
dependencies:
- color-name "^1.1.1"
+ color-name "1.1.1"
-color-name@^1.0.0, color-name@^1.1.1:
+color-name@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689"
+
+color-name@^1.0.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
@@ -2589,17 +2633,21 @@ colormin@^1.0.5:
css-color-names "0.0.4"
has "^1.0.1"
+colors@0.5.x:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-0.5.1.tgz#7d0023eaeb154e8ee9fce75dcb923d0ed1667774"
+
colors@0.6.x:
version "0.6.2"
resolved "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc"
-colors@1.0.3:
+colors@1.0.3, colors@1.0.x:
version "1.0.3"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
colors@^1.1.2:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.0.tgz#5f20c9fef6945cb1134260aab33bfbdc8295e04e"
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.1.tgz#4accdb89cf2cabc7f982771925e9468784f32f3d"
colors@~1.1.2:
version "1.1.2"
@@ -2611,9 +2659,13 @@ combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5:
dependencies:
delayed-stream "~1.0.0"
-commander@2, commander@2.15.x, commander@^2.15.0, commander@^2.5.0, commander@^2.9.0, commander@~2.15.0:
- version "2.15.1"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f"
+commander@2, commander@^2.15.0, commander@^2.5.0, commander@^2.9.0:
+ version "2.17.1"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
+
+commander@2.16.x, commander@~2.16.0:
+ version "2.16.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.16.0.tgz#f16390593996ceb4f3eeb020b31d78528f7f8a50"
commander@~2.13.0:
version "2.13.0"
@@ -2642,36 +2694,36 @@ commoner@^0.10.1:
recast "^0.11.17"
compare-versions@^3.1.0:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.2.1.tgz#a49eb7689d4caaf0b6db5220173fd279614000f7"
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.3.0.tgz#af93ea705a96943f622ab309578b9b90586f39c3"
component-emitter@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
-compressible@~2.0.13:
- version "2.0.13"
- resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.13.tgz#0d1020ab924b2fdb4d6279875c7d6daba6baa7a9"
+compressible@~2.0.14:
+ version "2.0.14"
+ resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.14.tgz#326c5f507fbb055f54116782b969a81b67a29da7"
dependencies:
- mime-db ">= 1.33.0 < 2"
+ mime-db ">= 1.34.0 < 2"
compression@^1.5.2:
- version "1.7.2"
- resolved "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz#aaffbcd6aaf854b44ebb280353d5ad1651f59a69"
+ version "1.7.3"
+ resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.3.tgz#27e0e176aaf260f7f2c2813c3e440adb9f1993db"
dependencies:
- accepts "~1.3.4"
+ accepts "~1.3.5"
bytes "3.0.0"
- compressible "~2.0.13"
+ compressible "~2.0.14"
debug "2.6.9"
on-headers "~1.0.1"
- safe-buffer "5.1.1"
+ safe-buffer "5.1.2"
vary "~1.1.2"
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
-concat-stream@^1.5.0, concat-stream@^1.6.0:
+concat-stream@1.6.2, concat-stream@^1.5.0, concat-stream@^1.6.0:
version "1.6.2"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
dependencies:
@@ -2753,18 +2805,6 @@ core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
-cosmiconfig@^2.1.0, cosmiconfig@^2.1.1:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892"
- dependencies:
- is-directory "^0.3.1"
- js-yaml "^3.4.3"
- minimist "^1.2.0"
- object-assign "^4.1.0"
- os-homedir "^1.0.1"
- parse-json "^2.2.0"
- require-from-string "^1.1.0"
-
cosmiconfig@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc"
@@ -2774,6 +2814,14 @@ cosmiconfig@^4.0.0:
parse-json "^4.0.0"
require-from-string "^2.0.1"
+cosmiconfig@^5.0.5:
+ version "5.0.5"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.5.tgz#a809e3c2306891ce17ab70359dc8bdf661fe2cd0"
+ dependencies:
+ is-directory "^0.3.1"
+ js-yaml "^3.9.0"
+ parse-json "^4.0.0"
+
create-ecdh@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff"
@@ -2993,8 +3041,8 @@ csso@~2.3.1:
source-map "^0.5.3"
cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0":
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b"
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz#8cd52e8a3acfd68d3aed38ee0a640177d2f9d797"
"cssstyle@>= 0.2.37 < 0.3.0":
version "0.2.37"
@@ -3003,8 +3051,8 @@ cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0":
cssom "0.3.x"
csstype@^2.2.0:
- version "2.5.3"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.5.3.tgz#2504152e6e1cc59b32098b7f5d6a63f16294c1f7"
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.5.6.tgz#2ae1db2319642d8b80a668d2d025c6196071e788"
currently-unhandled@^0.4.1:
version "0.4.1"
@@ -3302,10 +3350,6 @@ deep-equal@*, deep-equal@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"
-deep-extend@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.1.tgz#b894a9dd90d3023fbf1c55a394fb858eb2066f1f"
-
deep-extend@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
@@ -3322,11 +3366,11 @@ deepmerge@1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050"
-default-require-extensions@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8"
+default-require-extensions@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7"
dependencies:
- strip-bom "^2.0.0"
+ strip-bom "^3.0.0"
define-properties@^1.1.2:
version "1.1.2"
@@ -3463,6 +3507,10 @@ dir-glob@^2.0.0:
arrify "^1.0.1"
path-type "^3.0.0"
+discontinuous-range@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a"
+
disposables@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/disposables/-/disposables-1.0.2.tgz#36c6a674475f55a2d6913567a601444e487b4b6e"
@@ -3500,7 +3548,7 @@ doctrine@1.5.0:
esutils "^2.0.2"
isarray "^1.0.0"
-doctrine@^2.0.0, doctrine@^2.0.2, doctrine@^2.1.0:
+doctrine@^2.0.0, doctrine@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
dependencies:
@@ -3582,8 +3630,8 @@ domutils@^1.5.1:
domelementtype "1"
dotenv-webpack@^1.5.5:
- version "1.5.5"
- resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-1.5.5.tgz#3441094f04d304b6119e6b72524e62fb3252f5f2"
+ version "1.5.7"
+ resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-1.5.7.tgz#c44395ab21d1fd28d79a90942a7b14b1debd145f"
dependencies:
dotenv "^5.0.1"
@@ -3596,12 +3644,12 @@ dotenv@^5.0.1:
dependencies:
d3 "^4.10.0"
lodash "^4.12.0"
- prop-types "^15.6.0"
- react "^15.6.2"
+ prop-types "^15.6.2"
+ react "^16.4.2"
react-dnd "^2.5.4"
react-dnd-html5-backend "^2.5.4"
- react-dom "^15.6.2"
- react-redux "^5.0.6"
+ react-dom "^16.4.2"
+ react-redux "^5.0.7"
react-select "1.2.1"
redux "^3.7.2"
@@ -3623,10 +3671,11 @@ duplexify@^3.4.2, duplexify@^3.6.0:
stream-shift "^1.0.0"
ecc-jsbn@~0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
dependencies:
jsbn "~0.1.0"
+ safer-buffer "^2.1.0"
editions@^1.3.3:
version "1.3.4"
@@ -3641,8 +3690,8 @@ ejs@^2.5.9:
resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0"
electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.30, electron-to-chromium@^1.3.47:
- version "1.3.48"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.48.tgz#d3b0d8593814044e092ece2108fc3ac9aea4b900"
+ version "1.3.55"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.55.tgz#f150e10b20b77d9d41afcca312efe0c3b1a7fdce"
elegant-spinner@^1.0.1:
version "1.0.1"
@@ -3689,9 +3738,9 @@ enhanced-resolve@^3.4.0:
object-assign "^4.0.1"
tapable "^0.2.7"
-enhanced-resolve@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.0.0.tgz#e34a6eaa790f62fccd71d93959f56b2b432db10a"
+enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f"
dependencies:
graceful-fs "^4.1.2"
memory-fs "^0.4.0"
@@ -3706,23 +3755,51 @@ entities@^1.1.1, entities@~1.1.1:
resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
envinfo@^5.7.0:
- version "5.8.1"
- resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-5.8.1.tgz#1910c0d1dbd74ff1c6b8ca0974841a5dcf7900ca"
+ version "5.10.0"
+ resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-5.10.0.tgz#503a9774ae15b93ea68bdfae2ccd6306624ea6df"
-enzyme@^2.7.1:
- version "2.9.1"
- resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-2.9.1.tgz#07d5ce691241240fb817bf2c4b18d6e530240df6"
+enzyme-adapter-react-16@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.2.0.tgz#c6e80f334e0a817873262d7d01ee9e4747e3c97e"
dependencies:
- cheerio "^0.22.0"
- function.prototype.name "^1.0.0"
+ enzyme-adapter-utils "^1.5.0"
+ function.prototype.name "^1.1.0"
+ object.assign "^4.1.0"
+ object.values "^1.0.4"
+ prop-types "^15.6.2"
+ react-is "^16.4.2"
+ react-reconciler "^0.7.0"
+ react-test-renderer "^16.0.0-0"
+
+enzyme-adapter-utils@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.5.0.tgz#a020ab3ae79bb1c85e1d51f48f35e995e0eed810"
+ dependencies:
+ function.prototype.name "^1.1.0"
+ object.assign "^4.1.0"
+ prop-types "^15.6.2"
+
+enzyme@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-3.4.0.tgz#085c66fe647d8c9c4becd1fee3042c040cda88a6"
+ dependencies:
+ array.prototype.flat "^1.2.1"
+ cheerio "^1.0.0-rc.2"
+ function.prototype.name "^1.1.0"
+ has "^1.0.3"
+ is-boolean-object "^1.0.0"
+ is-callable "^1.1.4"
+ is-number-object "^1.0.3"
+ is-string "^1.0.4"
is-subset "^0.1.1"
lodash "^4.17.4"
+ object-inspect "^1.6.0"
object-is "^1.0.1"
- object.assign "^4.0.4"
+ object.assign "^4.1.0"
object.entries "^1.0.4"
object.values "^1.0.4"
- prop-types "^15.5.10"
- uuid "^3.0.1"
+ raf "^3.4.0"
+ rst-selector-parser "^2.2.3"
errno@^0.1.3, errno@~0.1.7:
version "0.1.7"
@@ -3731,17 +3808,11 @@ errno@^0.1.3, errno@~0.1.7:
prr "~1.0.1"
error-ex@^1.2.0, error-ex@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
dependencies:
is-arrayish "^0.2.1"
-error-stack-parser@^1.3.6:
- version "1.3.6"
- resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-1.3.6.tgz#e0e73b93e417138d1cd7c0b746b1a4a14854c292"
- dependencies:
- stackframe "^0.3.1"
-
error@^7.0.2:
version "7.0.2"
resolved "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz#a5f75fff4d9926126ddac0ea5dc38e689153cb02"
@@ -3749,9 +3820,9 @@ error@^7.0.2:
string-template "~0.2.1"
xtend "~4.0.0"
-es-abstract@^1.10.0, es-abstract@^1.4.3, es-abstract@^1.5.1, es-abstract@^1.6.1, es-abstract@^1.7.0, es-abstract@^1.9.0:
- version "1.11.0"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.11.0.tgz#cce87d518f0496893b1a30cd8461835535480681"
+es-abstract@^1.10.0, es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.4.3, es-abstract@^1.5.1, es-abstract@^1.6.1, es-abstract@^1.7.0, es-abstract@^1.9.0:
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165"
dependencies:
es-to-primitive "^1.1.1"
function-bind "^1.1.1"
@@ -3768,8 +3839,8 @@ es-to-primitive@^1.1.1:
is-symbol "^1.0.1"
es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14:
- version "0.10.44"
- resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.44.tgz#7a877e994bb190aebd4718aa2d62784a12e2ca20"
+ version "0.10.45"
+ resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.45.tgz#0bfdf7b473da5919d5adf3bd25ceb754fccc3653"
dependencies:
es6-iterator "~2.0.3"
es6-symbol "~3.1.1"
@@ -3798,6 +3869,10 @@ es6-map@^0.1.3:
es6-symbol "~3.1.1"
event-emitter "~0.3.5"
+es6-promise@^4.0.3:
+ version "4.2.4"
+ resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.4.tgz#dc4221c2b16518760bd8c39a52d8f356fc00ed29"
+
es6-set@~0.1.5:
version "0.1.5"
resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1"
@@ -3844,8 +3919,8 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
escodegen@^1.6.1:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2"
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz#b27a9389481d5bfd5bec76f7bb1eb3f8f4556589"
dependencies:
esprima "^3.1.3"
estraverse "^4.2.0"
@@ -3877,8 +3952,8 @@ eslint-import-resolver-node@^0.3.1:
resolve "^1.5.0"
eslint-loader@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.0.0.tgz#d136619b5c684e36531ffc28c60a56e404608f5d"
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.1.0.tgz#61334c548aeb0b8e20ec3a552fb7a88c47261c6a"
dependencies:
loader-fs-cache "^1.0.0"
loader-utils "^1.0.2"
@@ -3893,9 +3968,9 @@ eslint-module-utils@^2.2.0:
debug "^2.6.8"
pkg-dir "^1.0.0"
-eslint-plugin-import@^2.9.0:
- version "2.12.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.12.0.tgz#dad31781292d6664b25317fd049d2e2b2f02205d"
+eslint-plugin-import@^2.8.0, eslint-plugin-import@^2.9.0:
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.13.0.tgz#df24f241175e312d91662dc91ca84064caec14ed"
dependencies:
contains-path "^0.1.0"
debug "^2.6.8"
@@ -3908,29 +3983,52 @@ eslint-plugin-import@^2.9.0:
read-pkg-up "^2.0.0"
resolve "^1.6.0"
+eslint-plugin-node@^5.2.1:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-5.2.1.tgz#80df3253c4d7901045ec87fa660a284e32bdca29"
+ dependencies:
+ ignore "^3.3.6"
+ minimatch "^3.0.4"
+ resolve "^1.3.3"
+ semver "5.3.0"
+
eslint-plugin-prettier@^2.6.0:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.0.tgz#33e4e228bdb06142d03c560ce04ec23f6c767dd7"
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.2.tgz#71998c60aedfa2141f7bfcbf9d1c459bf98b4fad"
dependencies:
fast-diff "^1.1.1"
jest-docblock "^21.0.0"
eslint-plugin-react@^7.7.0:
- version "7.8.2"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.8.2.tgz#e95c9c47fece55d2303d1a67c9d01b930b88a51d"
+ version "7.10.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.10.0.tgz#af5c1fef31c4704db02098f9be18202993828b50"
dependencies:
- doctrine "^2.0.2"
- has "^1.0.1"
+ doctrine "^2.1.0"
+ has "^1.0.3"
jsx-ast-utils "^2.0.1"
- prop-types "^15.6.0"
+ prop-types "^15.6.2"
-eslint-scope@^3.7.1, eslint-scope@~3.7.1:
+eslint-scope@3.7.1:
version "3.7.1"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
dependencies:
esrecurse "^4.1.0"
estraverse "^4.1.1"
+eslint-scope@^3.7.1:
+ version "3.7.3"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.3.tgz#bb507200d3d17f60247636160b4826284b108535"
+ dependencies:
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
+eslint-scope@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172"
+ dependencies:
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
eslint-visitor-keys@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
@@ -3998,8 +4096,8 @@ esprima@^3.1.3, esprima@~3.1.0:
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
esprima@^4.0.0, esprima@~4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
esquery@^1.0.0:
version "1.0.1"
@@ -4058,10 +4156,10 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
safe-buffer "^5.1.1"
exec-sh@^0.2.0:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.1.tgz#163b98a6e89e6b65b47c2a28d215bc1f63989c38"
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36"
dependencies:
- merge "^1.1.3"
+ merge "^1.2.0"
execa@^0.7.0:
version "0.7.0"
@@ -4183,8 +4281,8 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2:
is-extendable "^1.0.1"
extend@~3.0.0, extend@~3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
external-editor@^2.0.4, external-editor@^2.1.0:
version "2.2.0"
@@ -4213,6 +4311,15 @@ extglob@^2.0.2, extglob@^2.0.4:
snapdragon "^0.8.1"
to-regex "^3.0.1"
+extract-zip@^1.6.5:
+ version "1.6.7"
+ resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9"
+ dependencies:
+ concat-stream "1.6.2"
+ debug "2.6.9"
+ mkdirp "0.5.1"
+ yauzl "2.4.1"
+
extsprintf@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
@@ -4260,13 +4367,13 @@ fast-json-stable-stringify@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
-fast-levenshtein@~2.0.4:
+fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
fast-memoize@^2.2.7:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/fast-memoize/-/fast-memoize-2.3.2.tgz#f6b9eb8e06a754029cca25b4cd3945f2f6242c90"
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/fast-memoize/-/fast-memoize-2.5.1.tgz#c3519241e80552ce395e1a32dcdde8d1fd680f5d"
fastparse@^1.1.1:
version "1.1.1"
@@ -4291,8 +4398,8 @@ fb-watchman@^2.0.0:
bser "^2.0.0"
fbjs@^0.8.12, fbjs@^0.8.16, fbjs@^0.8.9:
- version "0.8.16"
- resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db"
+ version "0.8.17"
+ resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
dependencies:
core-js "^1.0.0"
isomorphic-fetch "^2.1.1"
@@ -4300,7 +4407,13 @@ fbjs@^0.8.12, fbjs@^0.8.16, fbjs@^0.8.9:
object-assign "^4.1.0"
promise "^7.1.1"
setimmediate "^1.0.5"
- ua-parser-js "^0.7.9"
+ ua-parser-js "^0.7.18"
+
+fd-slicer@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"
+ dependencies:
+ pend "~1.2.0"
figures@^1.7.0:
version "1.7.0"
@@ -4430,8 +4543,8 @@ flatten@^1.0.2:
resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
flow-parser@^0.*:
- version "0.73.0"
- resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.73.0.tgz#525ac0776f743e16b6dca1a3dd6c602260b15773"
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.78.0.tgz#4ec829a97fa68cff6e97691dfff7b6ddebbc187c"
flush-write-stream@^1.0.0:
version "1.0.3"
@@ -4441,8 +4554,8 @@ flush-write-stream@^1.0.0:
readable-stream "^2.0.4"
follow-redirects@^1.0.0, follow-redirects@^1.2.3:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.0.tgz#234f49cf770b7f35b40e790f636ceba0c3a0ab77"
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.2.tgz#5a9d80e0165957e5ef0c1210678fc5c4acb9fb03"
dependencies:
debug "^3.1.0"
@@ -4511,6 +4624,14 @@ from2@^2.1.0, from2@^2.1.1:
inherits "^2.0.1"
readable-stream "^2.0.0"
+fs-extra@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950"
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^2.1.0"
+ klaw "^1.0.0"
+
fs-minipass@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
@@ -4530,7 +4651,7 @@ fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
-fsevents@^1.1.2, fsevents@^1.2.3:
+fsevents@^1.2.2, fsevents@^1.2.3:
version "1.2.4"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426"
dependencies:
@@ -4550,7 +4671,7 @@ function-bind@^1.0.2, function-bind@^1.1.0, function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
-function.prototype.name@^1.0.0, function.prototype.name@^1.1.0:
+function.prototype.name@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.0.tgz#8bd763cc0af860a859cc5d49384d74b932cd2327"
dependencies:
@@ -4563,8 +4684,8 @@ functional-red-black-tree@^1.0.1:
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
fuse.js@^3.0.1, fuse.js@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.2.0.tgz#f0448e8069855bf2a3e683cdc1d320e7e2a07ef4"
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.2.1.tgz#6320cb94ce56ec9755c89ade775bcdbb0358d425"
gauge@~2.7.3:
version "2.7.4"
@@ -4585,19 +4706,9 @@ gaze@^1.0.0:
dependencies:
globule "^1.0.0"
-generate-function@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74"
-
-generate-object-property@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
- dependencies:
- is-property "^1.0.0"
-
get-caller-file@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
get-stdin@^4.0.1:
version "4.0.1"
@@ -4645,8 +4756,8 @@ glamor@^2.20.40:
through "^2.3.8"
glamorous@^4.12.1:
- version "4.13.0"
- resolved "https://registry.yarnpkg.com/glamorous/-/glamorous-4.13.0.tgz#4ac5cb05633aa49a0396d409f665dd9b614f1b5a"
+ version "4.13.1"
+ resolved "https://registry.yarnpkg.com/glamorous/-/glamorous-4.13.1.tgz#8909afcbc7f09133c6eb26bedcc1250c1f774312"
dependencies:
brcast "^3.0.0"
csstype "^2.2.0"
@@ -4745,8 +4856,8 @@ global@^4.3.0, global@^4.3.2:
process "~0.5.1"
globals@^11.0.1, globals@^11.1.0:
- version "11.5.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-11.5.0.tgz#6bc840de6771173b191f13d3a9c94d441ee92642"
+ version "11.7.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673"
globals@^9.18.0:
version "9.18.0"
@@ -4773,7 +4884,18 @@ globby@^6.1.0:
pify "^2.0.0"
pinkie-promise "^2.0.0"
-globby@^8.0.0, globby@^8.0.1:
+globby@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680"
+ dependencies:
+ array-union "^1.0.1"
+ dir-glob "^2.0.0"
+ glob "^7.1.2"
+ ignore "^3.3.5"
+ pify "^3.0.0"
+ slash "^1.0.0"
+
+globby@^8.0.1:
version "8.0.1"
resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.1.tgz#b5ad48b8aa80b35b814fc1281ecc851f1d2b5b50"
dependencies:
@@ -4813,8 +4935,8 @@ got@^7.0.0:
url-to-options "^1.0.1"
got@^8.3.1:
- version "8.3.1"
- resolved "https://registry.yarnpkg.com/got/-/got-8.3.1.tgz#093324403d4d955f5a16a7a8d39955d055ae10ed"
+ version "8.3.2"
+ resolved "https://registry.yarnpkg.com/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937"
dependencies:
"@sindresorhus/is" "^0.7.0"
cacheable-request "^2.1.1"
@@ -4834,7 +4956,7 @@ got@^8.3.1:
url-parse-lax "^3.0.0"
url-to-options "^1.0.1"
-graceful-fs@^4.1.11, graceful-fs@^4.1.2:
+graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
version "4.1.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
@@ -4868,18 +4990,20 @@ handlebars@^4.0.3:
optionalDependencies:
uglify-js "^2.6"
+har-schema@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"
+
har-schema@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
-har-validator@~2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"
+har-validator@~4.2.1:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
dependencies:
- chalk "^1.1.1"
- commander "^2.9.0"
- is-my-json-valid "^2.12.4"
- pinkie-promise "^2.0.0"
+ ajv "^4.9.1"
+ har-schema "^1.0.5"
har-validator@~5.0.3:
version "5.0.3"
@@ -4955,11 +5079,11 @@ has-values@^1.0.0:
is-number "^3.0.0"
kind-of "^4.0.0"
-has@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
+has@^1.0.1, has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
dependencies:
- function-bind "^1.0.2"
+ function-bind "^1.1.1"
hash-base@^3.0.0:
version "3.0.4"
@@ -4969,11 +5093,18 @@ hash-base@^3.0.0:
safe-buffer "^5.0.1"
hash.js@^1.0.0, hash.js@^1.0.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846"
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.5.tgz#e38ab4b85dfb1e0c40fe9265c0e9b54854c23812"
dependencies:
inherits "^2.0.3"
- minimalistic-assert "^1.0.0"
+ minimalistic-assert "^1.0.1"
+
+hasha@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/hasha/-/hasha-2.2.0.tgz#78d7cbfc1e6d66303fe79837365984517b2f6ee1"
+ dependencies:
+ is-stream "^1.0.1"
+ pinkie-promise "^2.0.0"
hawk@~3.1.3:
version "3.1.3"
@@ -5004,9 +5135,9 @@ hoist-non-react-statics@1.x.x, hoist-non-react-statics@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb"
-hoist-non-react-statics@^2.1.0, hoist-non-react-statics@^2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz#d2ca2dfc19c5a91c5a6615ce8e564ef0347e2a40"
+hoist-non-react-statics@^2.1.0, hoist-non-react-statics@^2.1.1, hoist-non-react-statics@^2.5.0:
+ version "2.5.5"
+ resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47"
home-or-tmp@^2.0.0:
version "2.0.0"
@@ -5022,8 +5153,8 @@ homedir-polyfill@^1.0.1:
parse-passwd "^1.0.0"
hosted-git-info@^2.1.4:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222"
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047"
hpack.js@^2.1.6:
version "2.1.6"
@@ -5073,16 +5204,16 @@ html-loader@^0.5.5:
object-assign "^4.1.1"
html-minifier@^3.0.1, html-minifier@^3.2.3, html-minifier@^3.5.8:
- version "3.5.16"
- resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.16.tgz#39f5aabaf78bdfc057fe67334226efd7f3851175"
+ version "3.5.19"
+ resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.19.tgz#ed53c4b7326fe507bc3a1adbcc3bbb56660a2ebd"
dependencies:
camel-case "3.0.x"
clean-css "4.1.x"
- commander "2.15.x"
+ commander "2.16.x"
he "1.1.x"
param-case "2.1.x"
relateurl "0.2.x"
- uglify-js "3.3.x"
+ uglify-js "3.4.x"
html-tag-names@^1.1.1:
version "1.1.3"
@@ -5238,8 +5369,8 @@ icss-utils@^2.1.0:
postcss "^6.0.1"
ieee754@^1.1.11, ieee754@^1.1.4:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.11.tgz#c16384ffe00f5b7835824e67b6f2bd44a5229455"
+ version "1.1.12"
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b"
iferr@^0.1.5:
version "0.1.5"
@@ -5255,9 +5386,9 @@ ignore-walk@^3.0.1:
dependencies:
minimatch "^3.0.4"
-ignore@^3.3.3, ignore@^3.3.5:
- version "3.3.8"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.8.tgz#3f8e9c35d38708a3a7e0e9abb6c73e7ee7707b2b"
+ignore@^3.3.3, ignore@^3.3.5, ignore@^3.3.6:
+ version "3.3.10"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
image-size@^0.5.1:
version "0.5.5"
@@ -5267,6 +5398,18 @@ immutable@^3.8.1:
version "3.8.2"
resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3"
+import-cwd@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9"
+ dependencies:
+ import-from "^2.1.0"
+
+import-from@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1"
+ dependencies:
+ resolve-from "^3.0.0"
+
import-local@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc"
@@ -5425,9 +5568,9 @@ ip@^1.1.0, ip@^1.1.5:
version "1.1.5"
resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
-ipaddr.js@1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b"
+ipaddr.js@1.8.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e"
is-absolute-url@^2.0.0:
version "2.1.0"
@@ -5455,6 +5598,10 @@ is-binary-path@^1.0.0:
dependencies:
binary-extensions "^1.0.0"
+is-boolean-object@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.0.tgz#98f8b28030684219a95f375cfbd88ce3405dff93"
+
is-buffer@^1.1.5, is-buffer@~1.1.1:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
@@ -5465,9 +5612,9 @@ is-builtin-module@^1.0.0:
dependencies:
builtin-modules "^1.0.0"
-is-callable@^1.1.1, is-callable@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
+is-callable@^1.1.1, is-callable@^1.1.3, is-callable@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
is-ci@^1.0.10:
version "1.1.0"
@@ -5581,19 +5728,9 @@ is-glob@^4.0.0:
dependencies:
is-extglob "^2.1.1"
-is-my-ip-valid@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824"
-
-is-my-json-valid@^2.12.4:
- version "2.17.2"
- resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz#6b2103a288e94ef3de5cf15d29dd85fc4b78d65c"
- dependencies:
- generate-function "^2.0.0"
- generate-object-property "^1.1.0"
- is-my-ip-valid "^1.0.0"
- jsonpointer "^4.0.0"
- xtend "^4.0.0"
+is-number-object@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.3.tgz#f265ab89a9f445034ef6aff15a8f00b00f551799"
is-number@^2.1.0:
version "2.1.0"
@@ -5621,12 +5758,6 @@ is-observable@^1.1.0:
dependencies:
symbol-observable "^1.1.0"
-is-odd@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24"
- dependencies:
- is-number "^4.0.0"
-
is-path-cwd@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
@@ -5665,10 +5796,6 @@ is-promise@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
-is-property@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
-
is-regex@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
@@ -5697,6 +5824,10 @@ is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+is-string@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.4.tgz#cc3a9b69857d621e963725a24caeec873b826e64"
+
is-subset@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6"
@@ -5736,8 +5867,10 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
isbinaryfile@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621"
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80"
+ dependencies:
+ buffer-alloc "^1.2.0"
isexe@^2.0.0:
version "2.0.0"
@@ -5786,10 +5919,10 @@ istanbul-lib-coverage@^1.0.1, istanbul-lib-coverage@^1.1.2, istanbul-lib-coverag
resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz#f7d8f2e42b97e37fe796114cb0f9d68b5e3a4341"
istanbul-lib-hook@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.0.tgz#ae556fd5a41a6e8efa0b1002b1e416dfeaf9816c"
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.1.tgz#f614ec45287b2a8fc4f07f5660af787575601805"
dependencies:
- append-transform "^0.4.0"
+ append-transform "^1.0.0"
istanbul-lib-instrument@^1.10.1, istanbul-lib-instrument@^1.4.2:
version "1.10.1"
@@ -5823,8 +5956,8 @@ istanbul-lib-source-maps@^1.1.0:
source-map "^0.5.3"
istanbul-lib-source-maps@^1.2.4:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.4.tgz#cc7ccad61629f4efff8e2f78adb8c522c9976ec7"
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz#ffe6be4e7ab86d3603e4290d54990b14506fc9b1"
dependencies:
debug "^3.1.0"
istanbul-lib-coverage "^1.2.0"
@@ -6083,16 +6216,20 @@ jest@^21.2.1:
jest-cli "^21.2.1"
js-base64@^2.1.8, js-base64@^2.1.9:
- version "2.4.5"
- resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.5.tgz#e293cd3c7c82f070d700fc7a1ca0a2e69f101f92"
+ version "2.4.8"
+ resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.8.tgz#57a9b130888f956834aa40c5b165ba59c758f033"
js-tokens@^3.0.0, js-tokens@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
-js-yaml@^3.4.3, js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1:
- version "3.11.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef"
+"js-tokens@^3.0.0 || ^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+
+js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1:
+ version "3.12.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1"
dependencies:
argparse "^1.0.7"
esprima "^4.0.0"
@@ -6129,14 +6266,14 @@ jscodeshift@^0.4.0:
write-file-atomic "^1.2.0"
jscodeshift@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.5.0.tgz#bdb7b6cc20dd62c16aa728c3fa2d2fe66ca7c748"
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.5.1.tgz#4af6a721648be8638ae1464a190342da52960c33"
dependencies:
babel-plugin-transform-flow-strip-types "^6.8.0"
babel-preset-es2015 "^6.9.0"
babel-preset-stage-1 "^6.5.0"
babel-register "^6.9.0"
- babylon "^7.0.0-beta.30"
+ babylon "^7.0.0-beta.47"
colors "^1.1.2"
flow-parser "^0.*"
lodash "^4.13.1"
@@ -6144,7 +6281,7 @@ jscodeshift@^0.5.0:
neo-async "^2.5.0"
node-dir "0.1.8"
nomnom "^1.8.1"
- recast "^0.14.1"
+ recast "^0.15.0"
temp "^0.8.1"
write-file-atomic "^1.2.0"
@@ -6185,17 +6322,21 @@ jsesc@~0.5.0:
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
jshint@^2.9.4:
- version "2.9.5"
- resolved "https://registry.yarnpkg.com/jshint/-/jshint-2.9.5.tgz#1e7252915ce681b40827ee14248c46d34e9aa62c"
+ version "2.9.6"
+ resolved "https://registry.yarnpkg.com/jshint/-/jshint-2.9.6.tgz#19b34e578095a34928fe006135a6cb70137b9c08"
dependencies:
cli "~1.0.0"
console-browserify "1.1.x"
exit "0.1.x"
htmlparser2 "3.8.x"
- lodash "3.7.x"
+ lodash "~4.17.10"
minimatch "~3.0.2"
shelljs "0.3.x"
strip-json-comments "1.0.x"
+ unicode-5.2.0 "^0.7.5"
+ optionalDependencies:
+ phantom "~4.0.1"
+ phantomjs-prebuilt "~2.1.7"
json-buffer@3.0.0:
version "3.0.0"
@@ -6213,6 +6354,10 @@ json-schema-traverse@^0.3.0:
version "0.3.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+
json-schema@0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
@@ -6239,14 +6384,16 @@ json5@^0.5.0, json5@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
+jsonfile@^2.1.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
jsonify@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
-jsonpointer@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
-
jsprim@^1.2.2:
version "1.4.1"
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
@@ -6279,6 +6426,10 @@ jsx-loader@^0.13.2:
jstransform "11"
loader-utils "^0.2.2"
+kew@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/kew/-/kew-0.7.0.tgz#79d93d2d33363d6fdd2970b335d9141ad591d79b"
+
keycode@^2.1.2, keycode@^2.1.9:
version "2.2.0"
resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz#3d0af56dc7b8b8e5cba8d0a97f107204eec22b04"
@@ -6317,6 +6468,12 @@ kind-of@^6.0.0, kind-of@^6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
+klaw@^1.0.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
+ optionalDependencies:
+ graceful-fs "^4.1.9"
+
lazy-cache@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
@@ -6327,10 +6484,6 @@ lcid@^1.0.0:
dependencies:
invert-kv "^1.0.0"
-leb@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/leb/-/leb-0.3.0.tgz#32bee9fad168328d6aea8522d833f4180eed1da3"
-
leven@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580"
@@ -6475,14 +6628,6 @@ lodash.assign@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
-lodash.assignin@^4.0.9:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2"
-
-lodash.bind@^4.1.4:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35"
-
lodash.camelcase@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-3.0.1.tgz#932c8b87f8a4377897c67197533282f97aeac298"
@@ -6507,26 +6652,10 @@ lodash.deburr@^3.0.0:
dependencies:
lodash._root "^3.0.0"
-lodash.defaults@^4.0.1:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
-
-lodash.filter@^4.4.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace"
-
-lodash.flatten@^4.2.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
-
lodash.flattendeep@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2"
-lodash.foreach@^4.3.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53"
-
lodash.isarguments@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
@@ -6547,35 +6676,19 @@ lodash.keys@^3.1.2:
lodash.isarguments "^3.0.0"
lodash.isarray "^3.0.0"
-lodash.map@^4.4.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3"
-
lodash.memoize@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
-lodash.merge@^4.4.0:
- version "4.6.1"
- resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.1.tgz#adc25d9cb99b9391c59624f379fbba60d7111d54"
-
lodash.mergewith@^4.6.0:
version "4.6.1"
resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927"
-lodash.pick@^4.2.1, lodash.pick@^4.4.0:
+lodash.pick@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
-lodash.reduce@^4.4.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b"
-
-lodash.reject@^4.4.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415"
-
-lodash.some@^4.4.0, lodash.some@^4.6.0:
+lodash.some@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d"
@@ -6601,11 +6714,7 @@ lodash.words@^3.0.0:
dependencies:
lodash._root "^3.0.0"
-lodash@3.7.x:
- version "3.7.0"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.7.0.tgz#3678bd8ab995057c07ade836ed2ef087da811d45"
-
-lodash@^4.0.0, lodash@^4.12.0, lodash@^4.13.1, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1, lodash@~4.17.10:
+lodash@^4.0.0, lodash@^4.12.0, lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@~4.17.10:
version "4.17.10"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
@@ -6639,6 +6748,10 @@ loglevelnext@^1.0.1:
es6-symbol "^3.1.1"
object.assign "^4.1.0"
+long@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
+
long@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b"
@@ -6648,10 +6761,10 @@ longest@^1.0.1:
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
dependencies:
- js-tokens "^3.0.0"
+ js-tokens "^3.0.0 || ^4.0.0"
loud-rejection@^1.0.0, loud-rejection@^1.6.0:
version "1.6.0"
@@ -6752,14 +6865,14 @@ media-typer@0.3.0:
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
mem-fs-editor@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-4.0.2.tgz#55a79b1e824da631254c4c95ba6366602c77af90"
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-4.0.3.tgz#d282a0c4e0d796e9eff9d75661f25f68f389af53"
dependencies:
commondir "^1.0.1"
- deep-extend "^0.5.1"
+ deep-extend "^0.6.0"
ejs "^2.5.9"
glob "^7.0.3"
- globby "^8.0.0"
+ globby "^7.1.1"
isbinaryfile "^3.0.2"
mkdirp "^0.5.0"
multimatch "^2.0.0"
@@ -6817,7 +6930,7 @@ merge2@^1.2.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.2.tgz#03212e3da8d86c4d8523cebd6318193414f94e34"
-merge@^1.1.3:
+merge@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da"
@@ -6886,15 +6999,15 @@ miller-rabin@^4.0.0:
bn.js "^4.0.0"
brorand "^1.0.1"
-"mime-db@>= 1.33.0 < 2", mime-db@~1.33.0:
- version "1.33.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db"
+"mime-db@>= 1.34.0 < 2", mime-db@~1.35.0:
+ version "1.35.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.35.0.tgz#0569d657466491283709663ad379a99b90d9ab47"
mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.7:
- version "2.1.18"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8"
+ version "2.1.19"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.19.tgz#71e464537a7ef81c15f2db9d97e913fc0ff606f0"
dependencies:
- mime-db "~1.33.0"
+ mime-db "~1.35.0"
mime@1.3.x:
version "1.3.6"
@@ -6917,8 +7030,8 @@ mimic-fn@^1.0.0:
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
mimic-response@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.0.tgz#df3d3652a73fded6b9b0b24146e6fd052353458e"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
min-document@^2.19.0:
version "2.19.0"
@@ -6926,7 +7039,7 @@ min-document@^2.19.0:
dependencies:
dom-walk "^0.1.0"
-minimalistic-assert@^1.0.0:
+minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
@@ -7014,9 +7127,13 @@ mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@0.x.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdir
dependencies:
minimist "0.0.8"
-moment@^2.17.1, moment@^2.18.1:
- version "2.22.1"
- resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.1.tgz#529a2e9bf973f259c9643d237fda84de3a26e8ad"
+moment@^2.18.1, moment@^2.19.1:
+ version "2.22.2"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66"
+
+moo@^0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/moo/-/moo-0.4.3.tgz#3f847a26f31cf625a956a87f2b10fbc013bfd10e"
move-concurrently@^1.0.1:
version "1.0.1"
@@ -7066,15 +7183,14 @@ nan@^2.10.0, nan@^2.9.2:
resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f"
nanomatch@^1.2.1, nanomatch@^1.2.9:
- version "1.2.9"
- resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2"
+ version "1.2.13"
+ resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
dependencies:
arr-diff "^4.0.0"
array-unique "^0.3.2"
define-property "^2.0.2"
extend-shallow "^3.0.2"
fragment-cache "^0.2.1"
- is-odd "^2.0.0"
is-windows "^1.0.2"
kind-of "^6.0.2"
object.pick "^1.3.0"
@@ -7090,7 +7206,17 @@ ncp@0.4.x:
version "0.4.2"
resolved "https://registry.yarnpkg.com/ncp/-/ncp-0.4.2.tgz#abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574"
-needle@^2.2.0:
+nearley@^2.7.10:
+ version "2.15.0"
+ resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.15.0.tgz#d1ff5406a58064615fe6eafb429cf06fbb1b7eab"
+ dependencies:
+ moo "^0.4.3"
+ nomnom "~1.6.2"
+ railroad-diagrams "^1.0.0"
+ randexp "0.4.6"
+ semver "^5.4.1"
+
+needle@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.1.tgz#b5e325bd3aae8c2678902fa296f729455d1d3a7d"
dependencies:
@@ -7142,18 +7268,17 @@ node-forge@0.7.5:
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df"
node-gyp@^3.3.1:
- version "3.6.2"
- resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60"
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.7.0.tgz#789478e8f6c45e277aa014f3e28f958f286f9203"
dependencies:
fstream "^1.0.0"
glob "^7.0.3"
graceful-fs "^4.1.2"
- minimatch "^3.0.2"
mkdirp "^0.5.0"
nopt "2 || 3"
npmlog "0 || 1 || 2 || 3 || 4"
osenv "0"
- request "2"
+ request ">=2.9.0 <2.82.0"
rimraf "2"
semver "~5.3.0"
tar "^2.0.0"
@@ -7201,23 +7326,23 @@ node-notifier@^5.0.2:
which "^1.3.0"
node-pre-gyp@^0.10.0:
- version "0.10.0"
- resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz#6e4ef5bb5c5203c6552448828c852c40111aac46"
+ version "0.10.3"
+ resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc"
dependencies:
detect-libc "^1.0.2"
mkdirp "^0.5.1"
- needle "^2.2.0"
+ needle "^2.2.1"
nopt "^4.0.1"
npm-packlist "^1.1.6"
npmlog "^4.0.2"
- rc "^1.1.7"
+ rc "^1.2.7"
rimraf "^2.6.1"
semver "^5.3.0"
tar "^4"
node-sass@^4.7.2:
- version "4.9.0"
- resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.9.0.tgz#d1b8aa855d98ed684d6848db929a20771cc2ae52"
+ version "4.9.2"
+ resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.9.2.tgz#5e63fe6bd0f2ae3ac9d6c14ede8620e2b8bdb437"
dependencies:
async-foreach "^0.1.3"
chalk "^1.1.1"
@@ -7234,7 +7359,7 @@ node-sass@^4.7.2:
nan "^2.10.0"
node-gyp "^3.3.1"
npmlog "^4.0.0"
- request "~2.79.0"
+ request "2.87.0"
sass-graph "^2.2.4"
stdout-stream "^1.4.0"
"true-case-path" "^1.0.2"
@@ -7250,6 +7375,13 @@ nomnom@^1.8.1:
chalk "~0.4.0"
underscore "~1.6.0"
+nomnom@~1.6.2:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.6.2.tgz#84a66a260174408fc5b77a18f888eccc44fb6971"
+ dependencies:
+ colors "0.5.x"
+ underscore "~1.4.4"
+
"nopt@2 || 3":
version "3.0.6"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
@@ -7304,8 +7436,8 @@ npm-bundled@^1.0.1:
resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308"
npm-packlist@^1.1.6:
- version "1.1.10"
- resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.10.tgz#1039db9e985727e464df066f4cf0ab6ef85c398a"
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.11.tgz#84e8c683cbe7867d34b1d357d893ce29e28a02de"
dependencies:
ignore-walk "^3.0.1"
npm-bundled "^1.0.1"
@@ -7367,13 +7499,17 @@ object-hash@^1.1.4:
version "1.3.0"
resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.0.tgz#76d9ba6ff113cf8efc0d996102851fe6723963e2"
+object-inspect@^1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b"
+
object-is@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6"
object-keys@^1.0.11, object-keys@^1.0.8:
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
+ version "1.0.12"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2"
object-visit@^1.0.0:
version "1.0.1"
@@ -7381,7 +7517,7 @@ object-visit@^1.0.0:
dependencies:
isobject "^3.0.0"
-object.assign@^4.0.4, object.assign@^4.1.0:
+object.assign@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
dependencies:
@@ -7399,6 +7535,15 @@ object.entries@^1.0.4:
function-bind "^1.1.0"
has "^1.0.1"
+object.fromentries@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-1.0.0.tgz#e90ec27445ec6e37f48be9af9077d9aa8bef0d40"
+ dependencies:
+ define-properties "^1.1.2"
+ es-abstract "^1.11.0"
+ function-bind "^1.1.1"
+ has "^1.0.1"
+
object.getownpropertydescriptors@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16"
@@ -7498,16 +7643,16 @@ ora@^0.2.3:
object-assign "^4.0.1"
original@>=0.0.5:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/original/-/original-1.0.1.tgz#b0a53ff42ba997a8c9cd1fb5daaeb42b9d693190"
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f"
dependencies:
- url-parse "~1.4.0"
+ url-parse "^1.4.3"
os-browserify@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
-os-homedir@^1.0.0, os-homedir@^1.0.1:
+os-homedir@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
@@ -7563,8 +7708,8 @@ p-lazy@^1.0.0:
resolved "https://registry.yarnpkg.com/p-lazy/-/p-lazy-1.0.0.tgz#ec53c802f2ee3ac28f166cc82d0b2b02de27a835"
p-limit@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c"
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
dependencies:
p-try "^1.0.0"
@@ -7656,6 +7801,12 @@ parse5@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94"
+parse5@^3.0.1:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c"
+ dependencies:
+ "@types/node" "*"
+
parseurl@~1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3"
@@ -7695,8 +7846,8 @@ path-key@^2.0.0, path-key@^2.0.1:
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
path-parse@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
path-to-regexp@0.1.7:
version "0.1.7"
@@ -7732,10 +7883,40 @@ pbkdf2@^3.0.3:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
+pend@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
+
+performance-now@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
+
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+phantom@~4.0.1:
+ version "4.0.12"
+ resolved "https://registry.yarnpkg.com/phantom/-/phantom-4.0.12.tgz#78d18cf3f2a76fea4909f6160fcabf2742d7dbf0"
+ dependencies:
+ phantomjs-prebuilt "^2.1.16"
+ split "^1.0.1"
+ winston "^2.4.0"
+
+phantomjs-prebuilt@^2.1.16, phantomjs-prebuilt@~2.1.7:
+ version "2.1.16"
+ resolved "https://registry.yarnpkg.com/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz#efd212a4a3966d3647684ea8ba788549be2aefef"
+ dependencies:
+ es6-promise "^4.0.3"
+ extract-zip "^1.6.5"
+ fs-extra "^1.0.0"
+ hasha "^2.2.0"
+ kew "^0.7.0"
+ progress "^1.1.8"
+ request "^2.81.0"
+ request-progress "^2.0.1"
+ which "^1.2.10"
+
pify@^2.0.0, pify@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
@@ -7788,9 +7969,13 @@ pluralize@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
+popper.js@^1.12.5:
+ version "1.14.4"
+ resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.14.4.tgz#8eec1d8ff02a5a3a152dd43414a15c7b79fd69b6"
+
portfinder@^1.0.9:
- version "1.0.13"
- resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9"
+ version "1.0.16"
+ resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.16.tgz#a6a68be9c352bc66c1a4c17a261f661f3facaf52"
dependencies:
async "^1.5.2"
debug "^2.2.0"
@@ -7866,36 +8051,20 @@ postcss-flexbugs-fixes@^3.2.0:
dependencies:
postcss "^6.0.1"
-postcss-load-config@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a"
- dependencies:
- cosmiconfig "^2.1.0"
- object-assign "^4.1.0"
- postcss-load-options "^1.2.0"
- postcss-load-plugins "^2.3.0"
-
-postcss-load-options@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c"
- dependencies:
- cosmiconfig "^2.1.0"
- object-assign "^4.1.0"
-
-postcss-load-plugins@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92"
+postcss-load-config@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.0.0.tgz#f1312ddbf5912cd747177083c5ef7a19d62ee484"
dependencies:
- cosmiconfig "^2.1.1"
- object-assign "^4.1.0"
+ cosmiconfig "^4.0.0"
+ import-cwd "^2.0.0"
postcss-loader@^2.1.2:
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.1.5.tgz#3c6336ee641c8f95138172533ae461a83595e788"
+ version "2.1.6"
+ resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.1.6.tgz#1d7dd7b17c6ba234b9bed5af13e0bea40a42d740"
dependencies:
loader-utils "^1.1.0"
postcss "^6.0.0"
- postcss-load-config "^1.2.0"
+ postcss-load-config "^2.0.0"
schema-utils "^0.4.0"
postcss-merge-idents@^2.1.5:
@@ -8088,8 +8257,8 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0
supports-color "^3.2.3"
postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.17:
- version "6.0.22"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.22.tgz#e23b78314905c3b90cbd61702121e7a78848f2a3"
+ version "6.0.23"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324"
dependencies:
chalk "^2.4.1"
source-map "^0.6.1"
@@ -8103,8 +8272,8 @@ posthtml-parser@^0.2.0, posthtml-parser@^0.2.1:
isobject "^2.1.0"
posthtml-rename-id@^1.0:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/posthtml-rename-id/-/posthtml-rename-id-1.0.7.tgz#190e9f341a8bbbda31e47e932f1d9b71b9f73593"
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/posthtml-rename-id/-/posthtml-rename-id-1.0.8.tgz#dece77bf64e3c94417603e497c8537977db131bc"
dependencies:
escape-string-regexp "1.0.5"
@@ -8149,8 +8318,8 @@ prettier@1.10.2:
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.10.2.tgz#1af8356d1842276a99a5b5529c82dd9e9ad3cc93"
prettier@^1.12.1:
- version "1.13.2"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.13.2.tgz#412b87bc561cb11074d2877a33a38f78c2303cda"
+ version "1.14.0"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.14.0.tgz#847c235522035fd988100f1f43cf20a7d24f9372"
pretty-bytes@^4.0.2:
version "4.0.2"
@@ -8186,6 +8355,10 @@ process@~0.5.1:
version "0.5.2"
resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf"
+progress@^1.1.8:
+ version "1.1.8"
+ resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
+
progress@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f"
@@ -8225,20 +8398,19 @@ prop-types-extra@^1.0.1:
react-is "^16.3.2"
warning "^3.0.0"
-prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0, prop-types@^15.6.1:
- version "15.6.1"
- resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.1.tgz#36644453564255ddda391191fb3a125cbdf654ca"
+prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2:
+ version "15.6.2"
+ resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102"
dependencies:
- fbjs "^0.8.16"
loose-envify "^1.3.1"
object-assign "^4.1.1"
proxy-addr@~2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341"
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93"
dependencies:
forwarded "~0.1.2"
- ipaddr.js "1.6.0"
+ ipaddr.js "1.8.0"
prr@~1.0.1:
version "1.0.1"
@@ -8248,6 +8420,10 @@ pseudomap@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+psl@^1.1.24:
+ version "1.1.29"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz#60f580d360170bb722a797cc704411e6da850c67"
+
public-encrypt@^4.0.0:
version "4.0.2"
resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.2.tgz#46eb9107206bf73489f8b85b69d91334c6610994"
@@ -8297,9 +8473,9 @@ qs@^6.5.1, qs@~6.5.1:
version "6.5.2"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
-qs@~6.3.0:
- version "6.3.2"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c"
+qs@~6.4.0:
+ version "6.4.0"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
query-string@^4.1.0, query-string@^4.3.2:
version "4.3.4"
@@ -8337,10 +8513,27 @@ radium@^0.19.0:
inline-style-prefixer "^2.0.5"
prop-types "^15.5.8"
+raf@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.0.tgz#a28876881b4bc2ca9117d4138163ddb80f781575"
+ dependencies:
+ performance-now "^2.1.0"
+
+railroad-diagrams@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e"
+
ramda@0.21.0:
version "0.21.0"
resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.21.0.tgz#a001abedb3ff61077d4ff1d577d44de77e8d0a35"
+randexp@0.4.6:
+ version "0.4.6"
+ resolved "https://registry.yarnpkg.com/randexp/-/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3"
+ dependencies:
+ discontinuous-range "1.0.0"
+ ret "~0.1.10"
+
randomatic@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.0.0.tgz#d35490030eb4f7578de292ce6dfb04a91a128923"
@@ -8381,7 +8574,7 @@ raw-body@2.3.2:
iconv-lite "0.4.19"
unpipe "1.0.0"
-rc@^1.1.7:
+rc@^1.2.7:
version "1.2.8"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
dependencies:
@@ -8390,10 +8583,6 @@ rc@^1.1.7:
minimist "^1.2.0"
strip-json-comments "~2.0.1"
-react-addons-test-utils@~15.3.2:
- version "15.3.2"
- resolved "https://registry.yarnpkg.com/react-addons-test-utils/-/react-addons-test-utils-15.3.2.tgz#c09a44f583425a4a9c1b38444d7a6c3e6f0f41f6"
-
react-bootstrap@^0.32.1:
version "0.32.1"
resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-0.32.1.tgz#60624c1b48a39d773ef6cce6421a4f33ecc166bb"
@@ -8411,25 +8600,23 @@ react-bootstrap@^0.32.1:
uncontrollable "^4.1.0"
warning "^3.0.0"
-react-click-outside@^2.3.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/react-click-outside/-/react-click-outside-2.3.1.tgz#318737ebdf081a4a3bcd46825663674cbe9836eb"
+react-click-outside@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/react-click-outside/-/react-click-outside-3.0.1.tgz#6e77e84d2f17afaaac26dbad743cbbf909f5e24c"
dependencies:
- hoist-non-react-statics "^1.2.0"
+ hoist-non-react-statics "^2.1.1"
-react-datepicker@^0.48.0:
- version "0.48.0"
- resolved "https://registry.yarnpkg.com/react-datepicker/-/react-datepicker-0.48.0.tgz#bf8ea4283e3f8e0737be3ceb808a94a8d4231d49"
+react-datepicker@^0.61.0:
+ version "0.61.0"
+ resolved "https://registry.yarnpkg.com/react-datepicker/-/react-datepicker-0.61.0.tgz#ac1e7bf18bf88bdf22548a3c4e13a35710bb40eb"
dependencies:
classnames "^2.2.5"
- moment "^2.17.1"
- prop-types "^15.5.8"
- react-onclickoutside "^6.1.1"
- tether "^1.4.0"
-
-react-deep-force-update@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-2.1.1.tgz#8ea4263cd6455a050b37445b3f08fd839d86e909"
+ eslint-plugin-import "^2.8.0"
+ eslint-plugin-node "^5.2.1"
+ moment "^2.19.1"
+ prop-types "^15.6.0"
+ react-onclickoutside "^6.6.3"
+ react-popper "^0.7.4"
react-dev-utils@^5.0.0:
version "5.0.1"
@@ -8472,18 +8659,18 @@ react-dnd@^2.5.4:
prop-types "^15.5.10"
react-docgen@^3.0.0-beta11:
- version "3.0.0-beta9"
- resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-3.0.0-beta9.tgz#6be987e640786ecb10ce2dd22157a022c8285e95"
+ version "3.0.0-rc.0"
+ resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-3.0.0-rc.0.tgz#6452afc31649d651c9bafce9b94a470581530b76"
dependencies:
+ "@babel/parser" "7.0.0-beta.53"
async "^2.1.4"
babel-runtime "^6.9.2"
- babylon "7.0.0-beta.31"
commander "^2.9.0"
doctrine "^2.0.0"
node-dir "^0.1.10"
- recast "^0.12.6"
+ recast "^0.15.0"
-react-dom@15.6.2, react-dom@^15.6.2:
+react-dom@15.6.2:
version "15.6.2"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.2.tgz#41cfadf693b757faf2708443a1d1fd5a02bef730"
dependencies:
@@ -8492,20 +8679,20 @@ react-dom@15.6.2, react-dom@^15.6.2:
object-assign "^4.1.0"
prop-types "^15.5.10"
-react-dom@16.x.x:
- version "16.4.0"
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.4.0.tgz#099f067dd5827ce36a29eaf9a6cdc7cbf6216b1e"
+react-dom@16.x.x, react-dom@^16.4.2:
+ version "16.4.2"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.4.2.tgz#4afed569689f2c561d2b8da0b819669c38a0bda4"
dependencies:
fbjs "^0.8.16"
loose-envify "^1.1.0"
object-assign "^4.1.1"
prop-types "^15.6.0"
-react-dropzone@4.2.3:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-4.2.3.tgz#f7bc92aa5fe4253fdb1fd3792114d2d29b47119a"
+react-dropzone@4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-4.3.0.tgz#facdd7db16509772633c9f5200621ac01aa6706f"
dependencies:
- attr-accept "^1.0.3"
+ attr-accept "^1.1.3"
prop-types "^15.5.7"
react-error-overlay@^4.0.0:
@@ -8521,19 +8708,20 @@ react-fuzzy@^0.5.2:
fuse.js "^3.0.1"
prop-types "^15.5.9"
-react-hot-loader@^3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-3.1.3.tgz#6f92877326958c7cb0134b512474517869126082"
+react-hot-loader@^4.3.4:
+ version "4.3.4"
+ resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-4.3.4.tgz#4f9bdd55bb20d77a6ae8931fa1c187e5f0ce6279"
dependencies:
+ fast-levenshtein "^2.0.6"
global "^4.3.0"
- react-deep-force-update "^2.1.1"
- react-proxy "^3.0.0-alpha.0"
- redbox-react "^1.3.6"
- source-map "^0.6.1"
+ hoist-non-react-statics "^2.5.0"
+ prop-types "^15.6.1"
+ react-lifecycles-compat "^3.0.4"
+ shallowequal "^1.0.2"
react-html-attributes@^1.4.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/react-html-attributes/-/react-html-attributes-1.4.2.tgz#0d2ccf134fc79b2d3543837dc1591d32b7b903f9"
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/react-html-attributes/-/react-html-attributes-1.4.3.tgz#8c36c35fce6b750938d286af428ed1da7625186e"
dependencies:
html-element-attributes "^1.0.0"
@@ -8547,7 +8735,7 @@ react-icons@^2.2.7:
dependencies:
react-icon-base "2.1.0"
-react-input-autosize@^2.1.2, react-input-autosize@^2.2.0:
+react-input-autosize@^2.1.2, react-input-autosize@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.1.tgz#ec428fa15b1592994fb5f9aa15bb1eb6baf420f8"
dependencies:
@@ -8560,24 +8748,24 @@ react-inspector@^2.2.2:
babel-runtime "^6.26.0"
is-dom "^1.0.9"
-react-is@^16.3.2:
- version "16.4.0"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.4.0.tgz#cc9fdc855ac34d2e7d9d2eb7059bbc240d35ffcf"
+react-is@^16.3.2, react-is@^16.4.2:
+ version "16.4.2"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.4.2.tgz#84891b56c2b6d9efdee577cc83501dfc5ecead88"
-react-lifecycles-compat@^3.0.0:
+react-lifecycles-compat@^3.0.0, react-lifecycles-compat@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
react-modal@^3.3.2:
- version "3.4.4"
- resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-3.4.4.tgz#e9dde25e9e85a59c76831f2a2b468712a546aded"
+ version "3.5.1"
+ resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-3.5.1.tgz#33d38527def90ea324848f7d63e53acc4468a451"
dependencies:
exenv "^1.2.0"
prop-types "^15.5.10"
react-lifecycles-compat "^3.0.0"
warning "^3.0.0"
-react-onclickoutside@^6.1.1:
+react-onclickoutside@^6.6.3:
version "6.7.1"
resolved "https://registry.yarnpkg.com/react-onclickoutside/-/react-onclickoutside-6.7.1.tgz#6a5b5b8b4eae6b776259712c89c8a2b36b17be93"
@@ -8592,19 +8780,29 @@ react-overlays@^0.8.0:
react-transition-group "^2.2.0"
warning "^3.0.0"
+react-popper@^0.7.4:
+ version "0.7.5"
+ resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-0.7.5.tgz#71c25946f291db381231281f6b95729e8b801596"
+ dependencies:
+ popper.js "^1.12.5"
+ prop-types "^15.5.10"
+
react-prop-types@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/react-prop-types/-/react-prop-types-0.4.0.tgz#f99b0bfb4006929c9af2051e7c1414a5c75b93d0"
dependencies:
warning "^3.0.0"
-react-proxy@^3.0.0-alpha.0:
- version "3.0.0-alpha.1"
- resolved "https://registry.yarnpkg.com/react-proxy/-/react-proxy-3.0.0-alpha.1.tgz#4400426bcfa80caa6724c7755695315209fa4b07"
+react-reconciler@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.7.0.tgz#9614894103e5f138deeeb5eabaf3ee80eb1d026d"
dependencies:
- lodash "^4.6.1"
+ fbjs "^0.8.16"
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+ prop-types "^15.6.0"
-react-redux@^5.0.6:
+react-redux@^5.0.7:
version "5.0.7"
resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.7.tgz#0dc1076d9afb4670f993ffaef44b8f8c1155a4c8"
dependencies:
@@ -8630,7 +8828,7 @@ react-show-more-text@^1.0.3:
prop-types "^15.6.0"
react-truncate "^2.1.5"
-react-sortable@^1.2.0:
+react-sortable@^1.2.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/react-sortable/-/react-sortable-1.3.2.tgz#f964130df3d41f7e9551e422ca8049e5345b45cd"
dependencies:
@@ -8638,11 +8836,12 @@ react-sortable@^1.2.0:
react-dom "16.x.x"
react-split-pane@^0.1.77:
- version "0.1.77"
- resolved "https://registry.yarnpkg.com/react-split-pane/-/react-split-pane-0.1.77.tgz#f0c8cd18d076bbac900248dcf6dbcec02d5340db"
+ version "0.1.82"
+ resolved "https://registry.yarnpkg.com/react-split-pane/-/react-split-pane-0.1.82.tgz#42fbb9fd4823f05e037de0dab3cd6cf9bf0cf4ea"
dependencies:
inline-style-prefixer "^3.0.6"
prop-types "^15.5.10"
+ react-lifecycles-compat "^3.0.4"
react-style-proptype "^3.0.0"
react-style-proptype@^3.0.0:
@@ -8658,13 +8857,23 @@ react-test-renderer@^15.3.1:
fbjs "^0.8.9"
object-assign "^4.1.0"
-react-transition-group@^2.0.0, react-transition-group@^2.2.0, react-transition-group@^2.3.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.3.1.tgz#31d611b33e143a5e0f2d94c348e026a0f3b474b6"
+react-test-renderer@^16.0.0-0, react-test-renderer@^16.4.2:
+ version "16.4.2"
+ resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.4.2.tgz#4e03eca9359bb3210d4373f7547d1364218ef74e"
+ dependencies:
+ fbjs "^0.8.16"
+ object-assign "^4.1.1"
+ prop-types "^15.6.0"
+ react-is "^16.4.2"
+
+react-transition-group@^2.0.0, react-transition-group@^2.2.0, react-transition-group@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.4.0.tgz#1d9391fabfd82e016f26fabd1eec329dbd922b5a"
dependencies:
dom-helpers "^3.3.1"
loose-envify "^1.3.1"
- prop-types "^15.6.1"
+ prop-types "^15.6.2"
+ react-lifecycles-compat "^3.0.4"
react-treebeard@^2.1.0:
version "2.1.0"
@@ -8681,7 +8890,7 @@ react-truncate@^2.1.5:
version "2.3.0"
resolved "https://registry.yarnpkg.com/react-truncate/-/react-truncate-2.3.0.tgz#d469b355aff1f83ae9e0f2fed0d47dfd061e5d2e"
-react@15.6.2, react@^15.4.1, react@^15.6.2:
+react@15.6.2, react@^15.4.1:
version "15.6.2"
resolved "https://registry.yarnpkg.com/react/-/react-15.6.2.tgz#dba0434ab439cfe82f108f0f511663908179aa72"
dependencies:
@@ -8691,9 +8900,9 @@ react@15.6.2, react@^15.4.1, react@^15.6.2:
object-assign "^4.1.0"
prop-types "^15.5.10"
-react@16.x.x:
- version "16.4.0"
- resolved "https://registry.yarnpkg.com/react/-/react-16.4.0.tgz#402c2db83335336fba1962c08b98c6272617d585"
+react@16.x.x, react@^16.4.2:
+ version "16.4.2"
+ resolved "https://registry.yarnpkg.com/react/-/react-16.4.2.tgz#2cd90154e3a9d9dd8da2991149fdca3c260e129f"
dependencies:
fbjs "^0.8.16"
loose-envify "^1.1.0"
@@ -8806,7 +9015,7 @@ recast@^0.11.17, recast@~0.11.12:
private "~0.1.5"
source-map "~0.5.0"
-recast@^0.12.5, recast@^0.12.6:
+recast@^0.12.5:
version "0.12.9"
resolved "https://registry.yarnpkg.com/recast/-/recast-0.12.9.tgz#e8e52bdb9691af462ccbd7c15d5a5113647a15f1"
dependencies:
@@ -8816,11 +9025,11 @@ recast@^0.12.5, recast@^0.12.6:
private "~0.1.5"
source-map "~0.6.1"
-recast@^0.14.1:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/recast/-/recast-0.14.7.tgz#4f1497c2b5826d42a66e8e3c9d80c512983ff61d"
+recast@^0.15.0:
+ version "0.15.3"
+ resolved "https://registry.yarnpkg.com/recast/-/recast-0.15.3.tgz#5fc1fd1c8e2d4d027ee3977a176bbb8d1c83305e"
dependencies:
- ast-types "0.11.3"
+ ast-types "0.11.5"
esprima "~4.0.0"
private "~0.1.5"
source-map "~0.6.1"
@@ -8837,15 +9046,6 @@ recursive-readdir@2.2.1:
dependencies:
minimatch "3.0.3"
-redbox-react@^1.3.6:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/redbox-react/-/redbox-react-1.6.0.tgz#e753ac02595bc1bf695b3935889a4f5b1b5a21a1"
- dependencies:
- error-stack-parser "^1.3.6"
- object-assign "^4.0.1"
- prop-types "^15.5.4"
- sourcemapped-stacktrace "^1.1.6"
-
redent@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
@@ -8909,6 +9109,12 @@ regex-not@^1.0.0, regex-not@^1.0.2:
extend-shallow "^3.0.2"
safe-regex "^1.1.0"
+regexp.prototype.flags@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c"
+ dependencies:
+ define-properties "^1.1.2"
+
regexpp@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab"
@@ -8979,7 +9185,13 @@ replace-ext@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
-request@2, request@^2.79.0:
+request-progress@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-2.0.1.tgz#5d36bb57961c673aa5b788dbc8141fdf23b44e08"
+ dependencies:
+ throttleit "^1.0.0"
+
+request@2.87.0, request@^2.79.0, request@^2.81.0:
version "2.87.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e"
dependencies:
@@ -9004,18 +9216,18 @@ request@2, request@^2.79.0:
tunnel-agent "^0.6.0"
uuid "^3.1.0"
-request@~2.79.0:
- version "2.79.0"
- resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"
+"request@>=2.9.0 <2.82.0":
+ version "2.81.0"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
dependencies:
aws-sign2 "~0.6.0"
aws4 "^1.2.1"
- caseless "~0.11.0"
+ caseless "~0.12.0"
combined-stream "~1.0.5"
extend "~3.0.0"
forever-agent "~0.6.1"
form-data "~2.1.1"
- har-validator "~2.0.6"
+ har-validator "~4.2.1"
hawk "~3.1.3"
http-signature "~1.1.0"
is-typedarray "~1.0.0"
@@ -9023,20 +9235,18 @@ request@~2.79.0:
json-stringify-safe "~5.0.1"
mime-types "~2.1.7"
oauth-sign "~0.8.1"
- qs "~6.3.0"
+ performance-now "^0.2.0"
+ qs "~6.4.0"
+ safe-buffer "^5.0.1"
stringstream "~0.0.4"
tough-cookie "~2.3.0"
- tunnel-agent "~0.4.1"
+ tunnel-agent "^0.6.0"
uuid "^3.0.0"
require-directory@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
-require-from-string@^1.1.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418"
-
require-from-string@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
@@ -9085,9 +9295,9 @@ resolve@1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
-resolve@^1.1.6, resolve@^1.5.0, resolve@^1.6.0:
- version "1.7.1"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3"
+resolve@^1.1.6, resolve@^1.3.3, resolve@^1.5.0, resolve@^1.6.0:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
dependencies:
path-parse "^1.0.5"
@@ -9146,6 +9356,13 @@ rosie@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/rosie/-/rosie-1.6.0.tgz#bc0ef64cd401d00794450d5792c0276e226b6ab0"
+rst-selector-parser@^2.2.3:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz#81b230ea2fcc6066c89e3472de794285d9b03d91"
+ dependencies:
+ lodash.flattendeep "^4.4.0"
+ nearley "^2.7.10"
+
rsvp@^3.3.3:
version "3.6.2"
resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a"
@@ -9201,8 +9418,8 @@ rxjs@^5.5.2:
symbol-observable "1.0.1"
rxjs@^6.1.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.2.0.tgz#e024d0e180b72756a83c2aaea8f25423751ba978"
+ version "6.2.2"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.2.2.tgz#eb75fa3c186ff5289907d06483a77884586e1cf9"
dependencies:
tslib "^1.9.0"
@@ -9210,7 +9427,7 @@ safe-buffer@5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
-safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
@@ -9220,7 +9437,7 @@ safe-regex@^1.1.0:
dependencies:
ret "~0.1.10"
-"safer-buffer@>= 2.1.2 < 3":
+"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
@@ -9269,8 +9486,8 @@ schema-utils@^0.3.0:
ajv "^5.0.0"
schema-utils@^0.4.0, schema-utils@^0.4.4, schema-utils@^0.4.5:
- version "0.4.5"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz#21836f0608aac17b78f9e3e24daff14a5ca13a3e"
+ version "0.4.7"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187"
dependencies:
ajv "^6.1.0"
ajv-keywords "^3.1.0"
@@ -9322,7 +9539,7 @@ selfsigned@^1.9.1:
version "5.5.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
-semver@~5.3.0:
+semver@5.3.0, semver@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
@@ -9438,6 +9655,10 @@ shallowequal@^0.2.2:
dependencies:
lodash.keys "^3.1.2"
+shallowequal@^1.0.2:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
+
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
@@ -9539,6 +9760,17 @@ sockjs-client@1.1.4:
json3 "^3.3.2"
url-parse "^1.1.8"
+sockjs-client@1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.5.tgz#1bb7c0f7222c40f42adf14f4442cbd1269771a83"
+ dependencies:
+ debug "^2.6.6"
+ eventsource "0.1.6"
+ faye-websocket "~0.11.0"
+ inherits "^2.0.1"
+ json3 "^3.3.2"
+ url-parse "^1.1.8"
+
sockjs@0.3.19:
version "0.3.19"
resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d"
@@ -9607,10 +9839,6 @@ source-map-url@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.3.0.tgz#7ecaf13b57bcd09da8a40c5d269db33799d4aaf9"
-source-map@0.5.6:
- version "0.5.6"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
-
source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.0, source-map@~0.5.1:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
@@ -9631,12 +9859,6 @@ source-map@^0.6.1, source-map@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
-sourcemapped-stacktrace@^1.1.6:
- version "1.1.8"
- resolved "https://registry.yarnpkg.com/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.8.tgz#6b7a3f1a6fb15f6d40e701e23ce404553480d688"
- dependencies:
- source-map "0.5.6"
-
spdx-correct@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82"
@@ -9688,18 +9910,25 @@ split-string@^3.0.1, split-string@^3.0.2:
dependencies:
extend-shallow "^3.0.0"
+split@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9"
+ dependencies:
+ through "2"
+
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
sshpk@^1.7.0:
- version "1.14.1"
- resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.1.tgz#130f5975eddad963f1d56f92b9ac6c51fa9f83eb"
+ version "1.14.2"
+ resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98"
dependencies:
asn1 "~0.2.3"
assert-plus "^1.0.0"
dashdash "^1.12.0"
getpass "^0.1.1"
+ safer-buffer "^2.0.2"
optionalDependencies:
bcrypt-pbkdf "^1.0.0"
ecc-jsbn "~0.1.1"
@@ -9716,10 +9945,6 @@ stack-trace@0.0.x:
version "0.0.10"
resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
-stackframe@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-0.3.1.tgz#33aa84f1177a5548c8935533cbfeb3420975f5a4"
-
static-extend@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
@@ -9758,15 +9983,15 @@ stream-browserify@^2.0.1:
readable-stream "^2.0.2"
stream-each@^1.1.0:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.2.tgz#8e8c463f91da8991778765873fe4d960d8f616bd"
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae"
dependencies:
end-of-stream "^1.1.0"
stream-shift "^1.0.0"
stream-http@^2.7.2:
- version "2.8.2"
- resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.2.tgz#4126e8c6b107004465918aa2fc35549e77402c87"
+ version "2.8.3"
+ resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
dependencies:
builtin-status-codes "^3.0.0"
inherits "^2.0.1"
@@ -9808,6 +10033,16 @@ string-width@^1.0.1, string-width@^1.0.2:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^4.0.0"
+string.prototype.matchall@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-3.0.0.tgz#66f4d8dd5c6c6cea4dffb55ec5f3184a8dd0dd59"
+ dependencies:
+ define-properties "^1.1.2"
+ es-abstract "^1.12.0"
+ function-bind "^1.1.1"
+ has-symbols "^1.0.0"
+ regexp.prototype.flags "^1.2.0"
+
string.prototype.padend@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0"
@@ -10036,8 +10271,8 @@ tar@^2.0.0:
inherits "2"
tar@^4:
- version "4.4.4"
- resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.4.tgz#ec8409fae9f665a4355cc3b4087d0820232bb8cd"
+ version "4.4.6"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.6.tgz#63110f09c00b4e60ac8bcfe1bf3c8660235fbc9b"
dependencies:
chownr "^1.0.1"
fs-minipass "^1.2.5"
@@ -10064,10 +10299,6 @@ test-exclude@^4.2.1:
read-pkg-up "^1.0.1"
require-main-filename "^1.0.1"
-tether@^1.4.0:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/tether/-/tether-1.4.4.tgz#9dc6eb2b3e601da2098fd264e7f7a8b264de1125"
-
text-table@0.2.0, text-table@^0.2.0, text-table@~0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
@@ -10080,6 +10311,10 @@ throat@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a"
+throttleit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c"
+
through2@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
@@ -10087,7 +10322,7 @@ through2@^2.0.0:
readable-stream "^2.1.5"
xtend "~4.0.1"
-through@^2.3.6, through@^2.3.8, through@~2.3.6:
+through@2, through@^2.3.6, through@^2.3.8, through@~2.3.6:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
@@ -10100,8 +10335,8 @@ time-stamp@^1.0.0:
resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3"
time-stamp@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-2.0.0.tgz#95c6a44530e15ba8d6f4a3ecb8c3a3fac46da357"
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-2.0.1.tgz#708a89359c1fc50bd5e7b1c8aa750d08c9172232"
timed-out@^4.0.0, timed-out@^4.0.1:
version "4.0.1"
@@ -10161,7 +10396,14 @@ toposort@^1.0.0:
version "1.0.7"
resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029"
-tough-cookie@^2.3.2, tough-cookie@~2.3.0, tough-cookie@~2.3.3:
+tough-cookie@^2.3.2:
+ version "2.4.3"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781"
+ dependencies:
+ psl "^1.1.24"
+ punycode "^1.4.1"
+
+tough-cookie@~2.3.0, tough-cookie@~2.3.3:
version "2.3.4"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655"
dependencies:
@@ -10190,8 +10432,8 @@ trim-right@^1.0.1:
glob "^6.0.4"
tslib@^1.9.0:
- version "1.9.2"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.2.tgz#8be0cc9a1f6dc7727c38deb16c2ebd1a2892988e"
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
tty-browserify@0.0.0:
version "0.0.0"
@@ -10203,10 +10445,6 @@ tunnel-agent@^0.6.0:
dependencies:
safe-buffer "^5.0.1"
-tunnel-agent@~0.4.1:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb"
-
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
version "0.14.5"
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
@@ -10228,7 +10466,7 @@ typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
-ua-parser-js@^0.7.9:
+ua-parser-js@^0.7.18:
version "0.7.18"
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.18.tgz#a7bfd92f56edfb117083b69e31d2aa8882d4b1ed"
@@ -10239,11 +10477,11 @@ uglify-es@^3.3.4:
commander "~2.13.0"
source-map "~0.6.1"
-uglify-js@3.3.x:
- version "3.3.28"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.28.tgz#0efb9a13850e11303361c1051f64d2ec68d9be06"
+uglify-js@3.4.x:
+ version "3.4.6"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.6.tgz#bc546d53f3e02b05d97d0ca5a7abfe0fb0384ddb"
dependencies:
- commander "~2.15.0"
+ commander "~2.16.0"
source-map "~0.6.1"
uglify-js@^2.6, uglify-js@^2.8.29:
@@ -10268,8 +10506,8 @@ uglifyjs-webpack-plugin@^0.4.6:
webpack-sources "^1.0.1"
uglifyjs-webpack-plugin@^1.2.4:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.5.tgz#2ef8387c8f1a903ec5e44fa36f9f3cbdcea67641"
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz#57638dd99c853a1ebfe9d97b42160a8a507f9d00"
dependencies:
cacache "^10.0.4"
find-cache-dir "^1.0.0"
@@ -10286,10 +10524,18 @@ uncontrollable@^4.1.0:
dependencies:
invariant "^2.1.0"
+underscore@~1.4.4:
+ version "1.4.4"
+ resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.4.4.tgz#61a6a32010622afa07963bf325203cf12239d604"
+
underscore@~1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8"
+unicode-5.2.0@^0.7.5:
+ version "0.7.5"
+ resolved "https://registry.yarnpkg.com/unicode-5.2.0/-/unicode-5.2.0-0.7.5.tgz#e0df129431a28a95263d8c480fb5e9ab2b0973f0"
+
unidecode@0.1.8:
version "0.1.8"
resolved "https://registry.yarnpkg.com/unidecode/-/unidecode-0.1.8.tgz#efbb301538bc45246a9ac8c559d72f015305053e"
@@ -10338,7 +10584,7 @@ untildify@^3.0.2:
version "3.0.3"
resolved "https://registry.yarnpkg.com/untildify/-/untildify-3.0.3.tgz#1e7b42b140bcfd922b22e70ca1265bfe3634c7c9"
-upath@^1.0.0:
+upath@^1.0.5:
version "1.1.0"
resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd"
@@ -10387,9 +10633,9 @@ url-parse-lax@^3.0.0:
dependencies:
prepend-http "^2.0.0"
-url-parse@^1.1.8, url-parse@~1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.0.tgz#6bfdaad60098c7fe06f623e42b22de62de0d3d75"
+url-parse@^1.1.8, url-parse@^1.4.3:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.3.tgz#bfaee455c889023219d757e045fa6a684ec36c15"
dependencies:
querystringify "^2.0.0"
requires-port "^1.0.0"
@@ -10412,21 +10658,25 @@ url@^0.11.0:
querystring "0.2.0"
use@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/use/-/use-3.1.0.tgz#14716bf03fdfefd03040aef58d8b4b85f3a7c544"
- dependencies:
- kind-of "^6.0.2"
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
util-deprecate@^1.0.2, util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
-util@0.10.3, util@^0.10.3:
+util@0.10.3:
version "0.10.3"
resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
dependencies:
inherits "2.0.1"
+util@^0.10.3:
+ version "0.10.4"
+ resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901"
+ dependencies:
+ inherits "2.0.3"
+
utila@~0.3:
version "0.3.3"
resolved "https://registry.yarnpkg.com/utila/-/utila-0.3.3.tgz#d7e8e7d7e309107092b05f8d9688824d633a4226"
@@ -10455,16 +10705,16 @@ uuid-js@^0.7.5:
resolved "https://registry.yarnpkg.com/uuid-js/-/uuid-js-0.7.5.tgz#6c886d02a53d2d40dcf25d91a170b4a7b25b94d0"
uuid@^3.0.0, uuid@^3.0.1, uuid@^3.1.0, uuid@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14"
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
v8-compile-cache@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.0.tgz#526492e35fc616864284700b7043e01baee09f0a"
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz#a428b28bb26790734c4fc8bc9fa106fccebf6a6c"
validate-npm-package-license@^3.0.1:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338"
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
dependencies:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
@@ -10480,8 +10730,8 @@ vary@~1.1.2:
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
velocity-animate@^1.4.0:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/velocity-animate/-/velocity-animate-1.5.1.tgz#606837047bab8fbfb59a636d1d82ecc3f7bd71a6"
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/velocity-animate/-/velocity-animate-1.5.2.tgz#5a351d75fca2a92756f5c3867548b873f6c32105"
velocity-react@^1.3.1:
version "1.4.1"
@@ -10524,8 +10774,8 @@ vinyl@^1.1.0:
replace-ext "0.0.1"
vinyl@^2.0.1:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.1.0.tgz#021f9c2cf951d6b939943c89eb5ee5add4fd924c"
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86"
dependencies:
clone "^2.1.1"
clone-buffer "^1.0.0"
@@ -10588,8 +10838,8 @@ webpack-addons@^1.1.5:
jscodeshift "^0.4.0"
webpack-cli@^2.0.14:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-2.1.4.tgz#cab81e79249127384fb69b2fdfe2055f9c771b76"
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-2.1.5.tgz#3081fdeb2f205f0a54aa397986880b0c20a71f7a"
dependencies:
chalk "^2.4.1"
cross-spawn "^6.0.5"
@@ -10641,8 +10891,8 @@ webpack-dev-middleware@^1.12.2:
time-stamp "^2.0.0"
webpack-dev-server@^3.1.3:
- version "3.1.4"
- resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.1.4.tgz#9a08d13c4addd1e3b6d8ace116e86715094ad5b4"
+ version "3.1.5"
+ resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.1.5.tgz#87477252e1ac6789303fb8cd3e585fa5d508a401"
dependencies:
ansi-html "0.0.7"
array-includes "^3.0.3"
@@ -10665,7 +10915,7 @@ webpack-dev-server@^3.1.3:
selfsigned "^1.9.1"
serve-index "^1.7.2"
sockjs "0.3.19"
- sockjs-client "1.1.4"
+ sockjs-client "1.1.5"
spdy "^3.4.1"
strip-ansi "^3.0.0"
supports-color "^5.1.0"
@@ -10674,8 +10924,8 @@ webpack-dev-server@^3.1.3:
yargs "11.0.0"
webpack-hot-middleware@^2.22.1:
- version "2.22.2"
- resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.22.2.tgz#623b77ce591fcd4e1fb99f18167781443e50afac"
+ version "2.22.3"
+ resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.22.3.tgz#ae6025d57d656085c5b716b44e0bc0f796787776"
dependencies:
ansi-html "0.0.7"
html-entities "^1.2.0"
@@ -10726,20 +10976,21 @@ webpack@^3.11.0:
yargs "^8.0.2"
webpack@^4.5.0:
- version "4.10.2"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.10.2.tgz#d6a4cc3e2fa748f96ca62a70f91eaaa939ef3858"
- dependencies:
- "@webassemblyjs/ast" "1.5.9"
- "@webassemblyjs/wasm-edit" "1.5.9"
- "@webassemblyjs/wasm-opt" "1.5.9"
- "@webassemblyjs/wasm-parser" "1.5.9"
- acorn "^5.0.0"
+ version "4.16.5"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.16.5.tgz#29fb39462823d7eb8aefcab8b45f7f241db0d092"
+ dependencies:
+ "@webassemblyjs/ast" "1.5.13"
+ "@webassemblyjs/helper-module-context" "1.5.13"
+ "@webassemblyjs/wasm-edit" "1.5.13"
+ "@webassemblyjs/wasm-opt" "1.5.13"
+ "@webassemblyjs/wasm-parser" "1.5.13"
+ acorn "^5.6.2"
acorn-dynamic-import "^3.0.0"
ajv "^6.1.0"
ajv-keywords "^3.1.0"
- chrome-trace-event "^0.1.1"
- enhanced-resolve "^4.0.0"
- eslint-scope "^3.7.1"
+ chrome-trace-event "^1.0.0"
+ enhanced-resolve "^4.1.0"
+ eslint-scope "^4.0.0"
json-parse-better-errors "^1.0.2"
loader-runner "^2.3.0"
loader-utils "^1.1.0"
@@ -10794,7 +11045,7 @@ which-module@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
-which@1, which@^1.2.12, which@^1.2.14, which@^1.2.9, which@^1.3.0:
+which@1, which@^1.2.10, which@^1.2.12, which@^1.2.14, which@^1.2.9, which@^1.3.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
dependencies:
@@ -10822,6 +11073,17 @@ winston@0.8.x:
pkginfo "0.3.x"
stack-trace "0.0.x"
+winston@^2.4.0:
+ version "2.4.3"
+ resolved "https://registry.yarnpkg.com/winston/-/winston-2.4.3.tgz#7a9fdab371b6d3d9b63a592947846d856948c517"
+ dependencies:
+ async "~1.0.0"
+ colors "1.0.x"
+ cycle "1.0.x"
+ eyes "0.1.x"
+ isstream "0.1.x"
+ stack-trace "0.0.x"
+
wordwrap@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
@@ -11042,9 +11304,15 @@ yargs@~3.10.0:
decamelize "^1.0.0"
window-size "0.1.0"
+yauzl@2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005"
+ dependencies:
+ fd-slicer "~1.0.1"
+
yeoman-environment@^2.0.5, yeoman-environment@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-2.1.1.tgz#10a045f7fc4397873764882eae055a33e56ee1c5"
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-2.3.1.tgz#1aa00cc474a8e48518ab2b0f64b43034215e9997"
dependencies:
chalk "^2.1.0"
cross-spawn "^6.0.5"