other changes

This commit is contained in:
David Brazda
2023-11-15 09:02:15 +01:00
parent aead08a2c9
commit dc4c10a4a3
15 changed files with 380 additions and 29 deletions

View File

@@ -40,9 +40,101 @@ function refresh_arch_and_callback(row, callback) {
});
}
//type ("text/csv","application/xml"), filetype (csv), filename
function downloadFile(type, filetype, filename, content) {
var blob = new Blob([content], { type: type });
var url = window.URL.createObjectURL(blob);
var link = document.createElement("a");
link.href = url;
link.download = filename +"."+filetype;
link.click();
}
// Function to convert a JavaScript object to XML
function convertToXml(data) {
var xml = '<?xml version="1.0" encoding="UTF-8"?>\n<trades>\n';
data.forEach(function (item) {
xml += ' <trade>\n';
Object.keys(item).forEach(function (key) {
xml += ' <' + key + '>' + item[key] + '</' + key + '>\n';
});
xml += ' </trade>\n';
});
xml += '</trades>';
return xml;
}
// Function to convert a JavaScript object to CSV
function convertToCsv(data) {
var csv = '';
// Get the headers
var headers = Object.keys(data[0]);
csv += headers.join(',') + '\n';
// Iterate over the data
data.forEach(function (item) {
var row = headers.map(function (header) {
return item[header];
});
csv += row.join(',') + '\n';
});
return csv;
}
function prepare_export() {
rows = archiveRecords.rows('.selected');
var trdList = []
if(rows.data().length > 0 ) {
//console.log(rows.data())
// Loop through the selected rows and display an alert with each row's ID
rows.every(function (rowIdx, tableLoop, rowLoop ) {
var data = this.data()
data.metrics.prescr_trades.forEach((trade) => {
new_obj = {}
new_obj["entry_time"] = (trade.entry_time) ? new Date(trade.entry_time * 1000) : null
new_obj["entry_time"] = (new_obj["entry_time"]) ? new_obj["entry_time"].toLocaleString('cs-CZ', {
timeZone: 'America/New_York',
}) : null
new_obj["exit_time"] = (trade.exit_time) ? new Date(trade.exit_time * 1000):null
new_obj["exit_time"] = (new_obj["exit_time"]) ? new_obj["exit_time"].toLocaleString('cs-CZ', {
timeZone: 'America/New_York',
}) : null
new_obj["direction"] = trade.direction
new_obj["profit"] = trade.profit
new_obj["rel_profit"] = trade.rel_profit
trdList.push(new_obj)
})
});
}
return trdList
}
$(document).ready(function () {
archiveRecords.ajax.reload();
//button export
$('#button_export_xml').click(function () {
xmled = convertToXml(prepare_export())
console.log(xmled)
//csved = convertToCsv(trdList)
//console.log(csved)
//type ("text/csv","application/xml"), filetype (csv), filename, content
//downloadFile("text/csv","csv", "trades", csved)
downloadFile("application/xml","xml", "trades", xmled)
//console.log(jsonobj)
//downloadCsv(jsonobj);
});
//button export
$('#button_export_csv').click(function () {
csved = convertToCsv(prepare_export())
console.log(csved)
//type ("text/csv","application/xml"), filetype (csv), filename, content
downloadFile("text/csv","csv", "trades", csved)
//console.log(jsonobj)
//downloadCsv(jsonobj);
});
//button select page
$('#button_selpage').click(function () {