diff --git a/bower.json b/bower.json index af3939c..5f7ab53 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "ng-csv", - "version": "0.3.0", + "version": "0.3.1", "main": "build/ng-csv.min.js", "dependencies": { "angular": "~1", diff --git a/build/ng-csv.js b/build/ng-csv.js index dcdc6eb..7a96c43 100644 --- a/build/ng-csv.js +++ b/build/ng-csv.js @@ -34,7 +34,7 @@ angular.module('ngCsv.services'). service('CSV', ['$q', function ($q) { var EOL = '\r\n'; - var BOM = "%ef%bb%bf"; + var BOM = "\ufeff"; /** * Stringify one field @@ -87,12 +87,12 @@ angular.module('ngCsv.services'). csvContent += headerString + EOL; } - var arrData; + var arrData = []; if (angular.isArray(responseData)) { arrData = responseData; } - else { + else if (angular.isFunction(responseData)) { arrData = responseData(); } diff --git a/build/ng-csv.min.js b/build/ng-csv.min.js index e1ce235..67d0011 100644 --- a/build/ng-csv.min.js +++ b/build/ng-csv.min.js @@ -1,2 +1,2 @@ -/*! ng-csv 30-11-2014 */ -!function(a){angular.module("ngCsv.config",[]).value("ngCsv.config",{debug:!0}).config(["$compileProvider",function(a){angular.isDefined(a.urlSanitizationWhitelist)?a.urlSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|data):/):a.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|data):/)}]),angular.module("ngCsv.directives",["ngCsv.services"]),angular.module("ngCsv.services",[]),angular.module("ngCsv",["ngCsv.config","ngCsv.services","ngCsv.directives","ngSanitize"]),angular.module("ngCsv.services").service("CSV",["$q",function(a){var b="\r\n",c="%ef%bb%bf";this.stringifyField=function(a,b,c){return"string"==typeof a?(a=a.replace(/"/g,'""'),(c||a.indexOf(",")>-1||a.indexOf("\n")>-1||a.indexOf("\r")>-1)&&(a=b+a+b),a):"boolean"==typeof a?a?"TRUE":"FALSE":a},this.stringify=function(d,e){var f=a.defer(),g=this,h="",i="",j=a.when(d).then(function(a){if(a=angular.copy(a),angular.isDefined(e.header)&&e.header){var d,j;d=[],angular.forEach(e.header,function(a){this.push(g.stringifyField(a,e.txtDelim,e.quoteStrings))},d),j=d.join(e.fieldSep?e.fieldSep:","),i+=j+b}var k;k=angular.isArray(a)?a:a(),angular.forEach(k,function(a,c){var d,f;f=[],angular.forEach(a,function(a){this.push(g.stringifyField(a,e.txtDelim,e.quoteStrings))},f),d=f.join(e.fieldSep?e.fieldSep:","),i+=c");d.attr("href",a.URL.createObjectURL(c)),d.attr("download",b.getFilename()),e.find("body").append(d),f(function(){d[0].click(),d.remove()},null)}}c.bind("click",function(){b.buildCSV().then(function(){d()}),b.$apply()})}}}])}(window,document); \ No newline at end of file +/*! ng-csv 16-12-2014 */ +!function(a){angular.module("ngCsv.config",[]).value("ngCsv.config",{debug:!0}).config(["$compileProvider",function(a){angular.isDefined(a.urlSanitizationWhitelist)?a.urlSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|data):/):a.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|data):/)}]),angular.module("ngCsv.directives",["ngCsv.services"]),angular.module("ngCsv.services",[]),angular.module("ngCsv",["ngCsv.config","ngCsv.services","ngCsv.directives","ngSanitize"]),angular.module("ngCsv.services").service("CSV",["$q",function(a){var b="\r\n",c="";this.stringifyField=function(a,b,c){return"string"==typeof a?(a=a.replace(/"/g,'""'),(c||a.indexOf(",")>-1||a.indexOf("\n")>-1||a.indexOf("\r")>-1)&&(a=b+a+b),a):"boolean"==typeof a?a?"TRUE":"FALSE":a},this.stringify=function(d,e){var f=a.defer(),g=this,h="",i="",j=a.when(d).then(function(a){if(a=angular.copy(a),angular.isDefined(e.header)&&e.header){var d,j;d=[],angular.forEach(e.header,function(a){this.push(g.stringifyField(a,e.txtDelim,e.quoteStrings))},d),j=d.join(e.fieldSep?e.fieldSep:","),i+=j+b}var k=[];angular.isArray(a)?k=a:angular.isFunction(a)&&(k=a()),angular.forEach(k,function(a,c){var d,f;f=[],angular.forEach(a,function(a){this.push(g.stringifyField(a,e.txtDelim,e.quoteStrings))},f),d=f.join(e.fieldSep?e.fieldSep:","),i+=c");d.attr("href",a.URL.createObjectURL(c)),d.attr("download",b.getFilename()),e.find("body").append(d),f(function(){d[0].click(),d.remove()},null)}}c.bind("click",function(){b.buildCSV().then(function(){d()}),b.$apply()})}}}])}(window,document); \ No newline at end of file diff --git a/package.json b/package.json index 4fc55de..dc1880b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ng-csv", - "version": "0.3.0", + "version": "0.3.1", "main": "build/ng-csv.min.js", "description": "Simple directive that turns arrays and objects into downloadable CSV files", "repository": {