X-Git-Url: https://git.josue.xyz/?p=VSoRC%2F.git;a=blobdiff_plain;f=js%2Ftopology%2Fcards.js;fp=js%2Ftopology%2Fcards.js;h=04c0606eaa67778269166c222e2299ea5720fb62;hp=0000000000000000000000000000000000000000;hb=4ff4cfab60fd88f431c88603d57612fc489dc62f;hpb=ea20f018c05bcc4e56b2dfa3eee30af0d6ffabf3 diff --git a/js/topology/cards.js b/js/topology/cards.js new file mode 100644 index 0000000..04c0606 --- /dev/null +++ b/js/topology/cards.js @@ -0,0 +1,101 @@ +// Copyright (c) 2018 Maen Artimy +// +// 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. + + +var BAR_IDX = 1; +var CONTAINER_IDX = 2; + +var cardControl = ( function() { + console.log("cardControl"); + var expand = function(e) { + var size = e.parentElement.parentElement.parentElement.style.width; + if(size==='96%') { // first value of size is "" + e.parentElement.parentElement.parentElement.style.width = '45%'; + } else { + e.parentElement.parentElement.parentElement.style.width = '96%'; + } + //e.classList.toggle("active"); + }; + + var collapse = function(e) { + var c = e.parentElement.parentElement.parentElement.childNodes.item(CONTAINER_IDX); + var disp = c.style.display; + if(disp == "none") { + c.style.display = "block" + } else { + c.style.display = "none"; + } + }; + + return { + expand: expand, + collapse: collapse + } +})(); + +// Generate cards dynamicly based on the template given by local 'html' variable +// and data from the 'views' list. Cards are added to the 'parent' element +// passed as argument. +var generateCards = ( function() { + console.log("generateCards"); + var html = "

{Title}

\ +
\ + \ +

No data to display...

\ +
"; + + // + + var run = function(views, parent) { + console.log("generateCards.run"); + var doc = document.getElementById(parent); + doc.innerHTML = ""; + for (var idx in views) { + var d = document.createElement("div"); + d.id = views[idx].id; + d.classList.add("card"); + var card = html.replace("{Title}", views[idx].dsc); + d.innerHTML = card; + doc.appendChild(d); + } + }; + + /*var loadModules = function(views) { + for (var idx in views) { + if(views[idx].call) { + var card = document.getElementById(views[idx].id); + var container = card.childNodes.item(CONTAINER_IDX) + + var myModule = new BaseModule(views[idx].cmd); + myModule.callback = views[idx].call; + myModule.run(container); + } + } + };*/ + + return { + run: run + } +})(); + +var views = [ +{id:"mSwitch", cmd:"/listswitch", dsc:"Open V Switch ID(s)", call:dpList, ref:true}, +{id:"mTableStats", cmd:"/tablestatus?tablestat=", dsc:"Table stats", call:dpTable, ref:true}, +{id:"mPortDesc", cmd:"/portsdesc?portdesc=", dsc:"Port Desc", call:dpTable, ref:true}, +{id:"mPorts", cmd:"/portsstat?portstat=", dsc:"Ports stats", call:dpTable, ref:true}, +//{id:"mTableFeature", cmd:"/data?tablefeature=", dsc:"Table Features", call:dpTable, ref:true}, +//{id:"mQueueStats", cmd:"/data?queuestat=", dsc:"Queue Stats", call:dpTable, ref:true}, +//{id:"mQueueConfig", cmd:"/data?queueconfig=", dsc:"Queue Configuration", call:dpTable, ref:true}, +//{id:"mMeters", cmd:"/data?meterstat=", dsc:"Meter stats", call:dpTable, ref:true} +];