omf_web 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/omf_web_server +18 -0
- data/example/bridge/README.md +7 -0
- data/example/bridge/data_sources/sensor-sqlite.rb +15 -15
- data/example/bridge/htdocs/graph/js/bridge.js +35 -45
- data/example/bridge/htdocs/graph/js/event_line_chart.js +20 -18
- data/example/bridge/htdocs/graph/js/event_table.js +26 -28
- data/example/bridge/viz_server.rb +5 -9
- data/example/demo/demo_viz_server.rb +2 -2
- data/example/demo/widgets/linked_graphs_tab.yaml +9 -32
- data/example/openflow-gec15/code_tab.yaml +7 -12
- data/example/openflow-gec15/dashboard_tab.yaml +11 -12
- data/example/openflow-gec15/exp_source.rb +26 -26
- data/example/openflow-gec15/of_viz_server.rb +7 -7
- data/example/simple/simple.yaml +2 -1
- data/example/simple/simple_dynamic.yaml +1 -1
- data/example/web_rtc/web_rtc.yaml +54 -0
- data/example/web_rtc/webrtc-exp_1381786573.sq3 +0 -0
- data/lib/omf-web/config.ru +1 -1
- data/lib/omf-web/content/content_proxy.rb +2 -2
- data/lib/omf-web/content/file_repository.rb +11 -53
- data/lib/omf-web/content/git_repository.rb +1 -1
- data/lib/omf-web/content/irods_repository.rb +1 -1
- data/lib/omf-web/content/repository.rb +5 -3
- data/lib/omf-web/content/static_repository.rb +25 -11
- data/lib/omf-web/data_source_proxy.rb +3 -3
- data/lib/omf-web/rack/content_handler.rb +2 -2
- data/lib/omf-web/rack/session_authenticator.rb +3 -3
- data/lib/omf-web/rack/tab_mapper.rb +2 -2
- data/lib/omf-web/rack/update_handler.rb +2 -2
- data/lib/omf-web/rack/websocket_handler.rb +3 -3
- data/lib/omf-web/rack/widget_mapper.rb +2 -2
- data/lib/omf-web/session_store.rb +2 -2
- data/lib/omf-web/theme/abstract_page.rb +15 -24
- data/lib/omf-web/theme/bright/code_renderer.rb +24 -30
- data/lib/omf-web/theme/bright/data_renderer.rb +7 -5
- data/lib/omf-web/theme/bright/page.rb +2 -1
- data/lib/omf-web/theme/bright/widget_chrome.rb +16 -14
- data/lib/omf-web/theme.rb +1 -1
- data/lib/omf-web/thin/logging.rb +18 -13
- data/lib/omf-web/thin/runner.rb +2 -2
- data/lib/omf-web/thin/server.rb +105 -27
- data/lib/omf-web/version.rb +1 -1
- data/lib/omf-web/widget/abstract_widget.rb +3 -3
- data/lib/omf-web/widget/data_widget.rb +1 -0
- data/lib/omf-web/widget/text/maruku.rb +1 -1
- data/lib/omf-web/widget.rb +22 -22
- data/lib/omf_web.rb +1 -1
- data/omf_web.gemspec +18 -15
- data/share/htdocs/graph/js/abstract_chart.js +69 -68
- data/share/htdocs/graph/js/abstract_nv_chart.js +35 -33
- data/share/htdocs/graph/js/abstract_widget.js +61 -62
- data/share/htdocs/graph/js/axis.js +30 -25
- data/share/htdocs/graph/js/barchart_brush.js +23 -21
- data/share/htdocs/graph/js/code_mirror.js +35 -33
- data/share/htdocs/graph/js/discrete_bar_chart.js +27 -30
- data/share/htdocs/graph/js/histogram2.js +37 -47
- data/share/htdocs/graph/js/line_chart3.js +36 -30
- data/share/htdocs/graph/js/line_chart_with_focus.js +10 -9
- data/share/htdocs/graph/js/multi_barchart.js +33 -30
- data/share/htdocs/graph/js/network2.js +98 -97
- data/share/htdocs/graph/js/pie_chart2.js +25 -23
- data/share/htdocs/graph/js/scatter_plot.js +38 -36
- data/share/htdocs/graph/js/table2.js +60 -54
- data/share/htdocs/js/app.js +43 -0
- data/share/htdocs/js/{data_source2.js → data_source3.js} +44 -73
- data/share/htdocs/js/data_source_repo.js +42 -0
- data/share/htdocs/require/nv_d3.js +2 -0
- data/share/htdocs/theme/abstract/abstract.js +4 -4
- data/share/htdocs/vendor/VERSION_MAP.yaml +2 -0
- data/share/htdocs/vendor/require-2.1.8/require.js +2053 -0
- data/share/htdocs/vendor/require-2.1.8/require.min.js +36 -0
- data/share/htdocs/vendor/require-css-0.0.7/.gitignore +1 -0
- data/share/htdocs/vendor/require-css-0.0.7/LICENSE +10 -0
- data/share/htdocs/vendor/require-css-0.0.7/README.md +231 -0
- data/share/htdocs/vendor/require-css-0.0.7/bower.json +5 -0
- data/share/htdocs/vendor/require-css-0.0.7/css-builder.js +251 -0
- data/share/htdocs/vendor/require-css-0.0.7/css.js +436 -0
- data/share/htdocs/vendor/require-css-0.0.7/normalize.js +138 -0
- data/share/htdocs/vendor/require-css-0.0.7/package.json +5 -0
- data/share/htdocs/vendor/spin/jquery.spin.js +6 -4
- metadata +100 -74
- checksums.yaml +0 -7
- data/bin/omf_web_demo +0 -3
- data/bin/omf_web_demo.sh +0 -7
- data/bin/omf_web_server.rb +0 -157
- data/lib/omf_common/lobject.rb +0 -187
- data/lib/omf_common/log4r_outputter.rb +0 -69
- data/sample.sq3 +0 -0
- data/share/htdocs/js/data_source.js +0 -173
- data/share/htdocs/js/require3.js +0 -292
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
|
|
1
|
+
define(["graph/abstract_nv_chart"], function (abstract_nv_chart) {
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
var scatter_plot = abstract_nv_chart.extend({
|
|
4
4
|
decl_properties: [
|
|
5
|
-
['x_axis', 'key', {property: 'x'}],
|
|
6
|
-
['y_axis', 'key', {property: 'y'}],
|
|
7
|
-
['radius', 'int', 10],
|
|
8
|
-
['stroke_width', 'int', 2],
|
|
5
|
+
['x_axis', 'key', {property: 'x'}],
|
|
6
|
+
['y_axis', 'key', {property: 'y'}],
|
|
7
|
+
['radius', 'int', 10],
|
|
8
|
+
['stroke_width', 'int', 2],
|
|
9
9
|
['stroke_color', 'color', 'black'],
|
|
10
10
|
['fill_color', 'color', 'orange']
|
|
11
11
|
],
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
defaults: function() {
|
|
14
14
|
return this.deep_defaults({
|
|
15
15
|
transition: 400, // Time in msec for transition when elements change
|
|
16
16
|
axis: {
|
|
17
17
|
orientation: 'horizontal'
|
|
18
18
|
}
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
}, scatter_plot.__super__.defaults.call(this));
|
|
20
|
+
},
|
|
21
|
+
|
|
22
|
+
|
|
23
23
|
configure_base_layer: function(vis) {
|
|
24
24
|
var base = this.base_layer = vis.append("svg:g")
|
|
25
25
|
.attr("class", "scatterplot")
|
|
26
26
|
;
|
|
27
27
|
//.attr("transform", "translate(0, " + this.h + ")");
|
|
28
28
|
|
|
29
|
-
var ca = this.chart_area;
|
|
29
|
+
var ca = this.chart_area;
|
|
30
30
|
this.legend_layer = base.append("svg:g");
|
|
31
31
|
this.chart_layer = base.append("svg:g");
|
|
32
32
|
this.axis_layer = base.append('g');
|
|
33
33
|
},
|
|
34
34
|
|
|
35
35
|
resize: function() {
|
|
36
|
-
|
|
36
|
+
scatter_plot.__super__.resize.call(this);
|
|
37
37
|
return this;
|
|
38
|
-
},
|
|
38
|
+
},
|
|
39
39
|
|
|
40
40
|
redraw: function(data) {
|
|
41
41
|
var self = this;
|
|
42
42
|
var o = this.opts;
|
|
43
43
|
var ca = this.widget_area;
|
|
44
|
-
|
|
44
|
+
|
|
45
45
|
var m = this.mapping;
|
|
46
46
|
var x_m = m.x_axis;
|
|
47
47
|
var y_m = m.y_axis;
|
|
@@ -56,13 +56,13 @@ L.provide('OML.scatter_plot', ["graph/js/abstract_chart", "#OML.abstract_chart",
|
|
|
56
56
|
.range([0, ca.h])
|
|
57
57
|
.nice();
|
|
58
58
|
var r_f = typeof(r_m) != 'function' ? d3.functor(r_m) : r_m;
|
|
59
|
-
var w_f = typeof(r_m) != 'function' ? (2 * r_m) : function(d) { return 2 * r_m(d); }
|
|
60
|
-
|
|
61
|
-
var x = function(d) {
|
|
62
|
-
return x_f(x_m(d)) + ca.x - r_f(d);
|
|
59
|
+
var w_f = typeof(r_m) != 'function' ? (2 * r_m) : function(d) { return 2 * r_m(d); };
|
|
60
|
+
|
|
61
|
+
var x = function(d) {
|
|
62
|
+
return x_f(x_m(d)) + ca.x - r_f(d);
|
|
63
63
|
};
|
|
64
|
-
var y = function(d) {
|
|
65
|
-
return ca.ty + ca.h - y_f(y_m(d)) - r_f(d);
|
|
64
|
+
var y = function(d) {
|
|
65
|
+
return ca.ty + ca.h - y_f(y_m(d)) - r_f(d);
|
|
66
66
|
};
|
|
67
67
|
var rects = this.chart_layer.selectAll("rect").data(data);
|
|
68
68
|
rects.transition().duration(o.transition)
|
|
@@ -86,10 +86,10 @@ L.provide('OML.scatter_plot', ["graph/js/abstract_chart", "#OML.abstract_chart",
|
|
|
86
86
|
rects.exit()
|
|
87
87
|
.remove()
|
|
88
88
|
;
|
|
89
|
-
|
|
89
|
+
|
|
90
90
|
this.redraw_axis(data, x_f, y_f);
|
|
91
91
|
},
|
|
92
|
-
|
|
92
|
+
|
|
93
93
|
redraw_axis: function(data, x, y) {
|
|
94
94
|
var self = this;
|
|
95
95
|
var ca = this.widget_area;
|
|
@@ -100,7 +100,7 @@ L.provide('OML.scatter_plot', ["graph/js/abstract_chart", "#OML.abstract_chart",
|
|
|
100
100
|
var xAxis = this.xAxis.scale(x);
|
|
101
101
|
this.axis_layer.select('g.x.axis').call(xAxis);
|
|
102
102
|
} else {
|
|
103
|
-
var xAxis = this.xAxis =
|
|
103
|
+
var xAxis = this.xAxis = line_chart2_axis(oAxis.x).scale(x).orient("bottom").range([0, ca.w]);
|
|
104
104
|
this.axis_layer
|
|
105
105
|
.append('g')
|
|
106
106
|
.attr("transform", "translate(" + ca.x + "," + (ca.ty + ca.h) + ")")
|
|
@@ -108,13 +108,13 @@ L.provide('OML.scatter_plot', ["graph/js/abstract_chart", "#OML.abstract_chart",
|
|
|
108
108
|
.call(xAxis)
|
|
109
109
|
;
|
|
110
110
|
}
|
|
111
|
-
|
|
111
|
+
|
|
112
112
|
var inv_y = y.range([ca.h, 0]);
|
|
113
113
|
if (this.yAxis) {
|
|
114
114
|
var yAxis = this.yAxis.scale(inv_y);
|
|
115
115
|
this.axis_layer.select('g.y.axis').call(yAxis);
|
|
116
116
|
} else {
|
|
117
|
-
var yAxis = this.yAxis =
|
|
117
|
+
var yAxis = this.yAxis = line_chart2_axis(oAxis.y).scale(inv_y).orient("left").range([0, ca.h]);
|
|
118
118
|
this.axis_layer
|
|
119
119
|
.append('g')
|
|
120
120
|
.attr("transform", "translate(" + ca.x + "," + ca.ty + ")")
|
|
@@ -122,14 +122,14 @@ L.provide('OML.scatter_plot', ["graph/js/abstract_chart", "#OML.abstract_chart",
|
|
|
122
122
|
.call(yAxis)
|
|
123
123
|
;
|
|
124
124
|
}
|
|
125
|
-
|
|
126
|
-
|
|
125
|
+
|
|
126
|
+
|
|
127
127
|
},
|
|
128
|
-
|
|
129
|
-
|
|
128
|
+
|
|
129
|
+
|
|
130
130
|
on_highlighted: function(evt) {
|
|
131
131
|
var els = evt.elements;
|
|
132
|
-
var piece_id = els[0].id
|
|
132
|
+
var piece_id = els[0].id;
|
|
133
133
|
var vis = this.chart_layer;
|
|
134
134
|
vis.selectAll("path")
|
|
135
135
|
.filter(function(d) {
|
|
@@ -150,17 +150,19 @@ L.provide('OML.scatter_plot', ["graph/js/abstract_chart", "#OML.abstract_chart",
|
|
|
150
150
|
var vis = this.chart_layer;
|
|
151
151
|
vis.selectAll("path")
|
|
152
152
|
.transition()
|
|
153
|
-
.style("opacity", 1.0)
|
|
153
|
+
.style("opacity", 1.0)
|
|
154
154
|
.delay(0)
|
|
155
|
-
.duration(300)
|
|
155
|
+
.duration(300);
|
|
156
156
|
if (evt.source == null) {
|
|
157
157
|
evt.source = this;
|
|
158
158
|
OHUB.trigger("graph.dehighlighted", evt);
|
|
159
159
|
}
|
|
160
160
|
},
|
|
161
|
-
|
|
162
|
-
})
|
|
163
|
-
|
|
161
|
+
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
return scatter_plot;
|
|
165
|
+
});
|
|
164
166
|
|
|
165
167
|
/*
|
|
166
168
|
Local Variables:
|
|
@@ -1,25 +1,29 @@
|
|
|
1
1
|
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
'vendor/slickgrid/controls/slick.columnpicker.js',
|
|
13
|
-
'theme/bright/css/slickgrid.css'
|
|
14
|
-
]);
|
|
15
|
-
// });
|
|
2
|
+
require.config({
|
|
3
|
+
shim: {
|
|
4
|
+
'vendor/slickgrid/slick.formatters': ['vendor/slickgrid/slick.core'],
|
|
5
|
+
'vendor/slickgrid/slick.editors': ['vendor/slickgrid/slick.core'],
|
|
6
|
+
'vendor/slickgrid/plugins/slick.rowselectionmodel': ['vendor/slickgrid/slick.core'],
|
|
7
|
+
'vendor/slickgrid/slick.grid': ['vendor/slickgrid/slick.core'],
|
|
8
|
+
'vendor/slickgrid/slick.dataview': ['vendor/slickgrid/slick.core'],
|
|
9
|
+
'vendor/slickgrid/controls/slick.pager': ['vendor/slickgrid/slick.core'],
|
|
10
|
+
'vendor/slickgrid/controls/slick.columnpicker': ['vendor/slickgrid/slick.core']
|
|
11
|
+
}
|
|
16
12
|
});
|
|
17
|
-
|
|
18
|
-
L.provide('OML.table2', ["graph/js/abstract_widget", "#OML.abstract_widget", '#slickgrid'], function () {
|
|
19
13
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
14
|
+
|
|
15
|
+
define(["graph/abstract_widget",
|
|
16
|
+
'vendor/jquery/jquery.event.drag',
|
|
17
|
+
'vendor/slickgrid/slick.formatters',
|
|
18
|
+
'vendor/slickgrid/slick.editors',
|
|
19
|
+
'vendor/slickgrid/plugins/slick.rowselectionmodel',
|
|
20
|
+
'vendor/slickgrid/slick.grid',
|
|
21
|
+
'vendor/slickgrid/slick.dataview',
|
|
22
|
+
'vendor/slickgrid/controls/slick.pager',
|
|
23
|
+
'vendor/slickgrid/controls/slick.columnpicker',
|
|
24
|
+
'css!theme/bright/css/slickgrid'], function(abstract_widget) {
|
|
25
|
+
|
|
26
|
+
var table2 = abstract_widget.extend({
|
|
23
27
|
defaults: function() {
|
|
24
28
|
return this.deep_defaults({
|
|
25
29
|
// add defaults
|
|
@@ -35,17 +39,17 @@ L.provide('OML.table2', ["graph/js/abstract_widget", "#OML.abstract_widget", '#s
|
|
|
35
39
|
right: 20,
|
|
36
40
|
bottom: 2
|
|
37
41
|
},
|
|
38
|
-
},
|
|
39
|
-
},
|
|
42
|
+
}, table2.__super__.defaults.call(this));
|
|
43
|
+
},
|
|
40
44
|
|
|
41
45
|
initialize: function(opts) {
|
|
42
|
-
|
|
46
|
+
table2.__super__.initialize.call(this, opts);
|
|
43
47
|
// var ca = this.widget_area;
|
|
44
48
|
// this.base_el
|
|
45
49
|
// .style('height', ca.h + 'px')
|
|
46
|
-
// .style('width', ca.w + 'px')
|
|
47
|
-
// .style('margin-left', ca.x + 'px')
|
|
48
|
-
// .style('margin-top', ca.ty + 'px')
|
|
50
|
+
// .style('width', ca.w + 'px')
|
|
51
|
+
// .style('margin-left', ca.x + 'px')
|
|
52
|
+
// .style('margin-top', ca.ty + 'px')
|
|
49
53
|
// ;
|
|
50
54
|
$(opts.base_el).focus(function(e) {
|
|
51
55
|
// all your magic resize mojo goes here
|
|
@@ -54,29 +58,29 @@ L.provide('OML.table2', ["graph/js/abstract_widget", "#OML.abstract_widget", '#s
|
|
|
54
58
|
this.init_grid();
|
|
55
59
|
this.update();
|
|
56
60
|
},
|
|
57
|
-
|
|
61
|
+
|
|
58
62
|
resize: function() {
|
|
59
|
-
|
|
63
|
+
table2.__super__.resize.call(this);
|
|
60
64
|
// var ca = this.widget_area;
|
|
61
65
|
// this.base_el
|
|
62
66
|
// .style('height', ca.oh + 'px')
|
|
63
|
-
// .style('width', ca.w + 'px')
|
|
67
|
+
// .style('width', ca.w + 'px')
|
|
64
68
|
// .style('margin-left', ca.x + 'px')
|
|
65
|
-
// .style('margin-right', ca.ow - ca.w - ca.x + 'px')
|
|
66
|
-
// .style('margin-top', ca.ty + 'px')
|
|
69
|
+
// .style('margin-right', ca.ow - ca.w - ca.x + 'px')
|
|
70
|
+
// .style('margin-top', ca.ty + 'px')
|
|
67
71
|
// ;
|
|
68
72
|
if (this.grid) {
|
|
69
73
|
this.grid.resizeCanvas();
|
|
70
74
|
//this.grid.setColumns(this.columns);
|
|
71
75
|
}
|
|
72
|
-
|
|
76
|
+
|
|
73
77
|
return this;
|
|
74
|
-
},
|
|
75
|
-
|
|
78
|
+
},
|
|
79
|
+
|
|
76
80
|
redraw: function(data) {
|
|
77
81
|
//this.resize();
|
|
78
|
-
|
|
79
|
-
this.data = data;
|
|
82
|
+
|
|
83
|
+
this.data = data;
|
|
80
84
|
var self = this;
|
|
81
85
|
// Should sort first
|
|
82
86
|
if (this.sort_on_column) {
|
|
@@ -85,23 +89,23 @@ L.provide('OML.table2', ["graph/js/abstract_widget", "#OML.abstract_widget", '#s
|
|
|
85
89
|
data = data.sort(function(a, b) {
|
|
86
90
|
var x = a[sid], y = b[sid];
|
|
87
91
|
var cmp = (x == y ? 0 : (x > y ? 1 : -1));
|
|
88
|
-
return asc ? cmp : -1 * cmp;
|
|
92
|
+
return asc ? cmp : -1 * cmp;
|
|
89
93
|
});
|
|
90
94
|
}
|
|
91
95
|
this.sorted_data = data;
|
|
92
|
-
|
|
96
|
+
|
|
93
97
|
this.grid.updateRowCount(); // fixes scroll bar
|
|
94
98
|
this.grid.invalidateAllRows();
|
|
95
99
|
this.grid.render();
|
|
96
100
|
},
|
|
97
|
-
|
|
101
|
+
|
|
98
102
|
init_grid: function() {
|
|
99
103
|
var schema = this.data_source.schema;
|
|
100
104
|
var opts = this.opts;
|
|
101
105
|
var self = this;
|
|
102
|
-
|
|
106
|
+
|
|
103
107
|
var columns = this.init_columns();
|
|
104
|
-
|
|
108
|
+
|
|
105
109
|
// Define function used to get the data.
|
|
106
110
|
//var currentSortCol = { id: "title" };
|
|
107
111
|
var self = this;
|
|
@@ -113,8 +117,8 @@ L.provide('OML.table2', ["graph/js/abstract_widget", "#OML.abstract_widget", '#s
|
|
|
113
117
|
function getLength() {
|
|
114
118
|
return self.sorted_data.length;
|
|
115
119
|
}
|
|
116
|
-
|
|
117
|
-
var topts = this.opts.topts
|
|
120
|
+
|
|
121
|
+
var topts = this.opts.topts;
|
|
118
122
|
topts.dataItemColumnValueExtractor = function(item, columnDef) {
|
|
119
123
|
var i = 0;
|
|
120
124
|
return item[columnDef.id];
|
|
@@ -135,9 +139,9 @@ L.provide('OML.table2', ["graph/js/abstract_widget", "#OML.abstract_widget", '#s
|
|
|
135
139
|
// grid.onSelectedRowsChanged.subscribe(function(e, args) {
|
|
136
140
|
// var i = 0;
|
|
137
141
|
// });
|
|
138
|
-
|
|
142
|
+
|
|
139
143
|
},
|
|
140
|
-
|
|
144
|
+
|
|
141
145
|
/*
|
|
142
146
|
* Return an array of columns definitions to be used for the slick grid constructor
|
|
143
147
|
*/
|
|
@@ -145,10 +149,10 @@ L.provide('OML.table2', ["graph/js/abstract_widget", "#OML.abstract_widget", '#s
|
|
|
145
149
|
var schema = this.data_source.schema;
|
|
146
150
|
var opts = this.opts;
|
|
147
151
|
var self = this;
|
|
148
|
-
|
|
152
|
+
|
|
149
153
|
var columns;
|
|
150
154
|
if (opts.columns) {
|
|
151
|
-
var sh = {}; _.each(schema, function(e) { sh[e.name] = e; })
|
|
155
|
+
var sh = {}; _.each(schema, function(e) { sh[e.name] = e; });
|
|
152
156
|
columns = _.map(opts.columns, function(c) {
|
|
153
157
|
if (typeof c === 'string') {
|
|
154
158
|
c = {field: c};
|
|
@@ -159,9 +163,9 @@ L.provide('OML.table2', ["graph/js/abstract_widget", "#OML.abstract_widget", '#s
|
|
|
159
163
|
name: s.title || s.name,
|
|
160
164
|
width: 0,
|
|
161
165
|
sortable: true,
|
|
162
|
-
})
|
|
166
|
+
});
|
|
163
167
|
if (c.format) {
|
|
164
|
-
c.formatter = self.find_formatter(c.type || s.type, c)
|
|
168
|
+
c.formatter = self.find_formatter(c.type || s.type, c);
|
|
165
169
|
}
|
|
166
170
|
return c;
|
|
167
171
|
});
|
|
@@ -183,21 +187,23 @@ L.provide('OML.table2', ["graph/js/abstract_widget", "#OML.abstract_widget", '#s
|
|
|
183
187
|
var d_f = d3.time.format(opts.format || "%X");
|
|
184
188
|
return function(r, c, v) {
|
|
185
189
|
var date = new Date(1000 * v); // TODO: Implicitly assuming that value is in seconds is most likely NOT a good idea
|
|
186
|
-
var fs = d_f(date);
|
|
190
|
+
var fs = d_f(date);
|
|
187
191
|
return fs;
|
|
188
|
-
}
|
|
192
|
+
};
|
|
189
193
|
} else if (type == 'key') {
|
|
190
194
|
var lm = opts.format;
|
|
191
195
|
return function(r, c, v) {
|
|
192
196
|
var l = lm[v] || ('??-' + v);
|
|
193
197
|
return l;
|
|
194
|
-
}
|
|
198
|
+
};
|
|
195
199
|
} else {
|
|
196
200
|
var formatter = d3.format(opts.format);
|
|
197
201
|
return function(r, c, v) {
|
|
198
202
|
return formatter(v);
|
|
199
|
-
}
|
|
203
|
+
};
|
|
200
204
|
}
|
|
201
205
|
}
|
|
202
|
-
})
|
|
203
|
-
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
return table2;
|
|
209
|
+
});
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
var i = 0;
|
|
3
|
+
require.config({
|
|
4
|
+
//By default load any module IDs from js/lib
|
|
5
|
+
baseUrl: '/resource',
|
|
6
|
+
//except, if the module ID starts with "app",
|
|
7
|
+
//load it from the js/app directory. paths
|
|
8
|
+
//config is relative to the baseUrl, and
|
|
9
|
+
//never includes a ".js" extension since
|
|
10
|
+
//the paths config could be for a directory.
|
|
11
|
+
paths: {
|
|
12
|
+
omf: 'js',
|
|
13
|
+
vendor: 'vendor',
|
|
14
|
+
graph: 'graph/js',
|
|
15
|
+
graph_css: 'graph/css'
|
|
16
|
+
},
|
|
17
|
+
shim: {
|
|
18
|
+
'vendor/jquery/jquery': {
|
|
19
|
+
//deps: ['jquery'],
|
|
20
|
+
exports: 'jQuery'
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
map: {
|
|
24
|
+
'*': {
|
|
25
|
+
'css': 'vendor/require-css/css'
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// Start the main app logic.
|
|
31
|
+
// requirejs(['vendor/jquery', 'vendor/backbone'],
|
|
32
|
+
// function($, _) {
|
|
33
|
+
// //jQuery, canvas and the app/sub module are all
|
|
34
|
+
// //loaded and can be used here now.
|
|
35
|
+
// var i = 0;
|
|
36
|
+
// });
|
|
37
|
+
|
|
38
|
+
require(['css!graph_css/graph'],
|
|
39
|
+
function(css) {
|
|
40
|
+
//jQuery, canvas and the app/sub module are all
|
|
41
|
+
//loaded and can be used here now.
|
|
42
|
+
var i = 0;
|
|
43
|
+
});
|