Opened 9 years ago

Closed 8 years ago

Last modified 8 years ago

#11903 closed enhancement (fixed)

[patch][ccla]New Grid Prototype

Reported by: evan Owned by: Bryan Forbes
Priority: high Milestone: 1.7
Component: DojoX Grid Version: 1.6.0
Keywords: new grid, 1.8-mobile Cc: drschwar@…, xwzhu@…, hwcdl@…, wangqsh@…, wpei@…, feijia@…, ccmitchellusa@…
Blocked By: Blocking:

Description (last modified by Adam Peller)

Use this ticket to track iterative experiments on new Grid prototypes. We shall discuss and pick up most appropriate solutions among following in-progress experiments(or others):

  1. Mobile Table prototype
  2. Virtual List
  3. DataGrid Plugin Proposal
  4. Evan's in progress work

Will keep discussion and record any new decisions to the Grid 2.0 doc

Attachments (5)

new-grid.patch (124.0 KB) - added by Adam Peller 9 years ago.
In progress work from Evan
sorter_sprite.png (21.9 KB) - added by Adam Peller 9 years ago.
please put under dojox\grid\tests\gridx\resources\themes\claro\images\
new-grid-virtualscroll-demo.patch (10.8 KB) - added by evan 8 years ago.
A new experiment on virtual scrolling - from Nate(IBM, CCLA) - 1. Scrollbar is separated from the main scroll div; 2. Viewport is filled up, rows are kept being removed/appended when scrolled out/into viewport
new grid_v.0.1.patch (73.8 KB) - added by evan 8 years ago.
New grid v.0.1 - experimenting new virtual scrolling & grid model
new grid_v.0.2.patch (206.8 KB) - added by evan 8 years ago.
v 0.2 patch from folks working on new grid(Nate, Oliver, Elvis - IBM, CCLA)

Download all attachments as: .zip

Change History (32)

comment:1 Changed 9 years ago by Seldarly

It wold be great to have an ability to group rows dynamicly by any column and have any depth.

Changed 9 years ago by Adam Peller

Attachment: new-grid.patch added

In progress work from Evan

Changed 9 years ago by Adam Peller

Attachment: sorter_sprite.png added

please put under dojox\grid\tests\gridx\resources\themes\claro\images\

comment:2 Changed 9 years ago by Adam Peller

Description: modified (diff)

comment:3 Changed 9 years ago by Adam Peller

notes from Evan:

A in-progress prototype(works except for IE) with most ideas experimented in DataGrid Plugin Proposal:

  1. UI rendering optimization by minimizing rendering times
  2. New virtual scrolling model with "padding position" way - gridx.core._Scroller/gridx.core.ui._PageManager
  3. Centralized Event dispatching model - gridx.core._EventManager
  4. UI logic division(Column, Row, Page, View) - experiment see if we can make layout(either simple or complex) transparent to other components?
  5. DataStore? Wrapper - gridx.core._StoreModel/_Cache (this shall be ported to dojo.store() API)
  6. Plugin support - gridx.core._PluginManager

TODO:

  1. Fix IE rendering issue;
  2. Fix sorting marker alignment issue
  3. Optimize performance for single view

Once the patch is applied, please try the following test cases(1000 rows for virtual scrolling)

  • dojox/grid/tests/gridx/demo/test_grid.html
  • dojox/grid/tests/gridx/demo/test_grid_events.html

comment:4 Changed 9 years ago by bill

Owner: changed from bryanforbes to Bryan Forbes

Changed 8 years ago by evan

A new experiment on virtual scrolling - from Nate(IBM, CCLA) - 1. Scrollbar is separated from the main scroll div; 2. Viewport is filled up, rows are kept being removed/appended when scrolled out/into viewport

comment:5 Changed 8 years ago by evan

Keywords: 1.7-mobile added
Priority: normalhigh
Version: 1.51.6.0

Adding a '1.7-mobile' just for for 1.7 query

comment:6 Changed 8 years ago by Chris Mitchell

Milestone: future1.7

Changed 8 years ago by evan

Attachment: new grid_v.0.1.patch added

New grid v.0.1 - experimenting new virtual scrolling & grid model

comment:7 Changed 8 years ago by Chris Mitchell

Summary: New Grid Prototype[patch][ccla]New Grid Prototype

comment:8 Changed 8 years ago by Chris Mitchell

Cc: ccmitchellusa@… added

Changed 8 years ago by evan

Attachment: new grid_v.0.2.patch added

v 0.2 patch from folks working on new grid(Nate, Oliver, Elvis - IBM, CCLA)

comment:9 Changed 8 years ago by evan

"new grid_v.0.2.patch" experimented the idea of module - that is doing decomposition as possible so that we may finally have a set of modules (either in core or plugins), and in this way it's possible to provide several Grid profiles e.g. one profile for MiniGrid?(as a base for MobileGrid??), and another one for AdvancedGrid? etc.

  1. MiniGrid Sample - with only minimal modules loaded, the list of minimal modules
  1. AdvancedGrid sample with more features

comment:10 Changed 8 years ago by gbroad

Is there any design doc for reference about the vitual scroll mechanism? Thanks!

comment:11 in reply to:  10 Changed 8 years ago by evan

Replying to gbroad:

Is there any design doc for reference about the vitual scroll mechanism? Thanks!

Yes, here it is virtual scrolling doc

comment:12 Changed 8 years ago by Chris Mitchell

Milestone: 1.71.8

comment:13 Changed 8 years ago by Chris Mitchell

Keywords: 1.8-mobile added; 1.7-mobile removed

comment:14 Changed 8 years ago by David Schwartz

This code will be experimental in 1.7. Just to be clear, though, our intent is to deliver a stable solution in v.1.8, not a prototype, that can/should be used instead of the other grid widgets.

comment:15 Changed 8 years ago by evan

Resolution: fixed
Status: newclosed

(In [25346]) Fixes #11903 !strict add Gridx as demo for 1.7, including AMD build profiles, updated util/profiles/demos-all.profile.js

comment:16 Changed 8 years ago by evan

Milestone: 1.81.7

comment:17 Changed 8 years ago by evan

(In [25403]) Refs #11903 should use utf8 for demo page, add 1 line description to template

comment:18 Changed 8 years ago by evan

(In [25436]) Refs #11903 !strict claro theme fixes

comment:19 Changed 8 years ago by evan

(In [25460]) Refs #11903 add missed thumbnail and README

comment:20 Changed 8 years ago by evan

(In [25462]) Refs #11903 README updates

comment:21 Changed 8 years ago by Chris Mitchell

(In [25488]) refs #11903 add new mobile grid demo

comment:22 Changed 8 years ago by bill

(In [25623]) Fix list of translations to match which translations actually exist. (Currently there are no translations.) If the list is incorrect the gridx demo won't load on non english-locale machines. Refs #11903 !strict.

comment:23 Changed 8 years ago by evan

(In [25644]) Refs #11903 adding the missed profile content for MobileGrid? demo, also updated util/buildscripts/profiles/demos-all.profile.js

comment:24 Changed 8 years ago by evan

(In [25646]) Refs #11903 use syntax of require([], func()) instead of the dprecated dojo.require(...)

comment:25 Changed 8 years ago by evan

(In [25649]) Refs #13161 !strict changing to baseless for GridX demo, also refs #11903

comment:26 Changed 8 years ago by evan

(In [25656]) Refs #11903 per Kamiyama's suggestion - better to use scrollable(dojo, dojox) rather than _ScrollableMixin()

comment:27 Changed 8 years ago by Evan

In [26671]:

Refs #11903 scroll bar not displayed in FF, and remove 1 line obsolete css ref

Note: See TracTickets for help on using tickets.