From 699f6ba45864319b6280f34b3252b5935ef5aedc Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Wed, 25 May 2016 13:54:10 -0700 Subject: [PATCH] [Table] Export table contents as CSV --- .../table/src/controllers/MCTTableController.js | 10 ++++++++-- platform/features/table/src/directives/MCTTable.js | 8 +++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/platform/features/table/src/controllers/MCTTableController.js b/platform/features/table/src/controllers/MCTTableController.js index 25cb83d781..977584a6e2 100644 --- a/platform/features/table/src/controllers/MCTTableController.js +++ b/platform/features/table/src/controllers/MCTTableController.js @@ -12,7 +12,7 @@ define( * @param element * @constructor */ - function MCTTableController($scope, $timeout, element) { + function MCTTableController($scope, $timeout, element, exportService) { var self = this; this.$scope = $scope; @@ -47,7 +47,13 @@ define( setDefaults($scope); $scope.exportAsCSV = function () { - window.alert("Export!"); + var headers = $scope.headers; + exportService.exportCSV($scope.displayRows.map(function (row) { + return headers.reduce(function (r, header) { + r[header] = row[header].text; + return r; + }, {}); + }), { headers: headers }); }; $scope.toggleSort = function (key) { diff --git a/platform/features/table/src/directives/MCTTable.js b/platform/features/table/src/directives/MCTTable.js index 5dd8f9f03f..e7e3a00076 100644 --- a/platform/features/table/src/directives/MCTTable.js +++ b/platform/features/table/src/directives/MCTTable.js @@ -81,7 +81,13 @@ define( return { restrict: "E", template: TableTemplate, - controller: ['$scope', '$timeout', '$element', MCTTableController], + controller: [ + '$scope', + '$timeout', + '$element', + 'exportService', + MCTTableController + ], scope: { headers: "=", rows: "=",