[{"data":1,"prerenderedAt":503},["ShallowReactive",2],{"project-18568072":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":46,"post_text":48,"what":49,"said":98,"maker_in_thread":210,"shape":223,"grid":228,"attempts":465,"same_week":466,"maker_shows":33,"maker_hidden":495,"reader_version":496,"card":497},"18568072","Tabulator","Easy-to-use JavaScript library for interactive tables","title","Show HN: Tabulator – Easy-to-use JavaScript library for interactive tables","http:\u002F\u002Ftabulator.info\u002F","tabulator.info","olifolkerd",1543573368,2018,205,94,173,2155,9,"notable","languages","javascript ui library","library",[24,25,26,27],"javascript table library","interactive tables","virtual dom","data grid","mixed",0.208,{"positive":31,"neutral":32,"mixed":33,"critical":34},15,17,1,8,41,{"design":37,"performance":40,"docs":41,"pricing":43,"execution":45},{"positive":38,"critical":39},3,2,{"positive":33,"critical":33},{"positive":39,"critical":42},4,{"positive":42,"critical":44},0,{"positive":33,"critical":33},[38,44,38,38,38,33,44,44,44,47,47,38,38,44,33,38,47,47,38,47,38,47,47,44,33,38,47,38,47,38,47,33,47,33,47,38,38,47,47,33],5,null,{"problem":50,"audience":64,"pricing":76,"motivation":48,"time_to_build":48,"stack":85,"openness":95,"stage":96,"team_size":97},{"value":51,"source":52,"evidence":53},"Rendering large, interactive tables in the browser, including sorting, filtering, and pagination, without browser slowdowns","maker",[54,57,60],{"id":55,"by":11,"text":56},"18570715","vDOMs do carry a fairly significant performance overhead and they are not worth using where there is only a small amount of data to be handled (which is why it can be turned of…",{"id":58,"by":11,"text":59},"18572859","Thanks, Tabulator has a wide variety of options for handling large data sets. because it uses a virtual DOM you can effectively load as many rows as you like into the table, with…",{"id":61,"by":62,"text":63},"18572781","zestyping","This looks really impressive! What size of dataset (rows, columns) is Tabulator able to handle well? For huge datasets, what options are available to partially display, paginate,…",{"value":65,"source":66,"evidence":67},"Web developers building interactive tables","inferred",[68,72],{"id":69,"by":70,"text":71},"18569395","Waterluvian","I think that the homepage for any software library should first and foremost show example code and output. I clicked and scrolled and learned one useful thing for me: \"oh good it…",{"id":73,"by":74,"text":75},"18569068","djaychela","Handily, this is exactly the sort of thing I was looking for this morning for use in a project I'm doing (I'm making a library system as a project, and want to have the ability…",{"value":77,"source":52,"evidence":78},"MIT licensed, free for commercial use",[79,82],{"id":80,"by":11,"text":81},"18573634","Tabulator is licensed under MIT so is free for all to use, even on commercial projects.",{"id":83,"by":11,"text":84},"18573718","All features of Tabulator are free including a lot of features AG Grid charges for for commercial licenses",[86],{"value":87,"source":52,"evidence":88},"JavaScript",[89,92],{"id":90,"by":11,"text":91},"18575864","Thanks. By removing the need for 3rd party dependencies it helps reduce the overall size of the package, made it easier to manage the source of the system, made it easier for…",{"id":93,"by":11,"text":94},"18572752","I wrote my own, Tabulator has zero dependencies for its core functionality If you have the time, writing a virtual DOM can be an excellent lesson in the intricacies of DOM…","open_source","launched","unknown",{"praise":99,"objections":129,"requests":155,"questions":173,"alternatives":186},[100,113,124],{"value":101,"source":102,"evidence":103},"Free and MIT licensed, with features competitors charge for","commenter",[104,108,109],{"id":105,"by":106,"text":107},"18573624","seanwilson","Looks really interesting! I was evaluating grid\u002Ftable projects a while ago for use on project where I wanted high performance with big data sets with custom row rendering and…",{"id":73,"by":74,"text":75},{"id":110,"by":111,"text":112},"18569755","androidgirl","Hey, a quick thanks for making this! I think I can use it as a replacement for some code at work. Also, thank you for the React compatibility and component, as well as the…",{"value":114,"source":102,"evidence":115},"Small size and no dependencies",[116,120],{"id":117,"by":118,"text":119},"18575487","75dvtwin","thank you for sharing, looks the size of js (gzip) is 43.5kb and for 2.5kb for CSS This is really nice, very small for such a comprehensive library. Jealous a bit, that library…",{"id":121,"by":122,"text":123},"18572277","FroshKiller","I'm pleased that you removed the jQuery dependency in version 4 and am looking forward to upgrading. Your library allowed me to move a lot of awful server-side code to the browser.",{"value":125,"source":52,"evidence":126},"Handles large datasets via virtual DOM",[127,128],{"id":58,"by":11,"text":59},{"id":55,"by":11,"text":56},[130,137,141,148],{"value":131,"source":102,"evidence":132},"Uses div elements instead of native table markup",[133],{"id":134,"by":135,"text":136},"18568848","ohitsdom","It seems standard that all of these JS table libraries are rendering using \u003Cdiv> elements instead of a \u003Ctable> element. Why? This really irks me. As far as I can tell, all of the…",{"value":138,"source":102,"evidence":139},"Documentation lacks code examples on the homepage",[140],{"id":69,"by":70,"text":71},{"value":142,"source":102,"evidence":143},"Not responsive on small screens",[144],{"id":145,"by":146,"text":147},"18571751","mkirklions","This doesnt appear to be responsive. I would update my website(it already has a table sorting feature), but losing columns in favor of beauty isnt acceptable.",{"value":149,"source":102,"evidence":150},"Default styling is too opinionated",[151],{"id":152,"by":153,"text":154},"18571129","dvh","I think the default style (even of the demo on the page) should be no style.",[156,160,167],{"value":157,"source":102,"evidence":158},"React Native support",[159],{"id":117,"by":118,"text":119},{"value":161,"source":102,"evidence":162},"Better framework integration such as Angular",[163],{"id":164,"by":165,"text":166},"18570435","aasasd","I've had a brief stint pairing this lib with Angular and server-side pagination while also trying to dance around Django's CSRF requirements on a local machine (aka two separate…",{"value":168,"source":102,"evidence":169},"Multi-cell editing and cell group selection",[170],{"id":171,"by":11,"text":172},"18570532","AG-Grid has some features that tabulator lacks, like multi-cell editing and cell group selection. (but these features will be coming soon to Tabulator) AG-Grid focus's on being a…",[174,182],{"value":175,"source":102,"evidence":176},"How does it compare to AG-Grid",[177,181],{"id":178,"by":179,"text":180},"18570371","seymour333","Anyone have comments on how this might stack up against AG-Grid?",{"id":105,"by":106,"text":107},{"value":183,"source":102,"evidence":184},"What size of dataset can it handle",[185],{"id":61,"by":62,"text":63},[187,192,203],{"value":188,"source":102,"evidence":189},"AG-Grid",[190,191],{"id":105,"by":106,"text":107},{"id":178,"by":179,"text":180},{"value":193,"source":102,"evidence":194},"React Table",[195,199],{"id":196,"by":197,"text":198},"18569530","michaelmior","React Table[0] is a nice possible alternative. https:\u002F\u002Freact-table.js.org\u002F",{"id":200,"by":201,"text":202},"18570226","burtonator","This looks really nice. I did a huge deep dive on HTML\u002FJavascript table libraries when I started working on Polar - which is a document management platform for PDF and cached…",{"value":204,"source":102,"evidence":205},"react-spreadsheet",[206],{"id":207,"by":208,"text":209},"18570366","iddan","If anybody is looking for a React similar solution checkout https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Freact-spreadsheet",{"comments":211,"answered":212,"key":213},33,13,[214,217,220],{"id":215,"text":216},"18569684","the problem is it isnt just the table element, it is the thead,tbody,td,th elements as well Complex interactive tables need a great number of elements to make them run and these…",{"id":218,"text":219},"18569629","Tabulator uses aria tags to let screen readers and other accessibility tools know how the table is structured so it is still just as accessible as a normal table even with its…",{"id":221,"text":222},"18569987","This is why you need to use a virtual DOM to prevent the DOM from being filled with elements that consume memory and slow it down",{"commenters":224,"max_depth":225,"maker_replies":211,"first_comment_mins":226,"lifespan_hours":227},47,7,180,29,[229,231,234,237,240,243,246,247,250,252,256,257,261,264,267,268,271,273,277,279,283,287,289,292,295,298,300,303,305,307,310,313,315,317,320,322,324,327,329,333,335,336,340,341,343,345,346,349,350,351,354,358,361,364,367,368,372,374,377,379,381,383,386,388,393,395,398,400,404,406,408,410,412,415,417,419,421,425,427,428,430,433,435,437,439,443,445,447,449,452,454,456,458,463],[134,44,38,230,135,44],"project\u002Fneutral\u002Fdesign",[232,44,44,233,74,44],"18568959","commenter\u002Fneutral\u002Fdesign",[235,44,44,233,236,44],"18569084","EMRZ",[238,44,44,233,239,44],"18571051","JangoSteve",[241,44,38,230,242,44],"18569090","warpech",[244,44,44,233,245,44],"18569211","twanvl",[215,44,44,230,11,33],[248,44,38,230,249,44],"18569545","BjoernKW",[218,44,44,251,11,33],"project\u002Fpositive\u002Fdesign",[253,44,38,254,255,44],"18569974","project\u002Fneutral\u002Fperformance","TeMPOraL",[221,44,44,254,11,33],[258,44,44,259,260,44],"18570499","commenter\u002Fneutral\u002Fperformance","mattnewton",[262,44,33,263,255,44],"18570545","project\u002Fcritical\u002Fperformance",[265,44,44,259,266,44],"18570667","lazyasciiart",[55,44,44,254,11,33],[269,44,44,259,270,44],"18570237","ergothus",[272,44,44,259,242,44],"18572187",[274,44,44,275,276,44],"18572028","other\u002Fneutral\u002Fnone","itodd",[278,44,44,275,242,44],"18572094",[280,44,44,281,282,44],"18569178","other\u002Fneutral\u002Fdesign","lunchables",[284,44,44,285,286,44],"18574029","commenter\u002Fneutral\u002Fnone","noir_lord",[288,44,44,230,11,33],"18569389",[290,44,47,251,291,44],"18571722","Rumudiez",[293,44,47,294,135,44],"18572089","maker\u002Fpositive\u002Fnone",[296,44,38,230,297,44],"18572683","damntrecky",[299,44,44,254,11,33],"18572783",[301,44,38,254,302,44],"18573170","derefr",[304,44,44,254,11,33],"18573226",[306,44,44,259,302,44],"18573289",[308,44,38,230,309,44],"18569475","kgwxd",[311,44,44,312,11,33],"18569608","project\u002Fpositive\u002Fperformance",[314,44,44,281,239,44],"18571020",[69,33,33,316,70,44],"project\u002Fcritical\u002Fdocs",[318,33,44,319,11,33],"18569422","project\u002Fneutral\u002Fdocs",[321,33,33,316,70,44],"18569442",[323,33,44,319,11,33],"18569465",[325,33,38,326,70,44],"18569469","maker\u002Fneutral\u002Fdocs",[328,33,44,326,11,33],"18569587",[330,33,47,331,332,44],"18569497","project\u002Fpositive\u002Fdocs","commandlinefan",[105,39,47,334,106,44],"project\u002Fpositive\u002Fpricing",[80,39,44,334,11,33],[337,39,44,338,339,44],"18573677","other\u002Fneutral\u002Fpricing","rjse",[83,39,44,334,11,33],[164,38,38,342,165,44],"project\u002Fmixed\u002Fdesign",[344,38,44,319,11,33],"18570490",[73,42,47,334,74,44],[347,42,44,348,11,33],"18569397","project\u002Fneutral\u002Fpricing",[61,47,38,254,62,44],[58,47,44,254,11,33],[200,352,47,353,201,44],6,"project\u002Fpositive\u002Fnone",[355,352,44,356,357,44],"18570608","other\u002Fcritical\u002Fdesign","subbu",[359,352,44,281,360,44],"18571916","_coveredInBees",[362,352,44,281,363,44],"18573647","manigandham",[365,225,47,251,366,44],"18573443","azmenak",[90,225,44,254,11,33],[369,34,44,370,371,44],"18575852","other\u002Fneutral\u002Fperformance","hnruss",[152,18,33,373,153,44],"project\u002Fcritical\u002Fdesign",[375,18,44,233,376,44],"18572306","plainOldText",[378,18,44,230,11,33],"18572657",[380,18,38,230,62,44],"18572748",[382,18,44,319,11,33],"18572806",[121,384,47,385,122,44],10,"project\u002Fpositive\u002Fexecution",[387,384,44,294,11,33],"18572624",[389,390,38,391,392,44],"18572560",11,"maker\u002Fneutral\u002Fdesign","DonHopkins",[394,390,44,230,11,33],"18572694",[396,390,38,397,392,44],"18572704","maker\u002Fneutral\u002Fnone",[93,390,44,399,11,33],"project\u002Fneutral\u002Fexecution",[401,402,47,353,403,44],"18574148",12,"stale",[207,212,38,405,208,44],"project\u002Fneutral\u002Fnone",[407,212,44,405,11,33],"18570508",[110,409,47,353,111,44],14,[411,409,44,397,11,33],"18569851",[413,31,33,316,414,44],"18569289","nothis",[416,31,44,326,11,33],"18569401",[418,31,33,316,414,44],"18570925",[420,31,44,319,11,33],"18571018",[422,423,47,251,424,44],"18569765",16,"nubb",[426,423,44,397,11,33],"18569833",[145,32,33,373,146,44],[429,32,44,230,11,33],"18571809",[431,32,47,432,146,44],"18571840","maker\u002Fpositive\u002Fdocs",[117,434,47,312,118,44],18,[436,434,44,230,11,33],"18575853",[438,434,38,405,118,44],"18577084",[440,441,38,405,442,44],"18569794",19,"uberneo",[444,441,44,334,11,33],"18569840",[178,446,38,405,179,44],20,[171,446,44,448,11,33],"project\u002Fmixed\u002Fnone",[450,446,47,334,451,44],"18570836","leetrout",[453,446,47,334,179,44],"18571413",[196,455,38,405,197,44],21,[457,455,44,405,11,33],"18569596",[459,460,33,461,462,44],"18571879",22,"project\u002Fcritical\u002Fexecution","citilife",[464,460,44,397,11,33],"18572139",[],[467,472,477,482,487,491],{"id":468,"name":469,"points":470,"category":471},"18599200","Dark Reader extension",369,"productivity",{"id":473,"name":474,"points":475,"category":476},"18576117","dust3d.org",290,"dev_tools",{"id":478,"name":479,"points":480,"category":481},"18606766","Stock Trading from Google Spreadsheet",281,"finance_crypto",{"id":483,"name":484,"points":485,"category":486},"18569961","srslte-docker-emulated",210,"infrastructure",{"id":488,"name":489,"points":490,"category":476},"18608454","Next Browser",198,{"id":492,"name":493,"points":494,"category":476},"18593015","McFly",130,false,"v2",{"id":498,"name":5,"line":6,"ai":495,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":499,"top":18,"kw":500,"maker":11,"domain":10,"tier":19,"attempts":44,"strip":501,"url":9,"mix":502,"praise":101,"objection":131,"sub":21},18568072,0.21,[24,25,26,27],"3033310005533013553535501353535151533551",[31,32,33,34],1794036572281]