GUI -- two module template flavors: DIV and SVG.
diff --git a/web/gui/src/main/webapp/module-div-template.js b/web/gui/src/main/webapp/module-div-template.js
new file mode 100644
index 0000000..09ea569
--- /dev/null
+++ b/web/gui/src/main/webapp/module-div-template.js
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2014 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.
+ */
+
+/*
+ Module template file for DIV based view.
+
+ @author Simon Hunt
+ */
+
+(function (onos) {
+ 'use strict';
+
+ var list,
+ data = [ 'foo', 'bar', 'baz' ];
+
+ // invoked only the first time the view is loaded
+ function preload(view, ctx) {
+ // NOTE: view.$div is a D3 selection of the view's div
+ list = view.$div.append('ul');
+ }
+
+ // invoked just prior to loading the view
+ function reset(view) {
+
+ }
+
+ // invoked when the view is loaded
+ function load(view, ctx) {
+ list.selectAll('li')
+ .data(data)
+ .enter()
+ .append('li')
+ .text(function (d) { return d; })
+ }
+
+ // invoked when the view is resized
+ function resize(view, ctx) {
+
+ }
+
+ // == register the view here, with links to lifecycle callbacks
+
+ onos.ui.addView('myViewId', {
+ preload: preload,
+ reset: reset,
+ load: load,
+ // unload: unload,
+ // error: error
+ resize: resize
+ });
+
+}(ONOS));
diff --git a/web/gui/src/main/webapp/module-svg-template.js b/web/gui/src/main/webapp/module-svg-template.js
new file mode 100644
index 0000000..66da760
--- /dev/null
+++ b/web/gui/src/main/webapp/module-svg-template.js
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2014 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.
+ */
+
+/*
+ Module template file for SVG based view.
+
+ @author Simon Hunt
+ */
+
+(function (onos) {
+ 'use strict';
+
+ var svg;
+
+ // set the size of the SVG layer to match that of the view
+ function sizeSvg(view) {
+ svg.attr({
+ width: view.width(),
+ height: view.height()
+ });
+ }
+
+ // invoked only the first time the view is loaded
+ function preload(view, ctx) {
+ // NOTE: view.$div is a D3 selection of the view's div
+ svg = view.$div.append('svg');
+ sizeSvg(view);
+ // ... further code to initialize the SVG view ...
+
+ }
+
+ // invoked just prior to loading the view
+ function reset(view) {
+
+ }
+
+ // invoked when the view is loaded
+ function load(view, ctx) {
+
+ }
+
+ // invoked when the view is resized
+ function resize(view, ctx) {
+ sizeSvg(view);
+ // ... further code to handle resize of view ...
+
+ }
+
+ // == register the view here, with links to lifecycle callbacks
+
+ onos.ui.addView('myViewId', {
+ preload: preload,
+ reset: reset,
+ load: load,
+ // unload: unload,
+ // error: error
+ resize: resize
+ });
+
+}(ONOS));
diff --git a/web/gui/src/main/webapp/module-template.js b/web/gui/src/main/webapp/module-template.js
deleted file mode 100644
index 3de7d79..0000000
--- a/web/gui/src/main/webapp/module-template.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2014 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.
- */
-
-/*
- Module template file.
-
- @author Simon Hunt
- */
-
-(function (onos) {
- 'use strict';
-
- var api = onos.api;
-
- // == define your functions here.....
-
-
- // == register views here, with links to lifecycle callbacks
-
-// api.addView('view-id', {/* callbacks */});
-
-
-}(ONOS));