File size: 2,727 Bytes
c0bb696 98b4260 c0bb696 6aae67a c0bb696 6aae67a c0bb696 b570a90 c0bb696 98b4260 c0bb696 0fbb0a0 c0bb696 0fbb0a0 6aae67a 0fbb0a0 c0bb696 98b4260 c0bb696 98b4260 c0bb696 98b4260 6aae67a c0bb696 b570a90 c0bb696 98b4260 c0bb696 b570a90 60ada88 6aae67a b570a90 c0bb696 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
/** @format */
"use strict";
const UaDb = {
create(id, data) {
if (localStorage.getItem(id)) {
console.error(`ID ${id} already exists.`);
return;
}
localStorage.setItem(id, data);
},
read(id) {
const data = localStorage.getItem(id);
if (data === null) {
xlog(`UaDb.read ${id} not found.`);
return "";
}
return data;
},
update(id, data) {
if (!localStorage.getItem(id)) {
xlog(`UaDb.update ${id} not found.`);
return;
}
localStorage.setItem(id, data);
},
delete(id) {
if (!localStorage.getItem(id)) {
console.error(`ID ${id} not found.`);
return;
}
localStorage.removeItem(id);
},
save(id, data) {
localStorage.setItem(id, data);
},
getAllIds() {
const ids = [];
for (let i = 0; i < localStorage.length; i++) {
ids.push(localStorage.key(i));
}
return ids;
},
saveArray(id, arr) {
const str = JSON.stringify(arr);
UaDb.save(id, str);
},
readArray(id) {
const str = UaDb.read(id);
if (str.trim().length == 0) return [];
const arr = JSON.parse(str);
return arr;
},
saveJson(id, js) {
const str = JSON.stringify(js);
UaDb.save(id, str);
},
readJson(id) {
const str = UaDb.read(id);
if (!str) return {};
const js = JSON.parse(str);
return js;
},
};
const DataMgr = {
docs: [],
doc_names: [],
linkToName(link) {
const parts = link.split("/");
return parts[parts.length - 1];
},
async loadDoc(link) {
this.readDbDocNames();
try {
const text = await requestGet(link);
const doc = cleanDoc(text);
const name = this.linkToName(link);
if (this.doc_names.includes(name)) {
alert(`Il documento ${name} è già caricato`);
return;
}
this.doc_names.push(name);
this.docs.push(doc);
this.saveDbDocs();
return doc;
} catch (err) {
alert("loadDoc()\n" + err + "\n" + link);
}
},
addDoc(name, text) {
const doc = cleanDoc(text);
this.docs.push(doc);
this.doc_names.push(name);
this.saveDbDocs();
},
saveDbDocs() {
UaDb.saveArray(ID_DOC_NAMES, this.doc_names);
UaDb.saveArray(ID_DOCS, this.docs);
},
readDbDocs() {
this.docs = UaDb.readArray(ID_DOCS);
},
readDbDocNames() {
this.doc_names = UaDb.readArray(ID_DOC_NAMES);
return this.doc_names;
},
deleteJsonDati() {
const ids = UaDb.getAllIds();
for (const id of ids) {
if ([ID_DOCS, ID_DOC_NAMES].includes(id)) continue;
UaDb.delete(id);
}
Rag.ragQuery = "";
Rag.ragContext = "";
Rag.ragAnswer = "";
Rag.answers = [];
Rag.prompts = [];
ThreadMgr.rows = [];
},
};
|