summaryrefslogtreecommitdiffstats
path: root/openecomp-ui/src/sdc-app/common/helpers
diff options
context:
space:
mode:
authorsvishnev <shlomo-stanisla.vishnevetskiy@amdocs.com>2018-04-15 09:06:57 +0300
committerEinav Keidar <einavw@amdocs.com>2018-04-15 07:55:06 +0000
commitea5e43cc939f2010b4f4c97cb8d346c91348fbba (patch)
tree23e0d347103d16099ec3ca657ab246088cf88d01 /openecomp-ui/src/sdc-app/common/helpers
parent894285bfa9ccacde35b1e94e07856b53971e2559 (diff)
Onboarding filter
Issue-ID: SDC-1187 Change-Id: I74ce464c8ee4060c381b094d26d1ded270cdf40d Signed-off-by: svishnev <shlomo-stanisla.vishnevetskiy@amdocs.com>
Diffstat (limited to 'openecomp-ui/src/sdc-app/common/helpers')
-rw-r--r--openecomp-ui/src/sdc-app/common/helpers/ItemsHelper.js35
-rw-r--r--openecomp-ui/src/sdc-app/common/helpers/ItemsHelperConstants.js29
-rw-r--r--openecomp-ui/src/sdc-app/common/helpers/UniqueTypesHelper.js69
3 files changed, 118 insertions, 15 deletions
diff --git a/openecomp-ui/src/sdc-app/common/helpers/ItemsHelper.js b/openecomp-ui/src/sdc-app/common/helpers/ItemsHelper.js
index 99ecae9887..ae5c2707b6 100644
--- a/openecomp-ui/src/sdc-app/common/helpers/ItemsHelper.js
+++ b/openecomp-ui/src/sdc-app/common/helpers/ItemsHelper.js
@@ -1,36 +1,32 @@
-/*!
- * 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 { permissionTypes } from 'sdc-app/onboarding/permissions/PermissionsConstants.js';
import { actionsEnum as VersionControllerActionsEnum } from 'nfvo-components/panel/versionController/VersionControllerConstants.js';
import { actionTypes as onboardingActionTypes } from 'sdc-app/onboarding/OnboardingConstants.js';
-import restToggle from 'sdc-app/features/restToggle.js';
+import { restToggle } from 'sdc-app/features/featureToggleUtils.js';
import { featureToggleNames } from 'sdc-app/features/FeaturesConstants.js';
+import objectPropsToUrlString from 'nfvo-utils/objectPropsToUrlString.js';
+
export const archiveActions = {
ARCHIVE: 'ARCHIVE',
RESTORE: 'RESTORE'
};
-export const itemStatus = {
- ARCHIVED: 'ARCHIVED',
- DRAFT: 'Draft',
- CERTIFIED: 'Certified'
-};
-
function baseUrl() {
const restPrefix = Configuration.get('restPrefix');
return `${restPrefix}/v1.0/items`;
@@ -118,6 +114,15 @@ const ItemsHelper = {
return RestAPIUtil.put(`${baseUrl()}/${itemId}/actions`, {
action: archiveActions.RESTORE
});
+ },
+
+ fetchItems(filterData) {
+ const str = objectPropsToUrlString(filterData);
+ return restToggle({
+ restFunction: () => RestAPIUtil.fetch(`${baseUrl()}?${str}`),
+ featureName: featureToggleNames.FILTER,
+ mockResult: { results: [] }
+ });
}
};
diff --git a/openecomp-ui/src/sdc-app/common/helpers/ItemsHelperConstants.js b/openecomp-ui/src/sdc-app/common/helpers/ItemsHelperConstants.js
new file mode 100644
index 0000000000..ebbbfded3b
--- /dev/null
+++ b/openecomp-ui/src/sdc-app/common/helpers/ItemsHelperConstants.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.
+ */
+export const itemStatus = {
+ ACTIVE: 'ACTIVE',
+ ARCHIVED: 'ARCHIVED'
+};
+
+export const versionStatus = {
+ DRAFT: 'Draft',
+ CERTIFIED: 'Certified'
+};
+
+export const itemType = {
+ VSP: 'vsp',
+ VLM: 'vlm'
+};
diff --git a/openecomp-ui/src/sdc-app/common/helpers/UniqueTypesHelper.js b/openecomp-ui/src/sdc-app/common/helpers/UniqueTypesHelper.js
new file mode 100644
index 0000000000..de84f91bae
--- /dev/null
+++ b/openecomp-ui/src/sdc-app/common/helpers/UniqueTypesHelper.js
@@ -0,0 +1,69 @@
+/*!
+ * 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 RestAPIUtil from 'nfvo-utils/RestAPIUtil.js';
+import Configuration from 'sdc-app/config/Configuration.js';
+import ValidationHelper from 'sdc-app/common/helpers/ValidationHelper.js';
+import { featureToggleNames } from 'sdc-app/features/FeaturesConstants.js';
+import { restToggle } from 'sdc-app/features/featureToggleUtils.js';
+
+const itemTypesMapper = {
+ vsp: 'VspName',
+ vlm: 'VlmName'
+};
+
+function baseUrl() {
+ const restPrefix = Configuration.get('restPrefix');
+ return `${restPrefix}/v1.0/unique-types/`;
+}
+
+function uniqueValue(type, value) {
+ return restToggle({
+ restFunction: () =>
+ RestAPIUtil.fetch(`${baseUrl()}${type}/values/${value}`),
+ featureName: featureToggleNames.FILTER,
+ mockResult: { occupied: false }
+ });
+}
+
+export default {
+ async isNameUnique(
+ dispatch,
+ { value, name, formName, errorText, itemType }
+ ) {
+ const { occupied } = await uniqueValue(
+ itemTypesMapper[itemType],
+ value
+ );
+ const validation = occupied
+ ? {
+ isValid: false,
+ errorText
+ }
+ : { isValid: true, errorText: '' };
+
+ let deltaData = {};
+ deltaData[name] = value;
+ let customValidations = {};
+ customValidations[name] = () => validation;
+
+ ValidationHelper.dataChanged(dispatch, {
+ deltaData,
+ formName,
+ customValidations
+ });
+ }
+};