From 63e17b937a943ebf4703f5cbf60a9f8deed4a50a Mon Sep 17 00:00:00 2001 From: okayama-tomohiro2 <10antz_7@allfuz.co.jp> Date: Tue, 20 Oct 2015 14:36:48 +0900 Subject: [PATCH] add load asset csv --- src/asset/csv.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/asset/csv.js diff --git a/src/asset/csv.js b/src/asset/csv.js new file mode 100644 index 00000000..d7567f3d --- /dev/null +++ b/src/asset/csv.js @@ -0,0 +1,42 @@ +tm.asset = tm.asset || {}; + +(function() { + /* + * csv loader + */ + tm.define('tm.asset.CSV', { + superClass: 'tm.event.EventDispatcher', + + init: function (src) { + var self = this; + self.superInit(); + tm.util.Ajax.load({ + type: 'GET', + url: src, + success: function (d) { + self.loaded = true; + self.data = self.parse(d); + self.flare('load'); + }, + }); + }, + parse: function (data) { + // 1行目(key name list) + var rowData = data.split('\n'); + var keyList = rowData.shift().split(','); + // 2行目以降をデータ化(forループのほうがいいかな?) + var resultData = rowData.map(function (l) { + var result = {}; + l.split(',').each(function (m, j) { + result[keyList[j]] = m; + }); + return result; + }); + return resultData; + }, + }); + + tm.asset.Loader.register('csv', function(path, key) { + return tm.asset.CSV(path, key); + }); +})();