Подключил сортировку в стат. таблице

parent 1c221a7b
...@@ -40,6 +40,55 @@ $(document).ready(function(){ ...@@ -40,6 +40,55 @@ $(document).ready(function(){
}); });
$row.appendTo($tableContent); $row.appendTo($tableContent);
// Сортировка строк в таблице:
var
sortField = false,
$selectedField = $('#table-line thead th b.selected'),
isDesc = true;
if ($selectedField.length > 0) {
sortField = $selectedField.attr('id');
isDesc = $selectedField.hasClass('desc');
}
if (sortField) {
//console.log('AAA sortField = ', sortField);
//console.log('AAA dataTable = ', dataTable);
var dataTableForSort = [];
dataTable.period.forEach(function(dataTableItem, ind){
var dataTableSortItem = {};
dataTableSortItem['period'] = dataTableItem;
activeLines.forEach(function(activeLine){
dataTableSortItem[activeLine] = dataTable[activeLine][ind];
});
dataTableForSort.push(dataTableSortItem);
});
dataTableForSort.sort(function(a,b){
if (isDesc) {
return b[sortField]-a[sortField];
} else {
return a[sortField]-b[sortField];
}
});
//console.log('AAA dataTableForSort = ', dataTableForSort);
dataTableForSort.forEach(function(item){
$row = $('<tr>');
$row.append($('<td>').html(item['period']));
activeLines.forEach(function(line){
$row.append($('<td>').html(item[line]));
});
$row.appendTo($tableContent);
});
} else {
for(var i = dataPeriod.length-1; i >= 0; i--) { for(var i = dataPeriod.length-1; i >= 0; i--) {
var var
...@@ -60,6 +109,8 @@ $(document).ready(function(){ ...@@ -60,6 +109,8 @@ $(document).ready(function(){
} }
} }
}
$.extend({ $.extend({
TableStat: { TableStat: {
Render: function(dataLineChartStat) { Render: function(dataLineChartStat) {
...@@ -68,7 +119,7 @@ $(document).ready(function(){ ...@@ -68,7 +119,7 @@ $(document).ready(function(){
activeLines = ['shows', 'clicks', 'transactions', 'salemoney', 'admoney']; activeLines = ['shows', 'clicks', 'transactions', 'salemoney', 'admoney'];
//console.log('AAA TableStat render: ', dataLineChartStat); //console.log('AAA TableStat render: ', dataLineChartStat);
//console.log('AAA activeLines: ', activeLines); console.log('AAA activeLines: ', activeLines);
dataTable = {}; dataTable = {};
activeLines.forEach(function(item){ activeLines.forEach(function(item){
......
...@@ -146,7 +146,7 @@ $dates = $this->dates; ...@@ -146,7 +146,7 @@ $dates = $this->dates;
<th><?= _t('Дата/Компания')?></th> <th><?= _t('Дата/Компания')?></th>
<?php foreach(['shows', 'clicks', 'transactions', 'salemoney', 'admoney'] as $name): ?> <?php foreach(['shows', 'clicks', 'transactions', 'salemoney', 'admoney'] as $name): ?>
<th> <th>
<input type="checkbox" /> <input type="checkbox" data-field="<?= $name ?>" />
<b id="<?= $name ?>"> <b id="<?= $name ?>">
<?= _t($name)?> <?= _t($name)?>
<!-- <!--
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment