Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PSDI Army
yii2
Commits
dd9facce
Commit
dd9facce
authored
Nov 29, 2013
by
Qiang Xue
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added $key parameter to several methods in grid view.
parent
79866ee3
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
34 additions
and
39 deletions
+34
-39
Widget.php
framework/yii/base/Widget.php
+1
-1
ActionColumn.php
framework/yii/grid/ActionColumn.php
+15
-19
CheckboxColumn.php
framework/yii/grid/CheckboxColumn.php
+3
-6
Column.php
framework/yii/grid/Column.php
+7
-5
DataColumn.php
framework/yii/grid/DataColumn.php
+5
-2
GridView.php
framework/yii/grid/GridView.php
+1
-1
SerialColumn.php
framework/yii/grid/SerialColumn.php
+2
-5
No files found.
framework/yii/base/Widget.php
View file @
dd9facce
...
@@ -121,7 +121,7 @@ class Widget extends Component implements ViewContextInterface
...
@@ -121,7 +121,7 @@ class Widget extends Component implements ViewContextInterface
* The [[render()]] and [[renderFile()]] methods will use
* The [[render()]] and [[renderFile()]] methods will use
* this view object to implement the actual view rendering.
* this view object to implement the actual view rendering.
* If not set, it will default to the "view" application component.
* If not set, it will default to the "view" application component.
* @return View the view object that can be used to render views or view files.
* @return
\yii\web\
View the view object that can be used to render views or view files.
*/
*/
public
function
getView
()
public
function
getView
()
{
{
...
...
framework/yii/grid/ActionColumn.php
View file @
dd9facce
...
@@ -32,27 +32,27 @@ class ActionColumn extends Column
...
@@ -32,27 +32,27 @@ class ActionColumn extends Column
protected
function
initDefaultButtons
()
protected
function
initDefaultButtons
()
{
{
if
(
!
isset
(
$this
->
buttons
[
'view'
]))
{
if
(
!
isset
(
$this
->
buttons
[
'view'
]))
{
$this
->
buttons
[
'view'
]
=
function
(
$model
,
$column
)
{
$this
->
buttons
[
'view'
]
=
function
(
$model
,
$
key
,
$index
,
$
column
)
{
/** @var ActionColumn $column */
/** @var ActionColumn $column */
$url
=
$column
->
createUrl
(
$model
,
'view'
);
$url
=
$column
->
createUrl
(
$model
,
$key
,
$index
,
'view'
);
return
Html
::
a
(
'<span class="glyphicon glyphicon-eye-open"></span>'
,
$url
,
[
return
Html
::
a
(
'<span class="glyphicon glyphicon-eye-open"></span>'
,
$url
,
[
'title'
=>
Yii
::
t
(
'yii'
,
'View'
),
'title'
=>
Yii
::
t
(
'yii'
,
'View'
),
]);
]);
};
};
}
}
if
(
!
isset
(
$this
->
buttons
[
'update'
]))
{
if
(
!
isset
(
$this
->
buttons
[
'update'
]))
{
$this
->
buttons
[
'update'
]
=
function
(
$model
,
$column
)
{
$this
->
buttons
[
'update'
]
=
function
(
$model
,
$
key
,
$index
,
$
column
)
{
/** @var ActionColumn $column */
/** @var ActionColumn $column */
$url
=
$column
->
createUrl
(
$model
,
'update'
);
$url
=
$column
->
createUrl
(
$model
,
$key
,
$index
,
'update'
);
return
Html
::
a
(
'<span class="glyphicon glyphicon-pencil"></span>'
,
$url
,
[
return
Html
::
a
(
'<span class="glyphicon glyphicon-pencil"></span>'
,
$url
,
[
'title'
=>
Yii
::
t
(
'yii'
,
'Update'
),
'title'
=>
Yii
::
t
(
'yii'
,
'Update'
),
]);
]);
};
};
}
}
if
(
!
isset
(
$this
->
buttons
[
'delete'
]))
{
if
(
!
isset
(
$this
->
buttons
[
'delete'
]))
{
$this
->
buttons
[
'delete'
]
=
function
(
$model
,
$column
)
{
$this
->
buttons
[
'delete'
]
=
function
(
$model
,
$
key
,
$index
,
$
column
)
{
/** @var ActionColumn $column */
/** @var ActionColumn $column */
$url
=
$column
->
createUrl
(
$model
,
'delete'
);
$url
=
$column
->
createUrl
(
$model
,
$key
,
$index
,
'delete'
);
return
Html
::
a
(
'<span class="glyphicon glyphicon-trash"></span>'
,
$url
,
[
return
Html
::
a
(
'<span class="glyphicon glyphicon-trash"></span>'
,
$url
,
[
'title'
=>
Yii
::
t
(
'yii'
,
'Delete'
),
'title'
=>
Yii
::
t
(
'yii'
,
'Delete'
),
'data-confirm'
=>
Yii
::
t
(
'yii'
,
'Are you sure to delete this item?'
),
'data-confirm'
=>
Yii
::
t
(
'yii'
,
'Are you sure to delete this item?'
),
...
@@ -64,34 +64,30 @@ class ActionColumn extends Column
...
@@ -64,34 +64,30 @@ class ActionColumn extends Column
/**
/**
* @param \yii\db\ActiveRecord $model
* @param \yii\db\ActiveRecord $model
* @param mixed $key the key associated with the data model
* @param integer $index
* @param string $action
* @param string $action
* @return string
* @return string
*/
*/
public
function
createUrl
(
$model
,
$action
)
public
function
createUrl
(
$model
,
$
key
,
$index
,
$
action
)
{
{
if
(
$this
->
urlCreator
instanceof
Closure
)
{
if
(
$this
->
urlCreator
instanceof
Closure
)
{
return
call_user_func
(
$this
->
urlCreator
,
$model
,
$action
);
return
call_user_func
(
$this
->
urlCreator
,
$model
,
$
key
,
$index
,
$
action
);
}
else
{
}
else
{
$params
=
$model
->
getPrimaryKey
(
true
);
$params
=
is_array
(
$key
)
?
$key
:
[
'id'
=>
$key
];
if
(
count
(
$params
)
===
1
)
{
$params
=
[
'id'
=>
reset
(
$params
)];
}
return
Yii
::
$app
->
controller
->
createUrl
(
$action
,
$params
);
return
Yii
::
$app
->
controller
->
createUrl
(
$action
,
$params
);
}
}
}
}
/**
/**
* Renders the data cell content.
* @inheritdoc
* @param mixed $model the data model
* @param integer $index the zero-based index of the data model among the models array returned by [[dataProvider]].
* @return string the rendering result
*/
*/
protected
function
renderDataCellContent
(
$model
,
$index
)
protected
function
renderDataCellContent
(
$model
,
$
key
,
$
index
)
{
{
return
preg_replace_callback
(
'/\\{(\w+)\\}/'
,
function
(
$matches
)
use
(
$model
)
{
return
preg_replace_callback
(
'/\\{(\w+)\\}/'
,
function
(
$matches
)
use
(
$model
,
$key
,
$index
)
{
$name
=
$matches
[
1
];
$name
=
$matches
[
1
];
if
(
isset
(
$this
->
buttons
[
$name
]))
{
if
(
isset
(
$this
->
buttons
[
$name
]))
{
return
call_user_func
(
$this
->
buttons
[
$name
],
$model
,
$this
);
return
call_user_func
(
$this
->
buttons
[
$name
],
$model
,
$
key
,
$index
,
$
this
);
}
else
{
}
else
{
return
''
;
return
''
;
}
}
...
...
framework/yii/grid/CheckboxColumn.php
View file @
dd9facce
...
@@ -67,15 +67,12 @@ class CheckboxColumn extends Column
...
@@ -67,15 +67,12 @@ class CheckboxColumn extends Column
}
}
/**
/**
* Renders the data cell content.
* @inheritdoc
* @param mixed $model the data model
* @param integer $index the zero-based index of the data model among the models array returned by [[dataProvider]].
* @return string the rendering result
*/
*/
protected
function
renderDataCellContent
(
$model
,
$index
)
protected
function
renderDataCellContent
(
$model
,
$
key
,
$
index
)
{
{
if
(
$this
->
checkboxOptions
instanceof
Closure
)
{
if
(
$this
->
checkboxOptions
instanceof
Closure
)
{
$options
=
call_user_func
(
$this
->
checkboxOptions
,
$model
,
$index
,
$this
);
$options
=
call_user_func
(
$this
->
checkboxOptions
,
$model
,
$
key
,
$
index
,
$this
);
}
else
{
}
else
{
$options
=
$this
->
checkboxOptions
;
$options
=
$this
->
checkboxOptions
;
}
}
...
...
framework/yii/grid/Column.php
View file @
dd9facce
...
@@ -71,17 +71,18 @@ class Column extends Object
...
@@ -71,17 +71,18 @@ class Column extends Object
/**
/**
* Renders a data cell.
* Renders a data cell.
* @param mixed $model the data model being rendered
* @param mixed $model the data model being rendered
* @param mixed $key the key associated with the data model
* @param integer $index the zero-based index of the data item among the item array returned by [[dataProvider]].
* @param integer $index the zero-based index of the data item among the item array returned by [[dataProvider]].
* @return string the rendering result
* @return string the rendering result
*/
*/
public
function
renderDataCell
(
$model
,
$index
)
public
function
renderDataCell
(
$model
,
$
key
,
$
index
)
{
{
if
(
$this
->
contentOptions
instanceof
Closure
)
{
if
(
$this
->
contentOptions
instanceof
Closure
)
{
$options
=
call_user_func
(
$this
->
contentOptions
,
$model
,
$index
,
$this
);
$options
=
call_user_func
(
$this
->
contentOptions
,
$model
,
$
key
,
$
index
,
$this
);
}
else
{
}
else
{
$options
=
$this
->
contentOptions
;
$options
=
$this
->
contentOptions
;
}
}
return
Html
::
tag
(
'td'
,
$this
->
renderDataCellContent
(
$model
,
$index
),
$options
);
return
Html
::
tag
(
'td'
,
$this
->
renderDataCellContent
(
$model
,
$
key
,
$
index
),
$options
);
}
}
/**
/**
...
@@ -117,13 +118,14 @@ class Column extends Object
...
@@ -117,13 +118,14 @@ class Column extends Object
/**
/**
* Renders the data cell content.
* Renders the data cell content.
* @param mixed $model the data model
* @param mixed $model the data model
* @param mixed $key the key associated with the data model
* @param integer $index the zero-based index of the data model among the models array returned by [[dataProvider]].
* @param integer $index the zero-based index of the data model among the models array returned by [[dataProvider]].
* @return string the rendering result
* @return string the rendering result
*/
*/
protected
function
renderDataCellContent
(
$model
,
$index
)
protected
function
renderDataCellContent
(
$model
,
$
key
,
$
index
)
{
{
if
(
$this
->
content
!==
null
)
{
if
(
$this
->
content
!==
null
)
{
return
call_user_func
(
$this
->
content
,
$model
,
$index
,
$this
);
return
call_user_func
(
$this
->
content
,
$model
,
$
key
,
$
index
,
$this
);
}
else
{
}
else
{
return
$this
->
grid
->
emptyCell
;
return
$this
->
grid
->
emptyCell
;
}
}
...
...
framework/yii/grid/DataColumn.php
View file @
dd9facce
...
@@ -133,14 +133,17 @@ class DataColumn extends Column
...
@@ -133,14 +133,17 @@ class DataColumn extends Column
}
}
}
}
protected
function
renderDataCellContent
(
$model
,
$index
)
/**
* @inheritdoc
*/
protected
function
renderDataCellContent
(
$model
,
$key
,
$index
)
{
{
if
(
$this
->
value
!==
null
)
{
if
(
$this
->
value
!==
null
)
{
$value
=
call_user_func
(
$this
->
value
,
$model
,
$index
,
$this
);
$value
=
call_user_func
(
$this
->
value
,
$model
,
$index
,
$this
);
}
elseif
(
$this
->
content
===
null
&&
$this
->
attribute
!==
null
)
{
}
elseif
(
$this
->
content
===
null
&&
$this
->
attribute
!==
null
)
{
$value
=
ArrayHelper
::
getValue
(
$model
,
$this
->
attribute
);
$value
=
ArrayHelper
::
getValue
(
$model
,
$this
->
attribute
);
}
else
{
}
else
{
return
parent
::
renderDataCellContent
(
$model
,
$index
);
return
parent
::
renderDataCellContent
(
$model
,
$
key
,
$
index
);
}
}
return
$this
->
grid
->
formatter
->
format
(
$value
,
$this
->
format
);
return
$this
->
grid
->
formatter
->
format
(
$value
,
$this
->
format
);
}
}
...
...
framework/yii/grid/GridView.php
View file @
dd9facce
...
@@ -366,7 +366,7 @@ class GridView extends BaseListView
...
@@ -366,7 +366,7 @@ class GridView extends BaseListView
$cells
=
[];
$cells
=
[];
/** @var Column $column */
/** @var Column $column */
foreach
(
$this
->
columns
as
$column
)
{
foreach
(
$this
->
columns
as
$column
)
{
$cells
[]
=
$column
->
renderDataCell
(
$model
,
$index
);
$cells
[]
=
$column
->
renderDataCell
(
$model
,
$
key
,
$
index
);
}
}
if
(
$this
->
rowOptions
instanceof
Closure
)
{
if
(
$this
->
rowOptions
instanceof
Closure
)
{
$options
=
call_user_func
(
$this
->
rowOptions
,
$model
,
$key
,
$index
,
$this
);
$options
=
call_user_func
(
$this
->
rowOptions
,
$model
,
$key
,
$index
,
$this
);
...
...
framework/yii/grid/SerialColumn.php
View file @
dd9facce
...
@@ -18,12 +18,9 @@ class SerialColumn extends Column
...
@@ -18,12 +18,9 @@ class SerialColumn extends Column
public
$header
=
'#'
;
public
$header
=
'#'
;
/**
/**
* Renders the data cell content.
* @inheritdoc
* @param mixed $model the data model
* @param integer $index the zero-based index of the data model among the models array returned by [[dataProvider]].
* @return string the rendering result
*/
*/
protected
function
renderDataCellContent
(
$model
,
$index
)
protected
function
renderDataCellContent
(
$model
,
$
key
,
$
index
)
{
{
$pagination
=
$this
->
grid
->
dataProvider
->
getPagination
();
$pagination
=
$this
->
grid
->
dataProvider
->
getPagination
();
if
(
$pagination
!==
false
)
{
if
(
$pagination
!==
false
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment