[{"data":1,"prerenderedAt":648},["ShallowReactive",2],{"project-23420091":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":45,"post_text":48,"what":49,"said":89,"maker_in_thread":240,"shape":248,"grid":253,"attempts":603,"same_week":612,"maker_shows":31,"maker_hidden":640,"reader_version":641,"card":642},"23420091","Grid.js","Advanced table library that works everywhere","title","Show HN: Grid.js – Advanced table library that works everywhere","https:\u002F\u002Fgridjs.io\u002F?hn","gridjs.io","afshinmeh",1591295599,2020,390,132,89,3028,3,"legend","dev_tools","table library","library",[24,25,26,27],"javascript table","data grid","typescript table library","framework agnostic table","curious",-0.101,{"positive":31,"neutral":32,"mixed":33,"critical":34},13,34,0,20,67,{"performance":37,"execution":39,"design":41,"docs":43,"idea":44},{"positive":38,"critical":38},1,{"positive":38,"critical":40},4,{"positive":38,"critical":42},7,{"positive":33,"critical":38},{"positive":40,"critical":40},[18,18,46,47,46,40,46,18,46,38,33,38,38,18,38,18,33,18,18,38,18,33,33,18,46,18,33,47,40,18,18,46,38,47,33,33,38,38,40,38],5,2,null,{"problem":50,"audience":57,"pricing":48,"motivation":66,"time_to_build":48,"stack":70,"openness":86,"stage":87,"team_size":88},{"value":51,"source":52,"evidence":53},"Building advanced, framework-independent data tables in the browser.","maker",[54],{"id":55,"by":11,"text":56},"23420765","Hello folks :wave: I’m Afshin, the creator of Grid.js. Grid.js is an open-source table library written in TypeScript and published under MIT license. My goal is to develop a…",{"value":58,"source":59,"evidence":60},"Web developers building tables in browser apps.","inferred",[61,62],{"id":55,"by":11,"text":56},{"id":63,"by":64,"text":65},"23422614","fbnlsr","Definitely going to try this. I've been using Datatables with Vue but it's not the most user friendly. Thanks for your work!",{"value":67,"source":52,"evidence":68},"To provide a framework-agnostic table library that works everywhere.",[69],{"id":55,"by":11,"text":56},[71,75],{"value":72,"source":52,"evidence":73},"TypeScript",[74],{"id":55,"by":11,"text":56},{"value":76,"source":77,"evidence":78},"Docusaurus (docs site)","commenter",[79,83],{"id":80,"by":81,"text":82},"23421817","cj","https:\u002F\u002Fgithub.com\u002Fgrid-js\u002Fwebsite Looks like it's made with Facebook's Docusaurus.",{"id":84,"by":11,"text":85},"23421874","Yes!","open_source","beta","unknown",{"praise":90,"objections":113,"requests":155,"questions":185,"alternatives":208},[91,102],{"value":92,"source":77,"evidence":93},"Clean, beautiful documentation and design",[94,98],{"id":95,"by":96,"text":97},"23420901","pea","Great work - really clean documentation, and it looks beautiful! We currently use `react-table`, which is good in that it can support some reasonably large datasets (for…",{"id":99,"by":100,"text":101},"23421660","XCSme","Your documentation is really cool, what did you use to make it?",{"value":103,"source":77,"evidence":104},"Framework agnostic, works without React lock-in",[105,109],{"id":106,"by":107,"text":108},"23421236","guggle","Good, I like framework agnostic components. I've been playing with two other libraries recently: Dropzone js and Sortable js. Grid js looks useful too.",{"id":110,"by":111,"text":112},"23425314","dandare","I am excited to use the vanilla JS version in my project, thanks for not being React only :)",[114,129,140,148],{"value":115,"source":77,"evidence":116},"Not responsive or mobile friendly on small screens",[117,121,125],{"id":118,"by":119,"text":120},"23425014","naveen_","It's not mobile friendly.",{"id":122,"by":123,"text":124},"23422272","Eduard","I'd say the claim \"works everywhere\" does not consider small screens. I had a look at the examples with Android Chrome in portrait viewport, and cell content gets either cut off…",{"id":126,"by":127,"text":128},"23427597","rezonant","Thanks for submitting and great work so far. The tables it makes definitely look nice. I must admit though, I have a hard time imagining where I could use this right now. Good…",{"value":130,"source":77,"evidence":131},"Too simple to be called advanced; lacks common features",[132,136],{"id":133,"by":134,"text":135},"23422319","Bishonen88","Good effort! I'm not sure how 'advanced' it is though. I'd even go as far as call it 'simple'? E.g. the following features would be required to make it advanced (list not…",{"id":137,"by":138,"text":139},"23421517","sliptype","This looks nice but much less configurable than ag-grid. I've worked on projects that had very intense excel-level requirements for their data grids and ag-grid was a dream.",{"value":141,"source":77,"evidence":142},"Client-side sorting and pagination download all rows; performance unclear for large datasets",[143,147],{"id":144,"by":145,"text":146},"23420837","w-ll","It looks like sorting \u002F pagination is all down client side which forces a download of all the rows, how well does this support tables with 10s or 100s of thousands of rows?",{"id":95,"by":96,"text":97},{"value":149,"source":77,"evidence":150},"Accessibility issues with sortable headers",[151],{"id":152,"by":153,"text":154},"23421011","bubbab","How accessible is Grid.js? The main differentiator between table libraries for me these days is accessibility. Many libraries and frameworks out there do it poorly. The better…",[156,162,173,181],{"value":157,"source":52,"evidence":158},"Server-side sorting, search and pagination",[159],{"id":160,"by":11,"text":161},"23420909","Correct. I have a PR ready which integrates the sort, search and pagination with the server-side module. Currently, there is a Server Side module that pulls data from the server…",{"value":163,"source":77,"evidence":164},"Performance benchmarks",[165,169],{"id":166,"by":167,"text":168},"23422143","hn_1234","Is there any load testing benchmark results available. if so can you share ?",{"id":170,"by":171,"text":172},"23421003","LukaszWiktor","Good job! Looks great. What about performance? Have you tested how many rows can Gird.js handle without a noticable lag?",{"value":174,"source":77,"evidence":175},"Column resizing, reordering and export features",[176,177],{"id":133,"by":134,"text":135},{"id":178,"by":179,"text":180},"23425336","JSavageOne","How does this compare to competitors like Ag-Grid? One simple feature I see lacking in the ability is the ability to resize columns",{"value":182,"source":77,"evidence":183},"Accessibility improvements",[184],{"id":152,"by":153,"text":154},[186,201],{"value":187,"source":77,"evidence":188},"How does it compare to existing table libraries?",[189,193,197],{"id":190,"by":191,"text":192},"23420881","rootcage","Out of curiosity how is this better than current Grid\u002FTable implementations?",{"id":194,"by":195,"text":196},"23421558","codegladiator","What's the \"Advanced\" part in this ? Vue\u002Fquasar tables already provide extensive functionality and I am sure there are react and angular alternatives. I don't think there is a…",{"id":198,"by":199,"text":200},"23421737","seastonATccs","What benefits does it have over mat-table?",{"value":202,"source":77,"evidence":203},"How does it handle wide tables on mobile?",[204],{"id":205,"by":206,"text":207},"23426159","irrational","I'd like to see an example of a very wide table (maybe 30 columns). I want to see how it would look on a phone in portrait mode.",[209,217,222,229,233],{"value":210,"source":77,"evidence":211},"react-table",[212,213],{"id":95,"by":96,"text":97},{"id":214,"by":215,"text":216},"23427801","rafaelturk","Congrats! Curious why you haven't considered https:\u002F\u002Freact-table.js.org\u002F",{"value":218,"source":77,"evidence":219},"ag-grid",[220,221],{"id":137,"by":138,"text":139},{"id":178,"by":179,"text":180},{"value":223,"source":77,"evidence":224},"DataTables",[225],{"id":226,"by":227,"text":228},"23421709","boromi","A similar product is https:\u002F\u002Fdatatables.net\u002F",{"value":230,"source":77,"evidence":231},"material-table",[232],{"id":133,"by":134,"text":135},{"value":234,"source":77,"evidence":235},"Tabulator",[236],{"id":237,"by":238,"text":239},"23421537","danseagrave","Has anyone tried Tabulator[1]? [1] http:\u002F\u002Fwww.tabulator.info\u002F",{"comments":241,"answered":31,"key":242},21,[243,244,245],{"id":55,"text":56},{"id":160,"text":161},{"id":246,"text":247},"23425937","Not necessarily, any HTTP interface that can return JSON (e.g. Python Flask, PHP, etc)",{"commenters":249,"max_depth":250,"maker_replies":241,"first_comment_mins":251,"lifespan_hours":252},84,9,58,130,[254,256,258,259,263,264,267,269,271,273,276,280,283,286,289,293,295,298,300,301,302,303,305,307,309,312,314,316,317,321,323,325,328,331,333,335,337,339,341,344,346,350,351,354,357,360,363,364,368,370,374,376,379,382,385,387,390,393,396,397,398,400,402,405,407,410,413,416,419,422,425,427,429,433,436,438,441,443,445,447,451,453,457,461,464,467,469,472,474,478,482,486,490,494,496,499,502,504,506,509,511,513,517,519,523,525,527,529,531,535,537,540,544,547,551,553,556,558,562,564,568,571,573,576,578,581,584,587,589,593,596,600],[55,33,33,255,11,38],"maker\u002Fneutral\u002Fnone",[144,33,18,257,145,33],"project\u002Fneutral\u002Fperformance",[160,33,33,257,11,38],[260,33,18,261,262,33],"23423026","project\u002Fneutral\u002Fexecution","freedomben",[246,33,33,261,11,38],[265,33,18,257,266,33],"23425029","_bxg1",[95,33,46,268,96,33],"project\u002Fpositive\u002Fperformance",[270,33,33,257,11,38],"23420976",[272,33,18,257,96,33],"23421187",[274,33,18,257,275,33],"23422407","craigching",[277,33,38,278,279,33],"23420966","project\u002Fcritical\u002Fexecution","simonw",[281,33,33,282,11,38],"23421079","maker\u002Fneutral\u002Fexecution",[284,33,18,255,285,33],"23421326","robertlagrant",[287,33,46,288,279,33],"23421715","maker\u002Fpositive\u002Fnone",[290,33,18,291,292,33],"23421667","project\u002Fneutral\u002Fdesign","nightski",[294,33,33,282,11,38],"23435179",[296,33,46,297,279,33],"23473933","maker\u002Fpositive\u002Fexecution",[99,33,18,299,100,33],"project\u002Fneutral\u002Fdocs",[80,33,18,299,81,33],[84,33,33,255,11,38],[166,33,18,257,167,33],[304,33,33,257,11,38],"23422323",[63,33,46,306,64,33],"project\u002Fpositive\u002Fnone",[308,33,33,288,11,38],"23422700",[310,33,46,306,311,33],"23423644","hazz99",[118,33,38,313,119,33],"project\u002Fcritical\u002Fdesign",[110,33,46,315,111,33],"project\u002Fpositive\u002Fidea",[205,33,18,291,206,33],[318,33,33,319,320,33],"23426245","commenter\u002Fneutral\u002Fdesign","dirtnugget",[322,33,33,319,206,33],"23426442",[324,33,38,313,320,33],"23426867",[326,33,33,319,327,33],"23426637","rejschaap",[329,33,33,330,320,33],"23426955","other\u002Fneutral\u002Fdesign",[332,33,33,330,206,33],"23427214",[334,33,33,330,320,33],"23431381",[336,33,33,319,206,33],"23432618",[338,33,33,330,320,33],"23437536",[340,33,38,313,127,33],"23427671",[342,33,33,343,11,38],"23426534","maker\u002Fneutral\u002Fdesign",[126,33,38,345,127,33],"project\u002Fcritical\u002Fidea",[347,33,38,348,349,33],"23433380","project\u002Fcritical\u002Fdocs","bmn__",[133,38,38,345,134,33],[352,38,33,353,11,38],"23422438","maker\u002Fneutral\u002Fidea",[355,38,18,356,134,33],"23422474","project\u002Fneutral\u002Fidea",[358,38,46,315,359,33],"23424537","datasage",[361,38,38,345,362,33],"23426424","rushabh",[152,47,38,313,153,33],[365,47,33,366,367,33],"23421042","commenter\u002Fneutral\u002Fnone","ipsum2",[369,47,33,343,11,38],"23421122",[371,47,33,372,373,33],"23422621","other\u002Fneutral\u002Fnone","nohuhu",[237,18,18,375,238,33],"project\u002Fneutral\u002Fnone",[377,18,33,372,378,33],"23422184","thrownaway954",[380,18,33,372,381,33],"23427632","olifolkerd",[383,18,33,372,384,33],"23422618","btzll",[386,18,33,372,381,33],"23427682",[388,18,33,372,389,33],"23422650","joaodlf",[391,18,46,306,392,33],"23424593","40four",[394,18,33,372,395,33],"23424226","Keyframe",[122,40,38,313,123,33],[190,46,18,356,191,33],[399,46,33,315,11,38],"23420951",[226,401,18,375,227,33],6,[403,401,18,257,404,33],"23422058","whycombagator",[406,401,18,375,389,33],"23422643",[408,401,38,409,227,33],"23424117","project\u002Fcritical\u002Fnone",[411,401,38,409,412,33],"23425232","ies7",[414,401,18,375,415,33],"23427531","werdnapk",[417,42,33,372,418,33],"23425808","triceratops",[420,42,33,372,421,33],"23426468","orange8",[423,42,33,372,424,33],"23426976","Zecc",[426,42,33,372,421,33],"23427807",[428,42,33,372,418,33],"23435690",[430,431,33,372,432,33],"23424314",8,"rkagerer",[434,431,33,366,435,33],"23426126","huhtenberg",[437,431,33,366,432,33],"23435601",[439,250,33,372,440,33],"23438784","hendry",[137,442,38,409,138,33],10,[444,442,33,255,11,38],"23421534",[106,446,46,315,107,33],11,[448,449,18,375,450,33],"23421280",12,"silviogutierrez",[452,449,33,255,11,38],"23425950",[454,31,46,455,456,33],"23429451","project\u002Fpositive\u002Fdesign","byteshock",[458,459,18,257,460,33],"23422170",14,"mason55",[462,459,33,372,463,33],"23422282","mstade",[465,459,33,366,466,33],"23422636","SloopJon",[468,459,33,366,463,33],"23422887",[470,459,33,372,471,33],"23422835","at-fates-hands",[473,459,33,366,463,33],"23422893",[475,459,33,476,477,33],"23426136","commenter\u002Fneutral\u002Fperformance","denster",[479,480,18,356,481,33],"23442553",15,"fedd",[483,484,18,291,485,33],"23423069",16,"ggmartins",[487,488,38,313,489,33],"23423015",17,"OJFord",[491,492,46,306,493,33],"23423110",18,"yingw787",[214,495,18,375,215,33],19,[497,34,18,261,498,33],"23424342","guruparan18",[500,241,18,261,501,33],"23420904","ng12",[503,241,33,255,11,38],"23421135",[194,505,18,356,195,33],22,[507,505,33,366,508,33],"23421636","spiderfarmer",[510,505,33,255,11,38],"23421723",[512,505,33,315,11,38],"23421666",[514,515,18,291,516,33],"23421381",23,"babaganoosh89",[518,515,33,343,11,38],"23421479",[520,521,46,306,522,33],"23421080",24,"wnevets",[524,521,33,288,11,38],"23421092",[178,526,38,313,179,33],25,[170,528,18,257,171,33],26,[530,528,33,257,11,38],"23421086",[532,533,18,375,534,33],"23425405",27,"kangaroozach",[536,533,18,375,389,33],"23426763",[538,539,38,278,435,33],"23426095",28,[541,542,18,375,543,33],"23423529",29,"moralestapia",[545,542,33,372,546,33],"23423939","pookeh",[548,542,33,549,550,33],"23424996","other\u002Fneutral\u002Fpricing","tuesday20",[552,542,33,549,546,33],"23435842",[554,542,33,372,555,33],"23425845","chensformers",[557,542,33,372,381,33],"23464731",[559,560,33,372,561,33],"23423735",30,"Phrodo_00",[198,563,18,375,199,33],31,[565,566,38,278,567,33],"23421370",32,"colesantiago",[569,566,33,366,570,33],"23421603","nawgszy",[572,566,33,366,567,33],"23422174",[574,566,38,575,227,33],"23421718","project\u002Fcritical\u002Fperformance",[577,566,38,278,567,33],"23422294",[579,566,33,366,580,33],"23422958","baddox",[582,566,18,299,583,33],"23423178","jerrysievert",[585,566,18,356,586,33],"23421760","runawaybottle",[588,566,46,315,567,33],"23422110",[590,591,38,345,592,33],"23422226",33,"docuru",[594,32,33,366,595,33],"23424369","beprogrammed",[597,598,33,372,599,33],"23420800",35,"Sembiance",[601,598,33,366,602,33],"23422833","shmelvin512",[604,605,608],{"id":4,"t":12,"points":14,"comments":15},{"id":606,"t":607,"points":542,"comments":18},"24788074",1602766462,{"id":609,"t":610,"points":611,"comments":539},"31626268",1654385708,97,[613,618,622,626,631,635],{"id":614,"name":615,"points":616,"category":617},"23418796","C0D3",261,"learning_science",{"id":619,"name":620,"points":621,"category":20},"23466506","topngx",219,{"id":623,"name":624,"points":625,"category":20},"23433290","Jqview",208,{"id":627,"name":628,"points":629,"category":630},"23448608","Puree",190,"security_privacy",{"id":632,"name":633,"points":634,"category":20},"23443430","Weylus",176,{"id":636,"name":637,"points":638,"category":639},"23418910","interviewing.io",171,"productivity",false,"v2",{"id":643,"name":5,"line":6,"ai":640,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":644,"top":18,"kw":645,"maker":11,"domain":10,"tier":19,"attempts":18,"strip":646,"url":9,"mix":647,"praise":92,"objection":115,"sub":21},23420091,-0.1,[24,25,26,27],"3352545351011313033130035302433512001141",[31,32,33,34],1794036591622]