Topo2: ONOS-5640, ONOS-5641 ONOS-5645 Show details for Hosts, Links, Sub-Regions
Added Links panel
Details panel shared between Details, Link, Hosts and Regions
Refactored List content for panel views
Reference to the PanelService Element had a name change
Added a Base UIView to extend future views from
Extend method was being repeated

Change-Id: I3fa070fc5140e98720e47f4b90e3571cb0347596
diff --git a/web/gui/src/main/webapp/app/view/topo2/topo2NodeModel.js b/web/gui/src/main/webapp/app/view/topo2/topo2NodeModel.js
index 048e2f9..18ad7cc 100644
--- a/web/gui/src/main/webapp/app/view/topo2/topo2NodeModel.js
+++ b/web/gui/src/main/webapp/app/view/topo2/topo2NodeModel.js
@@ -76,6 +76,31 @@
                         'mouseout': 'mouseoutHandler'
                     };
                 },
+                select: function () {
+                    var ev = d3.event;
+
+                    // TODO: if single selection clear selected devices, hosts, sub-regions
+
+                    if (ev.shiftKey) {
+                        // TODO: Multi-Select Details Panel
+                        this.set('selected', true);
+                    } else {
+
+                        var s = Boolean(this.get('selected'));
+                        // Clear all selected Items
+                        _.each(this.collection.models, function (m) {
+                            m.set('selected', false);
+                        });
+
+                        this.set('selected', !s);
+                    }
+
+                    var selected = this.collection.filter(function (m) {
+                        return m.get('selected');
+                    });
+
+                    return selected;
+                },
                 createNode: function () {
                     this.set('svgClass', this.svgClassName());
                     t2nps.positionNode(this);