PHP 클래스 WhGridView

This grid is an extended version of TbGridView. Features are: - Display an extended summary of the records shown. The extended summary can be configured to any of the WhOperation type of widgets. - Automatic chart display (using WhHighCharts widget), where user can 'switch' between views.
저자: Antonio Ramirez ([email protected])
상속: extends TbGridView
파일 보기 프로젝트 열기: 2amigos/yiiwheels 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
$chartOptions array if configured, the extended view will display a highcharts chart.
$componentsAfterAjaxUpdate array has scripts that will be executed after components have updated. It is used internally to render scripts required for components to work correctly. You may use it for your own scripts, just make sure it is of type array.
$componentsReadyScripts array hold scripts that will be executed on document ready. It is used internally to render scripts required for components to work correctly. You may use it for your own scripts, just make sure it is of type array.
$extendedSummary array displays an extended summary version. There are different types of summary types, please, see {@link TbSumOperation}, {@link TbSumOfTypeOperation},{@link TbPercentOfTypeGooglePieOperation} {@link TbPercentOfTypeOperation} and {@link TbPercentOfTypeEasyPieOperation}. The following is an example, please review the different types of TbOperation classes to find out more about its configuration parameters.
 'extendedSummary' => array(
     'title' => '',      // the extended summary title
     'columns' => array( // the 'columns' that will be displayed at the extended summary
         'id' => array(  // column name "id"
             'class' => 'TbSumOperation', // what is the type of TbOperation we are going to display
             'label' => 'Sum of Ids'     // label is name of label of the resulted value (ie Sum of Ids:)
         ),
         'results' => array(   // column name "results"
             'class' => 'TbPercentOfTypeGooglePieOperation', // the type of TbOperation
             'label' => 'How Many Of Each? ', // the label of the operation
             'types' => array(               // TbPercentOfTypeGooglePieOperation "types" attributes
                 '0' => array('label' => 'zeros'),   // a value of "0" will be labelled "zeros"
                 '1' => array('label' => 'ones'),    // a value of "1" will be labelled "ones"
                 '2' => array('label' => 'twos'))    // a value of "2" will be labelled "twos"
         )
     )
),
$extendedSummaryCssClass string is the class name of the layer containing the extended summary
$extendedSummaryOptions array the HTML attributes of the layer containing the extended summary
$fixedHeader boolean if set to true will keep the header fixed position
$headerOffset integer , when $fixedHeader is set to true, headerOffset will position table header top position at $headerOffset. If you are using bootstrap and has navigation top fixed, its height is 40px, so it is recommended to use $headerOffset=40;
$responsiveTable whether to make the grid responsive
$template the template to be used to control the layout of various sections in the view. These tokens are recognized: {extendedSummary}, {summary}, {items} and {pager}. They will be replaced with the extended summary, summary text, the items, and the pager.

보호된 프로퍼티들

프로퍼티 타입 설명
$displayExtendedSummary boolean a helper property that is set to true if we have to render the extended summary
$extendedSummaryOperations array hold the supported operation types
$extendedSummaryTypes WhOperation[] hold the current configured TbOperation that will process column values.

공개 메소드들

메소드 설명
getColumnByName ( string $name ) : CDataColumn | null Helper function to get a column by its name
init ( ) Widget initialization
registerCustomClientScript ( ) Registers required css, js and scripts Note: This script must be run at the end of content rendering not at the beginning as it is common with normal CGridViews
renderContent ( ) Renders grid content
renderExtendedSummary ( ) Renders summary
renderExtendedSummaryContent ( ) Renders summary content. Will be appended to
renderTableFooter ( ) Renders the table footer.
renderTableHeader ( ) Renders grid header
renderTableRow ( integer $row ) Renders a table body row.

보호된 메소드들

메소드 설명
getAttribute ( CActiveRecord $data, string $attribute ) : mixed Helper function to get an attribute from the data
getPrimaryKey ( CActiveRecord $data ) : null | string Helper function to return the primary key of the $data IMPORTANT: composite keys on CActiveDataProviders will return the keys joined by comma
getSummaryOperationInstance ( string $name, array $config ) : mixed Each type of 'extended' summary
initColumns ( ) Creates column objects and initializes them.
parseColumnValue ( CDataColumn $column, integer $row ) : string Parses the value of a column by an operation

메소드 상세

getAttribute() 보호된 메소드

Helper function to get an attribute from the data
protected getAttribute ( CActiveRecord $data, string $attribute ) : mixed
$data CActiveRecord
$attribute string the attribute to get
리턴 mixed the attribute value null if none found

getColumnByName() 공개 메소드

Helper function to get a column by its name
public getColumnByName ( string $name ) : CDataColumn | null
$name string
리턴 CDataColumn | null

getPrimaryKey() 보호된 메소드

Helper function to return the primary key of the $data IMPORTANT: composite keys on CActiveDataProviders will return the keys joined by comma
protected getPrimaryKey ( CActiveRecord $data ) : null | string
$data CActiveRecord
리턴 null | string

getSummaryOperationInstance() 보호된 메소드

Each type of 'extended' summary
protected getSummaryOperationInstance ( string $name, array $config ) : mixed
$name string the name of the column
$config array the configuration of the column at the extendedSummary
리턴 mixed

init() 공개 메소드

Widget initialization
public init ( )

initColumns() 보호된 메소드

Creates column objects and initializes them.
protected initColumns ( )

parseColumnValue() 보호된 메소드

Parses the value of a column by an operation
protected parseColumnValue ( CDataColumn $column, integer $row ) : string
$column CDataColumn
$row integer the current row number
리턴 string

registerCustomClientScript() 공개 메소드

Registers required css, js and scripts Note: This script must be run at the end of content rendering not at the beginning as it is common with normal CGridViews

renderContent() 공개 메소드

Renders grid content
public renderContent ( )

renderExtendedSummary() 공개 메소드

Renders summary

renderExtendedSummaryContent() 공개 메소드

Renders summary content. Will be appended to

renderTableFooter() 공개 메소드

Renders the table footer.
public renderTableFooter ( )

renderTableHeader() 공개 메소드

Renders grid header
public renderTableHeader ( )

renderTableRow() 공개 메소드

Renders a table body row.
public renderTableRow ( integer $row )
$row integer the row number (zero-based).

프로퍼티 상세

$chartOptions 공개적으로 프로퍼티

if configured, the extended view will display a highcharts chart.
public array $chartOptions
리턴 array

$componentsAfterAjaxUpdate 공개적으로 프로퍼티

has scripts that will be executed after components have updated. It is used internally to render scripts required for components to work correctly. You may use it for your own scripts, just make sure it is of type array.
public array $componentsAfterAjaxUpdate
리턴 array

$componentsReadyScripts 공개적으로 프로퍼티

hold scripts that will be executed on document ready. It is used internally to render scripts required for components to work correctly. You may use it for your own scripts, just make sure it is of type array.
public array $componentsReadyScripts
리턴 array

$displayExtendedSummary 보호되어 있는 프로퍼티

a helper property that is set to true if we have to render the extended summary
protected bool $displayExtendedSummary
리턴 boolean

$extendedSummary 공개적으로 프로퍼티

displays an extended summary version. There are different types of summary types, please, see {@link TbSumOperation}, {@link TbSumOfTypeOperation},{@link TbPercentOfTypeGooglePieOperation} {@link TbPercentOfTypeOperation} and {@link TbPercentOfTypeEasyPieOperation}. The following is an example, please review the different types of TbOperation classes to find out more about its configuration parameters.
 'extendedSummary' => array(
     'title' => '',      // the extended summary title
     'columns' => array( // the 'columns' that will be displayed at the extended summary
         'id' => array(  // column name "id"
             'class' => 'TbSumOperation', // what is the type of TbOperation we are going to display
             'label' => 'Sum of Ids'     // label is name of label of the resulted value (ie Sum of Ids:)
         ),
         'results' => array(   // column name "results"
             'class' => 'TbPercentOfTypeGooglePieOperation', // the type of TbOperation
             'label' => 'How Many Of Each? ', // the label of the operation
             'types' => array(               // TbPercentOfTypeGooglePieOperation "types" attributes
                 '0' => array('label' => 'zeros'),   // a value of "0" will be labelled "zeros"
                 '1' => array('label' => 'ones'),    // a value of "1" will be labelled "ones"
                 '2' => array('label' => 'twos'))    // a value of "2" will be labelled "twos"
         )
     )
),
public array $extendedSummary
리턴 array

$extendedSummaryCssClass 공개적으로 프로퍼티

is the class name of the layer containing the extended summary
public string $extendedSummaryCssClass
리턴 string

$extendedSummaryOperations 보호되어 있는 프로퍼티

hold the supported operation types
protected array $extendedSummaryOperations
리턴 array

$extendedSummaryOptions 공개적으로 프로퍼티

the HTML attributes of the layer containing the extended summary
public array $extendedSummaryOptions
리턴 array

$extendedSummaryTypes 보호되어 있는 프로퍼티

hold the current configured TbOperation that will process column values.
protected WhOperation[] $extendedSummaryTypes
리턴 WhOperation[]

$fixedHeader 공개적으로 프로퍼티

if set to true will keep the header fixed position
public bool $fixedHeader
리턴 boolean

$headerOffset 공개적으로 프로퍼티

, when $fixedHeader is set to true, headerOffset will position table header top position at $headerOffset. If you are using bootstrap and has navigation top fixed, its height is 40px, so it is recommended to use $headerOffset=40;
public int $headerOffset
리턴 integer

$responsiveTable 공개적으로 프로퍼티

whether to make the grid responsive
public $responsiveTable

$template 공개적으로 프로퍼티

the template to be used to control the layout of various sections in the view. These tokens are recognized: {extendedSummary}, {summary}, {items} and {pager}. They will be replaced with the extended summary, summary text, the items, and the pager.
public $template