Правки по коду для сортировки

parent 8eb49388
......@@ -275,6 +275,11 @@ input[type="checkbox"]
font-weight: bold;
font-size: 13px;
}
.table.table-striped.admin.common tbody tr.total
{
font-weight: bold;
}
......
......@@ -6,14 +6,12 @@ $(document).ready(function(){
$tableBody = $table.find('tbody').first(),
activeLines = [],
currentActiveLine,
dataTable,
currencyFields = ['admoney', 'salemoney', 'usdollarmoney', 'localmoney', 'AdMoney', 'OrderSum', 'Price'],
notFormatFields = ['Timestamp', 'Basket'],
dateTimeFields = ['Timestamp', 'period'];
// Шаблон содержимого ячейки Basket
var templateBasketContent = _.template('\n'+
' <div class="b-basket-content"> \n' +
' <table> \n' +
' <tbody> \n' +
......@@ -27,17 +25,15 @@ $(document).ready(function(){
' </tbody> \n' +
' </table> \n' +
' </div> \n' +
'');
// Шаблон ячейки Время-Дата
var templateTimestampContent = _.template('\n'+
' <b><%=data.time %></b><br /> \n' +
' <span><%=data.date %></span><br /> \n' +
'');
function valueFormat(value)
{
var
......@@ -58,30 +54,26 @@ $(document).ready(function(){
function RenderInterval(dataLineChartStat)
{
var dataPeriod = dataLineChartStat['period'];
var
dataTable = dataLineChartStat,
dataPeriod = dataLineChartStat['period'],
dataTableForSort = [],
$selectedField = $('thead th b.selected', $table),
sortField = false,
isDesc = true;
dataTable = dataLineChartStat;
/*
dataTable = {};
for (var key in dataLineChartStat) {
dataTable[key] = dataLineChartStat[key];
}
console.log('AAA dataTable = ', dataLineChartStat.report);
*/
// Сортировка строк в таблице:
var
$selectedField = $('#table-line thead th b.selected'),
sortField = false,
isDesc = true;
// Определение поля для сортировки строк в таблице:
if ($selectedField.length > 0) {
sortField = $selectedField.attr('id');
isDesc = $selectedField.hasClass('desc');
}
//console.log('AAA sortField = ', sortField, ' isDesc = ', isDesc);
if (!sortField) {
switch(dataLineChartStat.report) {
case 'common':
......@@ -98,10 +90,10 @@ $(document).ready(function(){
break;
}
}
var dataTableForSort = [];
dataTable.period.forEach(function(dataTableItem, ind){
//console.log('AAA sortField = ', sortField, ' isDesc = ', isDesc);
// Подготовка данных для сортировки:
dataPeriod.forEach(function(dataTableItem, ind){
var dataTableSortItem = {};
dataTableSortItem['period'] = dataTableItem;
activeLines.forEach(function(activeLine){
......@@ -109,7 +101,8 @@ $(document).ready(function(){
});
dataTableForSort.push(dataTableSortItem);
});
// Сортировка данных для таблицы:
dataTableForSort.sort(function(a,b){
if (dateTimeFields.indexOf(sortField) > -1) {
var
......@@ -123,6 +116,7 @@ $(document).ready(function(){
});
//console.log('AAA dataTableForSort = ', dataTableForSort);
// Отрисовка таблицы:
dataTableForSort.forEach(function(item){
$row = $('<tr>');
$row.append($('<td>').html(item['period']));
......@@ -150,15 +144,14 @@ $(document).ready(function(){
$row.appendTo($tableContent);
});
// Добавляем строку "Итого" для отчета 'common':
if (dataLineChartStat.report == 'common') {
$row = $('<tr style="font-weight: bold;">');
$row = $('<tr class="total">');
$row.append($('<td>').html("Итого"));
activeLines.forEach(function(item){
currentActiveLine = item;
var isNotSumValue = notFormatFields.indexOf(currentActiveLine) > -1;
if (!isNotSumValue) {
......@@ -173,18 +166,16 @@ $(document).ready(function(){
$row.append($('<td>').html(valueFormat(totalValue)));
});
$row.appendTo($tableContent);
}
// Добавляем строку "Всего заказов" для отчета 'transaction':
if (dataLineChartStat.report == 'transaction') {
$row = $('<tr class="total-orders" style="">');
$row = $('<tr class="total-orders">');
$row.append($('<td>').html("Всего заказов: " + dataPeriod.length));
activeLines.forEach(function(item){
currentActiveLine = item;
var isNotSumValue = notFormatFields.indexOf(currentActiveLine) > -1;
if (!isNotSumValue) {
......@@ -199,7 +190,6 @@ $(document).ready(function(){
$row.append($('<td class="'+ item +'">').html(valueFormat(totalValue)));
});
$row.appendTo($tableContent);
}
}
......@@ -216,11 +206,7 @@ $(document).ready(function(){
//console.log('AAA TableStat render: ', dataLineChartStat);
//console.log('AAA activeLines: ', activeLines);
dataTable = {};
activeLines.forEach(function(item){
dataTable[item] = [];
});
if (dataLineChartStat.type == 'interval') {
RenderInterval(dataLineChartStat);
......
......@@ -142,11 +142,9 @@ $(document).ready(function(){
var $tableHeadCols = $('#table-line thead.metric.sortable th b');
$tableHeadCols.on('click', function(){
var
$this = $(this),
$parent = $this.parent(),
categoryName = $parent.data('id');
if (['period', 'Basket'].indexOf(categoryName)>-1) {
$this = $(this);
if ($this.hasClass('not-sorted')) {
return false;
}
......
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