birt 0.2.5 → 0.2.6
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.
- 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
|