Move adsal into its own subdirectory.
[controller.git] / opendaylight / adsal / web / topology / src / main / resources / js / page.js
diff --git a/opendaylight/adsal/web/topology/src/main/resources/js/page.js b/opendaylight/adsal/web/topology/src/main/resources/js/page.js
new file mode 100644 (file)
index 0000000..5b4e79f
--- /dev/null
@@ -0,0 +1,113 @@
+
+/* 
+ * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved. 
+ * 
+ * This program and the accompanying materials are made available under the 
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution, 
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+//PAGE topology
+one.f = {};
+
+// specify dashlets and layouts
+one.f.dashlet = {
+    flows : {
+        id : 'dashletFlows',
+        name : 'Flows'
+    },
+    widget : {
+        id : 'dashletWidget',
+        name : 'Acme Widgets'
+    },
+    status : {
+        id : 'dashletStatus',
+        name : 'Network Status'
+    },
+    foo : {
+        id : 'dashletFoo',
+        name : 'Foo'
+    },
+    bar : {
+        id : 'dashletBar',
+        name : 'Bar'
+    }
+};
+
+one.f.menu = {
+    left : {
+        top : [
+            one.f.dashlet.flows,
+            one.f.dashlet.bar
+        ],
+        bottom : [
+            one.f.dashlet.foo
+        ]
+    },
+    right : {
+        top : [],
+        bottom : [
+            one.f.dashlet.widget,
+            one.f.dashlet.status
+        ]
+    }
+};
+
+/** INIT **/
+// populate nav tabs
+$(one.f.menu.left.top).each(function(index, value) {
+    var $nav = $(".nav", "#left-top");
+    one.main.page.dashlet($nav, value);
+});
+
+$(one.f.menu.left.bottom).each(function(index, value) {
+    var $nav = $(".nav", "#left-bottom");
+    one.main.page.dashlet($nav, value);
+});
+
+$(one.f.menu.right.bottom).each(function(index, value) {
+    var $nav = $(".nav", "#right-bottom");
+    one.main.page.dashlet($nav, value);
+});
+
+one.f.populate = function($dashlet, header) {
+    var $h4 = one.lib.dashlet.header(header);
+    $dashlet.append($h4);
+};
+
+// bind dashlet nav
+$('.dash .nav a', '#main').click(function() {
+    // de/activation
+    var $li = $(this).parent();
+    var $ul = $li.parent();
+    one.lib.nav.unfocus($ul);
+    $li.addClass('active');
+    // clear respective dashlet
+    var $dashlet = $ul.parent().find('.dashlet');
+    one.lib.dashlet.empty($dashlet);
+    // callback based on menu
+    var id = $(this).attr('id');
+    var menu = one.f.dashlet;
+    switch (id) {
+        case menu.foo.id:
+            one.f.populate($dashlet, "Foo");
+            break;
+        case menu.flows.id:
+            one.f.populate($dashlet, "Flows");
+            break;
+        case menu.bar.id:
+            one.f.populate($dashlet, "Bar");
+            break;
+        case menu.widget.id:
+            one.f.populate($dashlet, "Widget");
+            break;
+        case menu.status.id:
+            one.f.populate($dashlet, "Status");
+            break;
+    };
+});
+
+// activate first tab on each dashlet
+$('.dash .nav').each(function(index, value) {
+    $($(value).find('li')[0]).find('a').click();
+});