-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathnos.js
More file actions
69 lines (69 loc) · 2.56 KB
/
Copy pathnos.js
File metadata and controls
69 lines (69 loc) · 2.56 KB
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
//save
let downloadBtn = document.querySelector(".fa-save");
downloadBtn.addEventListener("click", function (e) {
let a = document.createElement("a"); // creating anchor
// File put -> DB array
var StringCode = encodeURIComponent(JSON.stringify(sheetsDB));
var dataStr = "data:text/json;charset=utf-8," + StringCode;
a.href = dataStr; //dataStr will be downloaded
a.download = "file.json";
a.click();
// var ws = XLSX.utils.json_to_sheet(db);
// var wb = XLSX.utils.book_new();
// XLSX.utils.book_append_sheet(wb, ws, "Sheet 1");
// XLSX.writeFile(wb,"Myexcel.xlsx");
})
//open
let openBtn = document.querySelector(".fa-external-link-square-alt")
let openInput = document.querySelector(".open_input")
openBtn.addEventListener("click", function (e) {
openInput.click();
})
openInput.addEventListener("change", function (e) {
let filesArr = openInput.files;
let file = filesArr[0];
const reader = new FileReader();
reader.readAsText(file);
reader.addEventListener('load', (event) => {
let JSONdata = JSON.parse(event.target.result);
sheetsDB = JSONdata;
db = sheetsDB[0];
setUI();
setSheets();
});
})
function setSheets(){
for(let i=0; i<sheetsDB.length-1;i++){
sheetOpenHandler();
}
}
// new
newInput = document.querySelector(".fa-plus-square");
newInput.addEventListener("click", function(){
var confirmNewSheet = confirm("Opening New Excel Sheet")
if (confirmNewSheet){
sheetsDB = [];
initDB(); //db reset
db = sheetsDB[0];
setUI();
setSheets();
}
})
function setUI() {
for (let i = 0; i < 100; i++) {
for (let j = 0; j < 26; j++) {
//setting all the properties on UI with rid and cid
let cellObject = db[i][j];
let tobeChangedCell = document.querySelector(`.grid .cell[rid='${i}'][cid='${j}']`);
tobeChangedCell.innerText = cellObject.value;
tobeChangedCell.style.color = cellObject.color;
tobeChangedCell.style.backgroundColor = cellObject.backgroundColor;
tobeChangedCell.style.fontFamily = cellObject.fontFamily;
tobeChangedCell.style.fontSize = cellObject.fontSize+"px";
tobeChangedCell.style.textAlign = cellObject.halign;
tobeChangedCell.style.textDecoration = cellObject.underline==false? "none":"underline";
tobeChangedCell.style.fontStyle = cellObject.italic==false? "normal":"italic";
tobeChangedCell.style.fontWeight = cellObject.bold==false? "normal":"bold";
}
}
}