apply reviews

This commit is contained in:
yohei.naruse
2016-02-16 10:56:06 +09:00
parent 2f16c8ae5f
commit 32824f7575
3 changed files with 13 additions and 36 deletions

View File

@@ -38,10 +38,12 @@
}
}
function queryResultCSVLink() {
function queryResultLink() {
return {
restrict: 'A',
link: function (scope, element) {
link: function (scope, element, attrs) {
var fileType = attrs.fileType ? attrs.fileType : "csv";
scope.$watch('queryResult && queryResult.getData()', function(data) {
if (!data) {
return;
@@ -50,28 +52,8 @@
if (scope.queryResult.getId() == null) {
element.attr('href', '');
} else {
element.attr('href', 'api/queries/' + scope.query.id + '/results/' + scope.queryResult.getId() + '.csv');
element.attr('download', scope.query.name.replace(" ", "_") + moment(scope.queryResult.getUpdatedAt()).format("_YYYY_MM_DD") + ".csv");
}
});
}
}
}
function queryResultExcelLink() {
return {
restrict: 'A',
link: function (scope, element) {
scope.$watch('queryResult && queryResult.getData()', function(data) {
if (!data) {
return;
}
if (scope.queryResult.getId() == null) {
element.attr('href', '');
} else {
element.attr('href', 'api/queries/' + scope.query.id + '/results/' + scope.queryResult.getId() + '.xlsx');
element.attr('download', scope.query.name.replace(" ", "_") + moment(scope.queryResult.getUpdatedAt()).format("_YYYY_MM_DD") + ".xlsx");
element.attr('href', 'api/queries/' + scope.query.id + '/results/' + scope.queryResult.getId() + '.' + fileType);
element.attr('download', scope.query.name.replace(" ", "_") + moment(scope.queryResult.getUpdatedAt()).format("_YYYY_MM_DD") + "." + fileType);
}
});
}
@@ -306,8 +288,7 @@
angular.module('redash.directives')
.directive('queryLink', queryLink)
.directive('querySourceLink', querySourceLink)
.directive('queryResultCsvLink', queryResultCSVLink)
.directive('queryResultXlsxLink', queryResultExcelLink)
.directive('queryResultLink', queryResultLink)
.directive('queryEditor', queryEditor)
.directive('queryRefreshSelect', queryRefreshSelect)
.directive('queryTimePicker', queryTimePicker)

View File

@@ -159,12 +159,12 @@
<p>
<p>
<a class="btn btn-primary btn-sm" ng-disabled="queryExecuting || !queryResult.getData()" query-result-csv-link target="_self">
<a class="btn btn-primary btn-sm" ng-disabled="queryExecuting || !queryResult.getData()" query-result-link target="_self">
<span class="glyphicon glyphicon-cloud-download"></span>
<span>Download Csv</span>
<span>Download CSV</span>
</a>
<a class="btn btn-primary btn-sm" ng-disabled="queryExecuting || !queryResult.getData()" query-result-xlsx-link target="_self">
<a class="btn btn-primary btn-sm" ng-disabled="queryExecuting || !queryResult.getData()" file-type="xlsx" query-result-link target="_self">
<span class="glyphicon glyphicon-cloud-download"></span>
<span>Download Excel</span>
</a>

View File

@@ -146,18 +146,14 @@ class QueryResultAPI(BaseResource):
query_data = json.loads(query_result.data)
book = xlsxwriter.Workbook(s)
sheet = book.add_worksheet("result")
logging.info(query_data['columns'])
list = []
column_names = []
for (c, col) in enumerate(query_data['columns']):
sheet.write(0, c, col['name'])
list.append(col['name'])
column_names.append(col['name'])
for (r, row) in enumerate(query_data['rows']):
logging.info(row)
for (c, name) in enumerate(list):
logging.info(c)
logging.info(name)
for (c, name) in enumerate(column_names):
sheet.write(r+1, c, row[name])
book.close()