birt 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/birt.js +1 -2
- data/app/assets/javascripts/birt/birt.js +17 -89
- data/app/views/birt/api/index.html.slim +14 -0
- data/app/views/birt/api/menus.html.slim +7 -0
- data/lib/app/controllers/birt/api_controller.rb +8 -1
- data/lib/birt/version.rb +1 -1
- metadata +18 -3
- data/app/assets/javascripts/birt/jade/jade.jade +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0c83b4c4e93b56ff9b74eb6a2b9e82a606711312
|
4
|
+
data.tar.gz: 22d54994b83ef526d4c19efca1a1fc56da6cfe96
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 884bee3472036cbca128dca015950331e64ee3d65c542f5df98e801d9254a2e5dc6c0bb2bbdbc5ffb0678f63ea62adc2e8cdfab03743fa864899cba055810e92
|
7
|
+
data.tar.gz: 92eb494cd27a5445d1ae71dc9cdf6a18877c290ef2731232f7a01ed0e5e2eab6fcbaac0ebf3c7f7496018a08650b636876dffcbd47cfc463e0871d7887d62578
|
@@ -29,11 +29,8 @@ var Birt = (function () {
|
|
29
29
|
Birt.prototype.onCreate = function () {
|
30
30
|
$birt = $('.birt');
|
31
31
|
|
32
|
-
$birt.append("<ul class='birt-menus'></ul>");
|
33
32
|
$menus = $birt.find(".birt-menus");
|
34
33
|
|
35
|
-
$birt.append("<div class='birt-reports'></div>");
|
36
|
-
$reports = $birt.find(".birt-reports");
|
37
34
|
};
|
38
35
|
|
39
36
|
/**
|
@@ -46,24 +43,16 @@ var Birt = (function () {
|
|
46
43
|
$.birtLoading();
|
47
44
|
$.ajax(
|
48
45
|
{
|
49
|
-
url: '/birt/api
|
46
|
+
url: '/birt/api?_report={0}'.format(_this.file_name),
|
50
47
|
type: 'GET',
|
51
48
|
success: function (data) {
|
52
49
|
$.birtLoading('hide');
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
var table = tables[i];
|
60
|
-
_this.showTable(table);
|
61
|
-
}
|
62
|
-
|
63
|
-
var lineCharts = data.rpt_design.line_charts;
|
64
|
-
for (var i = 0; i < lineCharts.length; i++) {
|
65
|
-
_this.showLineChart(lineCharts[i]);
|
66
|
-
}
|
50
|
+
$birt.append(data);
|
51
|
+
$reports = $birt.find(".birt-reports");
|
52
|
+
$reports.find(".birt-line-charts").each(function () {
|
53
|
+
_this.showLineChart($(this).data('line-chart'));
|
54
|
+
});
|
55
|
+
|
67
56
|
},
|
68
57
|
error: function (data) {
|
69
58
|
$.birtLoading('hide');
|
@@ -78,17 +67,20 @@ var Birt = (function () {
|
|
78
67
|
Birt.prototype.getMenus = function () {
|
79
68
|
var menus = _this.getMenusFromCache();
|
80
69
|
if (menus) {
|
81
|
-
|
70
|
+
$birt.prepend(menus);
|
71
|
+
$birt.find("ul.birt-menus li.item").removeClass('active');
|
72
|
+
$birt.find("ul.birt-menus li.item[data-rptdesign='{0}']".format(_this.file_name.replace(".rptdesign",""))).addClass('active');
|
73
|
+
|
82
74
|
return;
|
83
75
|
}
|
84
76
|
$.ajax(
|
85
77
|
{
|
86
|
-
url: '/birt/api/menus.
|
78
|
+
url: '/birt/api/menus?current='+_this.file_name.replace(".rptdesign", ""),
|
87
79
|
type: 'GET',
|
88
80
|
success: function (data) {
|
89
81
|
console.log(data);
|
90
|
-
|
91
|
-
_this.putMenusToCache(data
|
82
|
+
$birt.prepend(data);
|
83
|
+
_this.putMenusToCache(data);
|
92
84
|
},
|
93
85
|
error: function (data) {
|
94
86
|
}
|
@@ -102,79 +94,15 @@ var Birt = (function () {
|
|
102
94
|
Birt.prototype.getMenusFromCache = function () {
|
103
95
|
var menus = localStorage.getItem("birt_menus");
|
104
96
|
console.log(menus);
|
105
|
-
return menus
|
97
|
+
return menus;
|
106
98
|
};
|
107
99
|
|
108
100
|
/**
|
109
101
|
* 将菜单数据写入缓存
|
110
102
|
* @param menus
|
111
103
|
*/
|
112
|
-
Birt.prototype.putMenusToCache = function (
|
113
|
-
localStorage.setItem("birt_menus",
|
114
|
-
};
|
115
|
-
|
116
|
-
/**
|
117
|
-
* 显示报表的名称
|
118
|
-
*/
|
119
|
-
Birt.prototype.showDisplayName = function () {
|
120
|
-
$reports.append("<h2 class='display-name'>{0}</h2>".format(rptDesignJsonData.display_name));
|
121
|
-
};
|
122
|
-
|
123
|
-
/**
|
124
|
-
* 显示报表菜单
|
125
|
-
* @param menus
|
126
|
-
*/
|
127
|
-
Birt.prototype.showMenus = function (menus) {
|
128
|
-
for (var i = 0; i < menus.length; i++) {
|
129
|
-
var menu = menus[i];
|
130
|
-
var active = menu.file_name == _this.file_name.replace(".rptdesign", "") ? 'active' : '';
|
131
|
-
$menus.append("<li class='item {1}'><a href='/?_report={2}'><span class='icon-note'></span> {0}</a></li>".format(menu.display_name, active, menu.file_name));
|
132
|
-
}
|
133
|
-
};
|
134
|
-
|
135
|
-
|
136
|
-
/**
|
137
|
-
* 显示行
|
138
|
-
* @param rowData
|
139
|
-
* @param cellName
|
140
|
-
* @returns {string}
|
141
|
-
*/
|
142
|
-
Birt.prototype.showTableRow = function (rowData, cellName) {
|
143
|
-
|
144
|
-
var row_html = '<tr>';
|
145
|
-
for (var i = 0; i < rowData.length; i++) {
|
146
|
-
if (cellName == 'th') {
|
147
|
-
row_html += "<th>{0}</th>".format(rowData[i]);
|
148
|
-
} else {
|
149
|
-
row_html += "<td>{0}</td>".format(rowData[i]);
|
150
|
-
}
|
151
|
-
}
|
152
|
-
row_html += '</tr>';
|
153
|
-
return row_html;
|
154
|
-
};
|
155
|
-
|
156
|
-
/**
|
157
|
-
* 显示表格
|
158
|
-
* @param table
|
159
|
-
* @returns {string}
|
160
|
-
*/
|
161
|
-
Birt.prototype.showTable = function (table) {
|
162
|
-
var table_html = '<table id="report_{0}" class="birt-table"> '.format(table.id);
|
163
|
-
|
164
|
-
for (var i = 0; i < table.header.length; i++) {
|
165
|
-
table_html += _this.showTableRow(table.header[i], 'th');
|
166
|
-
}
|
167
|
-
|
168
|
-
|
169
|
-
for (var i = 0; i < table.detail.length; i++) {
|
170
|
-
table_html += _this.showTableRow(table.detail[i], 'td');
|
171
|
-
}
|
172
|
-
|
173
|
-
table_html += "</table>";
|
174
|
-
|
175
|
-
$reports.append(table_html);
|
176
|
-
console.log(table);
|
177
|
-
return table_html;
|
104
|
+
Birt.prototype.putMenusToCache = function (menus_html) {
|
105
|
+
localStorage.setItem("birt_menus", menus_html);
|
178
106
|
};
|
179
107
|
|
180
108
|
|
@@ -0,0 +1,14 @@
|
|
1
|
+
.birt-reports
|
2
|
+
h2.display-name=@rpt_design.display_name
|
3
|
+
- @rpt_design.reports[:tables].values.each do |table|
|
4
|
+
table.birt-table(id="report_#{table.id}")
|
5
|
+
- parse_table_header(table.header).each do |header|
|
6
|
+
tr
|
7
|
+
- header.each do |cell|
|
8
|
+
th=cell
|
9
|
+
- parse_table_detail(table.detail, table).each do |detail|
|
10
|
+
tr
|
11
|
+
- detail.each do |cell|
|
12
|
+
td=cell
|
13
|
+
- @rpt_design.reports[:line_charts].values.inject([]) { |acc, line_chart| acc<<line_chart.json; acc }.each do |linechart|
|
14
|
+
div(id="report_#{linechart[:id]}" class="birt-line-charts" data-line-chart="#{linechart.to_json}")
|
@@ -11,11 +11,18 @@ module Birt
|
|
11
11
|
#数据解析
|
12
12
|
@rpt_design.parse_rpt
|
13
13
|
@rpt_design.data_sets.values.each { |data_set| data_set.data_set_result }
|
14
|
+
|
15
|
+
response do |format|
|
16
|
+
format.html layout: nil
|
17
|
+
format.json
|
18
|
+
end
|
14
19
|
end
|
15
20
|
|
16
21
|
#获取文件目录列表
|
17
22
|
def menus
|
18
|
-
@menus =
|
23
|
+
@menus = Rails.cache.fetch('birt-menus', expires_in: 1.minutes) do
|
24
|
+
Birt.menus
|
25
|
+
end
|
19
26
|
end
|
20
27
|
|
21
28
|
end
|
data/lib/birt/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: birt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- saxer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '3.2'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: slim
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 3.0.6
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 3.0.6
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: bundler
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -126,7 +140,6 @@ files:
|
|
126
140
|
- app/assets/javascripts/birt.js
|
127
141
|
- app/assets/javascripts/birt/birt.js
|
128
142
|
- app/assets/javascripts/birt/components/loading.js
|
129
|
-
- app/assets/javascripts/birt/jade/jade.jade
|
130
143
|
- app/assets/javascripts/birt/utils/string.js
|
131
144
|
- app/assets/stylesheets/birt.scss
|
132
145
|
- app/assets/stylesheets/birt/base/constant.scss
|
@@ -136,7 +149,9 @@ files:
|
|
136
149
|
- app/assets/stylesheets/birt/components/menus.scss
|
137
150
|
- app/assets/stylesheets/birt/components/reports.scss
|
138
151
|
- app/assets/stylesheets/birt/components/table.scss
|
152
|
+
- app/views/birt/api/index.html.slim
|
139
153
|
- app/views/birt/api/index.json.jbuilder
|
154
|
+
- app/views/birt/api/menus.html.slim
|
140
155
|
- app/views/birt/api/menus.json.jbuilder
|
141
156
|
- config/birt.yml
|
142
157
|
- config/routes.rb
|