158 lines
5.3 KiB
JavaScript
158 lines
5.3 KiB
JavaScript
const path = require('path');
|
|
const { ipcRenderer } = require('electron');
|
|
|
|
//exports.render_event_records = function () {
|
|
function render_event_records() {
|
|
console.log('Rendering event records...');
|
|
//console.log(tbl_event);
|
|
//console.log(event_id);
|
|
|
|
if (looping_tbl_event) {
|
|
console.log('Already looping through the tbl_event table. Not starting until finished.');
|
|
return false;
|
|
} else {
|
|
|
|
}
|
|
|
|
looping_tbl_event = true;
|
|
|
|
tbl_event.iterate(function(value, key, iteration) {
|
|
if (value.id == event_id) {
|
|
console.log('*** Event id ('+event_id+') found in table.');
|
|
document.getElementById('event_name').innerHTML = '@'+value.name;
|
|
document.getElementById('event_files_menu').getElementsByTagName('ul')[0].id = 'event_files_list_'+value.id;
|
|
} else {
|
|
console.log('Event not it.');
|
|
}
|
|
}).then(function() {
|
|
console.log('idb_to_ui: Iterate tbl_event_file complete')
|
|
//tbl_event_complete = true;
|
|
looping_tbl_event = false;
|
|
});
|
|
|
|
}
|
|
|
|
|
|
//exports.render_event_location_records = async function () {
|
|
async function render_event_location_records() {
|
|
console.log('Rendering event location records...');
|
|
|
|
if (looping_tbl_event_location) {
|
|
console.log('Already looping through the tbl_event_location table. Not starting until finished.');
|
|
return false;
|
|
} else {
|
|
|
|
}
|
|
|
|
looping_tbl_event_location = true;
|
|
|
|
await tbl_event_location.iterate(function(value, key, iteration) {
|
|
if (value.id == event_location_id) {
|
|
console.log('*** Event location id ('+event_location_id+') found in table.');
|
|
document.getElementById('location_name').innerHTML = '<span class="fas fa-map-marker"></span> '+value.name;
|
|
|
|
document.getElementById('location_files_menu').getElementsByTagName('ul')[0].id = 'location_files_list_'+value.id;
|
|
/*
|
|
let location_files_ul_node = document.createElement('UL');
|
|
location_files_ul_node.id = 'event_presentation_files_list_'+value.id;
|
|
location_files_ul_node.className = 'list-group list-group-flush location_files location_files_list event_files_list';
|
|
|
|
document.getElementById('location_files_menu').appendChild(location_files_ul_node);
|
|
*/
|
|
} else {
|
|
console.log('Event location not it.');
|
|
}
|
|
}).then(function() {
|
|
console.log('idb_to_ui: Iterate tbl_event_file complete')
|
|
//tbl_event_location_complete = true;
|
|
looping_tbl_event_location = false;
|
|
});
|
|
|
|
return true;
|
|
}
|
|
|
|
|
|
/* Updated 2020-01-31 */
|
|
function index_launcher_sessions(class_name) {
|
|
console.log('Indexing launcher sessions with class name: '+class_name);
|
|
var class_elements = document.getElementsByClassName(class_name);
|
|
|
|
|
|
for (var i = 0; i < class_elements.length; i++) {
|
|
class_elements[i].addEventListener( 'click', function() {view_session( this.getAttribute('data-session_id')) } );
|
|
}
|
|
console.log(class_elements);
|
|
return true;
|
|
}
|
|
|
|
|
|
/* Updated 2020-01-31 */
|
|
function view_session(session_id) {
|
|
var class_elements = document.getElementsByClassName('session_detail'); // This class name should be the class names for each div container
|
|
console.log('View session ID: '+session_id);
|
|
for (var i = 0; i < class_elements.length; i++) {
|
|
//console.log('*** checking: '+class_elements[i].getAttribute('data-session_id'));
|
|
if (class_elements[i].getAttribute('data-session_id') == session_id) {
|
|
//console.log('show');
|
|
class_elements[i].classList.remove('d-none');
|
|
class_elements[i].classList.add('d-block');
|
|
} else {
|
|
//console.log('hide');
|
|
class_elements[i].classList.remove('d-block');
|
|
class_elements[i].classList.add('d-none');
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
|
|
/* Updated 2020-02-13 */
|
|
function index_open_file_buttons(class_name) {
|
|
console.log('Indexing open file buttons...');
|
|
console.log('****************** Indexing ******************');
|
|
var class_elements = document.getElementsByClassName(class_name);
|
|
console.log(class_elements);
|
|
|
|
for (var i = 0; i < class_elements.length; i++) {
|
|
// Do not use an anonymous function. If you do then it will keep adding event listeners.
|
|
// Adding the exact same event listeners over and over doesn't hurt anything.
|
|
// No need to use removeEventListener()
|
|
class_elements[i].addEventListener( 'click', open_local_file );
|
|
|
|
/*
|
|
let hash = class_elements[i].getAttribute('data-hash_sha256');
|
|
let file_path = path.join(host_file_cache_path, hash);
|
|
let filename = class_elements[i].getAttribute('data-filename');
|
|
class_elements[i].addEventListener( 'click', function() { ipcRenderer.send('open_local_file', file_path, filename) } );
|
|
*/
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
/* Updated 2020-02-13 */
|
|
function open_local_file() {
|
|
//console.log(this);
|
|
let hash = this.getAttribute('data-hash_sha256');
|
|
let file_path = path.join(host_file_cache_path, hash);
|
|
let filename = this.getAttribute('data-filename');
|
|
console.log(file_path);
|
|
console.log(filename);
|
|
|
|
ipcRenderer.send('open_local_file', file_path, filename);
|
|
}
|
|
|
|
|
|
function format_bytes(bytes, decimals = 2) {
|
|
if (bytes === 0) return '0 Bytes';
|
|
|
|
const k = 1024;
|
|
const dm = decimals < 0 ? 0 : decimals;
|
|
const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
|
|
|
|
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
|
|
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
|
|
}
|