Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bscheshirwork/hyphenation-grid
https://github.com/bscheshirwork/hyphenation-grid
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/bscheshirwork/hyphenation-grid
- Owner: bscheshirwork
- Created: 2014-12-26T09:35:32.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2015-02-25T09:02:53.000Z (almost 10 years ago)
- Last Synced: 2023-08-05T04:03:16.640Z (over 1 year ago)
- Language: PHP
- Size: 180 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
hyphenation-grid
========================Данные одной сущности размещаем в несколько строк для zii.widgets.grid.CGridView
Использование:
Импортируем компонент:
```php
```
В свойствах добавлены следующие настройки:'hyphenationColumns' = array();
массив номеров колонок, по которым осуществлять перенос на новую строку
или'hyphenationOnCount' = null;
через каждые N колонок делать перенос'hyphenationRowHtmlOptionsExpression'
аналог rowHtmlOptionsExpression, применяется к tr перенесённой строки. Если передан hyphenationOnCount - берётся для каждого переноса. Иначе требуется передать массив, где ключами будут номера колонок, по которым идёт перенос,
а значениями - применяемые для этого переноса опции.
```php
'hyphenationRowHtmlOptionsExpression'=>[
2=>'["id"=>"second_{$row}"]', //обратите внимание на вид кавычек - строка будет передана в evaluateExpression
],
```'hyphenationRowCssClassExpression'
аналог rowCssClassExpression, применяется к tr перенесённой строки. Если передан hyphenationOnCount - берётся для каждого переноса. Иначе требуется передать массив, где ключами будут номера колонок, по которым идёт перенос,
а значениями - применяемые для этого переноса опции.
```php
'hyphenationRowCssClassExpression'=>[
2=>'($row % 2)?"hidden":""', //обратите внимание на вид кавычек - строка будет передана в evaluateExpression
],
```'hyphenationDisableRowCssClass'
Если данный флаг передан - для новой строки не будет применятся стиль из перечесления rowCssClass.
Работает в паре с 'hyphenationRewriteClass'
По умолчанию true'hyphenationRewriteClass'
При переносе строки перезаписывать класс, сформированный для начала строки. Новые значения, вычисленные в
hyphenationRowHtmlOptionsExpression и hyphenationRowCssClassExpression заменят $htmlOptions['class'] начала строки.
Используйте с 'hyphenationDisableRowCssClass'=>false, если всё ещё хотите применить тот же стиль из перечисления rowCssClass, что и в начале строки.
По умолчанию falseИспользуем colspan для объеденения колонок.
В остальном - используем как обычно.Пример
```php
...
$controller = $this;
...
widget('HypGridView', [
'id'=>'currencyrate-grid-1',
'dataProvider'=>$dataProvider,
'hyphenationColumns'=>[2,3],
//'hyphenationOnCount'=>2,
'hyphenationRowHtmlOptionsExpression'=>[
2=>'["id"=>"second_{$row}"]'
],
'hyphenationRowCssClassExpression'=>[
2=>['display'=>'none']
],
'hyphenationDisableRowCssClass'=>true,
'hyphenationRewriteClass'=>false,
'columns'=>[
'ccy',
'ccy_name_ru',
[
'name'=>'buy',
'type' => 'raw',
'value'=>'$data->buy/10000',
'headerHtmlOptions'=>['colspan'=>'2'],
'htmlOptions'=>['colspan'=>'2'],
],
[
'name'=>'sortOrder',
'evaluateHtmlOptions'=>true,
'htmlOptions'=>['id'=>'"ordering_{$data->id}"'],
],
'unit',
'date',
[
'name'=>'somename',
'header'=>'someheader',
'value' => function($data, $row) use ($controller) {
return $controller->renderPartial('trait/__someone', array('data' => $data), true);
},
],
],
]); ?>
```