diff options
author | Jim Hahn <jrh3@att.com> | 2021-05-28 12:48:13 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2021-05-28 12:48:13 +0000 |
commit | 0bb797ed095b0d8a354ee6cac9f9842f0f6bcd5a (patch) | |
tree | a2309a4372112dc507c903d7e5d2d33ed791ab47 /gui-clamp/ui-react/src/utils/OnapUtils.js | |
parent | 4ea0f910d4ad5c15915eec49b5057d7af5c6dbf6 (diff) | |
parent | 87111eea8588fb30936a8f876f5f3feed61e7b8a (diff) |
Merge "React Front-End UI"
Diffstat (limited to 'gui-clamp/ui-react/src/utils/OnapUtils.js')
-rw-r--r-- | gui-clamp/ui-react/src/utils/OnapUtils.js | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/gui-clamp/ui-react/src/utils/OnapUtils.js b/gui-clamp/ui-react/src/utils/OnapUtils.js new file mode 100644 index 0000000..9ba9382 --- /dev/null +++ b/gui-clamp/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; + } +} |