diff options
author | Christophe Closset <christophe.closset@intl.att.com> | 2020-07-14 15:12:59 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2020-07-14 15:12:59 +0000 |
commit | b34062dd4ad47cbe3c3acb8e6a51c0cd090e2ca5 (patch) | |
tree | ff08d97ec7ef33444f177ffb3ef96dcc497a3ba0 /ui-react/src/utils/OnapUtils.js | |
parent | 369ba144248faa94ba50669a6886745040e9475f (diff) | |
parent | 9dfd03bce65a903c3379e1e07b3c972f208c8fdb (diff) |
Merge "Add a customValidation method to PolicyModal"
Diffstat (limited to 'ui-react/src/utils/OnapUtils.js')
-rw-r--r-- | ui-react/src/utils/OnapUtils.js | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/ui-react/src/utils/OnapUtils.js b/ui-react/src/utils/OnapUtils.js new file mode 100644 index 000000000..316a0d65f --- /dev/null +++ b/ui-react/src/utils/OnapUtils.js @@ -0,0 +1,65 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP CLAMP + * ================================================================================ + * Copyright (C) 2020 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. + * ============LICENSE_END============================================ + * =================================================================== + * + */ + +export default class OnapUtils { + + constructor() { + this.clickBlocked = false; + } + + static jsonEditorErrorFormatter(errors) { + + let messages = []; + let messagesOutputString = null; + + // errors is an array of JSON Editor "error" objects, where each + // object looks like this: + + // { + // message: "Please populate the required property "Threshold"" + // path: "root.signatures.0" + // property: "required" + // } + + // In this function we concatenate all the messages, removing any duplicates, + // and adding a newline between each message. The result returned is a single + // string that can be displayed to the user in an alert message + + if (!Array.isArray(errors)) { + console.error('jsoneEditorErrorFormatter was passed a non-array argument'); + } else { + for (let ii=0; ii < errors.length; ++ii) { + if (!messages.includes(errors[ii].message)) { + messages.push(errors[ii].message); + if (messagesOutputString) { + messagesOutputString += '\n' + errors[ii].message; + } else { + messagesOutputString = errors[ii].message; + } + } + } + } + + return messagesOutputString; + } +} |