Details
Priority
MinorAssignee
UnassignedUnassignedReporter
AlexAlexPatch Instructions
Patches must be submitted through Phabricator.
To submit patch via Command Line use Patches Workflow (via Arcanist) tutorial.
To submit patch via Web Interface use Patches Workflow (via Web Interface) tutorial.
External issue ID
438External issue URL
Story Points
3Affects versions
Details
Details
Priority
Assignee
Unassigned
UnassignedReporter
Alex
AlexPatch Instructions
Patches must be submitted through Phabricator.
To submit patch via Command Line use Patches Workflow (via Arcanist) tutorial.
To submit patch via Web Interface use Patches Workflow (via Web Interface) tutorial.
External issue ID
438
External issue URL
Story Points
3
Affects versions
Created December 7, 2009 at 4:44 AM
Updated March 31, 2016 at 11:17 AM
1. Add "custom_blocks_template" parameter to "grid" block. The value of
this parameter is template path, where all custom cell blocks, that are used
in this grid are defined.
2. Move contents of current "grid" block to new template (will be one
template, used on all grids) and name it "incs/ajax_grid.tpl" for example.
3. Replace current "grid" block content with container <div> element and
include of "incs/ajax_grid.tpl" template (this prevents additional ajax
query on initial grid load).
4. Each grid action will actually get "incs/ajax_grid.tpl" template
contents (via ajax) and pass all "grid" block parameters (from template) to
that template in url (around 7 parameters at most).
This approach requires only one action to be taken to convert all customized
(user-made) grids to work: move all user-defined grid blocks to separate
template and specify it's name in "grid"'s block parameter.
We need to do extra programming to be able to update static template parts
(ones, that doesn't come from ajax), like search query from ajax respoce
(something like that already happens in catalog). Also catalog/advanced view
has quite different implementation, that also need to be converted, but we
can do it later of course, because it doesn't intersect with proposed idea's
implementation.
Also need to move all code, that works with grid from end template (like setting dependent buttons and so on) to new jQuery event, like onAfterGridLoad and do it all there, but this is nothing comparing to the benefits we will get of converting to ajax all grids.