diff --git a/rapids/templates/rapids/rapid_form.html b/rapids/templates/rapids/rapid_form.html
index c8d606ce..81bf8290 100755
--- a/rapids/templates/rapids/rapid_form.html
+++ b/rapids/templates/rapids/rapid_form.html
@@ -12,18 +12,20 @@
// set to hold the files that are still being processed
let active_file_inputs = new Set()
- async function listAllFilesAndDirs(dirHandle) {
+ async function listAllFilesAndDirs(dirHandle, files_only) {
const files = [];
for await (let [name, handle] of dirHandle) {
const {
kind
} = handle;
if (handle.kind === 'directory') {
- files.push({
- name,
- handle,
- kind
- });
+ if (files_only != true) {
+ files.push({
+ name,
+ handle,
+ kind
+ });
+ }
files.push(...await listAllFilesAndDirs(handle));
} else {
files.push({
@@ -75,6 +77,19 @@
}
+ function getCurrentFiles() {
+ inputs = $("#rapid-form input[type=file]");
+
+ let files = new Set();
+ for (let j = 0; j < inputs.length; j++) {
+ i = inputs.get(j);
+ console.log(i)
+ files.add(i.files[0]);
+ console.log(i.files)
+ }
+ return files;
+ }
+
function extendInputs(n) {
// Makes sure we have n inputs available
// returns available inputs
@@ -174,7 +189,7 @@
//ocr(el)
console.log(el);
- if(feedback) {
+ if (feedback) {
arr = el.name.split("-");
arr.splice(2, 1, "feedback_image");
feedback_el_name = arr.join("-");
@@ -265,17 +280,28 @@
monitor_interval_id = setInterval(function () {
listAllFilesAndDirs(monitor_directory_handler).then((items) => {
console.log(items);
+ files_to_add = Set();
+ for (var i = 0; i < items.length; i++) {
+ files_to_add.add(items[i].getFile());
+ }
+ current_files = getCurrentFiles();
+ let distinct_set = new Set([...files_to_add].filter(x =>
+ !
+ current_files.has(x)));
+
+ console.log(distinct_set)
});
}, 5000);
- $("#directory-picker-display").text(monitor_directory_handler.name).after(
- $(
- " [clear]").click((evt) => {
- $(evt.target).remove();
- $("#directory-picker-display").text("");
- monitor_directory_handler = false;
- clearInterval(monitor_interval_id);
- //const files = await listAllFilesAndDirs(directoryHandle);
- }));
+ $("#directory-picker-display").text(monitor_directory_handler.name)
+ .after(
+ $(
+ " [clear]").click((evt) => {
+ $(evt.target).remove();
+ $("#directory-picker-display").text("");
+ monitor_directory_handler = false;
+ clearInterval(monitor_interval_id);
+ //const files = await listAllFilesAndDirs(directoryHandle);
+ }));
});
});