{"action":"created","issue":{"url":"https://api.github.com/repos/GwtMaterialDesign/gwt-material/issues/205","labels_url":"https://api.github.com/repos/GwtMaterialDesign/gwt-material/issues/205/labels{/name}","comments_url":"https://api.github.com/repos/GwtMaterialDesign/gwt-material/issues/205/comments","events_url":"https://api.github.com/repos/GwtMaterialDesign/gwt-material/issues/205/events","html_url":"https://github.com/GwtMaterialDesign/gwt-material/issues/205","id":122497383,"number":205,"title":"MaterialDataTable - Work in Progress!","user":{"login":"BenDol","id":1935706,"avatar_url":"https://avatars.githubusercontent.com/u/1935706?v=3","gravatar_id":"","url":"https://api.github.com/users/BenDol","html_url":"https://github.com/BenDol","followers_url":"https://api.github.com/users/BenDol/followers","following_url":"https://api.github.com/users/BenDol/following{/other_user}","gists_url":"https://api.github.com/users/BenDol/gists{/gist_id}","starred_url":"https://api.github.com/users/BenDol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BenDol/subscriptions","organizations_url":"https://api.github.com/users/BenDol/orgs","repos_url":"https://api.github.com/users/BenDol/repos","events_url":"https://api.github.com/users/BenDol/events{/privacy}","received_events_url":"https://api.github.com/users/BenDol/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/GwtMaterialDesign/gwt-material/labels/discussion","name":"discussion","color":"fbca04"}],"state":"open","locked":false,"assignee":{"login":"BenDol","id":1935706,"avatar_url":"https://avatars.githubusercontent.com/u/1935706?v=3","gravatar_id":"","url":"https://api.github.com/users/BenDol","html_url":"https://github.com/BenDol","followers_url":"https://api.github.com/users/BenDol/followers","following_url":"https://api.github.com/users/BenDol/following{/other_user}","gists_url":"https://api.github.com/users/BenDol/gists{/gist_id}","starred_url":"https://api.github.com/users/BenDol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BenDol/subscriptions","organizations_url":"https://api.github.com/users/BenDol/orgs","repos_url":"https://api.github.com/users/BenDol/repos","events_url":"https://api.github.com/users/BenDol/events{/privacy}","received_events_url":"https://api.github.com/users/BenDol/received_events","type":"User","site_admin":false},"milestone":null,"comments":14,"created_at":"2015-12-16T12:52:38Z","updated_at":"2016-01-25T22:28:49Z","closed_at":null,"body":"Hey guys! I have been working with @dlaunen on developing a `MaterialDataTable` over the past couple of weeks and have put together a proof of concept based on some requirements. Here is a quick demonstration of the PoC in its current state:\r\n\r\n![material-grid-poc](https://cloud.githubusercontent.com/assets/1935706/11839215/f087fe34-a450-11e5-9c1d-a7676e8d5b00.gif)\r\n\r\nThis is what I have put together as a proof of concept so far. Things to note from this demonstration:\r\n* Supports subsets of data using sticky subheaders to categorize them, it will also support the standard table without any subsets.\r\n* Supporting column toggling via the material dropdown widget.\r\n* Ability to expand the rows out for any extra information on that row.\r\n* Ability to select a row (single or multiple selection will be supported).\r\n* Ability to show a progress indicator on the grid.\r\n\r\nA key feature that has not been added to this PoC is **infinite scrolling**. The ability to scroll through large amounts of data reusing the rows that are visible in the users viewport, the data table will provide an event that will fire to retrieve data from your datasource asynchronously using `start` (start index for new data) and `count` (amount of data to load from the start value) which depends on how much data will be loaded on the fly as you scroll. Since this doesn't continuously load new table row elements it keeps the DOM very light weight as you reuse the existing rows in view. Giving the smooth user experience we expect to see in modern web applications.\r\n\r\nI have added standard Material components inside the rows and subheaders to show that we can and will mesh well with material design components. A big part of this data table is its responsive design, we are focusing on the presentation of data and as demonstrated, the ability to group data. The current proof of concept shows basic mobile support that will be controlled 100% using CSS styling (minus subheader recalculations).\r\n\r\n![material-grid-mobile-poc](https://cloud.githubusercontent.com/assets/1935706/11839738/0c41d33a-a455-11e5-8b7b-31f7ab471c9a.gif)\r\n\r\nIt is important when designing this for 'small' devices that touch compatibility is built in as out of the box functionality. The proof of concept demonstrates this too.\r\n\r\n![material-grid-mobile-touch-poc](https://cloud.githubusercontent.com/assets/1935706/11840206/d0d4e810-a458-11e5-9631-e6994489d23c.gif)\r\n\r\nWe are aiming to fill the 'data table gap' that GWT currently has at the moment. The standard GWT `DataGrid` is really outdated now-a-days and there is little out there at the moment that actually provides any flexible data display. You can take a look at the current [requirements](https://docs.google.com/document/d/1JMLZ-aWNzNPY19AW5MOvYDE-O7l33w86DVbUFpBmVZ4/edit?usp=sharing) we have put together for the first release (might be one or two items missing, will update it later).\r\n\r\nAnyway, thought I'd share what's on the way with GWT Material! Would love to hear any thoughts on this. A release date for this component isn't set into a particular version of gwt-material just yet, but it will be on the roadmap in the near future.\r\n\r\nThanks!"},"comment":{"url":"https://api.github.com/repos/GwtMaterialDesign/gwt-material/issues/comments/174700706","html_url":"https://github.com/GwtMaterialDesign/gwt-material/issues/205#issuecomment-174700706","issue_url":"https://api.github.com/repos/GwtMaterialDesign/gwt-material/issues/205","id":174700706,"user":{"login":"BenDol","id":1935706,"avatar_url":"https://avatars.githubusercontent.com/u/1935706?v=3","gravatar_id":"","url":"https://api.github.com/users/BenDol","html_url":"https://github.com/BenDol","followers_url":"https://api.github.com/users/BenDol/followers","following_url":"https://api.github.com/users/BenDol/following{/other_user}","gists_url":"https://api.github.com/users/BenDol/gists{/gist_id}","starred_url":"https://api.github.com/users/BenDol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BenDol/subscriptions","organizations_url":"https://api.github.com/users/BenDol/orgs","repos_url":"https://api.github.com/users/BenDol/repos","events_url":"https://api.github.com/users/BenDol/events{/privacy}","received_events_url":"https://api.github.com/users/BenDol/received_events","type":"User","site_admin":false},"created_at":"2016-01-25T22:28:49Z","updated_at":"2016-01-25T22:28:49Z","body":"@pedro-tavares Right now I can't give an estimation as to when some code will be available, but it will be targeting GWT 2.8.0 and hopefully there will be something ready once the first 2.8.0 RC is out. We will see how it goes!"}}