From 99db1f499d11d1d677cb9d6204fbfa80ea5622b7 Mon Sep 17 00:00:00 2001 From: amy Date: Thu, 9 Feb 2023 09:02:35 -0600 Subject: little less mess and better icon managment --- html/display.html | 133 ++++++++++++++++++++++++++++++++++-------------------- src/fs.json | 23 ++++++++++ 2 files changed, 108 insertions(+), 48 deletions(-) create mode 100644 src/fs.json 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 - } - /* -
-
Notepad--
-
- */ - id.innerHTML = '' - let ins = "" - for (let ite = 0; ite != dd.length; ite++) { - - ins += `
` - if (dd[ite].icon) - ins += `` - ins += `
${dd[ite].name}
` + 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 + } + /* +
+
Notepad--
+
+ */ + id.innerHTML = '' + let ins = "" + for (let ite = 0; ite != dd.length; ite++) { + let icon = "" + ins += `
` + //if (dd[ite].icon) + //icon = `` + //else { + + for (let l of dd[ite].content.split("\n")) { + if (l.split(" ")[0] == "meta") { + if (l.split(" ")[1] == "icon") { + icon = `` + } + } + } + ins += icon + //} + ins += `
${dd[ite].name}
` - //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 " }, { name: "cmd", icon: "./src/img/cmd.png", perms: { r: true }, dir: false, content: "window cmd
λ
" }] }] + 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 @@
-
+
Documents
diff --git a/src/fs.json b/src/fs.json new file mode 100644 index 0000000..96cbf9f --- /dev/null +++ b/src/fs.json @@ -0,0 +1,23 @@ +[ + { + "name": "apps", + "perms": { "r": true }, + "dir": true, + "content": [ + { + "name": "notepad", + "icon": "./src/img/notepad.png", + "perms": { "r": true }, + "dir": false, + "content": "window Notepad \nmeta icon src/img/notepad.png" + }, + { + "name": "cmd", + "icon": "./src/img/cmd.png", + "perms": { "r": true }, + "dir": false, + "content": "window cmd
λ
\nmeta icon src/img/cmd.png" + } + ] + } +] -- cgit v1.2.3