GUI -- TopoToolbarService created, working first set of toggles added.
- WIP on svg exercise (tabled to be worked on on another date)
Change-Id: I8d4ed84f0de44516419910dc5ee4c8eca7dc46ff
diff --git a/web/gui/src/main/webapp/app/view/topo/topoToolbar.js b/web/gui/src/main/webapp/app/view/topo/topoToolbar.js
new file mode 100644
index 0000000..80351a3
--- /dev/null
+++ b/web/gui/src/main/webapp/app/view/topo/topoToolbar.js
@@ -0,0 +1,93 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * 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.
+ */
+
+/*
+ ONOS GUI -- Topology Toolbar Module.
+ Defines functions for manipulating the toolbar.
+ */
+
+(function () {
+
+ // injected references
+ var $log, tbs;
+
+ var api, toolbar;
+
+ // buttons (named for keystroke)
+ var O, I, D, H, M, P, B;
+ var togSummary, togInstances, togDetails,
+ togHosts, togOffline, togPorts, togBackground;
+
+ function init(_api_) {
+ api = _api_;
+ }
+
+ function getActions() {
+ togSummary = api.getActionEntry('O');
+ togInstances = api.getActionEntry('I');
+ togDetails = api.getActionEntry('D');
+
+ togHosts = api.getActionEntry('H');
+ togOffline = api.getActionEntry('M');
+ togPorts = api.getActionEntry('P');
+ togBackground = api.getActionEntry('B');
+ }
+
+ function entryCallback(entry) {
+ return entry[0];
+ }
+
+ function entryToolTip(entry) {
+ return entry[1];
+ }
+
+ function createToolbar() {
+ getActions();
+ // in actions, function reference is entry[0], tooltip is entry[1]
+ toolbar = tbs.createToolbar('topo-tbar');
+ toolbar.addToggle('summary-tog', 'unknown', true,
+ entryCallback(togSummary), entryToolTip(togSummary));
+ toolbar.addToggle('instance-tog', 'unknown', true,
+ entryCallback(togInstances), entryToolTip(togInstances));
+ toolbar.addToggle('details-tog', 'unknown', true,
+ entryCallback(togDetails), entryToolTip(togDetails));
+ toolbar.addSeparator();
+
+ toolbar.addToggle('hosts-tog', 'endstation', false,
+ entryCallback(togHosts), entryToolTip(togHosts));
+ toolbar.addToggle('offline-tog', 'unknown', true,
+ entryCallback(togOffline), entryToolTip(togOffline));
+ toolbar.addToggle('ports-tog', 'unknown', true,
+ entryCallback(togPorts), entryToolTip(togPorts));
+ toolbar.addToggle('bkgrnd-tog', 'unknown', true,
+ entryCallback(togBackground), entryToolTip(togBackground));
+
+ toolbar.hide();
+ }
+
+ angular.module('ovTopo')
+ .factory('TopoToolbarService', ['$log', 'ToolbarService',
+
+ function (_$log_, _tbs_) {
+ $log = _$log_;
+ tbs = _tbs_;
+
+ return {
+ init: init,
+ createToolbar: createToolbar
+ };
+ }]);
+}());
\ No newline at end of file