Multi Field JS Sort
by Bryson Murray
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="test">
</div>
JavaScript
var data = [
{
"hit_id": "1117805",
"is_visable": true,
"inital_page_interaction": true,
"last_focus_time": 1554917220488,
"on_support_center": true,
"current_page": "support_center"
},
{
"hit_id": "1117401",
"is_visable": false,
"inital_page_interaction": true,
"last_focus_time": 1554916463948,
"on_support_center": true,
"current_page": "support_center"
},
{
"hit_id": "1117406",
"is_visable": false,
"inital_page_interaction": true,
"last_focus_time": 1554916468405,
"on_support_center": true,
"current_page": "support_center"
},
{
"hit_id": "1117720",
"is_visable": false,
"inital_page_interaction": false,
"last_focus_time": 1554917022970,
"on_support_center": true,
"current_page": "support_center"
},
{
"hit_id": "1117715",
"is_visable": false,
"inital_page_interaction": true,
"last_focus_time": 1554917027939,
"on_support_center": true,
"current_page": "support_center"
},
{
"hit_id": "1117768",
"is_visable": false,
"inital_page_interaction": false,
"last_focus_time": 1554917084584,
"on_support_center": true,
"current_page": "support_center"
},
{
"hit_id": "1117777",
"is_visable": true,
"inital_page_interaction": true,
"last_focus_time": 1554917175511,
"on_support_center": true,
"current_page": "support_center"
}];
var data_sort_priority_list = [
{'field':'visibility', 'order_by_desc': true},
{'field':'last_focus_time', 'order_by_desc': true},
{'field':'inital_page_interaction', 'order_by_desc': true},
{'field':'hit_id', 'order_by_desc': true},
{'field':'current_page', 'order_by_desc': true},
{'field':'on_support_center', 'order_by_desc': true}
];
var page_info_priority_sort = function(page_info, sort_priority_list, trim) {
trim = trim || true;
if(!sort_priority_list){
// needs a deep copy of the default list
sort_priority_list = $.extend(true,...