diff options
author | amy <[email protected]> | 2023-02-28 13:59:52 +0000 |
---|---|---|
committer | amy <[email protected]> | 2023-02-28 13:59:52 +0000 |
commit | d39d0b7e02eee9773be2d6ac5f53fc86395a8197 (patch) | |
tree | a1d766aed4a0350af38f1d4804da402346c8a7ae | |
parent | 7abe9c7a3528782316b34328c8799c8e8f1933bb (diff) |
lots of things i think
-rw-r--r-- | readme.md | 6 | ||||
-rw-r--r-- | src/common.js | 65 | ||||
-rw-r--r-- | src/jssh.js | 16 | ||||
-rw-r--r-- | src/window-utils.js | 28 |
4 files changed, 107 insertions, 8 deletions
@@ -7,7 +7,7 @@ todo: solitaire!</br> fix some of the image scaling</br> -fd searching -fd move file - +fd searching</br> +fd move file</br> +figure out popup box</br> <img alt='./badges/000010.gif' src='./badges/000010.gif'><img alt='./badges/catp0rtal.gif' src='./badges/catp0rtal.gif'><img alt='./badges/getbsod.gif' src='./badges/getbsod.gif'><img alt='./badges/reshirii.gif' src='./badges/reshirii.gif'><img alt='./badges/104.gif' src='./badges/104.gif'><img alt='./badges/css2.gif' src='./badges/css2.gif'><img alt='./badges/gitea.gif' src='./badges/gitea.gif'><img alt='./badges/rosemary22.gif' src='./badges/rosemary22.gif'><img alt='./badges/1of2.gif' src='./badges/1of2.gif'><img alt='./badges/css.png' src='./badges/css.png'><img alt='./badges/hexrain.png' src='./badges/hexrain.png'><img alt='./badges/rosemary7.gif' src='./badges/rosemary7.gif'><img alt='./badges/amatsuki.gif' src='./badges/amatsuki.gif'><img alt='./badges/devils_button.gif' src='./badges/devils_button.gif'><img alt='./badges/linuxnow2.gif' src='./badges/linuxnow2.gif'><img alt='./badges/thatwhitehand.png' src='./badges/thatwhitehand.png'><img alt='./badges/anibanner.gif' src='./badges/anibanner.gif'><img alt='./badges/devils.gif' src='./badges/devils.gif'><img alt='./badges/neovim.gif' src='./badges/neovim.gif'><img alt='./badges/transistor_cafe.gif' src='./badges/transistor_cafe.gif'><img alt='./badges/anticodeandrun.gif' src='./badges/anticodeandrun.gif'><img alt='./badges/digby88.gif' src='./badges/digby88.gif'><img alt='./badges/newlambda.gif' src='./badges/newlambda.gif'><img alt='./badges/transnow2.gif' src='./badges/transnow2.gif'><img alt='./badges/arizona.gif' src='./badges/arizona.gif'><img alt='./badges/dramaturgie.gif' src='./badges/dramaturgie.gif'><img alt='./badges/nvidia.gif' src='./badges/nvidia.gif'><img alt='./badges/zettai.gif' src='./badges/zettai.gif'><img alt='./badges/asexuals_now.gif' src='./badges/asexuals_now.gif'><img alt='./badges/finger-logo-people.gif' src='./badges/finger-logo-people.gif'><img alt='./badges/nya2.gif' src='./badges/nya2.gif'><img alt='./badges/beyes.gif' src='./badges/beyes.gif'><img alt='./badges/firefox4.gif' src='./badges/firefox4.gif'><img alt='./badges/photo.jpeg' src='./badges/photo.jpeg'><img alt='./badges/calcium.png' src='./badges/calcium.png'><img alt='./badges/friday-girl.gif' src='./badges/friday-girl.gif'><img alt='./badges/photo.png' src='./badges/photo.png'>
\ No newline at end of file diff --git a/src/common.js b/src/common.js index f7d2cca..3c8fcb4 100644 --- a/src/common.js +++ b/src/common.js @@ -11,4 +11,67 @@ function appendHtml(el, str) { } -const rem_emp = function (e) {return e !== "";};
\ No newline at end of file +const rem_emp = function (e) {return e !== "";}; + +function indexs_of(inp,sel){ + if(sel==''){ + let fm = [] + for(let n = 0; n<=inp.length;n++){ + fm.push(n) + } + //console.log(fm) + return fm + } + let m = [] + for(let i = inp.indexOf(sel);i>=0;i=inp.indexOf(sel,i+1)){ + m.push(i) + } + return m +} +function hrx(inp,match){ //hgx for human (readable) regex, a more user friendly regex + //similar to the ones used in command lines + for(let x in match){ + //console.log(match[x]) + if(match[0]=='*'){ + m = match.split("") + m.splice(0,1) + m = m.join("") + mm = m.split("*")[0] + //m = m.join("") + + if(!inp.includes(mm)) + return false + + //let zz = inp.indexOf(m) + let ava = indexs_of(inp,mm) + //console.log(m) + for(let a of ava){ + //console.log(a,m) + i = inp.split("") + i.splice(0,a) + i = i.join("") + let test = hrx(i,m) + if(test) + return true + + } + return false + //match = m + //console.log(m,i) + } else { + //console.log(inp,match) + if(inp[0]==match[0]){ + i = inp.split("") + ma = match.split("") + i.splice(0,1) + ma.splice(0,1) + inp=i.join("") + match=ma.join("") + } else { + return false + } + } + } + //console.log(inp,match) + return (inp==''&&''==match) +}
\ No newline at end of file diff --git a/src/jssh.js b/src/jssh.js index 22809e0..15b3100 100644 --- a/src/jssh.js +++ b/src/jssh.js @@ -7,6 +7,22 @@ class jssh { this.uid = uid; this.window_create = window_create; } + search(fs,target,opt={},path='./'){ + let match = [] + for(let f of fs){ + if(f.dir){ + let tt = this.search(f.content,target,opt,path+f.name+"/") + if(tt!=undefined&&tt.length>0) + match.push(...tt) + } + if((!opt.exact&&hrx(f.name,"*"+target+"*")||(opt.exact&&hrx(f.name,target)))){ + match.push(path+f.name) + } + } + //console.log(match.length) + //if(match.length!=0) + return match; + } set_wd(dir) { //let lwd = fs let wd = fs; diff --git a/src/window-utils.js b/src/window-utils.js index 4744f77..89f56de 100644 --- a/src/window-utils.js +++ b/src/window-utils.js @@ -255,9 +255,15 @@ let util = { } }*/ //console.log(inp.path) + + //top bar, wip maybe + //files+= "<div id='"+i+"-fs-top-bar' onscroll='return false;' style='display:inline-block;overflow:hidden;height:56px;width:100%;background-color:#b1b1b1'>" + //put buttons and stuff on top + //files+= "<u>S</u>earch: <form style='margin-left:22px;display:inline-block;width:40%'><input style='width:100%;display:inline-block;background:white'></input><input type='submit' style='display: none' /></form>" + //files+="</div>" files+= "<div id='"+i+"-fs-left-bar' onscroll='return false;' style='overflow:hidden;height:100%;width:"+l_b_width+"'>"+bar_opt+"</div>" files += "<div id='"+i+"-left-pane-resize-e' class='resize-e' style='position:relative;right:1;background-color:#aaaaaa;height:100%;'></div>" - files += "<div id='"+i+"-fs-inner-cont' style='flex:1;align-content: flex-start;display:flex;flex-direction:row;flex-wrap:wrap'>" + files += "<div id='"+i+"-fs-inner-cont' style='flex:1;align-content: flex-start;display:flex;flex-direction:row;flex-wrap:wrap;'>" for (let f of tfs) { if (f.dir) { files += @@ -297,7 +303,8 @@ let util = { i + "-fd-bottom' class='fd-bottom' ><div id='" + i + - "-fd-bar-top'><div style='width:70px;display:inline-block;'> File <u>n</u>ame: </div><div style='background-color:white;display:inline-block;width:40%' ><input style='display:inline-block;text-shadow:none;width:100%;' id='" + + "-fd-bottom-bar-top'><div style='width:70px;display:inline-block;'> File <u>n</u>ame: </div><div style='background-color:white;display:inline-block;width:40%' ><div style='background-color:red;position:absolute;margin-top:20px;width:100%'>uwu</br>nyadjkbkcbshvbhfbvjhdfvbdfbvjhdf</div>" + +"<input style='display:inline-block;text-shadow:none;width:100%;' id='" + i + "-fd-bottom-sel' value='" + sel.join(",") + @@ -307,7 +314,7 @@ let util = { "-content-button-sub' style='width:70px;margin-left:22px;padding-left:15px;padding-right:15px;top:0;text-align: center;display:inline-block;'>save</button></div>" + "<div id='" + i + - "-fd-bar-bottom'>" + + "-fd-bottom-bar-bottom'>" + "<div style='width:70px;display:inline-block;'>File <u>t</u>ype: </div><div style='background-color:white;display:inline-block;width:40%' ><select style='display:inline-block;text-shadow:none;width:100%;' id='" + i + "-fd-bottom2-sel' >"+ @@ -316,7 +323,8 @@ let util = { "<button id='" + i + "-content-button2-sub' style='width:70px;margin-left:22px;padding-left:15px;padding-right:15px;top:0;text-align: center;display:inline-block;'>cancel</button></div>" + - ""; + "</div></div>"; + document.getElementById(i + "-content-content").innerHTML = files; //console.log(tfs) //util.scrollbar(document.getElementById(i+"-fs-inner-cont")) @@ -325,6 +333,18 @@ let util = { let ele = document.getElementById(i+"-fs-inner-cont") let ele_root = document.getElementById(i+"-content-content") + //console.log(document.getElementById(i +"-fd-bottom-sel")) + document.getElementById(i +"-fd-bottom-sel").onfocus = ((ev)=>{ + function zzz(ev){ + let iuwu = document.getElementById(i +"-fd-bottom-sel").value + console.log(ll.search(tfs,iuwu)) + //console.log() + } + document.body.addEventListener("input",zzz) + document.getElementById(i +"-fd-bottom-sel").onblur = ((ev)=>{ + document.body.removeEventListener("input",zzz) + }) + }) //console.log(inp.path.split("/").filter(rem_emp)) util.scrollbar(i,'root-bar',ele_root.parentElement,ele) let contmenu = util.context_menu(ele,{menu:[ |