mirror of https://gitlab.com/octtspacc/OcttKB
46 lines
1.1 KiB
JavaScript
46 lines
1.1 KiB
JavaScript
|
/*\
|
||
|
title: cleanHistoryList
|
||
|
type: application/javascript
|
||
|
module-type: macro
|
||
|
|
||
|
Get the history list after removing drafts and duplicate sequential references.
|
||
|
\*/
|
||
|
|
||
|
(function(){
|
||
|
"use strict";
|
||
|
|
||
|
exports.name = "cleanHistoryList";
|
||
|
exports.params = [
|
||
|
{name: "history"},
|
||
|
{name: "maxShow"}
|
||
|
];
|
||
|
exports.run = function(history, maxShow) {
|
||
|
history = JSON.parse(history);
|
||
|
//console.log("History List: " + JSON.stringify(history));
|
||
|
|
||
|
//Loop through history removing drafts and duplicates.
|
||
|
var list = [];
|
||
|
var lastTid = '';
|
||
|
var tidLink = '';
|
||
|
var tid = '';
|
||
|
//Loop in reverse to put most recent at top of resulting list
|
||
|
for(let i=history.length-1; i > -1; i--) {
|
||
|
tid = history[i];
|
||
|
//console.log(JSON.stringify(tid));
|
||
|
if(tid.title.startsWith('Draft ')) continue;
|
||
|
tidLink = '[[' + tid.title + ']]';
|
||
|
if(tidLink == lastTid) continue;
|
||
|
list.push(tidLink);
|
||
|
lastTid = tidLink;
|
||
|
if(list.length >= maxShow) break;
|
||
|
}
|
||
|
|
||
|
//format an HTML list and return
|
||
|
var toReturn = '<ul>';
|
||
|
for(let tid of list) {
|
||
|
toReturn += '<li>' + tid + '</li>';
|
||
|
}
|
||
|
toReturn += '</ul>';
|
||
|
return toReturn;
|
||
|
};
|
||
|
})();
|