-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
112 lines (97 loc) · 3.81 KB
/
script.js
File metadata and controls
112 lines (97 loc) · 3.81 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
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
let selectedCell = document.querySelector(".selected-cell");
let fontfamilyInput = document.querySelector(".font-family-selector");
let bold_icon = document.querySelector(".icon-bold");
let italic_icon = document.querySelector(".icon-italic");
let underline_icon = document.querySelector(".icon-underline");
let backgroundHInput = document.querySelector(".background_color");
let backgroundInput = document.querySelector(".icon-color-fill");
let textColorHInput = document.querySelector(".text_color");
let textColorInput = document.querySelector(".icon-color-text");
let leftAlign = document.querySelector(".icon-align-left");
let rightAlign = document.querySelector(".icon-align-right");
let centerAlign = document.querySelector(".icon-align-center");
let fontSizeInput = document.querySelector(".font-size-selector");
let formulaInput = document.querySelector(".formula-input");
let sheetDB = [];
let db = [];
// Creating first sheet using javascript
{
let addSheetBtn = document.querySelector(".icon-add");
addSheetBtn.click();
}
// Function to change cell properties
inputCellContainer.addEventListener("click",(e) => {
let element = document.querySelector(".input-cell.selected");
if(element != null){
element.classList.remove("selected");
}
e.target.classList.add("selected");
let rid = e.target.getAttribute("rId");
let cid = e.target.getAttribute("cId");
rid = parseInt(rid) + 1;
cid = parseInt(cid) + 1;
let ans = "";
let n = cid;
while (n > 0) {
let rem = n % 26;
if (rem == 0) {
ans = "Z" + ans;
n = Math.floor(n / 26) - 1;
} else {
ans = String.fromCharCode(rem - 1 + 65) + ans;
n = Math.floor(n / 26);
}
}
selectedCell.innerText = ans + rid;
let cellObj = getRidCidFromAddress(selectedCell.innerText)
// console.log(cellObj)
let cellObject = db[cellObj.rid][cellObj.cid]
fontSizeInput.value = cellObject.fontSize
fontfamilyInput.value = cellObject.fontFamily
formulaInput.value = cellObject.formula
bold_icon.classList.remove("selected")
italic_icon.classList.remove("selected")
underline_icon.classList.remove("selected")
leftAlign.classList.remove("selected")
rightAlign.classList.remove("selected")
centerAlign.classList.remove("selected")
if(cellObject.bold){
bold_icon.classList.add("selected")
}
if(cellObject.italic){
italic_icon.classList.add("selected")
}
if(cellObject.underline){
underline_icon.classList.add("selected")
}
if(cellObject.halign == "left"){
leftAlign.classList.add("selected")
}
if(cellObject.halign == "center"){
centerAlign.classList.add("selected")
}
if(cellObject.halign == "right"){
rightAlign.classList.add("selected")
}
});
let firstCell = document.querySelector(".input-cell");
firstCell.click();
firstCell.focus();
// Function to return rid and cid from the given address
function getRidCidFromAddress(address) {
// A-Z, 1-100
// B
let AsciiValue = address.charCodeAt(0);
let cid;
let rid;
if(address.charCodeAt(1) >= 65 && address.charCodeAt(1) <= 90){
cid = ( (AsciiValue - 65 + 1) * 26 ) + (address.charCodeAt(1) - 65);
rid = Number(address.substring(2)) - 1;
}else{
cid = AsciiValue - 65;
rid = Number(address.substring(1)) - 1;
}
return {
rid: rid, cid: cid
}
}