aboutsummaryrefslogtreecommitdiff
path: root/html
diff options
context:
space:
mode:
authoramy <[email protected]>2023-02-09 09:02:35 -0600
committeramy <[email protected]>2023-02-09 09:02:35 -0600
commit4c74bb3162e3c32c81ffbc531644ab5adef1f847 (patch)
tree15ba7159f987bcbb1e617ce8772fc39c47e67e05 /html
parent1121e4d4ed5ff1016d7c1ca99f48a52b59c21224 (diff)
little less mess and better icon managment
Diffstat (limited to 'html')
-rw-r--r--html/display.html133
1 files changed, 85 insertions, 48 deletions
diff --git a/html/display.html b/html/display.html
index e162239..92a35fa 100644
--- a/html/display.html
+++ b/html/display.html
@@ -348,50 +348,61 @@
let items = document.getElementById("bar-menu-root").children
for (let item = 0; item != items.length; item++) {
//console.log(items.item(item))
- if(items.item(item).className=="bar-menu-item"){
- let i_c = items.item(item).children
- for (let i = 0; i != i_c.length; i++) {
- let id = i_c.item(i)
- if (id.className == "bar-menu-more-root") {
-
- let t_s = new jssh(fs, '/', document.getElementsByClassName('window').length, 'null', 'null')
- let dd = (t_s.set_wd(items.item(item).getAttribute("dir")))
- if (dd[0] == undefined) { //item is null
- id.innerHTML = '';
- items.item(item).onmouseover = null
- break
- //! TODO: don't show bar if dir is empty or null
- }
- /*
- <div class="bar-menu-item" id="bar-menu-favorites"><img class="bar-menu-image"
- src="./src/img/notepad.png">
- <div class="bar-menu-text">Notepad--</div>
- </div>
- */
- id.innerHTML = ''
- let ins = ""
- for (let ite = 0; ite != dd.length; ite++) {
-
- ins += `<div class="bar-menu-item" onclick="shortcut('${dd[ite].content}');close_menu();" id="bar-menu-${dd[ite].name}">`
- if (dd[ite].icon)
- ins += `<img class="bar-menu-image" src="${dd[ite].icon}">`
- ins += `<div class="bar-menu-text">${dd[ite].name}</div></div>`
+ if (items.item(item).className == "bar-menu-item") {
+ let i_c = items.item(item).children
+ for (let i = 0; i != i_c.length; i++) {
+ let id = i_c.item(i)
+ if (id.className == "bar-menu-more-root") {
+
+ let t_s = new jssh(fs, '/', document.getElementsByClassName('window').length, 'null', 'null')
+ let dd = (t_s.set_wd(items.item(item).getAttribute("dir")))
+ if (dd[0] == undefined) { //item is null
+ id.innerHTML = '';
+ items.item(item).onmouseover = null
+ break
+ //! TODO: don't show bar if dir is empty or null
+ }
+ /*
+ <div class="bar-menu-item" id="bar-menu-favorites"><img class="bar-menu-image"
+ src="./src/img/notepad.png">
+ <div class="bar-menu-text">Notepad--</div>
+ </div>
+ */
+ id.innerHTML = ''
+ let ins = ""
+ for (let ite = 0; ite != dd.length; ite++) {
+ let icon = ""
+ ins += `<div class="bar-menu-item" onclick="shortcut('${items.item(item).getAttribute("dir") + dd[ite].name}');close_menu();" id="bar-menu-${dd[ite].name}">`
+ //if (dd[ite].icon)
+ //icon = `<img class="bar-menu-image" src="${dd[ite].icon}">`
+ //else {
+
+ for (let l of dd[ite].content.split("\n")) {
+ if (l.split(" ")[0] == "meta") {
+ if (l.split(" ")[1] == "icon") {
+ icon = `<img class="bar-menu-image" src="${l.split(" ")[2]}">`
+ }
+ }
+ }
+ ins += icon
+ //}
+ ins += `<div class="bar-menu-text">${dd[ite].name}</div></div>`
- //console.log(id.children.item(ite))
- }
- id.innerHTML = ins;
- items.item(item).onmouseover = ((ev) => {
- id.style.display = "block"
- items.item(item).onmouseout = ((ev) => {
- id.style.display = "none"
+ //console.log(id.children.item(ite))
+ }
+ id.innerHTML = ins;
+ items.item(item).onmouseover = ((ev) => {
+ id.style.display = "block"
+ items.item(item).onmouseout = ((ev) => {
+ id.style.display = "none"
+ })
})
- })
- break;
+ break;
+ }
}
}
}
- }
let bar = document.getElementById("bar-items")
let windows = document.getElementsByClassName("window")
let put = ""
@@ -504,15 +515,15 @@
for (let i = 0; i != elems.length; i++) {
let uid = elems.item(i).id.split("-")[0]
document.getElementById(uid + "-content-scrollbar-point").style.height = (document.getElementById(uid + "-content-root").clientHeight / (document.getElementById(uid + "-content-content").clientHeight / document.getElementById(uid + "-content-root").clientHeight)) + "px"
- if (document.getElementById(uid + "-content-scrollbar-point").clientHeight >= document.getElementById(uid + "-content-root").clientHeight){
+ if (document.getElementById(uid + "-content-scrollbar-point").clientHeight >= document.getElementById(uid + "-content-root").clientHeight) {
document.getElementById(uid + "-content-scrollbar").style.display = 'none'
- }
+ }
else {
- if(document.getElementById(uid + "-content-scrollbar").style.display == 'none'){
- document.getElementById(uid + "-content-scrollbar").style.display = 'block'
- if (document.getElementById(uid + "-content-scrollbar-point").clientHeight >= document.getElementById(uid + "-content-root").clientHeight){
- document.getElementById(uid + "-content-scrollbar").style.display = 'none'
- }
+ if (document.getElementById(uid + "-content-scrollbar").style.display == 'none') {
+ document.getElementById(uid + "-content-scrollbar").style.display = 'block'
+ if (document.getElementById(uid + "-content-scrollbar-point").clientHeight >= document.getElementById(uid + "-content-root").clientHeight) {
+ document.getElementById(uid + "-content-scrollbar").style.display = 'none'
+ }
}
}
//let elem = elems.item(i).children[0]
@@ -792,8 +803,32 @@
}
}
}
- let fs = [{ name: "apps", perms: { r: true }, dir: true, content: [{ name: "notepad", icon: "./src/img/notepad.png", perms: { r: true }, dir: false, content: "window Notepad <textarea onkeypress=\\'auto_resize(this)\\' style=\\'width:100%;overflow:visible;display:block;\\'></textarea>" }, { name: "cmd", icon: "./src/img/cmd.png", perms: { r: true }, dir: false, content: "window cmd <div class=\\'history\\' id=\\'#_ID-history\\'></div><form autocomplete=\\'off\\' onsubmit=\\'exe_com(this);return false;\\'>λ <input id=\\'#_ID-line\\' class=\\'line\\' style=\\'width:95%;\\' autofocus><input type=\\'submit\\' style=\\'display: none\\' /></form>" }] }]
+ function req(url) {
+ let prom = new Promise((resolve, reject) => {
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', url, true);
+ xhr.responseType = 'json';
+ xhr.onload = function () {
+ resolve(xhr.response);
+ };
+ xhr.send();
+ })
+ return prom;
+ }
+ let fs = []
function shortcut(i) {
+ let path = i.split("/")
+ let tar = path.splice(path.length - 1, 1)
+ console.log(path)
+ let temp = new jssh(fs, '/', document.getElementsByClassName('window').length, 'null', 'null')
+ let ww = temp.set_wd(path.join("/"))
+ let item = ''
+ for (let zz of ww) {
+ if (zz.name == tar) {
+ i = zz.content
+ break
+ }
+ }
let parsed = i.split("\n")
for (let line of parsed) {
let words = line.split(" ")
@@ -820,7 +855,8 @@
document.getElementById("bar-menu-root").style.display = "none"
main()
}
- function main() {
+ async function main() {
+ fs = await req('src/fs.json')
document.getElementById("bar-menu").onclick = ((ev) => {
if (document.getElementById("bar-menu-root").style.display == "block")
document.getElementById("bar-menu-root").style.display = "none"
@@ -876,7 +912,8 @@
<div class="bar-menu-more"></div>
<div class="bar-menu-more-root"></div>
</div>
- <div class="bar-menu-item" id="bar-menu-docs" dir="/docs/"><img class="bar-menu-image" src="./src/img/docs.png">
+ <div class="bar-menu-item" id="bar-menu-docs" dir="/docs/"><img class="bar-menu-image"
+ src="./src/img/docs.png">
<div class="bar-menu-text">Documents</div>
<div class="bar-menu-more"></div>
<div class="bar-menu-more-root"></div>