philippfrenzel / yii2-dynatable
Yii2 dynatable Widgets
Installs: 3 478
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 3
Forks: 2
Open Issues: 0
Type:yii2-extension
Requires
- php: >=5.4.0
- bower-asset/dynatable: ~0.3.1
- yiisoft/yii2: *
Requires (Dev)
This package is not auto-updated.
Last update: 2024-11-27 18:57:59 UTC
README
JQuery Dynatable Yii2 Extension JQuery from: http://dynatable.com
Yii2 Extension by philipp@frenzel.net
Installation
Package is although registered at packagist.org - so you can just add one line of code, to let it run!
add the following line to your composer.json require section:
"philippfrenzel/yii2-dynatable":"*",
And ensure, that you have the follwing plugin installed global:
php composer.phar global require "fxp/composer-asset-plugin:~1.0"
Changelog
29-11-2014 Updated to latest 2.2.3 Version of the library
Usage
Quickstart Looks like this:
<?= net\frenzel\dynatable\yii2dynatable::widget([
'id' => "nameofthetablethatwillbedynamised"
]);
Template for table:
<table id="nameofthetablethatwillbedynamised">
<thead>
<tr>
<th data-dynatable-column="name">Name can contain anything now...</th>
<th>Hobby</th>
<th>Favorite Music</th>
</tr>
</thead>
<tbody>
<tr>
<td>Fred</td>
<td>Roller Skating</td>
<td>Disco</td>
</tr>
<tr>
<td>Helen</td>
<td>Rock Climbing</td>
<td>Alternative</td>
</tr>
<tr>
<td>Glen</td>
<td>Traveling</td>
<td>Classical</td>
</tr>
</tbody>
</table>
extended options are:
'clientOptions' => [
'table' => [
'defaultColumnIdStyle' => 'trimDash' //can be "underscore" too - look dynatable.js website for more options
],
'dataset' => [
'ajax' => true,
'ajaxUrl' => Url::to('/your/route/to/json'),
'ajaxOnLoad' => true,
'records' => [],
],
'features' => [
'paginate' => false,
'recordCount' => false,
'sorting' => true,
'search' => false
],
'params' => [
//'queries' => 'queries',
'sorts' => 'sort',
'page' => 'pageCount',
'perPage' => 'perPage',
'offset' => 'offset',
'records' => 'items',
'record' => 'item',
'queryRecordCount' => 'totalCount',
'totalRecordCount' => 'totalCount'
]
]
If you set the params like above, the dynatable should work fine with the build in yii2 rest api.
if you are using ajax, you need to ensure, that the response looks like this:
{ "records": [ { "someAttribute": "I am record one", "someOtherAttribute": "Fetched by AJAX" }, { "someAttribute": "I am record two", "someOtherAttribute": "Cuz it's awesome" }, { "someAttribute": "I am record three", "someOtherAttribute": "Yup, still AJAX" } ], "queryRecordCount": 3, "totalRecordCount": 3 }