diff options
author | 2020-03-17 19:09:29 +0000 | |
---|---|---|
committer | 2020-03-17 19:09:29 +0000 | |
commit | f9e85b70f97c139911466336f29fb365de53306c (patch) | |
tree | 6e0d810e1f83af5b1fe6815049814edaa2cd24a4 /gui-pdp-monitoring/src/webapp/js/PdpListView.js | |
parent | c56aac90092406753c17eec883d80d841bcd8730 (diff) | |
parent | 4d4f41c7cc831906100e10838b40c3b8d86657f2 (diff) |
Merge "Setup js unit test and code coverage framework"
Diffstat (limited to 'gui-pdp-monitoring/src/webapp/js/PdpListView.js')
-rw-r--r-- | gui-pdp-monitoring/src/webapp/js/PdpListView.js | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/gui-pdp-monitoring/src/webapp/js/PdpListView.js b/gui-pdp-monitoring/src/webapp/js/PdpListView.js new file mode 100644 index 0000000..1457a9e --- /dev/null +++ b/gui-pdp-monitoring/src/webapp/js/PdpListView.js @@ -0,0 +1,75 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2020 Nordix Foundation. + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +function RenderPdpList(treeArr, className) { + var $ = treeArr, + root = document.createDocumentFragment(), + childLevel = 0 + var index='' + var isNode=false + function insertChildren(parentNode, traverseArr, subGroup) { + + for(let i = 0; i < traverseArr.length; i++) { + if(parentNode === root) { + childLevel = 0 + } + var currentLi = document.createElement('li') + currentLi.setAttribute('level', childLevel) + if(traverseArr[i].children && traverseArr[i].children.length > 0) { + var title = document.createElement('div') + var triangle = document.createElement('i') + var text = document.createElement('p') + currentLi.classList.add('parentNode') + title.classList.add('title') + triangle.classList.add('triangle') + text.innerText = traverseArr[i].title + title.appendChild(triangle) + title.appendChild(text) + currentLi.appendChild(title) + childLevel++ + if(isNode) index="" + if(subGroup !== null){ + index+= subGroup+"/" + } + insertChildren(currentLi, traverseArr[i].children, traverseArr[i].title) + }else { + var a = document.createElement('a') + a.setAttribute('href',"#"+index+subGroup+"/"+traverseArr[i].title) + a.classList.add('pdps__link') + a.textContent= traverseArr[i].title + currentLi.appendChild(a) + isNode=true + } + parentNode.appendChild(currentLi) + } + } + insertChildren(root, $, null) + document.querySelector('ul.' + className + '').appendChild(root) +} + +function highlightSelected (id){ + const resultsArr = Array.from(document.querySelectorAll('.pdps__link')); + resultsArr.forEach(el => { + el.classList.remove('pdps__link--active'); + }); + document.querySelector(`.pdps__link[href*="${id}"]`).classList.add('pdps__link--active'); +}; + +export { RenderPdpList, highlightSelected, };
\ No newline at end of file |