From ea5e43cc939f2010b4f4c97cb8d346c91348fbba Mon Sep 17 00:00:00 2001 From: svishnev Date: Sun, 15 Apr 2018 09:06:57 +0300 Subject: Onboarding filter Issue-ID: SDC-1187 Change-Id: I74ce464c8ee4060c381b094d26d1ded270cdf40d Signed-off-by: svishnev --- openecomp-ui/src/sdc-app/features/featureToggle.js | 10 ++++--- .../src/sdc-app/features/featureToggleUtils.js | 31 ++++++++++++++++++++++ openecomp-ui/src/sdc-app/features/restToggle.js | 24 ----------------- 3 files changed, 37 insertions(+), 28 deletions(-) create mode 100644 openecomp-ui/src/sdc-app/features/featureToggleUtils.js delete mode 100644 openecomp-ui/src/sdc-app/features/restToggle.js (limited to 'openecomp-ui/src/sdc-app/features') diff --git a/openecomp-ui/src/sdc-app/features/featureToggle.js b/openecomp-ui/src/sdc-app/features/featureToggle.js index d33c76e523..861db6ae9c 100644 --- a/openecomp-ui/src/sdc-app/features/featureToggle.js +++ b/openecomp-ui/src/sdc-app/features/featureToggle.js @@ -38,12 +38,14 @@ import { connect } from 'react-redux'; export const FeatureComponent = props => { const { features = [], featureName, InnerComponent, ...otherProps } = props; - const AComp = InnerComponent.AComp ? InnerComponent.AComp : InnerComponent; + const OnComp = InnerComponent.OnComp + ? InnerComponent.OnComp + : InnerComponent; return !!features.find(el => el.name === featureName && el.active) ? ( - - ) : InnerComponent.BComp ? ( - + + ) : InnerComponent.OffComp ? ( + ) : null; }; diff --git a/openecomp-ui/src/sdc-app/features/featureToggleUtils.js b/openecomp-ui/src/sdc-app/features/featureToggleUtils.js new file mode 100644 index 0000000000..1263336fd3 --- /dev/null +++ b/openecomp-ui/src/sdc-app/features/featureToggleUtils.js @@ -0,0 +1,31 @@ +/*! + * 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 store from 'sdc-app/AppStore.js'; + +export const restToggle = ({ featureName, restFunction, mockResult }) => { + const { features } = store.getState(); + return !!features.find(el => el.name === featureName && el.active) + ? restFunction() + : Promise.resolve(mockResult); +}; + +export const functionToggle = (featureName, { onFunction, offFunction }) => { + const { features } = store.getState(); + return !!features.find(el => el.name === featureName && el.active) + ? onFunction() + : offFunction(); +}; diff --git a/openecomp-ui/src/sdc-app/features/restToggle.js b/openecomp-ui/src/sdc-app/features/restToggle.js deleted file mode 100644 index 505dace4e7..0000000000 --- a/openecomp-ui/src/sdc-app/features/restToggle.js +++ /dev/null @@ -1,24 +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 store from 'sdc-app/AppStore.js'; - -export default ({ featureName, restFunction, mockResult }) => { - const { features } = store.getState(); - return !!features.find(el => el.name === featureName && el.active) - ? restFunction() - : Promise.resolve(mockResult); -}; -- cgit 1.2.3-korg