javascript-data-set
Version:
powerfull recordset class, supporting sorting, filtering, subsets, loading data from json, array and html markup
10 lines • 1.97 kB
JavaScript
/*!
* DataSet | Powerfull dataset for your app
* http://francodacosta.com/data-set/
*
* Copyright 2013-2014, Nuno Costa <nuno@francodacosta.com>
* Released under the MIT license
* https://github.com/francodacosta/data-set/blob/master/LICENSE
*
*/
window.Francodacosta=window.Francodacosta||{},window.Francodacosta.DataSet=window.Francodacosta.DataSet||{},window.Francodacosta.DataSet.Loader=window.Francodacosta.DataSet.Loader||{},window.Francodacosta.DataSet.Loader.Array=function(){function a(a,b){this.data=a,this.headerInFirstRow=b,this.headerInFirstRow=this.headerInFirstRow||!1}return a.prototype.load=function(){var a,b;return a=this.headerInFirstRow?this.data.shift():function(){b=[];for(var a=0,c=this.data[0].length;c>=0?c>=a:a>=c;c>=0?a++:a--)b.push(a);return b}.apply(this),new window.Francodacosta.DataSet.dataset(this.data,a)},a}(),window.Francodacosta=window.Francodacosta||{},window.Francodacosta.DataSet=window.Francodacosta.DataSet||{},window.Francodacosta.DataSet.Loader=window.Francodacosta.DataSet.Loader||{},window.Francodacosta.DataSet.Loader.Json=function(){function a(a){this.data=a}return a.prototype.load=function(){var a,b,c;b=this.data,"object"!=typeof b&&(b=JSON.parse(b)),a=[];for(c in b[0])a.push(c);return new window.Francodacosta.DataSet.dataset(b,a)},a}(),window.Francodacosta=window.Francodacosta||{},window.Francodacosta.DataSet=window.Francodacosta.DataSet||{},window.Francodacosta.DataSet.Loader=window.Francodacosta.DataSet.Loader||{},window.Francodacosta.DataSet.Loader.Markup=function(){function a(a){this.htmlTable=a}return a.prototype.load=function(){var a,b,c;return b=$(this.htmlTable),a=[],b.find("tr").first().find("th").each(function(b,c){var d;return c=$(c),d=c.attr("data-name"),d||(d=c.text()),a.push(d)}),c=[],b.find("tr").each(function(){var a;return a=void 0,$(this).find("td").each(function(){return a||(a=[]),a.push($(this).html())}),a?c.push(a):void 0}),new window.Francodacosta.DataSet.dataset(c,a)},a}();