[🔨] Refactor multiple files

This commit is contained in:
ThinLiquid 2023-10-17 22:17:43 +01:00
parent f0b90da7ea
commit e8521d6546
4 changed files with 25 additions and 32 deletions

View file

@ -34,7 +34,7 @@ export default class EditorApp implements App {
}) })
if (data != null) { if (data != null) {
win.setTitle('Editor - ' + data.path) win.setTitle(`Editor - ${data.path}`)
win.content.style.display = 'flex' win.content.style.display = 'flex'
win.content.style.flexDirection = 'column' win.content.style.flexDirection = 'column'
@ -99,33 +99,29 @@ export default class EditorApp implements App {
const fileBtn = win.content.querySelector('#file-open') const fileBtn = win.content.querySelector('#file-open')
const editBtn = win.content.querySelector('#edit-open') const editBtn = win.content.querySelector('#edit-open')
const toggleDropdown = function (id: string): void { const toggleDropdown = (id: string): void => {
const el = win.content.querySelector(`#${id}`) const el = win.content.querySelector(`#${id}`)
el?.classList.toggle('show') el?.classList.toggle('show')
} }
fileBtn?.addEventListener('click', function (e) { fileBtn?.addEventListener('click', (e) => {
e.stopPropagation() e.stopPropagation()
toggleDropdown('file') toggleDropdown('file')
}) })
editBtn?.addEventListener('click', function (e) { editBtn?.addEventListener('click', (e) => {
e.stopPropagation() e.stopPropagation()
toggleDropdown('edit') toggleDropdown('edit')
}) })
win.content.addEventListener('click', function () { win.content.addEventListener('click', () => {
const file = win.content.querySelector('#file') const file = (win.content.querySelector('#file') as HTMLElement)
const edit = win.content.querySelector('#edit') const edit = (win.content.querySelector('#edit') as HTMLElement)
if (file !== null) { if (file.classList.contains('show')) {
if (file.classList.contains('show')) { toggleDropdown('file')
toggleDropdown('file')
}
} }
if (edit !== null) { if (edit.classList.contains('show')) {
if (edit.classList.contains('show')) { toggleDropdown('edit')
toggleDropdown('edit')
}
} }
}) })

View file

@ -39,22 +39,22 @@ export default class FilesApp implements App {
if (back !== '<i class=\'bx bx-arrow-to-left\'></i>') { if (back !== '<i class=\'bx bx-arrow-to-left\'></i>') {
(win.content.querySelector('.back') as HTMLElement).onclick = async () => { (win.content.querySelector('.back') as HTMLElement).onclick = async () => {
if (dir.split('/')[1] === dir.replace('/', '')) { if (dir.split('/')[1] === dir.replace('/', '')) {
await setDir('/' + dir.split('/')[0]) await setDir(`/${dir.split('/')[0]}`)
} else { } else {
await setDir('/' + dir.split('/')[1]) await setDir(`/${dir.split('/')[1]}`)
} }
} }
} }
(win.content.querySelector('.file') as HTMLElement).onclick = async () => { (win.content.querySelector('.file') as HTMLElement).onclick = async () => {
const title: string = prompt('Enter file name') ?? 'new-file.txt' const title: string = prompt('Enter file name') ?? 'new-file.txt'
await window.fs.promises.open(dir + '/' + title, 'w') await window.fs.promises.open(`${dir}/${title}`, 'w')
await setDir(dir) await setDir(dir)
} }
(win.content.querySelector('.folder') as HTMLElement).onclick = async () => { (win.content.querySelector('.folder') as HTMLElement).onclick = async () => {
const title: string = prompt('Enter folder name') ?? 'new-folder' const title: string = prompt('Enter folder name') ?? 'new-folder'
await window.fs.promises.mkdir(dir + '/' + title) await window.fs.promises.mkdir(`${dir}/${title}`)
await setDir(dir) await setDir(dir)
} }

View file

@ -27,15 +27,16 @@ class StatusBar {
add (item: StatusItem): void { add (item: StatusItem): void {
if (this.items.some(x => x.meta.id === item.meta.id)) { if (this.items.some(x => x.meta.id === item.meta.id)) {
console.error(`Unable to register tool; ${item.meta.id} is already registered.`) console.error(`Unable to register tool; ${item.meta.id} is already registered.`)
} else { return
const element = document.createElement('div')
element.setAttribute('data-toolbar-id', item.meta.id)
this.items.push(item)
this.element.appendChild(element)
item.run(element)
} }
const element = document.createElement('div')
element.setAttribute('data-toolbar-id', item.meta.id)
this.items.push(item)
this.element.appendChild(element)
item.run(element)
} }
} }

View file

@ -185,11 +185,7 @@ class WM {
const max = Math.max(...indexes) const max = Math.max(...indexes)
if (max === -Infinity) { return max === -Infinity ? 0 : max
return 0
} else {
return max
}
} }
createWindow (config: FlowWindowConfig): FlowWindow { createWindow (config: FlowWindowConfig): FlowWindow {