Attached Files |
grid_block_override(totals_and_header)_fix.patch [^] (6,164 bytes) 2010-06-25 13:21
[Show Content]
Index: grid_blocks.tpl
===================================================================
--- grid_blocks.tpl (revision 13681)
+++ grid_blocks.tpl (working copy)
@@ -190,11 +190,10 @@
<inp2:m_DefineElement name="grid_total_td">
<inp2:m_if check="FieldOption" field="$field" option="totals">
<inp2:FieldOption field="$field" option="totals" result_to_var="totals"/>
- '<inp2:FieldTotal field="$field" function="$totals"/>'
+ <inp2:FieldTotal field="$field" function="$totals"/>
<inp2:m_else/>
- ' '
+
</inp2:m_if>
- <inp2:m_ifnot check="m_Param" name="is_last">, </inp2:m_ifnot>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_priority_td" format="" no_special="" nl2br="" first_chars="" td_style="" currency="">
@@ -529,7 +528,7 @@
</table>
</inp2:m_DefineElement>
-<inp2:m_DefineElement name="grid_column_title_html">
+<inp2:m_DefineElement name="grid_column_title" use_phrases="1">
<table style="width: auto" class="layout-only-table"><tr>
<td style="vertical-align: middle; padding: 0px">
<a
@@ -573,12 +572,12 @@
<input type="checkbox" onclick="Grids['<inp2:m_param name="PrefixSpecial"/>'].InvertSelection(); this.checked=false;" ondblclick="Grids['<inp2:m_param name="PrefixSpecial"/>'].ClearSelection(); this.checked=false;" />
</inp2:m_DefineElement>
-<inp2:m_DefineElement name="grid_column_title" use_phrases="1">
- '<inp2:m_RenderElement name="grid_column_title_html" pass_params="1" js_escape="1"/>'<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
+<inp2:m_DefineElement name="grid_column_title_no_sorting" use_phrases="1">
+ <inp2:m_if check="m_ParamEquals" name="use_phrases" value="1"><inp2:m_phrase name="$title"/><inp2:m_else/><inp2:m_param name="title"/></inp2:m_if>
</inp2:m_DefineElement>
-<inp2:m_DefineElement name="grid_column_title_no_sorting" use_phrases="1">
- '<inp2:m_if check="m_ParamEquals" name="use_phrases" value="1"><inp2:m_phrase name="$title" js_escape="1"/><inp2:m_else/><inp2:m_param name="title" js_escape="1"/></inp2:m_if>'<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
+<inp2:m_DefineElement name="grid_js_header_block" format="" no_special="1" nl2br="" first_chars="" td_style="">
+ '<inp2:m_RenderElement name="$header_block" pass_params="1" js_escape="1"/>'<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_js_data_td" format="" no_special="1" nl2br="" first_chars="" td_style="">
@@ -593,6 +592,10 @@
'<inp2:m_RenderElement name="$filter_block" pass_params="1" js_escape="1"/>'<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
</inp2:m_DefineElement>
+<inp2:m_DefineElement name="grid_js_total_td" format="" no_special="1" nl2br="" first_chars="" td_style="">
+ '<inp2:m_RenderElement name="$total_block" pass_params="1" js_escape="1"/>'<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
+</inp2:m_DefineElement>
+
<inp2:m_DefineElement name="grid_js_width_td" format="" width="" no_special="1" nl2br="" first_chars="" td_style="">
<inp2:m_Param name="width" js_escape="1"/><inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
</inp2:m_DefineElement>
@@ -602,7 +605,7 @@
header_block="grid_column_title"
filter_block="grid_column_filter"
data_block="grid_data_td"
- totals_block="grid_total_td"
+ total_block="grid_total_td"
row_block="_row"
ajax="0"
totals="0"
@@ -672,7 +675,7 @@
<inp2:m_DefineElement name="grid_total_row">
GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].SetFooter(
[
- [' ', <inp2:IterateGridFields grid="$grid" mode="total" force_block="$totals_block" ajax="$ajax"/>]
+ [' ', <inp2:IterateGridFields grid="$grid" mode="total" force_block="grid_js_total_td" ajax="$ajax"/>]
]
);
</inp2:m_DefineElement>
@@ -682,7 +685,7 @@
header_block="grid_column_title"
filter_block="grid_column_filter"
data_block="grid_data_td"
- totals_block="grid_total_td"
+ total_block="grid_total_td"
row_block="_row"
ajax="0"
totals="0"
@@ -707,7 +710,7 @@
GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].MaxRowHeight = <inp2:m_param name="max_row_height"/>;
GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].SetHeader(
[
- [' <inp2:m_RenderElement name="default_sorting_element" prefix="$PrefixSpecial" ajax="$ajax" js_escape="1" strip_nl="2"/>', <inp2:IterateGridFields grid="$grid" mode="header" block="$header_block" ajax="$ajax"/>],
+ [' <inp2:m_RenderElement name="default_sorting_element" prefix="$PrefixSpecial" ajax="$ajax" js_escape="1" strip_nl="2"/>', <inp2:IterateGridFields grid="$grid" mode="header" force_block="grid_js_header_block" ajax="$ajax"/>],
['<inp2:m_if check="m_Param" name="selector" equals_to="checkbox"><inp2:m_RenderElement name="grid_select_all_checkbox_html" pass_params="1" js_escape="1"/><inp2:m_else/> </inp2:m_if>',
<inp2:m_if check="m_Param" name="grid_filters">
<inp2:IterateGridFields grid="$grid" mode="filter" force_block="grid_js_filter_block" ajax="$ajax"/>
@@ -786,7 +789,7 @@
$ViewMenus = new Array('<inp2:m_param name="PrefixSpecial"/>');
</inp2:m_DefineElement>
-<inp2:m_DefineElement name="old_grid" main_prefix="" per_page="" main_special="" grid_filters="" search="on" header_block="grid_column_title" filter_block="grid_column_filter" data_block="grid_data_td" totals_block="grid_total_td" row_block="_row" ajax="0" totals="0" selector="checkbox">
+<inp2:m_DefineElement name="old_grid" main_prefix="" per_page="" main_special="" grid_filters="" search="on" header_block="grid_column_title" filter_block="grid_column_filter" data_block="grid_data_td" total_block="grid_total_td" row_block="_row" ajax="0" totals="0" selector="checkbox">
<!--##
DEPRICATED. LEFT FOR EDUCATION PURPOSES.
@@ -844,7 +847,7 @@
<inp2:m_if check="m_ParamEquals" name="totals" value="1">
<tr class="totals-row"/>
- <inp2:IterateGridFields grid="$grid" mode="data" block="$totals_block"/>
+ <inp2:IterateGridFields grid="$grid" mode="data" block="$total_block"/>
</tr>
</inp2:m_if>
</table>
grid_block_override(totals_and_header)_fix_v2.patch [^] (11,014 bytes) 2010-08-02 15:59
[Show Content]
Index: admin_templates/incs/grid_blocks.tpl
===================================================================
--- admin_templates/incs/grid_blocks.tpl (revision 13861)
+++ admin_templates/incs/grid_blocks.tpl (working copy)
@@ -190,11 +190,10 @@
<inp2:m_DefineElement name="grid_total_td">
<inp2:m_if check="FieldOption" field="$field" option="totals">
<inp2:FieldOption field="$field" option="totals" result_to_var="totals"/>
- '<inp2:FieldTotal field="$field" function="$totals"/>'
+ <inp2:FieldTotal field="$field" function="$totals"/>
<inp2:m_else/>
- ' '
+
</inp2:m_if>
- <inp2:m_ifnot check="m_Param" name="is_last">, </inp2:m_ifnot>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_priority_td" format="" no_special="" nl2br="" first_chars="" td_style="" currency="">
@@ -202,8 +201,8 @@
<inp2:m_ifnot check="Field" field="Priority" equals_to="0" db="db"><span class="priority"><sup><inp2:Field field="Priority"/></sup></span></inp2:m_ifnot>
</inp2:m_DefineElement>
-<inp2:m_DefineElement name="grid_edit_td" format="" >
- <input type="text" id="<inp2:{$PrefixSpecial}_InputName field="$field"/>" name="<inp2:{$PrefixSpecial}_InputName field="$field"/>" value="<inp2:{$PrefixSpecial}_field field="$field" grid="$grid" format="$format"/>">
+<inp2:m_DefineElement name="grid_edit_td" format="" style="">
+ <input type="text" id="<inp2:{$PrefixSpecial}_InputName field="$field"/>" name="<inp2:{$PrefixSpecial}_InputName field="$field"/>" value="<inp2:{$PrefixSpecial}_field field="$field" grid="$grid" format="$format"/>" style="<inp2:m_Param name='style'/>"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_picker_td" nl2br="0" no_special="1" separator=" ">
@@ -529,7 +528,7 @@
</table>
</inp2:m_DefineElement>
-<inp2:m_DefineElement name="grid_column_title_html">
+<inp2:m_DefineElement name="grid_column_title" use_phrases="1">
<table style="width: auto" class="layout-only-table"><tr>
<td style="vertical-align: middle; padding: 0px">
<a
@@ -573,16 +572,12 @@
<input type="checkbox" onclick="Grids['<inp2:m_param name="PrefixSpecial"/>'].InvertSelection(); this.checked=false;" ondblclick="Grids['<inp2:m_param name="PrefixSpecial"/>'].ClearSelection(); this.checked=false;" />
</inp2:m_DefineElement>
-<inp2:m_DefineElement name="grid_column_title" use_phrases="1">
- '<inp2:m_RenderElement name="grid_column_title_html" pass_params="1" js_escape="1"/>'<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
-</inp2:m_DefineElement>
-
<inp2:m_DefineElement name="grid_column_title_no_sorting" use_phrases="1">
- '<inp2:m_if check="m_ParamEquals" name="use_phrases" value="1"><inp2:m_phrase name="$title" js_escape="1"/><inp2:m_else/><inp2:m_param name="title" js_escape="1"/></inp2:m_if>'<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
+ <inp2:m_if check="m_ParamEquals" name="use_phrases" value="1"><inp2:m_phrase name="$title"/><inp2:m_else/><inp2:m_param name="title"/></inp2:m_if>
</inp2:m_DefineElement>
-<inp2:m_DefineElement name="grid_js_data_td" format="" no_special="1" nl2br="" first_chars="" td_style="">
- '<inp2:m_RenderElement name="$data_block" pass_params="1" js_escape="1"/>'<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
+<inp2:m_DefineElement name="grid_js_block" format="" no_special="1" nl2br="" first_chars="" td_style="">
+ '<inp2:m_RenderElement name="$block_name" pass_params="1" js_escape="1"/>'<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_js_empty_filter_block" use_phrases="0">
@@ -602,7 +597,7 @@
header_block="grid_column_title"
filter_block="grid_column_filter"
data_block="grid_data_td"
- totals_block="grid_total_td"
+ total_block="grid_total_td"
row_block="_row"
ajax="0"
totals="0"
@@ -671,7 +666,7 @@
<inp2:m_DefineElement name="grid_total_row">
GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].SetFooter(
[
- [' ', <inp2:IterateGridFields grid="$grid" mode="total" force_block="$totals_block" ajax="$ajax"/>]
+ [' ', <inp2:IterateGridFields grid="$grid" mode="total" force_block="grid_js_block" ajax="$ajax" pass_params="1"/>]
]
);
</inp2:m_DefineElement>
@@ -681,7 +676,7 @@
header_block="grid_column_title"
filter_block="grid_column_filter"
data_block="grid_data_td"
- totals_block="grid_total_td"
+ total_block="grid_total_td"
row_block="_row"
ajax="0"
totals="0"
@@ -706,12 +701,12 @@
GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].MaxRowHeight = <inp2:m_param name="max_row_height"/>;
GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].SetHeader(
[
- [' <inp2:m_RenderElement name="default_sorting_element" prefix="$PrefixSpecial" ajax="$ajax" js_escape="1" strip_nl="2"/>', <inp2:IterateGridFields grid="$grid" mode="header" block="$header_block" ajax="$ajax"/>],
+ [' <inp2:m_RenderElement name="default_sorting_element" prefix="$PrefixSpecial" ajax="$ajax" js_escape="1" strip_nl="2"/>', <inp2:IterateGridFields grid="$grid" mode="header" force_block="grid_js_block" ajax="$ajax" pass_params="1"/>],
['<inp2:m_if check="m_Param" name="selector" equals_to="checkbox"><inp2:m_RenderElement name="grid_select_all_checkbox_html" pass_params="1" js_escape="1"/><inp2:m_else/> </inp2:m_if>',
<inp2:m_if check="m_Param" name="grid_filters">
- <inp2:IterateGridFields grid="$grid" mode="filter" force_block="grid_js_filter_block" ajax="$ajax"/>
+ <inp2:IterateGridFields grid="$grid" mode="filter" force_block="grid_js_filter_block" ajax="$ajax" pass_params="1"/>
<inp2:m_else/>
- <inp2:IterateGridFields grid="$grid" mode="filter" force_block="grid_js_empty_filter_block" ajax="$ajax"/>
+ <inp2:IterateGridFields grid="$grid" mode="filter" force_block="grid_js_empty_filter_block" ajax="$ajax" pass_params="1"/>
</inp2:m_if>
]
]
@@ -721,7 +716,7 @@
[
<inp2:m_DefineElement name="js_row" td_style="" row_class_render_as="" selector_render_as="grid_selector_html" row_class="">
{ 'row_class': '<inp2:m_if check="m_Param" name="row_class_render_as"><inp2:m_RenderElement name="$row_class_render_as" PrefixSpecial="$PrefixSpecial" trim="1"/><inp2:m_else/><inp2:m_Param name="row_class"/></inp2:m_if>',
- 'data': ['<inp2:m_RenderElement name="$selector_render_as" pass_params="1" js_escape="1"/>',<inp2:IterateGridFields grid="$grid" mode="data" force_block="grid_js_data_td"/>]
+ 'data': ['<inp2:m_RenderElement name="$selector_render_as" pass_params="1" js_escape="1"/>',<inp2:IterateGridFields grid="$grid" mode="data" force_block="grid_js_block" pass_params="1"/>]
}<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_set {$PrefixSpecial}_sequence="1" odd_even="table-color1"/>
@@ -785,7 +780,7 @@
$ViewMenus = new Array('<inp2:m_param name="PrefixSpecial"/>');
</inp2:m_DefineElement>
-<inp2:m_DefineElement name="old_grid" main_prefix="" per_page="" main_special="" grid_filters="" search="on" header_block="grid_column_title" filter_block="grid_column_filter" data_block="grid_data_td" totals_block="grid_total_td" row_block="_row" ajax="0" totals="0" selector="checkbox">
+<inp2:m_DefineElement name="old_grid" main_prefix="" per_page="" main_special="" grid_filters="" search="on" header_block="grid_column_title" filter_block="grid_column_filter" data_block="grid_data_td" total_block="grid_total_td" row_block="_row" ajax="0" totals="0" selector="checkbox">
<!--##
DEPRICATED. LEFT FOR EDUCATION PURPOSES.
@@ -815,17 +810,17 @@
<inp2:m_if check="m_ParamEquals" name="grid_filters" value="1">
<tr class="pagination_bar">
- <inp2:{$PrefixSpecial}_IterateGridFields grid="$grid" mode="filter" block="$filter_block" ajax="$ajax"/>
+ <inp2:{$PrefixSpecial}_IterateGridFields grid="$grid" mode="filter" block="$filter_block" ajax="$ajax" pass_params="1"/>
</tr>
</inp2:m_if>
<tr class="grid-header-row grid-header-row-1">
- <inp2:{$PrefixSpecial}_IterateGridFields grid="$grid" mode="header" block="$header_block" ajax="$ajax"/>
+ <inp2:{$PrefixSpecial}_IterateGridFields grid="$grid" mode="header" block="$header_block" ajax="$ajax" pass_params="1"/>
</tr>
<inp2:m_DefineElement name="_row" td_style="">
<tr class="<inp2:m_odd_even odd="grid-data-row grid-data-row-even" even="grid-data-row"/>" id="<inp2:m_param name="PrefixSpecial"/>_<inp2:Field field="$IdField"/>" sequence="<inp2:m_get param="{$PrefixSpecial}_sequence"/>"><inp2:m_inc param="{$PrefixSpecial}_sequence" by="1"/>
- <inp2:IterateGridFields grid="$grid" mode="data" block="$data_block"/>
+ <inp2:IterateGridFields grid="$grid" mode="data" block="$data_block" pass_params="1"/>
</tr>
</inp2:m_DefineElement>
<inp2:m_set {$PrefixSpecial}_sequence="1" odd_even="table-color1"/>
@@ -843,7 +838,7 @@
<inp2:m_if check="m_ParamEquals" name="totals" value="1">
<tr class="totals-row"/>
- <inp2:IterateGridFields grid="$grid" mode="data" block="$totals_block"/>
+ <inp2:IterateGridFields grid="$grid" mode="data" block="$total_block" pass_params="1"/>
</tr>
</inp2:m_if>
</table>
Index: kernel/db/db_tag_processor.php
===================================================================
--- kernel/db/db_tag_processor.php (revision 13756)
+++ kernel/db/db_tag_processor.php (working copy)
@@ -233,23 +233,25 @@
$picker_helper =& $this->Application->RecallObject('ColumnPickerHelper');
/* @var $picker_helper kColumnPickerHelper */
+
$picker_helper->ApplyPicker($this->getPrefixSpecial(), $grid_config, $params['grid']);
if ($mode == 'fields') {
return "'".join("','", array_keys($grid_config))."'";
}
- $std_params['pass_params'] = 'true';
- $std_params['PrefixSpecial'] = $this->getPrefixSpecial();
-
$object =& $this->GetList($params);
$o = '';
$i = 0;
+
foreach ($grid_config as $field => $options) {
$i++;
- $block_params = Array();
- $block_params['name'] = $force_block ? $force_block : (isset($options[$mode.'_block']) ? $options[$mode.'_block'] : $def_block);
+ $block_params = $this->prepareTagParams($params);
+ $block_params = array_merge($block_params, $options);
+
+ $block_params['block_name'] = array_key_exists($mode . '_block', $block_params) ? $block_params[$mode . '_block'] : $def_block;
+ $block_params['name'] = $force_block ? $force_block : $block_params['block_name'];
$block_params['field'] = $field;
$block_params['sort_field'] = isset($options['sort_field']) ? $options['sort_field'] : $field;
$block_params['filter_field'] = isset($options['filter_field']) ? $options['filter_field'] : $field;
@@ -292,7 +294,7 @@
}
$block_params['is_last'] = ($i == count($grid_config));
- $block_params = array_merge($std_params, $options, $block_params);
+
$o.= $this->Application->ParseBlock($block_params, 1);
}
return $o;
|