|
@@ -302,12 +302,12 @@
|
|
<div class="stat-tree-view overflow-auto min-height-300px" id="stat-tree-edit-{{$statTree->id}}"></div>
|
|
<div class="stat-tree-view overflow-auto min-height-300px" id="stat-tree-edit-{{$statTree->id}}"></div>
|
|
@else
|
|
@else
|
|
<div class="d-flex align-items-start">
|
|
<div class="d-flex align-items-start">
|
|
- <div class="">
|
|
|
|
|
|
+ <div class="mv-tree">
|
|
<div class="multi-pro-view-stat-label">Stat</div>
|
|
<div class="multi-pro-view-stat-label">Stat</div>
|
|
<div class="stat-tree-view overflow-auto" id="stat-tree-edit-{{$statTree->id}}"></div>
|
|
<div class="stat-tree-view overflow-auto" id="stat-tree-edit-{{$statTree->id}}"></div>
|
|
</div>
|
|
</div>
|
|
- <div class="flex-grow-1">
|
|
|
|
- <table class="table table-sm multi-pro-stats-table">
|
|
|
|
|
|
+ <div class="overflow-auto mv-table">
|
|
|
|
+ <table class="table table-sm multi-pro-stats-table w-auto m-0">
|
|
<thead>
|
|
<thead>
|
|
<tr>
|
|
<tr>
|
|
<th {{$statTree->pro ? 'data-pro-uid="' . $statTree->pro->uid . '"' : ''}}>
|
|
<th {{$statTree->pro ? 'data-pro-uid="' . $statTree->pro->uid . '"' : ''}}>
|
|
@@ -318,27 +318,25 @@
|
|
<div class="pro-label" title="{{$multiPro->name_display}}">{{$multiPro->name_display}}</div>
|
|
<div class="pro-label" title="{{$multiPro->name_display}}">{{$multiPro->name_display}}</div>
|
|
</th>
|
|
</th>
|
|
@endforeach
|
|
@endforeach
|
|
- <th></th>
|
|
|
|
</tr>
|
|
</tr>
|
|
</thead>
|
|
</thead>
|
|
<tbody>
|
|
<tbody>
|
|
@foreach($linesFlat as $line)
|
|
@foreach($linesFlat as $line)
|
|
- <tr data-line-uid="{{$line->uid}}">
|
|
|
|
|
|
+ <tr data-line-uid="{{$line->uid}}" {!! $line->parent ? 'data-parent-line-uid="' . $line->parent->uid . '"' : '' !!}>
|
|
<td class="p-0">
|
|
<td class="p-0">
|
|
<div class="count-label">
|
|
<div class="count-label">
|
|
<div class="count">{{$line->last_refresh_count}}</div>
|
|
<div class="count">{{$line->last_refresh_count}}</div>
|
|
- <div class="drop-percent">50% ⤵</div>
|
|
|
|
|
|
+ <div class="drop-percent"></div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</td>
|
|
@foreach($multiPros as $multiPro)
|
|
@foreach($multiPros as $multiPro)
|
|
<td class="p-0" data-pro-uid="{{$multiPro->uid}}">
|
|
<td class="p-0" data-pro-uid="{{$multiPro->uid}}">
|
|
<div class="count-label">
|
|
<div class="count-label">
|
|
- <div class="count">0</div>
|
|
|
|
- <div class="drop-percent">0% ⤵</div>
|
|
|
|
|
|
+ <div class="count"></div>
|
|
|
|
+ <div class="drop-percent"></div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</td>
|
|
@endforeach
|
|
@endforeach
|
|
- <td></td>
|
|
|
|
</tr>
|
|
</tr>
|
|
@endforeach
|
|
@endforeach
|
|
</tbody>
|
|
</tbody>
|
|
@@ -1139,6 +1137,34 @@
|
|
for(let x in _data) {
|
|
for(let x in _data) {
|
|
$('.multi-pro-stats-table tr[data-line-uid="' + x + '"] td[data-pro-uid="' + $(this).attr('data-pro-uid') + '"] .count').text(_data[x]);
|
|
$('.multi-pro-stats-table tr[data-line-uid="' + x + '"] td[data-pro-uid="' + $(this).attr('data-pro-uid') + '"] .count').text(_data[x]);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // calculate drop %
|
|
|
|
+ $('.multi-pro-stats-table tr[data-line-uid][data-parent-line-uid]').each(function() {
|
|
|
|
+ for (let i = 0; i < $(this).find('>td').length; i++) {
|
|
|
|
+ let parentCount = $('.multi-pro-stats-table tr[data-line-uid="' + $(this).attr('data-parent-line-uid') + '"]>td:eq(' + i + ') .count').first().text(),
|
|
|
|
+ myCount = $(this).find('>td:eq(' + i + ') .count').first().text();
|
|
|
|
+ if(parentCount && myCount && !Number.isNaN(+parentCount) && !Number.isNaN(+myCount) && +parentCount > 0) {
|
|
|
|
+ parentCount = +parentCount;
|
|
|
|
+ myCount = +myCount;
|
|
|
|
+ let element = $(this).find('>td:eq(' + i + ') .drop-percent').first(), cssClass = '';
|
|
|
|
+ let dropPercent = ((parentCount - myCount) / parentCount) * 100;
|
|
|
|
+ if(dropPercent > 75) {
|
|
|
|
+ cssClass = 'mv-drop-76-100';
|
|
|
|
+ }
|
|
|
|
+ else if(dropPercent > 50 && dropPercent <= 75) {
|
|
|
|
+ cssClass = 'mv-drop-51-75';
|
|
|
|
+ }
|
|
|
|
+ else if(dropPercent > 25 && dropPercent <= 50) {
|
|
|
|
+ cssClass = 'mv-drop-26-50';
|
|
|
|
+ }
|
|
|
|
+ else if(dropPercent > 0 && dropPercent <= 25) {
|
|
|
|
+ cssClass = 'mv-drop-0-25';
|
|
|
|
+ }
|
|
|
|
+ element.removeClass().addClass('drop-percent').addClass(cssClass).text(dropPercent.toFixed(1) + '% ⤵');
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
}, 'json');
|
|
}, 'json');
|
|
});
|
|
});
|
|
@endif
|
|
@endif
|
|
@@ -1154,6 +1180,8 @@
|
|
initVSplitter('stat-tree-edit-1', $('.clauses-column'), $('.tree-column'));
|
|
initVSplitter('stat-tree-edit-1', $('.clauses-column'), $('.tree-column'));
|
|
@if(!$multiProView)
|
|
@if(!$multiProView)
|
|
initVSplitter('stat-tree-edit-2', $('.tree-lhs-column'), $('.tree-rhs-column'));
|
|
initVSplitter('stat-tree-edit-2', $('.tree-lhs-column'), $('.tree-rhs-column'));
|
|
|
|
+ @else
|
|
|
|
+ initVSplitter('stat-tree-edit-3', $('.mv-tree'), $('.mv-table'));
|
|
@endif
|
|
@endif
|
|
|
|
|
|
}
|
|
}
|